Files
cdesktop/cde/doc/C/guides/man/man5/DtStdApp.sgm

659 lines
26 KiB
Plaintext

<!-- $XConsortium: DtStdApp.sgm /main/11 1996/09/08 19:59:56 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<RefEntry Id="CDEMX.MAN103.rsml.1">
<RefMeta>
<RefEntryTitle>DtStdAppFontNames</RefEntryTitle>
<ManVolNum>file formats</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><Symbol>DtStdAppFontNames</Symbol></RefName>
<RefPurpose>&str-XZ; Standard Application Font Names
</RefPurpose>
</RefNameDiv>
<!-- CDE Common Source Format, Version 1.0.0-->
<!-- (c) Copyright 1993, 1994, 1995 Hewlett-Packard Company-->
<!-- (c) Copyright 1993, 1994, 1995 International Business Machines Corp.-->
<!-- (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc.-->
<!-- (c) Copyright 1993, 1994, 1995 Novell, Inc.-->
<RefSynopsisDiv>
<Synopsis><Anchor XRefLabel="DtStdAppFontNames" Role="3" Id="CDEMX.MAN103.anch.1">
<!--WARNING: USED TO BE A PARAGRAPH:-->
The &str-XZ; Standard Application Font Names are a set of generic X Window
System font names, usable by applications as their default
fonts, for the most common categories of type designs and styles.
These names, for at least six sizes of 13 typefaces,
must be provided on all &str-XZ;
systems, and they should be provided in any
X&ensp;server product on which &str-XZ; applications are expected to run.
They are typically mapped to existing fonts on the system
using the font alias mechanism, although this method is not required.
</Synopsis>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para>&str-XZ; 1.0 does not come with a common set of fonts on all vendors'
systems, and both &str-XZ; itself and &str-XZ; applications must be able to run
on X&ensp;servers and X terminals from non-&str-XZ; vendors if those vendors so
desire.
Therefore, there are a standard set of ``generic'' font names
and sizes that each &str-XZ; vendor makes available on their &str-XZ; systems and
that X&ensp;server vendors may make available on their X&ensp;servers and
terminals.
The names map to existing fonts on each vendor's system,
which may vary from vendor to vendor.
</Para>
<Para>The &str-XZ; Standard Application Font Names described here allow
applications to use a single set of default font specifications in their
<Emphasis>app-defaults</Emphasis> files, without concern for the system
or X&ensp;server
on which &str-XZ; is running.
These
<Emphasis>app-defaults</Emphasis> application defaults are given as XLFD font name patterns that will
match the standard &str-XZ; font names on all &str-XZ; systems.
This allows
application developers both to reduce their concern with selecting
their default fonts from a varying set of fonts on different &str-XZ;
systems and to make use of the system default fonts.
</Para>
<RefSect2>
<Title>Background</Title>
<Para>Application fonts are the fonts used within an application, where a
wide variety of text designs, styles, weights and point sizes are useful.
These variations are used for emphasis, cross-references,
section headers, and so forth.
There are thousands of fonts available in the
market for use in applications, and different &str-XZ; systems will have
different fonts.
The standard names attempt to provide the minimum
variety in generic designs, styles and sizes that an application might
want to use as defaults.
(The &str-XZ; Standard Interface Font Names, described in
&cdeman.DtStdInterfaceFontNames;, provide a similar mechanism for the elements of the &str-XZ; desktop itself.)
</Para>
<Para>Common application font names prevent applications
from needing different
<Emphasis>app-defaults</Emphasis> files on each &str-XZ; system.
The Standard Application Font Names
allow applications to use a single
<Emphasis>app-defaults</Emphasis> file across all &str-XZ; systems.
In addition, any X&ensp;server or X
terminal vendor may ensure that &str-XZ; applications can run on their
X&ensp;server by mapping these standard application names to fonts of the
corresponding style on their individual X systems.
</Para>
</RefSect2>
<RefSect2>
<Title>Rationale</Title>
<Para>Two of the most common design variations in fonts used to display text
are the presence or absence of serifs and the choice between
proportional or regularly spaced (mono-spaced) characters.
Combining these two design variations yields four ``generic'' font
designs, or families:
</Para>
<ItemizedList>
<ListItem>
<Para>serif proportionally-spaced
</Para>
</ListItem>
<ListItem>
<Para>sans serif proportionally-spaced
</Para>
</ListItem>
<ListItem>
<Para>serif mono-spaced
</Para>
</ListItem>
<ListItem>
<Para>sans serif mono-spaced
</Para>
</ListItem>
</ItemizedList>
<Para>Common examples of these four designs are:
</Para>
<ItemizedList>
<ListItem>
<Para>Times Roman
</Para>
</ListItem>
<ListItem>
<Para>Helvetica
</Para>
</ListItem>
<ListItem>
<Para>Courier
</Para>
</ListItem>
<ListItem>
<Para>Lucida Sans Typewriter
</Para>
</ListItem>
</ItemizedList>
<Para>Each of these designs typically come, for text fonts,
in four styles (combinations of weight and slant):
</Para>
<ItemizedList>
<ListItem>
<Para>plain
</Para>
</ListItem>
<ListItem>
<Para>bold
</Para>
</ListItem>
<ListItem>
<Para>italic
</Para>
</ListItem>
<ListItem>
<Para>bold-italic
</Para>
</ListItem>
</ItemizedList>
<Para>The four styles of each of the four design variations yield 16 generic
font variations.
These 16 generic fonts are among the most commonly
used in general desktop computing.
For example, taking the first three
real examples above (Times Roman, Helvetica, Courier), these 12 fonts,
along with the Symbol font, constitute the so-called ``Adobe 13'' that
is a de facto minimum set of fonts in the PostScript community in the
desktop computer marketplace.
</Para>
<Para>In some cases, applications do not care about the exact font family or
name to be used, but do need to use a mono-spaced font, a sans serif
font or a serif font.
This &str-XZ; mechanism allows such applications to
be freed from the need to be concerned about the exact font names that
may or may not be present on a particular &str-XZ; system.
</Para>
</RefSect2>
<RefSect2>
<Title>The Standard Names for the Latin-1 Character Set</Title>
<Para>The 13 standard application font names are provided on all &str-XZ; systems
only for the
ISO 8859
(Latin-1) character set.
These represent 12
generic design and style variations (serif and sans serif
proportionally-spaced, and a mono-spaced font that is either serif or
sans serif), as well as a symbol font.
These standard names are
provided in addition to the ``real'' names of the fonts that the
standard names are mapped to for a particular &str-XZ; system.
An additional four standard font names, to allow both serif and sans serif
designs in a mono-spaced font, may also be provided by a &str-XZ; system.
</Para>
</RefSect2>
<RefSect2>
<Title>XLFD Field Values for the Standard Application Font Names</Title>
<Para>The standard names are available using the X Window System XLFD font
naming scheme.
There are three aspects to the standard names:
</Para>
<ItemizedList>
<!-- merged from xo+cde-->
<ListItem>
<Para>The
<Emphasis>underlying font</Emphasis> on each system,
or X&ensp;server platform,
to which a standard name is mapped,
typically will be different on each system.
</Para>
</ListItem>
<ListItem>
<Para>The
<Emphasis>standard name</Emphasis> 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
<Emphasis>patterns</Emphasis> (described next) to be the same.
</Para>
</ListItem>
<ListItem>
<Para>The font resource
<Symbol Role="Variable">pattern</Symbol> containing the * wildcards, used in
<Emphasis>app-defaults</Emphasis> files,
which will match the full XLFD name of the standard name,
is the same across all systems, for a given use in an
<Emphasis>app-defaults</Emphasis> file.
</Para>
</ListItem>
</ItemizedList>
<Para>Each &str-XZ; or X&ensp;server vendor implementing this specification
must provide full XLFD names for the standard names, mapped to
system-dependent underlying fonts,
so that the XLFD patterns used in &str-XZ; application
<Emphasis>app-defaults</Emphasis> files will always match one of the full XLFD names provided.
</Para>
<Para>The Standard Application Font Names are identified by the presence of
the following XLFD field name values:
</Para>
<ItemizedList>
<!-- merged from xo+cde-->
<ListItem>
<Para><SystemItem Class="Constant">FOUNDRY</SystemItem> is
<Literal>dt</Literal></Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">FAMILY_NAME</SystemItem> is
<Literal>application</Literal></Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">WEIGHT_NAME</SystemItem> is
<Literal>medium</Literal> or
<Literal>bold</Literal></Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">SLANT</SystemItem> is
<Literal>r</Literal> or
<Literal>i</Literal></Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">SETWIDTH</SystemItem> is
<Literal>normal</Literal></Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">ADD_STYLE</SystemItem> is
<Literal>sans</Literal> for sans serif,
<Literal>serif</Literal> for serif
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">SPACING</SystemItem> is
<Literal>p</Literal> or
<Literal>m</Literal></Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">CHARSET_REGISTRY</SystemItem> is
<Literal>iso8859</Literal></Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">CHARSET_ENCODING</SystemItem> is
<Literal>1</Literal></Para>
</ListItem>
</ItemizedList>
<Para>Although
<Literal>sans</Literal> and
<Literal>serif</Literal> are not required by the XLFD font
convention, they are always part of the standard &str-XZ; font names.
</Para>
</RefSect2>
<RefSect2>
<Title>Point Sizes</Title>
<Para>The complete set of point sizes available for each of the standard
application font names is determined by the set of fonts included in a
system, whether bitmapped only or both bitmapped and scalable outline.
The minimum set of sizes required and available on
all &str-XZ; systems corresponds to the standard sizes of bitmapped fonts
that make up the default mapping for X11R5:
8, 10, 12, 14, 18 and 24.
</Para>
<Para>For example, the entire set of six sizes of the plain monospaced font, on
any &str-XZ; system, is represented by:
</Para>
<InformalExample Remap="indent">
<ProgramListing>-dt-application-medium-r-normal-*-*-80-*-*-m-*-iso8859-1
-dt-application-medium-r-normal-*-*-100-*-*-m-*-iso8859-1
-dt-application-medium-r-normal-*-*-120-*-*-m-*-iso8859-1
-dt-application-medium-r-normal-*-*-140-*-*-m-*-iso8859-1
-dt-application-medium-r-normal-*-*-180-*-*-m-*-iso8859-1
-dt-application-medium-r-normal-*-*-240-*-*-m-*-iso8859-1
</ProgramListing>
</InformalExample>
<Para>These patterns will match the corresponding standard font name on any
&str-XZ; system, even though the
<SystemItem Class="Constant">PIXEL_SIZE</SystemItem> and
<SystemItem Class="Constant">AVERAGE_WIDTH</SystemItem> numeric
fields may be different on various systems, and the matched fonts may
be either serif or sans serif, depending on the implementation
of the set of standard names.
The
<SystemItem Class="Constant">RESOLUTION</SystemItem> fields in the XLFD names of the underlying fonts, when
those fonts are bitmapped fonts, must match the resolution
of the monitor on which the fonts are displayed for the
point sizes to be accurate.
To provide expected point size
behavior for applications, systems should ensure that the
<SystemItem Class="Constant">RESOLUTION_X</SystemItem> and
<SystemItem Class="Constant">RESOLUTION_Y</SystemItem> fields of the underlying
fonts vary no more than 20% from the real monitor
resolution of the displays on which the fonts will be used.
</Para>
<Para>Applications requesting point sizes different from the six in the minimum
set may obtain either ``scaled bitmapped'' fonts of the requested
design, or scaled outline versions of the requested design.
This behavior requires that the X server in question
support the scaling of fonts and that the standard names
are mapped to underlying fonts that can be scaled using
this support.
</Para>
</RefSect2>
<RefSect2>
<Title>Example XLFD Patterns for the Standard Names</Title>
<Para>Using the specified field values for these standard names,
subsets of the standard names can be represented with various XLFD patterns.
The XLFD pattern
</Para>
<InformalExample Remap="indent">
<ProgramListing>-dt-application-*
</ProgramListing>
</InformalExample>
<Para>logically matches the full set of &str-Zx; Standard Application Font Names.
(Note that no specific X server behavior is implied).
The pattern
</Para>
<InformalExample Remap="indent">
<ProgramListing>-dt-application-bold-*-*-*-*-*-*-*-p-*-*-*-
</ProgramListing>
</InformalExample>
<Para>matches the bold, proportionally-spaced &str-XZ; fonts, both serif and sans
serif.
And the pattern
</Para>
<InformalExample Remap="indent">
<ProgramListing>-dt-application-*-*-*-*-*-*-*-*-m-*-*-*-
</ProgramListing>
</InformalExample>
<Para>matches the monospaced fonts (including both serif and sans serif).
</Para>
<Para>The full set of &str-XZ; Standard Application Font Names can be represented
with the following patterns:
</Para>
<InformalExample Remap="indent">
<ProgramListing>-dt-application-bold-i-normal-serif-*-*-*-*-p-*-iso8859-1
-dt-application-bold-r-normal-serif-*-*-*-*-p-*-iso8859-1
-dt-application-medium-i-normal-serif-*-*-*-*-p-*-iso8859-1
-dt-application-medium-r-normal-serif-*-*-*-*-p-*-iso8859-1
-dt-application-bold-i-normal-sans-*-*-*-*-p-*-iso8859-1
-dt-application-bold-r-normal-sans-*-*-*-*-p-*-iso8859-1
-dt-application-medium-i-normal-sans-*-*-*-*-p-*-iso8859-1
-dt-application-medium-r-normal-sans-*-*-*-*-p-*-iso8859-1
-dt-application-bold-i-normal-*-*-*-*-*-m-*-iso8859-1
-dt-application-bold-r-normal-*-*-*-*-*-m-*-iso8859-1
-dt-application-medium-i-normal-*-*-*-*-*-m-*-iso8859-1
-dt-application-medium-r-normal-*-*-*-*-*-m-*-iso8859-1
-dt-application-medium-r-normal-*-*-*-*-*-p-*-dtsymbol-1
</ProgramListing>
</InformalExample>
<Para>Each of these 13 standard names comes in at least six point sizes.
</Para>
</RefSect2>
<RefSect2>
<Title>Implementation of Font Names</Title>
<Para>Each &str-XZ; system vendor and X&ensp;server vendor
provides mappings of
their own fonts to XLFD names meeting this standard, so that &str-XZ;
applications will work on their system.
The actual XLFD names will
vary from system to system, just as the fonts they are mapped to,
since they contain some of the same values as the XLFD name of the
underlying 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.
</Para>
<Para>The following requirements are placed on
each &str-XZ; or X&ensp;server vendor's
implementation of the Standard Application Font Names:
</Para>
<ItemizedList>
<!-- merged from xo+cde-->
<ListItem>
<Para>The names must be fully specified XLFD names, without wild cards.
</Para>
</ListItem>
<ListItem>
<Para>The
<SystemItem Class="Constant">WEIGHT_NAME</SystemItem>, <SystemItem Class="Constant">SLANT</SystemItem>, <SystemItem Class="Constant">SETWIDTH_NAME</SystemItem>, <SystemItem Class="Constant">SPACING</SystemItem>, <SystemItem Class="Constant">CHARSET_REGISTRY</SystemItem> and
<SystemItem Class="Constant">CHARSET_ENCODING</SystemItem> fields must contain valid values as defined previously
and must match those in the underlying font.
</Para>
</ListItem>
<ListItem>
<Para>The
<SystemItem Class="Constant">ADD_STYLE_NAME</SystemItem> field must contain either the
<Literal>serif</Literal> or
<Literal>sans</Literal> designation, whichever matches the underlying font.
</Para>
</ListItem>
</ItemizedList>
</RefSect2>
<RefSect2>
<Title>Default &str-XZ; Mappings for Latin-1 Locales</Title>
<Para>The default mapping of these standard application font names for the
ISO 8859
locales is to the following standard X11R5 bitmapped fonts
(the six minimum sizes are not shown explicitly in these patterns):
</Para>
<InformalExample Remap="indent">
<ProgramListing>-adobe-times-bold-i-normal--*-*-*-*-p-*-iso8859-1
-adobe-times-bold-r-normal--*-*-*-*-p-*-iso8859-1
-adobe-times-medium-i-normal--*-*-*-*-p-*-iso8859-1
-adobe-times-medium-r-normal--*-*-*-*-p-*-iso8859-1
-adobe-helvetica-bold-o-normal--*-*-*-*-p-*-iso8859-1
-adobe-helvetica-bold-r-normal--*-*-*-*-p-*-iso8859-1
-adobe-helvetica-medium-o-normal--*-*-*-*-p-*-iso8859-1
-adobe-helvetica-medium-r-normal--*-*-*-*-p-*-iso8859-1
-adobe-courier-bold-o-normal--*-*-*-*-m-*-iso8859-1
-adobe-courier-bold-r-normal--*-*-*-*-m-*-iso8859-1
-adobe-courier-medium-o-normal--*-*-*-*-m-*-iso8859-1
-adobe-courier-medium-r-normal--*-*-*-*-m-*-iso8859-1
-adobe-symbol-medium-r-normal--*-*-*-*-p-*-adobe-fontspecific
</ProgramListing>
</InformalExample>
<Para>A system may provide a different
mapping of these standard names as long as all 13 names map to fonts of
the appropriate design and style and the required six point sizes are
available.
The system documentation must document the
system-specific default mapping for the standard names.
</Para>
</RefSect2>
<RefSect2>
<Title>Font Names in app-defaults Files</Title>
<Para>An application can use a single
<Emphasis>app-defaults</Emphasis> file to specify font resources and use it across all &str-XZ; systems.
Since most of the fields (
<SystemItem Class="Constant">FOUNDRY</SystemItem>, <SystemItem Class="Constant">FAMILY_NAME</SystemItem>, <SystemItem Class="Constant">WEIGHT_NAME</SystemItem>, <SystemItem Class="Constant">SLANT</SystemItem>, <SystemItem Class="Constant">SETWIDTH_NAME</SystemItem>, <SystemItem Class="Constant">ADD_STYLE_NAME</SystemItem>, <SystemItem Class="Constant">POINT_SIZE</SystemItem>, <SystemItem Class="Constant">SPACING</SystemItem>, <SystemItem Class="Constant">CHARSET_REGISTRY</SystemItem> and
<SystemItem Class="Constant">CHARSET_ENCODING</SystemItem>) of the standard names are the same across different systems,
these values can be used in the resource specification in the
<Emphasis>app-defaults</Emphasis> file.
However, other fields (
<SystemItem Class="Constant">PIXEL_SIZE</SystemItem>, <SystemItem Class="Constant">RESOLUTION_X</SystemItem>, <SystemItem Class="Constant">RESOLUTION_Y</SystemItem> and
<SystemItem Class="Constant">AVERAGE_WIDTH</SystemItem>) may vary across
systems, and so must be wild-carded in the resource specification.
For example:
</Para>
<InformalExample Remap="indent">
<ProgramListing>appOne*headFont: -dt-application-bold-r-normal-sans-*-140-*-*-p-*-iso8859-1
appOne*linkFont: -dt-application-bold-i-normal-sans-*-100-*-*-p-*-iso8859-1
</ProgramListing>
</InformalExample>
<Para>might be used to specify some of AppOne's default font resource needs.
</Para>
</RefSect2>
<refsect2>
<title>Other Character Sets in the Common Locales</title>
<para>The standard application font names defined above can be used for locales other than the
ISO 8859 character set with the following exceptions and differences. For the
following locales, CDE guarantees that systems provide fonts with the following
XLFD attribute values, and that they be accessible using these names.
For full information on how vendors ship the fonts, and make such names
usable with the appropriate font base name lists required for correct CDE
support for internationalization, see the guidelines in the CDE
Internationalization Programming Guide document.
</para>
<itemizedlist>
<listitem>
<para>Locales using ISO 8859-2, -3, -4, -5 (Cyrillic), -6 (Arabic), -7 (Greek), -8 (Hebrew):</para>
<para>The same values for
<systemitem class="Constant">FOUNDRY</systemitem>,
<systemitem class="Constant">FAMILY_NAME</systemitem>,
<systemitem class="Constant">WEIGHT_NAME</systemitem>,
<systemitem class="Constant">SLANT</systemitem>,
<systemitem class="Constant">SET_WIDTH</systemitem>,
<systemitem class="Constant">ADD_STYLE</systemitem> and
<systemitem class="Constant">SPACING</systemitem> as are used in this definition for the ISO 8859 locale.</para>
</listitem>
<listitem>
<para>Japanese locales:</para>
<para>Two values for the
<systemitem class="Constant">FAMILY_NAME</systemitem>
attribute (<literal>Gothic</literal> and <literal>Mincho</literal>) and two values for the
<systemitem class="Constant">WEIGHT_NAME</systemitem>
attribute (<literal>medium</literal> and <literal>bold</literal>) as well as
<systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
<systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
<systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>).</para>
</listitem>
<listitem>
<para>Chinese (Taiwan) locales:</para>
<para>Two values for the
<systemitem class="Constant">FAMILY_NAME</systemitem>
attribute (<literal>Sung</literal> and <literal>Kai</literal>) and two values for the
<systemitem class="Constant">WEIGHT_NAME</systemitem>
attribute (<literal>medium</literal> and <literal>bold</literal>) as well as
<systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
<systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
<systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>).</para>
</listitem>
<listitem>
<para>Chinese (PRC) locales:</para>
<para>Two values for the
<systemitem class="Constant">FAMILY_NAME</systemitem> attribute (<literal>Song</literal> and
<literal>Kai</literal>) and two values for the
<systemitem class="Constant">WEIGHT_NAME</systemitem> attribute (<literal>medium</literal> and
<literal>bold</literal>) as well as
<systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
<systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
<systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>).</para>
</listitem>
<listitem>
<para>Korean locales:</para>
<para>Two values for the
<systemitem class="Constant">FAMILY_NAME</systemitem>
attribute (<literal>Totum</literal> and <literal>Pathang</literal>) and two values for the
<systemitem class="Constant">WEIGHT_NAME</systemitem>
attribute (<literal>medium</literal> and <literal>bold</literal>) as well as
<systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
<systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
<systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>). Note that these names
are unofficial, tentative romanizations of the
two common font families in use in Korea; <literal>Totum</literal> corresponds to fonts typically
shipped as Gothic, Kodig or Dotum and <literal>Pathang</literal> corresponds to fonts typically
shipped as Myungjo or Myeongjo. The official roman names for these fonts
are under review and may be changed in the future by the Korean
government, and thus may change for CDE.</para>
</listitem>
</itemizedlist>
<para>In addition, to facilitate <emphasis>app-defaults</emphasis> files that work under a variety of locales,
CDE systems must provide an additional set of Standard Application Font Names where the
<systemitem class="Constant">FAMILY_NAME</systemitem> is <literal>application</literal>.
These font names are identified by the
presence of the following XLFD field values:</para>
<itemizedlist>
<listitem>
<para><systemitem class="Constant">FOUNDRY</systemitem> is <literal>dt</literal>
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">FAMILY_NAME</systemitem> is <literal>application</literal>
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">WEIGHT_NAME</systemitem> is <literal>medium</literal> or <literal>bold</literal>
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">SLANT</systemitem> is as appropriate (see above)
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">SET_WIDTH</systemitem> is <literal>normal</literal>
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">ADD_STYLE</systemitem> is <literal>*</literal>
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">SPACING</systemitem> is as appropriate (see above)
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">CHARSET_REGISTRY</systemitem> is as appropriate
</para>
</listitem>
<listitem>
<para><systemitem class="Constant">CHARSET_ENCODING</systemitem> is as appropriate
</para>
</listitem>
</itemizedlist>
<para>This set of names is mapped to an underlying font representing one of the
<systemitem class="Constant">FAMILY_NAMES</systemitem> as listed above.
</para>
<para>For example, the XLFD names</para>
<programlisting>
-dt-mincho-medium-r-normal--*-*-*-*-m-*-jisx0208.1983-0
-dt-application-medium-r-normal--*-*-*-*-m-*-jisx0208.1983-0
</programlisting>
<para>may both be mapped to
</para>
<programlisting>
-ibm_aix-mincho-medium-r-normal--*-*-*-*-m-*-jisx0208.1983-0
</programlisting>
<para>This scheme allows application writers to create a XmFontList in a resource file as follows,
without regard for a particular locale:
</para>
<programlisting>
*FontList:-dt-application-medium-r-normal-*-0-14-75-75-m-0-*-*:
</programlisting>
<para>and be assured that the font will be reasonable. Notice that specifying
fonts this way not only disregards the selection of the Asian
<systemitem class="Constant">FAMILY_NAME</systemitem>,
but also the Latin <literal>serif</literal> or <literal>sans</literal> <systemitem class="Constant">ADD_STYLE</systemitem>
field. The font selected
will be the default.
</para>
</refsect2>
</RefSect1>
<RefSect1>
<Title>SEE ALSO</Title>
<Para>&cdeman.dtstyle;, &cdeman.dtterm;, &cdeman.DtStdInterfaceFontNames;</Para>
</RefSect1>
<RefSect1>
<Title>NOTES</Title>
<Para>There is no requirement on a &str-XZ; system 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
<Function>XLoadFont</Function>; and, specifically, the Xlib function
<Function>XListFonts</Function> need NOT return the same XLFD names for the pattern on
different &str-XZ; systems.
</Para>
<Para>&str-XZ; applications should, of course, be written to behave in a
reasonable manner if these standard font names are not available on a
particular X server.
This is typically done in an X application by
defaulting to the
<Literal>fixed</Literal> and
<Literal>variable</Literal> fonts.
</Para>
</RefSect1>
</RefEntry>
<!--fickle 1.12 mancsf-to-docbook 1.2 08/07/95 01:31:55-->