/usr/dt/share/man/cat5/DtStdInterfaceFontNames.5(/usr/dt/share/man/cat5/DtStdInterfaceFontNames.5)
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
NAME
DtStdInterfaceFontNames - TED Standard Interface Font Names
SYNOPSIS
The TED Standard Interface Font Names are a set of generic X
Window System font names, needed by the TED GUI itself, that
are used for user interface elements such as button labels,
window titles and text fields. These names, for seven sizes
of two typefaces, must exist on all TED systems, and they
should be provided in any X server product on which TED
applications are expected to run. Seven sizes of a third
typeface are recommended. They are typically mapped to
existing fonts on the system using the font alias mechanism,
although this method is not required.
DESCRIPTION
CDE 1.0 does not come with a common set of fonts on all sys-
tems, and it must be able to run on X servers and X termi-
nals from non-TED vendors if those vendors so desire.
Therefore, there are a standard set of ``generic'' font
names and sizes that each TED vendor makes available on
their TED systems and that X server vendors may make avail-
able on their X servers and terminals. The names map to
existing fonts on each vendor's system and may vary from
vendor to vendor.
The TED Standard Interface Font Names described here allow
clients making up the TED desktop, such as dtterm(1) and a
single set of default fonts in their app-defaults files,
without concern for the system or X server on which TED is
running. (The TED Standard Application Font Names,
described in DtStdAppFontNames(5), provide a similar mechan-
ism for applications running on the TED desktop.)
Background
Interface fonts are designed by user interface experts for
the narrow purpose of making the menus, labels and fields of
a graphical user interface highly readable. They are usu-
ally finely hand-tuned bitmapped fonts, intended for use on
visual displays only and not on printers, and many of the
glyphs have been specially modified for this purpose.
Interface fonts can be contrasted with application fonts,
which are the fonts used within an application running on
the TED desktop. Interface fonts come in a restricted set
of styles and are used for short strings of text, whereas
application fonts usually come in a variety of designs,
styles and weights and are used for emphasis, cross-
references, section headers, and so forth.
Rationale
Common font names are required to prevent TED clients such
as dtterm(1) from needing different app-defaults files on
Unix System LaboratoLast change: 1 August 1995 1
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
each system. In addition, any X server or X terminal vendor
may ensure that the TED desktop can run on their X server by
mapping these standard names to fonts of the corresponding
style on their individual X systems.
Interface fonts are needed because of user interface and
cognitive research that has examined the readability of
various fonts on the display screens in use today and found
that many fine adjustments (for example, for centering,
baseline, height and alignment) must be made to characters
in a font to make them clear, distinguishable and consistent
when used for the interface objects of a GUI. And by using
hand-tuned interface fonts for the GUI objects, the desktop
can achieve a very clean, crisp visual appearance.
Interface fonts are broken into 2 categories: system and
user. Cognitive research has shown that this distinction is
important for the usability and readability of GUIs. System
fonts are those used when the system is presenting informa-
tion to the user (for example, in buttons). User fonts are
those used for text that a user enters into the system (for
example, for a text field or terminal emulator).
XLFD Field Values for the Standard Interface Font Names
These standard names are available using the X Window System
XLFD font naming scheme. There are three aspects to the
standard names:
o The underlying font on each system, or X server plat-
form, to which a standard name is mapped, typically
will be different on each system.
o The standard name itself, a full XLFD name mapped to
the underlying font, may be different on each system in
some of the XLFD fields. However, most of the fields
are the same from system to system, allowing the pat-
terns (described next) to be the same.
o The font resource pattern containing the * wildcards,
used in app-defaults files, which will match the full
XLFD name of the standard name, is the same across all
systems, for a given use in an app-defaults file.
Each TED or X server vendor implementing this specification
must provide full XLFD names for the standard names, mapped
to system-dependent underlying fonts, so that the XLFD pat-
terns used in TED application app-defaults files will always
match one of the full XLFD names provided.
The Standard Interface Font Names are identified by the
presence of the following XLFD field name values:
Unix System LaboratoLast change: 1 August 1995 2
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
o FOUNDRY is dt
o FAMILY_NAME is either interface system or interface
user (there is a single space between the two words in
each family name)
In addition, the other fields of the XLFD names defining the
standard names are constrained as follows:
o WEIGHT_NAME is either medium or bold
o SLANT is always r
o SETWIDTH_NAME is always normal
o SPACING is p or m (it must be m for interface user
fonts, and should be p for interface system fonts,
although m is acceptable)
o ADD_STYLE_NAME contains both a nominal size value in
the range xxs to xxl (see below), as well as either
sans for sans serif fonts or serif for serif, if
appropriate for the underlying font
o The numeric fields (PIXEL_SIZE, POINT_SIZE,
RESOLUTION_X, RESOLUTION_Y, and AVERAGE_WIDTH) must
contain the same values as the underlying font.
o CHARSET_REGISTRY and CHARSET_ENCODING are not speci-
fied; the standard names may be implemented for any TED
locale.
Although the sans and serif values in the ADD_STYLE_NAME
field are not required by the XLFD font convention, they are
always part of the TED Standard Font Names when the underly-
ing fonts are characterized as serif or sans serif. How-
ever, this document imposes no restriction on whether the
interface fonts are serif or sans serif. The relevant
attribute must be coded in the ADD_STYLE_NAME field. Thus,
for example, the standard names for Japanese fonts, which
are not characterized as being serif or sans serif, would
not include this designation in the ADD_STYLE_NAME field.
Restricted Set of Styles Available
Unlike the Standard Application Font Names, only a limited
set of styles is available in the Standard Interface Font
Names. The styles available represent the minimum set
currently considered necessary for the desktop GUI needs:
o a medium weight of an interface system font, preferably
proportionally spaced (but mono-spaced is acceptable if
appropriate for the locale)
Unix System LaboratoLast change: 1 August 1995 3
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
o a medium weight of an interface user font, always
mono-spaced
o a bold weight of an interface user font, always mono-
spaced (the standard font names for this generic
typeface are recommended if available for the targeted
fonts and locale, but are not required)
Named Set of Point Sizes Available
In addition, the set of seven point sizes for each of the
three styles that are part of this document are ``named''
point sizes, using string values in the ADD_STYLE_NAME
field. Thus, XLFD patterns matching these names match a
size based on the named size, not on a numeric size, even
though the latter does exist in the XLFD name. These named
sizes are used because the exact size of an interface font
is less important than its nominal size, and implementation
differences for the hand-tuned interface fonts do not allow
common numeric point sizes to be assured across systems.
The seven nominal sizes are as follows:
xxs extra extra small
xs extra small
s small
m medium
l large
xl extra large
xxl extra extra large
The goal of these named sizes is to provide enough fonts so
that both the variety of display monitor sizes and resolu-
tions that TED will run on, and the range of user prefer-
ences for comfortably reading button labels, window titles
and so forth, can be accommodated in the GUI. Thus, both
the smallest size, xxs, and the largest size, xxl, are meant
to be reasonable sizes for displaying and viewing the TED
desktop on common displays and X terminals; they are not
meant to imply either hard-to-read fine print or headline-
sized display type.
These named size values must occur first in the
ADD_STYLE_NAME field, before any use of the values serif or
sans (one of which is always required when the underlying
font can be so characterized) and before any other addi-
tional stylistic attribute that might be appropriate. This
is important when specifying wild-carded patterns in a
Unix System LaboratoLast change: 1 August 1995 4
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
resource specification for these fonts, since whether the
underlying font these names are mapped to is serif or sans
serif is not specified by TED, and the match must work for
all XLFD names provided by TED system vendors or other
X server vendors.
Example XLFD Patterns for the Standard Names
Using these values, the XLFD pattern
-dt-interface*-*
logically matches the full set of XCDE Standard Interface
Font Names. (Note that no specific X server behavior is
implied).
The full set of 21 TED Standard Interface Font Names can
also be represented, in a more meaningful way, as follows:
-dt-interface system-medium-r-normal-*-*-*-*-*-*-*-iso8859-1
-dt-interface user-medium-r-normal-*-*-*-*-*-m-*-iso8859-1
-dt-interface user-bold-r-normal-*-*-*-*-*-m-*-iso8859-1
The full set of patterns, usable in app-defaults files, for
all seven sizes for the system font, for example, is:
-dt-interface system-medium-r-normal-xxs*-*-*-*-*-*-*-iso8859-1
-dt-interface system-medium-r-normal-xs*-*-*-*-*-*-*-iso8859-1
-dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-iso8859-1
-dt-interface system-medium-r-normal-m*-*-*-*-*-*-*-iso8859-1
-dt-interface system-medium-r-normal-l*-*-*-*-*-*-*-iso8859-1
-dt-interface system-medium-r-normal-xl*-*-*-*-*-*-*-iso8859-1
-dt-interface system-medium-r-normal-xxl*-*-*-*-*-*-*-iso8859-1
These patterns could be used in a resource file and will
match the full TED Standard Interface Names for Latin-1
locales on all TED, or complying X server, systems.
Note in these wild-carded XLFD names that the ADD_STYLE_NAME
field has a pattern, such as xxs*, and that the pattern is
partly a string (xxs) and partly the pattern-matching char-
acter *. The full XLFD name this pattern matches-the XLFD
name implementing the Standard Interface name-will often
contain sans or serif in the field, after the xxs and a
space, and so the * is essential to match that sans or serif
string (and any additional style attribute string that might
be in the underlying name). Note also that the SPACING
field is wild-carded in the pattern for the system font,
since either p or m may appear in the standard name being
matched.
Implementation of Font Names
Each TED system vendor and X server vendor provides mappings
Unix System LaboratoLast change: 1 August 1995 5
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
of its own fonts to XLFD names as described by this docu-
ment. The actual XLFD names will vary from system to sys-
tem, just as the fonts they are mapped to, since they con-
tain some of the same values as the XLFD name of the under-
lying font. What does not vary is the behavior: the common
patterns in which only specified fields are used will match
each system's standard names. This is guaranteed by the
field specifications given earlier.
There is no precise specification of how the named sizes xxs
to xxl are mapped to sizes of underlying fonts in each sys-
tem or X server product, although each size must be equal to
or larger than the previous size. Nonetheless, some guide-
lines are appropriate.
Interface fonts have been developed because of human factors
research on visual clarity of text on displays, and this has
been done in the context of the display technology typically
available today, mostly in the 100 dots per inch (DPI)
range. That, and the use of standard point sizes (10, 12,
14, 18) in the graphics arts, have resulted in the develop-
ment in the industry of hand-tuned bitmapped fonts for a set
of ``pixel heights'' that are likely to be used for these
standard names. However, making the TED desktop usable with
a range of point sizes effectively means, in addition to
legibility for the user, that the various TED applications
fit ``appropriately'' on the screen using those point sizes.
This means, for example, that two application windows can
appear side by side on a typical display or that a certain
number of buttons can appear across the screen.
Thus, these guidelines are expressed not only in pixel
sizes, to reflect current usage, but also in percentage of
monitor height. This allows them to remain appropriate as
technological evolution improves display resolution and mon-
itor size (for example, wall-mounted monitors). The ideal
set of sizes would form a linear progression from the smal-
lest (xxs) to the largest (xxl), although this is not
achievable. The basic guideline is that the xxs font should
be, in pixels, no less than 0.9% of the height of the
display resolution, in pixels; the xxl font should be no
more than 2.6% of the height.
As an approximate example that does not represent any exist-
ing mapping of fonts to a display, this table shows how the
named sizes might map to real bitmapped fonts of a given
pixel size, and how large those sizes are in percentage and
point size terms:
Unix System LaboratoLast change: 1 August 1995 6
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
_____________________________________________________
| |
| Sample Range of Named Sizes on a 1280x1024 Display |
|____________________________________________________|
| named| number | size as % | point size on |
| size | of pixels| of 1024 height| 100 DPI screen|
|______|___________|________________|________________|
| xxs | 10 | 0.98% | 7.2 |
| xs | 12 | 1.12% | 8.7 |
| s | 14 | 1.37% | 10.1 |
| m | 17 | 1.66% | 12.3 |
| l | 20 | 1.95% | 14.6 |
| xl | 23 | 2.25% | 16.6 |
| xxl | 26 | 2.54% | 18.8 |
|______|___________|________________|________________|
Thus, the following requirements are placed on each imple-
mentation of the Standard Interface Font Names:
o The names must be fully specified XLFD names, without
wild cards.
o The WEIGHT_NAME, SLANT, SETWIDTH_NAME, SPACING,
CHARSET_REGISTRY and CHARSET_ENCODING fields must con-
tain valid values as defined previously and must match
those in the underlying font.
o The ADD_STYLE_NAME field must contain both a named size
(for example, xxs) and, if appropriate, either the
serif or sans designation, whichever matches the under-
lying font; any additional words about the style of the
underlying font, if defined for the underlying font,
must also be used. The named size must be first in the
field, and must be separated from any following word in
the field with a blank.
o The named sizes xxs through xxl must be mapped to fonts
that are progressively larger than or equal to the pre-
vious one in the list. Thus, several standard names
with adjacent sizes (for example, xxs and xs) may be
mapped to the same font (for example, if there is not
enough variety in sizes in the underlying fonts).
o The implemented names should attempt to meet the guide-
lines discussed in the previous paragraph and table.
For example, system A is assumed to be using the following
sans serif font for the extra small system font:
-bitstream-swiss-medium-r-normal--11-90-85-85-p-81-iso8859-1
Unix System LaboratoLast change: 1 August 1995 7
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
System B is using the following serif font for the extra
small system font:
-vendorb-ersatz-medium-r-normal-Expert-8-80-75-75-m-72-iso8859-1
Their respective standard names would be implemented on
their systems as:
-dt-interface system-medium-r-normal-xssans-11-90-85-85-p-81-iso8859-1
-dt-interface system-medium-r-normal-xsserif Expert-8-80-75-75-m-72-iso8859-1
Defined this way, both names will match the single XLFD pat-
tern used in a common app-defaults file:
-dt-interface system-medium-r-normal-xs*-*-*-*-*-*-*-iso8859-1
Default TED Mapping of the Standard Interface Font Names
There is no default mapping of these interface names to
X11R5 fonts; the mapping is implementation-specific.
USAGE
A TED desktop client developer will code a single app-
defaults file to specify font resources for their client and
use it across all TED systems. Since the FOUNDRY,
FAMILY_NAME, WEIGHT_NAME, SLANT and SETWIDTH_NAME fields of
the standard names are the same across different systems,
these values can be used in the resource specification in
the app-defaults file. However, other fields
(ADD_STYLE_NAME, PIXEL_SIZE, POINT_SIZE, RESOLUTION_X,
RESOLUTION_Y, SPACING and AVERAGE_WIDTH) will vary across
systems, and so must be wild-carded in the resource specifi-
cation (ADD_STYLE_NAME is partially wild-carded). As was
shown in the previous example:
-dt-interface system-medium-r-normal-xs*-*-*-*-*-*-*-iso8859-1
is an XLFD pattern, used in a single resource specification,
that matches a single standard name on different TED or
X server platforms. (And if the last 2 fields,
CHARSET_REGISTRY and CHARSET_ENCODING, were wild-carded,
then the pattern could work across locales as well.) Note
that the named size (xs in this example) is part of the pat-
tern, but the serif/sans serif designation is not; this is
required to obtain the desired nominal size (whatever it may
be in the mapped font), while still matching either serif or
sans serif in the standard name.
Note that if a TED desktop application tries to open a font
using one of these standard names, and the X server does not
know about these names, the application will usually fall
back on using the fixed and variable font aliases that are
typically provided in all X servers. When this happens, the
Unix System LaboratoLast change: 1 August 1995 8
DtStdInterfaceFontNames(5)FILE FORMATS DtStdInterfaceFontNames(5)
TED desktop will be more difficult to use, visually, than if
its expected font names were available.
SEE ALSO
dtstyle(1), dtterm(1), DtStdAppFontNames(5)
NOTES
There is no requirement on a TED system or X server vendor
to implement these standard names in a particular way.
Several mechanisms are possible: duplicate font files with
altered naming attributes, X11R5 font aliases, or vendor-
specific mechanisms. The only requirement is that an XLFD
pattern, written with attributes taken from the set that
define the standard names, can be successfully used to open
a font with the Xlib function XLoadFont; and, specifically,
the Xlib function XListFonts need NOT return the same XLFD
name for the pattern on different TED or X server systems.
Unix System LaboratoLast change: 1 August 1995 9
See also DtStdInterfaceFontNames(5)
Man(1) output converted with
man2html