Man Linux: Main Page and Category List

NAME

       The Font Selector widget

SYNOPSIS

       #include <Xm/FontS.h>

DESCRIPTION

       The  Font  Selector  widget  allows  users  to  easily choose a font by
       selecting the font family and size of the font.  The  bold  and  italic
       attributes  may  also be set for any font for which they are available.
       Any font may be passed to the font selector by the application  as  the
       initial  value  shown to the user. Advanced features greatly extend the
       widget’s functionality.

Basic Features

       The font selector widget presents the user  with  two  combination  box
       widgets,  one with a list of choices for the font family, and the other
       with the  choices  for  the  font  size.  In  addition  there  are  two
       independent toggle buttons that allow the user to make the font bold or
       italic or bold/italic. Below the font choice area is a text widget that
       displays  sample text of the chosen font to the user. This text area is
       editable, allowing the user to add or remove text to  see  how  various
       characters  appear in the chosen font.  For the novice user this set of
       features allows access to  all standard fonts on the system.  The  font
       selector dynamically removes choices that are inappropriate so the user
       is free to play around with different combinations and  can  always  be
       assured  that  once they have selected a font that it will exist on the
       machine that the font selector is running on. For example if  there  is
       no  Times  Roman  14 point font available, and the user selects a point
       size of 14, then Times Roman  will  not  be  available  in  the  family
       combination  box. Likewise, if the user had chosen Times Roman from the
       family dialog box then a size of 14 would not be  shown.  To  have  all
       choices available simply choose a size and family of Any.

Advanced Features

       For the advanced user the font selector provides tremendous flexibility
       in font choices.  By activating the options button an additional  panel
       of  controls  is  presented  to  the user. This allows the user to gain
       access to non-XLFD fonts, control the resolutions of the fonts  chosen,
       choose  from  fixed  or proportional fonts only, remove the use of font
       scaling, allow non iso8859-1 fonts to be viewed, and see the XLFD  name
       the font selector is constructing.

Non XLFD Fonts

       By  choosing the "Other Fonts" toggle from the option panel, the family
       and size lists, as well as the bold and italic  toggles,  are  replaced
       with  a  combo  box  containing  all  non-XLFD  fonts available on your
       system. This feature allows users to select  non-XLFD  fonts  with  the
       FontSelector.  The  text  field of the combination box may be edited by
       the user and any string entered will be interpreted as a font name.  It
       should  be  noted  that  XLFD  names can be typed in by hand here. This
       feature allows the font selector to be used to  get  any  font  on  the
       entire system.

Resolution Control

       The  font  selector  finds  which  of  the two standard resolutions the
       current display is closest to and uses that as its default. To allow  a
       wider range of choices a user may choose to access fonts of a different
       resolution, or both 75 and 100 dpi resolutions.

Fixed or Proportional

       In most cases the fact that a font is fixed width or proportional is of
       no  great  interest  to the user. But some applications require a fixed
       width font, such as terminal  emulators,  and  most  people  find  that
       proportional fonts look better. The Font selector allows users to limit
       the font choices to fixed width or proportional or to allow both.

Font Scaling

       The font scaling technology that is  available  in  X11R5  uses  bitmap
       scaling which, although useful in some cases, generally results in very
       ugly fonts. We noticed that users often wanted to know which fonts  are
       scaled  and  which  ones  exist as hand crafted bitmaps.  To remove the
       scaled fonts from the list of choices, toggle the  "Use  Font  Scaling"
       button  off.   This  value is resource controllable and defaults to on,
       which uses font scaling.

Encoding

       The programmer can specify which encidings are valid  selctions.  These
       encoding  choices appear in an option menu. The list of font choices is
       restricted to those which use the current selected coding.

XLFD Name Display

       Clicking the Show toggle displays the current font’s XLFD name is shown
       at the bottom of the font selector.

Normal Resources

       Name                    Class                   Type             InitialValue
       100DPIstring            100DPIString            XmString         "100 dpi"
       75DPIstring             75DPIString             XmString         "75 dpi"
       anyLowerString          AnyLowerString          XmString         "any"
       anyString               AnyString               XmString         "Any"
       boldString              BoldString              XmString         "Bold"
       bothString              BothString              XmString         "Both"
       currentFont             String                  String           NULL
       defaultEncodingString   DefaultEncodingString   String           "iso8859-1"
       encodingList            EncodingList            StringTable      "iso8859-1"
       encodingString          EncodingString          XmString         "Encoding"
       familyString            BothString              XmString         "Family"
       italicString            ItalicString            XmString         "Italic"
       marginHeight            Margin                  Dimension        0
       monoSpaceString         MonoSpaceString         XmString         "Fixed Width
                                                                         Fonts"
       optionString            OptionString            XmString         "Options ..."
       otherString             OtherString             XmString         "Other Fonts"
       propSpaceString         PropSpaceString         XmString         "Proportional
                                                                         Fonts"
       sampleText              SampleText              XmString         "abcdef..."
       scalingString           ScalingString           XmString         "Use Font
                                                                         Scaling"
       showFontName            ShowFontName            Boolean          False
       showNameString          ShowNameString          XmString         "Show Font
                                                                         Name"
       sizeString              SizeString              XmSring          "Size"
       spacing                 Spacing                 Dimension        2
       textRows                TextRows                Dimension        8
       useScaling              Boolean                 Boolean          True
       valueChangedCallback    Callback                XtCallbackList   NULL
       xlfdString              XlfdString              XmString         "Xlfd Fonts"

       All  resource  names  begin with XmN and all resource class names begin
       with XmC.

100DPSString

       The label for the 100 DPI radio button.

75DPSString

       The label for the 75 DPI radio button.

anyLowerString

       The label for the any button.

anyString

       The label for the Any button.

boldString

       The label for the Bold toggle button.

bothString

       The labels for the Both radio buttons  controlling  both  the  dpi  and
       width  of  the  fonts  displayed.  The  same resource is used to ensure
       consistent labels.

currentFont

       This resource provides the main application input  and  output  to  the
       font  selector.   If  the programmer sets the value at creation time or
       with XtSetValues then the currently displayed family,  size,  bold  and
       italic will be changed to correspond to the values shown in the current
       font. Otherwise,  the  name  of  the  font  will  be  shown.  The  Font
       Selector’s mode will be set to correspond to the type of font passed.

       Note:  currentFont must contain 14 hyphens (-) to be considered an XLFD
       font. This resource is also used to retrieve  the  font  the  user  has
       selected from the font selector. The value returned is only valid until
       the next time XtGetValues is  called  on  this  instance  of  the  font
       selector widget.

defaultEncodingString

       This  resource is the default selection from the Encoding options menu.

encodingList

       This resource is the list of encodings available from the  FontSelector
       Encoding options menu.

encodingString

       This  resource is the default selection from the Encoding options menu.

familyString

       This resource is the default selection from the Family options menu.

isoFontsOnly

       This resource controls and maintains the state of the  iso8859-1  fonts
       only toggle button.

italicString

       This resource is the default selection from the Italic toggle button.

marginHeight

       The margin height for all subwidgets of the Font Selector.

monoSpaceString

       The label of the Fixed Width Fonts radio button.

optionString

       The label for the Options... push button.

otherString

       The label for the Other Fonts radio button.

propSpaceString

       The label for the Proportional Fonts radio button.

sampleText

       The string which appears in the sample text area.

scalingString

       The label for the Use Font Scaling toggle button.

showFontName

       This  boolean  resource  controls  and maintains the state of Show Font
       Name toggle button.

showNameString

       The label of the Show Font Name toggle button.

sizeString

       The label for the Size option menu.

spacing

       The space between the toggle indicator and the toggle label.

textRows

       This resource controls the number of rows that are shown  in  the  text
       widget  that displays sample text in the currently selected font. Since
       this is a scrolled text widget it will never dynamically  change  size,
       regardless  of  the  font  displayed.  Unless the initial font is large
       this value should be at least 4 or the user interaction may be poor.

useScaling

       This resource controls and maintains the state of the Use Font  Scaling
       toggle button.

valueChangedCallback

       The  list of callbacks called when the XmNcurrentFont value is changed.

xlfdString

       The label for the Xlfd Fonts radio button.

Convenience Routine

XmCreateFontSelector - Widget creation convenience routine

       Widget XmCreateFontSelector(
                            Widget parent,      /* Widget id of parent for FontSelector */
                            String name,        /* Name of the created widget */
                            ArgList args,       /* argument list */
                            Cardinal num_args   /* number of items in argument list */
                            )

Children

       The font selector is composed of many sub-widgets. As with all widgets,
       most  values  passed  to  this  widget  through  the  argument list  at
       creation time or via set values are passed to  each  of  this  widget’s
       children.  Get  values requests must be made on a child by child basis.
       The children of the font selector are listed below.  The  documentation
       for  each  of  the children should be consulted for a list of resources
       for each child.

       XiFontSelector<named by application>

            XiPanedtopPane

            XmComboBoxfamilies

            < See XmComboBox for list of children >

            XmSeparatorseparator

            XiComboBoxsizes

            < See XmComboBox for list of children >

            XmSeparatorseparator

            XmButtonBoxboldItalicBox

            XmToggleButtonboldButton

            XmToggleButtonitalicButton

            XmSeparatorseparator

            XmToggleButtonoptionButton

            XmSeparatorseparator

            XmPanedmiddlePane

            XmPanedleftPane

            XmButtonBoxchoiceBox

            XmToggleButtonxlfdButton

            XmToggleButtonotherButton

            XmSeparatorseparator

            XmButtonBoxresolutionBox

            XmToggleButtondpi75Button

            XmToggleButtondpi100Button

            XmToggleButtonanyButton

            XmSeparatorseparator

            XmSeparatorseparator

            XmButtonBoxspacingBox

            XmToggleButtonproportionalButton

            XmToggleButtonmonoButton

            XmToggleButtonbothButton

            XmSeparatorseparator

            XmButtonBoxotherChoiceBox

            XmToggleButtonscalingButton

            XmToggleButtonisoButton

            XmToggleButtonshowNameButton

            XmRowColum      encodingOptionMenu

            XmLabelGadget OptionLabel

            XmCascadeButtonGadget OptionButton

            XmMenuShell    menuShell

            XmRowColum      pulldownMenu

            <dependent on XmNencoding>

            XmSeparatorseparator

            XmSeparatorseparator

            XmButtonBoxbox

            XmScrolledWindowtextSW

            XmScrollBarvbar

            XmTexttext

            XmSeparatorseparator

            XmLabelnameLabel

            XmSeparatorseparator

COPYRIGHT

       Copyright (c) 1992 by Integrated Computer Solutions, Inc.

                                                            XmFontSelector(3X)