SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
"Hard copy versions of the Unicode Standard have been among the most crucial and most heavily used reference books in my personal library for years."
--Donald E. Knuth, The Art of Computer Programming
"For more than a decade, Unicode has been a foundation for many Microsoft products and technologies; Unicode Standard Version 5.0 will help us deliver important new benefits to users."
--Bill Gates, chairman, Microsoft Corporation
"The path W3C follows to making text on the Web truly global is Unicode."
--Sir Tim Berners-Lee, kbe, Web inventor and director of the World Wide Consortium (W3C)
"Without Unicode, Java wouldn't be Java, and the Internet would have a harder time connecting the people of the world."
--James Gosling, Inventor of Java, Sun Microsystems, Inc.
These and other software luminaries recognize that Unicode has become an indispensable tool for supporting an increasingly global marketplace (see inside for more acclaim). A comprehensive system of standards for representing alphabets throughout the world, Unicode is the basis for modern programming-- Windows, XML, Python, PERL, Mac OS, Linux--and every major search engine and browser in operation today.
This new edition of Unicode's official reference manual has been substantially updated to document the latest revisions to the Unicode Standard, with hundreds of pages of new information. It includes major revisions to text, figures, tables, definitions, and conformance clauses, and provides clear and practical answers to common questions. For the first time, the book contains the Unicode Standard Annexes, which specify vital processes such as text normalization and identifier parsing.
These improvements are so important that Version 5.0 is the basis for Microsoft's Vista generation of operating systems, and is included in upgrade plans for Google, Yahoo!, and ICU, to name but a few.
This is the one book all developers using Unicode must have.
1.1 Coverage 2
1.2 Design Goals 4
1.3 Text Handling 5
2.1 Architectural Context 9
2.2 Unicode Design Principles 13
2.3 Compatibility Characters 23
2.4 Code Points and Characters 25
2.5 Encoding Forms 28
2.6 Encoding Schemes 35
2.7 Unicode Strings 37
2.8 Unicode Allocation 38
2.9 Details of Allocation 41
2.10 Writing Direction 46
2.11 Combining Characters 48
2.12 Equivalent Sequences and Normalization 54
2.13 Special Characters and Noncharacters 57
2.14 Conforming to the Unicode Standard 59
3.1 Versions of the Unicode Standard 65
3.2 Conformance Requirements 70
3.3 Semantics 76
3.4 Characters and Encoding 78
3.5 Properties 81
3.6 Combination 91
3.7 Decomposition 95
3.8 Surrogates 97
3.9 Unicode Encoding Forms 98
3.10 Unicode Encoding Schemes 105
3.11 Canonical Ordering Behavior 109
3.12 Conjoining Jamo Behavior 117
3.13 Default Case Algorithms 123
4.1 Unicode Character Database 130
4.2 Case--Normative 132
4.3 Combining Classes--Normative 133
4.4 Directionality--Normative 138
4.5 General Category--Normative 138
4.6 Numeric Value--Normative 139
4.7 Bidi Mirrored--Normative 141
4.8 Name--Normative 142
4.9 Unicode 1.0 Names 144
4.10 Letters, Alphabetic, and Ideographic 144
4.11 Properties Related to Text Boundaries 145
4.12 Characters with Unusual Properties 145
5.1 Transcoding to Other Standards 151
5.2 Programming Languages and Data Types 153
5.3 Unknown and Missing Characters 155
5.4 Handling Surrogate Pairs in UTF-16 157
5.5 Handling Numbers 158
5.6 Normalization 160
5.7 Compression 161
5.8 Newline Guidelines 161
5.9 Regular Expressions 166
5.10 Language Information in Plain Text 166
5.11 Editing and Selection 167
5.12 Strategies for Handling Nonspacing Marks 169
5.13 Rendering Nonspacing Marks 172
5.14 Locating Text Element Boundaries 178
5.15 Identifiers 179
5.16 Sorting and Searching 179
5.17 Binary Order 181
5.18 Case Mappings 184
5.19 Unicode Security 190
5.20 Default Ignorable Code Points 192
6.1 Writing Systems 198
6.2 General Punctuation 202
7.1 Latin 226
7.2 Greek 237
7.3 Coptic 243
7.4 Cyrillic 245
7.5 Glagolitic 246
7.6 Armenian 247
7.7 Georgian 249
7.8 Modifier Letters 250
7.9 Combining Marks 252
8.1 Hebrew 264
8.2 Arabic 269
8.3 Syriac 283
8.4 Thaana 291
9.1 Devanagari 296
9.2 Bengali 312
9.3 Gurmukhi 317
9.4 Gujarati 321
9.5 Oriya 322
9.6 Tamil 324
9.7 Telugu 330
9.8 Kannada 331
9.9 Malayalam 334
10.1 Sinhala 341
10.2 Tibetan 343
10.3 Phags-pa 353
10.4 Limbu 360
10.5 Syloti Nagri 363
10.6 Kharoshthi 364
11.1 Thai 373
11.2 Lao 376
11.3 Myanmar 379
11.4 Khmer 382
11.5 Tai Le 393
11.6 New Tai Lue 394
11.7 Philippine Scripts 395
11.8 Buginese 397
11.9 Balinese 399
12.1 Han 408
12.2 Ideographic Description Characters 427
12.3 Bopomofo 431
12.4 Hiragana and Katakana 433
12.5 Halfwidth and Fullwidth Forms 434
12.6 Hangul 435
12.7 Yi 438
13.1 Ethiopic 445
13.2 Mongolian 448
13.3 Osmanya 457
13.4 Tifinagh 457
13.5 N'Ko 458
13.6 Cherokee 463
13.7 Canadian Aboriginal Syllabics 464
13.8 Deseret 465
13.9 Shavian 46714.1 Ogham 472
14.2 Old Italic 473
14.3 Runic 475
14.4 Gothic 477
14.5 Linear B 478
14.6 Cypriot Syllabary 479
14.7 Phoenician 480
14.8 Ugaritic 482
14.9 Old Persian 483
14.10 Sumero-Akkadian 483
15.1 Currency Symbols 490
15.2 Letterlike Symbols 492
15.3 Number Forms 498
15.4 Mathematical Symbols 502
15.5 Invisible Mathematical Operators 507
15.6 Technical Symbols 508
15.7 Geometrical Symbols 512
15.8 Miscellaneous Symbols and Dingbats 514
15.9 Enclosed and Square 517
15.10 Braille 519
15.11 Western Musical Symbols 520
15.12 Byzantine Musical Symbols 525
15.13 Ancient Greek Musical Notation 526
16.1 Control Codes 532
16.2 Layout Controls 534
16.3 Deprecated Format Characters 543
16.4 Variation Selectors 545
16.5 Private-Use Characters 546
16.6 Surrogates Area 548
16.7 Noncharacters 549
16.8 Specials 550
16.9 Tag Characters 554
17.1 Character Names List 563
17.2 CJK Unified Ideographs 569
17.3 Hangul Syllables 570
B.1 The Unicode Consortium 1083
B.2 Unicode Publications 1084
B.3 Unicode Technical Standards 1085
B.4 Unicode Technical Reports 1086
B.5 Unicode Technical Notes 1087
B.6 Other Unicode Online Resources 1088
C.1 History 1091
C.2 Encoding Forms in ISO/IEC 10646 1095
C.3 UCS Transformation Formats 1096
C.4 Synchronization of the Standards 1097
C.5 Identification of Features for the Unicode Standard 1097
C.6 Character Names 1098
C.7 Character Functional Specifications 1098
D.1 Improvements to the Standard 1099
D.2 Versions of the Unicode Standard 1100
D.3 Clause and Definition Numbering Changes 1102
D.4 Changes from Version 4.1 to Version 5.0 1104
D.5 Changes from Version 4.0 to Version 4.1 1106
D.6 Changes from Unicode Version 3.2 to Version 4.0 1109
D.7 Changes from Unicode Version 3.1 to Version 3.2 1111
D.8 Changes from Unicode Version 3.0 to Version 3.1 1113
E.1 Development of the URO 1115
E.2 Ideographic Rapporteur Group 1116
F.1 Encoding Stability Policies for the Unicode Standard 1119
R.1 Source Standards and Specifications 1153
R.2 Source Dictionaries for Han Unification 1161
R.3 Other Sources for the Unicode Standard 1161
R.4 Selected Resources: Technical 1171
R.5 Selected Resources: Scripts and Languages 1173
I.1 Unicode Names Index 1179
I.2 General Index 1231
UAX 9: The Bidirectional Algorithm 1251
UAX 11: East Asian Width 1275
UAX 14: Line Breaking Properties 1283
UAX 15: Unicode Normalization Forms 1333
UAX 24: Script Names 1365
UAX 29: Text Boundaries 1373
UAX 31: Identifier and Pattern Syntax 1393
UAX 34: Unicode Named Character Sequences 1405
UAX 41: Common References for Unicode Standard