Add.
[libidn.git] / draft-ietf-krb-wg-utf8-profile-01.txt
blob060736986c513f87c2f740c02397b706a1d50585
1 Internet Draft                                  
2 draft-ietf-krb-wg-utf8-profile-01.txt         
3 February 24, 2003                                 
4 Expires in six months                           
6   Preparation of Internationalized Strings Profile for Kerberos UTF-8 Strings
7                               J. Altman
10 Status of this memo
12 This document is an Internet-Draft and is in full conformance with all
13 provisions of Section 10 of RFC2026.
15 Internet-Drafts are working documents of the Internet Engineering Task
16 Force (IETF), its areas, and its working groups. Note that other groups
17 may also distribute working documents as Internet-Drafts.
19 Internet-Drafts are draft documents valid for a maximum of six months
20 and may be updated, replaced, or obsoleted by other documents at any
21 time. It is inappropriate to use Internet-Drafts as reference material
22 or to cite them other than as "work in progress."
24 To view the list Internet-Draft Shadow Directories, see
25 http://www.ietf.org/shadow.html.
28 Abstract
30 This document describes how to prepare UTF-8 strings for use with Kerberos
31 protocols in order to increase the likelihood that name input and name comparison
32 work in ways that make sense for typical users throughout the world. This
33 is a profile of "Preparation of Internationalized Strings" [RFC3454]. 
35 1. Introduction
37 This document specifies processing rules that will allow users to enter
38 Kerberos Principal Names and input to cryptographic String to Key functions.
39 It is a profile of stringprep [RFC3454].
41 This profile defines the following, as required by [RFC3454]
43 - The intended applicability of the profile: internationalized
44 host name parts
46 - The character repertoire that is the input and output to stringprep:
47 defined in Section 2
49 - The list of unassigned code points for the repertoire: defined
50 in Appendix D.
52 - The mappings used: defined in Section 3.
54 - The Unicode normalization used: defined in Section 4
56 - The characters that are prohibited as output: Defined in section 5
59 1.2 Terminology
61 The key words "MUST", "SHALL", "REQUIRED", "SHOULD", "RECOMMENDED", and
62 "MAY" in this document are to be interpreted as described in RFC 2119
63 [RFC2119].
65 Examples in this document use the notation for code points and names
66 from the Unicode Standard [Unicode3.1] and ISO/IEC 10646 [ISO10646]. For
67 example, the letter "a" may be represented as either "U+0061" or "LATIN
68 SMALL LETTER A". In the lists of prohibited characters, the "U+" is left
69 off to make the lists easier to read. The comments for character ranges
70 are shown in square brackets (such as "[SYMBOLS]") and do not come from
71 the standards.
74 2. Character Repertoire
76 Unicode 3.2 [Unicode3.2] is the repertoire used in this profile.
77 The reason Unicode 3.2 was chosen instead of a version of
78 ISO/IEC 10646 is that Unicode 3.2 is the basis for [RFC3454].
81 3. Mapping
83 This profile specifies stringprep mapping using the mapping table
84 in Appendix C. That table includes all the steps described in this
85 section.
87 Note that text in this section describe how Appendix C was formed. It is
88 there for people who want to understand more, but it should be ignored
89 by implementors. Implementations of this profile MUST map based on
90 Appendix C, not based on the descriptions in this section of how
91 Appendix C was created.
93 3.1 Mapped to nothing
95 The following characters are simply deleted from the input (that is,
96 they are mapped to nothing) because their presence or absence should not
97 make two strings different.
99 Some characters are only useful in line-based text, and are otherwise
100 invisible and ignored.
102 00AD; SOFT HYPHEN
103 1806; MONGOLIAN TODO SOFT HYPHEN
104 200B; ZERO WIDTH SPACE
105 2060; WORD JOINER
106 FEFF; ZERO WIDTH NO-BREAK SPACE
108 Variation selectors and cursive connectors select different glyphs, but
109 do not bear semantics.
111 034F; COMBINING GRAPHEME JOINER
112 180B; MONGOLIAN FREE VARIATION SELECTOR ONE
113 180C; MONGOLIAN FREE VARIATION SELECTOR TWO
114 180D; MONGOLIAN FREE VARIATION SELECTOR THREE
115 200C; ZERO WIDTH NON-JOINER
116 200D; ZERO WIDTH JOINER
117 FE00; VARIATION SELECTOR-1
118 FE01; VARIATION SELECTOR-2
119 FE02; VARIATION SELECTOR-3
120 FE03; VARIATION SELECTOR-4
121 FE04; VARIATION SELECTOR-5
122 FE05; VARIATION SELECTOR-6
123 FE06; VARIATION SELECTOR-7
124 FE07; VARIATION SELECTOR-8
125 FE08; VARIATION SELECTOR-9
126 FE09; VARIATION SELECTOR-10
127 FE0A; VARIATION SELECTOR-11
128 FE0B; VARIATION SELECTOR-12
129 FE0C; VARIATION SELECTOR-13
130 FE0D; VARIATION SELECTOR-14
131 FE0E; VARIATION SELECTOR-15
132 FE0F; VARIATION SELECTOR-16
134 3.2 Space Character Conversions
136 Space characters can make accurate visual transcription of names
137 nearly impossible and could lead to user entry errors in many
138 ways.  The following Unicode spaces are to be mapped to 0020; SPACE:
140 0020; SPACE
141 00A0; NO-BREAK SPACE
142 1680; OGHAM SPACE MARK
143 2000; EN QUAD
144 2001; EM QUAD
145 2002; EN SPACE
146 2003; EM SPACE
147 2004; THREE-PER-EM SPACE
148 2005; FOUR-PER-EM SPACE
149 2006; SIX-PER-EM SPACE
150 2007; FIGURE SPACE
151 2008; PUNCTUATION SPACE
152 2009; THIN SPACE
153 200A; HAIR SPACE
154 202F; NARROW NO-BREAK SPACE
155 205F; MEDIUM MATHEMATICAL SPACE
156 3000; IDEOGRAPHIC SPACE
158 4. Normalization
160 This profile specifies using Unicode normalization form KC, as described
161 in [UAX15].
163 NOTE: There was some discussion on the mailing list that would suggest
164 that Unicode NFKC does not properly handle the composition of
165 normalized Hangul strings.  Following the lead of the IDN working
166 group, the Kerberos working group will not attempt to second-guess the
167 the authors of Unicode 3.1 Annex 15 (formerly Technical Report 15)
168 [UAX15], which specifies the normalization methods, or the Ideographic
169 Rappaorteur Group (IRG), which is the formal subgroup of ISO/IEC
170 JTC1/SC2/WG2 charged with approving all CJKV elements of the Unicode
171 standards.  Such issues are outside the working group's charter and
172 its area of expertise.
174 5. Prohibited Output
176 This profile specifies using the prohibition table in Appendix D.
178 Note that the subsections below describe how Appendix D was formed. They
179 are there for people who want to understand more, but they should be
180 ignored by implementors. Implementations of this profile MUST map based
181 on Appendix D, not based on the descriptions in this section of how
182 Appendix D was created.
184 The collected lists of prohibited code points can be found in Appendix D
185 of this document. The lists in Appendix D MUST be used by implementations
186 of this specification. If there are any discrepancies between the lists
187 in Appendix D and subsections below, the lists in Appendix D always takes
188 precedence.
190 Some code points listed in one section would also appear in other
191 sections. Each code point is only listed once in the tables in Appendix
195 5.1 Control characters
197 Control characters (or characters with control function) cannot be seen
198 and can cause unpredictable results when displayed.
200 0000-001F; [CONTROL CHARACTERS]
201 007F; DELETE
202 0080-009F; [CONTROL CHARACTERS]
203 06DD; ARABIC END OF AYAH
204 070F; SYRIAC ABBREVIATION MARK
205 180E; MONGOLIAN VOWEL SEPARATOR
206 200C; ZERO WIDTH NON-JOINER
207 200D; ZERO WIDTH JOINER
208 2028; LINE SEPARATOR
209 2029; PARAGRAPH SEPARATOR
210 2060; WORD JOINER
211 2061; FUNCTION APPLICATION
212 2062; INVISIBLE TIMES
213 2063; INVISIBLE SEPARATOR
214 206A-206F; [CONTROL CHARACTERS]
215 FEFF; ZERO WIDTH NO-BREAK SPACE
216 FFF9-FFFC; [CONTROL CHARACTERS]
217 1D173-1D17A; [MUSICAL CONTROL CHARACTERS]
219 5.2 Private use and replacement characters
221 Because private-use characters do not have defined meanings, they are
222 prohibited. The private-use characters are:
224 E000-F8FF; [PRIVATE USE, PLANE 0]
225 F0000-FFFFD; [PRIVATE USE, PLANE 15]
226 100000-10FFFD; [PRIVATE USE, PLANE 16]
228 5.3 Non-character code points
230 Non-character code points are code points that have been allocated in
231 ISO/IEC 10646 but are not characters. Because they are already assigned,
232 they are guaranteed not to later change into characters.
234 FDD0-FDEF; [NONCHARACTER CODE POINTS]
235 FFFE-FFFF; [NONCHARACTER CODE POINTS]
236 1FFFE-1FFFF; [NONCHARACTER CODE POINTS]
237 2FFFE-2FFFF; [NONCHARACTER CODE POINTS]
238 3FFFE-3FFFF; [NONCHARACTER CODE POINTS]
239 4FFFE-4FFFF; [NONCHARACTER CODE POINTS]
240 5FFFE-5FFFF; [NONCHARACTER CODE POINTS]
241 6FFFE-6FFFF; [NONCHARACTER CODE POINTS]
242 7FFFE-7FFFF; [NONCHARACTER CODE POINTS]
243 8FFFE-8FFFF; [NONCHARACTER CODE POINTS]
244 9FFFE-9FFFF; [NONCHARACTER CODE POINTS]
245 AFFFE-AFFFF; [NONCHARACTER CODE POINTS]
246 BFFFE-BFFFF; [NONCHARACTER CODE POINTS]
247 CFFFE-CFFFF; [NONCHARACTER CODE POINTS]
248 DFFFE-DFFFF; [NONCHARACTER CODE POINTS]
249 EFFFE-EFFFF; [NONCHARACTER CODE POINTS]
250 FFFFE-FFFFF; [NONCHARACTER CODE POINTS]
251 10FFFE-10FFFF; [NONCHARACTER CODE POINTS]
253 The non-character code points are listed the PropList.txt file from the
254 Unicode database.
256 5.4 Surrogate codes
258 The following code points are permanently reserved for use as surrogate
259 code values in the UTF-16 encoding, will never be assigned to
260 characters, and are therefore prohibited:
262 D800-DFFF; [SURROGATE CODES]
264 5.5 Inappropriate for plain text
266 The following characters should not appear in regular text.
268 FFF9; INTERLINEAR ANNOTATION ANCHOR
269 FFFA; INTERLINEAR ANNOTATION SEPARATOR
270 FFFB; INTERLINEAR ANNOTATION TERMINATOR
271 FFFC; OBJECT REPLACEMENT CHARACTER
273 Although the replacement character (U+FFFD) might be used when a name is
274 displayed,  it doesn't make sense for it to be part of the name itself.
275 It is often displayed by renderers to indicate "there would be
276 some character here, but it cannot be rendered". For example, on a
277 computer with no Asian fonts, a name with three ideographs might be
278 rendered with three replacement characters.
280 FFFD; REPLACEMENT CHARACTER
282 5.6 Inappropriate for canonical representation
284 The ideographic description characters allow different sequences of
285 characters to be rendered the same way, which makes them inappropriate
286 for host names that must have a single canonical representation.
288 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
290 5.7 Change display properties
292 The following characters can cause changes in display or the order in
293 which characters appear when rendered, or are deprecated in Unicode.
295 0340; COMBINING GRAVE TONE MARK
296 0341; COMBINING ACUTE TONE MARK
297 200E; LEFT-TO-RIGHT MARK
298 200F; RIGHT-TO-LEFT MARK
299 202A; LEFT-TO-RIGHT EMBEDDING
300 202B; RIGHT-TO-LEFT EMBEDDING
301 202C; POP DIRECTIONAL FORMATTING
302 202D; LEFT-TO-RIGHT OVERRIDE
303 202E; RIGHT-TO-LEFT OVERRIDE
304 206A; INHIBIT SYMMETRIC SWAPPING
305 206B; ACTIVATE SYMMETRIC SWAPPING
306 206C; INHIBIT ARABIC FORM SHAPING
307 206D; ACTIVATE ARABIC FORM SHAPING
308 206E; NATIONAL DIGIT SHAPES
309 206F; NOMINAL DIGIT SHAPES
311 5.8 Tagging characters
313 The following characters are used for tagging text and are invisible.
315 E0001; LANGUAGE TAG
316 E0020-E007F; [TAGGING CHARACTERS]
318 6. Bidirectional Characters
320 This profile specifies checking bidirectional strings as described
321 in [RFC3454] section 6.
324 7. Unassigned Code Points
326 This profile lists the unassigned code points for Unicode 3.2 in
327 Appendix E. The list in Appendix E MUST be used by implementations of
328 this specification. If there are any discrepancies between the list in
329 Appendix E and the Unicode 3.2 specification, the list Appendix E always
330 takes precedence.
333 8. Security Considerations
335 ISO/IEC 10646 has many characters that look similar. In many cases,
336 users of security protocols might do visual matching, such as when
337 comparing the names of trusted third parties. This profile does nothing
338 to map similar-looking characters together.
340 Principal names and passwords are entered by users and used within the
341 Kerberos protocol. The
342 security of the Internet would be compromised if a user entering a
343 single internationalized string could be connected to different servers
344 or denied access based on different interpretations of 
345 internationalized strings.
347 9. IANA Considerations
349 IANA is to register this profile as described in [RFC3454].
351 10. References
353 [CharModel] Unicode Technical Report;17, Character Encoding Model.
354 <http://www.unicode.org/unicode/reports/tr17/>.
356 [Glossary] Unicode Glossary, <http://www.unicode.org/glossary/>.
358 [ISO10646] ISO/IEC 10646-1:2000. International Standard -- Information
359 technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part
360 1: Architecture and Basic Multilingual Plane.
362 [RFC2119] Scott Bradner, "Key words for use in RFCs to Indicate
363 Requirement Levels", March 1997, RFC 2119.
365 [RFC3454] Paul Hoffman and Marc Blanchet, "Preparation of
366 Internationalized Strings ("stringprep")", draft-hoffman-stringprep,
367 work in progress
369 [Unicode3.2] The Unicode Standard, Version 3.2.0: The Unicode
370 Consortium. The Unicode Standard, Version 3.0. Reading, MA,
371 Addison-Wesley Developers Press, 2000. ISBN 0-201-61633-5, as amended
372 by: Unicode Standard Annex #27: Unicode 3.1
373 <http://www.unicode.org/unicode/reports/tr27/>; and 
374 by: Unicode Standard Annex #28: Unicode 3.2
375 <http://www.unicode.org/unicode/reports/tr28/>
377 [UAX9] The Unicode Consortium. Unicode Standard Annex #9, The
378 Bidirectional Algorithm, <http://www.unicode.org/unicode/reports/tr9/>.
380 [UAX15] Mark Davis and Martin Duerst. Unicode Standard Annex #15:
381 Unicode Normalization Forms, Version 3.1.0.
382 <http://www.unicode.org/unicode/reports/tr15/tr15-21.html>
385 A. Acknowledgements
387 This draft is based upon the work of the IETF IDN Working Group's
388 IDN Nameprep design team.
390 This profile is the work of the Kerberos Working Group.  Significant 
391 contributions were provided by Jeffrey Hutzelman, Sam Hartman, Tom Yu, 
392 Ken Raeburn, and Jeffrey Altman.
394 B. Editor Contact Information
396 Jeffrey Altman
397 Internet Access Methods
398 200 W 72ND ST STE 48
399 NEW YORK NY 10024
400 +1 (212) 580-2700
401 e-mail: jaltman@iamx.com
404 C. Mapping Tables
406 The following is the mapping table from Section 3. The table has three
407 columns:
408 - the character that is mapped from
409 - the zero or more characters that it is mapped to
410 - the reason for the mapping
411 The columns are separated by semicolons. Note that the second column may
412 be empty, or it may have one character, or it may have more than one
413 character, with each character separated by a space.
415 ----- Start Mapping Table -----
416 00A0; 0020; NO-BREAK SPACE
417 00AD; ; Map to nothing
418 034F; ; Map to nothing
419 1680; 0020; OGHAM SPACE MARK
420 1806; ; Map to nothing
421 180B; ; Map to nothing
422 180C; ; Map to nothing
423 180D; ; Map to nothing
424 2000; 0020; EN QUAD
425 2001; 0020; EM QUAD
426 2002; 0020; EN SPACE
427 2003; 0020; EM SPACE
428 2004; 0020; THREE-PER-EM SPACE
429 2005; 0020; FOUR-PER-EM SPACE
430 2006; 0020; SIX-PER-EM SPACE
431 2007; 0020; FIGURE SPACE
432 2008; 0020; PUNCTUATION SPACE
433 2009; 0020; THIN SPACE
434 200A; 0020; HAIR SPACE
435 200B; ; Map to nothing
436 200C; ; Map to nothing
437 200D; ; Map to nothing
438 2060; ; Map to nothing
439 202F; 0020; NARROW NO-BREAK SPACE
440 205F; 0020; MEDIUM MATHEMATICAL SPACE
441 3000; 0020; IDEOGRAPHIC SPACE
442 FE00; ; Map to nothing
443 FE01; ; Map to nothing
444 FE02; ; Map to nothing
445 FE03; ; Map to nothing
446 FE04; ; Map to nothing
447 FE05; ; Map to nothing
448 FE06; ; Map to nothing
449 FE07; ; Map to nothing
450 FE08; ; Map to nothing
451 FE09; ; Map to nothing
452 FE0A; ; Map to nothing
453 FE0B; ; Map to nothing
454 FE0C; ; Map to nothing
455 FE0D; ; Map to nothing
456 FE0E; ; Map to nothing
457 FE0F; ; Map to nothing
458 FEFF; ; Map to nothing
459 ----- End Mapping Table -----
462 D. Prohibited Code Point List
464 ----- Start Prohibited Table -----
465 0000-001F; [CONTROL CHARACTERS]
466 007F; DELETE
467 0080-009F; [CONTROL CHARACTERS]
468 0340; COMBINING GRAVE TONE MARK
469 0341; COMBINING ACUTE TONE MARK
470 06DD; ARABIC END OF AYAH
471 070F; SYRIAC ABBREVIATION MARK
472 100000-10FFFD; [PRIVATE USE, PLANE 16]
473 10FFFE-10FFFF; [NONCHARACTER CODE POINTS]
474 180E; MONGOLIAN VOWEL SEPARATOR
475 1D173-1D17A; [MUSICAL CONTROL CHARACTERS]
476 1FFFE-1FFFF; [NONCHARACTER CODE POINTS]
477 200C; ZERO WIDTH NON-JOINER
478 200D; ZERO WIDTH JOINER
479 200E; LEFT-TO-RIGHT MARK
480 200F; RIGHT-TO-LEFT MARK
481 2028; LINE SEPARATOR
482 2029; PARAGRAPH SEPARATOR
483 202A; LEFT-TO-RIGHT EMBEDDING
484 202B; RIGHT-TO-LEFT EMBEDDING
485 202C; POP DIRECTIONAL FORMATTING
486 202D; LEFT-TO-RIGHT OVERRIDE
487 202E; RIGHT-TO-LEFT OVERRIDE
488 2060; WORD JOINER
489 2061; FUNCTION APPLICATION
490 2062; INVISIBLE TIMES
491 2063; INVISIBLE SEPARATOR
492 206A-206F; [CONTROL CHARACTERS]
493 206A; INHIBIT SYMMETRIC SWAPPING
494 206B; ACTIVATE SYMMETRIC SWAPPING
495 206C; INHIBIT ARABIC FORM SHAPING
496 206D; ACTIVATE ARABIC FORM SHAPING
497 206E; NATIONAL DIGIT SHAPES
498 206F; NOMINAL DIGIT SHAPES
499 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS]
500 2FFFE-2FFFF; [NONCHARACTER CODE POINTS]
501 3FFFE-3FFFF; [NONCHARACTER CODE POINTS]
502 4FFFE-4FFFF; [NONCHARACTER CODE POINTS]
503 5FFFE-5FFFF; [NONCHARACTER CODE POINTS]
504 6FFFE-6FFFF; [NONCHARACTER CODE POINTS]
505 7FFFE-7FFFF; [NONCHARACTER CODE POINTS]
506 8FFFE-8FFFF; [NONCHARACTER CODE POINTS]
507 9FFFE-9FFFF; [NONCHARACTER CODE POINTS]
508 AFFFE-AFFFF; [NONCHARACTER CODE POINTS]
509 BFFFE-BFFFF; [NONCHARACTER CODE POINTS]
510 CFFFE-CFFFF; [NONCHARACTER CODE POINTS]
511 D800-DFFF; [SURROGATE CODES]
512 DFFFE-DFFFF; [NONCHARACTER CODE POINTS]
513 E000-F8FF; [PRIVATE USE, PLANE 0]
514 E0001; LANGUAGE TAG
515 E0020-E007F; [TAGGING CHARACTERS]
516 EFFFE-EFFFF; [NONCHARACTER CODE POINTS]
517 F0000-FFFFD; [PRIVATE USE, PLANE 15]
518 FDD0-FDEF; [NONCHARACTER CODE POINTS]
519 FEFF; ZERO WIDTH NO-BREAK SPACE
520 FFF9-FFFC; [CONTROL CHARACTERS]
521 FFF9; INTERLINEAR ANNOTATION ANCHOR
522 FFFA; INTERLINEAR ANNOTATION SEPARATOR
523 FFFB; INTERLINEAR ANNOTATION TERMINATOR
524 FFFC; OBJECT REPLACEMENT CHARACTER
525 FFFD; REPLACEMENT CHARACTER
526 FFFE-FFFF; [NONCHARACTER CODE POINTS]
527 FFFFE-FFFFF; [NONCHARACTER CODE POINTS]
528 ----- End Prohibited Table -----
530 NOTE WELL: Software that follows this specification that will be used to
531 check names before they are put in authoritative name servers MUST add
532 all unassigned code points to the list of characters that are prohibited.
533 See Section 6 of [RFC3454] for more details.
536 E. Unassigned Code Point List
538 ----- Start Unassigned Table -----
539 0221
540 0234-024F
541 02AE-02AF
542 02EF-02FF
543 0350-035F
544 0370-0373
545 0376-0379
546 037B-037D
547 037F-0383
548 038B
549 038D
550 03A2
551 03CF
552 03F7-03FF
553 0487
554 04CF
555 04F6-04F7
556 04FA-04FF
557 0510-0530
558 0557-0558
559 0560
560 0588
561 058B-0590
562 05A2
563 05BA
564 05C5-05CF
565 05EB-05EF
566 05F5-060B
567 060D-061A
568 061C-061E
569 0620
570 063B-063F
571 0656-065F
572 06EE-06EF
573 06FF
574 070E
575 072D-072F
576 074B-077F
577 07B2-0900
578 0904
579 093A-093B
580 094E-094F
581 0955-0957
582 0971-0980
583 0984
584 098D-098E
585 0991-0992
586 09A9
587 09B1
588 09B3-09B5
589 09BA-09BB
590 09BD
591 09C5-09C6
592 09C9-09CA
593 09CE-09D6
594 09D8-09DB
595 09DE
596 09E4-09E5
597 09FB-0A01
598 0A03-0A04
599 0A0B-0A0E
600 0A11-0A12
601 0A29
602 0A31
603 0A34
604 0A37
605 0A3A-0A3B
606 0A3D
607 0A43-0A46
608 0A49-0A4A
609 0A4E-0A58
610 0A5D
611 0A5F-0A65
612 0A75-0A80
613 0A84
614 0A8C
615 0A8E
616 0A92
617 0AA9
618 0AB1
619 0AB4
620 0ABA-0ABB
621 0AC6
622 0ACA
623 0ACE-0ACF
624 0AD1-0ADF
625 0AE1-0AE5
626 0AF0-0B00
627 0B04
628 0B0D-0B0E
629 0B11-0B12
630 0B29
631 0B31
632 0B34-0B35
633 0B3A-0B3B
634 0B44-0B46
635 0B49-0B4A
636 0B4E-0B55
637 0B58-0B5B
638 0B5E
639 0B62-0B65
640 0B71-0B81
641 0B84
642 0B8B-0B8D
643 0B91
644 0B96-0B98
645 0B9B
646 0B9D
647 0BA0-0BA2
648 0BA5-0BA7
649 0BAB-0BAD
650 0BB6
651 0BBA-0BBD
652 0BC3-0BC5
653 0BC9
654 0BCE-0BD6
655 0BD8-0BE6
656 0BF3-0C00
657 0C04
658 0C0D
659 0C11
660 0C29
661 0C34
662 0C3A-0C3D
663 0C45
664 0C49
665 0C4E-0C54
666 0C57-0C5F
667 0C62-0C65
668 0C70-0C81
669 0C84
670 0C8D
671 0C91
672 0CA9
673 0CB4
674 0CBA-0CBD
675 0CC5
676 0CC9
677 0CCE-0CD4
678 0CD7-0CDD
679 0CDF
680 0CE2-0CE5
681 0CF0-0D01
682 0D04
683 0D0D
684 0D11
685 0D29
686 0D3A-0D3D
687 0D44-0D45
688 0D49
689 0D4E-0D56
690 0D58-0D5F
691 0D62-0D65
692 0D70-0D81
693 0D84
694 0D97-0D99
695 0DB2
696 0DBC
697 0DBE-0DBF
698 0DC7-0DC9
699 0DCB-0DCE
700 0DD5
701 0DD7
702 0DE0-0DF1
703 0DF5-0E00
704 0E3B-0E3E
705 0E5C-0E80
706 0E83
707 0E85-0E86
708 0E89
709 0E8B-0E8C
710 0E8E-0E93
711 0E98
712 0EA0
713 0EA4
714 0EA6
715 0EA8-0EA9
716 0EAC
717 0EBA
718 0EBE-0EBF
719 0EC5
720 0EC7
721 0ECE-0ECF
722 0EDA-0EDB
723 0EDE-0EFF
724 0F48
725 0F6B-0F70
726 0F8C-0F8F
727 0F98
728 0FBD
729 0FCD-0FCE
730 0FD0-0FFF
731 1022
732 1028
733 102B
734 1033-1035
735 103A-103F
736 105A-109F
737 10C6-10CF
738 10F9-10FA
739 10FC-10FF
740 115A-115E
741 11A3-11A7
742 11FA-11FF
743 1207
744 1247
745 1249
746 124E-124F
747 1257
748 1259
749 125E-125F
750 1287
751 1289
752 128E-128F
753 12AF
754 12B1
755 12B6-12B7
756 12BF
757 12C1
758 12C6-12C7
759 12CF
760 12D7
761 12EF
762 130F
763 1311
764 1316-1317
765 131F
766 1347
767 135B-1360
768 137D-139F
769 13F5-1400
770 1677-167F
771 169D-169F
772 16F1-16FF
773 170D
774 1715-171F
775 1737-173F
776 1754-175F
777 176D
778 1771
779 1774-177F
780 17DD-17DF
781 17EA-17FF
782 180F
783 181A-181F
784 1878-187F
785 18AA-1DFF
786 1E9C-1E9F
787 1EFA-1EFF
788 1F16-1F17
789 1F1E-1F1F
790 1F46-1F47
791 1F4E-1F4F
792 1F58
793 1F5A
794 1F5C
795 1F5E
796 1F7E-1F7F
797 1FB5
798 1FC5
799 1FD4-1FD5
800 1FDC
801 1FF0-1FF1
802 1FF5
803 1FFF
804 2053-2056
805 2058-205E
806 2064-2069
807 2072-2073
808 208F-209F
809 20B2-20CF
810 20EB-20FF
811 213B-213C
812 214C-2152
813 2184-218F
814 23CF-23FF
815 2427-243F
816 244B-245F
817 24FF
818 2614-2615
819 2618
820 267E-267F
821 268A-2700
822 2705
823 270A-270B
824 2728
825 274C
826 274E
827 2753-2755
828 2757
829 275F-2760
830 2795-2797
831 27B0
832 27BF-27CF
833 27EC-27EF
834 2B00-2E7F
835 2E9A
836 2EF4-2EFF
837 2FD6-2FEF
838 2FFC-2FFF
839 3040
840 3097-3098
841 3100-3104
842 312D-3130
843 318F
844 31B8-31EF
845 321D-321F
846 3244-3250
847 327C-327E
848 32CC-32CF
849 32FF
850 3377-337A
851 33DE-33DF
852 33FF
853 4DB6-4DFF
854 9FA6-9FFF
855 A48D-A48F
856 A4C7-ABFF
857 D7A4-D7FF
858 FA2E-FA2F
859 FA6B-FAFF
860 FB07-FB12
861 FB18-FB1C
862 FB37
863 FB3D
864 FB3F
865 FB42
866 FB45
867 FBB2-FBD2
868 FD40-FD4F
869 FD90-FD91
870 FDC8-FDCF
871 FDFD-FDFF
872 FE10-FE1F
873 FE24-FE2F
874 FE47-FE48
875 FE53
876 FE67
877 FE6C-FE6F
878 FE75
879 FEFD-FEFE
880 FF00
881 FFBF-FFC1
882 FFC8-FFC9
883 FFD0-FFD1
884 FFD8-FFD9
885 FFDD-FFDF
886 FFE7
887 FFEF-FFF8
888 10000-102FF
889 1031F
890 10324-1032F
891 1034B-103FF
892 10426-10427
893 1044E-1CFFF
894 1D0F6-1D0FF
895 1D127-1D129
896 1D1DE-1D3FF
897 1D455
898 1D49D
899 1D4A0-1D4A1
900 1D4A3-1D4A4
901 1D4A7-1D4A8
902 1D4AD
903 1D4BA
904 1D4BC
905 1D4C1
906 1D4C4
907 1D506
908 1D50B-1D50C
909 1D515
910 1D51D
911 1D53A
912 1D53F
913 1D545
914 1D547-1D549
915 1D551
916 1D6A4-1D6A7
917 1D7CA-1D7CD
918 1D800-1FFFD
919 2A6D7-2F7FF
920 2FA1E-2FFFD
921 30000-3FFFD
922 40000-4FFFD
923 50000-5FFFD
924 60000-6FFFD
925 70000-7FFFD
926 80000-8FFFD
927 90000-9FFFD
928 A0000-AFFFD
929 B0000-BFFFD
930 C0000-CFFFD
931 D0000-DFFFD
932 E0000
933 E0002-E001F
934 E0080-EFFFD
935 ----- End Unassigned Table -----