Re: WIDGET_LABEL FONT cross platform compatability [message #41484 is a reply to message #41483] |
Wed, 27 October 2004 11:53  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Chad Bender writes:
> I'm writing a widget and need to label some text boxes with greek letters.
> I've managed to do this using the FONT keyword to WIDGET_LABEL, but am
> not real happy with this solution because it relies on a pre-specified
> device font being installed on a machine, and I have very little hope that
> it is cross platform compatible. Is there a more elegant way to 'write' on
> a widget (perhaps using IDL's built in vector fonts), so that the routine
> doesn't break on other platforms that don't have a certain pre-specified
> font installed?
>
> Thanks
> Chad
>
> Here's what I've done so far:
>
> First, figure out what 'symbol' type fonts I have available:
>
> /home/cbender> xlsfonts | grep "symbol"
> -adobe-symbol-medium-r-normal--10-100-75-75-p-61-adobe-fonts pecific
> -adobe-symbol-medium-r-normal--12-120-75-75-p-74-adobe-fonts pecific
> -adobe-symbol-medium-r-normal--14-140-75-75-p-85-adobe-fonts pecific
> -adobe-symbol-medium-r-normal--18-180-75-75-p-107-adobe-font specific
> -adobe-symbol-medium-r-normal--24-240-75-75-p-142-adobe-font specific
> -adobe-symbol-medium-r-normal--8-80-75-75-p-51-adobe-fontspe cific
> -microsoft-webdings-medium-r-normal--0-0-0-0-p-0-microsoft-s ymbol
> -urw-standard symbols l-medium-r-normal--0-0-0-0-p-0-adobe-symbol
> -urw-standard symbols l-medium-r-normal--0-0-0-0-p-0-iso10646-1
>
> Then, pick one and feed it to WIDGET_LABEL:
>
> wlabel=WIDGET_LABEL(wbase,Value='w', $
> Font='-adobe-symbol-medium-r-normal--10-100-75-75-p-61-adobe -fontspecific')
Yeah, that's not going to be very cross-platform compatible. :-)
I think you are going to have to stick to the four font
families IDL supplies: courier, helvetica, symbol, and times.
Cheers,
David
--
David W. Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http:/www.dfanning.com/
Phone: 970-221-0438, IDL Book Orders: 1-888-461-0155
|
|
|