Update.
[libidn.git] / doc / specifications / draft-hoffman-rfc3454bis-01.txt
blobb2bed436e91f6aad541c478dd0d4428b1392fe55
1 draft-hoffman-rfc3454bis-01.txt                               P. Hoffman
2 October 8, 2003                                               IMC & VPNC
3 Expires in six months                                        M. Blanchet
4                                                                 Viagenie
6         Preparation of Internationalized Strings ("stringprep")
8 Abstract
10    This document describes a framework for preparing Unicode text
11    strings in order to increase the likelihood that string input and
12    string comparison work in ways that make sense for typical users
13    throughout the world.  The stringprep protocol is useful for protocol
14    identifier values, company and personal names, internationalized
15    domain names, and other text strings.
17    This document does not specify how protocols should prepare text
18    strings.  Protocols must create profiles of stringprep in order to
19    fully specify the processing options.
21 Table of Contents
23    1. Introduction....................................................3
24      1.1 Terminology..................................................4
25      1.2 Using stringprep in protocols................................4
26    2. Preparation Overview............................................6
27    3. Mapping.........................................................7
28      3.1 Commonly mapped to nothing...................................7
29      3.2 Case folding.................................................8
30    4. Normalization...................................................9
31    5. Prohibited Output..............................................10
32      5.1 Space characters............................................11
33      5.2 Control characters..........................................11
34      5.3 Private use.................................................12
35      5.4 Non-character code points...................................12
36      5.5 Surrogate codes.............................................13
37      5.6 Inappropriate for plain text................................13
38      5.7 Inappropriate for canonical representation..................13
39      5.8 Change display properties or deprecated.....................13
40      5.9 Tagging characters..........................................14
41    6. Bidirectional Characters.......................................14
42    7. Unassigned Code Points in Stringprep Profiles..................15
43      7.1 Categories of code points...................................16
44      7.2 Reasons for difference between stored strings and queries...17
45      7.3 Versions of applications and stored strings.................18
46    8. References.....................................................19
47      8.1 Normative references........................................19
48      8.2 Informative references......................................19
49    9. Security Considerations........................................19
50      9.1 Stringprep-specific security considerations.................19
51      9.2 Generic Unicode security considerations.....................20
52    10. IANA Considerations...........................................21
53    11. Acknowledgements..............................................22
54    A. Unicode Repertoires............................................23
55      A.1 Unassigned code points in Unicode 3.2.......................23
56    B. Mapping Tables.................................................31
57      B.1 Commonly mapped to nothing..................................31
58      B.2 Mapping for case-folding used with NFKC.....................32
59      B.3 Mapping for case-folding used with no normalization.........61
60    C. Prohibition Tables.............................................78
61      C.1 Space characters............................................78
62        C.1.1 ASCII space characters..................................78
63        C.1.2 Non-ASCII space characters..............................79
64      C.2 Control characters..........................................79
65        C.2.1 ASCII control characters................................79
66        C.2.2 Non-ASCII control characters............................79
67      C.3 Private use.................................................80
68      C.4 Non-character code points...................................80
69      C.5 Surrogate codes.............................................80
70      C.6 Inappropriate for plain text................................80
71      C.7 Inappropriate for canonical representation..................81
72      C.8 Change display properties or are deprecated.................81
73      C.9 Tagging characters..........................................81
74    D. Bidirectional Tables...........................................81
75      D.1 Characters with bidirectional property "R" or "AL"..........81
76      D.2 Characters with bidirectional property "L"..................82
77    E. Changes from RFC 3454
78    Authors' Addresses................................................90
79    Full Copyright Statement..........................................91
81 1. Introduction
83    Application programs can display text in many different ways.
84    Similarly, a user can enter text into an application program in a
85    myriad of fashions.  Internationalized text (that is, text that is
86    not restricted to the narrow set of US-ASCII characters) has many
87    input and display behaviors that make it difficult to compare text in
88    a consistent fashion.
90    This document specifies a framework of processing rules for Unicode
91    text.  Other protocols can create profiles of these rules; these
92    profiles will allow users to enter internationalized text strings in
93    applications and have the highest chance of getting the content of
94    the strings correct.  In this case, "correct" means that if two
95    different people enter what they think is the same string into two
96    different input mechanisms, the strings should match on a character-
97    by-character basis.
99    This framework does not describe how data is transcoded from other
100    character sets into Unicode.  In systems that uses non-Unicode
101    character sets, the transcoding algorithm is a critical part of
102    enabling secure and "correct" operation of internationalized text
103    strings.
105    In addition to helping string matching, profiles of stringprep can
106    also exclude characters that should not normally appear in text that
107    is used in the protocol.  The profile can prevent such characters by
108    changing the characters to be excluded to other characters, by
109    removing those characters, or by causing an error if the characters
110    would appear in the output.  For example, because the backspace
111    character can cause unpredictable display results, a profile can
112    specify that a string containing a backspace character would cause an
113    error.
115    A profile of stringprep converts a single string of input characters
116    to a string of output characters, or returns an error if the output
117    string would contain a prohibited character.  Stringprep profiles
118    cannot both emit a string and return an error.
120    Stringprep profiles cannot account for all of the variations that
121    might occur or that a user might expect.  In particular, a profile
122    will not be able to account for choice of spellings in all languages
123    for all scripts because the number of alternative spellings of words
124    and phrases is immense.  Users would probably expect all spelling
125    equivalents to be made equivalent, or none of them to be.  Examples
126    of spelling equivalents include "theater" vs. "theatre", and
127    "hemoglobin" vs. "h<U+00E6>moglobin" in American vs. British English.
128    Other examples are simplified Chinese spellings of names (for
129    example,"<U+7EDF><U+4E00><U+7801>") vs. the equivalent traditional
130    Chinese spelling (for example, "<U+7D71><U+4E00><U+78BC>").
131    Language-specific equivalences such as "Aepfel" vs. "<U+00C4>pfel",
132    which are sometimes considered equivalent in German, may not be
133    considered equivalent in other languages.
135 1.1 Terminology
137    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
138    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
139    document are to be interpreted as described in BCP 14, RFC 2119
140    [RFC2119].
142    Note: A glossary of terms used in Unicode and ISO/IEC 10646 can be
143    found in [Glossary].  Information on the 10646/Unicode character
144    encoding model can be found in [CharModel].
146    Character names in this document use the notation for code points and
147    names from the Unicode Standard [Unicode3.2] and ISO/IEC 10646
148    [ISO10646].  For example, the letter "a" may be represented as either
149    "U+0061" or "LATIN SMALL LETTER A".  In the lists of mappings and the
150    prohibited characters, the "U+" is left off to make the lists easier
151    to read.  The comments for character ranges are shown in square
152    brackets (such as "[CONTROL CHARACTERS]") and do not come from the
153    standards.
155 1.2 Using stringprep in protocols
157    The stringprep protocol does not stand on its own; it has to be used
158    by other protocols at precisely-defined places in those other
159    protocols.  For example, a protocol that has strings that come from
160    the entire ISO/IEC 10646 [ISO10646] character repertoire might
161    specify that only strings that have been processed with a particular
162    profile of stringprep are legal.  Another example would be a protocol
163    that does string comparison as a step in the protocol; that protocol
164    might specify that such comparison is done only after processing the
165    strings with a specific profile of stringprep.
167    When two protocols that use different profiles of stringprep
168    interoperate, there may be conflict about what characters are and are
169    not allowed in the final string.  Thus, protocol developers should
170    strongly consider re-using existing profiles of stringprep.
172    When developers wish to allow users as wide of a range of characters
173    as possible in input text strings, they should, where possible, cause
174    stringprep to convert characters from the input string to a canonical
175    form instead of prohibiting them.
177    Although it would be easy to use the stringprep process to "correct"
178    perceived mis-features or bugs in the current character standards,
179    stringprep profiles SHOULD NOT do so.
181    A profile of stringprep can create tables different from those in the
182    appendixes of this document, but it will be an exception when they
183    do.  The intention of stringprep is to define the tables and have the
184    profiles of stringprep select among those defined tables.
186    A profile of stringprep MUST include all of the following:
188    - The intended applicability of the profile
190    - The character repertoire that is the input and output to stringprep
191      (which is Unicode 3.2 for this version of stringprep)
193    - The mapping tables from this document used (as described in section
194      3)
196    - Any additional mapping tables specific to the profile
198    - The Unicode normalization used, if any (as described in section 4)
200    - The tables from this document of characters that are prohibited as
201      output (as described in section 5)
203    - The bidirectional string testing used, if any (as described in
204      section 6)
206    - Any additional characters that are prohibited as output specific to
207      the profile
209    Each profile MUST state the character repertoire on which the profile
210    will operate.  Appendix A lists the Unicode repertoires that can be
211    selected.  No repertoire is ever complete, and it is expected that
212    characters will be added to the Unicode repertoire for the
213    foreseeable future.  Section 7 of this document describes how to
214    handle characters that are assigned in later versions of the Unicode
215    repertories.  Subsections of appendix A also list unassigned code
216    points for each repertoire.
218    This document is for Unicode version 3.2, and should not be
219    considered to automatically apply to later Unicode versions.  The
220    IETF, through an explicit standards action, may update this document
221    as appropriate to handle later Unicode versions.
223    This document lists the unassigned code points in the range 0 to
224    10FFFF for Unicode 3.2 in appendix A.  The list in appendix A MUST be
225    used by implementations of this specification.  If there are any
226    discrepancies between the list in appendix A and the Unicode 3.2
227    specification, the list in appendix A always takes precedence.
229    Each profile of stringprep MUST be registered with IANA.  The
230    registration procedure is described in the IANA Considerations
231    appendix; basically, the IESG must review each profile of stringprep.
232    Protocol developers are strongly encouraged to look through the IANA
233    profile registry when creating new profiles for stringprep, and to
234    re-use logic from earlier profiles where possible in new profiles.
235    In some cases, an existing profile can be reused by a different
236    protocol.
238 2. Preparation Overview
240    The steps for preparing strings are:
242    1) Map -- For each character in the input, check if it has a mapping
243       and, if so, replace it with its mapping.  This is described in
244       section 3.
246    2) Normalize -- Possibly normalize the result of step 1 using Unicode
247       normalization.  This is described in section 4.
249    3) Prohibit -- Check for any characters that are not allowed in the
250       output.  If any are found, return an error.  This is described in
251       sections 5 and 7.
253    4) Check bidi -- Possibly check for right-to-left characters, and if
254       any are found, make sure that the whole string satisfies the
255       requirements for bidirectional strings.  If the string does not
256       satisfy the requirements for bidirectional strings, return an
257       error.  This is described in section 6.
259    The above steps MUST be performed in the order given to comply with
260    this specification.
262    The mappings described in section 3, and the optional Unicode
263    normalization described in section 4, can be one-to-none, one-to-one,
264    one-to-many, many-to-one, or many-to-many.  That is, some characters
265    might be eliminated or replaced by more than one character, and the
266    output of this step might be shorter or longer than the input.
267    Because of this, the system using stringprep MUST be prepared to
268    receive a longer or shorter string than the one input in the
269    stringprep algorithm.
271 3. Mapping
273    Each character in the input stream MUST be checked against a mapping
274    table.  The mapping table SHOULD come from this document, although
275    the mapping table MAY be added to or altered by the profile.  The
276    mapping tables are subsections of appendix B.
278    The lists in appendix B MUST be used by implementations of this
279    specification.  If there are any discrepancies between the lists in
280    appendix B and subsections below, the lists in appendix B always
281    takes precedence.
283    For any individual character, the mapping table MAY specify that a
284    character be mapped to nothing, or mapped to one other character, or
285    mapped to a string of other characters.
287    Mapped characters are not re-scanned during the mapping step.  That
288    is, if character A at position X is mapped to character B, character
289    B which is now at position X is not checked against the mapping
290    table.
292 3.1 Commonly mapped to nothing
294    The following characters are simply deleted from the input (that is,
295    they are mapped to nothing) because their presence or absence in
296    protocol identifiers should not make two strings different.  They are
297    listed in Table B.1.
299    Some characters are only useful in line-based text, and are otherwise
300    invisible and ignored.
302    00AD; SOFT HYPHEN
303    1806; MONGOLIAN TODO SOFT HYPHEN
304    200B; ZERO WIDTH SPACE
305    2060; WORD JOINER
306    FEFF; ZERO WIDTH NO-BREAK SPACE
308    Some characters affect glyph choice and glyph placement, but do not
309    bear semantics.
311    034F; COMBINING GRAPHEME JOINER
312    180B; MONGOLIAN FREE VARIATION SELECTOR ONE
313    180C; MONGOLIAN FREE VARIATION SELECTOR TWO
314    180D; MONGOLIAN FREE VARIATION SELECTOR THREE
315    200C; ZERO WIDTH NON-JOINER
316    200D; ZERO WIDTH JOINER
317    FE00; VARIATION SELECTOR-1
318    FE01; VARIATION SELECTOR-2
319    FE02; VARIATION SELECTOR-3
320    FE03; VARIATION SELECTOR-4
321    FE04; VARIATION SELECTOR-5
322    FE05; VARIATION SELECTOR-6
323    FE06; VARIATION SELECTOR-7
324    FE07; VARIATION SELECTOR-8
325    FE08; VARIATION SELECTOR-9
326    FE09; VARIATION SELECTOR-10
327    FE0A; VARIATION SELECTOR-11
328    FE0B; VARIATION SELECTOR-12
329    FE0C; VARIATION SELECTOR-13
330    FE0D; VARIATION SELECTOR-14
331    FE0E; VARIATION SELECTOR-15
332    FE0F; VARIATION SELECTOR-16
334 3.2 Case folding
336    If a profile is going to map characters for case-insensitive
337    comparison, that profile SHOULD map using either appendix B.2 or
338    appendix B.3.  appendix B.2 is for profiles that also use Unicode
339    normalization form KC, while appendix  B.3 is for profiles that do
340    not use Unicode normalization.  These tables map from uppercase to
341    lowercase characters.  Note that this could have been "change all
342    lowercase characters into uppercase characters".  However, the
343    upper-to-lower folding was chosen because there is a tradition of
344    using lowercase in current Internet applications and protocols.
346    If a profile creates its own mapping tables for case folding, they
347    SHOULD be based on [UTR21], and SHOULD map from uppercase characters
348    to lowercase.  The "CaseFolding.txt" file from the Unicode database
349    SHOULD be used to prepare the mapping table. The profile SHOULD do
350    full case mapping (that is, using statuses C, F, and I).
352    If the profile is using Unicode normalization form KC (as described
353    in section 4 of this document), it is important to note that there
354    are some characters that do not have mappings in [UTR21] but still
355    need processing.  These characters include a few Greek characters and
356    many symbols that contain Latin characters.  The list of characters
357    to add to the mapping table can determined by the following
358    algorithm:
360    b = NormalizeWithKC(Fold(a));
361    c = NormalizeWithKC(Fold(b));
362    if c is not the same as b, add a mapping for "a to c".
364    Because NormalizeWithKC(Fold(c)) always equals c, the table is stable
365    from that point on.
367    Appendix B.3 is derived from the CaseFolding-3.txt file associated
368    with Unicode 3.2; appendix B.2 is based on appendix B.3 with the
369    additional characters added from the algorithm above.
371    Authors of profiles of this document need to consider the effects of
372    changing the mapping of any currently-assigned character when
373    updating their profiles.  Adding a new mapping for a currently-
374    assigned character, or changing an existing mapping, could cause a
375    variance between the behavior of systems that have been updated and
376    systems that have not been updated.
378 4. Normalization
380    The output of the mapping step is optionally normalized using one of
381    the Unicode normalization forms, as described in [UAX15].  A profile
382    can specify one of two options for Unicode normalization:
384    - no normalization
386    - Unicode normalization with form KC
388    A profile MAY choose to do no normalization.  However, such a profile
389    can easily yield results that will be surprising to typical users,
390    depending on the input mechanism they use.  For example, some input
391    mechanisms enter compatibility characters that look exactly like the
392    underlying characters, but have different code points.  Another
393    example of where Unicode normalization helps create predictable
394    results is with characters that have multiple combining diacritics:
395    normalization orders those diacritics in a predictable fashion.
397    On the other hand, Unicode normalization requires fairly large tables
398    and somewhat complicated character reordering logic.  The size and
399    complexity should not be considered daunting except in the most
400    restricted of environments, and needs to be weighed against the
401    problems of user surprise from comparing unnormalized strings.  Note
402    that the tables used for normalization are not given in this
403    document, but instead must be derived from the Unicode database, as
404    described in [UAX15].
406    There is a third form of normalization, Unicode normalization with
407    form C.  If a profile is going to use a Unicode normalization, it
408    MUST use Unicode normalization form KC.  Form KC maps many
409    "compatibility characters" to their equivalents.  Some user interface
410    systems make it possible to enter compatibility characters instead of
411    the base equivalents.  Thus, using form KC instead of form C will
412    cause more strings that users would expect to match to actually
413    match.
415    A profile that specifies Unicode normalization MUST use the
416    normalization in [UAX15] that is associated with the version of the
417    Unicode character set specified for the profile.
419    The composition process described in [UAX15] requires a fixed
420    composition version of Unicode to ensure that strings normalized
421    under one version of Unicode remain normalized under all future
422    versions of Unicode.
424    The IETF is relying on Unicode not to change the normalization of
425    currently-assigned characters in future versions of normalization.
426    If a future version of the normalization tables changes the
427    normalized value of an existing character, authors of profiles of
428    this document have to look at the changes very carefully before they
429    update their normalization tables.  Such a change could cause a
430    variance between the behavior of systems that have been updated and
431    systems that have not been updated.
433 5. Prohibited Output
435    Before the text can be emitted, it MUST be checked for prohibited
436    code points.  There are a variety of prohibited code points, as
437    described in this section.  A profile of this document MAY use all or
438    some of the tables in appendix C.
440    The stringprep process never emits both an error and a string.  If an
441    error is detected during the checking for prohibited code points,
442    only an error is returned.
444    Note that the subsections below describe how the tables in appendix C
445    were formed.  They are here for people who want to understand more,
446    but they should be ignored by implementors.  Implementations that use
447    tables MUST map based on the tables themselves, not based on the
448    descriptions in this section of how the tables were created.
450    The lists in appendix C MUST be used by implementations of this
451    specification.  If there are any discrepancies between the lists in
452    appendix C and subsections below, the lists in appendix C always take
453    precedence.
455    Some code points listed in one section may also appear in other
456    sections.
458    It is important to note that a profile of this document MAY prohibit
459    additional characters.
461    Each subsection of this section has a matching subsection in appendix
462    C.  For example, the characters listed in section 5.1 are listed in
463    appendix C.1.
465 5.1 Space characters
467    Space characters can make accurate visual transcription of strings
468    nearly impossible and could lead to user entry errors in many ways.
469    Note that the list below is split into two tables in appendix C:
470    Table C.1.1 contains the ASCII code points, while Table C.1.2
471    contains the non-ASCII code points.  Most profiles of this document
472    that want to prohibit space characters will want to include both
473    tables.
475    0020; SPACE
476    00A0; NO-BREAK SPACE
477    1680; OGHAM SPACE MARK
478    2000; EN QUAD
479    2001; EM QUAD
480    2002; EN SPACE
481    2003; EM SPACE
482    2004; THREE-PER-EM SPACE
483    2005; FOUR-PER-EM SPACE
484    2006; SIX-PER-EM SPACE
485    2007; FIGURE SPACE
486    2008; PUNCTUATION SPACE
487    2009; THIN SPACE
488    200A; HAIR SPACE
489    200B; ZERO WIDTH SPACE
490    202F; NARROW NO-BREAK SPACE
491    205F; MEDIUM MATHEMATICAL SPACE
492    3000; IDEOGRAPHIC SPACE
494 5.2 Control characters
496    Control characters (or characters with control function) cannot be
497    seen and can cause unpredictable results when displayed.  Note that
498    the list below is split into two tables in appendix C: Table C.2.1
499    contains the ASCII code points, while Table C.2.2 contains the non-
500    ASCII code points.  Most profiles of this document that want to
501    prohibit control characters will want to include both tables.
503    0000-001F; [CONTROL CHARACTERS]
504    007F; DELETE
505    0080-009F; [CONTROL CHARACTERS]
506    06DD; ARABIC END OF AYAH
507    070F; SYRIAC ABBREVIATION MARK
508    180E; MONGOLIAN VOWEL SEPARATOR
509    200C; ZERO WIDTH NON-JOINER
510    200D; ZERO WIDTH JOINER
511    2028; LINE SEPARATOR
512    2029; PARAGRAPH SEPARATOR
513    2060; WORD JOINER
514    2061; FUNCTION APPLICATION
515    2062; INVISIBLE TIMES
516    2063; INVISIBLE SEPARATOR
517    206A-206F; [CONTROL CHARACTERS]
518    FEFF; ZERO WIDTH NO-BREAK SPACE
519    FFF9-FFFC; [CONTROL CHARACTERS]
520    1D173-1D17A; [MUSICAL CONTROL CHARACTERS]
522 5.3 Private use
524    Because private-use characters do not have defined meanings, they are
525    likely to be prohibited.  The private-use characters are:
527    E000-F8FF; [PRIVATE USE, PLANE 0]
528    F0000-FFFFD; [PRIVATE USE, PLANE 15]
529    100000-10FFFD; [PRIVATE USE, PLANE 16]
531 5.4 Non-character code points
533    Non-character code points are code points that have been allocated in
534    ISO/IEC 10646 but are not characters.  Because they are already
535    assigned, they are guaranteed not to later change into characters.
537    FDD0-FDEF; [NONCHARACTER CODE POINTS]
538    FFFE-FFFF; [NONCHARACTER CODE POINTS]
539    1FFFE-1FFFF; [NONCHARACTER CODE POINTS]
540    2FFFE-2FFFF; [NONCHARACTER CODE POINTS]
541    3FFFE-3FFFF; [NONCHARACTER CODE POINTS]
542    4FFFE-4FFFF; [NONCHARACTER CODE POINTS]
543    5FFFE-5FFFF; [NONCHARACTER CODE POINTS]
544    6FFFE-6FFFF; [NONCHARACTER CODE POINTS]
545    7FFFE-7FFFF; [NONCHARACTER CODE POINTS]
546    8FFFE-8FFFF; [NONCHARACTER CODE POINTS]
547    9FFFE-9FFFF; [NONCHARACTER CODE POINTS]
548    AFFFE-AFFFF; [NONCHARACTER CODE POINTS]
549    BFFFE-BFFFF; [NONCHARACTER CODE POINTS]
550    CFFFE-CFFFF; [NONCHARACTER CODE POINTS]
551    DFFFE-DFFFF; [NONCHARACTER CODE POINTS]
552    EFFFE-EFFFF; [NONCHARACTER CODE POINTS]
553    FFFFE-FFFFF; [NONCHARACTER CODE POINTS]
554    10FFFE-10FFFF; [NONCHARACTER CODE POINTS]
556    The non-character code points are listed in the PropList.txt file
557    from the Unicode database.
559 5.5 Surrogate codes
561    The following code points are permanently reserved for use as
562    surrogate code values in the UTF-16 encoding, will never be assigned
563    to characters in the Unicode repertoire, and are therefore
564    prohibited:
566    D800-DFFF; [SURROGATE CODES]
568 5.6 Inappropriate for plain text
570    The following characters do not appear in regular text.
572    FFF9; INTERLINEAR ANNOTATION ANCHOR
573    FFFA; INTERLINEAR ANNOTATION SEPARATOR
574    FFFB; INTERLINEAR ANNOTATION TERMINATOR
575    FFFC; OBJECT REPLACEMENT CHARACTER
577    Although the replacement character (U+FFFD) might be used when a
578    string is displayed,  it doesn't make sense for it to be part of the
579    string itself.  It is often displayed by renderers to indicate "there
580    would be some character here, but it cannot be rendered".  For
581    example, on a computer with no Asian fonts, a string with three
582    ideographs might be rendered with three replacement characters.
584    FFFD; REPLACEMENT CHARACTER
586 5.7 Inappropriate for canonical representation
588    The ideographic description characters allow different sequences of
589    characters to be rendered the same way, which makes them
590    inappropriate for strings that have to have a single canonical
591    representation.
593    2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
595 5.8 Change display properties or are deprecated
597    The following characters can cause changes in display or the order in
598    which characters appear when rendered, or are deprecated in Unicode.
600    0340; COMBINING GRAVE TONE MARK
601    0341; COMBINING ACUTE TONE MARK
602    200E; LEFT-TO-RIGHT MARK
603    200F; RIGHT-TO-LEFT MARK
604    202A; LEFT-TO-RIGHT EMBEDDING
605    202B; RIGHT-TO-LEFT EMBEDDING
606    202C; POP DIRECTIONAL FORMATTING
607    202D; LEFT-TO-RIGHT OVERRIDE
608    202E; RIGHT-TO-LEFT OVERRIDE
609    206A; INHIBIT SYMMETRIC SWAPPING
610    206B; ACTIVATE SYMMETRIC SWAPPING
611    206C; INHIBIT ARABIC FORM SHAPING
612    206D; ACTIVATE ARABIC FORM SHAPING
613    206E; NATIONAL DIGIT SHAPES
614    206F; NOMINAL DIGIT SHAPES
616 5.9 Tagging characters
618    The following characters are used for tagging text and are invisible.
620    E0001; LANGUAGE TAG
621    E0020-E007F; [TAGGING CHARACTERS]
623 6. Bidirectional Characters
625    Most characters are displayed from left to right, but some are
626    displayed from right to left.  This feature of Unicode is called
627    "bidirectional text", or "bidi" for short.  The Unicode standard has
628    an extensive discussion of how to reorder glyphs for display when
629    dealing with bidirectional text such as Arabic or Hebrew.  See [UAX9]
630    for more information.  In particular, all Unicode text is stored in
631    logical order.
633    A profile MAY choose to ignore bidirectional text.  However, ignoring
634    bidirectional text can cause display ambiguities.  For example, it is
635    quite easy to create two different strings with the same characters
636    (but in different order) that are correctly displayed identically.
637    Therefore, in order to avoid most problems with ambiguous
638    bidirectional text display, profile creators should strongly consider
639    including the bidirectional character handling described in this
640    section in their profile.
642    The stringprep process never emits both an error and a string.  If an
643    error is detected during the checking of bidirectional strings, only
644    an error is returned.
646    [Unicode3.2] defines several bidirectional categories; each character
647    has one bidirectional category assigned to it.  For the purposes of
648    the requirements below, an "RandALCat character" is a character that
649    has Unicode bidirectional categories "R" or "AL"; an "LCat character"
650    is a character that has Unicode bidirectional category "L".  Note
651    that there are many characters which fall in neither of the above
652    definitions; Latin digits (<U+0030> through <U+0039>) are examples of
653    this because they have bidirectional category "EN".
655    In any profile that specifies bidirectional character handling, all
656    three of the following requirements MUST be met:
658    1) The characters in section 5.8 MUST be prohibited.
660    2) If a string contains any RandALCat character, the string MUST NOT
661       contain any LCat character.
663    3) If a string contains any RandALCat character, a RandALCat
664       character MUST be the first character of the string, and a
665       RandALCat character MUST be the last character of the string.
667    Note that requirement 3 prohibits strings such as <U+0627><U+0031>
668    ("aleph 1") but allows strings such as <U+0627><U+0031><U+0628>
669    ("aleph 1 beh").  [UAX9] goes into great detail about the display
670    order of strings that contain particular categories of characters in
671    particular sequences.
673    Table D.1 lists the characters that belong to Unicode bidirectional
674    categories "R" and "AL".  Table D.2 lists all the characters that
675    belong to Unicode bidirectonal category "L".  These tables are
676    derived from [Unicode3.2].
678 7. Unassigned Code Points in Stringprep Profiles
680    This section describes two different types of strings in typical
681    protocols where internationalized strings are used: "stored strings"
682    and "queries".  Of course, different Internet protocols use strings
683    very differently, so these terms cannot be used exactly in every
684    protocol that needs to use stringprep.  In general, "stored strings"
685    are strings that are used in protocol identifiers and named entities,
686    such as names in digital certificates and DNS domain name parts.
687    "Queries" are strings that are used to match against strings that are
688    stored identifiers, such as user-entered names for digital
689    certificate authorities and DNS lookups.
691    All code points not assigned in the character repertoire named in a
692    stringprep profile are called "unassigned code points".  Stored
693    strings using the profile MUST NOT contain any unassigned code
694    points.  Queries for matching strings MAY contain unassigned code
695    points.  Note that this is the only part of this document where the
696    requirements for queries differs from the requirements for stored
697    strings.
699    Using two different policies for where unassigned code points can
700    appear removes the need for versioning in protocols that use
701    stringprep profiles.  This is very useful since it makes the overall
702    processing simpler and does not impose a "protocol" to handle
703    versioning.  It is expected that the ISO/IEC 10646 and Unicode
704    repertoires will be updated fairly frequently; at the time that this
705    document is being written, it has happened approximately once a year.
706    Each time a new version of a repertoire appears, a new version of a
707    profile MAY be created.  Some end users will want to use the new code
708    points as soon as they are defined.
710    The list of unassigned code points MUST be given in a profile, and
711    that list MUST be used by implementations of the profile in step 3
712    (prohibit).
714    Due to the way that versioning is handled in this section, stored
715    strings that are embedded in structures that cannot be changed (such
716    as the signed parts of digital certificates) MUST NOT contain any
717    unassigned code points.
719 7.1 Categories of code points
721    Each code point in a repertoire named by a profile of stringprep can
722    be categorized by how it acts in the process described in earlier
723    sections of this document:
725       AO      Code points that can be in the output
727       MN      Code points that cannot be in the output because they
728               never appear as output from mapping or normalization
730       D       Code points that cannot be in the output because they are
731               disallowed in the prohibition step
733       U       Unassigned code points
735    A subsequent version of a profile that references a newer version of
736    a repertoire with new code points will inherently have some code
737    points move from category U to either D, MN, or AO.  For backwards
738    compatibility, a subsequent version of a profile MUST NOT move code
739    points from any other category.  That is, current AO, MN, or D code
740    points MUST NOT ever change to a different category.
742    Stored strings MUST NOT contain any code points outside of AO for the
743    latest version of a profile.  That is, they are forbidden to contain
744    code points from the MN, D, or U categories.
746    Applications creating queries MUST treat U code points as if they
747    were AO when preparing the query to be entered in the process
748    described by a profile of stringprep.  Those applications MAY
749    optionally have a preprocessor that provides stricter checks: treating
750    unassigned code points in the input as errors, or warning the user
751    about the fact that the code point is unassigned in the version of a
752    profile that the software is based on; such a choice is a local
753    matter for the software.
755 7.2 Reasons for the difference between stored strings and queries
757    Different software using different versions of a stringprep profile
758    need to interoperate with maximal compatibility.  The scheme
759    described in this section (stored strings MUST NOT contain unassigned
760    code points, queries MAY include unassigned code points) allows that
761    compatibility without introducing any known security or
762    interoperability issues.
764    The list below shows what happens if a query contains a code point
765    from category U that is allowed in a newer version of a profile.  The
766    query either matches the string that was intended, or matches no
767    string at all.  In this list, the query comes from an application
768    using version "oldVersion" of a profile, the stored string was
769    created using version "newVersion" of the same profile, and the code
770    point X was in category U in oldVersion, and has changed category to
771    AO, MN, or D.  There are 3 possible scenarios:
773    1. X is assigned to AO -- In newVersion, X is in category AO.
774       Because the application passed X through, it gets back a positive
775       match with the stored string.  There is one exceptional case,
776       where X is a combining mark.
778       The order of combining marks is normalized, so if another
779       combining mark Y has a lower combining class than X then XY will
780       be put in the canonical order YX.  (Unassigned code points are
781       never reordered, so this doesn't happen in oldVersion).  If the
782       query contains YX, the query will get positive match with the
783       stored string.  However, no string can be stored with XY, so a
784       query with XY will get a negative answer to the test for matching.
786    2. X is assigned to MN -- In newVersion, X is normalized to code
787       point "nX" and therefore X is now put in category MN.  This cannot
788       exist in any stored string, so any query containing X will get a
789       negative answer to the test for matching.  Note, however, if the
790       query had contained the letter nX, it would have positively
791       matched.
793    3. X is assigned to D -- In newVersion, X is in category D.  This
794       cannot exist in any stored string, so any query containing X will
795       get a negative answer to the test for matching.
797    In none of the cases does the query get data for a stored string
798    other than the one it actually tried to match against.
800    Profiles are stable between versions in the following sense: If a
801    string S has been prepared using newVersion, then it will not change
802    if it is subsequently prepared using oldVersion.
804 7.3 Versions of applications and stored strings
806    Another way to see that this versioning system works is to compare
807    what happens when an application uses a newer or older version of a
808    profile.
810    Newer query application -- Suppose that a querying application is
811    using version newVersion and the stored string was created using
812    version oldVersion.  This case is simple: there will be no characters
813    in the stored string that cannot be queried by the application
814    because the new profile uses a superset of the code points used for
815    making the stored string.
817    Newer stored string -- Suppose that a querying application is using
818    oldVersion and the stored string was created using a profile that
819    uses newVersion.  Because the querying application let unassigned
820    code points pass through, the user can query on stored strings that
821    use code points in newVersion.  No stored strings can have code
822    points that are unassigned in newVersion, since that is illegal.  In
823    order to get a match, the querying application has to enter the
824    unassigned code points in the proper order, and has to use unassigned
825    code points that would make it through both the mapping and the
826    normalization steps.
828 8. References
830 8.1 Normative references
832    [UAX15]      Mark Davis and Martin Duerst. Unicode Standard Annex
833                 #15:  Unicode Normalization Forms, Version 3.2.0.
834                 <http://www.unicode.org/unicode/reports/tr15/tr15-
835                 22.html>.
837    [Unicode3.2] The Unicode Consortium. The Unicode Standard, Version
838                 3.2.0 is defined by The Unicode Standard, Version 3.0
839                 (Reading, MA, Addison-Wesley, 2000. ISBN 0-201-61633-5),
840                 as amended by the Unicode Standard Annex #27: Unicode
841                 3.1 (http://www.unicode.org/reports/tr27/) and by the
842                 Unicode Standard Annex #28: Unicode 3.2
843                 (http://www.unicode.org/reports/tr28/).
845    [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
846                 Requirement Levels", BCP 14, RFC 2119, March 1997.
848 8.2 Informative references
850    [CharModel]  Unicode Technical Report;17, Character Encoding Model.
851                 <http://www.unicode.org/unicode/reports/tr17/>.
853    [Glossary]   Unicode Glossary, <http://www.unicode.org/glossary/>.
855    [ISO10646]   ISO/IEC, "Information Technology - Universal Multiple-
856                 Octet Coded Character Set (UCS) - Part 1: Architecture
857                 and Basic Multilingual Plane", ISO/IEC 10646-1:2000,
858                 October 2000.
860    [RFC2434]    Narten, T. and H. Alvestrand, "Guidelines for IANA
861                 Considerations", BCP 26, RFC 2434, October 1998.
863    [UAX9]       The Unicode Consortium. Unicode Standard Annex #9, The
864                 Bidirectional Algorithm,
865                 <http://www.unicode.org/unicode/reports/tr9/>.
867    [UTR21]      Mark Davis. Case Mappings. Unicode Technical Report 21.
868                 <http://www.unicode.org/unicode/reports/tr21/>.
870 9. Security Considerations
872    Stringprep is used with Unicode characters.  There are security
873    considerations that are specific to stringprep, and others that are
874    generic to using Unicode.
876 9.1 Stringprep-specific security considerations
878    The Unicode and ISO/IEC 10646 repertoires have many characters that
879    look similar.  In many cases, users of security protocols might do
880    visual matching, such as when comparing the names of trusted third
881    parties.  Because it is impossible to map similar-looking characters
882    without a great deal of context such as knowing the fonts used,
883    stringprep does nothing to map similar-looking characters together
884    nor to prohibit some characters because they look like others.  User
885    applications can help disambiguate some similar-looking characters by
886    showing the user when a string changes between scripts.
888    Most profiles of stringprep can cause changes in strings that are
889    input to stringprep.  Because of this, protocols that have sets of
890    non-allowed characters or sequences MUST check for the non-allowed
891    characters or sequences after the stringprep processing.
893    This document does not mandate the checking of bidirectional
894    characters in section 6.  If the requirements in section 6 are not
895    used in a profile of stringprep, it is easy to create many strings
896    whose characters are in different order but are displayed
897    identically.  This can cause security-related user confusion similar
898    to look-alike characters, as described above.
900    Stringprep does not do anything to assure that any algorithms
901    translating characters from non-Unicode into Unicode produce the same
902    output in all implementations.
904    Some Unicode codepoints are invisible.  Protocols that allow these
905    characters (that is, do not map them out or prohibit them in
906    stringprep) can cause users confusion when two identical-looking
907    strings do not match.
909 9.2 Generic Unicode security considerations
911    Using Unicode characters explicitly forces applications to use
912    multi-octet characters.  Converting an application from one that uses
913    single-octet characters to one that uses multi-octet characters must
914    be done very carefully, particularly in an application that checks
915    for values of characters or sorts characters.
917    Protocols that use stringprep usually also use encodings of Unicode,
918    such as UTF-8 or UTF-16.  Some applications using those encodings
919    have been known to not check for illegal or ill-formed sequences in
920    the encodings, and thereby have not detected sequences of octets that
921    would have been detected if they used just ASCII.  For example, in
922    UTF-8 the octet sequence "0xC0 0xAB" is an illegal formation of
923    U+002B (plus sign).  All programs should reject any string that is an
924    illegal or ill-formed octet sequence for the encoding being used.
926    Both Unicode normalization and conversion between Unicode encodings
927    can cause strings to grow or shrink.  Programs that used fixed-size
928    buffers, or that make assumptions that buffers will always be greater
929    than or less than particular sizes, are likely to fail in insecure
930    fashions when using Unicode normalization or encoding conversions.
932    Covering an extensive list of security threats and considerations on
933    the use of current and future versions of Unicode is outside of the
934    scope of this document.
936 10. IANA Considerations
938    Stringprep profiles MUST have IETF consensus as described in
939    [RFC2434].  Each profile MUST be reviewed by the IESG before it is
940    registered.  The IESG MAY change a profile before registration.
942    IANA has set up a registry of stringprep profiles.  This registry is
943    a single text file that lists the known profiles.  Each entry in the
944    registry has three fields:
946    - Profile name
948    - RFC in which the profile is defined
950    - Indicator whether or not this is the newest version of the profile
952    Each version of a profile will remain listed in the registry forever.
953    That is, if a new version of a profile supersedes an earlier version,
954    both versions will continue to be listed in the registry, but the
955    current version indicator will be turned off for the earlier version
956    and turned on for the newer version.
958    It is probably harmful if a large number of profiles of stringprep
959    proliferate.  Therefore, the IESG may reject proposals for new
960    profiles and instead suggest that protocols reuse existing profiles.
962 11. Acknowledgements
964    Many people from the IETF IDN Working Group and the Unicode Technical
965    Committee contributed ideas that went into the first document of this
966    document.  Mark Davis and Patrik Faltstrom were particularly helpful
967    in some of the ideas, such as the versioning description.
969    The IDN nameprep design team made many useful changes to the first
970    document.  That team and its advisors include:
972    Asmus Freytag
973    Cathy Wissink
974    Francois Yergeau
975    James Seng
976    Marc Blanchet
977    Mark Davis
978    Martin Duerst
979    Patrik Faltstrom
980    Paul Hoffman
982    Additional significant improvements were proposed by:
984    Jonathan Rosenne
985    Kent Karlsson
986    Scott Hollenbeck
987    Dave Crocker
988    Erik Nordmark
989    Matitiahu Allouche
991 A. Unicode Repertoires
993    The following is the only repertoire covered in this document:
995    Unicode 3.2, as defined in [Unicode3.2].
997 A.1 Unassigned code points in Unicode 3.2
999    ----- Start Table A.1 -----
1000    0221
1001    0234-024F
1002    02AE-02AF
1003    02EF-02FF
1004    0350-035F
1005    0370-0373
1006    0376-0379
1007    037B-037D
1008    037F-0383
1009    038B
1010    038D
1011    03A2
1012    03CF
1013    03F7-03FF
1014    0487
1015    04CF
1016    04F6-04F7
1017    04FA-04FF
1018    0510-0530
1019    0557-0558
1020    0560
1021    0588
1022    058B-0590
1023    05A2
1024    05BA
1025    05C5-05CF
1026    05EB-05EF
1027    05F5-060B
1028    060D-061A
1029    061C-061E
1030    0620
1031    063B-063F
1032    0656-065F
1033    06EE-06EF
1034    06FF
1035    070E
1036    072D-072F
1037    074B-077F
1038    07B2-0900
1039    0904
1040    093A-093B
1041    094E-094F
1042    0955-0957
1043    0971-0980
1044    0984
1045    098D-098E
1046    0991-0992
1047    09A9
1048    09B1
1049    09B3-09B5
1050    09BA-09BB
1051    09BD
1052    09C5-09C6
1053    09C9-09CA
1054    09CE-09D6
1055    09D8-09DB
1056    09DE
1057    09E4-09E5
1058    09FB-0A01
1059    0A03-0A04
1060    0A0B-0A0E
1061    0A11-0A12
1062    0A29
1063    0A31
1064    0A34
1065    0A37
1066    0A3A-0A3B
1067    0A3D
1068    0A43-0A46
1069    0A49-0A4A
1070    0A4E-0A58
1071    0A5D
1072    0A5F-0A65
1073    0A75-0A80
1074    0A84
1075    0A8C
1076    0A8E
1077    0A92
1078    0AA9
1079    0AB1
1080    0AB4
1081    0ABA-0ABB
1082    0AC6
1083    0ACA
1084    0ACE-0ACF
1085    0AD1-0ADF
1086    0AE1-0AE5
1087    0AF0-0B00
1088    0B04
1089    0B0D-0B0E
1090    0B11-0B12
1091    0B29
1092    0B31
1093    0B34-0B35
1094    0B3A-0B3B
1095    0B44-0B46
1096    0B49-0B4A
1097    0B4E-0B55
1098    0B58-0B5B
1099    0B5E
1100    0B62-0B65
1101    0B71-0B81
1102    0B84
1103    0B8B-0B8D
1104    0B91
1105    0B96-0B98
1106    0B9B
1107    0B9D
1108    0BA0-0BA2
1109    0BA5-0BA7
1110    0BAB-0BAD
1111    0BB6
1112    0BBA-0BBD
1113    0BC3-0BC5
1114    0BC9
1115    0BCE-0BD6
1116    0BD8-0BE6
1117    0BF3-0C00
1118    0C04
1119    0C0D
1120    0C11
1121    0C29
1122    0C34
1123    0C3A-0C3D
1124    0C45
1125    0C49
1126    0C4E-0C54
1127    0C57-0C5F
1128    0C62-0C65
1129    0C70-0C81
1130    0C84
1131    0C8D
1132    0C91
1133    0CA9
1134    0CB4
1135    0CBA-0CBD
1136    0CC5
1137    0CC9
1138    0CCE-0CD4
1139    0CD7-0CDD
1140    0CDF
1141    0CE2-0CE5
1142    0CF0-0D01
1143    0D04
1144    0D0D
1145    0D11
1146    0D29
1147    0D3A-0D3D
1148    0D44-0D45
1149    0D49
1150    0D4E-0D56
1151    0D58-0D5F
1152    0D62-0D65
1153    0D70-0D81
1154    0D84
1155    0D97-0D99
1156    0DB2
1157    0DBC
1158    0DBE-0DBF
1159    0DC7-0DC9
1160    0DCB-0DCE
1161    0DD5
1162    0DD7
1163    0DE0-0DF1
1164    0DF5-0E00
1165    0E3B-0E3E
1166    0E5C-0E80
1167    0E83
1168    0E85-0E86
1169    0E89
1170    0E8B-0E8C
1171    0E8E-0E93
1172    0E98
1173    0EA0
1174    0EA4
1175    0EA6
1176    0EA8-0EA9
1177    0EAC
1178    0EBA
1179    0EBE-0EBF
1180    0EC5
1181    0EC7
1182    0ECE-0ECF
1183    0EDA-0EDB
1184    0EDE-0EFF
1185    0F48
1186    0F6B-0F70
1187    0F8C-0F8F
1188    0F98
1189    0FBD
1190    0FCD-0FCE
1191    0FD0-0FFF
1192    1022
1193    1028
1194    102B
1195    1033-1035
1196    103A-103F
1197    105A-109F
1198    10C6-10CF
1199    10F9-10FA
1200    10FC-10FF
1201    115A-115E
1202    11A3-11A7
1203    11FA-11FF
1204    1207
1205    1247
1206    1249
1207    124E-124F
1208    1257
1209    1259
1210    125E-125F
1211    1287
1212    1289
1213    128E-128F
1214    12AF
1215    12B1
1216    12B6-12B7
1217    12BF
1218    12C1
1219    12C6-12C7
1220    12CF
1221    12D7
1222    12EF
1223    130F
1224    1311
1225    1316-1317
1226    131F
1227    1347
1228    135B-1360
1229    137D-139F
1230    13F5-1400
1231    1677-167F
1232    169D-169F
1233    16F1-16FF
1234    170D
1235    1715-171F
1236    1737-173F
1237    1754-175F
1238    176D
1239    1771
1240    1774-177F
1241    17DD-17DF
1242    17EA-17FF
1243    180F
1244    181A-181F
1245    1878-187F
1246    18AA-1DFF
1247    1E9C-1E9F
1248    1EFA-1EFF
1249    1F16-1F17
1250    1F1E-1F1F
1251    1F46-1F47
1252    1F4E-1F4F
1253    1F58
1254    1F5A
1255    1F5C
1256    1F5E
1257    1F7E-1F7F
1258    1FB5
1259    1FC5
1260    1FD4-1FD5
1261    1FDC
1262    1FF0-1FF1
1263    1FF5
1264    1FFF
1265    2053-2056
1266    2058-205E
1267    2064-2069
1268    2072-2073
1269    208F-209F
1270    20B2-20CF
1271    20EB-20FF
1272    213B-213C
1273    214C-2152
1274    2184-218F
1275    23CF-23FF
1276    2427-243F
1277    244B-245F
1278    24FF
1279    2614-2615
1280    2618
1281    267E-267F
1282    268A-2700
1283    2705
1284    270A-270B
1285    2728
1286    274C
1287    274E
1288    2753-2755
1289    2757
1290    275F-2760
1291    2795-2797
1292    27B0
1293    27BF-27CF
1294    27EC-27EF
1295    2B00-2E7F
1296    2E9A
1297    2EF4-2EFF
1298    2FD6-2FEF
1299    2FFC-2FFF
1300    3040
1301    3097-3098
1302    3100-3104
1303    312D-3130
1304    318F
1305    31B8-31EF
1306    321D-321F
1307    3244-3250
1308    327C-327E
1309    32CC-32CF
1310    32FF
1311    3377-337A
1312    33DE-33DF
1313    33FF
1314    4DB6-4DFF
1315    9FA6-9FFF
1316    A48D-A48F
1317    A4C7-ABFF
1318    D7A4-D7FF
1319    FA2E-FA2F
1320    FA6B-FAFF
1321    FB07-FB12
1322    FB18-FB1C
1323    FB37
1324    FB3D
1325    FB3F
1326    FB42
1327    FB45
1328    FBB2-FBD2
1329    FD40-FD4F
1330    FD90-FD91
1331    FDC8-FDCF
1332    FDFD-FDFF
1333    FE10-FE1F
1334    FE24-FE2F
1335    FE47-FE48
1336    FE53
1337    FE67
1338    FE6C-FE6F
1339    FE75
1340    FEFD-FEFE
1341    FF00
1342    FFBF-FFC1
1343    FFC8-FFC9
1344    FFD0-FFD1
1345    FFD8-FFD9
1346    FFDD-FFDF
1347    FFE7
1348    FFEF-FFF8
1349    10000-102FF
1350    1031F
1351    10324-1032F
1352    1034B-103FF
1353    10426-10427
1354    1044E-1CFFF
1355    1D0F6-1D0FF
1356    1D127-1D129
1357    1D1DE-1D3FF
1358    1D455
1359    1D49D
1360    1D4A0-1D4A1
1361    1D4A3-1D4A4
1362    1D4A7-1D4A8
1363    1D4AD
1364    1D4BA
1365    1D4BC
1366    1D4C1
1367    1D4C4
1368    1D506
1369    1D50B-1D50C
1370    1D515
1371    1D51D
1372    1D53A
1373    1D53F
1374    1D545
1375    1D547-1D549
1376    1D551
1377    1D6A4-1D6A7
1378    1D7CA-1D7CD
1379    1D800-1FFFD
1380    2A6D7-2F7FF
1381    2FA1E-2FFFD
1382    30000-3FFFD
1383    40000-4FFFD
1384    50000-5FFFD
1385    60000-6FFFD
1386    70000-7FFFD
1387    80000-8FFFD
1388    90000-9FFFD
1389    A0000-AFFFD
1390    B0000-BFFFD
1391    C0000-CFFFD
1392    D0000-DFFFD
1393    E0000
1394    E0002-E001F
1395    E0080-EFFFD
1396    ----- End Table A.1 -----
1398 B. Mapping Tables
1400    The following is the mapping table from section 3.  The table has
1401    three columns:
1403    - the code point that is mapped from
1404    - the zero or more code points that it is mapped to
1405    - the reason for the mapping
1407    The columns are separated by semicolons.  Note that the second column
1408    may be empty, or it may have one code point, or it may have more than
1409    one code point, with each code point separated by a space.
1411 B.1 Commonly mapped to nothing
1413    ----- Start Table B.1 -----
1414    00AD; ; Map to nothing
1415    034F; ; Map to nothing
1416    1806; ; Map to nothing
1417    180B; ; Map to nothing
1418    180C; ; Map to nothing
1419    180D; ; Map to nothing
1420    200B; ; Map to nothing
1421    200C; ; Map to nothing
1422    200D; ; Map to nothing
1423    2060; ; Map to nothing
1424    FE00; ; Map to nothing
1425    FE01; ; Map to nothing
1426    FE02; ; Map to nothing
1427    FE03; ; Map to nothing
1428    FE04; ; Map to nothing
1429    FE05; ; Map to nothing
1430    FE06; ; Map to nothing
1431    FE07; ; Map to nothing
1432    FE08; ; Map to nothing
1433    FE09; ; Map to nothing
1434    FE0A; ; Map to nothing
1435    FE0B; ; Map to nothing
1436    FE0C; ; Map to nothing
1437    FE0D; ; Map to nothing
1438    FE0E; ; Map to nothing
1439    FE0F; ; Map to nothing
1440    FEFF; ; Map to nothing
1441    ----- End Table B.1 -----
1443 B.2 Mapping for case-folding used with NFKC
1445    ----- Start Table B.2 -----
1446    0041; 0061; Case map
1447    0042; 0062; Case map
1448    0043; 0063; Case map
1449    0044; 0064; Case map
1450    0045; 0065; Case map
1451    0046; 0066; Case map
1452    0047; 0067; Case map
1453    0048; 0068; Case map
1454    0049; 0069; Case map
1455    004A; 006A; Case map
1456    004B; 006B; Case map
1457    004C; 006C; Case map
1458    004D; 006D; Case map
1459    004E; 006E; Case map
1460    004F; 006F; Case map
1461    0050; 0070; Case map
1462    0051; 0071; Case map
1463    0052; 0072; Case map
1464    0053; 0073; Case map
1465    0054; 0074; Case map
1466    0055; 0075; Case map
1467    0056; 0076; Case map
1468    0057; 0077; Case map
1469    0058; 0078; Case map
1470    0059; 0079; Case map
1471    005A; 007A; Case map
1472    00B5; 03BC; Case map
1473    00C0; 00E0; Case map
1474    00C1; 00E1; Case map
1475    00C2; 00E2; Case map
1476    00C3; 00E3; Case map
1477    00C4; 00E4; Case map
1478    00C5; 00E5; Case map
1479    00C6; 00E6; Case map
1480    00C7; 00E7; Case map
1481    00C8; 00E8; Case map
1482    00C9; 00E9; Case map
1483    00CA; 00EA; Case map
1484    00CB; 00EB; Case map
1485    00CC; 00EC; Case map
1486    00CD; 00ED; Case map
1487    00CE; 00EE; Case map
1488    00CF; 00EF; Case map
1489    00D0; 00F0; Case map
1490    00D1; 00F1; Case map
1491    00D2; 00F2; Case map
1492    00D3; 00F3; Case map
1493    00D4; 00F4; Case map
1494    00D5; 00F5; Case map
1495    00D6; 00F6; Case map
1496    00D8; 00F8; Case map
1497    00D9; 00F9; Case map
1498    00DA; 00FA; Case map
1499    00DB; 00FB; Case map
1500    00DC; 00FC; Case map
1501    00DD; 00FD; Case map
1502    00DE; 00FE; Case map
1503    00DF; 0073 0073; Case map
1504    0100; 0101; Case map
1505    0102; 0103; Case map
1506    0104; 0105; Case map
1507    0106; 0107; Case map
1508    0108; 0109; Case map
1509    010A; 010B; Case map
1510    010C; 010D; Case map
1511    010E; 010F; Case map
1512    0110; 0111; Case map
1513    0112; 0113; Case map
1514    0114; 0115; Case map
1515    0116; 0117; Case map
1516    0118; 0119; Case map
1517    011A; 011B; Case map
1518    011C; 011D; Case map
1519    011E; 011F; Case map
1520    0120; 0121; Case map
1521    0122; 0123; Case map
1522    0124; 0125; Case map
1523    0126; 0127; Case map
1524    0128; 0129; Case map
1525    012A; 012B; Case map
1526    012C; 012D; Case map
1527    012E; 012F; Case map
1528    0130; 0069 0307; Case map
1529    0132; 0133; Case map
1530    0134; 0135; Case map
1531    0136; 0137; Case map
1532    0139; 013A; Case map
1533    013B; 013C; Case map
1534    013D; 013E; Case map
1535    013F; 0140; Case map
1536    0141; 0142; Case map
1537    0143; 0144; Case map
1538    0145; 0146; Case map
1539    0147; 0148; Case map
1540    0149; 02BC 006E; Case map
1541    014A; 014B; Case map
1542    014C; 014D; Case map
1543    014E; 014F; Case map
1544    0150; 0151; Case map
1545    0152; 0153; Case map
1546    0154; 0155; Case map
1547    0156; 0157; Case map
1548    0158; 0159; Case map
1549    015A; 015B; Case map
1550    015C; 015D; Case map
1551    015E; 015F; Case map
1552    0160; 0161; Case map
1553    0162; 0163; Case map
1554    0164; 0165; Case map
1555    0166; 0167; Case map
1556    0168; 0169; Case map
1557    016A; 016B; Case map
1558    016C; 016D; Case map
1559    016E; 016F; Case map
1560    0170; 0171; Case map
1561    0172; 0173; Case map
1562    0174; 0175; Case map
1563    0176; 0177; Case map
1564    0178; 00FF; Case map
1565    0179; 017A; Case map
1566    017B; 017C; Case map
1567    017D; 017E; Case map
1568    017F; 0073; Case map
1569    0181; 0253; Case map
1570    0182; 0183; Case map
1571    0184; 0185; Case map
1572    0186; 0254; Case map
1573    0187; 0188; Case map
1574    0189; 0256; Case map
1575    018A; 0257; Case map
1576    018B; 018C; Case map
1577    018E; 01DD; Case map
1578    018F; 0259; Case map
1579    0190; 025B; Case map
1580    0191; 0192; Case map
1581    0193; 0260; Case map
1582    0194; 0263; Case map
1583    0196; 0269; Case map
1584    0197; 0268; Case map
1585    0198; 0199; Case map
1586    019C; 026F; Case map
1587    019D; 0272; Case map
1588    019F; 0275; Case map
1589    01A0; 01A1; Case map
1590    01A2; 01A3; Case map
1591    01A4; 01A5; Case map
1592    01A6; 0280; Case map
1593    01A7; 01A8; Case map
1594    01A9; 0283; Case map
1595    01AC; 01AD; Case map
1596    01AE; 0288; Case map
1597    01AF; 01B0; Case map
1598    01B1; 028A; Case map
1599    01B2; 028B; Case map
1600    01B3; 01B4; Case map
1601    01B5; 01B6; Case map
1602    01B7; 0292; Case map
1603    01B8; 01B9; Case map
1604    01BC; 01BD; Case map
1605    01C4; 01C6; Case map
1606    01C5; 01C6; Case map
1607    01C7; 01C9; Case map
1608    01C8; 01C9; Case map
1609    01CA; 01CC; Case map
1610    01CB; 01CC; Case map
1611    01CD; 01CE; Case map
1612    01CF; 01D0; Case map
1613    01D1; 01D2; Case map
1614    01D3; 01D4; Case map
1615    01D5; 01D6; Case map
1616    01D7; 01D8; Case map
1617    01D9; 01DA; Case map
1618    01DB; 01DC; Case map
1619    01DE; 01DF; Case map
1620    01E0; 01E1; Case map
1621    01E2; 01E3; Case map
1622    01E4; 01E5; Case map
1623    01E6; 01E7; Case map
1624    01E8; 01E9; Case map
1625    01EA; 01EB; Case map
1626    01EC; 01ED; Case map
1627    01EE; 01EF; Case map
1628    01F0; 006A 030C; Case map
1629    01F1; 01F3; Case map
1630    01F2; 01F3; Case map
1631    01F4; 01F5; Case map
1632    01F6; 0195; Case map
1633    01F7; 01BF; Case map
1634    01F8; 01F9; Case map
1635    01FA; 01FB; Case map
1636    01FC; 01FD; Case map
1637    01FE; 01FF; Case map
1638    0200; 0201; Case map
1639    0202; 0203; Case map
1640    0204; 0205; Case map
1641    0206; 0207; Case map
1642    0208; 0209; Case map
1643    020A; 020B; Case map
1644    020C; 020D; Case map
1645    020E; 020F; Case map
1646    0210; 0211; Case map
1647    0212; 0213; Case map
1648    0214; 0215; Case map
1649    0216; 0217; Case map
1650    0218; 0219; Case map
1651    021A; 021B; Case map
1652    021C; 021D; Case map
1653    021E; 021F; Case map
1654    0220; 019E; Case map
1655    0222; 0223; Case map
1656    0224; 0225; Case map
1657    0226; 0227; Case map
1658    0228; 0229; Case map
1659    022A; 022B; Case map
1660    022C; 022D; Case map
1661    022E; 022F; Case map
1662    0230; 0231; Case map
1663    0232; 0233; Case map
1664    0345; 03B9; Case map
1665    037A; 0020 03B9; Additional folding
1666    0386; 03AC; Case map
1667    0388; 03AD; Case map
1668    0389; 03AE; Case map
1669    038A; 03AF; Case map
1670    038C; 03CC; Case map
1671    038E; 03CD; Case map
1672    038F; 03CE; Case map
1673    0390; 03B9 0308 0301; Case map
1674    0391; 03B1; Case map
1675    0392; 03B2; Case map
1676    0393; 03B3; Case map
1677    0394; 03B4; Case map
1678    0395; 03B5; Case map
1679    0396; 03B6; Case map
1680    0397; 03B7; Case map
1681    0398; 03B8; Case map
1682    0399; 03B9; Case map
1683    039A; 03BA; Case map
1684    039B; 03BB; Case map
1685    039C; 03BC; Case map
1686    039D; 03BD; Case map
1687    039E; 03BE; Case map
1688    039F; 03BF; Case map
1689    03A0; 03C0; Case map
1690    03A1; 03C1; Case map
1691    03A3; 03C3; Case map
1692    03A4; 03C4; Case map
1693    03A5; 03C5; Case map
1694    03A6; 03C6; Case map
1695    03A7; 03C7; Case map
1696    03A8; 03C8; Case map
1697    03A9; 03C9; Case map
1698    03AA; 03CA; Case map
1699    03AB; 03CB; Case map
1700    03B0; 03C5 0308 0301; Case map
1701    03C2; 03C3; Case map
1702    03D0; 03B2; Case map
1703    03D1; 03B8; Case map
1704    03D2; 03C5; Additional folding
1705    03D3; 03CD; Additional folding
1706    03D4; 03CB; Additional folding
1707    03D5; 03C6; Case map
1708    03D6; 03C0; Case map
1709    03D8; 03D9; Case map
1710    03DA; 03DB; Case map
1711    03DC; 03DD; Case map
1712    03DE; 03DF; Case map
1713    03E0; 03E1; Case map
1714    03E2; 03E3; Case map
1715    03E4; 03E5; Case map
1716    03E6; 03E7; Case map
1717    03E8; 03E9; Case map
1718    03EA; 03EB; Case map
1719    03EC; 03ED; Case map
1720    03EE; 03EF; Case map
1721    03F0; 03BA; Case map
1722    03F1; 03C1; Case map
1723    03F2; 03C3; Case map
1724    03F4; 03B8; Case map
1725    03F5; 03B5; Case map
1726    0400; 0450; Case map
1727    0401; 0451; Case map
1728    0402; 0452; Case map
1729    0403; 0453; Case map
1730    0404; 0454; Case map
1731    0405; 0455; Case map
1732    0406; 0456; Case map
1733    0407; 0457; Case map
1734    0408; 0458; Case map
1735    0409; 0459; Case map
1736    040A; 045A; Case map
1737    040B; 045B; Case map
1738    040C; 045C; Case map
1739    040D; 045D; Case map
1740    040E; 045E; Case map
1741    040F; 045F; Case map
1742    0410; 0430; Case map
1743    0411; 0431; Case map
1744    0412; 0432; Case map
1745    0413; 0433; Case map
1746    0414; 0434; Case map
1747    0415; 0435; Case map
1748    0416; 0436; Case map
1749    0417; 0437; Case map
1750    0418; 0438; Case map
1751    0419; 0439; Case map
1752    041A; 043A; Case map
1753    041B; 043B; Case map
1754    041C; 043C; Case map
1755    041D; 043D; Case map
1756    041E; 043E; Case map
1757    041F; 043F; Case map
1758    0420; 0440; Case map
1759    0421; 0441; Case map
1760    0422; 0442; Case map
1761    0423; 0443; Case map
1762    0424; 0444; Case map
1763    0425; 0445; Case map
1764    0426; 0446; Case map
1765    0427; 0447; Case map
1766    0428; 0448; Case map
1767    0429; 0449; Case map
1768    042A; 044A; Case map
1769    042B; 044B; Case map
1770    042C; 044C; Case map
1771    042D; 044D; Case map
1772    042E; 044E; Case map
1773    042F; 044F; Case map
1774    0460; 0461; Case map
1775    0462; 0463; Case map
1776    0464; 0465; Case map
1777    0466; 0467; Case map
1778    0468; 0469; Case map
1779    046A; 046B; Case map
1780    046C; 046D; Case map
1781    046E; 046F; Case map
1782    0470; 0471; Case map
1783    0472; 0473; Case map
1784    0474; 0475; Case map
1785    0476; 0477; Case map
1786    0478; 0479; Case map
1787    047A; 047B; Case map
1788    047C; 047D; Case map
1789    047E; 047F; Case map
1790    0480; 0481; Case map
1791    048A; 048B; Case map
1792    048C; 048D; Case map
1793    048E; 048F; Case map
1794    0490; 0491; Case map
1795    0492; 0493; Case map
1796    0494; 0495; Case map
1797    0496; 0497; Case map
1798    0498; 0499; Case map
1799    049A; 049B; Case map
1800    049C; 049D; Case map
1801    049E; 049F; Case map
1802    04A0; 04A1; Case map
1803    04A2; 04A3; Case map
1804    04A4; 04A5; Case map
1805    04A6; 04A7; Case map
1806    04A8; 04A9; Case map
1807    04AA; 04AB; Case map
1808    04AC; 04AD; Case map
1809    04AE; 04AF; Case map
1810    04B0; 04B1; Case map
1811    04B2; 04B3; Case map
1812    04B4; 04B5; Case map
1813    04B6; 04B7; Case map
1814    04B8; 04B9; Case map
1815    04BA; 04BB; Case map
1816    04BC; 04BD; Case map
1817    04BE; 04BF; Case map
1818    04C1; 04C2; Case map
1819    04C3; 04C4; Case map
1820    04C5; 04C6; Case map
1821    04C7; 04C8; Case map
1822    04C9; 04CA; Case map
1823    04CB; 04CC; Case map
1824    04CD; 04CE; Case map
1825    04D0; 04D1; Case map
1826    04D2; 04D3; Case map
1827    04D4; 04D5; Case map
1828    04D6; 04D7; Case map
1829    04D8; 04D9; Case map
1830    04DA; 04DB; Case map
1831    04DC; 04DD; Case map
1832    04DE; 04DF; Case map
1833    04E0; 04E1; Case map
1834    04E2; 04E3; Case map
1835    04E4; 04E5; Case map
1836    04E6; 04E7; Case map
1837    04E8; 04E9; Case map
1838    04EA; 04EB; Case map
1839    04EC; 04ED; Case map
1840    04EE; 04EF; Case map
1841    04F0; 04F1; Case map
1842    04F2; 04F3; Case map
1843    04F4; 04F5; Case map
1844    04F8; 04F9; Case map
1845    0500; 0501; Case map
1846    0502; 0503; Case map
1847    0504; 0505; Case map
1848    0506; 0507; Case map
1849    0508; 0509; Case map
1850    050A; 050B; Case map
1851    050C; 050D; Case map
1852    050E; 050F; Case map
1853    0531; 0561; Case map
1854    0532; 0562; Case map
1855    0533; 0563; Case map
1856    0534; 0564; Case map
1857    0535; 0565; Case map
1858    0536; 0566; Case map
1859    0537; 0567; Case map
1860    0538; 0568; Case map
1861    0539; 0569; Case map
1862    053A; 056A; Case map
1863    053B; 056B; Case map
1864    053C; 056C; Case map
1865    053D; 056D; Case map
1866    053E; 056E; Case map
1867    053F; 056F; Case map
1868    0540; 0570; Case map
1869    0541; 0571; Case map
1870    0542; 0572; Case map
1871    0543; 0573; Case map
1872    0544; 0574; Case map
1873    0545; 0575; Case map
1874    0546; 0576; Case map
1875    0547; 0577; Case map
1876    0548; 0578; Case map
1877    0549; 0579; Case map
1878    054A; 057A; Case map
1879    054B; 057B; Case map
1880    054C; 057C; Case map
1881    054D; 057D; Case map
1882    054E; 057E; Case map
1883    054F; 057F; Case map
1884    0550; 0580; Case map
1885    0551; 0581; Case map
1886    0552; 0582; Case map
1887    0553; 0583; Case map
1888    0554; 0584; Case map
1889    0555; 0585; Case map
1890    0556; 0586; Case map
1891    0587; 0565 0582; Case map
1892    1E00; 1E01; Case map
1893    1E02; 1E03; Case map
1894    1E04; 1E05; Case map
1895    1E06; 1E07; Case map
1896    1E08; 1E09; Case map
1897    1E0A; 1E0B; Case map
1898    1E0C; 1E0D; Case map
1899    1E0E; 1E0F; Case map
1900    1E10; 1E11; Case map
1901    1E12; 1E13; Case map
1902    1E14; 1E15; Case map
1903    1E16; 1E17; Case map
1904    1E18; 1E19; Case map
1905    1E1A; 1E1B; Case map
1906    1E1C; 1E1D; Case map
1907    1E1E; 1E1F; Case map
1908    1E20; 1E21; Case map
1909    1E22; 1E23; Case map
1910    1E24; 1E25; Case map
1911    1E26; 1E27; Case map
1912    1E28; 1E29; Case map
1913    1E2A; 1E2B; Case map
1914    1E2C; 1E2D; Case map
1915    1E2E; 1E2F; Case map
1916    1E30; 1E31; Case map
1917    1E32; 1E33; Case map
1918    1E34; 1E35; Case map
1919    1E36; 1E37; Case map
1920    1E38; 1E39; Case map
1921    1E3A; 1E3B; Case map
1922    1E3C; 1E3D; Case map
1923    1E3E; 1E3F; Case map
1924    1E40; 1E41; Case map
1925    1E42; 1E43; Case map
1926    1E44; 1E45; Case map
1927    1E46; 1E47; Case map
1928    1E48; 1E49; Case map
1929    1E4A; 1E4B; Case map
1930    1E4C; 1E4D; Case map
1931    1E4E; 1E4F; Case map
1932    1E50; 1E51; Case map
1933    1E52; 1E53; Case map
1934    1E54; 1E55; Case map
1935    1E56; 1E57; Case map
1936    1E58; 1E59; Case map
1937    1E5A; 1E5B; Case map
1938    1E5C; 1E5D; Case map
1939    1E5E; 1E5F; Case map
1940    1E60; 1E61; Case map
1941    1E62; 1E63; Case map
1942    1E64; 1E65; Case map
1943    1E66; 1E67; Case map
1944    1E68; 1E69; Case map
1945    1E6A; 1E6B; Case map
1946    1E6C; 1E6D; Case map
1947    1E6E; 1E6F; Case map
1948    1E70; 1E71; Case map
1949    1E72; 1E73; Case map
1950    1E74; 1E75; Case map
1951    1E76; 1E77; Case map
1952    1E78; 1E79; Case map
1953    1E7A; 1E7B; Case map
1954    1E7C; 1E7D; Case map
1955    1E7E; 1E7F; Case map
1956    1E80; 1E81; Case map
1957    1E82; 1E83; Case map
1958    1E84; 1E85; Case map
1959    1E86; 1E87; Case map
1960    1E88; 1E89; Case map
1961    1E8A; 1E8B; Case map
1962    1E8C; 1E8D; Case map
1963    1E8E; 1E8F; Case map
1964    1E90; 1E91; Case map
1965    1E92; 1E93; Case map
1966    1E94; 1E95; Case map
1967    1E96; 0068 0331; Case map
1968    1E97; 0074 0308; Case map
1969    1E98; 0077 030A; Case map
1970    1E99; 0079 030A; Case map
1971    1E9A; 0061 02BE; Case map
1972    1E9B; 1E61; Case map
1973    1EA0; 1EA1; Case map
1974    1EA2; 1EA3; Case map
1975    1EA4; 1EA5; Case map
1976    1EA6; 1EA7; Case map
1977    1EA8; 1EA9; Case map
1978    1EAA; 1EAB; Case map
1979    1EAC; 1EAD; Case map
1980    1EAE; 1EAF; Case map
1981    1EB0; 1EB1; Case map
1982    1EB2; 1EB3; Case map
1983    1EB4; 1EB5; Case map
1984    1EB6; 1EB7; Case map
1985    1EB8; 1EB9; Case map
1986    1EBA; 1EBB; Case map
1987    1EBC; 1EBD; Case map
1988    1EBE; 1EBF; Case map
1989    1EC0; 1EC1; Case map
1990    1EC2; 1EC3; Case map
1991    1EC4; 1EC5; Case map
1992    1EC6; 1EC7; Case map
1993    1EC8; 1EC9; Case map
1994    1ECA; 1ECB; Case map
1995    1ECC; 1ECD; Case map
1996    1ECE; 1ECF; Case map
1997    1ED0; 1ED1; Case map
1998    1ED2; 1ED3; Case map
1999    1ED4; 1ED5; Case map
2000    1ED6; 1ED7; Case map
2001    1ED8; 1ED9; Case map
2002    1EDA; 1EDB; Case map
2003    1EDC; 1EDD; Case map
2004    1EDE; 1EDF; Case map
2005    1EE0; 1EE1; Case map
2006    1EE2; 1EE3; Case map
2007    1EE4; 1EE5; Case map
2008    1EE6; 1EE7; Case map
2009    1EE8; 1EE9; Case map
2010    1EEA; 1EEB; Case map
2011    1EEC; 1EED; Case map
2012    1EEE; 1EEF; Case map
2013    1EF0; 1EF1; Case map
2014    1EF2; 1EF3; Case map
2015    1EF4; 1EF5; Case map
2016    1EF6; 1EF7; Case map
2017    1EF8; 1EF9; Case map
2018    1F08; 1F00; Case map
2019    1F09; 1F01; Case map
2020    1F0A; 1F02; Case map
2021    1F0B; 1F03; Case map
2022    1F0C; 1F04; Case map
2023    1F0D; 1F05; Case map
2024    1F0E; 1F06; Case map
2025    1F0F; 1F07; Case map
2026    1F18; 1F10; Case map
2027    1F19; 1F11; Case map
2028    1F1A; 1F12; Case map
2029    1F1B; 1F13; Case map
2030    1F1C; 1F14; Case map
2031    1F1D; 1F15; Case map
2032    1F28; 1F20; Case map
2033    1F29; 1F21; Case map
2034    1F2A; 1F22; Case map
2035    1F2B; 1F23; Case map
2036    1F2C; 1F24; Case map
2037    1F2D; 1F25; Case map
2038    1F2E; 1F26; Case map
2039    1F2F; 1F27; Case map
2040    1F38; 1F30; Case map
2041    1F39; 1F31; Case map
2042    1F3A; 1F32; Case map
2043    1F3B; 1F33; Case map
2044    1F3C; 1F34; Case map
2045    1F3D; 1F35; Case map
2046    1F3E; 1F36; Case map
2047    1F3F; 1F37; Case map
2048    1F48; 1F40; Case map
2049    1F49; 1F41; Case map
2050    1F4A; 1F42; Case map
2051    1F4B; 1F43; Case map
2052    1F4C; 1F44; Case map
2053    1F4D; 1F45; Case map
2054    1F50; 03C5 0313; Case map
2055    1F52; 03C5 0313 0300; Case map
2056    1F54; 03C5 0313 0301; Case map
2057    1F56; 03C5 0313 0342; Case map
2058    1F59; 1F51; Case map
2059    1F5B; 1F53; Case map
2060    1F5D; 1F55; Case map
2061    1F5F; 1F57; Case map
2062    1F68; 1F60; Case map
2063    1F69; 1F61; Case map
2064    1F6A; 1F62; Case map
2065    1F6B; 1F63; Case map
2066    1F6C; 1F64; Case map
2067    1F6D; 1F65; Case map
2068    1F6E; 1F66; Case map
2069    1F6F; 1F67; Case map
2070    1F80; 1F00 03B9; Case map
2071    1F81; 1F01 03B9; Case map
2072    1F82; 1F02 03B9; Case map
2073    1F83; 1F03 03B9; Case map
2074    1F84; 1F04 03B9; Case map
2075    1F85; 1F05 03B9; Case map
2076    1F86; 1F06 03B9; Case map
2077    1F87; 1F07 03B9; Case map
2078    1F88; 1F00 03B9; Case map
2079    1F89; 1F01 03B9; Case map
2080    1F8A; 1F02 03B9; Case map
2081    1F8B; 1F03 03B9; Case map
2082    1F8C; 1F04 03B9; Case map
2083    1F8D; 1F05 03B9; Case map
2084    1F8E; 1F06 03B9; Case map
2085    1F8F; 1F07 03B9; Case map
2086    1F90; 1F20 03B9; Case map
2087    1F91; 1F21 03B9; Case map
2088    1F92; 1F22 03B9; Case map
2089    1F93; 1F23 03B9; Case map
2090    1F94; 1F24 03B9; Case map
2091    1F95; 1F25 03B9; Case map
2092    1F96; 1F26 03B9; Case map
2093    1F97; 1F27 03B9; Case map
2094    1F98; 1F20 03B9; Case map
2095    1F99; 1F21 03B9; Case map
2096    1F9A; 1F22 03B9; Case map
2097    1F9B; 1F23 03B9; Case map
2098    1F9C; 1F24 03B9; Case map
2099    1F9D; 1F25 03B9; Case map
2100    1F9E; 1F26 03B9; Case map
2101    1F9F; 1F27 03B9; Case map
2102    1FA0; 1F60 03B9; Case map
2103    1FA1; 1F61 03B9; Case map
2104    1FA2; 1F62 03B9; Case map
2105    1FA3; 1F63 03B9; Case map
2106    1FA4; 1F64 03B9; Case map
2107    1FA5; 1F65 03B9; Case map
2108    1FA6; 1F66 03B9; Case map
2109    1FA7; 1F67 03B9; Case map
2110    1FA8; 1F60 03B9; Case map
2111    1FA9; 1F61 03B9; Case map
2112    1FAA; 1F62 03B9; Case map
2113    1FAB; 1F63 03B9; Case map
2114    1FAC; 1F64 03B9; Case map
2115    1FAD; 1F65 03B9; Case map
2116    1FAE; 1F66 03B9; Case map
2117    1FAF; 1F67 03B9; Case map
2118    1FB2; 1F70 03B9; Case map
2119    1FB3; 03B1 03B9; Case map
2120    1FB4; 03AC 03B9; Case map
2121    1FB6; 03B1 0342; Case map
2122    1FB7; 03B1 0342 03B9; Case map
2123    1FB8; 1FB0; Case map
2124    1FB9; 1FB1; Case map
2125    1FBA; 1F70; Case map
2126    1FBB; 1F71; Case map
2127    1FBC; 03B1 03B9; Case map
2128    1FBE; 03B9; Case map
2129    1FC2; 1F74 03B9; Case map
2130    1FC3; 03B7 03B9; Case map
2131    1FC4; 03AE 03B9; Case map
2132    1FC6; 03B7 0342; Case map
2133    1FC7; 03B7 0342 03B9; Case map
2134    1FC8; 1F72; Case map
2135    1FC9; 1F73; Case map
2136    1FCA; 1F74; Case map
2137    1FCB; 1F75; Case map
2138    1FCC; 03B7 03B9; Case map
2139    1FD2; 03B9 0308 0300; Case map
2140    1FD3; 03B9 0308 0301; Case map
2141    1FD6; 03B9 0342; Case map
2142    1FD7; 03B9 0308 0342; Case map
2143    1FD8; 1FD0; Case map
2144    1FD9; 1FD1; Case map
2145    1FDA; 1F76; Case map
2146    1FDB; 1F77; Case map
2147    1FE2; 03C5 0308 0300; Case map
2148    1FE3; 03C5 0308 0301; Case map
2149    1FE4; 03C1 0313; Case map
2150    1FE6; 03C5 0342; Case map
2151    1FE7; 03C5 0308 0342; Case map
2152    1FE8; 1FE0; Case map
2153    1FE9; 1FE1; Case map
2154    1FEA; 1F7A; Case map
2155    1FEB; 1F7B; Case map
2156    1FEC; 1FE5; Case map
2157    1FF2; 1F7C 03B9; Case map
2158    1FF3; 03C9 03B9; Case map
2159    1FF4; 03CE 03B9; Case map
2160    1FF6; 03C9 0342; Case map
2161    1FF7; 03C9 0342 03B9; Case map
2162    1FF8; 1F78; Case map
2163    1FF9; 1F79; Case map
2164    1FFA; 1F7C; Case map
2165    1FFB; 1F7D; Case map
2166    1FFC; 03C9 03B9; Case map
2167    20A8; 0072 0073; Additional folding
2168    2102; 0063; Additional folding
2169    2103; 00B0 0063; Additional folding
2170    2107; 025B; Additional folding
2171    2109; 00B0 0066; Additional folding
2172    210B; 0068; Additional folding
2173    210C; 0068; Additional folding
2174    210D; 0068; Additional folding
2175    2110; 0069; Additional folding
2176    2111; 0069; Additional folding
2177    2112; 006C; Additional folding
2178    2115; 006E; Additional folding
2179    2116; 006E 006F; Additional folding
2180    2119; 0070; Additional folding
2181    211A; 0071; Additional folding
2182    211B; 0072; Additional folding
2183    211C; 0072; Additional folding
2184    211D; 0072; Additional folding
2185    2120; 0073 006D; Additional folding
2186    2121; 0074 0065 006C; Additional folding
2187    2122; 0074 006D; Additional folding
2188    2124; 007A; Additional folding
2189    2126; 03C9; Case map
2190    2128; 007A; Additional folding
2191    212A; 006B; Case map
2192    212B; 00E5; Case map
2193    212C; 0062; Additional folding
2194    212D; 0063; Additional folding
2195    2130; 0065; Additional folding
2196    2131; 0066; Additional folding
2197    2133; 006D; Additional folding
2198    213E; 03B3; Additional folding
2199    213F; 03C0; Additional folding
2200    2145; 0064; Additional folding
2201    2160; 2170; Case map
2202    2161; 2171; Case map
2203    2162; 2172; Case map
2204    2163; 2173; Case map
2205    2164; 2174; Case map
2206    2165; 2175; Case map
2207    2166; 2176; Case map
2208    2167; 2177; Case map
2209    2168; 2178; Case map
2210    2169; 2179; Case map
2211    216A; 217A; Case map
2212    216B; 217B; Case map
2213    216C; 217C; Case map
2214    216D; 217D; Case map
2215    216E; 217E; Case map
2216    216F; 217F; Case map
2217    24B6; 24D0; Case map
2218    24B7; 24D1; Case map
2219    24B8; 24D2; Case map
2220    24B9; 24D3; Case map
2221    24BA; 24D4; Case map
2222    24BB; 24D5; Case map
2223    24BC; 24D6; Case map
2224    24BD; 24D7; Case map
2225    24BE; 24D8; Case map
2226    24BF; 24D9; Case map
2227    24C0; 24DA; Case map
2228    24C1; 24DB; Case map
2229    24C2; 24DC; Case map
2230    24C3; 24DD; Case map
2231    24C4; 24DE; Case map
2232    24C5; 24DF; Case map
2233    24C6; 24E0; Case map
2234    24C7; 24E1; Case map
2235    24C8; 24E2; Case map
2236    24C9; 24E3; Case map
2237    24CA; 24E4; Case map
2238    24CB; 24E5; Case map
2239    24CC; 24E6; Case map
2240    24CD; 24E7; Case map
2241    24CE; 24E8; Case map
2242    24CF; 24E9; Case map
2243    3371; 0068 0070 0061; Additional folding
2244    3373; 0061 0075; Additional folding
2245    3375; 006F 0076; Additional folding
2246    3380; 0070 0061; Additional folding
2247    3381; 006E 0061; Additional folding
2248    3382; 03BC 0061; Additional folding
2249    3383; 006D 0061; Additional folding
2250    3384; 006B 0061; Additional folding
2251    3385; 006B 0062; Additional folding
2252    3386; 006D 0062; Additional folding
2253    3387; 0067 0062; Additional folding
2254    338A; 0070 0066; Additional folding
2255    338B; 006E 0066; Additional folding
2256    338C; 03BC 0066; Additional folding
2257    3390; 0068 007A; Additional folding
2258    3391; 006B 0068 007A; Additional folding
2259    3392; 006D 0068 007A; Additional folding
2260    3393; 0067 0068 007A; Additional folding
2261    3394; 0074 0068 007A; Additional folding
2262    33A9; 0070 0061; Additional folding
2263    33AA; 006B 0070 0061; Additional folding
2264    33AB; 006D 0070 0061; Additional folding
2265    33AC; 0067 0070 0061; Additional folding
2266    33B4; 0070 0076; Additional folding
2267    33B5; 006E 0076; Additional folding
2268    33B6; 03BC 0076; Additional folding
2269    33B7; 006D 0076; Additional folding
2270    33B8; 006B 0076; Additional folding
2271    33B9; 006D 0076; Additional folding
2272    33BA; 0070 0077; Additional folding
2273    33BB; 006E 0077; Additional folding
2274    33BC; 03BC 0077; Additional folding
2275    33BD; 006D 0077; Additional folding
2276    33BE; 006B 0077; Additional folding
2277    33BF; 006D 0077; Additional folding
2278    33C0; 006B 03C9; Additional folding
2279    33C1; 006D 03C9; Additional folding
2280    33C3; 0062 0071; Additional folding
2281    33C6; 0063 2215 006B 0067; Additional folding
2282    33C7; 0063 006F 002E; Additional folding
2283    33C8; 0064 0062; Additional folding
2284    33C9; 0067 0079; Additional folding
2285    33CB; 0068 0070; Additional folding
2286    33CD; 006B 006B; Additional folding
2287    33CE; 006B 006D; Additional folding
2288    33D7; 0070 0068; Additional folding
2289    33D9; 0070 0070 006D; Additional folding
2290    33DA; 0070 0072; Additional folding
2291    33DC; 0073 0076; Additional folding
2292    33DD; 0077 0062; Additional folding
2293    FB00; 0066 0066; Case map
2294    FB01; 0066 0069; Case map
2295    FB02; 0066 006C; Case map
2296    FB03; 0066 0066 0069; Case map
2297    FB04; 0066 0066 006C; Case map
2298    FB05; 0073 0074; Case map
2299    FB06; 0073 0074; Case map
2300    FB13; 0574 0576; Case map
2301    FB14; 0574 0565; Case map
2302    FB15; 0574 056B; Case map
2303    FB16; 057E 0576; Case map
2304    FB17; 0574 056D; Case map
2305    FF21; FF41; Case map
2306    FF22; FF42; Case map
2307    FF23; FF43; Case map
2308    FF24; FF44; Case map
2309    FF25; FF45; Case map
2310    FF26; FF46; Case map
2311    FF27; FF47; Case map
2312    FF28; FF48; Case map
2313    FF29; FF49; Case map
2314    FF2A; FF4A; Case map
2315    FF2B; FF4B; Case map
2316    FF2C; FF4C; Case map
2317    FF2D; FF4D; Case map
2318    FF2E; FF4E; Case map
2319    FF2F; FF4F; Case map
2320    FF30; FF50; Case map
2321    FF31; FF51; Case map
2322    FF32; FF52; Case map
2323    FF33; FF53; Case map
2324    FF34; FF54; Case map
2325    FF35; FF55; Case map
2326    FF36; FF56; Case map
2327    FF37; FF57; Case map
2328    FF38; FF58; Case map
2329    FF39; FF59; Case map
2330    FF3A; FF5A; Case map
2331    10400; 10428; Case map
2332    10401; 10429; Case map
2333    10402; 1042A; Case map
2334    10403; 1042B; Case map
2335    10404; 1042C; Case map
2336    10405; 1042D; Case map
2337    10406; 1042E; Case map
2338    10407; 1042F; Case map
2339    10408; 10430; Case map
2340    10409; 10431; Case map
2341    1040A; 10432; Case map
2342    1040B; 10433; Case map
2343    1040C; 10434; Case map
2344    1040D; 10435; Case map
2345    1040E; 10436; Case map
2346    1040F; 10437; Case map
2347    10410; 10438; Case map
2348    10411; 10439; Case map
2349    10412; 1043A; Case map
2350    10413; 1043B; Case map
2351    10414; 1043C; Case map
2352    10415; 1043D; Case map
2353    10416; 1043E; Case map
2354    10417; 1043F; Case map
2355    10418; 10440; Case map
2356    10419; 10441; Case map
2357    1041A; 10442; Case map
2358    1041B; 10443; Case map
2359    1041C; 10444; Case map
2360    1041D; 10445; Case map
2361    1041E; 10446; Case map
2362    1041F; 10447; Case map
2363    10420; 10448; Case map
2364    10421; 10449; Case map
2365    10422; 1044A; Case map
2366    10423; 1044B; Case map
2367    10424; 1044C; Case map
2368    10425; 1044D; Case map
2369    1D400; 0061; Additional folding
2370    1D401; 0062; Additional folding
2371    1D402; 0063; Additional folding
2372    1D403; 0064; Additional folding
2373    1D404; 0065; Additional folding
2374    1D405; 0066; Additional folding
2375    1D406; 0067; Additional folding
2376    1D407; 0068; Additional folding
2377    1D408; 0069; Additional folding
2378    1D409; 006A; Additional folding
2379    1D40A; 006B; Additional folding
2380    1D40B; 006C; Additional folding
2381    1D40C; 006D; Additional folding
2382    1D40D; 006E; Additional folding
2383    1D40E; 006F; Additional folding
2384    1D40F; 0070; Additional folding
2385    1D410; 0071; Additional folding
2386    1D411; 0072; Additional folding
2387    1D412; 0073; Additional folding
2388    1D413; 0074; Additional folding
2389    1D414; 0075; Additional folding
2390    1D415; 0076; Additional folding
2391    1D416; 0077; Additional folding
2392    1D417; 0078; Additional folding
2393    1D418; 0079; Additional folding
2394    1D419; 007A; Additional folding
2395    1D434; 0061; Additional folding
2396    1D435; 0062; Additional folding
2397    1D436; 0063; Additional folding
2398    1D437; 0064; Additional folding
2399    1D438; 0065; Additional folding
2400    1D439; 0066; Additional folding
2401    1D43A; 0067; Additional folding
2402    1D43B; 0068; Additional folding
2403    1D43C; 0069; Additional folding
2404    1D43D; 006A; Additional folding
2405    1D43E; 006B; Additional folding
2406    1D43F; 006C; Additional folding
2407    1D440; 006D; Additional folding
2408    1D441; 006E; Additional folding
2409    1D442; 006F; Additional folding
2410    1D443; 0070; Additional folding
2411    1D444; 0071; Additional folding
2412    1D445; 0072; Additional folding
2413    1D446; 0073; Additional folding
2414    1D447; 0074; Additional folding
2415    1D448; 0075; Additional folding
2416    1D449; 0076; Additional folding
2417    1D44A; 0077; Additional folding
2418    1D44B; 0078; Additional folding
2419    1D44C; 0079; Additional folding
2420    1D44D; 007A; Additional folding
2421    1D468; 0061; Additional folding
2422    1D469; 0062; Additional folding
2423    1D46A; 0063; Additional folding
2424    1D46B; 0064; Additional folding
2425    1D46C; 0065; Additional folding
2426    1D46D; 0066; Additional folding
2427    1D46E; 0067; Additional folding
2428    1D46F; 0068; Additional folding
2429    1D470; 0069; Additional folding
2430    1D471; 006A; Additional folding
2431    1D472; 006B; Additional folding
2432    1D473; 006C; Additional folding
2433    1D474; 006D; Additional folding
2434    1D475; 006E; Additional folding
2435    1D476; 006F; Additional folding
2436    1D477; 0070; Additional folding
2437    1D478; 0071; Additional folding
2438    1D479; 0072; Additional folding
2439    1D47A; 0073; Additional folding
2440    1D47B; 0074; Additional folding
2441    1D47C; 0075; Additional folding
2442    1D47D; 0076; Additional folding
2443    1D47E; 0077; Additional folding
2444    1D47F; 0078; Additional folding
2445    1D480; 0079; Additional folding
2446    1D481; 007A; Additional folding
2447    1D49C; 0061; Additional folding
2448    1D49E; 0063; Additional folding
2449    1D49F; 0064; Additional folding
2450    1D4A2; 0067; Additional folding
2451    1D4A5; 006A; Additional folding
2452    1D4A6; 006B; Additional folding
2453    1D4A9; 006E; Additional folding
2454    1D4AA; 006F; Additional folding
2455    1D4AB; 0070; Additional folding
2456    1D4AC; 0071; Additional folding
2457    1D4AE; 0073; Additional folding
2458    1D4AF; 0074; Additional folding
2459    1D4B0; 0075; Additional folding
2460    1D4B1; 0076; Additional folding
2461    1D4B2; 0077; Additional folding
2462    1D4B3; 0078; Additional folding
2463    1D4B4; 0079; Additional folding
2464    1D4B5; 007A; Additional folding
2465    1D4D0; 0061; Additional folding
2466    1D4D1; 0062; Additional folding
2467    1D4D2; 0063; Additional folding
2468    1D4D3; 0064; Additional folding
2469    1D4D4; 0065; Additional folding
2470    1D4D5; 0066; Additional folding
2471    1D4D6; 0067; Additional folding
2472    1D4D7; 0068; Additional folding
2473    1D4D8; 0069; Additional folding
2474    1D4D9; 006A; Additional folding
2475    1D4DA; 006B; Additional folding
2476    1D4DB; 006C; Additional folding
2477    1D4DC; 006D; Additional folding
2478    1D4DD; 006E; Additional folding
2479    1D4DE; 006F; Additional folding
2480    1D4DF; 0070; Additional folding
2481    1D4E0; 0071; Additional folding
2482    1D4E1; 0072; Additional folding
2483    1D4E2; 0073; Additional folding
2484    1D4E3; 0074; Additional folding
2485    1D4E4; 0075; Additional folding
2486    1D4E5; 0076; Additional folding
2487    1D4E6; 0077; Additional folding
2488    1D4E7; 0078; Additional folding
2489    1D4E8; 0079; Additional folding
2490    1D4E9; 007A; Additional folding
2491    1D504; 0061; Additional folding
2492    1D505; 0062; Additional folding
2493    1D507; 0064; Additional folding
2494    1D508; 0065; Additional folding
2495    1D509; 0066; Additional folding
2496    1D50A; 0067; Additional folding
2497    1D50D; 006A; Additional folding
2498    1D50E; 006B; Additional folding
2499    1D50F; 006C; Additional folding
2500    1D510; 006D; Additional folding
2501    1D511; 006E; Additional folding
2502    1D512; 006F; Additional folding
2503    1D513; 0070; Additional folding
2504    1D514; 0071; Additional folding
2505    1D516; 0073; Additional folding
2506    1D517; 0074; Additional folding
2507    1D518; 0075; Additional folding
2508    1D519; 0076; Additional folding
2509    1D51A; 0077; Additional folding
2510    1D51B; 0078; Additional folding
2511    1D51C; 0079; Additional folding
2512    1D538; 0061; Additional folding
2513    1D539; 0062; Additional folding
2514    1D53B; 0064; Additional folding
2515    1D53C; 0065; Additional folding
2516    1D53D; 0066; Additional folding
2517    1D53E; 0067; Additional folding
2518    1D540; 0069; Additional folding
2519    1D541; 006A; Additional folding
2520    1D542; 006B; Additional folding
2521    1D543; 006C; Additional folding
2522    1D544; 006D; Additional folding
2523    1D546; 006F; Additional folding
2524    1D54A; 0073; Additional folding
2525    1D54B; 0074; Additional folding
2526    1D54C; 0075; Additional folding
2527    1D54D; 0076; Additional folding
2528    1D54E; 0077; Additional folding
2529    1D54F; 0078; Additional folding
2530    1D550; 0079; Additional folding
2531    1D56C; 0061; Additional folding
2532    1D56D; 0062; Additional folding
2533    1D56E; 0063; Additional folding
2534    1D56F; 0064; Additional folding
2535    1D570; 0065; Additional folding
2536    1D571; 0066; Additional folding
2537    1D572; 0067; Additional folding
2538    1D573; 0068; Additional folding
2539    1D574; 0069; Additional folding
2540    1D575; 006A; Additional folding
2541    1D576; 006B; Additional folding
2542    1D577; 006C; Additional folding
2543    1D578; 006D; Additional folding
2544    1D579; 006E; Additional folding
2545    1D57A; 006F; Additional folding
2546    1D57B; 0070; Additional folding
2547    1D57C; 0071; Additional folding
2548    1D57D; 0072; Additional folding
2549    1D57E; 0073; Additional folding
2550    1D57F; 0074; Additional folding
2551    1D580; 0075; Additional folding
2552    1D581; 0076; Additional folding
2553    1D582; 0077; Additional folding
2554    1D583; 0078; Additional folding
2555    1D584; 0079; Additional folding
2556    1D585; 007A; Additional folding
2557    1D5A0; 0061; Additional folding
2558    1D5A1; 0062; Additional folding
2559    1D5A2; 0063; Additional folding
2560    1D5A3; 0064; Additional folding
2561    1D5A4; 0065; Additional folding
2562    1D5A5; 0066; Additional folding
2563    1D5A6; 0067; Additional folding
2564    1D5A7; 0068; Additional folding
2565    1D5A8; 0069; Additional folding
2566    1D5A9; 006A; Additional folding
2567    1D5AA; 006B; Additional folding
2568    1D5AB; 006C; Additional folding
2569    1D5AC; 006D; Additional folding
2570    1D5AD; 006E; Additional folding
2571    1D5AE; 006F; Additional folding
2572    1D5AF; 0070; Additional folding
2573    1D5B0; 0071; Additional folding
2574    1D5B1; 0072; Additional folding
2575    1D5B2; 0073; Additional folding
2576    1D5B3; 0074; Additional folding
2577    1D5B4; 0075; Additional folding
2578    1D5B5; 0076; Additional folding
2579    1D5B6; 0077; Additional folding
2580    1D5B7; 0078; Additional folding
2581    1D5B8; 0079; Additional folding
2582    1D5B9; 007A; Additional folding
2583    1D5D4; 0061; Additional folding
2584    1D5D5; 0062; Additional folding
2585    1D5D6; 0063; Additional folding
2586    1D5D7; 0064; Additional folding
2587    1D5D8; 0065; Additional folding
2588    1D5D9; 0066; Additional folding
2589    1D5DA; 0067; Additional folding
2590    1D5DB; 0068; Additional folding
2591    1D5DC; 0069; Additional folding
2592    1D5DD; 006A; Additional folding
2593    1D5DE; 006B; Additional folding
2594    1D5DF; 006C; Additional folding
2595    1D5E0; 006D; Additional folding
2596    1D5E1; 006E; Additional folding
2597    1D5E2; 006F; Additional folding
2598    1D5E3; 0070; Additional folding
2599    1D5E4; 0071; Additional folding
2600    1D5E5; 0072; Additional folding
2601    1D5E6; 0073; Additional folding
2602    1D5E7; 0074; Additional folding
2603    1D5E8; 0075; Additional folding
2604    1D5E9; 0076; Additional folding
2605    1D5EA; 0077; Additional folding
2606    1D5EB; 0078; Additional folding
2607    1D5EC; 0079; Additional folding
2608    1D5ED; 007A; Additional folding
2609    1D608; 0061; Additional folding
2610    1D609; 0062; Additional folding
2611    1D60A; 0063; Additional folding
2612    1D60B; 0064; Additional folding
2613    1D60C; 0065; Additional folding
2614    1D60D; 0066; Additional folding
2615    1D60E; 0067; Additional folding
2616    1D60F; 0068; Additional folding
2617    1D610; 0069; Additional folding
2618    1D611; 006A; Additional folding
2619    1D612; 006B; Additional folding
2620    1D613; 006C; Additional folding
2621    1D614; 006D; Additional folding
2622    1D615; 006E; Additional folding
2623    1D616; 006F; Additional folding
2624    1D617; 0070; Additional folding
2625    1D618; 0071; Additional folding
2626    1D619; 0072; Additional folding
2627    1D61A; 0073; Additional folding
2628    1D61B; 0074; Additional folding
2629    1D61C; 0075; Additional folding
2630    1D61D; 0076; Additional folding
2631    1D61E; 0077; Additional folding
2632    1D61F; 0078; Additional folding
2633    1D620; 0079; Additional folding
2634    1D621; 007A; Additional folding
2635    1D63C; 0061; Additional folding
2636    1D63D; 0062; Additional folding
2637    1D63E; 0063; Additional folding
2638    1D63F; 0064; Additional folding
2639    1D640; 0065; Additional folding
2640    1D641; 0066; Additional folding
2641    1D642; 0067; Additional folding
2642    1D643; 0068; Additional folding
2643    1D644; 0069; Additional folding
2644    1D645; 006A; Additional folding
2645    1D646; 006B; Additional folding
2646    1D647; 006C; Additional folding
2647    1D648; 006D; Additional folding
2648    1D649; 006E; Additional folding
2649    1D64A; 006F; Additional folding
2650    1D64B; 0070; Additional folding
2651    1D64C; 0071; Additional folding
2652    1D64D; 0072; Additional folding
2653    1D64E; 0073; Additional folding
2654    1D64F; 0074; Additional folding
2655    1D650; 0075; Additional folding
2656    1D651; 0076; Additional folding
2657    1D652; 0077; Additional folding
2658    1D653; 0078; Additional folding
2659    1D654; 0079; Additional folding
2660    1D655; 007A; Additional folding
2661    1D670; 0061; Additional folding
2662    1D671; 0062; Additional folding
2663    1D672; 0063; Additional folding
2664    1D673; 0064; Additional folding
2665    1D674; 0065; Additional folding
2666    1D675; 0066; Additional folding
2667    1D676; 0067; Additional folding
2668    1D677; 0068; Additional folding
2669    1D678; 0069; Additional folding
2670    1D679; 006A; Additional folding
2671    1D67A; 006B; Additional folding
2672    1D67B; 006C; Additional folding
2673    1D67C; 006D; Additional folding
2674    1D67D; 006E; Additional folding
2675    1D67E; 006F; Additional folding
2676    1D67F; 0070; Additional folding
2677    1D680; 0071; Additional folding
2678    1D681; 0072; Additional folding
2679    1D682; 0073; Additional folding
2680    1D683; 0074; Additional folding
2681    1D684; 0075; Additional folding
2682    1D685; 0076; Additional folding
2683    1D686; 0077; Additional folding
2684    1D687; 0078; Additional folding
2685    1D688; 0079; Additional folding
2686    1D689; 007A; Additional folding
2687    1D6A8; 03B1; Additional folding
2688    1D6A9; 03B2; Additional folding
2689    1D6AA; 03B3; Additional folding
2690    1D6AB; 03B4; Additional folding
2691    1D6AC; 03B5; Additional folding
2692    1D6AD; 03B6; Additional folding
2693    1D6AE; 03B7; Additional folding
2694    1D6AF; 03B8; Additional folding
2695    1D6B0; 03B9; Additional folding
2696    1D6B1; 03BA; Additional folding
2697    1D6B2; 03BB; Additional folding
2698    1D6B3; 03BC; Additional folding
2699    1D6B4; 03BD; Additional folding
2700    1D6B5; 03BE; Additional folding
2701    1D6B6; 03BF; Additional folding
2702    1D6B7; 03C0; Additional folding
2703    1D6B8; 03C1; Additional folding
2704    1D6B9; 03B8; Additional folding
2705    1D6BA; 03C3; Additional folding
2706    1D6BB; 03C4; Additional folding
2707    1D6BC; 03C5; Additional folding
2708    1D6BD; 03C6; Additional folding
2709    1D6BE; 03C7; Additional folding
2710    1D6BF; 03C8; Additional folding
2711    1D6C0; 03C9; Additional folding
2712    1D6D3; 03C3; Additional folding
2713    1D6E2; 03B1; Additional folding
2714    1D6E3; 03B2; Additional folding
2715    1D6E4; 03B3; Additional folding
2716    1D6E5; 03B4; Additional folding
2717    1D6E6; 03B5; Additional folding
2718    1D6E7; 03B6; Additional folding
2719    1D6E8; 03B7; Additional folding
2720    1D6E9; 03B8; Additional folding
2721    1D6EA; 03B9; Additional folding
2722    1D6EB; 03BA; Additional folding
2723    1D6EC; 03BB; Additional folding
2724    1D6ED; 03BC; Additional folding
2725    1D6EE; 03BD; Additional folding
2726    1D6EF; 03BE; Additional folding
2727    1D6F0; 03BF; Additional folding
2728    1D6F1; 03C0; Additional folding
2729    1D6F2; 03C1; Additional folding
2730    1D6F3; 03B8; Additional folding
2731    1D6F4; 03C3; Additional folding
2732    1D6F5; 03C4; Additional folding
2733    1D6F6; 03C5; Additional folding
2734    1D6F7; 03C6; Additional folding
2735    1D6F8; 03C7; Additional folding
2736    1D6F9; 03C8; Additional folding
2737    1D6FA; 03C9; Additional folding
2738    1D70D; 03C3; Additional folding
2739    1D71C; 03B1; Additional folding
2740    1D71D; 03B2; Additional folding
2741    1D71E; 03B3; Additional folding
2742    1D71F; 03B4; Additional folding
2743    1D720; 03B5; Additional folding
2744    1D721; 03B6; Additional folding
2745    1D722; 03B7; Additional folding
2746    1D723; 03B8; Additional folding
2747    1D724; 03B9; Additional folding
2748    1D725; 03BA; Additional folding
2749    1D726; 03BB; Additional folding
2750    1D727; 03BC; Additional folding
2751    1D728; 03BD; Additional folding
2752    1D729; 03BE; Additional folding
2753    1D72A; 03BF; Additional folding
2754    1D72B; 03C0; Additional folding
2755    1D72C; 03C1; Additional folding
2756    1D72D; 03B8; Additional folding
2757    1D72E; 03C3; Additional folding
2758    1D72F; 03C4; Additional folding
2759    1D730; 03C5; Additional folding
2760    1D731; 03C6; Additional folding
2761    1D732; 03C7; Additional folding
2762    1D733; 03C8; Additional folding
2763    1D734; 03C9; Additional folding
2764    1D747; 03C3; Additional folding
2765    1D756; 03B1; Additional folding
2766    1D757; 03B2; Additional folding
2767    1D758; 03B3; Additional folding
2768    1D759; 03B4; Additional folding
2769    1D75A; 03B5; Additional folding
2770    1D75B; 03B6; Additional folding
2771    1D75C; 03B7; Additional folding
2772    1D75D; 03B8; Additional folding
2773    1D75E; 03B9; Additional folding
2774    1D75F; 03BA; Additional folding
2775    1D760; 03BB; Additional folding
2776    1D761; 03BC; Additional folding
2777    1D762; 03BD; Additional folding
2778    1D763; 03BE; Additional folding
2779    1D764; 03BF; Additional folding
2780    1D765; 03C0; Additional folding
2781    1D766; 03C1; Additional folding
2782    1D767; 03B8; Additional folding
2783    1D768; 03C3; Additional folding
2784    1D769; 03C4; Additional folding
2785    1D76A; 03C5; Additional folding
2786    1D76B; 03C6; Additional folding
2787    1D76C; 03C7; Additional folding
2788    1D76D; 03C8; Additional folding
2789    1D76E; 03C9; Additional folding
2790    1D781; 03C3; Additional folding
2791    1D790; 03B1; Additional folding
2792    1D791; 03B2; Additional folding
2793    1D792; 03B3; Additional folding
2794    1D793; 03B4; Additional folding
2795    1D794; 03B5; Additional folding
2796    1D795; 03B6; Additional folding
2797    1D796; 03B7; Additional folding
2798    1D797; 03B8; Additional folding
2799    1D798; 03B9; Additional folding
2800    1D799; 03BA; Additional folding
2801    1D79A; 03BB; Additional folding
2802    1D79B; 03BC; Additional folding
2803    1D79C; 03BD; Additional folding
2804    1D79D; 03BE; Additional folding
2805    1D79E; 03BF; Additional folding
2806    1D79F; 03C0; Additional folding
2807    1D7A0; 03C1; Additional folding
2808    1D7A1; 03B8; Additional folding
2809    1D7A2; 03C3; Additional folding
2810    1D7A3; 03C4; Additional folding
2811    1D7A4; 03C5; Additional folding
2812    1D7A5; 03C6; Additional folding
2813    1D7A6; 03C7; Additional folding
2814    1D7A7; 03C8; Additional folding
2815    1D7A8; 03C9; Additional folding
2816    1D7BB; 03C3; Additional folding
2817    ----- End Table B.2 -----
2819 B.3 Mapping for case-folding used with no normalization
2821    ----- Start Table B.3 -----
2822    0041; 0061; Case map
2823    0042; 0062; Case map
2824    0043; 0063; Case map
2825    0044; 0064; Case map
2826    0045; 0065; Case map
2827    0046; 0066; Case map
2828    0047; 0067; Case map
2829    0048; 0068; Case map
2830    0049; 0069; Case map
2831    004A; 006A; Case map
2832    004B; 006B; Case map
2833    004C; 006C; Case map
2834    004D; 006D; Case map
2835    004E; 006E; Case map
2836    004F; 006F; Case map
2837    0050; 0070; Case map
2838    0051; 0071; Case map
2839    0052; 0072; Case map
2840    0053; 0073; Case map
2841    0054; 0074; Case map
2842    0055; 0075; Case map
2843    0056; 0076; Case map
2844    0057; 0077; Case map
2845    0058; 0078; Case map
2846    0059; 0079; Case map
2847    005A; 007A; Case map
2848    00B5; 03BC; Case map
2849    00C0; 00E0; Case map
2850    00C1; 00E1; Case map
2851    00C2; 00E2; Case map
2852    00C3; 00E3; Case map
2853    00C4; 00E4; Case map
2854    00C5; 00E5; Case map
2855    00C6; 00E6; Case map
2856    00C7; 00E7; Case map
2857    00C8; 00E8; Case map
2858    00C9; 00E9; Case map
2859    00CA; 00EA; Case map
2860    00CB; 00EB; Case map
2861    00CC; 00EC; Case map
2862    00CD; 00ED; Case map
2863    00CE; 00EE; Case map
2864    00CF; 00EF; Case map
2865    00D0; 00F0; Case map
2866    00D1; 00F1; Case map
2867    00D2; 00F2; Case map
2868    00D3; 00F3; Case map
2869    00D4; 00F4; Case map
2870    00D5; 00F5; Case map
2871    00D6; 00F6; Case map
2872    00D8; 00F8; Case map
2873    00D9; 00F9; Case map
2874    00DA; 00FA; Case map
2875    00DB; 00FB; Case map
2876    00DC; 00FC; Case map
2877    00DD; 00FD; Case map
2878    00DE; 00FE; Case map
2879    00DF; 0073 0073; Case map
2880    0100; 0101; Case map
2881    0102; 0103; Case map
2882    0104; 0105; Case map
2883    0106; 0107; Case map
2884    0108; 0109; Case map
2885    010A; 010B; Case map
2886    010C; 010D; Case map
2887    010E; 010F; Case map
2888    0110; 0111; Case map
2889    0112; 0113; Case map
2890    0114; 0115; Case map
2891    0116; 0117; Case map
2892    0118; 0119; Case map
2893    011A; 011B; Case map
2894    011C; 011D; Case map
2895    011E; 011F; Case map
2896    0120; 0121; Case map
2897    0122; 0123; Case map
2898    0124; 0125; Case map
2899    0126; 0127; Case map
2900    0128; 0129; Case map
2901    012A; 012B; Case map
2902    012C; 012D; Case map
2903    012E; 012F; Case map
2904    0130; 0069 0307; Case map
2905    0132; 0133; Case map
2906    0134; 0135; Case map
2907    0136; 0137; Case map
2908    0139; 013A; Case map
2909    013B; 013C; Case map
2910    013D; 013E; Case map
2911    013F; 0140; Case map
2912    0141; 0142; Case map
2913    0143; 0144; Case map
2914    0145; 0146; Case map
2915    0147; 0148; Case map
2916    0149; 02BC 006E; Case map
2917    014A; 014B; Case map
2918    014C; 014D; Case map
2919    014E; 014F; Case map
2920    0150; 0151; Case map
2921    0152; 0153; Case map
2922    0154; 0155; Case map
2923    0156; 0157; Case map
2924    0158; 0159; Case map
2925    015A; 015B; Case map
2926    015C; 015D; Case map
2927    015E; 015F; Case map
2928    0160; 0161; Case map
2929    0162; 0163; Case map
2930    0164; 0165; Case map
2931    0166; 0167; Case map
2932    0168; 0169; Case map
2933    016A; 016B; Case map
2934    016C; 016D; Case map
2935    016E; 016F; Case map
2936    0170; 0171; Case map
2937    0172; 0173; Case map
2938    0174; 0175; Case map
2939    0176; 0177; Case map
2940    0178; 00FF; Case map
2941    0179; 017A; Case map
2942    017B; 017C; Case map
2943    017D; 017E; Case map
2944    017F; 0073; Case map
2945    0181; 0253; Case map
2946    0182; 0183; Case map
2947    0184; 0185; Case map
2948    0186; 0254; Case map
2949    0187; 0188; Case map
2950    0189; 0256; Case map
2951    018A; 0257; Case map
2952    018B; 018C; Case map
2953    018E; 01DD; Case map
2954    018F; 0259; Case map
2955    0190; 025B; Case map
2956    0191; 0192; Case map
2957    0193; 0260; Case map
2958    0194; 0263; Case map
2959    0196; 0269; Case map
2960    0197; 0268; Case map
2961    0198; 0199; Case map
2962    019C; 026F; Case map
2963    019D; 0272; Case map
2964    019F; 0275; Case map
2965    01A0; 01A1; Case map
2966    01A2; 01A3; Case map
2967    01A4; 01A5; Case map
2968    01A6; 0280; Case map
2969    01A7; 01A8; Case map
2970    01A9; 0283; Case map
2971    01AC; 01AD; Case map
2972    01AE; 0288; Case map
2973    01AF; 01B0; Case map
2974    01B1; 028A; Case map
2975    01B2; 028B; Case map
2976    01B3; 01B4; Case map
2977    01B5; 01B6; Case map
2978    01B7; 0292; Case map
2979    01B8; 01B9; Case map
2980    01BC; 01BD; Case map
2981    01C4; 01C6; Case map
2982    01C5; 01C6; Case map
2983    01C7; 01C9; Case map
2984    01C8; 01C9; Case map
2985    01CA; 01CC; Case map
2986    01CB; 01CC; Case map
2987    01CD; 01CE; Case map
2988    01CF; 01D0; Case map
2989    01D1; 01D2; Case map
2990    01D3; 01D4; Case map
2991    01D5; 01D6; Case map
2992    01D7; 01D8; Case map
2993    01D9; 01DA; Case map
2994    01DB; 01DC; Case map
2995    01DE; 01DF; Case map
2996    01E0; 01E1; Case map
2997    01E2; 01E3; Case map
2998    01E4; 01E5; Case map
2999    01E6; 01E7; Case map
3000    01E8; 01E9; Case map
3001    01EA; 01EB; Case map
3002    01EC; 01ED; Case map
3003    01EE; 01EF; Case map
3004    01F0; 006A 030C; Case map
3005    01F1; 01F3; Case map
3006    01F2; 01F3; Case map
3007    01F4; 01F5; Case map
3008    01F6; 0195; Case map
3009    01F7; 01BF; Case map
3010    01F8; 01F9; Case map
3011    01FA; 01FB; Case map
3012    01FC; 01FD; Case map
3013    01FE; 01FF; Case map
3014    0200; 0201; Case map
3015    0202; 0203; Case map
3016    0204; 0205; Case map
3017    0206; 0207; Case map
3018    0208; 0209; Case map
3019    020A; 020B; Case map
3020    020C; 020D; Case map
3021    020E; 020F; Case map
3022    0210; 0211; Case map
3023    0212; 0213; Case map
3024    0214; 0215; Case map
3025    0216; 0217; Case map
3026    0218; 0219; Case map
3027    021A; 021B; Case map
3028    021C; 021D; Case map
3029    021E; 021F; Case map
3030    0220; 019E; Case map
3031    0222; 0223; Case map
3032    0224; 0225; Case map
3033    0226; 0227; Case map
3034    0228; 0229; Case map
3035    022A; 022B; Case map
3036    022C; 022D; Case map
3037    022E; 022F; Case map
3038    0230; 0231; Case map
3039    0232; 0233; Case map
3040    0345; 03B9; Case map
3041    0386; 03AC; Case map
3042    0388; 03AD; Case map
3043    0389; 03AE; Case map
3044    038A; 03AF; Case map
3045    038C; 03CC; Case map
3046    038E; 03CD; Case map
3047    038F; 03CE; Case map
3048    0390; 03B9 0308 0301; Case map
3049    0391; 03B1; Case map
3050    0392; 03B2; Case map
3051    0393; 03B3; Case map
3052    0394; 03B4; Case map
3053    0395; 03B5; Case map
3054    0396; 03B6; Case map
3055    0397; 03B7; Case map
3056    0398; 03B8; Case map
3057    0399; 03B9; Case map
3058    039A; 03BA; Case map
3059    039B; 03BB; Case map
3060    039C; 03BC; Case map
3061    039D; 03BD; Case map
3062    039E; 03BE; Case map
3063    039F; 03BF; Case map
3064    03A0; 03C0; Case map
3065    03A1; 03C1; Case map
3066    03A3; 03C3; Case map
3067    03A4; 03C4; Case map
3068    03A5; 03C5; Case map
3069    03A6; 03C6; Case map
3070    03A7; 03C7; Case map
3071    03A8; 03C8; Case map
3072    03A9; 03C9; Case map
3073    03AA; 03CA; Case map
3074    03AB; 03CB; Case map
3075    03B0; 03C5 0308 0301; Case map
3076    03C2; 03C3; Case map
3077    03D0; 03B2; Case map
3078    03D1; 03B8; Case map
3079    03D5; 03C6; Case map
3080    03D6; 03C0; Case map
3081    03D8; 03D9; Case map
3082    03DA; 03DB; Case map
3083    03DC; 03DD; Case map
3084    03DE; 03DF; Case map
3085    03E0; 03E1; Case map
3086    03E2; 03E3; Case map
3087    03E4; 03E5; Case map
3088    03E6; 03E7; Case map
3089    03E8; 03E9; Case map
3090    03EA; 03EB; Case map
3091    03EC; 03ED; Case map
3092    03EE; 03EF; Case map
3093    03F0; 03BA; Case map
3094    03F1; 03C1; Case map
3095    03F2; 03C3; Case map
3096    03F4; 03B8; Case map
3097    03F5; 03B5; Case map
3098    0400; 0450; Case map
3099    0401; 0451; Case map
3100    0402; 0452; Case map
3101    0403; 0453; Case map
3102    0404; 0454; Case map
3103    0405; 0455; Case map
3104    0406; 0456; Case map
3105    0407; 0457; Case map
3106    0408; 0458; Case map
3107    0409; 0459; Case map
3108    040A; 045A; Case map
3109    040B; 045B; Case map
3110    040C; 045C; Case map
3111    040D; 045D; Case map
3112    040E; 045E; Case map
3113    040F; 045F; Case map
3114    0410; 0430; Case map
3115    0411; 0431; Case map
3116    0412; 0432; Case map
3117    0413; 0433; Case map
3118    0414; 0434; Case map
3119    0415; 0435; Case map
3120    0416; 0436; Case map
3121    0417; 0437; Case map
3122    0418; 0438; Case map
3123    0419; 0439; Case map
3124    041A; 043A; Case map
3125    041B; 043B; Case map
3126    041C; 043C; Case map
3127    041D; 043D; Case map
3128    041E; 043E; Case map
3129    041F; 043F; Case map
3130    0420; 0440; Case map
3131    0421; 0441; Case map
3132    0422; 0442; Case map
3133    0423; 0443; Case map
3134    0424; 0444; Case map
3135    0425; 0445; Case map
3136    0426; 0446; Case map
3137    0427; 0447; Case map
3138    0428; 0448; Case map
3139    0429; 0449; Case map
3140    042A; 044A; Case map
3141    042B; 044B; Case map
3142    042C; 044C; Case map
3143    042D; 044D; Case map
3144    042E; 044E; Case map
3145    042F; 044F; Case map
3146    0460; 0461; Case map
3147    0462; 0463; Case map
3148    0464; 0465; Case map
3149    0466; 0467; Case map
3150    0468; 0469; Case map
3151    046A; 046B; Case map
3152    046C; 046D; Case map
3153    046E; 046F; Case map
3154    0470; 0471; Case map
3155    0472; 0473; Case map
3156    0474; 0475; Case map
3157    0476; 0477; Case map
3158    0478; 0479; Case map
3159    047A; 047B; Case map
3160    047C; 047D; Case map
3161    047E; 047F; Case map
3162    0480; 0481; Case map
3163    048A; 048B; Case map
3164    048C; 048D; Case map
3165    048E; 048F; Case map
3166    0490; 0491; Case map
3167    0492; 0493; Case map
3168    0494; 0495; Case map
3169    0496; 0497; Case map
3170    0498; 0499; Case map
3171    049A; 049B; Case map
3172    049C; 049D; Case map
3173    049E; 049F; Case map
3174    04A0; 04A1; Case map
3175    04A2; 04A3; Case map
3176    04A4; 04A5; Case map
3177    04A6; 04A7; Case map
3178    04A8; 04A9; Case map
3179    04AA; 04AB; Case map
3180    04AC; 04AD; Case map
3181    04AE; 04AF; Case map
3182    04B0; 04B1; Case map
3183    04B2; 04B3; Case map
3184    04B4; 04B5; Case map
3185    04B6; 04B7; Case map
3186    04B8; 04B9; Case map
3187    04BA; 04BB; Case map
3188    04BC; 04BD; Case map
3189    04BE; 04BF; Case map
3190    04C1; 04C2; Case map
3191    04C3; 04C4; Case map
3192    04C5; 04C6; Case map
3193    04C7; 04C8; Case map
3194    04C9; 04CA; Case map
3195    04CB; 04CC; Case map
3196    04CD; 04CE; Case map
3197    04D0; 04D1; Case map
3198    04D2; 04D3; Case map
3199    04D4; 04D5; Case map
3200    04D6; 04D7; Case map
3201    04D8; 04D9; Case map
3202    04DA; 04DB; Case map
3203    04DC; 04DD; Case map
3204    04DE; 04DF; Case map
3205    04E0; 04E1; Case map
3206    04E2; 04E3; Case map
3207    04E4; 04E5; Case map
3208    04E6; 04E7; Case map
3209    04E8; 04E9; Case map
3210    04EA; 04EB; Case map
3211    04EC; 04ED; Case map
3212    04EE; 04EF; Case map
3213    04F0; 04F1; Case map
3214    04F2; 04F3; Case map
3215    04F4; 04F5; Case map
3216    04F8; 04F9; Case map
3217    0500; 0501; Case map
3218    0502; 0503; Case map
3219    0504; 0505; Case map
3220    0506; 0507; Case map
3221    0508; 0509; Case map
3222    050A; 050B; Case map
3223    050C; 050D; Case map
3224    050E; 050F; Case map
3225    0531; 0561; Case map
3226    0532; 0562; Case map
3227    0533; 0563; Case map
3228    0534; 0564; Case map
3229    0535; 0565; Case map
3230    0536; 0566; Case map
3231    0537; 0567; Case map
3232    0538; 0568; Case map
3233    0539; 0569; Case map
3234    053A; 056A; Case map
3235    053B; 056B; Case map
3236    053C; 056C; Case map
3237    053D; 056D; Case map
3238    053E; 056E; Case map
3239    053F; 056F; Case map
3240    0540; 0570; Case map
3241    0541; 0571; Case map
3242    0542; 0572; Case map
3243    0543; 0573; Case map
3244    0544; 0574; Case map
3245    0545; 0575; Case map
3246    0546; 0576; Case map
3247    0547; 0577; Case map
3248    0548; 0578; Case map
3249    0549; 0579; Case map
3250    054A; 057A; Case map
3251    054B; 057B; Case map
3252    054C; 057C; Case map
3253    054D; 057D; Case map
3254    054E; 057E; Case map
3255    054F; 057F; Case map
3256    0550; 0580; Case map
3257    0551; 0581; Case map
3258    0552; 0582; Case map
3259    0553; 0583; Case map
3260    0554; 0584; Case map
3261    0555; 0585; Case map
3262    0556; 0586; Case map
3263    0587; 0565 0582; Case map
3264    1E00; 1E01; Case map
3265    1E02; 1E03; Case map
3266    1E04; 1E05; Case map
3267    1E06; 1E07; Case map
3268    1E08; 1E09; Case map
3269    1E0A; 1E0B; Case map
3270    1E0C; 1E0D; Case map
3271    1E0E; 1E0F; Case map
3272    1E10; 1E11; Case map
3273    1E12; 1E13; Case map
3274    1E14; 1E15; Case map
3275    1E16; 1E17; Case map
3276    1E18; 1E19; Case map
3277    1E1A; 1E1B; Case map
3278    1E1C; 1E1D; Case map
3279    1E1E; 1E1F; Case map
3280    1E20; 1E21; Case map
3281    1E22; 1E23; Case map
3282    1E24; 1E25; Case map
3283    1E26; 1E27; Case map
3284    1E28; 1E29; Case map
3285    1E2A; 1E2B; Case map
3286    1E2C; 1E2D; Case map
3287    1E2E; 1E2F; Case map
3288    1E30; 1E31; Case map
3289    1E32; 1E33; Case map
3290    1E34; 1E35; Case map
3291    1E36; 1E37; Case map
3292    1E38; 1E39; Case map
3293    1E3A; 1E3B; Case map
3294    1E3C; 1E3D; Case map
3295    1E3E; 1E3F; Case map
3296    1E40; 1E41; Case map
3297    1E42; 1E43; Case map
3298    1E44; 1E45; Case map
3299    1E46; 1E47; Case map
3300    1E48; 1E49; Case map
3301    1E4A; 1E4B; Case map
3302    1E4C; 1E4D; Case map
3303    1E4E; 1E4F; Case map
3304    1E50; 1E51; Case map
3305    1E52; 1E53; Case map
3306    1E54; 1E55; Case map
3307    1E56; 1E57; Case map
3308    1E58; 1E59; Case map
3309    1E5A; 1E5B; Case map
3310    1E5C; 1E5D; Case map
3311    1E5E; 1E5F; Case map
3312    1E60; 1E61; Case map
3313    1E62; 1E63; Case map
3314    1E64; 1E65; Case map
3315    1E66; 1E67; Case map
3316    1E68; 1E69; Case map
3317    1E6A; 1E6B; Case map
3318    1E6C; 1E6D; Case map
3319    1E6E; 1E6F; Case map
3320    1E70; 1E71; Case map
3321    1E72; 1E73; Case map
3322    1E74; 1E75; Case map
3323    1E76; 1E77; Case map
3324    1E78; 1E79; Case map
3325    1E7A; 1E7B; Case map
3326    1E7C; 1E7D; Case map
3327    1E7E; 1E7F; Case map
3328    1E80; 1E81; Case map
3329    1E82; 1E83; Case map
3330    1E84; 1E85; Case map
3331    1E86; 1E87; Case map
3332    1E88; 1E89; Case map
3333    1E8A; 1E8B; Case map
3334    1E8C; 1E8D; Case map
3335    1E8E; 1E8F; Case map
3336    1E90; 1E91; Case map
3337    1E92; 1E93; Case map
3338    1E94; 1E95; Case map
3339    1E96; 0068 0331; Case map
3340    1E97; 0074 0308; Case map
3341    1E98; 0077 030A; Case map
3342    1E99; 0079 030A; Case map
3343    1E9A; 0061 02BE; Case map
3344    1E9B; 1E61; Case map
3345    1EA0; 1EA1; Case map
3346    1EA2; 1EA3; Case map
3347    1EA4; 1EA5; Case map
3348    1EA6; 1EA7; Case map
3349    1EA8; 1EA9; Case map
3350    1EAA; 1EAB; Case map
3351    1EAC; 1EAD; Case map
3352    1EAE; 1EAF; Case map
3353    1EB0; 1EB1; Case map
3354    1EB2; 1EB3; Case map
3355    1EB4; 1EB5; Case map
3356    1EB6; 1EB7; Case map
3357    1EB8; 1EB9; Case map
3358    1EBA; 1EBB; Case map
3359    1EBC; 1EBD; Case map
3360    1EBE; 1EBF; Case map
3361    1EC0; 1EC1; Case map
3362    1EC2; 1EC3; Case map
3363    1EC4; 1EC5; Case map
3364    1EC6; 1EC7; Case map
3365    1EC8; 1EC9; Case map
3366    1ECA; 1ECB; Case map
3367    1ECC; 1ECD; Case map
3368    1ECE; 1ECF; Case map
3369    1ED0; 1ED1; Case map
3370    1ED2; 1ED3; Case map
3371    1ED4; 1ED5; Case map
3372    1ED6; 1ED7; Case map
3373    1ED8; 1ED9; Case map
3374    1EDA; 1EDB; Case map
3375    1EDC; 1EDD; Case map
3376    1EDE; 1EDF; Case map
3377    1EE0; 1EE1; Case map
3378    1EE2; 1EE3; Case map
3379    1EE4; 1EE5; Case map
3380    1EE6; 1EE7; Case map
3381    1EE8; 1EE9; Case map
3382    1EEA; 1EEB; Case map
3383    1EEC; 1EED; Case map
3384    1EEE; 1EEF; Case map
3385    1EF0; 1EF1; Case map
3386    1EF2; 1EF3; Case map
3387    1EF4; 1EF5; Case map
3388    1EF6; 1EF7; Case map
3389    1EF8; 1EF9; Case map
3390    1F08; 1F00; Case map
3391    1F09; 1F01; Case map
3392    1F0A; 1F02; Case map
3393    1F0B; 1F03; Case map
3394    1F0C; 1F04; Case map
3395    1F0D; 1F05; Case map
3396    1F0E; 1F06; Case map
3397    1F0F; 1F07; Case map
3398    1F18; 1F10; Case map
3399    1F19; 1F11; Case map
3400    1F1A; 1F12; Case map
3401    1F1B; 1F13; Case map
3402    1F1C; 1F14; Case map
3403    1F1D; 1F15; Case map
3404    1F28; 1F20; Case map
3405    1F29; 1F21; Case map
3406    1F2A; 1F22; Case map
3407    1F2B; 1F23; Case map
3408    1F2C; 1F24; Case map
3409    1F2D; 1F25; Case map
3410    1F2E; 1F26; Case map
3411    1F2F; 1F27; Case map
3412    1F38; 1F30; Case map
3413    1F39; 1F31; Case map
3414    1F3A; 1F32; Case map
3415    1F3B; 1F33; Case map
3416    1F3C; 1F34; Case map
3417    1F3D; 1F35; Case map
3418    1F3E; 1F36; Case map
3419    1F3F; 1F37; Case map
3420    1F48; 1F40; Case map
3421    1F49; 1F41; Case map
3422    1F4A; 1F42; Case map
3423    1F4B; 1F43; Case map
3424    1F4C; 1F44; Case map
3425    1F4D; 1F45; Case map
3426    1F50; 03C5 0313; Case map
3427    1F52; 03C5 0313 0300; Case map
3428    1F54; 03C5 0313 0301; Case map
3429    1F56; 03C5 0313 0342; Case map
3430    1F59; 1F51; Case map
3431    1F5B; 1F53; Case map
3432    1F5D; 1F55; Case map
3433    1F5F; 1F57; Case map
3434    1F68; 1F60; Case map
3435    1F69; 1F61; Case map
3436    1F6A; 1F62; Case map
3437    1F6B; 1F63; Case map
3438    1F6C; 1F64; Case map
3439    1F6D; 1F65; Case map
3440    1F6E; 1F66; Case map
3441    1F6F; 1F67; Case map
3442    1F80; 1F00 03B9; Case map
3443    1F81; 1F01 03B9; Case map
3444    1F82; 1F02 03B9; Case map
3445    1F83; 1F03 03B9; Case map
3446    1F84; 1F04 03B9; Case map
3447    1F85; 1F05 03B9; Case map
3448    1F86; 1F06 03B9; Case map
3449    1F87; 1F07 03B9; Case map
3450    1F88; 1F00 03B9; Case map
3451    1F89; 1F01 03B9; Case map
3452    1F8A; 1F02 03B9; Case map
3453    1F8B; 1F03 03B9; Case map
3454    1F8C; 1F04 03B9; Case map
3455    1F8D; 1F05 03B9; Case map
3456    1F8E; 1F06 03B9; Case map
3457    1F8F; 1F07 03B9; Case map
3458    1F90; 1F20 03B9; Case map
3459    1F91; 1F21 03B9; Case map
3460    1F92; 1F22 03B9; Case map
3461    1F93; 1F23 03B9; Case map
3462    1F94; 1F24 03B9; Case map
3463    1F95; 1F25 03B9; Case map
3464    1F96; 1F26 03B9; Case map
3465    1F97; 1F27 03B9; Case map
3466    1F98; 1F20 03B9; Case map
3467    1F99; 1F21 03B9; Case map
3468    1F9A; 1F22 03B9; Case map
3469    1F9B; 1F23 03B9; Case map
3470    1F9C; 1F24 03B9; Case map
3471    1F9D; 1F25 03B9; Case map
3472    1F9E; 1F26 03B9; Case map
3473    1F9F; 1F27 03B9; Case map
3474    1FA0; 1F60 03B9; Case map
3475    1FA1; 1F61 03B9; Case map
3476    1FA2; 1F62 03B9; Case map
3477    1FA3; 1F63 03B9; Case map
3478    1FA4; 1F64 03B9; Case map
3479    1FA5; 1F65 03B9; Case map
3480    1FA6; 1F66 03B9; Case map
3481    1FA7; 1F67 03B9; Case map
3482    1FA8; 1F60 03B9; Case map
3483    1FA9; 1F61 03B9; Case map
3484    1FAA; 1F62 03B9; Case map
3485    1FAB; 1F63 03B9; Case map
3486    1FAC; 1F64 03B9; Case map
3487    1FAD; 1F65 03B9; Case map
3488    1FAE; 1F66 03B9; Case map
3489    1FAF; 1F67 03B9; Case map
3490    1FB2; 1F70 03B9; Case map
3491    1FB3; 03B1 03B9; Case map
3492    1FB4; 03AC 03B9; Case map
3493    1FB6; 03B1 0342; Case map
3494    1FB7; 03B1 0342 03B9; Case map
3495    1FB8; 1FB0; Case map
3496    1FB9; 1FB1; Case map
3497    1FBA; 1F70; Case map
3498    1FBB; 1F71; Case map
3499    1FBC; 03B1 03B9; Case map
3500    1FBE; 03B9; Case map
3501    1FC2; 1F74 03B9; Case map
3502    1FC3; 03B7 03B9; Case map
3503    1FC4; 03AE 03B9; Case map
3504    1FC6; 03B7 0342; Case map
3505    1FC7; 03B7 0342 03B9; Case map
3506    1FC8; 1F72; Case map
3507    1FC9; 1F73; Case map
3508    1FCA; 1F74; Case map
3509    1FCB; 1F75; Case map
3510    1FCC; 03B7 03B9; Case map
3511    1FD2; 03B9 0308 0300; Case map
3512    1FD3; 03B9 0308 0301; Case map
3513    1FD6; 03B9 0342; Case map
3514    1FD7; 03B9 0308 0342; Case map
3515    1FD8; 1FD0; Case map
3516    1FD9; 1FD1; Case map
3517    1FDA; 1F76; Case map
3518    1FDB; 1F77; Case map
3519    1FE2; 03C5 0308 0300; Case map
3520    1FE3; 03C5 0308 0301; Case map
3521    1FE4; 03C1 0313; Case map
3522    1FE6; 03C5 0342; Case map
3523    1FE7; 03C5 0308 0342; Case map
3524    1FE8; 1FE0; Case map
3525    1FE9; 1FE1; Case map
3526    1FEA; 1F7A; Case map
3527    1FEB; 1F7B; Case map
3528    1FEC; 1FE5; Case map
3529    1FF2; 1F7C 03B9; Case map
3530    1FF3; 03C9 03B9; Case map
3531    1FF4; 03CE 03B9; Case map
3532    1FF6; 03C9 0342; Case map
3533    1FF7; 03C9 0342 03B9; Case map
3534    1FF8; 1F78; Case map
3535    1FF9; 1F79; Case map
3536    1FFA; 1F7C; Case map
3537    1FFB; 1F7D; Case map
3538    1FFC; 03C9 03B9; Case map
3539    2126; 03C9; Case map
3540    212A; 006B; Case map
3541    212B; 00E5; Case map
3542    2160; 2170; Case map
3543    2161; 2171; Case map
3544    2162; 2172; Case map
3545    2163; 2173; Case map
3546    2164; 2174; Case map
3547    2165; 2175; Case map
3548    2166; 2176; Case map
3549    2167; 2177; Case map
3550    2168; 2178; Case map
3551    2169; 2179; Case map
3552    216A; 217A; Case map
3553    216B; 217B; Case map
3554    216C; 217C; Case map
3555    216D; 217D; Case map
3556    216E; 217E; Case map
3557    216F; 217F; Case map
3558    24B6; 24D0; Case map
3559    24B7; 24D1; Case map
3560    24B8; 24D2; Case map
3561    24B9; 24D3; Case map
3562    24BA; 24D4; Case map
3563    24BB; 24D5; Case map
3564    24BC; 24D6; Case map
3565    24BD; 24D7; Case map
3566    24BE; 24D8; Case map
3567    24BF; 24D9; Case map
3568    24C0; 24DA; Case map
3569    24C1; 24DB; Case map
3570    24C2; 24DC; Case map
3571    24C3; 24DD; Case map
3572    24C4; 24DE; Case map
3573    24C5; 24DF; Case map
3574    24C6; 24E0; Case map
3575    24C7; 24E1; Case map
3576    24C8; 24E2; Case map
3577    24C9; 24E3; Case map
3578    24CA; 24E4; Case map
3579    24CB; 24E5; Case map
3580    24CC; 24E6; Case map
3581    24CD; 24E7; Case map
3582    24CE; 24E8; Case map
3583    24CF; 24E9; Case map
3584    FB00; 0066 0066; Case map
3585    FB01; 0066 0069; Case map
3586    FB02; 0066 006C; Case map
3587    FB03; 0066 0066 0069; Case map
3588    FB04; 0066 0066 006C; Case map
3589    FB05; 0073 0074; Case map
3590    FB06; 0073 0074; Case map
3591    FB13; 0574 0576; Case map
3592    FB14; 0574 0565; Case map
3593    FB15; 0574 056B; Case map
3594    FB16; 057E 0576; Case map
3595    FB17; 0574 056D; Case map
3596    FF21; FF41; Case map
3597    FF22; FF42; Case map
3598    FF23; FF43; Case map
3599    FF24; FF44; Case map
3600    FF25; FF45; Case map
3601    FF26; FF46; Case map
3602    FF27; FF47; Case map
3603    FF28; FF48; Case map
3604    FF29; FF49; Case map
3605    FF2A; FF4A; Case map
3606    FF2B; FF4B; Case map
3607    FF2C; FF4C; Case map
3608    FF2D; FF4D; Case map
3609    FF2E; FF4E; Case map
3610    FF2F; FF4F; Case map
3611    FF30; FF50; Case map
3612    FF31; FF51; Case map
3613    FF32; FF52; Case map
3614    FF33; FF53; Case map
3615    FF34; FF54; Case map
3616    FF35; FF55; Case map
3617    FF36; FF56; Case map
3618    FF37; FF57; Case map
3619    FF38; FF58; Case map
3620    FF39; FF59; Case map
3621    FF3A; FF5A; Case map
3622    10400; 10428; Case map
3623    10401; 10429; Case map
3624    10402; 1042A; Case map
3625    10403; 1042B; Case map
3626    10404; 1042C; Case map
3627    10405; 1042D; Case map
3628    10406; 1042E; Case map
3629    10407; 1042F; Case map
3630    10408; 10430; Case map
3631    10409; 10431; Case map
3632    1040A; 10432; Case map
3633    1040B; 10433; Case map
3634    1040C; 10434; Case map
3635    1040D; 10435; Case map
3636    1040E; 10436; Case map
3637    1040F; 10437; Case map
3638    10410; 10438; Case map
3639    10411; 10439; Case map
3640    10412; 1043A; Case map
3641    10413; 1043B; Case map
3642    10414; 1043C; Case map
3643    10415; 1043D; Case map
3644    10416; 1043E; Case map
3645    10417; 1043F; Case map
3646    10418; 10440; Case map
3647    10419; 10441; Case map
3648    1041A; 10442; Case map
3649    1041B; 10443; Case map
3650    1041C; 10444; Case map
3651    1041D; 10445; Case map
3652    1041E; 10446; Case map
3653    1041F; 10447; Case map
3654    10420; 10448; Case map
3655    10421; 10449; Case map
3656    10422; 1044A; Case map
3657    10423; 1044B; Case map
3658    10424; 1044C; Case map
3659    10425; 1044D; Case map
3660    ----- End Table B.3 -----
3662 C. Prohibition Tables
3664    The tables in this appendix consist of lines with one prohibited code
3665    point per line.  The format of the lines are the value of the code
3666    point, a semicolon, and a comment which is the name of the code
3667    point.
3669 C.1 Space characters
3671 C.1.1 ASCII space characters
3673    ----- Start Table C.1.1 -----
3674    0020; SPACE
3675    ----- End Table C.1.1 -----
3677 C.1.2 Non-ASCII space characters
3679    ----- Start Table C.1.2 -----
3680    00A0; NO-BREAK SPACE
3681    1680; OGHAM SPACE MARK
3682    2000; EN QUAD
3683    2001; EM QUAD
3684    2002; EN SPACE
3685    2003; EM SPACE
3686    2004; THREE-PER-EM SPACE
3687    2005; FOUR-PER-EM SPACE
3688    2006; SIX-PER-EM SPACE
3689    2007; FIGURE SPACE
3690    2008; PUNCTUATION SPACE
3691    2009; THIN SPACE
3692    200A; HAIR SPACE
3693    200B; ZERO WIDTH SPACE
3694    202F; NARROW NO-BREAK SPACE
3695    205F; MEDIUM MATHEMATICAL SPACE
3696    3000; IDEOGRAPHIC SPACE
3697    ----- End Table C.1.2 -----
3699 C.2 Control characters
3701 C.2.1 ASCII control characters
3703    ----- Start Table C.2.1 -----
3704    0000-001F; [CONTROL CHARACTERS]
3705    007F; DELETE
3706    ----- End Table C.2.1 -----
3708 C.2.2 Non-ASCII control characters
3710    ----- Start Table C.2.2 -----
3711    0080-009F; [CONTROL CHARACTERS]
3712    06DD; ARABIC END OF AYAH
3713    070F; SYRIAC ABBREVIATION MARK
3714    180E; MONGOLIAN VOWEL SEPARATOR
3715    200C; ZERO WIDTH NON-JOINER
3716    200D; ZERO WIDTH JOINER
3717    2028; LINE SEPARATOR
3718    2029; PARAGRAPH SEPARATOR
3719    2060; WORD JOINER
3720    2061; FUNCTION APPLICATION
3721    2062; INVISIBLE TIMES
3722    2063; INVISIBLE SEPARATOR
3723    206A-206F; [CONTROL CHARACTERS]
3724    FEFF; ZERO WIDTH NO-BREAK SPACE
3725    FFF9-FFFC; [CONTROL CHARACTERS]
3726    1D173-1D17A; [MUSICAL CONTROL CHARACTERS]
3727    ----- End Table C.2.2 -----
3729 C.3 Private use
3731    ----- Start Table C.3 -----
3732    E000-F8FF; [PRIVATE USE, PLANE 0]
3733    F0000-FFFFD; [PRIVATE USE, PLANE 15]
3734    100000-10FFFD; [PRIVATE USE, PLANE 16]
3735    ----- End Table C.3 -----
3737 C.4 Non-character code points
3739    ----- Start Table C.4 -----
3740    FDD0-FDEF; [NONCHARACTER CODE POINTS]
3741    FFFE-FFFF; [NONCHARACTER CODE POINTS]
3742    1FFFE-1FFFF; [NONCHARACTER CODE POINTS]
3743    2FFFE-2FFFF; [NONCHARACTER CODE POINTS]
3744    3FFFE-3FFFF; [NONCHARACTER CODE POINTS]
3745    4FFFE-4FFFF; [NONCHARACTER CODE POINTS]
3746    5FFFE-5FFFF; [NONCHARACTER CODE POINTS]
3747    6FFFE-6FFFF; [NONCHARACTER CODE POINTS]
3748    7FFFE-7FFFF; [NONCHARACTER CODE POINTS]
3749    8FFFE-8FFFF; [NONCHARACTER CODE POINTS]
3750    9FFFE-9FFFF; [NONCHARACTER CODE POINTS]
3751    AFFFE-AFFFF; [NONCHARACTER CODE POINTS]
3752    BFFFE-BFFFF; [NONCHARACTER CODE POINTS]
3753    CFFFE-CFFFF; [NONCHARACTER CODE POINTS]
3754    DFFFE-DFFFF; [NONCHARACTER CODE POINTS]
3755    EFFFE-EFFFF; [NONCHARACTER CODE POINTS]
3756    FFFFE-FFFFF; [NONCHARACTER CODE POINTS]
3757    10FFFE-10FFFF; [NONCHARACTER CODE POINTS]
3758    ----- End Table C.4 -----
3760 C.5 Surrogate codes
3762    ----- Start Table C.5 -----
3763    D800-DFFF; [SURROGATE CODES]
3764    ----- End Table C.5 -----
3766 C.6 Inappropriate for plain text
3768    ----- Start Table C.6 -----
3769    FFF9; INTERLINEAR ANNOTATION ANCHOR
3770    FFFA; INTERLINEAR ANNOTATION SEPARATOR
3771    FFFB; INTERLINEAR ANNOTATION TERMINATOR
3772    FFFC; OBJECT REPLACEMENT CHARACTER
3773    FFFD; REPLACEMENT CHARACTER
3774    ----- End Table C.6 -----
3776 C.7 Inappropriate for canonical representation
3778    ----- Start Table C.7 -----
3779    2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
3780    ----- End Table C.7 -----
3782 C.8 Change display properties or are deprecated
3784    ----- Start Table C.8 -----
3785    0340; COMBINING GRAVE TONE MARK
3786    0341; COMBINING ACUTE TONE MARK
3787    200E; LEFT-TO-RIGHT MARK
3788    200F; RIGHT-TO-LEFT MARK
3789    202A; LEFT-TO-RIGHT EMBEDDING
3790    202B; RIGHT-TO-LEFT EMBEDDING
3791    202C; POP DIRECTIONAL FORMATTING
3792    202D; LEFT-TO-RIGHT OVERRIDE
3793    202E; RIGHT-TO-LEFT OVERRIDE
3794    206A; INHIBIT SYMMETRIC SWAPPING
3795    206B; ACTIVATE SYMMETRIC SWAPPING
3796    206C; INHIBIT ARABIC FORM SHAPING
3797    206D; ACTIVATE ARABIC FORM SHAPING
3798    206E; NATIONAL DIGIT SHAPES
3799    206F; NOMINAL DIGIT SHAPES
3800    ----- End Table C.8 -----
3802 C.9 Tagging characters
3804    ----- Start Table C.9 -----
3805    E0001; LANGUAGE TAG
3806    E0020-E007F; [TAGGING CHARACTERS]
3807    ----- End Table C.9 -----
3809 D. Bidirectional Tables
3811 D.1 Characters with bidirectional property "R" or "AL"
3813    ----- Start Table D.1 -----
3814    05BE
3815    05C0
3816    05C3
3817    05D0-05EA
3818    05F0-05F4
3819    061B
3820    061F
3821    0621-063A
3822    0640-064A
3823    066D-066F
3824    0671-06D5
3825    06DD
3826    06E5-06E6
3827    06FA-06FE
3828    0700-070D
3829    0710
3830    0712-072C
3831    0780-07A5
3832    07B1
3833    200F
3834    FB1D
3835    FB1F-FB28
3836    FB2A-FB36
3837    FB38-FB3C
3838    FB3E
3839    FB40-FB41
3840    FB43-FB44
3841    FB46-FBB1
3842    FBD3-FD3D
3843    FD50-FD8F
3844    FD92-FDC7
3845    FDF0-FDFC
3846    FE70-FE74
3847    FE76-FEFC
3848    ----- End Table D.1 -----
3850 D.2 Characters with bidirectional property "L"
3852    ----- Start Table D.2 -----
3853    0041-005A
3854    0061-007A
3855    00AA
3856    00B5
3857    00BA
3858    00C0-00D6
3859    00D8-00F6
3860    00F8-0220
3861    0222-0233
3862    0250-02AD
3863    02B0-02B8
3864    02BB-02C1
3865    02D0-02D1
3866    02E0-02E4
3867    02EE
3868    037A
3869    0386
3870    0388-038A
3871    038C
3872    038E-03A1
3873    03A3-03CE
3874    03D0-03F5
3875    0400-0482
3876    048A-04CE
3877    04D0-04F5
3878    04F8-04F9
3879    0500-050F
3880    0531-0556
3881    0559-055F
3882    0561-0587
3883    0589
3884    0903
3885    0905-0939
3886    093D-0940
3887    0949-094C
3888    0950
3889    0958-0961
3890    0964-0970
3891    0982-0983
3892    0985-098C
3893    098F-0990
3894    0993-09A8
3895    09AA-09B0
3896    09B2
3897    09B6-09B9
3898    09BE-09C0
3899    09C7-09C8
3900    09CB-09CC
3901    09D7
3902    09DC-09DD
3903    09DF-09E1
3904    09E6-09F1
3905    09F4-09FA
3906    0A05-0A0A
3907    0A0F-0A10
3908    0A13-0A28
3909    0A2A-0A30
3910    0A32-0A33
3911    0A35-0A36
3912    0A38-0A39
3913    0A3E-0A40
3914    0A59-0A5C
3915    0A5E
3916    0A66-0A6F
3917    0A72-0A74
3918    0A83
3919    0A85-0A8B
3920    0A8D
3921    0A8F-0A91
3922    0A93-0AA8
3923    0AAA-0AB0
3924    0AB2-0AB3
3925    0AB5-0AB9
3926    0ABD-0AC0
3927    0AC9
3928    0ACB-0ACC
3929    0AD0
3930    0AE0
3931    0AE6-0AEF
3932    0B02-0B03
3933    0B05-0B0C
3934    0B0F-0B10
3935    0B13-0B28
3936    0B2A-0B30
3937    0B32-0B33
3938    0B36-0B39
3939    0B3D-0B3E
3940    0B40
3941    0B47-0B48
3942    0B4B-0B4C
3943    0B57
3944    0B5C-0B5D
3945    0B5F-0B61
3946    0B66-0B70
3947    0B83
3948    0B85-0B8A
3949    0B8E-0B90
3950    0B92-0B95
3951    0B99-0B9A
3952    0B9C
3953    0B9E-0B9F
3954    0BA3-0BA4
3955    0BA8-0BAA
3956    0BAE-0BB5
3957    0BB7-0BB9
3958    0BBE-0BBF
3959    0BC1-0BC2
3960    0BC6-0BC8
3961    0BCA-0BCC
3962    0BD7
3963    0BE7-0BF2
3964    0C01-0C03
3965    0C05-0C0C
3966    0C0E-0C10
3967    0C12-0C28
3968    0C2A-0C33
3969    0C35-0C39
3970    0C41-0C44
3971    0C60-0C61
3972    0C66-0C6F
3973    0C82-0C83
3974    0C85-0C8C
3975    0C8E-0C90
3976    0C92-0CA8
3977    0CAA-0CB3
3978    0CB5-0CB9
3979    0CBE
3980    0CC0-0CC4
3981    0CC7-0CC8
3982    0CCA-0CCB
3983    0CD5-0CD6
3984    0CDE
3985    0CE0-0CE1
3986    0CE6-0CEF
3987    0D02-0D03
3988    0D05-0D0C
3989    0D0E-0D10
3990    0D12-0D28
3991    0D2A-0D39
3992    0D3E-0D40
3993    0D46-0D48
3994    0D4A-0D4C
3995    0D57
3996    0D60-0D61
3997    0D66-0D6F
3998    0D82-0D83
3999    0D85-0D96
4000    0D9A-0DB1
4001    0DB3-0DBB
4002    0DBD
4003    0DC0-0DC6
4004    0DCF-0DD1
4005    0DD8-0DDF
4006    0DF2-0DF4
4007    0E01-0E30
4008    0E32-0E33
4009    0E40-0E46
4010    0E4F-0E5B
4011    0E81-0E82
4012    0E84
4013    0E87-0E88
4014    0E8A
4015    0E8D
4016    0E94-0E97
4017    0E99-0E9F
4018    0EA1-0EA3
4019    0EA5
4020    0EA7
4021    0EAA-0EAB
4022    0EAD-0EB0
4023    0EB2-0EB3
4024    0EBD
4025    0EC0-0EC4
4026    0EC6
4027    0ED0-0ED9
4028    0EDC-0EDD
4029    0F00-0F17
4030    0F1A-0F34
4031    0F36
4032    0F38
4033    0F3E-0F47
4034    0F49-0F6A
4035    0F7F
4036    0F85
4037    0F88-0F8B
4038    0FBE-0FC5
4039    0FC7-0FCC
4040    0FCF
4041    1000-1021
4042    1023-1027
4043    1029-102A
4044    102C
4045    1031
4046    1038
4047    1040-1057
4048    10A0-10C5
4049    10D0-10F8
4050    10FB
4051    1100-1159
4052    115F-11A2
4053    11A8-11F9
4054    1200-1206
4055    1208-1246
4056    1248
4057    124A-124D
4058    1250-1256
4059    1258
4060    125A-125D
4061    1260-1286
4062    1288
4063    128A-128D
4064    1290-12AE
4065    12B0
4066    12B2-12B5
4067    12B8-12BE
4068    12C0
4069    12C2-12C5
4070    12C8-12CE
4071    12D0-12D6
4072    12D8-12EE
4073    12F0-130E
4074    1310
4075    1312-1315
4076    1318-131E
4077    1320-1346
4078    1348-135A
4079    1361-137C
4080    13A0-13F4
4081    1401-1676
4082    1681-169A
4083    16A0-16F0
4084    1700-170C
4085    170E-1711
4086    1720-1731
4087    1735-1736
4088    1740-1751
4089    1760-176C
4090    176E-1770
4091    1780-17B6
4092    17BE-17C5
4093    17C7-17C8
4094    17D4-17DA
4095    17DC
4096    17E0-17E9
4097    1810-1819
4098    1820-1877
4099    1880-18A8
4100    1E00-1E9B
4101    1EA0-1EF9
4102    1F00-1F15
4103    1F18-1F1D
4104    1F20-1F45
4105    1F48-1F4D
4106    1F50-1F57
4107    1F59
4108    1F5B
4109    1F5D
4110    1F5F-1F7D
4111    1F80-1FB4
4112    1FB6-1FBC
4113    1FBE
4114    1FC2-1FC4
4115    1FC6-1FCC
4116    1FD0-1FD3
4117    1FD6-1FDB
4118    1FE0-1FEC
4119    1FF2-1FF4
4120    1FF6-1FFC
4121    200E
4122    2071
4123    207F
4124    2102
4125    2107
4126    210A-2113
4127    2115
4128    2119-211D
4129    2124
4130    2126
4131    2128
4132    212A-212D
4133    212F-2131
4134    2133-2139
4135    213D-213F
4136    2145-2149
4137    2160-2183
4138    2336-237A
4139    2395
4140    249C-24E9
4141    3005-3007
4142    3021-3029
4143    3031-3035
4144    3038-303C
4145    3041-3096
4146    309D-309F
4147    30A1-30FA
4148    30FC-30FF
4149    3105-312C
4150    3131-318E
4151    3190-31B7
4152    31F0-321C
4153    3220-3243
4154    3260-327B
4155    327F-32B0
4156    32C0-32CB
4157    32D0-32FE
4158    3300-3376
4159    337B-33DD
4160    33E0-33FE
4161    3400-4DB5
4162    4E00-9FA5
4163    A000-A48C
4164    AC00-D7A3
4165    D800-FA2D
4166    FA30-FA6A
4167    FB00-FB06
4168    FB13-FB17
4169    FF21-FF3A
4170    FF41-FF5A
4171    FF66-FFBE
4172    FFC2-FFC7
4173    FFCA-FFCF
4174    FFD2-FFD7
4175    FFDA-FFDC
4176    10300-1031E
4177    10320-10323
4178    10330-1034A
4179    10400-10425
4180    10428-1044D
4181    1D000-1D0F5
4182    1D100-1D126
4183    1D12A-1D166
4184    1D16A-1D172
4185    1D183-1D184
4186    1D18C-1D1A9
4187    1D1AE-1D1DD
4188    1D400-1D454
4189    1D456-1D49C
4190    1D49E-1D49F
4191    1D4A2
4192    1D4A5-1D4A6
4193    1D4A9-1D4AC
4194    1D4AE-1D4B9
4195    1D4BB
4196    1D4BD-1D4C0
4197    1D4C2-1D4C3
4198    1D4C5-1D505
4199    1D507-1D50A
4200    1D50D-1D514
4201    1D516-1D51C
4202    1D51E-1D539
4203    1D53B-1D53E
4204    1D540-1D544
4205    1D546
4206    1D54A-1D550
4207    1D552-1D6A3
4208    1D6A8-1D7C9
4209    20000-2A6D6
4210    2F800-2FA1D
4211    F0000-FFFFD
4212    100000-10FFFD
4213    ----- End Table D.2 -----
4215 E. Changes from RFC 3454
4217 This document is a revision of RFC 3454. None of the changes affect the
4218 protocol described in RFC 3454; that is, all implementations of RFC 3454
4219 will be identical with implementations of the specification in this
4220 document. The items that have changed RFC 3454 document are:
4222 - Made clearer in section 2 and section 7 where the check for
4223   unassigned characters should be done, namely in step 3.
4225 - In section 7, there was a paragraph about the goal of the requirements
4226   in the section. That paragraph was removed because it didn't describe
4227   the goal and could be misleading.
4229 - In the last paragraph of section 7.1, "provide" was changed to
4230   "provides".
4232 - Fixed the capitalization in the headings in Appendixes A, C, and D.
4234 Authors' Addresses
4236    Paul Hoffman
4237    Internet Mail Consortium and VPN Consortium
4238    127 Segre Place
4239    Santa Cruz, CA  95060 USA
4241    EMail: paul.hoffman@imc.org and paul.hoffman@vpnc.org
4244    Marc Blanchet
4245    Viagenie inc.
4246    2875 boul. Laurier, bur. 300
4247    Ste-Foy, Quebec, Canada, G1V 2M2
4249    EMail: Marc.Blanchet@viagenie.qc.ca