Chapter Contents


SAS Companion for UNIX Environments

Customizing Fonts

SAS uses two main types of fonts:

Note:   It is best to change fonts before invoking any applications. Changing fonts while applications are running might result in unexpected behavior.  [cautionend]

Using the Host Fonts Dialog Box

The Host Fonts dialog box allows you to change the windowing environment font and the printer font for printing text windows.

To change the windowing environment font, issue the DLGFONT command or select

(To change printer fonts, you must access this dialog box through the Printer Properties dialog box as discussed in Changing Printer Fonts .)

Host Fonts Dialog Box


To change the font, select a new font name and, if desired, a size, weight, and slant. (Not all fonts are available in all sizes, weights, or slants.) The Sample field shows what the selected font looks like. After you have selected a name, size, weight, and slant, select OK.

The windowing environment font is stored in SASUSER.PROFILE.DMSFONT.UNXPREFS and will be used in future SAS sessions.

To return to the default font, select Default.

To cancel any changes and leave the Host Fonts dialog box, select Cancel.

Specifying Font Resources

You can customize the fonts used in the SAS windowing environment with the following resources:

SAS.DMSFont: font-name
specifies the font that you want to be used as the default normal font. The default normal font is Courier.

SAS.DMSboldFont: font-name
specifies the font that you want to be used as the default bold font.

SAS.DMSDBfont: font-name
specifies the multibyte normal character set font used by the SAS windowing system for operating environments that support multibyte character sets.

SAS.DMSDBboldFont: font-name
specifies the multibyte bold character set font used by the SAS windowing system for operating environments that support multibyte character sets.

SAS.DMSfontPattern: XLFD-pattern
specifies an X Logical Font Description, or XLFD pattern that you want SAS to use to determine the windowing environment font. Most fonts in the X Window System are associated with an XLFD, which contains a number of different fields delimited by a dash (-) character. The fields in the XLFD indicate properties such as the font family name, weight, size, resolution, and whether the font is proportional or monospaced. Refer to your X Window documentation for more information on the XLFD and font names used with X.

The XLFD-pattern that you specify for SAS.DMSfontPattern must contain the same number of fields as an XLFD. An asterisk (*) character means that any value is acceptable for that particular field. For example, the following pattern matches any font that has a regular slant, is not bold, is monospaced, and is an iso8859 font:

SAS.DMSFontPattern: -*-*-*-r-*--*-*-*-*-m-*-iso8859-1

SAS uses the XLFD-pattern to choose a font as follows:

  1. SAS queries the X server for the list of fonts that match the SAS.DMSfontPattern resource.

  2. SAS excludes all fonts that have X and Y resolution values different from the current X display, all fonts that have variable character cell sizing (such as proportional fonts), and all fonts that have point sizes smaller than 8 points or larger than 15 points. If this step results in an empty list, SAS chooses a generic (and usually fixed) font.

  3. The font with the largest point size is chosen from the remaining list.

SAS.fontPattern: XLFD-pattern
specifies an XLFD font pattern that describes the candidate fonts used to resolve SAS graphics font requests. This allows the user to optimize or control the use of X fonts within the context of various SAS graphics applications. The default value of * usually does not affect performance to a significant degree. You may want to restrict the font search if you are running SAS on a server with an excessive number of fonts or that is operating in performance-limited environment.

How SAS Determines Which Font To Use

SAS determines the normal (not bold) default windowing environment font as follows:

  1. If you have saved a font in SASUSER.PROFILE.DMSFONT.UNXPREFS through the Host Font dialog box, this font is used as the default normal font.

  2. If you have not saved a font through the Host Font dialog box, but you have set the SAS.DMSFont resource, SAS uses the font specified by this resource as the default font.

  3. If you have not set the SAS.DMSFont resource, SAS uses any *Font resources that you have defined.

  4. If you have not set the *Font resources, but you have set the SAS.DMSFontPattern resource, SAS uses this resource to determine which font to use. The SAS.DMSfontPattern resource will have no effect if a *Font resource is defined.

  5. If no resources have been set, SAS chooses a font from the fonts that are available on your server.

If you have not specified a value for the SAS.DMSboldFont resource, SAS uses the default normal font to determine the default bold font. If the normal SAS.DMSFont has an XLFD name associated with it, then SAS selects the matching bold font and loads it. If SAS cannot automatically select or load a bold font, the normal font is also used for the bold font.

In many cases, font names are given aliases so that a shorter name can be used to refer to a font that has an XLFD name associated with it. The name used in determining a bold font is based on the XA_FONT font property for the normal font.

Specifying Font Aliases

If your server does not provide fonts to match all of those supplied by the SAS system, you can use font alias resources to substitute the fonts available on your system. Include a line in your resource file with the following syntax:

SAS.supplied-fontAlias: substitute-family

supplied-font is the name of the font supplied by the SAS System. substitute-family is the family name of the font you wish to substitute. For example, if your system does not have a Palatino font, but it does have a Lucida font, you can include the following line in your resources file to substitute Lucida for Palatino:

SAS.palatinoAlias: lucida

SAS Font Alias Resources lists SAS font alias resource names.

SAS Font Alias Resources
Resource Name Class Name
SAS.timesRomanAlias TimesRomanAlias
SAS.helveticaAlias HelveticaAlias
SAS.courierAlias CourierAlias
SAS.symbolAlias SymbolAlias
SAS.avantGardeAlias AvantGardeAlias
SAS.bookmanAlias BookmanAlias
SAS.newCenturySchoolbookAlias NewCenturySchoolbookAlias
SAS.palatinoAlias PalatinoAlias
SAS.zapfChanceryAlias ZapfChanceryAlias
SAS.zapfDingbatsAlias ZapfDingbatsAlias

Do not specify a SAS font as a font alias. There may be a conflict if you specify a font supplied by the SAS System as a font alias, as in the following example:
SAS.timesRomanAlias: symbol

Assigning this value to a font alias prevents the selection of any symbol fonts through the font selection dialog box, because they are specified as the Times Roman alias.  [cautionend]

Chapter Contents



Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.