Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / doc / C / guides / man / man5 / DtStdApp.sgm
1 <!-- $XConsortium: DtStdApp.sgm /main/11 1996/09/08 19:59:56 rws $ -->
2 <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
3 <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
4 <!-- (c) Copyright 1995 International Business Machines Corp. -->
5 <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
6 <!-- (c) Copyright 1995 Novell, Inc. -->
7 <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
8 <!-- (c) Copyright 1995 Hitachi. -->
9
10 <RefEntry Id="CDEMX.MAN103.rsml.1">
11 <RefMeta>
12 <RefEntryTitle>DtStdAppFontNames</RefEntryTitle>
13 <ManVolNum>file formats</ManVolNum>
14 </RefMeta>
15 <RefNameDiv>
16 <RefName><Symbol>DtStdAppFontNames</Symbol></RefName>
17 <RefPurpose>&str-XZ; Standard Application Font Names
18 </RefPurpose>
19 </RefNameDiv>
20 <!-- CDE Common Source Format, Version 1.0.0-->
21 <!-- (c) Copyright 1993, 1994, 1995 Hewlett-Packard Company-->
22 <!-- (c) Copyright 1993, 1994, 1995 International Business Machines Corp.-->
23 <!-- (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc.-->
24 <!-- (c) Copyright 1993, 1994, 1995 Novell, Inc.-->
25 <RefSynopsisDiv>
26 <Synopsis><Anchor XRefLabel="DtStdAppFontNames" Role="3" Id="CDEMX.MAN103.anch.1">
27 <!--WARNING:  USED TO BE A PARAGRAPH:-->
28 The &str-XZ; Standard Application Font Names are a set of generic X Window
29 System font names, usable by applications as their default
30 fonts, for the most common categories of type designs and styles.
31 These names, for at least six sizes of 13 typefaces,
32 must be provided on all &str-XZ;
33 systems, and they should be provided in any
34 X&ensp;server product on which &str-XZ; applications are expected to run.
35 They are typically mapped to existing fonts on the system
36 using the font alias mechanism, although this method is not required.
37 </Synopsis>
38 </RefSynopsisDiv>
39 <RefSect1>
40 <Title>DESCRIPTION</Title>
41 <Para>&str-XZ; 1.0 does not come with a common set of fonts on all vendors'
42 systems, and both &str-XZ; itself and &str-XZ; applications must be able to run
43 on X&ensp;servers and X terminals from non-&str-XZ; vendors if those vendors so
44 desire.
45 Therefore, there are a standard set of ``generic'' font names
46 and sizes that each &str-XZ; vendor makes available on their &str-XZ; systems and
47 that X&ensp;server vendors may make available on their X&ensp;servers and
48 terminals.
49 The names map to existing fonts on each vendor's system,
50 which may vary from vendor to vendor.
51 </Para>
52 <Para>The &str-XZ; Standard Application Font Names described here allow
53 applications to use a single set of default font specifications in their
54 <Emphasis>app-defaults</Emphasis> files, without concern for the system
55 or X&ensp;server
56 on which &str-XZ; is running.
57 These
58 <Emphasis>app-defaults</Emphasis> application defaults are given as XLFD font name patterns that will
59 match the standard &str-XZ; font names on all &str-XZ; systems.
60 This allows
61 application developers both to reduce their concern with selecting
62 their default fonts from a varying set of fonts on different &str-XZ;
63 systems and to make use of the system default fonts.
64 </Para>
65 <RefSect2>
66 <Title>Background</Title>
67 <Para>Application fonts are the fonts used within an application, where a
68 wide variety of text designs, styles, weights and point sizes are useful.
69 These variations are used for emphasis, cross-references,
70 section headers, and so forth.
71 There are thousands of fonts available in the
72 market for use in applications, and different &str-XZ; systems will have
73 different fonts.
74 The standard names attempt to provide the minimum
75 variety in generic designs, styles and sizes that an application might
76 want to use as defaults.
77 (The &str-XZ; Standard Interface Font Names, described in
78 &cdeman.DtStdInterfaceFontNames;, provide a similar mechanism for the elements of the &str-XZ; desktop itself.)
79 </Para>
80 <Para>Common application font names prevent applications
81 from needing different
82 <Emphasis>app-defaults</Emphasis> files on each &str-XZ; system.
83 The Standard Application Font Names
84 allow applications to use a single
85 <Emphasis>app-defaults</Emphasis> file across all &str-XZ; systems.
86 In addition, any X&ensp;server or X
87 terminal vendor may ensure that &str-XZ; applications can run on their
88 X&ensp;server by mapping these standard application names to fonts of the
89 corresponding style on their individual X systems.
90 </Para>
91 </RefSect2>
92 <RefSect2>
93 <Title>Rationale</Title>
94 <Para>Two of the most common design variations in fonts used to display text
95 are the presence or absence of serifs and the choice between
96 proportional or regularly spaced (mono-spaced) characters.
97 Combining these two design variations yields four ``generic'' font
98 designs, or families:
99 </Para>
100 <ItemizedList>
101 <ListItem>
102 <Para>serif proportionally-spaced
103 </Para>
104 </ListItem>
105 <ListItem>
106 <Para>sans serif proportionally-spaced
107 </Para>
108 </ListItem>
109 <ListItem>
110 <Para>serif mono-spaced
111 </Para>
112 </ListItem>
113 <ListItem>
114 <Para>sans serif mono-spaced
115 </Para>
116 </ListItem>
117 </ItemizedList>
118 <Para>Common examples of these four designs are:
119 </Para>
120 <ItemizedList>
121 <ListItem>
122 <Para>Times Roman
123 </Para>
124 </ListItem>
125 <ListItem>
126 <Para>Helvetica
127 </Para>
128 </ListItem>
129 <ListItem>
130 <Para>Courier
131 </Para>
132 </ListItem>
133 <ListItem>
134 <Para>Lucida Sans Typewriter
135 </Para>
136 </ListItem>
137 </ItemizedList>
138 <Para>Each of these designs typically come, for text fonts,
139 in four styles (combinations of weight and slant):
140 </Para>
141 <ItemizedList>
142 <ListItem>
143 <Para>plain
144 </Para>
145 </ListItem>
146 <ListItem>
147 <Para>bold
148 </Para>
149 </ListItem>
150 <ListItem>
151 <Para>italic
152 </Para>
153 </ListItem>
154 <ListItem>
155 <Para>bold-italic
156 </Para>
157 </ListItem>
158 </ItemizedList>
159 <Para>The four styles of each of the four design variations yield 16 generic
160 font variations.
161 These 16 generic fonts are among the most commonly
162 used in general desktop computing.
163 For example, taking the first three
164 real examples above (Times Roman, Helvetica, Courier), these 12 fonts,
165 along with the Symbol font, constitute the so-called ``Adobe 13'' that
166 is a de facto minimum set of fonts in the PostScript community in the
167 desktop computer marketplace.
168 </Para>
169 <Para>In some cases, applications do not care about the exact font family or
170 name to be used, but do need to use a mono-spaced font, a sans serif
171 font or a serif font.
172 This &str-XZ; mechanism allows such applications to
173 be freed from the need to be concerned about the exact font names that
174 may or may not be present on a particular &str-XZ; system.
175 </Para>
176 </RefSect2>
177 <RefSect2>
178 <Title>The Standard Names for the Latin-1 Character Set</Title>
179 <Para>The 13 standard application font names are provided on all &str-XZ; systems
180 only for the
181 ISO 8859
182 (Latin-1) character set.
183 These represent 12
184 generic design and style variations (serif and sans serif
185 proportionally-spaced, and a mono-spaced font that is either serif or
186 sans serif), as well as a symbol font.
187 These standard names are
188 provided in addition to the ``real'' names of the fonts that the
189 standard names are mapped to for a particular &str-XZ; system.
190 An additional four standard font names, to allow both serif and sans serif
191 designs in a mono-spaced font, may also be provided by a &str-XZ; system.
192 </Para>
193 </RefSect2>
194 <RefSect2>
195 <Title>XLFD Field Values for the Standard Application Font Names</Title>
196 <Para>The standard names are available using the X Window System XLFD font
197 naming scheme.
198 There are three aspects to the standard names:
199 </Para>
200 <ItemizedList>
201 <!-- merged from xo+cde-->
202 <ListItem>
203 <Para>The
204 <Emphasis>underlying font</Emphasis> on each system,
205 or X&ensp;server platform,
206 to which a standard name is mapped,
207 typically will be different on each system.
208 </Para>
209 </ListItem>
210 <ListItem>
211 <Para>The
212 <Emphasis>standard name</Emphasis> itself, a full XLFD name mapped to the underlying font,
213 may be different on each system in some of the XLFD fields.
214 However, most of the fields are the same from system to system,
215 allowing the
216 <Emphasis>patterns</Emphasis> (described next) to be the same.
217 </Para>
218 </ListItem>
219 <ListItem>
220 <Para>The font resource
221 <Symbol Role="Variable">pattern</Symbol> containing the * wildcards, used in
222 <Emphasis>app-defaults</Emphasis> files,
223 which will match the full XLFD name of the standard name,
224 is the same across all systems, for a given use in an
225 <Emphasis>app-defaults</Emphasis> file.
226 </Para>
227 </ListItem>
228 </ItemizedList>
229 <Para>Each &str-XZ; or X&ensp;server vendor implementing this specification
230 must provide full XLFD names for the standard names, mapped to
231 system-dependent underlying fonts,
232 so that the XLFD patterns used in &str-XZ; application
233 <Emphasis>app-defaults</Emphasis> files will always match one of the full XLFD names provided.
234 </Para>
235 <Para>The Standard Application Font Names are identified by the presence of
236 the following XLFD field name values:
237 </Para>
238 <ItemizedList>
239 <!-- merged from xo+cde-->
240 <ListItem>
241 <Para><SystemItem Class="Constant">FOUNDRY</SystemItem> is
242 <Literal>dt</Literal></Para>
243 </ListItem>
244 <ListItem>
245 <Para><SystemItem Class="Constant">FAMILY_NAME</SystemItem> is
246 <Literal>application</Literal></Para>
247 </ListItem>
248 <ListItem>
249 <Para><SystemItem Class="Constant">WEIGHT_NAME</SystemItem> is
250 <Literal>medium</Literal> or
251 <Literal>bold</Literal></Para>
252 </ListItem>
253 <ListItem>
254 <Para><SystemItem Class="Constant">SLANT</SystemItem> is
255 <Literal>r</Literal> or
256 <Literal>i</Literal></Para>
257 </ListItem>
258 <ListItem>
259 <Para><SystemItem Class="Constant">SETWIDTH</SystemItem> is
260 <Literal>normal</Literal></Para>
261 </ListItem>
262 <ListItem>
263 <Para><SystemItem Class="Constant">ADD_STYLE</SystemItem> is
264 <Literal>sans</Literal> for sans serif,
265 <Literal>serif</Literal> for serif
266 </Para>
267 </ListItem>
268 <ListItem>
269 <Para><SystemItem Class="Constant">SPACING</SystemItem> is
270 <Literal>p</Literal> or
271 <Literal>m</Literal></Para>
272 </ListItem>
273 <ListItem>
274 <Para><SystemItem Class="Constant">CHARSET_REGISTRY</SystemItem> is
275 <Literal>iso8859</Literal></Para>
276 </ListItem>
277 <ListItem>
278 <Para><SystemItem Class="Constant">CHARSET_ENCODING</SystemItem> is
279 <Literal>1</Literal></Para>
280 </ListItem>
281 </ItemizedList>
282 <Para>Although
283 <Literal>sans</Literal> and
284 <Literal>serif</Literal> are not required by the XLFD font
285 convention, they are always part of the standard &str-XZ; font names.
286 </Para>
287 </RefSect2>
288 <RefSect2>
289 <Title>Point Sizes</Title>
290 <Para>The complete set of point sizes available for each of the standard
291 application font names is determined by the set of fonts included in a
292 system, whether bitmapped only or both bitmapped and scalable outline.
293 The minimum set of sizes required and available on
294 all &str-XZ; systems corresponds to the standard sizes of bitmapped fonts
295 that make up the default mapping for X11R5:
296 8, 10, 12, 14, 18 and 24.
297 </Para>
298 <Para>For example, the entire set of six sizes of the plain monospaced font, on
299 any &str-XZ; system, is represented by:
300 </Para>
301 <InformalExample Remap="indent">
302 <ProgramListing>-dt-application-medium-r-normal-*-*-80-*-*-m-*-iso8859-1
303 -dt-application-medium-r-normal-*-*-100-*-*-m-*-iso8859-1
304 -dt-application-medium-r-normal-*-*-120-*-*-m-*-iso8859-1
305 -dt-application-medium-r-normal-*-*-140-*-*-m-*-iso8859-1
306 -dt-application-medium-r-normal-*-*-180-*-*-m-*-iso8859-1
307 -dt-application-medium-r-normal-*-*-240-*-*-m-*-iso8859-1
308 </ProgramListing>
309 </InformalExample>
310 <Para>These patterns will match the corresponding standard font name on any
311 &str-XZ; system, even though the
312 <SystemItem Class="Constant">PIXEL_SIZE</SystemItem> and
313 <SystemItem Class="Constant">AVERAGE_WIDTH</SystemItem> numeric
314 fields may be different on various systems, and the matched fonts may
315 be either serif or sans serif, depending on the implementation
316 of the set of standard names.
317 The
318 <SystemItem Class="Constant">RESOLUTION</SystemItem> fields in the XLFD names of the underlying fonts, when
319 those fonts are bitmapped fonts, must match the resolution
320 of the monitor on which the fonts are displayed for the
321 point sizes to be accurate.
322 To provide expected point size
323 behavior for applications, systems should ensure that the
324 <SystemItem Class="Constant">RESOLUTION_X</SystemItem> and
325 <SystemItem Class="Constant">RESOLUTION_Y</SystemItem> fields of the underlying
326 fonts vary no more than 20% from the real monitor
327 resolution of the displays on which the fonts will be used.
328 </Para>
329 <Para>Applications requesting point sizes different from the six in the minimum
330 set may obtain either ``scaled bitmapped'' fonts of the requested
331 design, or scaled outline versions of the requested design.
332 This behavior requires that the X server in question
333 support the scaling of fonts and that the standard names
334 are mapped to underlying fonts that can be scaled using
335 this support.
336 </Para>
337 </RefSect2>
338 <RefSect2>
339 <Title>Example XLFD Patterns for the Standard Names</Title>
340 <Para>Using the specified field values for these standard names,
341 subsets of the standard names can be represented with various XLFD patterns.
342 The XLFD pattern
343 </Para>
344 <InformalExample Remap="indent">
345 <ProgramListing>-dt-application-*
346 </ProgramListing>
347 </InformalExample>
348 <Para>logically matches the full set of &str-Zx; Standard Application Font Names.
349 (Note that no specific X server behavior is implied).
350 The pattern
351 </Para>
352 <InformalExample Remap="indent">
353 <ProgramListing>-dt-application-bold-*-*-*-*-*-*-*-p-*-*-*-
354 </ProgramListing>
355 </InformalExample>
356 <Para>matches the bold, proportionally-spaced &str-XZ; fonts, both serif and sans
357 serif.
358 And the pattern
359 </Para>
360 <InformalExample Remap="indent">
361 <ProgramListing>-dt-application-*-*-*-*-*-*-*-*-m-*-*-*-
362 </ProgramListing>
363 </InformalExample>
364 <Para>matches the monospaced fonts (including both serif and sans serif).
365 </Para>
366 <Para>The full set of &str-XZ; Standard Application Font Names can be represented
367 with the following patterns:
368 </Para>
369 <InformalExample Remap="indent">
370 <ProgramListing>-dt-application-bold-i-normal-serif-*-*-*-*-p-*-iso8859-1
371 -dt-application-bold-r-normal-serif-*-*-*-*-p-*-iso8859-1
372 -dt-application-medium-i-normal-serif-*-*-*-*-p-*-iso8859-1
373 -dt-application-medium-r-normal-serif-*-*-*-*-p-*-iso8859-1
374 -dt-application-bold-i-normal-sans-*-*-*-*-p-*-iso8859-1
375 -dt-application-bold-r-normal-sans-*-*-*-*-p-*-iso8859-1
376 -dt-application-medium-i-normal-sans-*-*-*-*-p-*-iso8859-1
377 -dt-application-medium-r-normal-sans-*-*-*-*-p-*-iso8859-1
378 -dt-application-bold-i-normal-*-*-*-*-*-m-*-iso8859-1
379 -dt-application-bold-r-normal-*-*-*-*-*-m-*-iso8859-1
380 -dt-application-medium-i-normal-*-*-*-*-*-m-*-iso8859-1
381 -dt-application-medium-r-normal-*-*-*-*-*-m-*-iso8859-1
382 -dt-application-medium-r-normal-*-*-*-*-*-p-*-dtsymbol-1
383 </ProgramListing>
384 </InformalExample>
385 <Para>Each of these 13 standard names comes in at least six point sizes.
386 </Para>
387 </RefSect2>
388 <RefSect2>
389 <Title>Implementation of Font Names</Title>
390 <Para>Each &str-XZ; system vendor and X&ensp;server vendor
391 provides mappings of
392 their own fonts to XLFD names meeting this standard, so that &str-XZ;
393 applications will work on their system.
394 The actual XLFD names will
395 vary from system to system, just as the fonts they are mapped to,
396 since they contain some of the same values as the XLFD name of the
397 underlying font.
398 What does not vary is the behavior:
399 the common
400 patterns in which only specified fields are used will match each
401 system's standard names.
402 This is guaranteed by the field specifications given earlier.
403 </Para>
404 <Para>The following requirements are placed on
405 each &str-XZ; or X&ensp;server vendor's
406 implementation of the Standard Application Font Names:
407 </Para>
408 <ItemizedList>
409 <!-- merged from xo+cde-->
410 <ListItem>
411 <Para>The names must be fully specified XLFD names, without wild cards.
412 </Para>
413 </ListItem>
414 <ListItem>
415 <Para>The
416 <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
417 <SystemItem Class="Constant">CHARSET_ENCODING</SystemItem> fields must contain valid values as defined previously
418 and must match those in the underlying font.
419 </Para>
420 </ListItem>
421 <ListItem>
422 <Para>The
423 <SystemItem Class="Constant">ADD_STYLE_NAME</SystemItem> field must contain either the
424 <Literal>serif</Literal> or
425 <Literal>sans</Literal> designation, whichever matches the underlying font.
426 </Para>
427 </ListItem>
428 </ItemizedList>
429 </RefSect2>
430 <RefSect2>
431 <Title>Default &str-XZ; Mappings for Latin-1 Locales</Title>
432 <Para>The default mapping of these standard application font names for the
433 ISO 8859
434 locales is to the following standard X11R5 bitmapped fonts
435 (the six minimum sizes are not shown explicitly in these patterns):
436 </Para>
437 <InformalExample Remap="indent">
438 <ProgramListing>-adobe-times-bold-i-normal--*-*-*-*-p-*-iso8859-1
439 -adobe-times-bold-r-normal--*-*-*-*-p-*-iso8859-1
440 -adobe-times-medium-i-normal--*-*-*-*-p-*-iso8859-1
441 -adobe-times-medium-r-normal--*-*-*-*-p-*-iso8859-1
442 -adobe-helvetica-bold-o-normal--*-*-*-*-p-*-iso8859-1
443 -adobe-helvetica-bold-r-normal--*-*-*-*-p-*-iso8859-1
444 -adobe-helvetica-medium-o-normal--*-*-*-*-p-*-iso8859-1
445 -adobe-helvetica-medium-r-normal--*-*-*-*-p-*-iso8859-1
446 -adobe-courier-bold-o-normal--*-*-*-*-m-*-iso8859-1
447 -adobe-courier-bold-r-normal--*-*-*-*-m-*-iso8859-1
448 -adobe-courier-medium-o-normal--*-*-*-*-m-*-iso8859-1
449 -adobe-courier-medium-r-normal--*-*-*-*-m-*-iso8859-1
450 -adobe-symbol-medium-r-normal--*-*-*-*-p-*-adobe-fontspecific
451 </ProgramListing>
452 </InformalExample>
453 <Para>A system may provide a different
454 mapping of these standard names as long as all 13 names map to fonts of
455 the appropriate design and style and the required six point sizes are
456 available.
457 The system documentation must document the
458 system-specific default mapping for the standard names.
459 </Para>
460 </RefSect2>
461 <RefSect2>
462 <Title>Font Names in app-defaults Files</Title>
463 <Para>An application can use a single
464 <Emphasis>app-defaults</Emphasis> file to specify font resources and use it across all &str-XZ; systems.
465 Since most of the fields (
466 <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
467 <SystemItem Class="Constant">CHARSET_ENCODING</SystemItem>) of the standard names are the same across different systems,
468 these values can be used in the resource specification in the
469 <Emphasis>app-defaults</Emphasis> file.
470 However, other fields (
471 <SystemItem Class="Constant">PIXEL_SIZE</SystemItem>, <SystemItem Class="Constant">RESOLUTION_X</SystemItem>, <SystemItem Class="Constant">RESOLUTION_Y</SystemItem> and
472 <SystemItem Class="Constant">AVERAGE_WIDTH</SystemItem>) may vary across
473 systems, and so must be wild-carded in the resource specification.
474 For example:
475 </Para>
476 <InformalExample Remap="indent">
477 <ProgramListing>appOne*headFont: -dt-application-bold-r-normal-sans-*-140-*-*-p-*-iso8859-1
478 appOne*linkFont: -dt-application-bold-i-normal-sans-*-100-*-*-p-*-iso8859-1
479 </ProgramListing>
480 </InformalExample>
481 <Para>might be used to specify some of AppOne's default font resource needs.
482 </Para>
483 </RefSect2>
484 <refsect2>
485 <title>Other Character Sets in the Common Locales</title>
486 <para>The standard application font names defined above can be used for locales other than the
487 ISO 8859 character set with the following exceptions and differences. For the
488 following locales, CDE guarantees that systems provide fonts with the following
489 XLFD attribute values, and that they be accessible using these names.
490 For full information on how vendors ship the fonts, and make such names
491 usable with the appropriate font base name lists required for correct CDE
492 support for internationalization, see the guidelines in the CDE
493 Internationalization Programming Guide document.
494 </para>
495 <itemizedlist>
496 <listitem>
497 <para>Locales using ISO 8859-2, -3, -4, -5 (Cyrillic), -6 (Arabic), -7 (Greek), -8 (Hebrew):</para>
498 <para>The same values for
499 <systemitem class="Constant">FOUNDRY</systemitem>,
500 <systemitem class="Constant">FAMILY_NAME</systemitem>,
501 <systemitem class="Constant">WEIGHT_NAME</systemitem>,
502 <systemitem class="Constant">SLANT</systemitem>,
503 <systemitem class="Constant">SET_WIDTH</systemitem>,
504 <systemitem class="Constant">ADD_STYLE</systemitem> and
505 <systemitem class="Constant">SPACING</systemitem> as are used in this definition for the ISO 8859 locale.</para>
506 </listitem>
507 <listitem>
508 <para>Japanese locales:</para>
509 <para>Two values for the
510 <systemitem class="Constant">FAMILY_NAME</systemitem>
511 attribute (<literal>Gothic</literal> and <literal>Mincho</literal>) and two values for the
512 <systemitem class="Constant">WEIGHT_NAME</systemitem>
513 attribute (<literal>medium</literal> and <literal>bold</literal>) as well as
514 <systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
515 <systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
516 <systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>).</para>
517 </listitem>
518 <listitem>
519 <para>Chinese (Taiwan) locales:</para>
520 <para>Two values for the
521 <systemitem class="Constant">FAMILY_NAME</systemitem>
522 attribute (<literal>Sung</literal> and <literal>Kai</literal>) and two values for the
523 <systemitem class="Constant">WEIGHT_NAME</systemitem>
524 attribute (<literal>medium</literal> and <literal>bold</literal>) as well as
525 <systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
526 <systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
527 <systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>).</para>
528 </listitem>
529 <listitem>
530 <para>Chinese (PRC) locales:</para>
531 <para>Two values for the
532 <systemitem class="Constant">FAMILY_NAME</systemitem> attribute (<literal>Song</literal> and
533 <literal>Kai</literal>) and two values for the
534 <systemitem class="Constant">WEIGHT_NAME</systemitem> attribute (<literal>medium</literal> and
535 <literal>bold</literal>) as well as
536 <systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
537 <systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
538 <systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>).</para>
539 </listitem>
540 <listitem>
541 <para>Korean locales:</para>
542 <para>Two values for the
543 <systemitem class="Constant">FAMILY_NAME</systemitem>
544 attribute (<literal>Totum</literal> and <literal>Pathang</literal>) and two values for the
545 <systemitem class="Constant">WEIGHT_NAME</systemitem>
546 attribute (<literal>medium</literal> and <literal>bold</literal>) as well as
547 <systemitem class="Constant">SLANT</systemitem> (<literal>r</literal>),
548 <systemitem class="Constant">ADD_STYLE</systemitem> (<literal>*</literal>) and
549 <systemitem class="Constant">SPACING</systemitem> (<literal>m</literal>). Note that these names
550 are unofficial, tentative romanizations of the
551 two common font families in use in Korea; <literal>Totum</literal> corresponds to fonts typically
552 shipped as Gothic, Kodig or Dotum and <literal>Pathang</literal> corresponds to fonts typically
553 shipped as Myungjo or Myeongjo. The official roman names for these fonts
554 are under review and may be changed in the future by the Korean
555 government, and thus may change for CDE.</para>
556 </listitem>
557 </itemizedlist>
558 <para>In addition, to facilitate <emphasis>app-defaults</emphasis> files that work under a variety of locales,
559 CDE systems must provide an additional set of Standard Application Font Names where the
560 <systemitem class="Constant">FAMILY_NAME</systemitem> is <literal>application</literal>.
561 These font names are identified by the
562 presence of the following XLFD field values:</para>
563 <itemizedlist>
564 <listitem>
565 <para><systemitem class="Constant">FOUNDRY</systemitem> is <literal>dt</literal>
566 </para>
567 </listitem>
568 <listitem>
569 <para><systemitem class="Constant">FAMILY_NAME</systemitem> is <literal>application</literal>
570 </para>
571 </listitem>
572 <listitem>
573 <para><systemitem class="Constant">WEIGHT_NAME</systemitem> is <literal>medium</literal> or <literal>bold</literal>
574 </para>
575 </listitem>
576 <listitem>
577 <para><systemitem class="Constant">SLANT</systemitem> is as appropriate (see above)
578 </para>
579 </listitem>
580 <listitem>
581 <para><systemitem class="Constant">SET_WIDTH</systemitem> is <literal>normal</literal>
582 </para>
583 </listitem>
584 <listitem>
585 <para><systemitem class="Constant">ADD_STYLE</systemitem> is <literal>*</literal>
586 </para>
587 </listitem>
588 <listitem>
589 <para><systemitem class="Constant">SPACING</systemitem> is as appropriate (see above)
590 </para>
591 </listitem>
592 <listitem>
593 <para><systemitem class="Constant">CHARSET_REGISTRY</systemitem> is as appropriate
594 </para>
595 </listitem>
596 <listitem>
597 <para><systemitem class="Constant">CHARSET_ENCODING</systemitem> is as appropriate
598 </para>
599 </listitem>
600 </itemizedlist>
601 <para>This set of names is mapped to an underlying font representing one of the
602 <systemitem class="Constant">FAMILY_NAMES</systemitem> as listed above.
603 </para>
604 <para>For example, the XLFD names</para>
605 <programlisting>
606 -dt-mincho-medium-r-normal--*-*-*-*-m-*-jisx0208.1983-0
607 -dt-application-medium-r-normal--*-*-*-*-m-*-jisx0208.1983-0
608 </programlisting>
609 <para>may both be mapped to
610 </para>
611 <programlisting>
612 -ibm_aix-mincho-medium-r-normal--*-*-*-*-m-*-jisx0208.1983-0
613 </programlisting>
614 <para>This scheme allows application writers to create a XmFontList in a resource file as follows,
615 without regard for a particular locale:
616 </para>
617 <programlisting>
618 *FontList:-dt-application-medium-r-normal-*-0-14-75-75-m-0-*-*:
619 </programlisting>
620 <para>and be assured that the font will be reasonable. Notice that specifying
621 fonts this way not only disregards the selection of the Asian
622 <systemitem class="Constant">FAMILY_NAME</systemitem>,
623 but also the Latin <literal>serif</literal> or <literal>sans</literal> <systemitem class="Constant">ADD_STYLE</systemitem>
624 field. The font selected
625 will be the default.
626 </para>
627 </refsect2>
628 </RefSect1>
629 <RefSect1>
630 <Title>SEE ALSO</Title>
631 <Para>&cdeman.dtstyle;, &cdeman.dtterm;, &cdeman.DtStdInterfaceFontNames;</Para>
632 </RefSect1>
633 <RefSect1>
634 <Title>NOTES</Title>
635 <Para>There is no requirement on a &str-XZ; system to implement these
636 standard names in a particular way.
637 Several mechanisms are possible:
638 duplicate font files with altered naming attributes, X11R5 font
639 aliases, or vendor-specific mechanisms.
640 The only requirement is that
641 an XLFD pattern, written with attributes taken from the set that define
642 the standard names, can be successfully used to open a font with the
643 Xlib function
644 <Function>XLoadFont</Function>; and, specifically, the Xlib function
645 <Function>XListFonts</Function> need NOT return the same XLFD names for the pattern on
646 different &str-XZ; systems.
647 </Para>
648 <Para>&str-XZ; applications should, of course, be written to behave in a
649 reasonable manner if these standard font names are not available on a
650 particular X server.
651 This is typically done in an X application by
652 defaulting to the
653 <Literal>fixed</Literal> and
654 <Literal>variable</Literal> fonts.
655 </Para>
656 </RefSect1>
657 </RefEntry>
658 <!--fickle 1.12 mancsf-to-docbook 1.2 08/07/95 01:31:55-->