heimdal_build: autogenerate table files in heimdal/lib/wind/
[tprouty/samba.git] / source4 / heimdal / lib / wind / rfc3454.txt
1
2
3
4
5
6
7 Network Working Group                                         P. Hoffman
8 Request for Comments: 3454                                    IMC & VPNC
9 Category: Standards Track                                    M. Blanchet
10                                                                 Viagenie
11                                                            December 2002
12
13
14         Preparation of Internationalized Strings ("stringprep")
15
16 Status of this Memo
17
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.
23
24 Copyright Notice
25
26    Copyright (C) The Internet Society (2002).  All Rights Reserved.
27
28 Abstract
29
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.
36
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.
40
41 Table of Contents
42
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
55
56
57
58 Hoffman & Blanchet          Standards Track                     [Page 1]
59 \f
60 RFC 3454        Preparation of Internationalized Strings   December 2002
61
62
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
107
108
109
110
111
112
113
114 Hoffman & Blanchet          Standards Track                     [Page 2]
115 \f
116 RFC 3454        Preparation of Internationalized Strings   December 2002
117
118
119 1. Introduction
120
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.
127
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.
136
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.
142
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.
152
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.
157
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
167
168
169
170 Hoffman & Blanchet          Standards Track                     [Page 3]
171 \f
172 RFC 3454        Preparation of Internationalized Strings   December 2002
173
174
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.
180
181 1.1 Terminology
182
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].
187
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].
191
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.
200
201 1.2 Using stringprep in protocols
202
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.
212
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.
217
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.
222
223
224
225
226 Hoffman & Blanchet          Standards Track                     [Page 4]
227 \f
228 RFC 3454        Preparation of Internationalized Strings   December 2002
229
230
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.
234
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.
239
240    A profile of stringprep MUST include all of the following:
241
242    - The intended applicability of the profile
243
244    - The character repertoire that is the input and output to stringprep
245      (which is Unicode 3.2 for this version of stringprep)
246
247    - The mapping tables from this document used (as described in section
248      3)
249
250    - Any additional mapping tables specific to the profile
251
252    - The Unicode normalization used, if any (as described in section 4)
253
254    - The tables from this document of characters that are prohibited as
255      output (as described in section 5)
256
257    - The bidirectional string testing used, if any (as described in
258      section 6)
259
260    - Any additional characters that are prohibited as output specific to
261      the profile
262
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.
271
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.
276
277
278
279
280
281
282 Hoffman & Blanchet          Standards Track                     [Page 5]
283 \f
284 RFC 3454        Preparation of Internationalized Strings   December 2002
285
286
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.
292
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.
301
302 2. Preparation Overview
303
304    The steps for preparing strings are:
305
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.
309
310    2) Normalize -- Possibly normalize the result of step 1 using Unicode
311       normalization.  This is described in section 4.
312
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.
316
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.
322
323    The above steps MUST be performed in the order given to comply with
324    this specification.
325
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.
334
335
336
337
338 Hoffman & Blanchet          Standards Track                     [Page 6]
339 \f
340 RFC 3454        Preparation of Internationalized Strings   December 2002
341
342
343 3. Mapping
344
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.
349
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.
354
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.
358
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.
363
364 3.1 Commonly mapped to nothing
365
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.
370
371    Some characters are only useful in line-based text, and are otherwise
372    invisible and ignored.
373
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
379
380    Some characters affect glyph choice and glyph placement, but do not
381    bear semantics.
382
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
391
392
393
394 Hoffman & Blanchet          Standards Track                     [Page 7]
395 \f
396 RFC 3454        Preparation of Internationalized Strings   December 2002
397
398
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
413
414 3.2 Case folding
415
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.
425
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).
431
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:
439
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".
443
444    Because NormalizeWithKC(Fold(c)) always equals c, the table is stable
445    from that point on.
446
447
448
449
450 Hoffman & Blanchet          Standards Track                     [Page 8]
451 \f
452 RFC 3454        Preparation of Internationalized Strings   December 2002
453
454
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.
458
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.
465
466 4. Normalization
467
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:
471
472    - no normalization
473
474    - Unicode normalization with form KC
475
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.
484
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].
493
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.
502
503
504
505
506 Hoffman & Blanchet          Standards Track                     [Page 9]
507 \f
508 RFC 3454        Preparation of Internationalized Strings   December 2002
509
510
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.
514
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.
519
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.
528
529 5. Prohibited Output
530
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.
535
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.
539
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.
545
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.
550
551    Some code points listed in one section may also appear in other
552    sections.
553
554    It is important to note that a profile of this document MAY prohibit
555    additional characters.
556
557
558
559
560
561
562 Hoffman & Blanchet          Standards Track                    [Page 10]
563 \f
564 RFC 3454        Preparation of Internationalized Strings   December 2002
565
566
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.
570
571 5.1 Space characters
572
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.
580
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
599
600 5.2 Control characters
601
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.
608
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
615
616
617
618 Hoffman & Blanchet          Standards Track                    [Page 11]
619 \f
620 RFC 3454        Preparation of Internationalized Strings   December 2002
621
622
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]
635
636 5.3 Private use
637
638    Because private-use characters do not have defined meanings, they are
639    likely to be prohibited.  The private-use characters are:
640
641    E000-F8FF; [PRIVATE USE, PLANE 0]
642    F0000-FFFFD; [PRIVATE USE, PLANE 15]
643    100000-10FFFD; [PRIVATE USE, PLANE 16]
644
645 5.4 Non-character code points
646
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.
650
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]
669
670
671
672
673
674 Hoffman & Blanchet          Standards Track                    [Page 12]
675 \f
676 RFC 3454        Preparation of Internationalized Strings   December 2002
677
678
679    The non-character code points are listed in the PropList.txt file
680    from the Unicode database.
681
682 5.5 Surrogate codes
683
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:
688
689    D800-DFFF; [SURROGATE CODES]
690
691 5.6 Inappropriate for plain text
692
693    The following characters do not appear in regular text.
694
695    FFF9; INTERLINEAR ANNOTATION ANCHOR
696    FFFA; INTERLINEAR ANNOTATION SEPARATOR
697    FFFB; INTERLINEAR ANNOTATION TERMINATOR
698    FFFC; OBJECT REPLACEMENT CHARACTER
699
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.
706
707    FFFD; REPLACEMENT CHARACTER
708
709 5.7 Inappropriate for canonical representation
710
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.
715
716    2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
717
718 5.8 Change display properties or are deprecated
719
720    The following characters can cause changes in display or the order in
721    which characters appear when rendered, or are deprecated in Unicode.
722
723    0340; COMBINING GRAVE TONE MARK
724    0341; COMBINING ACUTE TONE MARK
725    200E; LEFT-TO-RIGHT MARK
726    200F; RIGHT-TO-LEFT MARK
727
728
729
730 Hoffman & Blanchet          Standards Track                    [Page 13]
731 \f
732 RFC 3454        Preparation of Internationalized Strings   December 2002
733
734
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
746
747 5.9 Tagging characters
748
749    The following characters are used for tagging text and are invisible.
750
751    E0001; LANGUAGE TAG
752    E0020-E007F; [TAGGING CHARACTERS]
753
754 6. Bidirectional Characters
755
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.
763
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.
772
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.
776
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
782
783
784
785
786 Hoffman & Blanchet          Standards Track                    [Page 14]
787 \f
788 RFC 3454        Preparation of Internationalized Strings   December 2002
789
790
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".
794
795    In any profile that specifies bidirectional character handling, all
796    three of the following requirements MUST be met:
797
798    1) The characters in section 5.8 MUST be prohibited.
799
800    2) If a string contains any RandALCat character, the string MUST NOT
801       contain any LCat character.
802
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.
806
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.
812
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].
817
818 7. Unassigned Code Points in Stringprep Profiles
819
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.
830
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.
838
839
840
841
842 Hoffman & Blanchet          Standards Track                    [Page 15]
843 \f
844 RFC 3454        Preparation of Internationalized Strings   December 2002
845
846
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.
857
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.
860
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).
874
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.
879
880 7.1 Categories of code points
881
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:
885
886       AO      Code points that can be in the output
887
888       MN      Code points that cannot be in the output because they
889               never appear as output from mapping or normalization
890
891       D       Code points that cannot be in the output because they are
892               disallowed in the prohibition step
893
894       U       Unassigned code points
895
896
897
898 Hoffman & Blanchet          Standards Track                    [Page 16]
899 \f
900 RFC 3454        Preparation of Internationalized Strings   December 2002
901
902
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.
909
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.
913
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.
922
923 7.2 Reasons for the difference between stored strings and queries
924
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.
931
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:
940
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.
945
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
951
952
953
954 Hoffman & Blanchet          Standards Track                    [Page 17]
955 \f
956 RFC 3454        Preparation of Internationalized Strings   December 2002
957
958
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.
961
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.
968
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.
972
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.
975
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.
979
980 7.3 Versions of applications and stored strings
981
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.
985
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.
992
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.
1003
1004
1005
1006
1007
1008
1009
1010 Hoffman & Blanchet          Standards Track                    [Page 18]
1011 \f
1012 RFC 3454        Preparation of Internationalized Strings   December 2002
1013
1014
1015 8. References
1016
1017 8.1 Normative references
1018
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>.
1023
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/).
1031
1032    [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
1033                 Requirement Levels", BCP 14, RFC 2119, March 1997.
1034
1035 8.2 Informative references
1036
1037    [CharModel]  Unicode Technical Report;17, Character Encoding Model.
1038                 <http://www.unicode.org/unicode/reports/tr17/>.
1039
1040    [Glossary]   Unicode Glossary, <http://www.unicode.org/glossary/>.
1041
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.
1046
1047    [RFC2434]    Narten, T. and H. Alvestrand, "Guidelines for IANA
1048                 Considerations", BCP 26, RFC 2434, October 1998.
1049
1050    [UAX9]       The Unicode Consortium. Unicode Standard Annex #9, The
1051                 Bidirectional Algorithm,
1052                 <http://www.unicode.org/unicode/reports/tr9/>.
1053
1054    [UTR21]      Mark Davis. Case Mappings. Unicode Technical Report 21.
1055                 <http://www.unicode.org/unicode/reports/tr21/>.
1056
1057 9. Security Considerations
1058
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.
1062
1063
1064
1065
1066 Hoffman & Blanchet          Standards Track                    [Page 19]
1067 \f
1068 RFC 3454        Preparation of Internationalized Strings   December 2002
1069
1070
1071 9.1 Stringprep-specific security considerations
1072
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.
1082
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.
1087
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.
1094
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.
1098
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.
1103
1104 9.2 Generic Unicode security considerations
1105
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.
1111
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
1117
1118
1119
1120
1121
1122 Hoffman & Blanchet          Standards Track                    [Page 20]
1123 \f
1124 RFC 3454        Preparation of Internationalized Strings   December 2002
1125
1126
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.
1130
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.
1136
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.
1140
1141 10. IANA Considerations
1142
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.
1146
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:
1150
1151    - Profile name
1152
1153    - RFC in which the profile is defined
1154
1155    - Indicator whether or not this is the newest version of the profile
1156
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.
1162
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.
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178 Hoffman & Blanchet          Standards Track                    [Page 21]
1179 \f
1180 RFC 3454        Preparation of Internationalized Strings   December 2002
1181
1182
1183 11. Acknowledgements
1184
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.
1189
1190    The IDN nameprep design team made many useful changes to the first
1191    document.  That team and its advisors include:
1192
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
1202
1203    Additional significant improvements were proposed by:
1204
1205    Jonathan Rosenne
1206    Kent Karlsson
1207    Scott Hollenbeck
1208    Dave Crocker
1209    Erik Nordmark
1210    Matitiahu Allouche
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234 Hoffman & Blanchet          Standards Track                    [Page 22]
1235 \f
1236 RFC 3454        Preparation of Internationalized Strings   December 2002
1237
1238
1239 A. Unicode repertoires
1240
1241    The following is the only repertoire covered in this document:
1242
1243    Unicode 3.2, as defined in [Unicode3.2].
1244
1245 A.1 Unassigned code points in Unicode 3.2
1246
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
1287
1288
1289
1290 Hoffman & Blanchet          Standards Track                    [Page 23]
1291 \f
1292 RFC 3454        Preparation of Internationalized Strings   December 2002
1293
1294
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
1343
1344
1345
1346 Hoffman & Blanchet          Standards Track                    [Page 24]
1347 \f
1348 RFC 3454        Preparation of Internationalized Strings   December 2002
1349
1350
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
1399
1400
1401
1402 Hoffman & Blanchet          Standards Track                    [Page 25]
1403 \f
1404 RFC 3454        Preparation of Internationalized Strings   December 2002
1405
1406
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
1455
1456
1457
1458 Hoffman & Blanchet          Standards Track                    [Page 26]
1459 \f
1460 RFC 3454        Preparation of Internationalized Strings   December 2002
1461
1462
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
1511
1512
1513
1514 Hoffman & Blanchet          Standards Track                    [Page 27]
1515 \f
1516 RFC 3454        Preparation of Internationalized Strings   December 2002
1517
1518
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
1567
1568
1569
1570 Hoffman & Blanchet          Standards Track                    [Page 28]
1571 \f
1572 RFC 3454        Preparation of Internationalized Strings   December 2002
1573
1574
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
1623
1624
1625
1626 Hoffman & Blanchet          Standards Track                    [Page 29]
1627 \f
1628 RFC 3454        Preparation of Internationalized Strings   December 2002
1629
1630
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
1679
1680
1681
1682 Hoffman & Blanchet          Standards Track                    [Page 30]
1683 \f
1684 RFC 3454        Preparation of Internationalized Strings   December 2002
1685
1686
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 -----
1709
1710 B. Mapping Tables
1711
1712    The following is the mapping table from section 3.  The table has
1713    three columns:
1714
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
1718
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.
1722
1723 B.1 Commonly mapped to nothing
1724
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
1735
1736
1737
1738 Hoffman & Blanchet          Standards Track                    [Page 31]
1739 \f
1740 RFC 3454        Preparation of Internationalized Strings   December 2002
1741
1742
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 -----
1762
1763 B.2 Mapping for case-folding used with NFKC
1764
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
1791
1792
1793
1794 Hoffman & Blanchet          Standards Track                    [Page 32]
1795 \f
1796 RFC 3454        Preparation of Internationalized Strings   December 2002
1797
1798
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
1847
1848
1849
1850 Hoffman & Blanchet          Standards Track                    [Page 33]
1851 \f
1852 RFC 3454        Preparation of Internationalized Strings   December 2002
1853
1854
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
1903
1904
1905
1906 Hoffman & Blanchet          Standards Track                    [Page 34]
1907 \f
1908 RFC 3454        Preparation of Internationalized Strings   December 2002
1909
1910
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
1959
1960
1961
1962 Hoffman & Blanchet          Standards Track                    [Page 35]
1963 \f
1964 RFC 3454        Preparation of Internationalized Strings   December 2002
1965
1966
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
2015
2016
2017
2018 Hoffman & Blanchet          Standards Track                    [Page 36]
2019 \f
2020 RFC 3454        Preparation of Internationalized Strings   December 2002
2021
2022
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
2071
2072
2073
2074 Hoffman & Blanchet          Standards Track                    [Page 37]
2075 \f
2076 RFC 3454        Preparation of Internationalized Strings   December 2002
2077
2078
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
2127
2128
2129
2130 Hoffman & Blanchet          Standards Track                    [Page 38]
2131 \f
2132 RFC 3454        Preparation of Internationalized Strings   December 2002
2133
2134
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
2183
2184
2185
2186 Hoffman & Blanchet          Standards Track                    [Page 39]
2187 \f
2188 RFC 3454        Preparation of Internationalized Strings   December 2002
2189
2190
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
2239
2240
2241
2242 Hoffman & Blanchet          Standards Track                    [Page 40]
2243 \f
2244 RFC 3454        Preparation of Internationalized Strings   December 2002
2245
2246
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
2295
2296
2297
2298 Hoffman & Blanchet          Standards Track                    [Page 41]
2299 \f
2300 RFC 3454        Preparation of Internationalized Strings   December 2002
2301
2302
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
2351
2352
2353
2354 Hoffman & Blanchet          Standards Track                    [Page 42]
2355 \f
2356 RFC 3454        Preparation of Internationalized Strings   December 2002
2357
2358
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
2407
2408
2409
2410 Hoffman & Blanchet          Standards Track                    [Page 43]
2411 \f
2412 RFC 3454        Preparation of Internationalized Strings   December 2002
2413
2414
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
2463
2464
2465
2466 Hoffman & Blanchet          Standards Track                    [Page 44]
2467 \f
2468 RFC 3454        Preparation of Internationalized Strings   December 2002
2469
2470
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
2519
2520
2521
2522 Hoffman & Blanchet          Standards Track                    [Page 45]
2523 \f
2524 RFC 3454        Preparation of Internationalized Strings   December 2002
2525
2526
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
2575
2576
2577
2578 Hoffman & Blanchet          Standards Track                    [Page 46]
2579 \f
2580 RFC 3454        Preparation of Internationalized Strings   December 2002
2581
2582
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
2631
2632
2633
2634 Hoffman & Blanchet          Standards Track                    [Page 47]
2635 \f
2636 RFC 3454        Preparation of Internationalized Strings   December 2002
2637
2638
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
2687
2688
2689
2690 Hoffman & Blanchet          Standards Track                    [Page 48]
2691 \f
2692 RFC 3454        Preparation of Internationalized Strings   December 2002
2693
2694
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
2743
2744
2745
2746 Hoffman & Blanchet          Standards Track                    [Page 49]
2747 \f
2748 RFC 3454        Preparation of Internationalized Strings   December 2002
2749
2750
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
2799
2800
2801
2802 Hoffman & Blanchet          Standards Track                    [Page 50]
2803 \f
2804 RFC 3454        Preparation of Internationalized Strings   December 2002
2805
2806
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
2855
2856
2857
2858 Hoffman & Blanchet          Standards Track                    [Page 51]
2859 \f
2860 RFC 3454        Preparation of Internationalized Strings   December 2002
2861
2862
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
2911
2912
2913
2914 Hoffman & Blanchet          Standards Track                    [Page 52]
2915 \f
2916 RFC 3454        Preparation of Internationalized Strings   December 2002
2917
2918
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
2967
2968
2969
2970 Hoffman & Blanchet          Standards Track                    [Page 53]
2971 \f
2972 RFC 3454        Preparation of Internationalized Strings   December 2002
2973
2974
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
3023
3024
3025
3026 Hoffman & Blanchet          Standards Track                    [Page 54]
3027 \f
3028 RFC 3454        Preparation of Internationalized Strings   December 2002
3029
3030
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
3079
3080
3081
3082 Hoffman & Blanchet          Standards Track                    [Page 55]
3083 \f
3084 RFC 3454        Preparation of Internationalized Strings   December 2002
3085
3086
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
3135
3136
3137
3138 Hoffman & Blanchet          Standards Track                    [Page 56]
3139 \f
3140 RFC 3454        Preparation of Internationalized Strings   December 2002
3141
3142
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
3191
3192
3193
3194 Hoffman & Blanchet          Standards Track                    [Page 57]
3195 \f
3196 RFC 3454        Preparation of Internationalized Strings   December 2002
3197
3198
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
3247
3248
3249
3250 Hoffman & Blanchet          Standards Track                    [Page 58]
3251 \f
3252 RFC 3454        Preparation of Internationalized Strings   December 2002
3253
3254
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
3303
3304
3305
3306 Hoffman & Blanchet          Standards Track                    [Page 59]
3307 \f
3308 RFC 3454        Preparation of Internationalized Strings   December 2002
3309
3310
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
3359
3360
3361
3362 Hoffman & Blanchet          Standards Track                    [Page 60]
3363 \f
3364 RFC 3454        Preparation of Internationalized Strings   December 2002
3365
3366
3367    1D7A8; 03C9; Additional folding
3368    1D7BB; 03C3; Additional folding
3369    ----- End Table B.2 -----
3370
3371 B.3 Mapping for case-folding used with no normalization
3372
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
3415
3416
3417
3418 Hoffman & Blanchet          Standards Track                    [Page 61]
3419 \f
3420 RFC 3454        Preparation of Internationalized Strings   December 2002
3421
3422
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