1<?xml version="1.0" encoding="UTF-8" ?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3                   "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
4[
5<!ENTITY % defs SYSTEM "defs.ent"> %defs;
6]>
7
8<book id="localedb">
9
10<bookinfo>
11   <title>X Locale Database Specification</title>
12   <releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
13   <authorgroup>
14      <author>
15         <firstname>Yoshio</firstname><surname>Horiuchi</surname>
16         <affiliation><orgname>IBM Japan</orgname></affiliation>
17      </author>
18   </authorgroup>
19   <copyright><year>1994</year><holder>IBM Corporation</holder></copyright>
20
21<legalnotice>
22<para>
23License to use, copy, modify, and distribute this software and its documentation for
24any purpose and without fee is hereby granted, provided that the above copyright notice
25appear in all copies and that both that copyright notice and this permission notice
26appear in supporting documentation, and that the name of IBM not be used in advertising
27or publicity pertaining to distribution of the software without specific, written
28prior permission.
29</para>
30<para>
31IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
32WARRANTIES OF MERCHANTABILITY, FITNESS, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS,
33IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES
34OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
35AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
36WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
37</para>
38</legalnotice>
39
40<legalnotice>
41<para role="multiLicensing">Copyright © 1994 X Consortium</para>
42<para>
43Permission is hereby granted, free of charge, to any person obtaining a copy
44of this software and associated documentation files
45(the &ldquo;Software&rdquo;), to deal in the Software without restriction,
46including without limitation the rights to use, copy, modify, merge, publish,
47distribute, sublicense, and/or sell copies of the Software, and to permit
48persons to whom the Software is furnished to do so, subject to the following
49conditions:
50</para>
51
52<para>
53The above copyright notice and this permission notice shall be included in all
54copies or substantial portions of the Software.
55</para>
56
57<para>
58THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND,
59EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
60MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN
61NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
62LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
63OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
64THE SOFTWARE.
65</para>
66
67<para>
68Except as contained in this notice, the name of the X Consortium shall not be
69used in advertising or otherwise to promote the sale, use or other dealings in
70this Software without prior written authorization from the X Consortium.
71</para>
72
73<para>X Window System is a trademark of The Open Group.</para>
74
75</legalnotice>
76</bookinfo>
77
78<chapter id='LocaleDB'>
79<title>LocaleDB</title>
80
81<sect1 id="General">
82<title>General</title>
83<para>
84An X Locale Database contains the subset of a user's environment that
85depends on language, in X Window System.  It is made up from one or more
86categories.  Each category consists of some classes and sub-classes.
87</para>
88
89<para>
90It is provided as a plain ASCII text file, so a user can change its
91contents easily.  It allows a user to customize the behavior of
92internationalized portion of Xlib without changing Xlib itself.
93</para>
94
95<para>
96This document describes;
97</para>
98
99<itemizedlist>
100  <listitem>
101    <para>
102Database Format Definition
103    </para>
104  </listitem>
105  <listitem>
106    <para>
107Contents of Database in sample implementation
108<!-- .RE -->
109    </para>
110  </listitem>
111</itemizedlist>
112
113<para>
114Since it is hard to define the set of required information for all
115platforms, only the flexible database format is defined.
116The available entries in database are implementation dependent.
117</para>
118
119</sect1>
120<sect1 id="Database_Format_Definition">
121<title>Database Format Definition</title>
122<para>
123The X Locale Database contains one or more category definitions.
124This section describes the format of each category definition.
125</para>
126
127<para>
128The category definition consists of one or more class definitions.
129Each class definition has a pair of class name and class value, or
130has several subclasses which are enclosed by the left brace ({) and
131the right brace (}).
132</para>
133
134<para>
135Comments can be placed by using the number sign character (#).
136Putting the number sign character on the top of the line indicates
137that the entire line is comment.  Also, putting any whitespace character
138followed by the number sign character indicates that a part of the line
139(from the number sign to the end of the line) is comment.
140A line can be continued by placing backslash (\) character as the
141last character on the line;  this continuation character will be
142discarded from the input.  Comment lines cannot be continued on
143a subsequent line using an escaped new line character.
144</para>
145
146<para>
147X Locale Database only accepts XPCS, the X Portable Character Set.
148The reserved symbols are;  the quotation mark("), the number sign (#),
149the semicolon(;), the backslash(\), the left brace({) and
150the right brace(}).
151</para>
152
153<para>
154The format of category definition is;
155</para>
156
157<informaltable frame="none">
158  <?dbfo keep-together="auto" ?>
159  <tgroup cols='3' align='left' colsep='0' rowsep='0'>
160  <colspec colname='c1' colwidth='3.0*'/>
161  <colspec colname='c2' colwidth='1.0*'/>
162  <colspec colname='c3' colwidth='6.0*'/>
163  <tbody>
164    <row>
165      <entry>CategoryDefinition</entry>
166      <entry>::=</entry>
167      <entry>CategoryHeader CategorySpec CategoryTrailer</entry>
168    </row>
169    <row>
170      <entry>CategoryHeader</entry>
171      <entry>::=</entry>
172      <entry>CategoryName NL</entry>
173    </row>
174    <row>
175      <entry>CategorySpec</entry>
176      <entry>::=</entry>
177      <entry>{ ClassSpec }</entry>
178    </row>
179    <row>
180      <entry>CategoryTrailer</entry>
181      <entry>::=</entry>
182      <entry>"END" Delimiter CategoryName NL</entry>
183    </row>
184    <row>
185      <entry>CategoryName</entry>
186      <entry>::=</entry>
187      <entry>String</entry>
188    </row>
189    <row>
190      <entry>ClassSpec</entry>
191      <entry>::=</entry>
192      <entry>ClassName Delimiter ClassValue NL</entry>
193    </row>
194    <row>
195      <entry>ClassName</entry>
196      <entry>::=</entry>
197      <entry>String</entry>
198    </row>
199    <row>
200      <entry>ClassValue</entry>
201      <entry>::=</entry>
202      <entry>ValueList | "{" NL { ClassSpec } "}"</entry>
203    </row>
204    <row>
205      <entry>ValueList</entry>
206      <entry>::=</entry>
207      <entry>Value | Value ";" ValueList</entry>
208    </row>
209    <row>
210      <entry>Value</entry>
211      <entry>::=</entry>
212      <entry>ValuePiece | ValuePiece Value</entry>
213    </row>
214    <row>
215      <entry>ValuePiece</entry>
216      <entry>::=</entry>
217      <entry>String | QuotedString | NumericString</entry>
218    </row>
219    <row>
220      <entry>String</entry>
221      <entry>::=</entry>
222      <entry>Char { Char }</entry>
223    </row>
224    <row>
225      <entry>QuotedString</entry>
226      <entry>::=</entry>
227      <entry>""" QuotedChar { QuotedChar } """</entry>
228    </row>
229    <row>
230      <entry>NumericString</entry>
231      <entry>::=</entry>
232      <entry>"\\o" OctDigit { OctDigit }</entry>
233    </row>
234    <row>
235      <entry></entry>
236      <entry>|</entry>
237      <entry>"\\d" DecDigit { DecDigit }</entry>
238    </row>
239    <row>
240      <entry></entry>
241      <entry>|</entry>
242      <entry>"\\x" HexDigit { HexDigit }</entry>
243    </row>
244    <row>
245      <entry>Char</entry>
246      <entry>::=</entry>
247      <entry>&lt;XPCS except NL, Space or unescaped reserved symbols&gt;</entry>
248    </row>
249    <row>
250      <entry>QuotedChar</entry>
251      <entry>::=</entry>
252      <entry>&lt;XPCS except unescaped """&gt;</entry>
253    </row>
254    <row>
255      <entry>OctDigit</entry>
256      <entry>::=</entry>
257      <entry>&lt;character in the range of "0" - "7"&gt;</entry>
258    </row>
259    <row>
260      <entry>DecDigit</entry>
261      <entry>::=</entry>
262      <entry>&lt;character in the range of "0" - "9"&gt;</entry>
263    </row>
264    <row>
265      <entry>HexDigit</entry>
266      <entry>::=</entry>
267      <entry>&lt;character in the range of "0" - "9", "a" - "f", "A" - "F"&gt;</entry>
268    </row>
269    <row>
270      <entry>Delimiter</entry>
271      <entry>::=</entry>
272      <entry>Space { Space }</entry>
273    </row>
274    <row>
275      <entry>Space</entry>
276      <entry>::=</entry>
277      <entry>&lt;space&gt; | &lt;horizontal tab&gt;</entry>
278    </row>
279    <row>
280      <entry>NL</entry>
281      <entry>::=</entry>
282      <entry>&lt;newline&gt;</entry>
283    </row>
284  </tbody>
285  </tgroup>
286</informaltable>
287
288<para>
289Elements separated by vertical bar (|) are alternatives.  Curly
290braces ({...}) indicate zero or more repetitions of the enclosed
291elements.  Square brackets ([...]) indicate that the enclosed element
292is optional. Quotes ("...") are used around literal characters.
293</para>
294
295<para>
296The backslash, which is not the top character of the NumericString, is
297recognized as an escape character, so that the next one character is
298treated as a literal character.  For example, the two-character
299sequence, ""\"""(the backslash followed by the quotation mark) is
300recognized and replaced with a quotation mark character.
301Any whitespace character, that is not the Delimiter, unquoted and
302unescaped, is ignored.
303</para>
304
305</sect1>
306<sect1 id='Contents_of_Database'>
307<title>Contents of Database</title>
308<para>
309The available categories and classes depend on implementation, because
310different platform will require different information set.
311For example, some platform have system locale but some platform don't.
312Furthermore, there might be a difference in functionality even if the
313platform has system locale.
314</para>
315
316<para>
317In current sample implementation, categories listed below are available.
318</para>
319
320<informaltable frame="none">
321  <?dbfo keep-together="always" ?>
322  <tgroup cols='1' align='left' colsep='0' rowsep='0'>
323  <colspec colname='c1' colwidth='1.0*'/>
324  <tbody>
325    <row>
326      <entry>XLC_FONTSET:XFontSet relative information</entry>
327    </row>
328    <row>
329      <entry>XLC_XLOCALE:Character classification and conversion information</entry>
330    </row>
331  </tbody>
332  </tgroup>
333</informaltable>
334
335</sect1>
336<sect1 id="XLC_FONTSET_Category">
337<title>XLC_FONTSET Category</title>
338<para>
339The XLC_FONTSET category defines the XFontSet relative information.
340It contains the CHARSET_REGISTRY-CHARSET_ENCODING name and character
341mapping side (GL, GR, etc), and is used in Output Method (OM).
342</para>
343
344<informaltable frame="topbot">
345  <?dbfo keep-together="always" ?>
346  <tgroup cols='3' align='left' colsep='0' rowsep='0'>
347  <thead>
348  <colspec colname='c1' colwidth='3.0*'/>
349  <colspec colname='c2' colwidth='1.0*'/>
350  <colspec colname='c3' colwidth='3.0*'/>
351    <row rowsep='1'>
352      <entry>class</entry>
353      <entry>super class</entry>
354      <entry>description</entry>
355    </row>
356  </thead>
357  <tbody>
358    <row>
359      <entry>fsN</entry>
360      <entry></entry>
361      <entry>Nth fontset (N=0,1,2, ...)</entry>
362    </row>
363    <row>
364      <entry>charset</entry>
365      <entry>fsN</entry>
366      <entry>list of encoding name</entry>
367    </row>
368    <row>
369      <entry>font</entry>
370      <entry>fsN</entry>
371      <entry>list of font encoding name</entry>
372    </row>
373  </tbody>
374  </tgroup>
375</informaltable>
376
377<variablelist>
378  <varlistentry>
379    <term>fsN</term>
380    <listitem>
381      <para>
382Includes an encoding information for Nth charset, where N is
383the index number (0,1,2,...).  If there are 4 charsets available
384in current locale, 4 fontsets, fs0, fs1, fs2 and fs3, should be
385defined.
386This class has two subclasses, 'charset' and 'font'.
387      </para>
388    </listitem>
389  </varlistentry>
390  <varlistentry>
391    <term>charset</term>
392    <listitem>
393      <para>
394Specifies an encoding information to be used internally in Xlib
395for this fontset.  The format of value is;
396      </para>
397<informaltable frame="none">
398  <?dbfo keep-together="always" ?>
399  <tgroup cols='3' align='left' colsep='0' rowsep='0'>
400  <colspec colname='c1' colwidth='3.0*'/>
401  <colspec colname='c2' colwidth='1.0*'/>
402  <colspec colname='c3' colwidth='4.0*'/>
403  <tbody>
404    <row>
405      <entry>EncodingInfo</entry>
406      <entry>::=</entry>
407      <entry>EncodingName [ ":" EncodingSide ]</entry>
408    </row>
409    <row>
410      <entry>EncodingName</entry>
411      <entry>::=</entry>
412      <entry>CHARSET_REGISTRY-CHARSET_ENCODING</entry>
413    </row>
414    <row>
415      <entry>EncodingSide</entry>
416      <entry>::=</entry>
417      <entry>"GL" | "GR"</entry>
418    </row>
419  </tbody>
420  </tgroup>
421</informaltable>
422
423<para>
424For detail definition of CHARSET_REGISTRY-CHARSET_ENCODING, refer
425to the <olink targetdoc='xlfd' targetptr='xlfd'><citetitle>X Logical Font Description Conventions</citetitle></olink> document.
426</para>
427<literallayout>
428example:
429     ISO8859-1:GL
430</literallayout>
431    </listitem>
432  </varlistentry>
433  <varlistentry>
434    <term>font</term>
435    <listitem>
436      <para>
437Specifies a list of encoding information which is used for searching
438appropriate font for this fontset.  The left most entry has highest
439priority.
440      </para>
441    </listitem>
442  </varlistentry>
443</variablelist>
444
445</sect1>
446<sect1 id="XLC_XLOCALE_Category">
447<title>XLC_XLOCALE Category</title>
448<para>
449The XLC_XLOCALE category defines character classification, conversion
450and other character attributes.
451</para>
452
453<informaltable frame="topbot">
454  <?dbfo keep-together="always" ?>
455  <tgroup cols='3' align='left' colsep='0' rowsep='0'>
456  <colspec colname='c1' colwidth='3.0*'/>
457  <colspec colname='c2' colwidth='1.0*'/>
458  <colspec colname='c3' colwidth='3.0*'/>
459  <thead>
460    <row rowsep='1'>
461      <entry>class</entry>
462      <entry>super class</entry>
463      <entry>description</entry>
464    </row>
465  </thead>
466  <tbody>
467    <row>
468      <entry>encoding_name</entry>
469      <entry></entry>
470      <entry>codeset name</entry>
471    </row>
472    <row>
473      <entry>mb_cur_max</entry>
474      <entry></entry>
475      <entry>MB_CUR_MAX</entry>
476    </row>
477    <row>
478      <entry>state_depend_encoding</entry>
479      <entry></entry>
480      <entry>state dependent or not</entry>
481    </row>
482    <row>
483      <entry>wc_encoding_mask</entry>
484      <entry></entry>
485      <entry>for parsing wc string</entry>
486    </row>
487    <row>
488      <entry>wc_shift_bits</entry>
489      <entry></entry>
490      <entry>for conversion between wc and mb</entry>
491    </row>
492    <row>
493      <entry>csN</entry>
494      <entry></entry>
495      <entry>Nth charset (N=0,1,2,...)</entry>
496    </row>
497    <row>
498      <entry>side</entry>
499      <entry>csN</entry>
500      <entry>mapping side (GL, etc)</entry>
501    </row>
502    <row>
503      <entry>length</entry>
504      <entry>csN</entry>
505      <entry>length of a character</entry>
506    </row>
507    <row>
508      <entry>mb_encoding</entry>
509      <entry>csN</entry>
510      <entry>for parsing mb string</entry>
511    </row>
512    <row>
513      <entry>wc_encoding</entry>
514      <entry>csN</entry>
515      <entry>for parsing wc string</entry>
516    </row>
517    <row>
518      <entry>ct_encoding</entry>
519      <entry>csN</entry>
520      <entry>list of encoding name for ct</entry>
521    </row>
522  </tbody>
523  </tgroup>
524</informaltable>
525
526<variablelist>
527  <varlistentry>
528    <term>encoding_name</term>
529    <listitem>
530      <para>
531Specifies a codeset name of current locale.
532      </para>
533    </listitem>
534  </varlistentry>
535  <varlistentry>
536    <term>mb_cur_max</term>
537    <listitem>
538      <para>
539Specifies a maximum allowable number of bytes in a multi-byte character.
540It is corresponding to MB_CUR_MAX of "ISO/IEC 9899:1990 C Language Standard".
541      </para>
542    </listitem>
543  </varlistentry>
544  <varlistentry>
545    <term>state_depend_encoding</term>
546    <listitem>
547      <para>
548Indicates a current locale is state dependent. The value should be
549specified "True" or "False".
550      </para>
551    </listitem>
552  </varlistentry>
553  <varlistentry>
554    <term>wc_encoding_mask</term>
555    <listitem>
556      <para>
557Specifies a bit-mask for parsing wide-char string.  Each wide character is
558applied bit-and operation with this bit-mask, then is classified into
559the unique charset, by using 'wc_encoding'.
560      </para>
561    </listitem>
562  </varlistentry>
563  <varlistentry>
564    <term>wc_shift_bits</term>
565    <listitem>
566      <para>
567Specifies a number of bit to be shifted for converting from a multi-byte
568character to a wide character, and vice-versa.
569      </para>
570    </listitem>
571  </varlistentry>
572  <varlistentry>
573    <term>csN</term>
574    <listitem>
575      <para>
576<!-- .br -->
577Includes a character set information for Nth charset, where N is the
578index number (0,1,2,...).  If there are 4 charsets available in current
579locale, cs0, cs1, cs2 and cs3 should be defined. This class has five
580subclasses, 'side', 'length', 'mb_encoding' 'wc_encoding' and 'ct_encoding'.
581      </para>
582    </listitem>
583  </varlistentry>
584  <varlistentry>
585    <term>side</term>
586    <listitem>
587      <para>
588Specifies a mapping side of this charset. The format of this value is;
589      </para>
590      <literallayout>
591   Side    ::=  EncodingSide[":Default"]
592      </literallayout>
593      <para>
594The suffix ":Default" can be specified.  It indicates that a character
595belongs to the specified side is mapped to this charset in initial state.
596      </para>
597    </listitem>
598  </varlistentry>
599  <varlistentry>
600    <term>length</term>
601    <listitem>
602      <para>
603<!-- .br -->
604Specifies a number of bytes of a multi-byte character of this charset.
605It should not contain the length of any single-shift sequence.
606      </para>
607    </listitem>
608  </varlistentry>
609  <varlistentry>
610    <term>mb_encoding</term>
611    <listitem>
612      <para>
613Specifies a list of shift sequence for parsing multi-byte string.
614The format of this value is;
615      </para>
616<informaltable frame="none">
617  <?dbfo keep-together="always" ?>
618  <tgroup cols='3' align='left' colsep='0' rowsep='0'>
619  <colspec colname='c1' colwidth='3.0*'/>
620  <colspec colname='c2' colwidth='1.0*'/>
621  <colspec colname='c3' colwidth='5.0*'/>
622  <tbody>
623    <row>
624      <entry>MBEncoding</entry>
625      <entry>::=</entry>
626      <entry>ShiftType ShiftSequence</entry>
627    </row>
628    <row>
629      <entry></entry>
630      <entry>|</entry>
631      <entry>ShiftType ShiftSequence ";" MBEncoding</entry>
632    </row>
633    <row>
634      <entry>ShiftType</entry>
635      <entry>::=</entry>
636      <entry>"&lt;SS&gt;"|"&lt;LSL&gt;"|"&lt;LSR&gt;"</entry>
637    </row>
638    <row>
639      <entry>ShiftSequence</entry>
640      <entry>::=</entry>
641      <entry>SequenceValue|SequenceValue ShiftSequence</entry>
642    </row>
643    <row>
644      <entry>SequenceValue</entry>
645      <entry>::=</entry>
646      <entry>NumericString</entry>
647    </row>
648  </tbody>
649  </tgroup>
650</informaltable>
651
652      <literallayout>
653example:
654     &lt;LSL&gt; \x1b \x28 \x4a; &lt;LSL&gt; \x1b \x28 \x42
655      </literallayout>
656    </listitem>
657  </varlistentry>
658  <varlistentry>
659    <term>wc_encoding</term>
660    <listitem>
661      <para>
662Specifies an integer value for parsing wide-char string.
663It is used to determine the charset for each wide character, after
664applying bit-and operation using 'wc_encoding_mask'.
665This value should be unique in all csN classes.
666      </para>
667    </listitem>
668  </varlistentry>
669  <varlistentry>
670    <term>ct_encoding</term>
671    <listitem>
672      <para>
673Specifies a list of encoding information that can be used for Compound
674Text.
675      </para>
676    </listitem>
677  </varlistentry>
678</variablelist>
679</sect1>
680
681<sect1 id="Sample_of_X_Locale_Database">
682<title>Sample of X Locale Database</title>
683<para>
684The following is sample X Locale Database file.
685</para>
686
687<literallayout class="monospaced">
688#  XLocale Database Sample for ja_JP.euc
689#
690
691#
692#      XLC_FONTSET category
693#
694XLC_FONTSET
695#      fs0 class (7 bit ASCII)
696fs0     {
697        charset              ISO8859-1:GL
698        font                 ISO8859-1:GL; JISX0201.1976-0:GL
699}
700#      fs1 class (Kanji)
701fs1     {
702        charset              JISX0208.1983-0:GL
703        font                 JISX0208.1983-0:GL
704}
705#      fs2 class (Half Kana)
706fs2     {
707        charset              JISX0201.1976-0:GR
708        font                 JISX0201.1976-0:GR
709}
710#      fs3 class (User Defined Character)
711# fs3     {
712#        charset             JISX0212.1990-0:GL
713#        font                JISX0212.1990-0:GL
714# }
715END XLC_FONTSET
716
717#
718#      XLC_XLOCALE category
719#
720XLC_XLOCALE
721
722encoding_name             ja.euc
723mb_cur_max                3
724state_depend_encoding     False
725
726wc_encoding_mask          \x00008080
727wc_shift_bits             8
728
729#      cs0 class
730cs0     {
731        side                 GL:Default
732        length               1
733        wc_encoding          \x00000000
734        ct_encoding          ISO8859-1:GL; JISX0201.1976-0:GL
735}
736#      cs1 class
737cs1     {
738        side                 GR:Default
739        length               2
740
741        wc_encoding          \x00008080
742
743        ct_encoding          JISX0208.1983-0:GL; JISX0208.1983-0:GR;\
744                             JISX0208.1983-1:GL; JISX0208.1983-1:GR
745}
746
747#      cs2 class
748cs2     {
749        side                 GR
750        length               1
751        mb_encoding          &lt;SS&gt; \x8e
752
753        wc_encoding          \x00000080
754
755        ct_encoding          JISX0201.1976-0:GR
756}
757
758#      cs3 class
759# cs3     {
760#         side               GL
761#         length             2
762#         mb_encoding        &lt;SS&gt; \x8f
763# #if HasWChar32
764#         wc_encoding        \x20000000
765# #else
766#         wc_encoding        \x00008000
767# #endif
768#         ct_encoding        JISX0212.1990-0:GL; JISX0212.1990-0:GR
769# }
770
771END XLC_XLOCALE
772</literallayout>
773</sect1>
774
775<sect1 id="Reference">
776<title>Reference</title>
777<para>
778[1] <emphasis remap='I'>ISO/IEC 9899:1990 C Language Standard</emphasis>
779</para>
780<para>
781[2] <olink targetdoc='xlfd' targetptr='xlfd'><citetitle>X Logical Font Description Conventions</citetitle></olink>
782</para>
783
784</sect1>
785</chapter>
786</book>
787