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