PR target/27599
[official-gcc.git] / libjava / classpath / doc / unicode / ReadMe-2.1.1.txt
blob506f155a7623bc75ab16efceb05cd68c10fa26f8
1 \r
2 UNICODE 2.1 CHARACTER DATABASE\r
3 \r
4 Copyright (c) 1991-1998 Unicode, Inc.\r
5 All Rights reserved.\r
6 \r
7 DISCLAIMER\r
8 \r
9 The Unicode Character Database "UNIDAT21.TXT" is provided as-is by\r
10 Unicode, Inc. (The Unicode Consortium). No claims are made as to fitness for any\r
11 particular purpose. No warranties of any kind are expressed or implied. The\r
12 recipient agrees to determine applicability of information provided. If this\r
13 file has been purchased on magnetic or optical media from Unicode, Inc.,\r
14 the sole remedy for any claim will be exchange of defective media within\r
15 90 days of receipt.\r
17 This disclaimer is applicable for all other data files accompanying the\r
18 Unicode Character Database, some of which have been compiled by the\r
19 Unicode Consortium, and some of which have been supplied by other vendors.\r
21 LIMITATIONS ON RIGHTS TO REDISTRIBUTE THIS DATA\r
23 Recipient is granted the right to make copies in any form for internal\r
24 distribution and to freely use the information supplied in the creation of\r
25 products supporting the Unicode (TM) Standard. This file can be redistributed\r
26 to third parties or other organizations (whether for profit or not) as long\r
27 as this notice and the disclaimer notice are retained.\r
29 EXPLANATORY INFORMATION\r
31 The Unicode Character Database defines the default Unicode character\r
32 properties, and internal mappings. Particular implementations may choose to\r
33 override the properties and mappings that are not normative. If that is done,\r
34 it is up to the implementer to establish a protocol to convey that\r
35 information. For more information about character properties and mappings,\r
36 see "The Unicode Standard, Worldwide Character Encoding, Version 2.0",\r
37 published by Addison-Wesley. For information about other data files\r
38 accompanying the Unicode Character Database, see the section of the\r
39 Unicode Standard they were extracted from, or the explanatory readme\r
40 files and/or header sections with those files.\r
42 The Unicode Character Database has been updated to reflect Version 2.1\r
43 of the Unicode Standard, with two additional characters added to those\r
44 published in Version 2.0:\r
46    U+20AC EURO SIGN\r
47    U+FFFC OBJECT REPLACEMENT CHARACTER\r
49 A number of corrections have also been made to case mappings or other\r
50 errors in the database noted since the publication of Version 2.0. And\r
51 a few normative bidirectional properties have been modified to reflect\r
52 decisions of the Unicode Technical Committee.\r
54 The Unicode Character Database is a plain ASCII text file consisting of lines\r
55 containing fields terminated by semicolons. Each line represents the data for\r
56 one encoded character in the Unicode Standard, Version 2.1. Every encoded\r
57 character has a data entry, with the exception of certain special ranges, as\r
58 detailed below.\r
60 There are five special ranges of characters that are represented only by\r
61 their start and end characters, since the properties in the file are uniform,\r
62 except for code values (which are all sequential and assigned). The names of CJK\r
63 ideograph characters and Hangul syllable characters are algorithmically\r
64 derivable. (See the Unicode Standard for more information). Surrogate\r
65 characters and private use characters have no names.\r
67 The exact ranges represented by start and end characters are:\r
69    The CJK Ideographs Area (U+4E00 - U+9FFF)\r
70    The Hangul Syllables Area (U+AC00 - U+D7A3)\r
71    The Surrogates Area (U+D800 - U+DFFF)\r
72    The Private Use Area (U+E000 - U+F8FF)\r
73    CJK Compatibility Ideographs (U+F900 - U+FAFF)\r
75 The following table describes the format and meaning of each field in a\r
76 data entry in the Unicode Character Database. Fields which contain\r
77 normative information are so indicated.\r
79 Field   Explanation\r
80 -----   -----------\r
82   0     Code value in 4-digit hexadecimal format.\r
83         This field is normative.\r
85   1     Unicode 2.1 Character Name. These names match exactly the\r
86         names published in Chapter 7 of the Unicode Standard, Version\r
87         2.0, except for the two additional characters.\r
88         This field is normative.\r
90   2     General Category. This is a useful breakdown into various "character\r
91         types" which can be used as a default categorization in implementations.\r
92         Some of the values are normative, and some are informative.\r
93         See below for a brief explanation.\r
95   3     Canonical Combining Classes. The classes used for the\r
96         Canonical Ordering Algorithm in the Unicode Standard. These\r
97         classes are also printed in Chapter 4 of the Unicode Standard.\r
98         This field is normative. See below for a brief explanation.\r
100   4     Bidirectional Category. See the list below for an explanation of the\r
101         abbreviations used in this field. These are the categories required\r
102         by the Bidirectional Behavior Algorithm in the Unicode Standard.\r
103         These categories are summarized in Chapter 4 of the Unicode Standard.\r
104         This field is normative.\r
106   5     Character Decomposition. In the Unicode Standard, not all of\r
107         the decompositions are full decompositions. Recursive\r
108         application of look-up for decompositions will, in all cases, lead to\r
109         a maximal decomposition. The decompositions match exactly the\r
110         decompositions published with the character names in Chapter 7\r
111         of the Unicode Standard. This field is normative.\r
113   6     Decimal digit value. This is a numeric field. If the character\r
114         has the decimal digit property, as specified in Chapter 4 of\r
115         the Unicode Standard, the value of that digit is represented\r
116         with an integer value in this field. This field is normative.\r
118   7     Digit value. This is a numeric field. If the character represents a\r
119         digit, not necessarily a decimal digit, the value is here. This\r
120         covers digits which do not form decimal radix forms, such as the\r
121         compatibility superscript digits. This field is informative.\r
123   8     Numeric value. This is a numeric field. If the character has the\r
124         numeric property, as specified in Chapter 4 of the Unicode\r
125         Standard, the value of that character is represented with an\r
126         integer or rational number in this field. This includes fractions as,\r
127         e.g., "1/5" for U+2155 VULGAR FRACTION ONE FIFTH.\r
128         Also included are numerical values for compatibility characters\r
129         such as circled numbers. This field is normative.\r
131   9     If the characters has been identified as a "mirrored" character in\r
132         bidirectional text, this field has the value "Y"; otherwise "N".\r
133         The list of mirrored characters is also printed in Chapter 4 of\r
134         the Unicode Standard. This field is normative.\r
136  10     Unicode 1.0 Name. This is the old name as published in Unicode 1.0.\r
137         This name is only provided when it is significantly different from\r
138         the Unicode 2.1 name for the character. This field is informative.\r
140  11     10646 Comment field. This field is informative.\r
142  12     Upper case equivalent mapping. If a character is part of an\r
143         alphabet with case distinctions, and has an upper case equivalent,\r
144         then the upper case equivalent is in this field. See the explanation\r
145         below on case distinctions. These mappings are always one-to-one,\r
146         not one-to-many or many-to-one. This field is informative.\r
148  13     Lower case equivalent mapping. Similar to 12. This field is informative.\r
150  14     Title case equivalent mapping. Similar to 12. This field is informative.\r
152 GENERAL CATEGORY\r
154 The values in this field are abbreviations for the following. Some of the\r
155 values are normative, and some are informative. For more information, see\r
156 the Unicode Standard. Note: the standard does not assign information to\r
157 control characters (except for TAB in the Bidirectonal Algorithm).\r
158 Implementations will generally also assign categories to certain control\r
159 characters, notably CR and LF, according to platform conventions.\r
162 Normative\r
163     Mn = Mark, Non-Spacing\r
164     Mc = Mark, Spacing Combining\r
165     Me = Mark, Enclosing\r
167     Nd = Number, Decimal Digit\r
168     Nl = Number, Letter\r
169     No = Number, Other\r
171     Zs = Separator, Space\r
172     Zl = Separator, Line\r
173     Zp = Separator, Paragraph\r
175     Cc = Other, Control\r
176     Cf = Other, Format\r
177     Cs = Other, Surrogate\r
178     Co = Other, Private Use\r
179     Cn = Other, Not Assigned\r
181 Informative\r
182     Lu = Letter, Uppercase\r
183     Ll = Letter, Lowercase\r
184     Lt = Letter, Titlecase\r
185     Lm = Letter, Modifier\r
186     Lo = Letter, Other\r
188     Pc = Punctuation, Connector\r
189     Pd = Punctuation, Dash\r
190     Ps = Punctuation, Open\r
191     Pe = Punctuation, Close\r
192     Po = Punctuation, Other\r
194     Sm = Symbol, Math\r
195     Sc = Symbol, Currency\r
196     Sk = Symbol, Modifier\r
197     So = Symbol, Other\r
199 BIDIRECTIONAL PROPERTIES\r
201 Please refer to the Unicode Standard for an explanation of the algorithm for\r
202 Bidirectional Behavior and an explanation of the sigificance of these categories.\r
203 These values are normative.\r
205 Strong types:\r
206         L       Left-Right; Most alphabetic, syllabic, and logographic\r
207                         characters (e.g., CJK ideographs)\r
208         R       Right-Left; Arabic, Hebrew, and\r
209                         punctuation specific to those scripts\r
210 Weak types:\r
211         EN      European Number\r
212         ES      European Number Separator\r
213         ET      European Number Terminator\r
214         AN      Arabic Number\r
215         CS      Common Number Separator\r
217 Separators:\r
218         B       Block Separator\r
219         S       Segment Separator\r
221 Neutrals:\r
222         WS      Whitespace\r
223         ON      Other Neutrals ; All other characters: punctuation, symbols\r
225 CHARACTER DECOMPOSITION TAGS\r
227 The decomposition is a normative property of a character. The tags supplied\r
228 with certain decompositions generally indicate formatting information.\r
229 Where no such tag is given, the decomposition is designated as canonical.\r
230 Conversely, the presence of a formatting tag also indicates\r
231 that the decomposition is a compatibility decomposition and not a canonical\r
232 decomposition. In the absence of other formatting information in a\r
233 compatibility decomposition, the tag <compat> is used to distinguish it from\r
234 canonical decompositions.\r
236 In some instances a canonical decomposition or a compatibility decomposition\r
237 may consist of a single character. For a canonical decomposition, this\r
238 indicates that the character is a canonical equivalent of another single\r
239 character. For a compatibility decomposition, this indicates that the\r
240 character is a compatibility equivalent of another single character.\r
242 The compatibility formatting tags used are:\r
244         <font>          A font variant (e.g. a blackletter form).\r
245         <noBreak>       A no-break version of a space or hyphen.\r
246         <initial>       An initial presentation form (Arabic).\r
247         <medial>        A medial presentation form (Arabic).\r
248         <final>         A final presentation form (Arabic).\r
249         <isolated>      An isolated presentation form (Arabic).\r
250         <circle>        An encircled form.\r
251         <super>         A superscript form.\r
252         <sub>           A subscript form.\r
253         <vertical>      A vertical layout presentation form.\r
254         <wide>          A wide (or zenkaku) compatibility character.\r
255         <narrow>        A narrow (or hankaku) compatibility character.\r
256         <small>         A small variant form (CNS compatibility).\r
257         <square>        A CJK squared font variant.\r
258         <fraction>      A vulgar fraction form.\r
259         <compat>        Otherwise unspecified compatibility character.\r
261 CANONICAL COMBINING CLASSES\r
263   0: Spacing, enclosing, reordrant, and surrounding\r
264   1: Overlays and interior\r
265   6: Tibetan subjoined Letters\r
266   7: Nuktas\r
267   8: Hiragana/Katakana voiced marks\r
268   9: Viramas\r
269  10: Start of fixed position classes\r
270 199: End of fixed position classes\r
271 200: Below left attached\r
272 202: Below attached\r
273 204: Below right attached\r
274 208: Left attached (reordrant around single base character)\r
275 210: Right attached\r
276 212: Above left attached\r
277 214: Above attached\r
278 216: Above right attached\r
279 218: Below left\r
280 220: Below\r
281 222: Below right\r
282 224: Left (reordrant around single base character)\r
283 226: Right\r
284 228: Above left\r
285 230: Above\r
286 232: Above right\r
287 234: Double above\r
289 Note: some of the combining classes in this list do not currently have\r
290 members but are specified here for completeness.\r
292 CASE MAPPINGS\r
294 In addition to uppercase and lowercase, because of the inclusion of certain\r
295 composite characters for compatibility, such as "01F1;LATIN CAPITAL LETTER\r
296 DZ", there is a third case, called titlecase, which is used where the first\r
297 character of a word is to be capitalized (e.g. UPPERCASE, Titlecase,\r
298 lowercase). An example of such a character is "01F2;LATIN CAPITAL LETTER D\r
299 WITH SMALL LETTER Z".\r
301 The uppercase, titlecase and lowercase fields are only included for characters\r
302 that have a single corresponding character of that type. Composite characters\r
303 (such as "339D;SQUARE CM") that do not have a single corresponding character\r
304 of that type can be cased by decomposition.\r
306 The case mapping is an informative, default mapping. Certain languages, such\r
307 as Turkish, German, French, or Greek may have small deviations from the\r
308 default mappings listed in the Unicode Character Database.\r
310 MODIFICATION HISTORY\r
312 Modifications made in updating the Unicode Character Database for\r
313 the Unicode Standard, Version 2.1 (from Version 2.0) are:\r
314 * Added two characters (U+20AC and U+FFFC).\r
315 * Amended bidi properties for U+0026, U+002E, U+0040, U+2007.\r
316 * Corrected case mappings for U+018E, U+019F, U+01DD, U+0258, U+0275,\r
317         U+03C2, U+1E9B.\r
318 * Changed combining order class for U+0F71.\r
319 * Corrected canonical decompositions for U+0F73, U+1FBE.\r
320 * Changed decomposition for U+FB1F from compatibility to canonical.\r
321 * Added compatibility decompositions for U+FBE8, U+FBE9, U+FBF9..U+FBFB.\r
322 * Corrected compatibility decompositions for U+2469, U+246A, U+3358.\r
325 Some of the modifications made in updating the Unicode Character Database\r
326 for the Unicode Standard, Version 2.0 are:\r
327 * Fixed decompositions with TONOS to use correct NSM: 030D.\r
328 * Removed old Hangul Syllables; mapping to new characters are\r
329         in a separate table.\r
330 * Marked compability decompositions with additional tags.\r
331 * Changed old tag names for clarity.\r
332 * Revision of decompositions to use first-level decomposition, instead\r
333         of maximal decomposition.\r
334 * Correction of all known errors in decompositions from earlier versions.\r
335 * Added control code names (as old Unicode names).\r
336 * Added Hangul Jamo decompositions.\r
337 * Added Number category to match properties list in book.\r
338 * Fixed categories of Koranic Arabic marks.\r
339 * Fixed categories of precomposed characters to match decomposition where possible.\r
340 * Added Hebrew cantillation marks and the Tibetan script.\r
341 * Added place holders for ranges such as CJK Ideographic Area and the\r
342         Private Use Area.\r
343 * Added categories Me, Sk, Pc, Nl, Cs, Cf, and rectified a number of mistakes in the\r
344         database.\r