1 Internet Draft Paul Hoffman
2 draft-hoffman-stringprep-07.txt IMC & VPNC
3 October 4, 2002 Marc Blanchet
4 Expires in six months ViaGenie
6 Preparation of Internationalized Strings ("stringprep")
10 This document is an Internet-Draft and is in full conformance with all
11 provisions of Section 10 of RFC2026.
13 Internet-Drafts are working documents of the Internet Engineering Task
14 Force (IETF), its areas, and its working groups. Note that other groups
15 may also distribute working documents as Internet-Drafts.
17 Internet-Drafts are draft documents valid for a maximum of six months
18 and may be updated, replaced, or obsoleted by other documents at any
19 time. It is inappropriate to use Internet-Drafts as reference material
20 or to cite them other than as "work in progress."
22 To view the list Internet-Draft Shadow Directories, see
23 http://www.ietf.org/shadow.html.
28 This document describes a framework for preparing Unicode text strings
29 in order to increase the likelihood that string input and string
30 comparison work in ways that make sense for typical users throughout the
31 world. The stringprep protocol is useful for protocol identifier values,
32 company and personal names, internationalized domain names, and other
35 This document does not specify how protocols should prepare text
36 strings. Protocols must create profiles of stringprep in order to fully
37 specify the processing options.
43 1.2 Using stringprep in protocols
44 2. Preparation Overview
46 3.1 Commonly mapped to nothing
51 5.2 Control characters
53 5.4 Non-character code points
55 5.6 Inappropriate for plain text
56 5.7 Inappropriate for canonical representation
57 5.8 Change display properties or deprecated
58 5.9 Tagging characters
59 6. Bidirectional Characters
60 7. Unassigned Code Points in Stringprep Profiles
61 7.1 Categories of code points
62 7.2 Reasons for difference between stored strings and queries
63 7.3 Versions of applications and stored strings
65 8.1 Normative references
66 8.2 Informative references
67 9. Security Considerations
68 9.1 Stringprep-specific security considerations
69 9.2 Generic Unicode security considerations
70 10. IANA Considerations
72 12. Author Contact Information
73 A. Unicode repertoires
74 A.1 Unassigned code points in Unicode 3.2
76 B.1 Commonly mapped to nothing
77 B.2 Mapping for case-folding used with NFKC
78 B.3 Mapping for case-folding used with no normalization
81 C.1.1 ASCII space characters
82 C.1.2 Non-ASCII space characters
83 C.2 Control characters
84 C.2.1 ASCII control characters
85 C.2.2 Non-ASCII control characters
87 C.4 Non-character code points
89 C.6 Inappropriate for plain text
90 C.7 Inappropriate for canonical representation
91 C.8 Change display properties or are deprecated
92 C.9 Tagging characters
93 D. Bidirectional tables
94 D.1 Characters with bidirectional property "R" or "AL"
95 D.2 Characters with bidirectional property "L"
96 E. Changes from -05 to -06 [[ To be removed by RFC Editor ]]
100 Application programs can display text in many different ways. Similarly,
101 a user can enter text into an application program in a myriad of
102 fashions. Internationalized text (that is, text that is not restricted
103 to the narrow set of US-ASCII characters) has many input and display
104 behaviors that make it difficult to compare text in a consistent
107 This document specifies a framework of processing rules for Unicode
108 text. Other protocols can create profiles of these rules; these profiles
109 will allow users to enter internationalized text strings in applications
110 and have the highest chance of getting the content of the strings
111 correct. In this case, "correct" means that if two different people
112 enter what they think is the same string into two different input
113 mechanisms, the strings should match on a character-by-character basis.
115 This framework does not describe how data is transcoded from other
116 character sets into Unicode. In systems that uses non-Unicode character
117 sets, the transcoding algorithm is a critical part of enabling secure
118 and "correct" operation of internationalized text strings.
120 In addition to helping string matching, profiles of stringprep can also
121 exclude characters that should not normally appear in text that is used
122 in the protocol. The profile can prevent such characters by changing the
123 characters to be excluded to other characters, by removing those
124 characters, or by causing an error if the characters would appear in the
125 output. For example, because the backspace character can cause
126 unpredictable display results, a profile can specify that a string
127 containing a backspace character would cause an error.
129 A profile of stringprep converts a single string of input characters to
130 a string of output characters, or returns an error if the output string
131 would contain a prohibited character. Stringprep profiles cannot both
132 emit a string and return an error.
134 Stringprep profiles cannot account for all of the variations that might
135 occur or that a user might expect. In particular, a profile will not be
136 able to account for choice of spellings in all languages for all scripts
137 because the number of alternative spellings of words and phrases is
138 immense. Users would probably expect all spelling equivalents to be made
139 equivalent, or none of them to be. Examples of spelling equivalents
140 include "theater" vs. "theatre", and "hemoglobin" vs.
141 "h<U+00E6>moglobin" in American vs. British English. Other examples are
142 simplified Chinese spellings of names (for example,
143 "<U+7EDF><U+4E00><U+7801>") vs. the equivalent traditional Chinese
144 spelling (for example, "<U+7D71><U+4E00><U+78BC>"). Language-specific
145 equivalences such as "Aepfel" vs. "<U+00C4>pfel", which are sometimes
146 considered equivalent in German, may not be considered equivalent in
151 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
152 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
153 document are to be interpreted as described in RFC 2119.
155 Note: A glossary of terms used in Unicode and ISO/IEC 10646 can be found
156 in [Glossary]. Information on the 10646/Unicode character encoding model
157 can be found in [CharModel].
159 Character names in this document use the notation for code points and
160 names from the Unicode Standard [Unicode3.2] and ISO/IEC 10646
161 [ISO10646]. For example, the letter "a" may be represented as either
162 "U+0061" or "LATIN SMALL LETTER A". In the lists of mappings and the
163 prohibited characters, the "U+" is left off to make the lists easier to
164 read. The comments for character ranges are shown in square brackets
165 (such as "[CONTROL CHARACTERS]") and do not come from the standards.
167 1.2 Using stringprep in protocols
169 The stringprep protocol does not stand on its own; it has to be used by
170 other protocols at precisely-defined places in those other protocols.
171 For example, a protocol that has names that come from the entire ISO/IEC
172 10646 [ISO10646] character repertoire might specify that only names that
173 have been processed with a particular profile of stringprep are legal.
174 Another example would be a protocol that does string comparison as a
175 step in the protocol; that protocol might specify that such comparison
176 is done only after processing the strings with a specific profile of
179 When two protocols that use different profiles of stringprep
180 interoperate, there may be conflict about what characters are and are
181 not allowed in the final string. Thus, protocol developers should
182 strongly consider re-using existing profiles of stringprep.
184 When developers wish to allow users as wide of a range of characters as
185 possible in input text strings, they should, where possible, cause
186 stringprep to convert characters from the input string to a canonical
187 form instead of prohibiting them.
189 Although it would be easy to use the stringprep process to "correct"
190 perceived mis-features or bugs in the current character standards,
191 stringprep profiles SHOULD NOT do so.
193 A profile of stringprep can create tables different from those in the
194 appendixes of this document, but it will be an exception when they do.
195 The intention of stringprep is to define the tables and have the
196 profiles of stringprep select among those defined tables.
198 A profile of stringprep MUST include all of the following:
200 - The intended applicability of the profile
202 - The character repertoire that is the input and output to stringprep
203 (which is Unicode 3.2 for this version of stringprep)
205 - The mapping tables from this document used (as described in section 3)
207 - Any additional mapping tables specific to the profile
209 - The Unicode normalization used, if any (as described in section 4)
211 - The tables from this document of characters that are prohibited as
212 output (as described in section 5)
214 - The bidirectional string testing used, if any (as described in
217 - Any additional characters that are prohibited as output specific to
220 Each profile MUST state the character repertoire on which the profile
221 will operate. Appendix A lists the Unicode repertoires that can be
222 selected. No repertoire is ever complete, and it is expected that
223 characters will be added to the Unicode repertoire for the foreseeable
224 future. Section 7 of this document describes how to handle characters
225 that are assigned in later versions of the Unicode repertories.
226 Subsections of appendix A also list unassigned code points for each
229 This document is for Unicode version 3.2, and should not be considered
230 to automatically apply to later Unicode versions. The IETF, through an
231 explicit standards action, may update this document as appropriate to
232 handle later Unicode versions.
234 This document lists the unassigned code points in the range 0 to 10FFFF
235 for Unicode 3.2 in appendix A. The list in appendix A MUST be used by
236 implementations of this specification. If there are any discrepancies
237 between the list in appendix A and the Unicode 3.2 specification, the
238 list in appendix A always takes precedence.
240 Each profile of stringprep MUST be registered with IANA. The
241 registration procedure is described in the IANA Considerations appendix;
242 basically, the IESG must review each profile of stringprep. Protocol
243 developers are strongly encouraged to look through the IANA profile
244 registry when creating new profiles for stringprep, and to re-use logic
245 from earlier profiles where possible in new profiles. In some cases, an
246 existing profile can be reused by a different protocol.
249 2. Preparation Overview
251 The steps for preparing strings are:
253 1) Map -- For each character in the input, check if it has a mapping
254 and, if so, replace it with its mapping. This is described in section 3.
256 2) Normalize -- Possibly normalize the result of step 1 using Unicode
257 normalization. This is described in section 4.
259 3) Prohibit -- Check for any characters that are not allowed in the
260 output. If any are found, return an error. This is described in section
263 4) Check bidi -- Possibly check for right-to-left characters, and if any
264 are found, make sure that the whole string satisfies the requirements
265 for bidirectional strings. If the string does not satisfy the requirements
266 for bidirectional strings, return an error. This is described in section 6.
268 The above steps MUST be performed in the order given to comply with this
271 The mappings described in section 3, and the optional Unicode
272 normalization described in section 4, can be one-to-none, one-to-one,
273 one-to-many, many-to-one, or many-to-many. That is, some characters
274 might be eliminated or replaced by more than one character, and the
275 output of this step might be shorter or longer than the input. Because
276 of this, the system using stringprep MUST be prepared to receive a
277 longer or shorter string than the one input in the stringprep algorithm.
282 Each character in the input stream MUST be checked against a mapping
283 table. The mapping table SHOULD come from this document, although the
284 mapping table MAY be added to or altered by the profile. The mapping
285 tables are subsections of appendix B.
287 The lists in appendix B MUST be used by implementations of this
288 specification. If there are any discrepancies between the lists in
289 appendix B and subsections below, the lists in appendix B always takes
292 For any individual character, the mapping table MAY specify that a
293 character be mapped to nothing, or mapped to one other character, or
294 mapped to a string of other characters.
296 Mapped characters are not re-scanned during the mapping step. That is,
297 if character A at position X is mapped to character B, character B which
298 is now at position X is not checked against the mapping table.
300 3.1 Commonly mapped to nothing
302 The following characters are simply deleted from the input (that is,
303 they are mapped to nothing) because their presence or absence
304 in protocol identifiers should not
305 make two strings different. They are listed in Table B.1.
307 Some characters are only useful in line-based text, and are otherwise
308 invisible and ignored.
311 1806; MONGOLIAN TODO SOFT HYPHEN
312 200B; ZERO WIDTH SPACE
314 FEFF; ZERO WIDTH NO-BREAK SPACE
316 Some characters affect glyph choice and glyph placement, but do not bear
319 034F; COMBINING GRAPHEME JOINER
320 180B; MONGOLIAN FREE VARIATION SELECTOR ONE
321 180C; MONGOLIAN FREE VARIATION SELECTOR TWO
322 180D; MONGOLIAN FREE VARIATION SELECTOR THREE
323 200C; ZERO WIDTH NON-JOINER
324 200D; ZERO WIDTH JOINER
325 FE00; VARIATION SELECTOR-1
326 FE01; VARIATION SELECTOR-2
327 FE02; VARIATION SELECTOR-3
328 FE03; VARIATION SELECTOR-4
329 FE04; VARIATION SELECTOR-5
330 FE05; VARIATION SELECTOR-6
331 FE06; VARIATION SELECTOR-7
332 FE07; VARIATION SELECTOR-8
333 FE08; VARIATION SELECTOR-9
334 FE09; VARIATION SELECTOR-10
335 FE0A; VARIATION SELECTOR-11
336 FE0B; VARIATION SELECTOR-12
337 FE0C; VARIATION SELECTOR-13
338 FE0D; VARIATION SELECTOR-14
339 FE0E; VARIATION SELECTOR-15
340 FE0F; VARIATION SELECTOR-16
344 If a profile is going to map characters for case-insensitive comparison,
345 that profile SHOULD map using either appendix B.2 or appendix B.3.
346 appendix B.2 is for profiles that also use Unicode normalization form
347 KC, while appendix B.3 is for profiles that do not use Unicode
348 normalization. These tables map from uppercase to lowercase characters.
349 Note that this could have been "change all lowercase characters into
350 uppercase characters". However, the upper-to-lower folding was chosen
351 because there is a tradition of using lowercase in current Internet
352 applications and protocols.
354 If a profile creates its own mapping tables for case folding, they
355 SHOULD be based on [UTR21], and SHOULD map from uppercase characters to
356 lowercase. The "CaseFolding.txt" file from the Unicode database SHOULD
357 be used to prepare the mapping table. The profile SHOULD do full case
358 mapping (that is, using statuses C, F, and I).
360 If the profile is using Unicode normalization form KC (as described in
361 section 4 of this document), it is important to note that there are some
362 characters that do not have mappings in [UTR21] but still need
363 processing. These characters include a few Greek characters and many
364 symbols that contain Latin characters. The list of characters to add to
365 the mapping table can determined by the following algorithm:
367 b = NormalizeWithKC(Fold(a));
368 c = NormalizeWithKC(Fold(b));
369 if c is not the same as b, add a mapping for "a to c".
371 Because NormalizeWithKC(Fold(c)) always equals c, the table is stable
374 Appendix B.3 is derived from the CaseFolding-3.txt file associated with
375 Unicode 3.2; appendix B.2 is based on appendix B.3 with the additional
376 characters added from the algorithm above.
378 Authors of profiles of this document need to consider the effects of
379 changing the mapping of any currently-assigned character when updating
380 their profiles. Adding a new mapping for a currently-assigned character,
381 or changing an existing mapping, could change the behavior that users
382 see in both systems that have been updated and systems that have not
387 The output of the mapping step is optionally normalized using one of the
388 Unicode normalization forms, as described in [UAX15]. A profile can
389 specify one of two options for Unicode normalization:
393 - Unicode normalization with form KC
395 A profile MAY choose to do no normalization. However, such a profile can
396 easily yield results that will be surprising to typical users, depending
397 on the input mechanism they use. For example, some input mechanisms
398 enter compatibility characters that look exactly like the underlying
399 characters, but have different code points. Another example of where
400 Unicode normalization helps create predictable results is with
401 characters that have multiple combining diacritics: normalization orders
402 those diacritics in a predictable fashion.
404 On the other hand, Unicode normalization requires fairly large tables
405 and somewhat complicated character reordering logic. The size and
406 complexity should not be considered daunting except in the most
407 restricted of environments, and needs to be weighed against the problems
408 of user surprise from comparing unnormalized strings.
409 Note that the tables used for normalization are not given in this
410 document, but instead must be derived from the Unicode database, as
411 described in [UAX15].
413 There is a third form of normalization, Unicode normalization with form
414 C. If a profile is going to use a Unicode normalization, it MUST use
415 Unicode normalization form KC. Form KC maps many "compatibility
416 characters" to their equivalents. Some user interface systems make it
417 possible to enter compatibility characters instead of the base
418 equivalents. Thus, using form KC instead of form C will cause more
419 strings that users would expect to match to actually match.
421 A profile that specifies Unicode normalization MUST use the
422 normalization in [UAX15] that is associated with the version of the
423 Unicode character set specified for the profile.
425 The composition process described in [UAX15] requires a fixed
426 composition version of Unicode to ensure that strings normalized under
427 one version of Unicode remain normalized under all future versions of
430 The IETF is relying on Unicode not to change the normalization of
431 currently-assigned characters in future versions of normalization. If a
432 future version of the normalization tables changes the normalized value
433 of an existing character, authors of profiles of this document have to
434 look at the changes very carefully before they update their
435 normalization tables. Such a change could cause a variance between the
436 behavior of systems that have been updated and systems that have not
441 Before the text can be emitted, it MUST be checked for prohibited code
442 points. There are a variety of prohibited code points, as described in
443 this section. A profile of this document MAY use all or some of the
444 tables in appendix C.
446 The stringprep process never emits both an error and a string. If an
447 error is detected during the checking for prohibited code points, only
448 an error is returned.
450 Note that the subsections below describe how the tables in appendix C
451 were formed. They are here for people who want to understand more, but
452 they should be ignored by implementors. Implementations that use tables
453 MUST map based on the tables themselves, not based on the descriptions
454 in this section of how the tables were created.
456 The lists in appendix C MUST be used by implementations of this
457 specification. If there are any discrepancies between the lists in
458 appendix C and subsections below, the lists in appendix C always take
461 Some code points listed in one section may also appear in other
464 It is important to note that a profile of this document MAY prohibit
465 additional characters.
467 Each subsection of this section has a matching subsection in appendix
468 C. For example, the characters listed in section 5.1 are listed in
473 Space characters can make accurate visual transcription of names
474 nearly impossible and could lead to user entry errors in many
475 ways. Note that the list below is split into two tables in
476 appendix C: Table C.1.1 contains the ASCII code points, while
477 Table C.1.2 contains the non-ASCII code points. Most profiles of
478 this document that want to prohibit space characters will want
479 to include both tables.
483 1680; OGHAM SPACE MARK
488 2004; THREE-PER-EM SPACE
489 2005; FOUR-PER-EM SPACE
490 2006; SIX-PER-EM SPACE
492 2008; PUNCTUATION SPACE
495 200B; ZERO WIDTH SPACE
496 202F; NARROW NO-BREAK SPACE
497 205F; MEDIUM MATHEMATICAL SPACE
498 3000; IDEOGRAPHIC SPACE
500 5.2 Control characters
502 Control characters (or characters with control function) cannot be seen
503 and can cause unpredictable results when displayed. Note that the list
504 below is split into two tables in appendix C: Table C.2.1 contains the
505 ASCII code points, while Table C.2.2 contains the non-ASCII code points.
506 Most profiles of this document that want to prohibit control characters
507 will want to include both tables.
509 0000-001F; [CONTROL CHARACTERS]
511 0080-009F; [CONTROL CHARACTERS]
512 06DD; ARABIC END OF AYAH
513 070F; SYRIAC ABBREVIATION MARK
514 180E; MONGOLIAN VOWEL SEPARATOR
515 200C; ZERO WIDTH NON-JOINER
516 200D; ZERO WIDTH JOINER
518 2029; PARAGRAPH SEPARATOR
520 2061; FUNCTION APPLICATION
521 2062; INVISIBLE TIMES
522 2063; INVISIBLE SEPARATOR
523 206A-206F; [CONTROL CHARACTERS]
524 FEFF; ZERO WIDTH NO-BREAK SPACE
525 FFF9-FFFC; [CONTROL CHARACTERS]
526 1D173-1D17A; [MUSICAL CONTROL CHARACTERS]
530 Because private-use characters do not have defined meanings, they are
531 likely to be prohibited. The private-use characters are:
533 E000-F8FF; [PRIVATE USE, PLANE 0]
534 F0000-FFFFD; [PRIVATE USE, PLANE 15]
535 100000-10FFFD; [PRIVATE USE, PLANE 16]
537 5.4 Non-character code points
539 Non-character code points are code points that have been allocated in
540 ISO/IEC 10646 but are not characters. Because they are already assigned,
541 they are guaranteed not to later change into characters.
543 FDD0-FDEF; [NONCHARACTER CODE POINTS]
544 FFFE-FFFF; [NONCHARACTER CODE POINTS]
545 1FFFE-1FFFF; [NONCHARACTER CODE POINTS]
546 2FFFE-2FFFF; [NONCHARACTER CODE POINTS]
547 3FFFE-3FFFF; [NONCHARACTER CODE POINTS]
548 4FFFE-4FFFF; [NONCHARACTER CODE POINTS]
549 5FFFE-5FFFF; [NONCHARACTER CODE POINTS]
550 6FFFE-6FFFF; [NONCHARACTER CODE POINTS]
551 7FFFE-7FFFF; [NONCHARACTER CODE POINTS]
552 8FFFE-8FFFF; [NONCHARACTER CODE POINTS]
553 9FFFE-9FFFF; [NONCHARACTER CODE POINTS]
554 AFFFE-AFFFF; [NONCHARACTER CODE POINTS]
555 BFFFE-BFFFF; [NONCHARACTER CODE POINTS]
556 CFFFE-CFFFF; [NONCHARACTER CODE POINTS]
557 DFFFE-DFFFF; [NONCHARACTER CODE POINTS]
558 EFFFE-EFFFF; [NONCHARACTER CODE POINTS]
559 FFFFE-FFFFF; [NONCHARACTER CODE POINTS]
560 10FFFE-10FFFF; [NONCHARACTER CODE POINTS]
562 The non-character code points are listed in the PropList.txt file from the
567 The following code points are permanently reserved for use as surrogate
568 code values in the UTF-16 encoding, will never be assigned to
569 characters in the Unicode repertoire, and are therefore prohibited:
571 D800-DFFF; [SURROGATE CODES]
573 5.6 Inappropriate for plain text
575 The following characters do not appear in regular text.
577 FFF9; INTERLINEAR ANNOTATION ANCHOR
578 FFFA; INTERLINEAR ANNOTATION SEPARATOR
579 FFFB; INTERLINEAR ANNOTATION TERMINATOR
580 FFFC; OBJECT REPLACEMENT CHARACTER
582 Although the replacement character (U+FFFD) might be used when a name is
583 displayed, it doesn't make sense for it to be part of the name itself.
584 It is often displayed by renderers to indicate "there would be
585 some character here, but it cannot be rendered". For example, on a
586 computer with no Asian fonts, a name with three ideographs might be
587 rendered with three replacement characters.
589 FFFD; REPLACEMENT CHARACTER
591 5.7 Inappropriate for canonical representation
593 The ideographic description characters allow different sequences of
594 characters to be rendered the same way, which makes them inappropriate
595 for names that have to have a single canonical representation.
597 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
599 5.8 Change display properties or are deprecated
601 The following characters can cause changes in display or the order in
602 which characters appear when rendered, or are deprecated in Unicode.
604 0340; COMBINING GRAVE TONE MARK
605 0341; COMBINING ACUTE TONE MARK
606 200E; LEFT-TO-RIGHT MARK
607 200F; RIGHT-TO-LEFT MARK
608 202A; LEFT-TO-RIGHT EMBEDDING
609 202B; RIGHT-TO-LEFT EMBEDDING
610 202C; POP DIRECTIONAL FORMATTING
611 202D; LEFT-TO-RIGHT OVERRIDE
612 202E; RIGHT-TO-LEFT OVERRIDE
613 206A; INHIBIT SYMMETRIC SWAPPING
614 206B; ACTIVATE SYMMETRIC SWAPPING
615 206C; INHIBIT ARABIC FORM SHAPING
616 206D; ACTIVATE ARABIC FORM SHAPING
617 206E; NATIONAL DIGIT SHAPES
618 206F; NOMINAL DIGIT SHAPES
620 5.9 Tagging characters
622 The following characters are used for tagging text and are invisible.
625 E0020-E007F; [TAGGING CHARACTERS]
628 6. Bidirectional Characters
630 Most characters are displayed from left to right, but some are displayed
631 from right to left. This feature of Unicode is called "bidirectional
632 text", or "bidi" for short. The Unicode standard has an extensive
633 discussion of how to reorder glyphs for display when dealing
634 with bidirectional text such as Arabic or Hebrew. See [UAX9] for more
635 information. In particular, all Unicode text is stored in logical order.
637 A profile MAY choose to ignore bidirectional text. However, ignoring
638 bidirectional text can cause display ambiguities. For example, it is
639 quite easy to create two different strings with the same characters (but
640 in different order) that are correctly displayed identically. Therefore,
641 in order to avoid most problems with ambiguous bidirectional text
642 display, profile creators should strongly consider including the
643 bidirectional character handling described in this section in their
646 The stringprep process never emits both an error and a string. If an
647 error is detected during the checking of bidirectional strings, only
648 an error is returned.
650 [Uncode3.2] defines several bidirectional categories; each character has
651 one bidirectional category assigned to it. For the purposes of the
652 requirements below, an "RandALCat character" is a character that has
653 Unicode bidirectional categories "R" or "AL"; an "LCat character" is a
654 character that has Unicode bidirectional category "L". Note that there
655 are many characters which fall in neither of the above definitions;
656 Latin digits (<U+0030> through <U+0039>) are examples of this because
657 they have bidirectional category "EN".
659 In any profile that specifies bidirectional character handling, all
660 three of the following requirements MUST be met:
662 1) The characters in section 5.8 MUST be prohibited.
664 2) If a string contains any RandALCat character, the string MUST NOT
665 contain any LCat character.
667 3) If a string contains any RandALCat character, a RandALCat character
668 MUST be the first character of the string, and a RandALCat character
669 MUST be the last character of the string.
671 Note that requirement 3 prohibits strings such as <U+0627><U+0031>
672 ("aleph 1") but allows strings such as <U+0627><U+0031><U+0628> ("aleph
673 1 beh"). [UAX9] goes into great detail about the display order of
674 strings that contain particular categories of characters in particular
677 Table D.1 lists the characters that belong to Unicode bidirectional
678 categories "R" and "AL". Table D.2 lists all the characters that belong
679 to Unicode bidirectonal category "L". These tables are derived from
683 7. Unassigned Code Points in Stringprep Profiles
685 This section describes two different types of strings in typical
686 protocols where internationalized strings are used: "stored strings" and
687 "queries". Of course, different Internet protocols use strings very
688 differently, so these terms cannot be used exactly in every protocol
689 that needs to use stringprep. In general, "stored strings" are strings
690 that are used in protocol identifiers and named entities, such as names
691 in digital certificates and DNS domain name parts.
692 "Queries" are strings that are used to match against strings that are
693 stored identifiers, such as user-entered names for digital certificate
694 authorities and DNS lookups.
696 All code points not assigned in the character repertoire named in a
697 stringprep profile are called "unassigned code points". Stored strings
698 using the profile MUST NOT contain any unassigned code points. Queries
699 for matching strings MAY contain unassigned code points. Note that this
700 is the only part of this document where the requirements for queries
701 differs from the requirements for stored strings.
703 Using two different policies for where unassigned code points can appear
704 removes the need for versioning in protocols that use stringprep
705 profiles. This is very useful since it makes the overall processing
706 simpler and does not impose a "protocol" to handle versioning. It is
707 expected that the ISO/IEC 10646 and Unicode repertoires will be updated
708 fairly frequently; at the time that this document is being written, it
709 has happened approximately once a year. Each time a new version of a
710 repertoire appears, a new version of a profile MAY be created. Some end
711 users will want to use the new code points as soon as they are defined.
713 The list of unassigned code points MUST be given in a profile, and that
714 list MUST be used by implementations of the profile.
716 The goal of the requirements in this section is to prevent comparisons
717 between two strings that were both permitted to contain unassigned code
718 points. When two strings X and Y are compared and string Y was prepared
719 in a way that permits unassigned code points, a negative result to the
720 comparison is not definitive; it's possible that the strings don't match
721 even though they would match if a more recent version of the profile
722 were used for Y. However, if both X and Y were prepared in a way that
723 permits unassigned code points, something worse can happen: even a
724 positive result for the comparison is not definitive. It is possible
725 that the strings do match even though they would not match if a more
726 recent version of the profile were used (one that prohibits a code point
727 appearing in both X and Y).
729 Due to the way that versioning is handled in this section, stored
730 strings that are embedded in structures that cannot be changed (such as
731 the signed parts of digital certificates) MUST NOT contain any
732 unassigned code points.
734 7.1 Categories of code points
736 Each code point in a repertoire named by a profile of stringprep can be
737 categorized by how it acts in the process described in earlier sections
740 AO Code points that can be in the output
742 MN Code points that cannot be in the output because they never
743 appear as output from mapping or normalization
745 D Code points that cannot be in the output because they are
746 disallowed in the prohibition step
748 U Unassigned code points
750 A subsequent version of a profile that references a newer version of a
751 repertoire with new code points will inherently have some code points
752 move from category U to either D, MN, or AO. For backwards
753 compatibility, a subsequent version of a profile MUST NOT move code
754 points from any other category. That is, current AO, MN, or D code
755 points MUST NOT ever change to a different category.
757 Stored strings MUST NOT contain any code points outside of
758 AO for the latest version of a profile. That is, they are forbidden to
759 contain code points from the MN, D, or U categories.
761 Applications creating queries MUST treat U code points as if they were
762 AO when preparing the query to be entered in the process described by a
763 profile of stringprep. Those applications MAY optionally have a
764 preprocessor that provide stricter checks: treating unassigned code
765 points in the input as errors, or warning the user about the fact that
766 the code point is unassigned in the version of a profile that the
767 software is based on; such a choice is a local matter for the software.
769 7.2 Reasons for the difference between stored strings and queries
771 Different software using different versions of a stringprep profile need
772 to interoperate with maximal compatibility. The scheme described in this
773 section (stored strings MUST NOT contain unassigned code points,
774 queries MAY include unassigned code points) allows that compatibility
775 without introducing any known security or interoperability issues.
777 The list below shows what happens if a query contains a code point
778 from category U that is allowed in a newer version of a profile. The
779 query either matches the string that was intended, or matches no
780 string at all. In this list, the query comes from an application using
781 version "oldVersion" of a profile, the stored string was created using
782 version "newVersion" of the same profile, and the code point X was in
783 category U in oldVersion, and has changed category to AO, MN, or D.
784 There are 3 possible scenarios:
786 1. X is assigned to AO -- In newVersion, X is in category AO. Because
787 the application passed X through, it gets back a positive match with the
788 stored string. There is one exceptional case, where X is a combining
791 The order of combining marks is normalized, so if another combining mark
792 Y has a lower combining class than X then XY will be put in the
793 canonical order YX. (Unassigned code points are never reordered, so this
794 doesn't happen in oldVersion). If the query contains YX, the query
795 will get positive match with the stored string. However, no string can be
796 stored with XY, so a query with XY will get a negative
797 answer to the test for matching.
799 2. X is assigned to MN -- In newVersion, X is normalized to code point
800 "nX" and therefore X is now put in category MN. This cannot exist in any
801 stored string, so any query containing X will get a negative
802 answer to the test for matching. Note, however, if the query had
803 contained the letter nX, it would have positively matched.
805 3. X is assigned to D -- In newVersion, X is in category D. This cannot
806 exist in any stored string, so any query containing X will
807 get a negative answer to the test for matching.
809 In none of the cases does the query get data for a stored string other
810 than the one it actually tried to match against.
812 Profiles are stable between versions in the following sense: If a
813 string S has been prepared using newVersion, then it will not change if
814 it is subsequently prepared using oldVersion.
816 7.3 Versions of applications and stored strings
818 Another way to see that this versioning system works is to compare what
819 happens when an application uses a newer or older version of a profile.
821 Newer query application -- Suppose that a querying application is
822 using version newVersion and the stored string was created using version
823 oldVersion. This case is simple: there will be no characters in the
824 stored string that cannot be queried by the application because the
825 new profile uses a superset of the code points used for making the
828 Newer stored string -- Suppose that a querying application is using
829 oldVersion and the stored string was created using a profile that uses
830 newVersion. Because the querying application let unassigned code points
831 pass through, the user can query on stored strings that use
832 code points in newVersion. No stored strings can have code points that
833 are unassigned in newVersion, since that is illegal. In order to get
834 a match, the querying application has to enter the unassigned code
835 points in the proper order, and has to use unassigned code points that
836 would make it through both the mapping and the normalization steps.
841 8.1 Normative references
843 [UAX15] Mark Davis and Martin Duerst. Unicode Standard Annex #15:
844 Unicode Normalization Forms, Version 3.2.0.
845 <http://www.unicode.org/unicode/reports/tr15/tr15-22.html>.
847 [Unicode3.2] The Unicode Consortium. The Unicode Standard, Version 3.2.0
848 is defined by The Unicode Standard, Version 3.0 (Reading, MA,
849 Addison-Wesley, 2000. ISBN 0-201-61633-5), as amended by the Unicode
850 Standard Annex #27: Unicode 3.1 (http://www.unicode.org/reports/tr27/)
851 and by the Unicode Standard Annex #28: Unicode 3.2
852 (http://www.unicode.org/reports/tr28/).
854 8.2 Informative references
856 [CharModel] Unicode Technical Report;17, Character Encoding Model.
857 <http://www.unicode.org/unicode/reports/tr17/>.
859 [Glossary] Unicode Glossary, <http://www.unicode.org/glossary/>.
861 [RFC2119] Scott Bradner, "Key words for use in RFCs to Indicate
862 Requirement Levels", March 1997, RFC 2119.
864 [RFC2434] Thomas Narten and Harald Alvestrand, "Guidelines for IANA
865 Considerations", October 1998, RFC 2434.
867 [UAX9] The Unicode Consortium. Unicode Standard Annex #9, The
868 Bidirectional Algorithm, <http://www.unicode.org/unicode/reports/tr9/>.
870 [UTR21] Mark Davis. Case Mappings. Unicode Technical Report 21.
871 <http://www.unicode.org/unicode/reports/tr21/>.
874 9. Security Considerations
876 Stringprep is used with Unicode characters. There are security
877 considerations that are specific to stringprep, and others that are
878 generic to using Unicode.
880 9.1 Stringprep-specific security considerations
882 The Unicode and ISO/IEC 10646 repertoires have many characters that look
883 similar. In many cases, users of security protocols might do visual
884 matching, such as when comparing the names of trusted third parties.
885 Because it is impossible to map similar-looking characters without a
886 great deal of context such as knowing the fonts used, stringprep does
887 nothing to map similar-looking characters together nor to prohibit some
888 characters because they look like others. User applications can help
889 disambiguate some similar-looking characters by showing the user when a
890 string changes between scripts.
892 Most profiles of stringprep can cause changes in strings that are input
893 to stringprep. Because of this, protocols that have sets of non-allowed
894 characters or sequences MUST check for the non-allowed characters or
895 sequences after the stringprep processing.
897 This document does not mandate the checking of bidirectional characters
898 in section 6. If the requirements in section 6 are not used in a profile
899 of stringprep, it is easy to create many strings whose characters are in
900 different order but are displayed identically. This can cause
901 security-related user confusion similar to look-alike characters, as
904 Stringprep does not do anything to assure that any algorithms
905 translating characters from non-Unicode into Unicode produce the same
906 output in all implementations.
908 Some Unicode codepoints are invisible. Protocols that allow these
909 characters (that is, do not map them out or prohibit them in stringprep)
910 can cause users confusion when two identical-looking strings do not
913 9.2 Generic Unicode security considerations
915 Using Unicode characters explicitly forces applications to use
916 multi-octet characters. Converting an application from one that uses
917 single-octet characters to one that uses multi-octet characters must be
918 done very carefully, particularly in an application that checks for
919 values of characters or sorts characters.
921 Protocols that use stringprep usually also use encodings of Unicode,
922 such as UTF-8 or UTF-16. Some applications using those encodings have
923 been known to not check for illegal or ill-formed sequences in the
924 encodings, and thereby have not detected sequences of octets that would
925 have been detected if they used just ASCII. For example, in UTF-8 the
926 octet sequence "0xC0 0xAB" is an illegal formation of U+002B (plus
927 sign). All programs should reject any string that is an illegal or
928 ill-formed octet sequence for the encoding being used.
930 Both Unicode normalization and conversion between Unicode encodings can
931 cause strings to grow or shrink. Programs that used fixed-size buffers,
932 or that make assumptions that buffers will always be greater than or
933 less than particular sizes, are likely to fail in insecure fashions when
934 using Unicode normalization or encoding conversions.
936 Covering an extensive list of security threats and considerations on the
937 use of current and future versions of Unicode is outside of the scope of
941 10. IANA Considerations
943 Stringprep profiles MUST have IETF consensus as described in [RFC2434].
944 Each profile MUST be reviewed by the IESG before it is registered. The
945 IESG MAY change a profile before registration.
947 IANA will start a registry of stringprep profiles. The registry will be
948 a single text file that lists the known profiles. Each entry in the
949 registry will have three fields:
953 - RFC in which the profile is defined
955 - Indicator whether or not this is the newest version of the
958 Each version of a profile will remain listed in the registry forever.
959 That is, if a new version of a profile supersedes an earlier version,
960 both versions will continue to be listed in the registry, but the
961 current version indicator will be turned off for the earlier version and
962 turned on for the newer version.
964 It is probably harmful if a large number of profiles of stringprep
965 proliferate. Therefore, the IESG may reject proposals for new profiles
966 and instead suggest that protocols reuse existing profiles.
971 Many people from the IETF IDN Working Group and the Unicode Technical
972 Committee contributed ideas that went into the first draft of this
973 document. Mark Davis and Patrik Faltstrom were particularly helpful in
974 some of the ideas, such as the versioning description.
976 The IDN nameprep design team made many useful changes to the first
977 draft. That team and its advisors include:
989 Additional significant improvements were proposed by:
999 12. Author Contact Information
1002 Internet Mail Consortium and VPN Consortium
1004 Santa Cruz, CA 95060 USA
1005 paul.hoffman@imc.org and paul.hoffman@vpnc.org
1009 2875 boul. Laurier, bur. 300
1010 Ste-Foy, Quebec, Canada, G1V 2M2
1011 Marc.Blanchet@viagenie.qc.ca
1014 A. Unicode repertoires
1016 The following is the only repertoire covered in this document:
1018 Unicode 3.2, as defined in [Unicode3.2].
1020 A.1 Unassigned code points in Unicode 3.2
1022 ----- Start Table A.1 -----
1419 ----- End Table A.1 -----
1423 The following is the mapping table from section 3. The table has three
1425 - the code point that is mapped from
1426 - the zero or more code points that it is mapped to
1427 - the reason for the mapping
1428 The columns are separated by semicolons. Note that the second column may
1429 be empty, or it may have one code point, or it may have more than one
1430 code point, with each code point separated by a space.
1432 B.1 Commonly mapped to nothing
1434 ----- Start Table B.1 -----
1435 00AD; ; Map to nothing
1436 034F; ; Map to nothing
1437 1806; ; Map to nothing
1438 180B; ; Map to nothing
1439 180C; ; Map to nothing
1440 180D; ; Map to nothing
1441 200B; ; Map to nothing
1442 200C; ; Map to nothing
1443 200D; ; Map to nothing
1444 2060; ; Map to nothing
1445 FE00; ; Map to nothing
1446 FE01; ; Map to nothing
1447 FE02; ; Map to nothing
1448 FE03; ; Map to nothing
1449 FE04; ; Map to nothing
1450 FE05; ; Map to nothing
1451 FE06; ; Map to nothing
1452 FE07; ; Map to nothing
1453 FE08; ; Map to nothing
1454 FE09; ; Map to nothing
1455 FE0A; ; Map to nothing
1456 FE0B; ; Map to nothing
1457 FE0C; ; Map to nothing
1458 FE0D; ; Map to nothing
1459 FE0E; ; Map to nothing
1460 FE0F; ; Map to nothing
1461 FEFF; ; Map to nothing
1462 ----- End Table B.1 -----
1464 B.2 Mapping for case-folding used with NFKC
1466 ----- Start Table B.2 -----
1467 0041; 0061; Case map
1468 0042; 0062; Case map
1469 0043; 0063; Case map
1470 0044; 0064; Case map
1471 0045; 0065; Case map
1472 0046; 0066; Case map
1473 0047; 0067; Case map
1474 0048; 0068; Case map
1475 0049; 0069; Case map
1476 004A; 006A; Case map
1477 004B; 006B; Case map
1478 004C; 006C; Case map
1479 004D; 006D; Case map
1480 004E; 006E; Case map
1481 004F; 006F; Case map
1482 0050; 0070; Case map
1483 0051; 0071; Case map
1484 0052; 0072; Case map
1485 0053; 0073; Case map
1486 0054; 0074; Case map
1487 0055; 0075; Case map
1488 0056; 0076; Case map
1489 0057; 0077; Case map
1490 0058; 0078; Case map
1491 0059; 0079; Case map
1492 005A; 007A; Case map
1493 00B5; 03BC; Case map
1494 00C0; 00E0; Case map
1495 00C1; 00E1; Case map
1496 00C2; 00E2; Case map
1497 00C3; 00E3; Case map
1498 00C4; 00E4; Case map
1499 00C5; 00E5; Case map
1500 00C6; 00E6; Case map
1501 00C7; 00E7; Case map
1502 00C8; 00E8; Case map
1503 00C9; 00E9; Case map
1504 00CA; 00EA; Case map
1505 00CB; 00EB; Case map
1506 00CC; 00EC; Case map
1507 00CD; 00ED; Case map
1508 00CE; 00EE; Case map
1509 00CF; 00EF; Case map
1510 00D0; 00F0; Case map
1511 00D1; 00F1; Case map
1512 00D2; 00F2; Case map
1513 00D3; 00F3; Case map
1514 00D4; 00F4; Case map
1515 00D5; 00F5; Case map
1516 00D6; 00F6; Case map
1517 00D8; 00F8; Case map
1518 00D9; 00F9; Case map
1519 00DA; 00FA; Case map
1520 00DB; 00FB; Case map
1521 00DC; 00FC; Case map
1522 00DD; 00FD; Case map
1523 00DE; 00FE; Case map
1524 00DF; 0073 0073; Case map
1525 0100; 0101; Case map
1526 0102; 0103; Case map
1527 0104; 0105; Case map
1528 0106; 0107; Case map
1529 0108; 0109; Case map
1530 010A; 010B; Case map
1531 010C; 010D; Case map
1532 010E; 010F; Case map
1533 0110; 0111; Case map
1534 0112; 0113; Case map
1535 0114; 0115; Case map
1536 0116; 0117; Case map
1537 0118; 0119; Case map
1538 011A; 011B; Case map
1539 011C; 011D; Case map
1540 011E; 011F; Case map
1541 0120; 0121; Case map
1542 0122; 0123; Case map
1543 0124; 0125; Case map
1544 0126; 0127; Case map
1545 0128; 0129; Case map
1546 012A; 012B; Case map
1547 012C; 012D; Case map
1548 012E; 012F; Case map
1549 0130; 0069 0307; Case map
1550 0132; 0133; Case map
1551 0134; 0135; Case map
1552 0136; 0137; Case map
1553 0139; 013A; Case map
1554 013B; 013C; Case map
1555 013D; 013E; Case map
1556 013F; 0140; Case map
1557 0141; 0142; Case map
1558 0143; 0144; Case map
1559 0145; 0146; Case map
1560 0147; 0148; Case map
1561 0149; 02BC 006E; Case map
1562 014A; 014B; Case map
1563 014C; 014D; Case map
1564 014E; 014F; Case map
1565 0150; 0151; Case map
1566 0152; 0153; Case map
1567 0154; 0155; Case map
1568 0156; 0157; Case map
1569 0158; 0159; Case map
1570 015A; 015B; Case map
1571 015C; 015D; Case map
1572 015E; 015F; Case map
1573 0160; 0161; Case map
1574 0162; 0163; Case map
1575 0164; 0165; Case map
1576 0166; 0167; Case map
1577 0168; 0169; Case map
1578 016A; 016B; Case map
1579 016C; 016D; Case map
1580 016E; 016F; Case map
1581 0170; 0171; Case map
1582 0172; 0173; Case map
1583 0174; 0175; Case map
1584 0176; 0177; Case map
1585 0178; 00FF; Case map
1586 0179; 017A; Case map
1587 017B; 017C; Case map
1588 017D; 017E; Case map
1589 017F; 0073; Case map
1590 0181; 0253; Case map
1591 0182; 0183; Case map
1592 0184; 0185; Case map
1593 0186; 0254; Case map
1594 0187; 0188; Case map
1595 0189; 0256; Case map
1596 018A; 0257; Case map
1597 018B; 018C; Case map
1598 018E; 01DD; Case map
1599 018F; 0259; Case map
1600 0190; 025B; Case map
1601 0191; 0192; Case map
1602 0193; 0260; Case map
1603 0194; 0263; Case map
1604 0196; 0269; Case map
1605 0197; 0268; Case map
1606 0198; 0199; Case map
1607 019C; 026F; Case map
1608 019D; 0272; Case map
1609 019F; 0275; Case map
1610 01A0; 01A1; Case map
1611 01A2; 01A3; Case map
1612 01A4; 01A5; Case map
1613 01A6; 0280; Case map
1614 01A7; 01A8; Case map
1615 01A9; 0283; Case map
1616 01AC; 01AD; Case map
1617 01AE; 0288; Case map
1618 01AF; 01B0; Case map
1619 01B1; 028A; Case map
1620 01B2; 028B; Case map
1621 01B3; 01B4; Case map
1622 01B5; 01B6; Case map
1623 01B7; 0292; Case map
1624 01B8; 01B9; Case map
1625 01BC; 01BD; Case map
1626 01C4; 01C6; Case map
1627 01C5; 01C6; Case map
1628 01C7; 01C9; Case map
1629 01C8; 01C9; Case map
1630 01CA; 01CC; Case map
1631 01CB; 01CC; Case map
1632 01CD; 01CE; Case map
1633 01CF; 01D0; Case map
1634 01D1; 01D2; Case map
1635 01D3; 01D4; Case map
1636 01D5; 01D6; Case map
1637 01D7; 01D8; Case map
1638 01D9; 01DA; Case map
1639 01DB; 01DC; Case map
1640 01DE; 01DF; Case map
1641 01E0; 01E1; Case map
1642 01E2; 01E3; Case map
1643 01E4; 01E5; Case map
1644 01E6; 01E7; Case map
1645 01E8; 01E9; Case map
1646 01EA; 01EB; Case map
1647 01EC; 01ED; Case map
1648 01EE; 01EF; Case map
1649 01F0; 006A 030C; Case map
1650 01F1; 01F3; Case map
1651 01F2; 01F3; Case map
1652 01F4; 01F5; Case map
1653 01F6; 0195; Case map
1654 01F7; 01BF; Case map
1655 01F8; 01F9; Case map
1656 01FA; 01FB; Case map
1657 01FC; 01FD; Case map
1658 01FE; 01FF; Case map
1659 0200; 0201; Case map
1660 0202; 0203; Case map
1661 0204; 0205; Case map
1662 0206; 0207; Case map
1663 0208; 0209; Case map
1664 020A; 020B; Case map
1665 020C; 020D; Case map
1666 020E; 020F; Case map
1667 0210; 0211; Case map
1668 0212; 0213; Case map
1669 0214; 0215; Case map
1670 0216; 0217; Case map
1671 0218; 0219; Case map
1672 021A; 021B; Case map
1673 021C; 021D; Case map
1674 021E; 021F; Case map
1675 0220; 019E; Case map
1676 0222; 0223; Case map
1677 0224; 0225; Case map
1678 0226; 0227; Case map
1679 0228; 0229; Case map
1680 022A; 022B; Case map
1681 022C; 022D; Case map
1682 022E; 022F; Case map
1683 0230; 0231; Case map
1684 0232; 0233; Case map
1685 0345; 03B9; Case map
1686 037A; 0020 03B9; Additional folding
1687 0386; 03AC; Case map
1688 0388; 03AD; Case map
1689 0389; 03AE; Case map
1690 038A; 03AF; Case map
1691 038C; 03CC; Case map
1692 038E; 03CD; Case map
1693 038F; 03CE; Case map
1694 0390; 03B9 0308 0301; Case map
1695 0391; 03B1; Case map
1696 0392; 03B2; Case map
1697 0393; 03B3; Case map
1698 0394; 03B4; Case map
1699 0395; 03B5; Case map
1700 0396; 03B6; Case map
1701 0397; 03B7; Case map
1702 0398; 03B8; Case map
1703 0399; 03B9; Case map
1704 039A; 03BA; Case map
1705 039B; 03BB; Case map
1706 039C; 03BC; Case map
1707 039D; 03BD; Case map
1708 039E; 03BE; Case map
1709 039F; 03BF; Case map
1710 03A0; 03C0; Case map
1711 03A1; 03C1; Case map
1712 03A3; 03C3; Case map
1713 03A4; 03C4; Case map
1714 03A5; 03C5; Case map
1715 03A6; 03C6; Case map
1716 03A7; 03C7; Case map
1717 03A8; 03C8; Case map
1718 03A9; 03C9; Case map
1719 03AA; 03CA; Case map
1720 03AB; 03CB; Case map
1721 03B0; 03C5 0308 0301; Case map
1722 03C2; 03C3; Case map
1723 03D0; 03B2; Case map
1724 03D1; 03B8; Case map
1725 03D2; 03C5; Additional folding
1726 03D3; 03CD; Additional folding
1727 03D4; 03CB; Additional folding
1728 03D5; 03C6; Case map
1729 03D6; 03C0; Case map
1730 03D8; 03D9; Case map
1731 03DA; 03DB; Case map
1732 03DC; 03DD; Case map
1733 03DE; 03DF; Case map
1734 03E0; 03E1; Case map
1735 03E2; 03E3; Case map
1736 03E4; 03E5; Case map
1737 03E6; 03E7; Case map
1738 03E8; 03E9; Case map
1739 03EA; 03EB; Case map
1740 03EC; 03ED; Case map
1741 03EE; 03EF; Case map
1742 03F0; 03BA; Case map
1743 03F1; 03C1; Case map
1744 03F2; 03C3; Case map
1745 03F4; 03B8; Case map
1746 03F5; 03B5; Case map
1747 0400; 0450; Case map
1748 0401; 0451; Case map
1749 0402; 0452; Case map
1750 0403; 0453; Case map
1751 0404; 0454; Case map
1752 0405; 0455; Case map
1753 0406; 0456; Case map
1754 0407; 0457; Case map
1755 0408; 0458; Case map
1756 0409; 0459; Case map
1757 040A; 045A; Case map
1758 040B; 045B; Case map
1759 040C; 045C; Case map
1760 040D; 045D; Case map
1761 040E; 045E; Case map
1762 040F; 045F; Case map
1763 0410; 0430; Case map
1764 0411; 0431; Case map
1765 0412; 0432; Case map
1766 0413; 0433; Case map
1767 0414; 0434; Case map
1768 0415; 0435; Case map
1769 0416; 0436; Case map
1770 0417; 0437; Case map
1771 0418; 0438; Case map
1772 0419; 0439; Case map
1773 041A; 043A; Case map
1774 041B; 043B; Case map
1775 041C; 043C; Case map
1776 041D; 043D; Case map
1777 041E; 043E; Case map
1778 041F; 043F; Case map
1779 0420; 0440; Case map
1780 0421; 0441; Case map
1781 0422; 0442; Case map
1782 0423; 0443; Case map
1783 0424; 0444; Case map
1784 0425; 0445; Case map
1785 0426; 0446; Case map
1786 0427; 0447; Case map
1787 0428; 0448; Case map
1788 0429; 0449; Case map
1789 042A; 044A; Case map
1790 042B; 044B; Case map
1791 042C; 044C; Case map
1792 042D; 044D; Case map
1793 042E; 044E; Case map
1794 042F; 044F; Case map
1795 0460; 0461; Case map
1796 0462; 0463; Case map
1797 0464; 0465; Case map
1798 0466; 0467; Case map
1799 0468; 0469; Case map
1800 046A; 046B; Case map
1801 046C; 046D; Case map
1802 046E; 046F; Case map
1803 0470; 0471; Case map
1804 0472; 0473; Case map
1805 0474; 0475; Case map
1806 0476; 0477; Case map
1807 0478; 0479; Case map
1808 047A; 047B; Case map
1809 047C; 047D; Case map
1810 047E; 047F; Case map
1811 0480; 0481; Case map
1812 048A; 048B; Case map
1813 048C; 048D; Case map
1814 048E; 048F; Case map
1815 0490; 0491; Case map
1816 0492; 0493; Case map
1817 0494; 0495; Case map
1818 0496; 0497; Case map
1819 0498; 0499; Case map
1820 049A; 049B; Case map
1821 049C; 049D; Case map
1822 049E; 049F; Case map
1823 04A0; 04A1; Case map
1824 04A2; 04A3; Case map
1825 04A4; 04A5; Case map
1826 04A6; 04A7; Case map
1827 04A8; 04A9; Case map
1828 04AA; 04AB; Case map
1829 04AC; 04AD; Case map
1830 04AE; 04AF; Case map
1831 04B0; 04B1; Case map
1832 04B2; 04B3; Case map
1833 04B4; 04B5; Case map
1834 04B6; 04B7; Case map
1835 04B8; 04B9; Case map
1836 04BA; 04BB; Case map
1837 04BC; 04BD; Case map
1838 04BE; 04BF; Case map
1839 04C1; 04C2; Case map
1840 04C3; 04C4; Case map
1841 04C5; 04C6; Case map
1842 04C7; 04C8; Case map
1843 04C9; 04CA; Case map
1844 04CB; 04CC; Case map
1845 04CD; 04CE; Case map
1846 04D0; 04D1; Case map
1847 04D2; 04D3; Case map
1848 04D4; 04D5; Case map
1849 04D6; 04D7; Case map
1850 04D8; 04D9; Case map
1851 04DA; 04DB; Case map
1852 04DC; 04DD; Case map
1853 04DE; 04DF; Case map
1854 04E0; 04E1; Case map
1855 04E2; 04E3; Case map
1856 04E4; 04E5; Case map
1857 04E6; 04E7; Case map
1858 04E8; 04E9; Case map
1859 04EA; 04EB; Case map
1860 04EC; 04ED; Case map
1861 04EE; 04EF; Case map
1862 04F0; 04F1; Case map
1863 04F2; 04F3; Case map
1864 04F4; 04F5; Case map
1865 04F8; 04F9; Case map
1866 0500; 0501; Case map
1867 0502; 0503; Case map
1868 0504; 0505; Case map
1869 0506; 0507; Case map
1870 0508; 0509; Case map
1871 050A; 050B; Case map
1872 050C; 050D; Case map
1873 050E; 050F; Case map
1874 0531; 0561; Case map
1875 0532; 0562; Case map
1876 0533; 0563; Case map
1877 0534; 0564; Case map
1878 0535; 0565; Case map
1879 0536; 0566; Case map
1880 0537; 0567; Case map
1881 0538; 0568; Case map
1882 0539; 0569; Case map
1883 053A; 056A; Case map
1884 053B; 056B; Case map
1885 053C; 056C; Case map
1886 053D; 056D; Case map
1887 053E; 056E; Case map
1888 053F; 056F; Case map
1889 0540; 0570; Case map
1890 0541; 0571; Case map
1891 0542; 0572; Case map
1892 0543; 0573; Case map
1893 0544; 0574; Case map
1894 0545; 0575; Case map
1895 0546; 0576; Case map
1896 0547; 0577; Case map
1897 0548; 0578; Case map
1898 0549; 0579; Case map
1899 054A; 057A; Case map
1900 054B; 057B; Case map
1901 054C; 057C; Case map
1902 054D; 057D; Case map
1903 054E; 057E; Case map
1904 054F; 057F; Case map
1905 0550; 0580; Case map
1906 0551; 0581; Case map
1907 0552; 0582; Case map
1908 0553; 0583; Case map
1909 0554; 0584; Case map
1910 0555; 0585; Case map
1911 0556; 0586; Case map
1912 0587; 0565 0582; Case map
1913 1E00; 1E01; Case map
1914 1E02; 1E03; Case map
1915 1E04; 1E05; Case map
1916 1E06; 1E07; Case map
1917 1E08; 1E09; Case map
1918 1E0A; 1E0B; Case map
1919 1E0C; 1E0D; Case map
1920 1E0E; 1E0F; Case map
1921 1E10; 1E11; Case map
1922 1E12; 1E13; Case map
1923 1E14; 1E15; Case map
1924 1E16; 1E17; Case map
1925 1E18; 1E19; Case map
1926 1E1A; 1E1B; Case map
1927 1E1C; 1E1D; Case map
1928 1E1E; 1E1F; Case map
1929 1E20; 1E21; Case map
1930 1E22; 1E23; Case map
1931 1E24; 1E25; Case map
1932 1E26; 1E27; Case map
1933 1E28; 1E29; Case map
1934 1E2A; 1E2B; Case map
1935 1E2C; 1E2D; Case map
1936 1E2E; 1E2F; Case map
1937 1E30; 1E31; Case map
1938 1E32; 1E33; Case map
1939 1E34; 1E35; Case map
1940 1E36; 1E37; Case map
1941 1E38; 1E39; Case map
1942 1E3A; 1E3B; Case map
1943 1E3C; 1E3D; Case map
1944 1E3E; 1E3F; Case map
1945 1E40; 1E41; Case map
1946 1E42; 1E43; Case map
1947 1E44; 1E45; Case map
1948 1E46; 1E47; Case map
1949 1E48; 1E49; Case map
1950 1E4A; 1E4B; Case map
1951 1E4C; 1E4D; Case map
1952 1E4E; 1E4F; Case map
1953 1E50; 1E51; Case map
1954 1E52; 1E53; Case map
1955 1E54; 1E55; Case map
1956 1E56; 1E57; Case map
1957 1E58; 1E59; Case map
1958 1E5A; 1E5B; Case map
1959 1E5C; 1E5D; Case map
1960 1E5E; 1E5F; Case map
1961 1E60; 1E61; Case map
1962 1E62; 1E63; Case map
1963 1E64; 1E65; Case map
1964 1E66; 1E67; Case map
1965 1E68; 1E69; Case map
1966 1E6A; 1E6B; Case map
1967 1E6C; 1E6D; Case map
1968 1E6E; 1E6F; Case map
1969 1E70; 1E71; Case map
1970 1E72; 1E73; Case map
1971 1E74; 1E75; Case map
1972 1E76; 1E77; Case map
1973 1E78; 1E79; Case map
1974 1E7A; 1E7B; Case map
1975 1E7C; 1E7D; Case map
1976 1E7E; 1E7F; Case map
1977 1E80; 1E81; Case map
1978 1E82; 1E83; Case map
1979 1E84; 1E85; Case map
1980 1E86; 1E87; Case map
1981 1E88; 1E89; Case map
1982 1E8A; 1E8B; Case map
1983 1E8C; 1E8D; Case map
1984 1E8E; 1E8F; Case map
1985 1E90; 1E91; Case map
1986 1E92; 1E93; Case map
1987 1E94; 1E95; Case map
1988 1E96; 0068 0331; Case map
1989 1E97; 0074 0308; Case map
1990 1E98; 0077 030A; Case map
1991 1E99; 0079 030A; Case map
1992 1E9A; 0061 02BE; Case map
1993 1E9B; 1E61; Case map
1994 1EA0; 1EA1; Case map
1995 1EA2; 1EA3; Case map
1996 1EA4; 1EA5; Case map
1997 1EA6; 1EA7; Case map
1998 1EA8; 1EA9; Case map
1999 1EAA; 1EAB; Case map
2000 1EAC; 1EAD; Case map
2001 1EAE; 1EAF; Case map
2002 1EB0; 1EB1; Case map
2003 1EB2; 1EB3; Case map
2004 1EB4; 1EB5; Case map
2005 1EB6; 1EB7; Case map
2006 1EB8; 1EB9; Case map
2007 1EBA; 1EBB; Case map
2008 1EBC; 1EBD; Case map
2009 1EBE; 1EBF; Case map
2010 1EC0; 1EC1; Case map
2011 1EC2; 1EC3; Case map
2012 1EC4; 1EC5; Case map
2013 1EC6; 1EC7; Case map
2014 1EC8; 1EC9; Case map
2015 1ECA; 1ECB; Case map
2016 1ECC; 1ECD; Case map
2017 1ECE; 1ECF; Case map
2018 1ED0; 1ED1; Case map
2019 1ED2; 1ED3; Case map
2020 1ED4; 1ED5; Case map
2021 1ED6; 1ED7; Case map
2022 1ED8; 1ED9; Case map
2023 1EDA; 1EDB; Case map
2024 1EDC; 1EDD; Case map
2025 1EDE; 1EDF; Case map
2026 1EE0; 1EE1; Case map
2027 1EE2; 1EE3; Case map
2028 1EE4; 1EE5; Case map
2029 1EE6; 1EE7; Case map
2030 1EE8; 1EE9; Case map
2031 1EEA; 1EEB; Case map
2032 1EEC; 1EED; Case map
2033 1EEE; 1EEF; Case map
2034 1EF0; 1EF1; Case map
2035 1EF2; 1EF3; Case map
2036 1EF4; 1EF5; Case map
2037 1EF6; 1EF7; Case map
2038 1EF8; 1EF9; Case map
2039 1F08; 1F00; Case map
2040 1F09; 1F01; Case map
2041 1F0A; 1F02; Case map
2042 1F0B; 1F03; Case map
2043 1F0C; 1F04; Case map
2044 1F0D; 1F05; Case map
2045 1F0E; 1F06; Case map
2046 1F0F; 1F07; Case map
2047 1F18; 1F10; Case map
2048 1F19; 1F11; Case map
2049 1F1A; 1F12; Case map
2050 1F1B; 1F13; Case map
2051 1F1C; 1F14; Case map
2052 1F1D; 1F15; Case map
2053 1F28; 1F20; Case map
2054 1F29; 1F21; Case map
2055 1F2A; 1F22; Case map
2056 1F2B; 1F23; Case map
2057 1F2C; 1F24; Case map
2058 1F2D; 1F25; Case map
2059 1F2E; 1F26; Case map
2060 1F2F; 1F27; Case map
2061 1F38; 1F30; Case map
2062 1F39; 1F31; Case map
2063 1F3A; 1F32; Case map
2064 1F3B; 1F33; Case map
2065 1F3C; 1F34; Case map
2066 1F3D; 1F35; Case map
2067 1F3E; 1F36; Case map
2068 1F3F; 1F37; Case map
2069 1F48; 1F40; Case map
2070 1F49; 1F41; Case map
2071 1F4A; 1F42; Case map
2072 1F4B; 1F43; Case map
2073 1F4C; 1F44; Case map
2074 1F4D; 1F45; Case map
2075 1F50; 03C5 0313; Case map
2076 1F52; 03C5 0313 0300; Case map
2077 1F54; 03C5 0313 0301; Case map
2078 1F56; 03C5 0313 0342; Case map
2079 1F59; 1F51; Case map
2080 1F5B; 1F53; Case map
2081 1F5D; 1F55; Case map
2082 1F5F; 1F57; Case map
2083 1F68; 1F60; Case map
2084 1F69; 1F61; Case map
2085 1F6A; 1F62; Case map
2086 1F6B; 1F63; Case map
2087 1F6C; 1F64; Case map
2088 1F6D; 1F65; Case map
2089 1F6E; 1F66; Case map
2090 1F6F; 1F67; Case map
2091 1F80; 1F00 03B9; Case map
2092 1F81; 1F01 03B9; Case map
2093 1F82; 1F02 03B9; Case map
2094 1F83; 1F03 03B9; Case map
2095 1F84; 1F04 03B9; Case map
2096 1F85; 1F05 03B9; Case map
2097 1F86; 1F06 03B9; Case map
2098 1F87; 1F07 03B9; Case map
2099 1F88; 1F00 03B9; Case map
2100 1F89; 1F01 03B9; Case map
2101 1F8A; 1F02 03B9; Case map
2102 1F8B; 1F03 03B9; Case map
2103 1F8C; 1F04 03B9; Case map
2104 1F8D; 1F05 03B9; Case map
2105 1F8E; 1F06 03B9; Case map
2106 1F8F; 1F07 03B9; Case map
2107 1F90; 1F20 03B9; Case map
2108 1F91; 1F21 03B9; Case map
2109 1F92; 1F22 03B9; Case map
2110 1F93; 1F23 03B9; Case map
2111 1F94; 1F24 03B9; Case map
2112 1F95; 1F25 03B9; Case map
2113 1F96; 1F26 03B9; Case map
2114 1F97; 1F27 03B9; Case map
2115 1F98; 1F20 03B9; Case map
2116 1F99; 1F21 03B9; Case map
2117 1F9A; 1F22 03B9; Case map
2118 1F9B; 1F23 03B9; Case map
2119 1F9C; 1F24 03B9; Case map
2120 1F9D; 1F25 03B9; Case map
2121 1F9E; 1F26 03B9; Case map
2122 1F9F; 1F27 03B9; Case map
2123 1FA0; 1F60 03B9; Case map
2124 1FA1; 1F61 03B9; Case map
2125 1FA2; 1F62 03B9; Case map
2126 1FA3; 1F63 03B9; Case map
2127 1FA4; 1F64 03B9; Case map
2128 1FA5; 1F65 03B9; Case map
2129 1FA6; 1F66 03B9; Case map
2130 1FA7; 1F67 03B9; Case map
2131 1FA8; 1F60 03B9; Case map
2132 1FA9; 1F61 03B9; Case map
2133 1FAA; 1F62 03B9; Case map
2134 1FAB; 1F63 03B9; Case map
2135 1FAC; 1F64 03B9; Case map
2136 1FAD; 1F65 03B9; Case map
2137 1FAE; 1F66 03B9; Case map
2138 1FAF; 1F67 03B9; Case map
2139 1FB2; 1F70 03B9; Case map
2140 1FB3; 03B1 03B9; Case map
2141 1FB4; 03AC 03B9; Case map
2142 1FB6; 03B1 0342; Case map
2143 1FB7; 03B1 0342 03B9; Case map
2144 1FB8; 1FB0; Case map
2145 1FB9; 1FB1; Case map
2146 1FBA; 1F70; Case map
2147 1FBB; 1F71; Case map
2148 1FBC; 03B1 03B9; Case map
2149 1FBE; 03B9; Case map
2150 1FC2; 1F74 03B9; Case map
2151 1FC3; 03B7 03B9; Case map
2152 1FC4; 03AE 03B9; Case map
2153 1FC6; 03B7 0342; Case map
2154 1FC7; 03B7 0342 03B9; Case map
2155 1FC8; 1F72; Case map
2156 1FC9; 1F73; Case map
2157 1FCA; 1F74; Case map
2158 1FCB; 1F75; Case map
2159 1FCC; 03B7 03B9; Case map
2160 1FD2; 03B9 0308 0300; Case map
2161 1FD3; 03B9 0308 0301; Case map
2162 1FD6; 03B9 0342; Case map
2163 1FD7; 03B9 0308 0342; Case map
2164 1FD8; 1FD0; Case map
2165 1FD9; 1FD1; Case map
2166 1FDA; 1F76; Case map
2167 1FDB; 1F77; Case map
2168 1FE2; 03C5 0308 0300; Case map
2169 1FE3; 03C5 0308 0301; Case map
2170 1FE4; 03C1 0313; Case map
2171 1FE6; 03C5 0342; Case map
2172 1FE7; 03C5 0308 0342; Case map
2173 1FE8; 1FE0; Case map
2174 1FE9; 1FE1; Case map
2175 1FEA; 1F7A; Case map
2176 1FEB; 1F7B; Case map
2177 1FEC; 1FE5; Case map
2178 1FF2; 1F7C 03B9; Case map
2179 1FF3; 03C9 03B9; Case map
2180 1FF4; 03CE 03B9; Case map
2181 1FF6; 03C9 0342; Case map
2182 1FF7; 03C9 0342 03B9; Case map
2183 1FF8; 1F78; Case map
2184 1FF9; 1F79; Case map
2185 1FFA; 1F7C; Case map
2186 1FFB; 1F7D; Case map
2187 1FFC; 03C9 03B9; Case map
2188 20A8; 0072 0073; Additional folding
2189 2102; 0063; Additional folding
2190 2103; 00B0 0063; Additional folding
2191 2107; 025B; Additional folding
2192 2109; 00B0 0066; Additional folding
2193 210B; 0068; Additional folding
2194 210C; 0068; Additional folding
2195 210D; 0068; Additional folding
2196 2110; 0069; Additional folding
2197 2111; 0069; Additional folding
2198 2112; 006C; Additional folding
2199 2115; 006E; Additional folding
2200 2116; 006E 006F; Additional folding
2201 2119; 0070; Additional folding
2202 211A; 0071; Additional folding
2203 211B; 0072; Additional folding
2204 211C; 0072; Additional folding
2205 211D; 0072; Additional folding
2206 2120; 0073 006D; Additional folding
2207 2121; 0074 0065 006C; Additional folding
2208 2122; 0074 006D; Additional folding
2209 2124; 007A; Additional folding
2210 2126; 03C9; Case map
2211 2128; 007A; Additional folding
2212 212A; 006B; Case map
2213 212B; 00E5; Case map
2214 212C; 0062; Additional folding
2215 212D; 0063; Additional folding
2216 2130; 0065; Additional folding
2217 2131; 0066; Additional folding
2218 2133; 006D; Additional folding
2219 213E; 03B3; Additional folding
2220 213F; 03C0; Additional folding
2221 2145; 0064; Additional folding
2222 2160; 2170; Case map
2223 2161; 2171; Case map
2224 2162; 2172; Case map
2225 2163; 2173; Case map
2226 2164; 2174; Case map
2227 2165; 2175; Case map
2228 2166; 2176; Case map
2229 2167; 2177; Case map
2230 2168; 2178; Case map
2231 2169; 2179; Case map
2232 216A; 217A; Case map
2233 216B; 217B; Case map
2234 216C; 217C; Case map
2235 216D; 217D; Case map
2236 216E; 217E; Case map
2237 216F; 217F; Case map
2238 24B6; 24D0; Case map
2239 24B7; 24D1; Case map
2240 24B8; 24D2; Case map
2241 24B9; 24D3; Case map
2242 24BA; 24D4; Case map
2243 24BB; 24D5; Case map
2244 24BC; 24D6; Case map
2245 24BD; 24D7; Case map
2246 24BE; 24D8; Case map
2247 24BF; 24D9; Case map
2248 24C0; 24DA; Case map
2249 24C1; 24DB; Case map
2250 24C2; 24DC; Case map
2251 24C3; 24DD; Case map
2252 24C4; 24DE; Case map
2253 24C5; 24DF; Case map
2254 24C6; 24E0; Case map
2255 24C7; 24E1; Case map
2256 24C8; 24E2; Case map
2257 24C9; 24E3; Case map
2258 24CA; 24E4; Case map
2259 24CB; 24E5; Case map
2260 24CC; 24E6; Case map
2261 24CD; 24E7; Case map
2262 24CE; 24E8; Case map
2263 24CF; 24E9; Case map
2264 3371; 0068 0070 0061; Additional folding
2265 3373; 0061 0075; Additional folding
2266 3375; 006F 0076; Additional folding
2267 3380; 0070 0061; Additional folding
2268 3381; 006E 0061; Additional folding
2269 3382; 03BC 0061; Additional folding
2270 3383; 006D 0061; Additional folding
2271 3384; 006B 0061; Additional folding
2272 3385; 006B 0062; Additional folding
2273 3386; 006D 0062; Additional folding
2274 3387; 0067 0062; Additional folding
2275 338A; 0070 0066; Additional folding
2276 338B; 006E 0066; Additional folding
2277 338C; 03BC 0066; Additional folding
2278 3390; 0068 007A; Additional folding
2279 3391; 006B 0068 007A; Additional folding
2280 3392; 006D 0068 007A; Additional folding
2281 3393; 0067 0068 007A; Additional folding
2282 3394; 0074 0068 007A; Additional folding
2283 33A9; 0070 0061; Additional folding
2284 33AA; 006B 0070 0061; Additional folding
2285 33AB; 006D 0070 0061; Additional folding
2286 33AC; 0067 0070 0061; Additional folding
2287 33B4; 0070 0076; Additional folding
2288 33B5; 006E 0076; Additional folding
2289 33B6; 03BC 0076; Additional folding
2290 33B7; 006D 0076; Additional folding
2291 33B8; 006B 0076; Additional folding
2292 33B9; 006D 0076; Additional folding
2293 33BA; 0070 0077; Additional folding
2294 33BB; 006E 0077; Additional folding
2295 33BC; 03BC 0077; Additional folding
2296 33BD; 006D 0077; Additional folding
2297 33BE; 006B 0077; Additional folding
2298 33BF; 006D 0077; Additional folding
2299 33C0; 006B 03C9; Additional folding
2300 33C1; 006D 03C9; Additional folding
2301 33C3; 0062 0071; Additional folding
2302 33C6; 0063 2215 006B 0067; Additional folding
2303 33C7; 0063 006F 002E; Additional folding
2304 33C8; 0064 0062; Additional folding
2305 33C9; 0067 0079; Additional folding
2306 33CB; 0068 0070; Additional folding
2307 33CD; 006B 006B; Additional folding
2308 33CE; 006B 006D; Additional folding
2309 33D7; 0070 0068; Additional folding
2310 33D9; 0070 0070 006D; Additional folding
2311 33DA; 0070 0072; Additional folding
2312 33DC; 0073 0076; Additional folding
2313 33DD; 0077 0062; Additional folding
2314 FB00; 0066 0066; Case map
2315 FB01; 0066 0069; Case map
2316 FB02; 0066 006C; Case map
2317 FB03; 0066 0066 0069; Case map
2318 FB04; 0066 0066 006C; Case map
2319 FB05; 0073 0074; Case map
2320 FB06; 0073 0074; Case map
2321 FB13; 0574 0576; Case map
2322 FB14; 0574 0565; Case map
2323 FB15; 0574 056B; Case map
2324 FB16; 057E 0576; Case map
2325 FB17; 0574 056D; Case map
2326 FF21; FF41; Case map
2327 FF22; FF42; Case map
2328 FF23; FF43; Case map
2329 FF24; FF44; Case map
2330 FF25; FF45; Case map
2331 FF26; FF46; Case map
2332 FF27; FF47; Case map
2333 FF28; FF48; Case map
2334 FF29; FF49; Case map
2335 FF2A; FF4A; Case map
2336 FF2B; FF4B; Case map
2337 FF2C; FF4C; Case map
2338 FF2D; FF4D; Case map
2339 FF2E; FF4E; Case map
2340 FF2F; FF4F; Case map
2341 FF30; FF50; Case map
2342 FF31; FF51; Case map
2343 FF32; FF52; Case map
2344 FF33; FF53; Case map
2345 FF34; FF54; Case map
2346 FF35; FF55; Case map
2347 FF36; FF56; Case map
2348 FF37; FF57; Case map
2349 FF38; FF58; Case map
2350 FF39; FF59; Case map
2351 FF3A; FF5A; Case map
2352 10400; 10428; Case map
2353 10401; 10429; Case map
2354 10402; 1042A; Case map
2355 10403; 1042B; Case map
2356 10404; 1042C; Case map
2357 10405; 1042D; Case map
2358 10406; 1042E; Case map
2359 10407; 1042F; Case map
2360 10408; 10430; Case map
2361 10409; 10431; Case map
2362 1040A; 10432; Case map
2363 1040B; 10433; Case map
2364 1040C; 10434; Case map
2365 1040D; 10435; Case map
2366 1040E; 10436; Case map
2367 1040F; 10437; Case map
2368 10410; 10438; Case map
2369 10411; 10439; Case map
2370 10412; 1043A; Case map
2371 10413; 1043B; Case map
2372 10414; 1043C; Case map
2373 10415; 1043D; Case map
2374 10416; 1043E; Case map
2375 10417; 1043F; Case map
2376 10418; 10440; Case map
2377 10419; 10441; Case map
2378 1041A; 10442; Case map
2379 1041B; 10443; Case map
2380 1041C; 10444; Case map
2381 1041D; 10445; Case map
2382 1041E; 10446; Case map
2383 1041F; 10447; Case map
2384 10420; 10448; Case map
2385 10421; 10449; Case map
2386 10422; 1044A; Case map
2387 10423; 1044B; Case map
2388 10424; 1044C; Case map
2389 10425; 1044D; Case map
2390 1D400; 0061; Additional folding
2391 1D401; 0062; Additional folding
2392 1D402; 0063; Additional folding
2393 1D403; 0064; Additional folding
2394 1D404; 0065; Additional folding
2395 1D405; 0066; Additional folding
2396 1D406; 0067; Additional folding
2397 1D407; 0068; Additional folding
2398 1D408; 0069; Additional folding
2399 1D409; 006A; Additional folding
2400 1D40A; 006B; Additional folding
2401 1D40B; 006C; Additional folding
2402 1D40C; 006D; Additional folding
2403 1D40D; 006E; Additional folding
2404 1D40E; 006F; Additional folding
2405 1D40F; 0070; Additional folding
2406 1D410; 0071; Additional folding
2407 1D411; 0072; Additional folding
2408 1D412; 0073; Additional folding
2409 1D413; 0074; Additional folding
2410 1D414; 0075; Additional folding
2411 1D415; 0076; Additional folding
2412 1D416; 0077; Additional folding
2413 1D417; 0078; Additional folding
2414 1D418; 0079; Additional folding
2415 1D419; 007A; Additional folding
2416 1D434; 0061; Additional folding
2417 1D435; 0062; Additional folding
2418 1D436; 0063; Additional folding
2419 1D437; 0064; Additional folding
2420 1D438; 0065; Additional folding
2421 1D439; 0066; Additional folding
2422 1D43A; 0067; Additional folding
2423 1D43B; 0068; Additional folding
2424 1D43C; 0069; Additional folding
2425 1D43D; 006A; Additional folding
2426 1D43E; 006B; Additional folding
2427 1D43F; 006C; Additional folding
2428 1D440; 006D; Additional folding
2429 1D441; 006E; Additional folding
2430 1D442; 006F; Additional folding
2431 1D443; 0070; Additional folding
2432 1D444; 0071; Additional folding
2433 1D445; 0072; Additional folding
2434 1D446; 0073; Additional folding
2435 1D447; 0074; Additional folding
2436 1D448; 0075; Additional folding
2437 1D449; 0076; Additional folding
2438 1D44A; 0077; Additional folding
2439 1D44B; 0078; Additional folding
2440 1D44C; 0079; Additional folding
2441 1D44D; 007A; Additional folding
2442 1D468; 0061; Additional folding
2443 1D469; 0062; Additional folding
2444 1D46A; 0063; Additional folding
2445 1D46B; 0064; Additional folding
2446 1D46C; 0065; Additional folding
2447 1D46D; 0066; Additional folding
2448 1D46E; 0067; Additional folding
2449 1D46F; 0068; Additional folding
2450 1D470; 0069; Additional folding
2451 1D471; 006A; Additional folding
2452 1D472; 006B; Additional folding
2453 1D473; 006C; Additional folding
2454 1D474; 006D; Additional folding
2455 1D475; 006E; Additional folding
2456 1D476; 006F; Additional folding
2457 1D477; 0070; Additional folding
2458 1D478; 0071; Additional folding
2459 1D479; 0072; Additional folding
2460 1D47A; 0073; Additional folding
2461 1D47B; 0074; Additional folding
2462 1D47C; 0075; Additional folding
2463 1D47D; 0076; Additional folding
2464 1D47E; 0077; Additional folding
2465 1D47F; 0078; Additional folding
2466 1D480; 0079; Additional folding
2467 1D481; 007A; Additional folding
2468 1D49C; 0061; Additional folding
2469 1D49E; 0063; Additional folding
2470 1D49F; 0064; Additional folding
2471 1D4A2; 0067; Additional folding
2472 1D4A5; 006A; Additional folding
2473 1D4A6; 006B; Additional folding
2474 1D4A9; 006E; Additional folding
2475 1D4AA; 006F; Additional folding
2476 1D4AB; 0070; Additional folding
2477 1D4AC; 0071; Additional folding
2478 1D4AE; 0073; Additional folding
2479 1D4AF; 0074; Additional folding
2480 1D4B0; 0075; Additional folding
2481 1D4B1; 0076; Additional folding
2482 1D4B2; 0077; Additional folding
2483 1D4B3; 0078; Additional folding
2484 1D4B4; 0079; Additional folding
2485 1D4B5; 007A; Additional folding
2486 1D4D0; 0061; Additional folding
2487 1D4D1; 0062; Additional folding
2488 1D4D2; 0063; Additional folding
2489 1D4D3; 0064; Additional folding
2490 1D4D4; 0065; Additional folding
2491 1D4D5; 0066; Additional folding
2492 1D4D6; 0067; Additional folding
2493 1D4D7; 0068; Additional folding
2494 1D4D8; 0069; Additional folding
2495 1D4D9; 006A; Additional folding
2496 1D4DA; 006B; Additional folding
2497 1D4DB; 006C; Additional folding
2498 1D4DC; 006D; Additional folding
2499 1D4DD; 006E; Additional folding
2500 1D4DE; 006F; Additional folding
2501 1D4DF; 0070; Additional folding
2502 1D4E0; 0071; Additional folding
2503 1D4E1; 0072; Additional folding
2504 1D4E2; 0073; Additional folding
2505 1D4E3; 0074; Additional folding
2506 1D4E4; 0075; Additional folding
2507 1D4E5; 0076; Additional folding
2508 1D4E6; 0077; Additional folding
2509 1D4E7; 0078; Additional folding
2510 1D4E8; 0079; Additional folding
2511 1D4E9; 007A; Additional folding
2512 1D504; 0061; Additional folding
2513 1D505; 0062; Additional folding
2514 1D507; 0064; Additional folding
2515 1D508; 0065; Additional folding
2516 1D509; 0066; Additional folding
2517 1D50A; 0067; Additional folding
2518 1D50D; 006A; Additional folding
2519 1D50E; 006B; Additional folding
2520 1D50F; 006C; Additional folding
2521 1D510; 006D; Additional folding
2522 1D511; 006E; Additional folding
2523 1D512; 006F; Additional folding
2524 1D513; 0070; Additional folding
2525 1D514; 0071; Additional folding
2526 1D516; 0073; Additional folding
2527 1D517; 0074; Additional folding
2528 1D518; 0075; Additional folding
2529 1D519; 0076; Additional folding
2530 1D51A; 0077; Additional folding
2531 1D51B; 0078; Additional folding
2532 1D51C; 0079; Additional folding
2533 1D538; 0061; Additional folding
2534 1D539; 0062; Additional folding
2535 1D53B; 0064; Additional folding
2536 1D53C; 0065; Additional folding
2537 1D53D; 0066; Additional folding
2538 1D53E; 0067; Additional folding
2539 1D540; 0069; Additional folding
2540 1D541; 006A; Additional folding
2541 1D542; 006B; Additional folding
2542 1D543; 006C; Additional folding
2543 1D544; 006D; Additional folding
2544 1D546; 006F; Additional folding
2545 1D54A; 0073; Additional folding
2546 1D54B; 0074; Additional folding
2547 1D54C; 0075; Additional folding
2548 1D54D; 0076; Additional folding
2549 1D54E; 0077; Additional folding
2550 1D54F; 0078; Additional folding
2551 1D550; 0079; Additional folding
2552 1D56C; 0061; Additional folding
2553 1D56D; 0062; Additional folding
2554 1D56E; 0063; Additional folding
2555 1D56F; 0064; Additional folding
2556 1D570; 0065; Additional folding
2557 1D571; 0066; Additional folding
2558 1D572; 0067; Additional folding
2559 1D573; 0068; Additional folding
2560 1D574; 0069; Additional folding
2561 1D575; 006A; Additional folding
2562 1D576; 006B; Additional folding
2563 1D577; 006C; Additional folding
2564 1D578; 006D; Additional folding
2565 1D579; 006E; Additional folding
2566 1D57A; 006F; Additional folding
2567 1D57B; 0070; Additional folding
2568 1D57C; 0071; Additional folding
2569 1D57D; 0072; Additional folding
2570 1D57E; 0073; Additional folding
2571 1D57F; 0074; Additional folding
2572 1D580; 0075; Additional folding
2573 1D581; 0076; Additional folding
2574 1D582; 0077; Additional folding
2575 1D583; 0078; Additional folding
2576 1D584; 0079; Additional folding
2577 1D585; 007A; Additional folding
2578 1D5A0; 0061; Additional folding
2579 1D5A1; 0062; Additional folding
2580 1D5A2; 0063; Additional folding
2581 1D5A3; 0064; Additional folding
2582 1D5A4; 0065; Additional folding
2583 1D5A5; 0066; Additional folding
2584 1D5A6; 0067; Additional folding
2585 1D5A7; 0068; Additional folding
2586 1D5A8; 0069; Additional folding
2587 1D5A9; 006A; Additional folding
2588 1D5AA; 006B; Additional folding
2589 1D5AB; 006C; Additional folding
2590 1D5AC; 006D; Additional folding
2591 1D5AD; 006E; Additional folding
2592 1D5AE; 006F; Additional folding
2593 1D5AF; 0070; Additional folding
2594 1D5B0; 0071; Additional folding
2595 1D5B1; 0072; Additional folding
2596 1D5B2; 0073; Additional folding
2597 1D5B3; 0074; Additional folding
2598 1D5B4; 0075; Additional folding
2599 1D5B5; 0076; Additional folding
2600 1D5B6; 0077; Additional folding
2601 1D5B7; 0078; Additional folding
2602 1D5B8; 0079; Additional folding
2603 1D5B9; 007A; Additional folding
2604 1D5D4; 0061; Additional folding
2605 1D5D5; 0062; Additional folding
2606 1D5D6; 0063; Additional folding
2607 1D5D7; 0064; Additional folding
2608 1D5D8; 0065; Additional folding
2609 1D5D9; 0066; Additional folding
2610 1D5DA; 0067; Additional folding
2611 1D5DB; 0068; Additional folding
2612 1D5DC; 0069; Additional folding
2613 1D5DD; 006A; Additional folding
2614 1D5DE; 006B; Additional folding
2615 1D5DF; 006C; Additional folding
2616 1D5E0; 006D; Additional folding
2617 1D5E1; 006E; Additional folding
2618 1D5E2; 006F; Additional folding
2619 1D5E3; 0070; Additional folding
2620 1D5E4; 0071; Additional folding
2621 1D5E5; 0072; Additional folding
2622 1D5E6; 0073; Additional folding
2623 1D5E7; 0074; Additional folding
2624 1D5E8; 0075; Additional folding
2625 1D5E9; 0076; Additional folding
2626 1D5EA; 0077; Additional folding
2627 1D5EB; 0078; Additional folding
2628 1D5EC; 0079; Additional folding
2629 1D5ED; 007A; Additional folding
2630 1D608; 0061; Additional folding
2631 1D609; 0062; Additional folding
2632 1D60A; 0063; Additional folding
2633 1D60B; 0064; Additional folding
2634 1D60C; 0065; Additional folding
2635 1D60D; 0066; Additional folding
2636 1D60E; 0067; Additional folding
2637 1D60F; 0068; Additional folding
2638 1D610; 0069; Additional folding
2639 1D611; 006A; Additional folding
2640 1D612; 006B; Additional folding
2641 1D613; 006C; Additional folding
2642 1D614; 006D; Additional folding
2643 1D615; 006E; Additional folding
2644 1D616; 006F; Additional folding
2645 1D617; 0070; Additional folding
2646 1D618; 0071; Additional folding
2647 1D619; 0072; Additional folding
2648 1D61A; 0073; Additional folding
2649 1D61B; 0074; Additional folding
2650 1D61C; 0075; Additional folding
2651 1D61D; 0076; Additional folding
2652 1D61E; 0077; Additional folding
2653 1D61F; 0078; Additional folding
2654 1D620; 0079; Additional folding
2655 1D621; 007A; Additional folding
2656 1D63C; 0061; Additional folding
2657 1D63D; 0062; Additional folding
2658 1D63E; 0063; Additional folding
2659 1D63F; 0064; Additional folding
2660 1D640; 0065; Additional folding
2661 1D641; 0066; Additional folding
2662 1D642; 0067; Additional folding
2663 1D643; 0068; Additional folding
2664 1D644; 0069; Additional folding
2665 1D645; 006A; Additional folding
2666 1D646; 006B; Additional folding
2667 1D647; 006C; Additional folding
2668 1D648; 006D; Additional folding
2669 1D649; 006E; Additional folding
2670 1D64A; 006F; Additional folding
2671 1D64B; 0070; Additional folding
2672 1D64C; 0071; Additional folding
2673 1D64D; 0072; Additional folding
2674 1D64E; 0073; Additional folding
2675 1D64F; 0074; Additional folding
2676 1D650; 0075; Additional folding
2677 1D651; 0076; Additional folding
2678 1D652; 0077; Additional folding
2679 1D653; 0078; Additional folding
2680 1D654; 0079; Additional folding
2681 1D655; 007A; Additional folding
2682 1D670; 0061; Additional folding
2683 1D671; 0062; Additional folding
2684 1D672; 0063; Additional folding
2685 1D673; 0064; Additional folding
2686 1D674; 0065; Additional folding
2687 1D675; 0066; Additional folding
2688 1D676; 0067; Additional folding
2689 1D677; 0068; Additional folding
2690 1D678; 0069; Additional folding
2691 1D679; 006A; Additional folding
2692 1D67A; 006B; Additional folding
2693 1D67B; 006C; Additional folding
2694 1D67C; 006D; Additional folding
2695 1D67D; 006E; Additional folding
2696 1D67E; 006F; Additional folding
2697 1D67F; 0070; Additional folding
2698 1D680; 0071; Additional folding
2699 1D681; 0072; Additional folding
2700 1D682; 0073; Additional folding
2701 1D683; 0074; Additional folding
2702 1D684; 0075; Additional folding
2703 1D685; 0076; Additional folding
2704 1D686; 0077; Additional folding
2705 1D687; 0078; Additional folding
2706 1D688; 0079; Additional folding
2707 1D689; 007A; Additional folding
2708 1D6A8; 03B1; Additional folding
2709 1D6A9; 03B2; Additional folding
2710 1D6AA; 03B3; Additional folding
2711 1D6AB; 03B4; Additional folding
2712 1D6AC; 03B5; Additional folding
2713 1D6AD; 03B6; Additional folding
2714 1D6AE; 03B7; Additional folding
2715 1D6AF; 03B8; Additional folding
2716 1D6B0; 03B9; Additional folding
2717 1D6B1; 03BA; Additional folding
2718 1D6B2; 03BB; Additional folding
2719 1D6B3; 03BC; Additional folding
2720 1D6B4; 03BD; Additional folding
2721 1D6B5; 03BE; Additional folding
2722 1D6B6; 03BF; Additional folding
2723 1D6B7; 03C0; Additional folding
2724 1D6B8; 03C1; Additional folding
2725 1D6B9; 03B8; Additional folding
2726 1D6BA; 03C3; Additional folding
2727 1D6BB; 03C4; Additional folding
2728 1D6BC; 03C5; Additional folding
2729 1D6BD; 03C6; Additional folding
2730 1D6BE; 03C7; Additional folding
2731 1D6BF; 03C8; Additional folding
2732 1D6C0; 03C9; Additional folding
2733 1D6D3; 03C3; Additional folding
2734 1D6E2; 03B1; Additional folding
2735 1D6E3; 03B2; Additional folding
2736 1D6E4; 03B3; Additional folding
2737 1D6E5; 03B4; Additional folding
2738 1D6E6; 03B5; Additional folding
2739 1D6E7; 03B6; Additional folding
2740 1D6E8; 03B7; Additional folding
2741 1D6E9; 03B8; Additional folding
2742 1D6EA; 03B9; Additional folding
2743 1D6EB; 03BA; Additional folding
2744 1D6EC; 03BB; Additional folding
2745 1D6ED; 03BC; Additional folding
2746 1D6EE; 03BD; Additional folding
2747 1D6EF; 03BE; Additional folding
2748 1D6F0; 03BF; Additional folding
2749 1D6F1; 03C0; Additional folding
2750 1D6F2; 03C1; Additional folding
2751 1D6F3; 03B8; Additional folding
2752 1D6F4; 03C3; Additional folding
2753 1D6F5; 03C4; Additional folding
2754 1D6F6; 03C5; Additional folding
2755 1D6F7; 03C6; Additional folding
2756 1D6F8; 03C7; Additional folding
2757 1D6F9; 03C8; Additional folding
2758 1D6FA; 03C9; Additional folding
2759 1D70D; 03C3; Additional folding
2760 1D71C; 03B1; Additional folding
2761 1D71D; 03B2; Additional folding
2762 1D71E; 03B3; Additional folding
2763 1D71F; 03B4; Additional folding
2764 1D720; 03B5; Additional folding
2765 1D721; 03B6; Additional folding
2766 1D722; 03B7; Additional folding
2767 1D723; 03B8; Additional folding
2768 1D724; 03B9; Additional folding
2769 1D725; 03BA; Additional folding
2770 1D726; 03BB; Additional folding
2771 1D727; 03BC; Additional folding
2772 1D728; 03BD; Additional folding
2773 1D729; 03BE; Additional folding
2774 1D72A; 03BF; Additional folding
2775 1D72B; 03C0; Additional folding
2776 1D72C; 03C1; Additional folding
2777 1D72D; 03B8; Additional folding
2778 1D72E; 03C3; Additional folding
2779 1D72F; 03C4; Additional folding
2780 1D730; 03C5; Additional folding
2781 1D731; 03C6; Additional folding
2782 1D732; 03C7; Additional folding
2783 1D733; 03C8; Additional folding
2784 1D734; 03C9; Additional folding
2785 1D747; 03C3; Additional folding
2786 1D756; 03B1; Additional folding
2787 1D757; 03B2; Additional folding
2788 1D758; 03B3; Additional folding
2789 1D759; 03B4; Additional folding
2790 1D75A; 03B5; Additional folding
2791 1D75B; 03B6; Additional folding
2792 1D75C; 03B7; Additional folding
2793 1D75D; 03B8; Additional folding
2794 1D75E; 03B9; Additional folding
2795 1D75F; 03BA; Additional folding
2796 1D760; 03BB; Additional folding
2797 1D761; 03BC; Additional folding
2798 1D762; 03BD; Additional folding
2799 1D763; 03BE; Additional folding
2800 1D764; 03BF; Additional folding
2801 1D765; 03C0; Additional folding
2802 1D766; 03C1; Additional folding
2803 1D767; 03B8; Additional folding
2804 1D768; 03C3; Additional folding
2805 1D769; 03C4; Additional folding
2806 1D76A; 03C5; Additional folding
2807 1D76B; 03C6; Additional folding
2808 1D76C; 03C7; Additional folding
2809 1D76D; 03C8; Additional folding
2810 1D76E; 03C9; Additional folding
2811 1D781; 03C3; Additional folding
2812 1D790; 03B1; Additional folding
2813 1D791; 03B2; Additional folding
2814 1D792; 03B3; Additional folding
2815 1D793; 03B4; Additional folding
2816 1D794; 03B5; Additional folding
2817 1D795; 03B6; Additional folding
2818 1D796; 03B7; Additional folding
2819 1D797; 03B8; Additional folding
2820 1D798; 03B9; Additional folding
2821 1D799; 03BA; Additional folding
2822 1D79A; 03BB; Additional folding
2823 1D79B; 03BC; Additional folding
2824 1D79C; 03BD; Additional folding
2825 1D79D; 03BE; Additional folding
2826 1D79E; 03BF; Additional folding
2827 1D79F; 03C0; Additional folding
2828 1D7A0; 03C1; Additional folding
2829 1D7A1; 03B8; Additional folding
2830 1D7A2; 03C3; Additional folding
2831 1D7A3; 03C4; Additional folding
2832 1D7A4; 03C5; Additional folding
2833 1D7A5; 03C6; Additional folding
2834 1D7A6; 03C7; Additional folding
2835 1D7A7; 03C8; Additional folding
2836 1D7A8; 03C9; Additional folding
2837 1D7BB; 03C3; Additional folding
2838 ----- End Table B.2 -----
2840 B.3 Mapping for case-folding used with no normalization
2842 ----- Start Table B.3 -----
2843 0041; 0061; Case map
2844 0042; 0062; Case map
2845 0043; 0063; Case map
2846 0044; 0064; Case map
2847 0045; 0065; Case map
2848 0046; 0066; Case map
2849 0047; 0067; Case map
2850 0048; 0068; Case map
2851 0049; 0069; Case map
2852 004A; 006A; Case map
2853 004B; 006B; Case map
2854 004C; 006C; Case map
2855 004D; 006D; Case map
2856 004E; 006E; Case map
2857 004F; 006F; Case map
2858 0050; 0070; Case map
2859 0051; 0071; Case map
2860 0052; 0072; Case map
2861 0053; 0073; Case map
2862 0054; 0074; Case map
2863 0055; 0075; Case map
2864 0056; 0076; Case map
2865 0057; 0077; Case map
2866 0058; 0078; Case map
2867 0059; 0079; Case map
2868 005A; 007A; Case map
2869 00B5; 03BC; Case map
2870 00C0; 00E0; Case map
2871 00C1; 00E1; Case map
2872 00C2; 00E2; Case map
2873 00C3; 00E3; Case map
2874 00C4; 00E4; Case map
2875 00C5; 00E5; Case map
2876 00C6; 00E6; Case map
2877 00C7; 00E7; Case map
2878 00C8; 00E8; Case map
2879 00C9; 00E9; Case map
2880 00CA; 00EA; Case map
2881 00CB; 00EB; Case map
2882 00CC; 00EC; Case map
2883 00CD; 00ED; Case map
2884 00CE; 00EE; Case map
2885 00CF; 00EF; Case map
2886 00D0; 00F0; Case map
2887 00D1; 00F1; Case map
2888 00D2; 00F2; Case map
2889 00D3; 00F3; Case map
2890 00D4; 00F4; Case map
2891 00D5; 00F5; Case map
2892 00D6; 00F6; Case map
2893 00D8; 00F8; Case map
2894 00D9; 00F9; Case map
2895 00DA; 00FA; Case map
2896 00DB; 00FB; Case map
2897 00DC; 00FC; Case map
2898 00DD; 00FD; Case map
2899 00DE; 00FE; Case map
2900 00DF; 0073 0073; Case map
2901 0100; 0101; Case map
2902 0102; 0103; Case map
2903 0104; 0105; Case map
2904 0106; 0107; Case map
2905 0108; 0109; Case map
2906 010A; 010B; Case map
2907 010C; 010D; Case map
2908 010E; 010F; Case map
2909 0110; 0111; Case map
2910 0112; 0113; Case map
2911 0114; 0115; Case map
2912 0116; 0117; Case map
2913 0118; 0119; Case map
2914 011A; 011B; Case map
2915 011C; 011D; Case map
2916 011E; 011F; Case map
2917 0120; 0121; Case map
2918 0122; 0123; Case map
2919 0124; 0125; Case map
2920 0126; 0127; Case map
2921 0128; 0129; Case map
2922 012A; 012B; Case map
2923 012C; 012D; Case map
2924 012E; 012F; Case map
2925 0130; 0069 0307; Case map
2926 0132; 0133; Case map
2927 0134; 0135; Case map
2928 0136; 0137; Case map
2929 0139; 013A; Case map
2930 013B; 013C; Case map
2931 013D; 013E; Case map
2932 013F; 0140; Case map
2933 0141; 0142; Case map
2934 0143; 0144; Case map
2935 0145; 0146; Case map
2936 0147; 0148; Case map
2937 0149; 02BC 006E; Case map
2938 014A; 014B; Case map
2939 014C; 014D; Case map
2940 014E; 014F; Case map
2941 0150; 0151; Case map
2942 0152; 0153; Case map
2943 0154; 0155; Case map
2944 0156; 0157; Case map
2945 0158; 0159; Case map
2946 015A; 015B; Case map
2947 015C; 015D; Case map
2948 015E; 015F; Case map
2949 0160; 0161; Case map
2950 0162; 0163; Case map
2951 0164; 0165; Case map
2952 0166; 0167; Case map
2953 0168; 0169; Case map
2954 016A; 016B; Case map
2955 016C; 016D; Case map
2956 016E; 016F; Case map
2957 0170; 0171; Case map
2958 0172; 0173; Case map
2959 0174; 0175; Case map
2960 0176; 0177; Case map
2961 0178; 00FF; Case map
2962 0179; 017A; Case map
2963 017B; 017C; Case map
2964 017D; 017E; Case map
2965 017F; 0073; Case map
2966 0181; 0253; Case map
2967 0182; 0183; Case map
2968 0184; 0185; Case map
2969 0186; 0254; Case map
2970 0187; 0188; Case map
2971 0189; 0256; Case map
2972 018A; 0257; Case map
2973 018B; 018C; Case map
2974 018E; 01DD; Case map
2975 018F; 0259; Case map
2976 0190; 025B; Case map
2977 0191; 0192; Case map
2978 0193; 0260; Case map
2979 0194; 0263; Case map
2980 0196; 0269; Case map
2981 0197; 0268; Case map
2982 0198; 0199; Case map
2983 019C; 026F; Case map
2984 019D; 0272; Case map
2985 019F; 0275; Case map
2986 01A0; 01A1; Case map
2987 01A2; 01A3; Case map
2988 01A4; 01A5; Case map
2989 01A6; 0280; Case map
2990 01A7; 01A8; Case map
2991 01A9; 0283; Case map
2992 01AC; 01AD; Case map
2993 01AE; 0288; Case map
2994 01AF; 01B0; Case map
2995 01B1; 028A; Case map
2996 01B2; 028B; Case map
2997 01B3; 01B4; Case map
2998 01B5; 01B6; Case map
2999 01B7; 0292; Case map
3000 01B8; 01B9; Case map
3001 01BC; 01BD; Case map
3002 01C4; 01C6; Case map
3003 01C5; 01C6; Case map
3004 01C7; 01C9; Case map
3005 01C8; 01C9; Case map
3006 01CA; 01CC; Case map
3007 01CB; 01CC; Case map
3008 01CD; 01CE; Case map
3009 01CF; 01D0; Case map
3010 01D1; 01D2; Case map
3011 01D3; 01D4; Case map
3012 01D5; 01D6; Case map
3013 01D7; 01D8; Case map
3014 01D9; 01DA; Case map
3015 01DB; 01DC; Case map
3016 01DE; 01DF; Case map
3017 01E0; 01E1; Case map
3018 01E2; 01E3; Case map
3019 01E4; 01E5; Case map
3020 01E6; 01E7; Case map
3021 01E8; 01E9; Case map
3022 01EA; 01EB; Case map
3023 01EC; 01ED; Case map
3024 01EE; 01EF; Case map
3025 01F0; 006A 030C; Case map
3026 01F1; 01F3; Case map
3027 01F2; 01F3; Case map
3028 01F4; 01F5; Case map
3029 01F6; 0195; Case map
3030 01F7; 01BF; Case map
3031 01F8; 01F9; Case map
3032 01FA; 01FB; Case map
3033 01FC; 01FD; Case map
3034 01FE; 01FF; Case map
3035 0200; 0201; Case map
3036 0202; 0203; Case map
3037 0204; 0205; Case map
3038 0206; 0207; Case map
3039 0208; 0209; Case map
3040 020A; 020B; Case map
3041 020C; 020D; Case map
3042 020E; 020F; Case map
3043 0210; 0211; Case map
3044 0212; 0213; Case map
3045 0214; 0215; Case map
3046 0216; 0217; Case map
3047 0218; 0219; Case map
3048 021A; 021B; Case map
3049 021C; 021D; Case map
3050 021E; 021F; Case map
3051 0220; 019E; Case map
3052 0222; 0223; Case map
3053 0224; 0225; Case map
3054 0226; 0227; Case map
3055 0228; 0229; Case map
3056 022A; 022B; Case map
3057 022C; 022D; Case map
3058 022E; 022F; Case map
3059 0230; 0231; Case map
3060 0232; 0233; Case map
3061 0345; 03B9; Case map
3062 0386; 03AC; Case map
3063 0388; 03AD; Case map
3064 0389; 03AE; Case map
3065 038A; 03AF; Case map
3066 038C; 03CC; Case map
3067 038E; 03CD; Case map
3068 038F; 03CE; Case map
3069 0390; 03B9 0308 0301; Case map
3070 0391; 03B1; Case map
3071 0392; 03B2; Case map
3072 0393; 03B3; Case map
3073 0394; 03B4; Case map
3074 0395; 03B5; Case map
3075 0396; 03B6; Case map
3076 0397; 03B7; Case map
3077 0398; 03B8; Case map
3078 0399; 03B9; Case map
3079 039A; 03BA; Case map
3080 039B; 03BB; Case map
3081 039C; 03BC; Case map
3082 039D; 03BD; Case map
3083 039E; 03BE; Case map
3084 039F; 03BF; Case map
3085 03A0; 03C0; Case map
3086 03A1; 03C1; Case map
3087 03A3; 03C3; Case map
3088 03A4; 03C4; Case map
3089 03A5; 03C5; Case map
3090 03A6; 03C6; Case map
3091 03A7; 03C7; Case map
3092 03A8; 03C8; Case map
3093 03A9; 03C9; Case map
3094 03AA; 03CA; Case map
3095 03AB; 03CB; Case map
3096 03B0; 03C5 0308 0301; Case map
3097 03C2; 03C3; Case map
3098 03D0; 03B2; Case map
3099 03D1; 03B8; Case map
3100 03D5; 03C6; Case map
3101 03D6; 03C0; Case map
3102 03D8; 03D9; Case map
3103 03DA; 03DB; Case map
3104 03DC; 03DD; Case map
3105 03DE; 03DF; Case map
3106 03E0; 03E1; Case map
3107 03E2; 03E3; Case map
3108 03E4; 03E5; Case map
3109 03E6; 03E7; Case map
3110 03E8; 03E9; Case map
3111 03EA; 03EB; Case map
3112 03EC; 03ED; Case map
3113 03EE; 03EF; Case map
3114 03F0; 03BA; Case map
3115 03F1; 03C1; Case map
3116 03F2; 03C3; Case map
3117 03F4; 03B8; Case map
3118 03F5; 03B5; Case map
3119 0400; 0450; Case map
3120 0401; 0451; Case map
3121 0402; 0452; Case map
3122 0403; 0453; Case map
3123 0404; 0454; Case map
3124 0405; 0455; Case map
3125 0406; 0456; Case map
3126 0407; 0457; Case map
3127 0408; 0458; Case map
3128 0409; 0459; Case map
3129 040A; 045A; Case map
3130 040B; 045B; Case map
3131 040C; 045C; Case map
3132 040D; 045D; Case map
3133 040E; 045E; Case map
3134 040F; 045F; Case map
3135 0410; 0430; Case map
3136 0411; 0431; Case map
3137 0412; 0432; Case map
3138 0413; 0433; Case map
3139 0414; 0434; Case map
3140 0415; 0435; Case map
3141 0416; 0436; Case map
3142 0417; 0437; Case map
3143 0418; 0438; Case map
3144 0419; 0439; Case map
3145 041A; 043A; Case map
3146 041B; 043B; Case map
3147 041C; 043C; Case map
3148 041D; 043D; Case map
3149 041E; 043E; Case map
3150 041F; 043F; Case map
3151 0420; 0440; Case map
3152 0421; 0441; Case map
3153 0422; 0442; Case map
3154 0423; 0443; Case map
3155 0424; 0444; Case map
3156 0425; 0445; Case map
3157 0426; 0446; Case map
3158 0427; 0447; Case map
3159 0428; 0448; Case map
3160 0429; 0449; Case map
3161 042A; 044A; Case map
3162 042B; 044B; Case map
3163 042C; 044C; Case map
3164 042D; 044D; Case map
3165 042E; 044E; Case map
3166 042F; 044F; Case map
3167 0460; 0461; Case map
3168 0462; 0463; Case map
3169 0464; 0465; Case map
3170 0466; 0467; Case map
3171 0468; 0469; Case map
3172 046A; 046B; Case map
3173 046C; 046D; Case map
3174 046E; 046F; Case map
3175 0470; 0471; Case map
3176 0472; 0473; Case map
3177 0474; 0475; Case map
3178 0476; 0477; Case map
3179 0478; 0479; Case map
3180 047A; 047B; Case map
3181 047C; 047D; Case map
3182 047E; 047F; Case map
3183 0480; 0481; Case map
3184 048A; 048B; Case map
3185 048C; 048D; Case map
3186 048E; 048F; Case map
3187 0490; 0491; Case map
3188 0492; 0493; Case map
3189 0494; 0495; Case map
3190 0496; 0497; Case map
3191 0498; 0499; Case map
3192 049A; 049B; Case map
3193 049C; 049D; Case map
3194 049E; 049F; Case map
3195 04A0; 04A1; Case map
3196 04A2; 04A3; Case map
3197 04A4; 04A5; Case map
3198 04A6; 04A7; Case map
3199 04A8; 04A9; Case map
3200 04AA; 04AB; Case map
3201 04AC; 04AD; Case map
3202 04AE; 04AF; Case map
3203 04B0; 04B1; Case map
3204 04B2; 04B3; Case map
3205 04B4; 04B5; Case map
3206 04B6; 04B7; Case map
3207 04B8; 04B9; Case map
3208 04BA; 04BB; Case map
3209 04BC; 04BD; Case map
3210 04BE; 04BF; Case map
3211 04C1; 04C2; Case map
3212 04C3; 04C4; Case map
3213 04C5; 04C6; Case map
3214 04C7; 04C8; Case map
3215 04C9; 04CA; Case map
3216 04CB; 04CC; Case map
3217 04CD; 04CE; Case map
3218 04D0; 04D1; Case map
3219 04D2; 04D3; Case map
3220 04D4; 04D5; Case map
3221 04D6; 04D7; Case map
3222 04D8; 04D9; Case map
3223 04DA; 04DB; Case map
3224 04DC; 04DD; Case map
3225 04DE; 04DF; Case map
3226 04E0; 04E1; Case map
3227 04E2; 04E3; Case map
3228 04E4; 04E5; Case map
3229 04E6; 04E7; Case map
3230 04E8; 04E9; Case map
3231 04EA; 04EB; Case map
3232 04EC; 04ED; Case map
3233 04EE; 04EF; Case map
3234 04F0; 04F1; Case map
3235 04F2; 04F3; Case map
3236 04F4; 04F5; Case map
3237 04F8; 04F9; Case map
3238 0500; 0501; Case map
3239 0502; 0503; Case map
3240 0504; 0505; Case map
3241 0506; 0507; Case map
3242 0508; 0509; Case map
3243 050A; 050B; Case map
3244 050C; 050D; Case map
3245 050E; 050F; Case map
3246 0531; 0561; Case map
3247 0532; 0562; Case map
3248 0533; 0563; Case map
3249 0534; 0564; Case map
3250 0535; 0565; Case map
3251 0536; 0566; Case map
3252 0537; 0567; Case map
3253 0538; 0568; Case map
3254 0539; 0569; Case map
3255 053A; 056A; Case map
3256 053B; 056B; Case map
3257 053C; 056C; Case map
3258 053D; 056D; Case map
3259 053E; 056E; Case map
3260 053F; 056F; Case map
3261 0540; 0570; Case map
3262 0541; 0571; Case map
3263 0542; 0572; Case map
3264 0543; 0573; Case map
3265 0544; 0574; Case map
3266 0545; 0575; Case map
3267 0546; 0576; Case map
3268 0547; 0577; Case map
3269 0548; 0578; Case map
3270 0549; 0579; Case map
3271 054A; 057A; Case map
3272 054B; 057B; Case map
3273 054C; 057C; Case map
3274 054D; 057D; Case map
3275 054E; 057E; Case map
3276 054F; 057F; Case map
3277 0550; 0580; Case map
3278 0551; 0581; Case map
3279 0552; 0582; Case map
3280 0553; 0583; Case map
3281 0554; 0584; Case map
3282 0555; 0585; Case map
3283 0556; 0586; Case map
3284 0587; 0565 0582; Case map
3285 1E00; 1E01; Case map
3286 1E02; 1E03; Case map
3287 1E04; 1E05; Case map
3288 1E06; 1E07; Case map
3289 1E08; 1E09; Case map
3290 1E0A; 1E0B; Case map
3291 1E0C; 1E0D; Case map
3292 1E0E; 1E0F; Case map
3293 1E10; 1E11; Case map
3294 1E12; 1E13; Case map
3295 1E14; 1E15; Case map
3296 1E16; 1E17; Case map
3297 1E18; 1E19; Case map
3298 1E1A; 1E1B; Case map
3299 1E1C; 1E1D; Case map
3300 1E1E; 1E1F; Case map
3301 1E20; 1E21; Case map
3302 1E22; 1E23; Case map
3303 1E24; 1E25; Case map
3304 1E26; 1E27; Case map
3305 1E28; 1E29; Case map
3306 1E2A; 1E2B; Case map
3307 1E2C; 1E2D; Case map
3308 1E2E; 1E2F; Case map
3309 1E30; 1E31; Case map
3310 1E32; 1E33; Case map
3311 1E34; 1E35; Case map
3312 1E36; 1E37; Case map
3313 1E38; 1E39; Case map
3314 1E3A; 1E3B; Case map
3315 1E3C; 1E3D; Case map
3316 1E3E; 1E3F; Case map
3317 1E40; 1E41; Case map
3318 1E42; 1E43; Case map
3319 1E44; 1E45; Case map
3320 1E46; 1E47; Case map
3321 1E48; 1E49; Case map
3322 1E4A; 1E4B; Case map
3323 1E4C; 1E4D; Case map
3324 1E4E; 1E4F; Case map
3325 1E50; 1E51; Case map
3326 1E52; 1E53; Case map
3327 1E54; 1E55; Case map
3328 1E56; 1E57; Case map
3329 1E58; 1E59; Case map
3330 1E5A; 1E5B; Case map
3331 1E5C; 1E5D; Case map
3332 1E5E; 1E5F; Case map
3333 1E60; 1E61; Case map
3334 1E62; 1E63; Case map
3335 1E64; 1E65; Case map
3336 1E66; 1E67; Case map
3337 1E68; 1E69; Case map
3338 1E6A; 1E6B; Case map
3339 1E6C; 1E6D; Case map
3340 1E6E; 1E6F; Case map
3341 1E70; 1E71; Case map
3342 1E72; 1E73; Case map
3343 1E74; 1E75; Case map
3344 1E76; 1E77; Case map
3345 1E78; 1E79; Case map
3346 1E7A; 1E7B; Case map
3347 1E7C; 1E7D; Case map
3348 1E7E; 1E7F; Case map
3349 1E80; 1E81; Case map
3350 1E82; 1E83; Case map
3351 1E84; 1E85; Case map
3352 1E86; 1E87; Case map
3353 1E88; 1E89; Case map
3354 1E8A; 1E8B; Case map
3355 1E8C; 1E8D; Case map
3356 1E8E; 1E8F; Case map
3357 1E90; 1E91; Case map
3358 1E92; 1E93; Case map
3359 1E94; 1E95; Case map
3360 1E96; 0068 0331; Case map
3361 1E97; 0074 0308; Case map
3362 1E98; 0077 030A; Case map
3363 1E99; 0079 030A; Case map
3364 1E9A; 0061 02BE; Case map
3365 1E9B; 1E61; Case map
3366 1EA0; 1EA1; Case map
3367 1EA2; 1EA3; Case map
3368 1EA4; 1EA5; Case map
3369 1EA6; 1EA7; Case map
3370 1EA8; 1EA9; Case map
3371 1EAA; 1EAB; Case map
3372 1EAC; 1EAD; Case map
3373 1EAE; 1EAF; Case map
3374 1EB0; 1EB1; Case map
3375 1EB2; 1EB3; Case map
3376 1EB4; 1EB5; Case map
3377 1EB6; 1EB7; Case map
3378 1EB8; 1EB9; Case map
3379 1EBA; 1EBB; Case map
3380 1EBC; 1EBD; Case map
3381 1EBE; 1EBF; Case map
3382 1EC0; 1EC1; Case map
3383 1EC2; 1EC3; Case map
3384 1EC4; 1EC5; Case map
3385 1EC6; 1EC7; Case map
3386 1EC8; 1EC9; Case map
3387 1ECA; 1ECB; Case map
3388 1ECC; 1ECD; Case map
3389 1ECE; 1ECF; Case map
3390 1ED0; 1ED1; Case map
3391 1ED2; 1ED3; Case map
3392 1ED4; 1ED5; Case map
3393 1ED6; 1ED7; Case map
3394 1ED8; 1ED9; Case map
3395 1EDA; 1EDB; Case map
3396 1EDC; 1EDD; Case map
3397 1EDE; 1EDF; Case map
3398 1EE0; 1EE1; Case map
3399 1EE2; 1EE3; Case map
3400 1EE4; 1EE5; Case map
3401 1EE6; 1EE7; Case map
3402 1EE8; 1EE9; Case map
3403 1EEA; 1EEB; Case map
3404 1EEC; 1EED; Case map
3405 1EEE; 1EEF; Case map
3406 1EF0; 1EF1; Case map
3407 1EF2; 1EF3; Case map
3408 1EF4; 1EF5; Case map
3409 1EF6; 1EF7; Case map
3410 1EF8; 1EF9; Case map
3411 1F08; 1F00; Case map
3412 1F09; 1F01; Case map
3413 1F0A; 1F02; Case map
3414 1F0B; 1F03; Case map
3415 1F0C; 1F04; Case map
3416 1F0D; 1F05; Case map
3417 1F0E; 1F06; Case map
3418 1F0F; 1F07; Case map
3419 1F18; 1F10; Case map
3420 1F19; 1F11; Case map
3421 1F1A; 1F12; Case map
3422 1F1B; 1F13; Case map
3423 1F1C; 1F14; Case map
3424 1F1D; 1F15; Case map
3425 1F28; 1F20; Case map
3426 1F29; 1F21; Case map
3427 1F2A; 1F22; Case map
3428 1F2B; 1F23; Case map
3429 1F2C; 1F24; Case map
3430 1F2D; 1F25; Case map
3431 1F2E; 1F26; Case map
3432 1F2F; 1F27; Case map
3433 1F38; 1F30; Case map
3434 1F39; 1F31; Case map
3435 1F3A; 1F32; Case map
3436 1F3B; 1F33; Case map
3437 1F3C; 1F34; Case map
3438 1F3D; 1F35; Case map
3439 1F3E; 1F36; Case map
3440 1F3F; 1F37; Case map
3441 1F48; 1F40; Case map
3442 1F49; 1F41; Case map
3443 1F4A; 1F42; Case map
3444 1F4B; 1F43; Case map
3445 1F4C; 1F44; Case map
3446 1F4D; 1F45; Case map
3447 1F50; 03C5 0313; Case map
3448 1F52; 03C5 0313 0300; Case map
3449 1F54; 03C5 0313 0301; Case map
3450 1F56; 03C5 0313 0342; Case map
3451 1F59; 1F51; Case map
3452 1F5B; 1F53; Case map
3453 1F5D; 1F55; Case map
3454 1F5F; 1F57; Case map
3455 1F68; 1F60; Case map
3456 1F69; 1F61; Case map
3457 1F6A; 1F62; Case map
3458 1F6B; 1F63; Case map
3459 1F6C; 1F64; Case map
3460 1F6D; 1F65; Case map
3461 1F6E; 1F66; Case map
3462 1F6F; 1F67; Case map
3463 1F80; 1F00 03B9; Case map
3464 1F81; 1F01 03B9; Case map
3465 1F82; 1F02 03B9; Case map
3466 1F83; 1F03 03B9; Case map
3467 1F84; 1F04 03B9; Case map
3468 1F85; 1F05 03B9; Case map
3469 1F86; 1F06 03B9; Case map
3470 1F87; 1F07 03B9; Case map
3471 1F88; 1F00 03B9; Case map
3472 1F89; 1F01 03B9; Case map
3473 1F8A; 1F02 03B9; Case map
3474 1F8B; 1F03 03B9; Case map
3475 1F8C; 1F04 03B9; Case map
3476 1F8D; 1F05 03B9; Case map
3477 1F8E; 1F06 03B9; Case map
3478 1F8F; 1F07 03B9; Case map
3479 1F90; 1F20 03B9; Case map
3480 1F91; 1F21 03B9; Case map
3481 1F92; 1F22 03B9; Case map
3482 1F93; 1F23 03B9; Case map
3483 1F94; 1F24 03B9; Case map
3484 1F95; 1F25 03B9; Case map
3485 1F96; 1F26 03B9; Case map
3486 1F97; 1F27 03B9; Case map
3487 1F98; 1F20 03B9; Case map
3488 1F99; 1F21 03B9; Case map
3489 1F9A; 1F22 03B9; Case map
3490 1F9B; 1F23 03B9; Case map
3491 1F9C; 1F24 03B9; Case map
3492 1F9D; 1F25 03B9; Case map
3493 1F9E; 1F26 03B9; Case map
3494 1F9F; 1F27 03B9; Case map
3495 1FA0; 1F60 03B9; Case map
3496 1FA1; 1F61 03B9; Case map
3497 1FA2; 1F62 03B9; Case map
3498 1FA3; 1F63 03B9; Case map
3499 1FA4; 1F64 03B9; Case map
3500 1FA5; 1F65 03B9; Case map
3501 1FA6; 1F66 03B9; Case map
3502 1FA7; 1F67 03B9; Case map
3503 1FA8; 1F60 03B9; Case map
3504 1FA9; 1F61 03B9; Case map
3505 1FAA; 1F62 03B9; Case map
3506 1FAB; 1F63 03B9; Case map
3507 1FAC; 1F64 03B9; Case map
3508 1FAD; 1F65 03B9; Case map
3509 1FAE; 1F66 03B9; Case map
3510 1FAF; 1F67 03B9; Case map
3511 1FB2; 1F70 03B9; Case map
3512 1FB3; 03B1 03B9; Case map
3513 1FB4; 03AC 03B9; Case map
3514 1FB6; 03B1 0342; Case map
3515 1FB7; 03B1 0342 03B9; Case map
3516 1FB8; 1FB0; Case map
3517 1FB9; 1FB1; Case map
3518 1FBA; 1F70; Case map
3519 1FBB; 1F71; Case map
3520 1FBC; 03B1 03B9; Case map
3521 1FBE; 03B9; Case map
3522 1FC2; 1F74 03B9; Case map
3523 1FC3; 03B7 03B9; Case map
3524 1FC4; 03AE 03B9; Case map
3525 1FC6; 03B7 0342; Case map
3526 1FC7; 03B7 0342 03B9; Case map
3527 1FC8; 1F72; Case map
3528 1FC9; 1F73; Case map
3529 1FCA; 1F74; Case map
3530 1FCB; 1F75; Case map
3531 1FCC; 03B7 03B9; Case map
3532 1FD2; 03B9 0308 0300; Case map
3533 1FD3; 03B9 0308 0301; Case map
3534 1FD6; 03B9 0342; Case map
3535 1FD7; 03B9 0308 0342; Case map
3536 1FD8; 1FD0; Case map
3537 1FD9; 1FD1; Case map
3538 1FDA; 1F76; Case map
3539 1FDB; 1F77; Case map
3540 1FE2; 03C5 0308 0300; Case map
3541 1FE3; 03C5 0308 0301; Case map
3542 1FE4; 03C1 0313; Case map
3543 1FE6; 03C5 0342; Case map
3544 1FE7; 03C5 0308 0342; Case map
3545 1FE8; 1FE0; Case map
3546 1FE9; 1FE1; Case map
3547 1FEA; 1F7A; Case map
3548 1FEB; 1F7B; Case map
3549 1FEC; 1FE5; Case map
3550 1FF2; 1F7C 03B9; Case map
3551 1FF3; 03C9 03B9; Case map
3552 1FF4; 03CE 03B9; Case map
3553 1FF6; 03C9 0342; Case map
3554 1FF7; 03C9 0342 03B9; Case map
3555 1FF8; 1F78; Case map
3556 1FF9; 1F79; Case map
3557 1FFA; 1F7C; Case map
3558 1FFB; 1F7D; Case map
3559 1FFC; 03C9 03B9; Case map
3560 2126; 03C9; Case map
3561 212A; 006B; Case map
3562 212B; 00E5; Case map
3563 2160; 2170; Case map
3564 2161; 2171; Case map
3565 2162; 2172; Case map
3566 2163; 2173; Case map
3567 2164; 2174; Case map
3568 2165; 2175; Case map
3569 2166; 2176; Case map
3570 2167; 2177; Case map
3571 2168; 2178; Case map
3572 2169; 2179; Case map
3573 216A; 217A; Case map
3574 216B; 217B; Case map
3575 216C; 217C; Case map
3576 216D; 217D; Case map
3577 216E; 217E; Case map
3578 216F; 217F; Case map
3579 24B6; 24D0; Case map
3580 24B7; 24D1; Case map
3581 24B8; 24D2; Case map
3582 24B9; 24D3; Case map
3583 24BA; 24D4; Case map
3584 24BB; 24D5; Case map
3585 24BC; 24D6; Case map
3586 24BD; 24D7; Case map
3587 24BE; 24D8; Case map
3588 24BF; 24D9; Case map
3589 24C0; 24DA; Case map
3590 24C1; 24DB; Case map
3591 24C2; 24DC; Case map
3592 24C3; 24DD; Case map
3593 24C4; 24DE; Case map
3594 24C5; 24DF; Case map
3595 24C6; 24E0; Case map
3596 24C7; 24E1; Case map
3597 24C8; 24E2; Case map
3598 24C9; 24E3; Case map
3599 24CA; 24E4; Case map
3600 24CB; 24E5; Case map
3601 24CC; 24E6; Case map
3602 24CD; 24E7; Case map
3603 24CE; 24E8; Case map
3604 24CF; 24E9; Case map
3605 FB00; 0066 0066; Case map
3606 FB01; 0066 0069; Case map
3607 FB02; 0066 006C; Case map
3608 FB03; 0066 0066 0069; Case map
3609 FB04; 0066 0066 006C; Case map
3610 FB05; 0073 0074; Case map
3611 FB06; 0073 0074; Case map
3612 FB13; 0574 0576; Case map
3613 FB14; 0574 0565; Case map
3614 FB15; 0574 056B; Case map
3615 FB16; 057E 0576; Case map
3616 FB17; 0574 056D; Case map
3617 FF21; FF41; Case map
3618 FF22; FF42; Case map
3619 FF23; FF43; Case map
3620 FF24; FF44; Case map
3621 FF25; FF45; Case map
3622 FF26; FF46; Case map
3623 FF27; FF47; Case map
3624 FF28; FF48; Case map
3625 FF29; FF49; Case map
3626 FF2A; FF4A; Case map
3627 FF2B; FF4B; Case map
3628 FF2C; FF4C; Case map
3629 FF2D; FF4D; Case map
3630 FF2E; FF4E; Case map
3631 FF2F; FF4F; Case map
3632 FF30; FF50; Case map
3633 FF31; FF51; Case map
3634 FF32; FF52; Case map
3635 FF33; FF53; Case map
3636 FF34; FF54; Case map
3637 FF35; FF55; Case map
3638 FF36; FF56; Case map
3639 FF37; FF57; Case map
3640 FF38; FF58; Case map
3641 FF39; FF59; Case map
3642 FF3A; FF5A; Case map
3643 10400; 10428; Case map
3644 10401; 10429; Case map
3645 10402; 1042A; Case map
3646 10403; 1042B; Case map
3647 10404; 1042C; Case map
3648 10405; 1042D; Case map
3649 10406; 1042E; Case map
3650 10407; 1042F; Case map
3651 10408; 10430; Case map
3652 10409; 10431; Case map
3653 1040A; 10432; Case map
3654 1040B; 10433; Case map
3655 1040C; 10434; Case map
3656 1040D; 10435; Case map
3657 1040E; 10436; Case map
3658 1040F; 10437; Case map
3659 10410; 10438; Case map
3660 10411; 10439; Case map
3661 10412; 1043A; Case map
3662 10413; 1043B; Case map
3663 10414; 1043C; Case map
3664 10415; 1043D; Case map
3665 10416; 1043E; Case map
3666 10417; 1043F; Case map
3667 10418; 10440; Case map
3668 10419; 10441; Case map
3669 1041A; 10442; Case map
3670 1041B; 10443; Case map
3671 1041C; 10444; Case map
3672 1041D; 10445; Case map
3673 1041E; 10446; Case map
3674 1041F; 10447; Case map
3675 10420; 10448; Case map
3676 10421; 10449; Case map
3677 10422; 1044A; Case map
3678 10423; 1044B; Case map
3679 10424; 1044C; Case map
3680 10425; 1044D; Case map
3681 ----- End Table B.3 -----
3683 C. Prohibition tables
3685 The tables in this appendix consist of lines with one prohibited code
3686 point per line. The format of the lines are the value of the code point,
3687 a semicolon, and a comment which is the name of the code point.
3689 C.1 Space characters
3691 C.1.1 ASCII space characters
3693 ----- Start Table C.1.1 -----
3695 ----- End Table C.1.2 -----
3697 C.1.2 Non-ASCII space characters
3698 ----- Start Table C.1.2 -----
3699 00A0; NO-BREAK SPACE
3700 1680; OGHAM SPACE MARK
3705 2004; THREE-PER-EM SPACE
3706 2005; FOUR-PER-EM SPACE
3707 2006; SIX-PER-EM SPACE
3709 2008; PUNCTUATION SPACE
3712 200B; ZERO WIDTH SPACE
3713 202F; NARROW NO-BREAK SPACE
3714 205F; MEDIUM MATHEMATICAL SPACE
3715 3000; IDEOGRAPHIC SPACE
3716 ----- End Table C.1.2 -----
3718 C.2 Control characters
3720 C.2.1 ASCII control characters
3722 ----- Start Table C.2.1 -----
3723 0000-001F; [CONTROL CHARACTERS]
3725 ----- End Table C.2.1 -----
3727 C.2.2 Non-ASCII control characters
3729 ----- Start Table C.2.2 -----
3730 0080-009F; [CONTROL CHARACTERS]
3731 06DD; ARABIC END OF AYAH
3732 070F; SYRIAC ABBREVIATION MARK
3733 180E; MONGOLIAN VOWEL SEPARATOR
3734 200C; ZERO WIDTH NON-JOINER
3735 200D; ZERO WIDTH JOINER
3736 2028; LINE SEPARATOR
3737 2029; PARAGRAPH SEPARATOR
3739 2061; FUNCTION APPLICATION
3740 2062; INVISIBLE TIMES
3741 2063; INVISIBLE SEPARATOR
3742 206A-206F; [CONTROL CHARACTERS]
3743 FEFF; ZERO WIDTH NO-BREAK SPACE
3744 FFF9-FFFC; [CONTROL CHARACTERS]
3745 1D173-1D17A; [MUSICAL CONTROL CHARACTERS]
3746 ----- End Table C.2.2 -----
3750 ----- Start Table C.3 -----
3751 E000-F8FF; [PRIVATE USE, PLANE 0]
3752 F0000-FFFFD; [PRIVATE USE, PLANE 15]
3753 100000-10FFFD; [PRIVATE USE, PLANE 16]
3754 ----- End Table C.3 -----
3756 C.4 Non-character code points
3758 ----- Start Table C.4 -----
3759 FDD0-FDEF; [NONCHARACTER CODE POINTS]
3760 FFFE-FFFF; [NONCHARACTER CODE POINTS]
3761 1FFFE-1FFFF; [NONCHARACTER CODE POINTS]
3762 2FFFE-2FFFF; [NONCHARACTER CODE POINTS]
3763 3FFFE-3FFFF; [NONCHARACTER CODE POINTS]
3764 4FFFE-4FFFF; [NONCHARACTER CODE POINTS]
3765 5FFFE-5FFFF; [NONCHARACTER CODE POINTS]
3766 6FFFE-6FFFF; [NONCHARACTER CODE POINTS]
3767 7FFFE-7FFFF; [NONCHARACTER CODE POINTS]
3768 8FFFE-8FFFF; [NONCHARACTER CODE POINTS]
3769 9FFFE-9FFFF; [NONCHARACTER CODE POINTS]
3770 AFFFE-AFFFF; [NONCHARACTER CODE POINTS]
3771 BFFFE-BFFFF; [NONCHARACTER CODE POINTS]
3772 CFFFE-CFFFF; [NONCHARACTER CODE POINTS]
3773 DFFFE-DFFFF; [NONCHARACTER CODE POINTS]
3774 EFFFE-EFFFF; [NONCHARACTER CODE POINTS]
3775 FFFFE-FFFFF; [NONCHARACTER CODE POINTS]
3776 10FFFE-10FFFF; [NONCHARACTER CODE POINTS]
3777 ----- End Table C.4 -----
3781 ----- Start Table C.5 -----
3782 D800-DFFF; [SURROGATE CODES]
3783 ----- End Table C.5 -----
3785 C.6 Inappropriate for plain text
3787 ----- Start Table C.6 -----
3788 FFF9; INTERLINEAR ANNOTATION ANCHOR
3789 FFFA; INTERLINEAR ANNOTATION SEPARATOR
3790 FFFB; INTERLINEAR ANNOTATION TERMINATOR
3791 FFFC; OBJECT REPLACEMENT CHARACTER
3792 FFFD; REPLACEMENT CHARACTER
3793 ----- End Table C.6 -----
3795 C.7 Inappropriate for canonical representation
3797 ----- Start Table C.7 -----
3798 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
3799 ----- End Table C.7 -----
3801 C.8 Change display properties or are deprecated
3803 ----- Start Table C.8 -----
3804 0340; COMBINING GRAVE TONE MARK
3805 0341; COMBINING ACUTE TONE MARK
3806 200E; LEFT-TO-RIGHT MARK
3807 200F; RIGHT-TO-LEFT MARK
3808 202A; LEFT-TO-RIGHT EMBEDDING
3809 202B; RIGHT-TO-LEFT EMBEDDING
3810 202C; POP DIRECTIONAL FORMATTING
3811 202D; LEFT-TO-RIGHT OVERRIDE
3812 202E; RIGHT-TO-LEFT OVERRIDE
3813 206A; INHIBIT SYMMETRIC SWAPPING
3814 206B; ACTIVATE SYMMETRIC SWAPPING
3815 206C; INHIBIT ARABIC FORM SHAPING
3816 206D; ACTIVATE ARABIC FORM SHAPING
3817 206E; NATIONAL DIGIT SHAPES
3818 206F; NOMINAL DIGIT SHAPES
3819 ----- End Table C.8 -----
3821 C.9 Tagging characters
3823 ----- Start Table C.9 -----
3825 E0020-E007F; [TAGGING CHARACTERS]
3826 ----- End Table C.9 -----
3829 D. Bidirectional tables
3831 D.1 Characters with bidirectional property "R" or "AL"
3833 ----- Start Table D.1 -----
3868 ----- End Table D.1 -----
3870 D.2 Characters with bidirectional property "L"
3872 ----- Start Table D.2 -----
4233 ----- End Table D.2 -----
4236 E. Changes from -06 to -07
4238 [[ To be removed when published as an RFC ]]
4240 Added "200B; ZERO WIDTH SPACE" to section 5.1 and to C.1.2
4242 Added to section 5.2 and to C.2.2:
4243 200C; ZERO WIDTH NON-JOINER
4244 200D; ZERO WIDTH JOINER
4246 FEFF; ZERO WIDTH NO-BREAK SPACE
4248 Clarified the last paragraph of section 7.2.