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