+ All Categories
Home > Documents > Uni Code

Uni Code

Date post: 27-Nov-2015
Category:
Upload: techzones
View: 17 times
Download: 3 times
Share this document with a friend
Description:
Uni Code
Popular Tags:
17
Unicode 1 Unicode Unicode logo. Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems. Developed in conjunction with the Universal Character Set standard and published in book form as The Unicode Standard, the latest version of Unicode contains a repertoire of more than 110,000 characters covering 100 scripts. The standard consists of a set of code charts for visual reference, an encoding method and set of standard character encodings, a set of reference data computer files, and a number of related items, such as character properties, rules for normalization, decomposition, collation, rendering, and bidirectional display order (for the correct display of text containing both right-to-left scripts, such as Arabic and Hebrew, and left-to-right scripts). As of September 2013, the most recent version is Unicode 6.3. The standard is maintained by the Unicode Consortium. Unicode's success at unifying character sets has led to its widespread and predominant use in the internationalization and localization of computer software. The standard has been implemented in many recent technologies, including modern operating systems, XML, the Java programming language, and the Microsoft .NET Framework. Unicode can be implemented by different character encodings. The most commonly used encodings are UTF-8, UTF-16 and the now-obsolete UCS-2. UTF-8 uses one byte for any ASCII characters, all of which have the same code values in both UTF-8 and ASCII encoding, and up to four bytes for other characters. UCS-2 uses a 16-bit code unit (two 8-bit bytes) for each character but cannot encode every character in the current Unicode standard. UTF-16 extends UCS-2, using one 16-bit unit for the characters that were representable in UCS-2 and two 16-bit units (4 × 8 bit) to handle each of the additional characters. Origin and development Unicode has the explicit aim of transcending the limitations of traditional character encodings, such as those defined by the ISO 8859 standard, which find wide usage in various countries of the world, but remain largely incompatible with each other. Many traditional character encodings share a common problem in that they allow bilingual computer processing (usually using Latin characters and the local script), but not multilingual computer processing (computer processing of arbitrary scripts mixed with each other). Unicode, in intent, encodes the underlying charactersgraphemes and grapheme-like unitsrather than the variant glyphs (renderings) for such characters. In the case of Chinese characters, this sometimes leads to controversies over distinguishing the underlying character from its variant glyphs (see Han unification). In text processing, Unicode takes the role of providing a unique code pointa number, not a glyphfor each character. In other words, Unicode represents a character in an abstract way and leaves the visual rendering (size, shape, font, or style) to other software, such as a web browser or word processor. This simple aim becomes complicated, however, because of concessions made by Unicode's designers in the hope of encouraging a more rapid adoption of Unicode. The first 256 code points were made identical to the content of ISO-8859-1 so as to make it trivial to convert existing western text. Many essentially identical characters were encoded multiple times at different code points to preserve distinctions used by legacy encodings and therefore, allow conversion from those encodings to Unicode (and back) without losing any information. For example, the "fullwidth forms" section of code points encompasses a full Latin alphabet that is separate from the main Latin alphabet section. In Chinese, Japanese, and Korean (CJK) fonts, these
Transcript

Unicode 1

Unicode

Unicode logo.

Unicode is a computing industry standard for the consistent encoding,representation and handling of text expressed in most of the world'swriting systems. Developed in conjunction with the UniversalCharacter Set standard and published in book form as The UnicodeStandard, the latest version of Unicode contains a repertoire of morethan 110,000 characters covering 100 scripts. The standard consists ofa set of code charts for visual reference, an encoding method and set ofstandard character encodings, a set of reference data computer files,and a number of related items, such as character properties, rules fornormalization, decomposition, collation, rendering, and bidirectionaldisplay order (for the correct display of text containing bothright-to-left scripts, such as Arabic and Hebrew, and left-to-rightscripts). As of September 2013, the most recent version is Unicode 6.3.The standard is maintained by the Unicode Consortium.

Unicode's success at unifying character sets has led to its widespread and predominant use in the internationalizationand localization of computer software. The standard has been implemented in many recent technologies, includingmodern operating systems, XML, the Java programming language, and the Microsoft .NET Framework.Unicode can be implemented by different character encodings. The most commonly used encodings are UTF-8,UTF-16 and the now-obsolete UCS-2. UTF-8 uses one byte for any ASCII characters, all of which have the samecode values in both UTF-8 and ASCII encoding, and up to four bytes for other characters. UCS-2 uses a 16-bit codeunit (two 8-bit bytes) for each character but cannot encode every character in the current Unicode standard. UTF-16extends UCS-2, using one 16-bit unit for the characters that were representable in UCS-2 and two 16-bit units(4 × 8 bit) to handle each of the additional characters.

Origin and developmentUnicode has the explicit aim of transcending the limitations of traditional character encodings, such as those definedby the ISO 8859 standard, which find wide usage in various countries of the world, but remain largely incompatiblewith each other. Many traditional character encodings share a common problem in that they allow bilingualcomputer processing (usually using Latin characters and the local script), but not multilingual computer processing(computer processing of arbitrary scripts mixed with each other).Unicode, in intent, encodes the underlying characters—graphemes and grapheme-like units—rather than the variantglyphs (renderings) for such characters. In the case of Chinese characters, this sometimes leads to controversies overdistinguishing the underlying character from its variant glyphs (see Han unification).In text processing, Unicode takes the role of providing a unique code point—a number, not a glyph—for eachcharacter. In other words, Unicode represents a character in an abstract way and leaves the visual rendering (size,shape, font, or style) to other software, such as a web browser or word processor. This simple aim becomescomplicated, however, because of concessions made by Unicode's designers in the hope of encouraging a more rapidadoption of Unicode.The first 256 code points were made identical to the content of ISO-8859-1 so as to make it trivial to convert existing western text. Many essentially identical characters were encoded multiple times at different code points to preserve distinctions used by legacy encodings and therefore, allow conversion from those encodings to Unicode (and back) without losing any information. For example, the "fullwidth forms" section of code points encompasses a full Latin alphabet that is separate from the main Latin alphabet section. In Chinese, Japanese, and Korean (CJK) fonts, these

Unicode 2

characters are rendered at the same width as CJK ideographs, rather than at half the width. For other examples, seeDuplicate characters in Unicode.

HistoryThe origins of Unicode date to 1987, when Joe Becker from Xerox and Lee Collins and Mark Davis from Applestarted investigating the practicalities of creating a universal character set. In August 1988, Joe Becker published adraft proposal for an "international/multilingual text character encoding system, tentatively called Unicode".Although the term "Unicode" had previously been used for other purposes, such as the name of a programminglanguage developed for the UNIVAC in the late 1950s, and most notably a universal telegraphic phrase-book thatwas first published in 1889, Becker may not have been aware of these earlier usages, and he explained that "[t]hename 'Unicode' is intended to suggest a unique, unified, universal encoding".In this document, entitled Unicode 88, Becker outlined a 16-bit character model:

Unicode is intended to address the need for a workable, reliable world text encoding. Unicode could beroughly described as "wide-body ASCII" that has been stretched to 16 bits to encompass the charactersof all the world's living languages. In a properly engineered design, 16 bits per character are more thansufficient for this purpose.

His original 16-bit design was based on the assumption that only those scripts and characters in modern use wouldneed to be encoded:

Unicode gives higher priority to ensuring utility for the future than to preserving past antiquities.Unicode aims in the first instance at the characters published in modern text (e.g. in the union of allnewspapers and magazines printed in the world in 1988), whose number is undoubtedly far below 214 =16,384. Beyond those modern-use characters, all others may be defined to be obsolete or rare; these arebetter candidates for private-use registration than for congesting the public list of generally usefulUnicodes.

In early 1989, the Unicode working group expanded to include Ken Whistler and Mike Kernaghan of Metaphor,Karen Smith-Yoshimura and Joan Aliprand of RLG, and Glenn Wright of Sun Microsystems, and in 1990 MichelSuignard and Asmus Freytag from Microsoft and Rick McGowan of NeXT joined the group. By the end of 1990,most of the work on mapping existing character encoding standards had been completed, and a final review draft ofUnicode was ready.The Unicode Consortium was incorporated on January 3, 1991, in California, and in October 1991, the first volumeof the Unicode standard was published. The second volume, covering Han ideographs, was published in June 1992.In 1996, a surrogate character mechanism was implemented in Unicode 2.0, so that Unicode was no longer restrictedto 16 bits. This increased the Unicode codespace to over a million code points, which allowed for the encoding ofmany historic scripts (e.g. Egyptian Hieroglyphs) and thousands of rarely used or obsolete characters that had notbeen anticipated as needing encoding. Among the characters not originally intended for Unicode are rarely-usedKanji or Chinese characters, many of which are part of personal and place names, making them rarely used, butmuch more essential than envisioned in the original architecture of Unicode.

Architecture and terminologyUnicode defines a codespace of 1,114,112 code points in the range 0hex to 10FFFFhex. Normally a Unicode code point is referred to by writing "U+" followed by its hexadecimal number. For code points in the Basic Multilingual Plane (BMP), four digits are used (e.g. U+0058 for the character LATIN CAPITAL LETTER X); for code points outside the BMP, five or six digits are used, as required (e.g. U+E0001 for the character LANGUAGE TAG and U+10FFFD for the character PRIVATE USE CHARACTER-10FFFD). Older versions of the standard used similar notations but with slightly different rules. For example, Unicode 3.0 used "U-" followed by eight digits to indicate a

Unicode 3

code point, and allowed "U+" to be used only with exactly four digits to indicate a code unit, such as a single byte ofa multibyte UTF-8 encoding of a code point.

Code point planes and blocks

The Unicode codespace is divided into seventeen planes, numbered 0 to 16:All code points in the BMP are accessed as a single code unit in UTF-16 encoding and can be encoded in one, two orthree bytes in UTF-8. Code points in Planes 1 through 16 (supplementary planes, or, informally, astral planes) areaccessed as surrogate pairs in UTF-16 and encoded in four bytes in UTF-8.Within each plane, characters are allocated within named blocks of related characters. Although blocks are anarbitrary size, they are always a multiple of 16 code points and often a multiple of 128 code points. Charactersrequired for a given script may be spread out over several different blocks.

Character General Category

Each code point has a single General Category property. The major categories are: Letter, Mark, Number,Punctuation, Symbol, Separator and Other. Within these categories, there are subdivisions. The General Category isnot useful for every use, since legacy encodings have used multiple characteristics per single code point. E.g.U+000A <control-000A> Line feed (LF) in ASCII is both a control and a formatting separator; in Unicode theGeneral Category is "Other, Control". Often, other properties must be used to specify the characteristics andbehaviour of a code point. The possible General Categories are:

General Category (Unicode Character Property)

•• v•• t• e (http:/ / en. wikipedia. org/ w/ index. php?title=Template:General_Category_(Unicode)& action=edit)

Value Category Major,minor

Basic type Characterassigned

Fixed Remarks

000Letter

001Lu Letter, uppercase Graphic Character

002Ll Letter, lowercase Graphic Character

003Lt Letter, titlecase Graphic Character

004Lm Letter, modifier Graphic Character

005Lo Letter, other Graphic Character

010Mark

011Mn Mark, nonspacing Graphic Character

012Mc Mark, spacingcombining

Graphic Character

013Me Mark, enclosing Graphic Character

020Number

021Nd Number, decimaldigit

Graphic Character All these, and only these, have NumericType = De

022Nl Number, letter Graphic Character

023No Number, other Graphic Character

030Punctuation

Unicode 4

031Pc Punctuation,connector

Graphic Character

032Pd Punctuation, dash Graphic Character

033Ps Punctuation, open Graphic Character

034Pe Punctuation, close Graphic Character

035Pi Punctuation, initialquote

Graphic Character May behave like Ps or Pe depending onusage

036Pf Punctuation, finalquote

Graphic Character May behave like Ps or Pe depending onusage

037Po Punctuation, other Graphic Character

040Symbol

041Sm Symbol, math Graphic Character

042Sc Symbol, currency Graphic Character

043Sk Symbol, modifier Graphic Character

044So Symbol, other Graphic Character

050Separator

051Zs Separator, space Graphic Character

052Zl Separator, line Format Character Only U+2028 line separator (L SEP)

053Zp Separator, paragraph Format Character Only U+2029 paragraph separator (PSEP)

060Other

061Cc Other, control Control Character Fixed 65 No name, <control>

062Cf Other, format Format Character

063Cs Other, surrogate Surrogate Not (but abstract) Fixed 2048 No name, <surrogate>

064Co Other, private use Private-use Not (but abstract) Fixed 6400 in BMP, 131,068 inPlanes 15–16

No name, <private-use>

065Cn Other, not assigned Noncharacter Not Fixed 66 No name, <noncharacter>

Reserved Not Not fixed No name, <reserved>

Code points in the range U+D800..U+DBFF (1,024 code points) are known as high-surrogate code points, and codepoints in the range U+DC00..U+DFFF (1,024 code points) are known as low-surrogate code points. A high-surrogatecode point (also known as a leading surrogate) followed by a low-surrogate code point (also known as a trailingsurrogate) together form a surrogate pair used in UTF-16 to represent 1,048,576 code points outside BMP. High andlow surrogate code points are not valid by themselves. Thus the range of code points that are available for use ascharacters is U+0000..U+D7FF and U+E000..U+10FFFF (1,112,064 code points). The value of these code points(i.e. excluding surrogates) is sometimes referred to as the character's scalar value.Certain noncharacter code points are guaranteed never to be used for encoding characters, although applications maymake use of these code points internally if they wish. There are sixty-six noncharacters: U+FDD0..U+FDEF and anycode point ending in the value FFFE or FFFF (i.e. U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, ... U+10FFFE,U+10FFFF). The set of noncharacters is stable, and no new noncharacters will ever be defined.Reserved code points are those code points which are available for use as encoded characters, but are not yet definedas characters by Unicode.

Unicode 5

Private-use code points are considered to be assigned characters, but they have no interpretation specified by theUnicode standard so any interchange of such characters requires an agreement between sender and receiver on theirinterpretation. There are three private-use areas in the Unicode codespace:•• Private Use Area: U+E000..U+F8FF (6,400 characters)•• Supplementary Private Use Area-A: U+F0000..U+FFFFD (65,534 characters)•• Supplementary Private Use Area-B: U+100000..U+10FFFD (65,534 characters).Graphic characters are characters defined by Unicode to have a particular semantic, and either have a visible glyphshape or represent a visible space. As of Unicode 6.3 there are 109,975 graphic characters.Format characters are characters that do not have a visible appearance, but may have an effect on the appearance orbehavior of neighboring characters. For example, U+200C ZERO WIDTH NON-JOINER and U+200D ZEROWIDTH JOINER may be used to change the default shaping behavior of adjacent characters (e.g. to inhibit ligaturesor request ligature formation). There are 147 format characters in Unicode 6.3.Sixty-five code points (U+0000..U+001F and U+007F.. U+009F) are reserved as control codes, and correspond tothe C0 and C1 control codes defined in ISO/IEC 6429. Of these U+0009 (Tab), U+000A (Line Feed), and U+000D(Carriage Return) are widely used in Unicode-encoded texts.Graphic characters, format characters, control code characters, and private use characters are known collectively asassigned characters.

Abstract characters

The set of graphic and format characters defined by Unicode does not correspond directly to the repertoire ofabstract characters that is representable under Unicode. Unicode encodes characters by associating an abstractcharacter with a particular code point. However, not all abstract characters are encoded as a single Unicodecharacter, and some abstract characters may be represented in Unicode by a sequence of two or more characters. Forexample, a Latin small letter "i" with an ogonek, a dot above, and an acute accent, which is required in Lithuanian, isrepresented by the character sequence U+012F, U+0307, U+0301. Unicode maintains a list of uniquely namedcharacter sequences for abstract characters that are not directly encoded in Unicode.All graphic, format, and private use characters have a unique and immutable name by which they may be identified.This immutability has been guaranteed since Unicode version 2.0 by the Name Stability policy. In cases where thename is seriously defective and misleading, or has a serious typographical error, a formal alias may be defined, andapplications are encouraged to use the formal alias in place of the official character name. For example, U+A015 ꀕ yisyllable wu has the formal alias yi syllable iteration mark, and U+FE18 ︘ presentation form for vertical right whitelenticular brakcet (sic) has the formal alias presentation form for vertical right white lenticular bracket.

Unicode ConsortiumThe Unicode Consortium is a nonprofit organization that coordinates Unicode's development. Full members includemost of the main computer software and hardware companies with any interest in text-processing standards,including Adobe Systems, Apple, Google, IBM, Microsoft, Oracle Corporation and Yahoo!.The Consortium has the ambitious goal of eventually replacing existing character encoding schemes with Unicodeand its standard Unicode Transformation Format (UTF) schemes, as many of the existing schemes are limited in sizeand scope and are incompatible with multilingual environments.

Unicode 6

VersionsUnicode is developed in conjunction with the International Organization for Standardization and shares the characterrepertoire with ISO/IEC 10646: the Universal Character Set. Unicode and ISO/IEC 10646 function equivalently ascharacter encodings, but The Unicode Standard contains much more information for implementers, covering—indepth—topics such as bitwise encoding, collation and rendering. The Unicode Standard enumerates a multitude ofcharacter properties, including those needed for supporting bidirectional text. The two standards do use slightlydifferent terminology.The Consortium first published The Unicode Standard (ISBN 0-321-18578-1) in 1991 and continues to developstandards based on that original work. The latest version of the standard, Unicode 6.3, was released in September2013 and is available from the consortium's web site. The last of the major versions (versions x.0) to be published inbook form was Unicode 5.0 (ISBN 0-321-48091-0), but since Unicode 6.0 the full text of the standard is no longerbeing published in book form. In 2012, however, it was announced that only the core specification for Unicodeversion 6.1 would be made available as a 692 page print-on-demand paperback. Unlike the previous major versionprintings of the Standard, the print-on-demand core specification does not include any code charts or standardannexes, but the entire standard, including the core specification, will still remain freely available on the Unicodewebsite.Thus far the following major and minor versions of the Unicode standard have been published. Update versions,which do not include any changes to character repertoire, are signified by the third number (e.g. "version 4.0.1") andare omitted in the table below.

Unicode versions

Version Date Book CorrespondingISO/IEC 10646 Edition

Scripts Characters

Total[1] Notable additions

1.0.0 October1991

ISBN0-201-56788-1(Vol.1)

24 7,161 Initial repertoire covers these scripts: Arabic, Armenian,Bengali, Bopomofo, Cyrillic, Devanagari, Georgian, Greekand Coptic, Gujarati, Gurmukhi, Hangul, Hebrew,Hiragana, Kannada, Katakana, Lao, Latin, Malayalam,Oriya, Tamil, Telugu, Thai, and Tibetan.

1.0.1 June 1992 ISBN0-201-60845-6(Vol.2)

25 28,359 The initial set of 20,902 CJK Unified Ideographs isdefined.

1.1 June 1993 ISO/IEC 10646-1:1993 24 34,233 4,306 more Hangul syllables added to original set of 2,350characters. Tibetan removed.

2.0 July 1996 ISBN0-201-48345-9

ISO/IEC 10646-1:1993plus Amendments 5, 6and 7

25 38,950 Original set of Hangul syllables removed, and a new set of11,172 Hangul syllables added at a new location. Tibetanadded back in a new location and with a different characterrepertoire. Surrogate character mechanism defined, andPlane 15 and Plane 16 Private Use Areas allocated.

2.1 May 1998 ISO/IEC 10646-1:1993plus Amendments 5, 6and 7, and two charactersfrom Amendment 18

25 38,952 Euro sign added.

3.0 September1999

ISBN0-201-61633-5

ISO/IEC 10646-1:2000 38 49,259 Cherokee, Ethiopic, Khmer, Mongolian, Burmese, Ogham,Runic, Sinhala, Syriac, Thaana, Unified CanadianAboriginal Syllabics, and Yi Syllables added, as well as aset of Braille patterns.

3.1 March2001

ISO/IEC 10646-1:2000ISO/IEC 10646-2:2001

41 94,205 Deseret, Gothic and Old Italic added, as well as sets ofsymbols for Western music and Byzantine music, and42,711 additional CJK Unified Ideographs.

Unicode 7

3.2 March2002

ISO/IEC 10646-1:2000plus Amendment 1ISO/IEC 10646-2:2001

45 95,221 Philippine scripts Buhid, Hanunó'o, Tagalog, andTagbanwa added.

4.0 April 2003 ISBN0-321-18578-1

ISO/IEC 10646:2003 52 96,447 Cypriot syllabary, Limbu, Linear B, Osmanya, Shavian,Tai Le, and Ugaritic added, as well as Hexagram symbols.

4.1 March2005

ISO/IEC 10646:2003plus Amendment 1

59 97,720 Buginese, Glagolitic, Kharoshthi, New Tai Lue, OldPersian, Syloti Nagri, and Tifinagh added, and Coptic wasdisunified from Greek. Ancient Greek numbers andmusical symbols were also added.

5.0 July 2006 ISBN0-321-48091-0

ISO/IEC 10646:2003plus Amendments 1 and2, and four charactersfrom Amendment 3

64 99,089 Balinese, Cuneiform, N'Ko, Phags-pa, and Phoenicianadded.

5.1 April 2008 ISO/IEC 10646:2003plus Amendments 1, 2, 3and 4

75 100,713 Carian, Cham, Kayah Li, Lepcha, Lycian, Lydian, OlChiki, Rejang, Saurashtra, Sundanese, and Vai added, aswell as sets of symbols for the Phaistos Disc, Mahjongtiles, and Domino tiles. There were also importantadditions for Burmese, additions of letters and Scribalabbreviations used in medieval manuscripts, and theaddition of capital ß.

5.2 October2009

ISO/IEC 10646:2003plus Amendments 1, 2,3, 4, 5 and 6

90 107,361 Avestan, Bamum, Egyptian hieroglyphs (the Gardiner Set,comprising 1,071 characters), Imperial Aramaic,Inscriptional Pahlavi, Inscriptional Parthian, Javanese,Kaithi, Lisu, Meetei Mayek, Old South Arabian, OldTurkic, Samaritan, Tai Tham and Tai Viet added. 4,149additional CJK Unified Ideographs (CJK-C), as well asextended Jamo for Old Hangul, and characters for VedicSanskrit.

6.0 October2010

ISO/IEC 10646:2010plus the Indian rupeesign

93 109,449 Batak, Brahmi, Mandaic, playing card symbols, transportand map symbols, alchemical symbols, emoticons andemoji. 222 additional CJK Unified Ideographs (CJK-D)added.

6.1 January2012

ISO/IEC 10646:2012 100 110,181 Chakma, Meroitic cursive, Meroitic hieroglyphs, Miao,Sharada, Sora Sompeng, and Takri.

6.2 September2012

ISO/IEC 10646:2012plus the Turkish lira sign

100 110,182 Turkish lira sign.

6.3 September2013

ISO/IEC 10646:2012plus six characters

100 110,187 5 bidirectional formatting characters.

The next version of the Unicode standard is currently planned as version 7.0, expected to be released in 2014.

Scripts covered

Many modern applications can render a substantialsubset of the myriad scripts in Unicode, asdemonstrated by this screenshot from the

OpenOffice.org application.

Unicode covers almost all scripts (writing systems) in current usetoday.Wikipedia:Verifiability

Although 100 scripts are included in the latest version of Unicode(covering alphabets, abugidas and syllabaries), many more are yetto be encoded, particularly those mainly used in historical,liturgical, and academic contexts. Further additions of characters

Unicode 8

to the already-encoded scripts, as well as symbols, in particular for mathematics and music (in the form of notes andrhythmic symbols), also occur.The Unicode Roadmap Committee (Michael Everson, Rick McGowan, and Ken Whistler) maintain the list of scriptsthat are candidates or potential candidates for encoding and their tentative code block assignments on the UnicodeRoadmap (http:/ / www. unicode. org/ roadmaps/ ) page of the Unicode Consortium Web site. For some scripts onthe Roadmap, such as Jurchen, Nü Shu, Tangut, and Linear A, encoding proposals have been made and they areworking their way through the approval process. For others scripts, such as Mayan and Rongorongo, no proposal hasyet been made, and they await agreement on character repertoire and other details from the user communitiesinvolved.Some modern invented scripts which have not yet been included in Unicode (e.g., Tengwar) or which do not qualifyfor inclusion in Unicode due to lack of real-world use (e.g., Klingon) are listed in the ConScript Unicode Registry,along with unofficial but widely used Private Use Area code assignments.There is also a Medieval Unicode Font Initiative focused on special Latin medieval characters. Part of theseproposals have been already included into Unicode.The Script Encoding Initiative (http:/ / linguistics. berkeley. edu/ sei/ ), a project run by Dr. Deborah Anderson at theUniversity of California, Berkeley was founded in 2002 with the goal of funding proposals for scripts not yetencoded in the standard. The project has become a major source of proposed additions to the standard in recentyears.

Mapping and encodingsSeveral mechanisms have been specified for implementing Unicode. The choice depends on available storage space,source code compatibility, and interoperability with other systems.

Unicode Transformation Format and Universal Character SetUnicode defines two mapping methods: the Unicode Transformation Format (UTF) encodings, and the UniversalCharacter Set (UCS) encodings. An encoding maps (possibly a subset of) the range of Unicode code points tosequences of values in some fixed-size range, termed code values. The numbers in the names of the encodingsindicate the number of bits in one code value (for UTF encodings) or the number of bytes per code value (for UCS)encodings. UTF-8 and UTF-16 are probably the most commonly used encodings. UCS-2 is an obsolete subset ofUTF-16; UCS-4 and UTF-32 are functionally equivalent.UTF encodings include:• UTF-1 – a retired predecessor of UTF-8, maximizes compatibility with ISO 2022, no longer part of The Unicode

Standard• UTF-7 – a 7-bit encoding sometimes used in e-mail, often considered obsolete (not part of The Unicode Standard,

but only documented as an informational RFC, i.e. not on the Internet Standards Track either)• UTF-8 – an 8-bit variable-width encoding which maximizes compatibility with ASCII.• UTF-EBCDIC – an 8-bit variable-width encoding similar to UTF-8, but designed for compatibility with

EBCDIC. (not part of The Unicode Standard)• UTF-16 – a 16-bit, variable-width encoding• UTF-32 – a 32-bit, fixed-width encodingUTF-8 uses one to four bytes per code point and, being compact for Latin scripts and ASCII-compatible, providesthe de facto standard encoding for interchange of Unicode text. It is also used by FreeBSD and most recent Linuxdistributions as a direct replacement for legacy encodings in general text handling.The UCS-2 and UTF-16 encodings specify the Unicode Byte Order Mark (BOM) for use at the beginnings of text files, which may be used for byte ordering detection (or byte endianness detection). Some software developers have

Unicode 9

adopted it for other encodings, including UTF-8, so software can distinguish UTF-8 from local 8-bit code pages. Inthis case it attempts to mark the file as containing Unicode text. The BOM, code point U+FEFF has the importantproperty of unambiguity on byte reorder, regardless of the Unicode encoding used; U+FFFE (the result ofbyte-swapping U+FEFF) does not equate to a legal character, and U+FEFF in other places, other than the beginningof text, conveys the zero-width non-break space (a character with no appearance and no effect other than preventingthe formation of ligatures). Also, the units FE and FF never appear in UTF-8. The same character converted toUTF-8 becomes the byte sequence EF BB BF. RFC 3629, the UTF-8 standard, recommends that Byte Order Marksbe forbidden in protocols using UTF-8, but discusses the cases where this may not possible.In UTF-32 and UCS-4, one 32-bit code value serves as a fairly direct representation of any character's code point(although the endianness, which varies across different platforms, affects how the code value manifests as an octetsequence). In the other encodings, each code point may be represented by a variable number of code values. UTF-32is widely used as an internal representation of text in programs (as opposed to stored or transmitted text), since everyUnix operating system that uses the gcc compilers to generate software uses it as the standard "wide character"encoding. Some programming languages, such as Seed7, use UTF-32 as internal representation for strings andcharacters. Recent versions of the Python programming language (beginning with 2.2) may also be configured to useUTF-32 as the representation for Unicode strings, effectively disseminating such encoding in high-level codedsoftware.Punycode, another encoding form, enables the encoding of Unicode strings into the limited character set supportedby the ASCII-based Domain Name System. The encoding is used as part of IDNA, which is a system enabling theuse of Internationalized Domain Names in all scripts that are supported by Unicode. Earlier and now historicalproposals include UTF-5 and UTF-6.GB18030 is another encoding form for Unicode, from the Standardization Administration of China. It is the officialcharacter set of the People's Republic of China (PRC). BOCU-1 and SCSU are Unicode compression schemes. TheApril Fools' Day RFC of 2005 specified two parody UTF encodings, UTF-9 and UTF-18.

Ready-made versus composite charactersUnicode includes a mechanism for modifying character shape that greatly extends the supported glyph repertoire.This covers the use of combining diacritical marks. They are inserted after the main character. Multiple combiningdiacritics may be stacked over the same character. Unicode also contains precomposed versions of mostletter/diacritic combinations in normal use. These make conversion to and from legacy encodings simpler, and allowapplications to use Unicode as an internal text format without having to implement combining characters. Forexample é can be represented in Unicode as U+0065 (LATIN SMALL LETTER E) followed by U+0301(COMBINING ACUTE ACCENT), but it can also be represented as the precomposed character U+00E9 (LATINSMALL LETTER E WITH ACUTE). Thus, in many cases, users have multiple ways of encoding the samecharacter. To deal with this, Unicode provides the mechanism of canonical equivalence.An example of this arises with Hangul, the Korean alphabet. Unicode provides a mechanism for composing Hangulsyllables with their individual subcomponents, known as Hangul Jamo. However, it also provides 11,172combinations of precomposed syllables made from the most common jamo.The CJK ideographs currently have codes only for their precomposed form. Still, most of those ideographs comprisesimpler elements (often called radicals in English), so in principle, Unicode could have decomposed them, as it didwith Hangul. This would have greatly reduced the number of required code points, while allowing the display ofvirtually every conceivable ideograph (which might do away with some of the problems caused by the Hanunification). A similar idea covers some input methods, such as Cangjie and Wubi. However, attempts to do this forcharacter encoding have stumbled over the fact that ideographs do not decompose as simply or as regularly as itseems they should.

Unicode 10

A set of radicals was provided in Unicode 3.0 (CJK radicals between U+2E80 and U+2EFF, KangXi radicals inU+2F00 to U+2FDF, and ideographic description characters from U+2FF0 to U+2FFB), but the Unicode standard(ch. 12.2 of Unicode 5.2) warns against using ideographic description sequences as an alternate representation forpreviously encoded characters:

This process is different from a formal encoding of an ideograph. There is no canonical description ofunencoded ideographs; there is no semantic assigned to described ideographs; there is no equivalencedefined for described ideographs. Conceptually, ideographic descriptions are more akin to the Englishphrase "an 'e' with an acute accent on it" than to the character sequence <U+0065, U+0301>.

LigaturesMany scripts, including Arabic and Devanagari, have special orthographic rules that require certain combinations ofletterforms to be combined into special ligature forms. The rules governing ligature formation can be quite complex,requiring special script-shaping technologies such as ACE (Arabic Calligraphic Engine by DecoType in the 1980sand used to generate all the Arabic examples in the printed editions of the Unicode Standard), which became theproof of concept for OpenType (by Adobe and Microsoft), Graphite (by SIL International), or AAT (by Apple).Instructions are also embedded in fonts to tell the operating system how to properly output different charactersequences. A simple solution to the placement of combining marks or diacritics is assigning the marks a width ofzero and placing the glyph itself to the left or right of the left sidebearing (depending on the direction of the scriptthey are intended to be used with). A mark handled this way will appear over whatever character precedes it, but willnot adjust its position relative to the width or height of the base glyph; it may be visually awkward and it mayoverlap some glyphs. Real stacking is impossible, but can be approximated in limited cases (for example, Thaitop-combining vowels and tone marks can just be at different heights to start with). Generally this approach is onlyeffective in monospaced fonts, but may be used as a fallback rendering method when more complex methods fail.

Standardized subsetsSeveral subsets of Unicode are standardized: Microsoft Windows since Windows NT 4.0 supports WGL-4 with 652characters, which is considered to support all contemporary European languages using the Latin, Greek, or Cyrillicscript. Other standardized subsets of Unicode include the Multilingual European Subsets:[2] MES-1 (Latin scriptsonly, 335 characters), MES-2 (Latin, Greek and Cyrillic 1062 characters)[3] and MES-3A & MES-3B (two largersubsets, not shown here). Note that MES-2 includes every character in MES-1 and WGL-4.

WGL-4, MES-1 and MES-2

Row Cells Range(s)

00 20–7E Basic Latin (00–7F)

A0–FF Latin-1 Supplement (80–FF)

01 00–13, 14–15, 16–2B, 2C–2D, 2E–4D, 4E–4F, 50–7E, 7F Latin Extended-A (00–7F)

8F, 92, B7, DE-EF, FA–FF Latin Extended-B (80–FF ...)

02 18–1B, 1E–1F Latin Extended-B (... 00–4F)

59, 7C, 92 IPA Extensions (50–AF)

BB–BD, C6, C7, C9, D6, D8–DB, DC, DD, DF, EE Spacing Modifier Letters (B0–FF)

03 74–75, 7A, 7E, 84–8A, 8C, 8E–A1, A3–CE, D7, DA–E1 Greek (70–FF)

04 00, 01–0C, 0D, 0E–4F, 50, 51–5C, 5D, 5E–5F, 90–91, 92–C4, C7–C8, CB–CC, D0–EB, EE–F5,F8–F9

Cyrillic (00–FF)

1E 02–03, 0A–0B, 1E–1F, 40–41, 56–57, 60–61, 6A–6B, 80–85, 9B, F2–F3 Latin Extended Additional (00–FF)

Unicode 11

1F 00–15, 18–1D, 20–45, 48–4D, 50–57, 59, 5B, 5D, 5F–7D, 80–B4, B6–C4, C6–D3, D6–DB, DD–EF,F2–F4, F6–FE

Greek Extended (00–FF)

20 13–14, 15, 17, 18–19, 1A–1B, 1C–1D, 1E, 20–22, 26, 30, 32–33, 39–3A, 3C, 3E General Punctuation (00–6F)

44, 4A, 7F, 82 Superscripts and Subscripts(70–9F)

A3–A4, A7, AC, AF Currency Symbols (A0–CF)

21 05, 13, 16, 22, 26, 2E Letterlike Symbols (00–4F)

5B–5E Number Forms (50–8F)

90–93, 94–95, A8 Arrows (90–FF)

22 00, 02, 03, 06, 08–09, 0F, 11–12, 15, 19–1A, 1E–1F, 27–28, 29, 2A, 2B, 48, 59, 60–61, 64–65,82–83, 95, 97

Mathematical Operators (00–FF)

23 02, 0A, 20–21, 29–2A Miscellaneous Technical (00–FF)

25 00, 02, 0C, 10, 14, 18, 1C, 24, 2C, 34, 3C, 50–6C Box Drawing (00–7F)

80, 84, 88, 8C, 90–93 Block Elements (80–9F)

A0–A1, AA–AC, B2, BA, BC, C4, CA–CB, CF, D8–D9, E6 Geometric Shapes (A0–FF)

26 3A–3C, 40, 42, 60, 63, 65–66, 6A, 6B Miscellaneous Symbols (00–FF)

F0 (01–02) Private Use Area (00–FF ...)

FB 01–02 Alphabetic Presentation Forms(00–4F)

FF FD Specials

Rendering software which cannot process a Unicode character appropriately often displays it as an open rectangle, orthe Unicode "replacement character" (U+FFFD, �), to indicate the position of the unrecognized character. Somesystems have made attempts to provide more information about such characters. The Apple LastResort font willdisplay a substitute glyph indicating the Unicode range of the character, and the SIL Unicode fallback font willdisplay a box showing the hexadecimal scalar value of the character.

Unicode in use

Operating systemsUnicode has become the dominant scheme for internal processing and storage of text. Although a great deal of text isstill stored in legacy encodings, Unicode is used almost exclusively for building new information processingsystems. Early adopters tended to use UCS-2 and later moved to UTF-16 (as this was the least disruptive way to addsupport for non-BMP characters). The best known such system is Windows NT (and its descendants, Windows 2000,Windows XP, Windows Vista and Windows 7), which uses UTF-16 as the sole internal character encoding. The Javaand .NET bytecode environments, Mac OS X, and KDE also use it for internal representation. Unicode is availableon Windows 95 (and its descendants, Windows 98 and Windows ME) through Microsoft Layer for Unicode.UTF-8 (originally developed for Plan 9) has become the main storage encoding on most Unix-like operating systems(though others are also used by some libraries) because it is a relatively easy replacement for traditional extendedASCII character sets. UTF-8 is also the most common Unicode encoding used in HTML documents on the WorldWide Web.Multilingual text-rendering engines which use Unicode include Uniscribe and DirectWrite for Microsoft Windows,ATSUI and Core Text for Mac OS X, and Pango for GTK+ and the GNOME desktop.

Unicode 12

Input methodsBecause keyboard layouts cannot have simple key combinations for all characters, several operating systems providealternative input methods that allow access to the entire repertoire.ISO 14755, which standardises methods for entering Unicode characters from their codepoints, specifies severalmethods. There is the Basic method, where a beginning sequence is followed by the hexadecimal representation ofthe codepoint and the ending sequence. There is also a screen-selection entry method specified, where the charactersare listed in a table in a screen, such as with a character map program.

EmailMIME defines two different mechanisms for encoding non-ASCII characters in email, depending on whether thecharacters are in email headers (such as the "Subject:"), or in the text body of the message; in both cases, the originalcharacter set is identified as well as a transfer encoding. For email transmission of Unicode the UTF-8 character setand the Base64 or the Quoted-printable transfer encoding are recommended, depending on whether much of themessage consists of ASCII-characters. The details of the two different mechanisms are specified in the MIMEstandards and generally are hidden from users of email software.The adoption of Unicode in email has been very slow. Some East-Asian text is still encoded in encodings such asISO-2022, and some devices, such as mobile phones, still cannot handle Unicode data correctly. Support has beenimproving however. Many major free mail providers such as Yahoo, Google (Gmail), and Microsoft (Hotmail)support it.

WebAll W3C recommendations have used Unicode as their document character set since HTML 4.0. Web browsers havesupported Unicode, especially UTF-8, for many years. Display problems result primarily from font related issues; inparticular, versions of Microsoft Internet Explorer do not render many code points unless explicitly told to use a fontthat contains them.Although syntax rules may affect the order in which characters are allowed to appear, XML (including XHTML)documents, by definition, comprise characters from most of the Unicode code points, with the exception of:• most of the C0 control codes• the permanently unassigned code points D800–DFFF•• FFFE or FFFF(see for official standard for XML characters.)HTML characters manifest either directly as bytes according to document's encoding, if the encoding supports them,or users may write them as numeric character references based on the character's Unicode code point. For example,the references &#916;, &#1049;, &#1511;, &#1605;, &#3671;, &#12354;, &#21494;, &#33865;, and&#47568; (or the same numeric values expressed in hexadecimal, with &#x as the prefix) should display on allbrowsers as Δ, Й, م ,ק, ๗, あ, 叶, 葉, and 말.When specifying URIs, for example as URLs in HTTP requests, non-ASCII characters must be percent-encoded.

Unicode 13

FontsFree and retail fonts based on Unicode are widely available, since TrueType and OpenType support Unicode. Thesefont formats map Unicode code points to glyphs.Thousands of fonts exist on the market, but fewer than a dozen fonts—sometimes described as "pan-Unicode"fonts—attempt to support the majority of Unicode's character repertoire. Instead, Unicode-based fonts typicallyfocus on supporting only basic ASCII and particular scripts or sets of characters or symbols. Several reasons justifythis approach: applications and documents rarely need to render characters from more than one or two writingsystems; fonts tend to demand resources in computing environments; and operating systems and applications showincreasing intelligence in regard to obtaining glyph information from separate font files as needed, i.e. fontsubstitution. Furthermore, designing a consistent set of rendering instructions for tens of thousands of glyphsconstitutes a monumental task; such a venture passes the point of diminishing returns for most typefaces.

New linesUnicode partially addresses the new line problem that occurs when trying to read a text file on different platforms.Unicode defines a large number of characters that conforming applications should recognize as lineterminators.[citation needed]

In terms of the new line, Unicode introduced U+2028 line separator and U+2029 paragraph separator. This was anattempt to provide a Unicode solution to encoding paragraphs and lines semantically, potentially replacing all of thevarious platform solutions. In doing so, Unicode does provide a way around the historical platform dependentsolutions. Nonetheless, few if any Unicode solutions have adopted these Unicode line and paragraph separators asthe sole canonical line ending characters. However, a common approach to solving this issue is through new linenormalization. This is achieved with the Cocoa text system in Mac OS X and also with W3C XML and HTMLrecommendations. In this approach every possible new line character is converted internally to a common new line(which one does not really matter since it is an internal operation just for rendering). In other words, the text systemcan correctly treat the character as a new line, regardless of the input's actual encoding.

Issues

Philosophical and completeness criticismsHan unification (the identification of forms in the East Asian languages which one can treat as stylistic variations ofthe same historical character) has become one of the most controversial aspects of Unicode, despite the presence of amajority of experts from all three regions in the Ideographic Rapporteur Group (IRG), which advises the Consortiumand ISO on additions to the repertoire and on Han unification.[4]

Unicode has been criticized for failing to separately encode older and alternative forms of kanji which, critics argue,complicates the processing of ancient Japanese and uncommon Japanese names. This is often due to the fact thatUnicode encodes characters rather than glyphs (the visual representations of the basic character that often vary fromone language to another). Unification of glyphs leads to the perception that the languages themselves, not just thebasic character representation, are being merged.[5]Wikipedia:Please clarify There have been several attempts tocreate alternative encodings that preserve the stylistic differences between Chinese, Japanese, and Korean charactersin opposition to Unicode's policy of Han unification. An example of one is TRON (although it is not widely adoptedin Japan, there are some users who need to handle historical Japanese text and favor it).Although the repertoire of fewer than 21,000 Han characters in the earliest version of Unicode was largely limited tocharacters in common modern usage, Unicode now includes more than 70,000 Han characters, and work iscontinuing to add thousands more historic and dialectal characters used in China, Japan, Korea, Taiwan, andVietnam.

Unicode 14

Modern font technology provides a means to address the practical issue of needing to depict a unified Han characterin terms of a collection of alternative glyph representations, in the form of Unicode variation sequences. Forexample, the Advanced Typographic tables of OpenType permit one of a number of alternative glyph representationsto be selected when performing the character to glyph mapping process. In this case, information can be providedwithin plain text to designate which alternate character form to select.

Mapping to legacy character setsInjective mappings must be provided between characters in existing legacy character sets and characters in Unicodeto facilitate conversion to Unicode and allow interoperability with legacy software. Lack of consistency in variousmappings between earlier Japanese encodings such as Shift-JIS or EUC-JP and Unicode led to round-trip formatconversion mismatches, particularly the mapping of the character JIS X 0208 '~' (1-33, WAVE DASH), heavilyused in legacy database data, to either U+FF5E ~ fullwidth tilde (in Microsoft Windows) or U+301C 〜 wavedash (other vendors).[6]

Some Japanese computer programmers objected to Unicode because it requires them to separate the use of U+005C\ reverse solidus (backslash) and U+00A5 ¥ yen sign, which was mapped to 0x5C in JIS X 0201, and a lot of legacycode exists with this usage.[7] (This encoding also replaces tilde '~' 0x7E with overline '¯', now 0xAF.) Theseparation of these characters exists in ISO 8859-1, from long before Unicode.

Indic scriptsIndic scripts such as Tamil and Devanagari are each allocated only 128 code points, matching the ISCII standard.The correct rendering of Unicode Indic text requires transforming the stored logical order characters into visual orderand the forming of ligatures out of components. Some local scholars argued in favor of assignments of Unicodecodepoints to these ligatures, going against the practice for other writing systems, though Unicode contains someArabic and other ligatures for backward compatibility purposes only. Encoding of any new ligatures in Unicode willnot happen, in part because the set of ligatures is font-dependent, and Unicode is an encoding independent of fontvariations. The same kind of issue arose for Tibetan script [citation needed] (the Chinese National Standard organizationfailed to achieve a similar change).Thai alphabet support has been criticized for its ordering of Thai characters. The vowels เ, แ, โ, ใ, ไ that are writtento the left of the preceding consonant are in visual order instead of phonetic order, unlike the Unicoderepresentations of other Indic scripts. This complication is due to Unicode inheriting the Thai Industrial Standard620, which worked in the same way, and was the way in which Thai had always been written on keyboards. Thisordering problem complicates the Unicode collation process slightly, requiring table lookups to reorder Thaicharacters for collation. Even if Unicode had adopted encoding according to spoken order, it would still beproblematic to collate words in dictionary order. E.g. the word แสดง [sa dɛːŋ] "perform" starts with a consonantcluster "สด" (with an inherent vowel for the consonant "ส"), the vowel แ-, in spoken order would come after the ด,but in a dictionary, the word is collated as it is written, with the vowel following the ส.

Combining charactersCharacters with diacritical marks can generally be represented either as a single precomposed character or as a decomposed sequence of a base letter plus one or more non-spacing marks. For example, ḗ (precomposed e with macron and acute above) and e (e followed by the combining macron above and combining acute above) should be rendered identically, both appearing as an e with a macron and acute accent, but in practice, their appearance may vary depending upon what rendering engine and fonts are being used to display the characters. Similarly, underdots, as needed in the romanization of Indic, will often be placed incorrectly[citation needed]. Unicode characters that map to precomposed glyphs can be used in many cases, thus avoiding the problem, but where no precomposed character has been encoded the problem can often be solved by using a specialist Unicode font such as Charis SIL that uses

Unicode 15

Graphite, OpenType, or AAT technologies for advanced rendering features.

Notes[1][1] The number of characters listed for each version of Unicode is the total number of graphic, format and control characters (i.e. excluding

private-use characters, noncharacters and surrogate code points).[2] CWA 13873:2000 – Multilingual European Subsets in ISO/IEC 10646-1 (http:/ / www. evertype. com/ standards/ iso10646/ pdf/ cwa13873.

pdf) CEN Workshop Agreement 13873[3] Multilingual European Character Set 2 (MES-2) Rationale (http:/ / www. cl. cam. ac. uk/ ~mgk25/ ucs/ mes-2-rationale. html), Markus Kuhn,

1998[4] A Brief History of Character Codes (http:/ / tronweb. super-nova. co. jp/ characcodehist. html), Steven J. Searle, originally written 1999

(http:/ / web. archive. org/ web/ 20001216022100/ http:/ / tronweb. super-nova. co. jp/ characcodehist. html), last updated 2004[5] The secret life of Unicode: A peek at Unicode's soft underbelly (http:/ / www-128. ibm. com/ developerworks/ library/ u-secret. html),

Suzanne Topping, 1 May 2001[6] AFII contribution about WAVE DASH (http:/ / std. dkuug. dk/ jtc1/ sc2/ wg2/ docs/ n2166. doc), Unicode vendor-specific character table for

Japanese (http:/ / www. ingrid. org/ java/ i18n/ unicode. html)[7] ISO 646-* Problem (http:/ / www. debian. org/ doc/ manuals/ intro-i18n/ ch-codes. en. html#s-646problem), Section 4.4.3.5 of Introduction to

I18n, Tomohiro KUBOTA, 2001

Footnotes

References• The Unicode Standard, Version 3.0, The Unicode Consortium, Addison-Wesley Longman, Inc., April 2000.

ISBN 0-201-61633-5• The Unicode Standard, Version 4.0, The Unicode Consortium, Addison-Wesley Professional, 27 August 2003.

ISBN 0-321-18578-1• The Unicode Standard, Version 5.0, Fifth Edition, The Unicode Consortium, Addison-Wesley Professional, 27

October 2006. ISBN 0-321-48091-0• Julie D. Allen. The Unicode Standard, Version 6.0, The Unicode Consortium, Mountain View, 2011, ISBN

9781936213016, ( (http:/ / www. unicode. org/ versions/ Unicode6. 0. 0/ )).• The Complete Manual of Typography, James Felici, Adobe Press; 1st edition, 2002. ISBN 0-321-12730-7• Unicode: A Primer, Tony Graham, M&T books, 2000. ISBN 0-7645-4625-2.• Unicode Demystified: A Practical Programmer's Guide to the Encoding Standard, Richard Gillam,

Addison-Wesley Professional; 1st edition, 2002. ISBN 0-201-70052-2• Unicode Explained, Jukka K. Korpela, O'Reilly; 1st edition, 2006. ISBN 0-596-10121-X

External links• The Unicode Consortium (http:/ / www. unicode. org/ )

• Unicode 6.1.0 (http:/ / www. unicode. org/ versions/ Unicode6. 1. 0/ ), the complete Unicode 6.1 standard• Character Code Charts By Script (http:/ / www. unicode. org/ charts/ ) for Unicode 6.3

• Alan Wood's Unicode Resources (http:/ / www. alanwood. net/ unicode/ ) Contains lists of word processors withUnicode capability; fonts and characters are grouped by type; characters are presented in lists, not grids.

• decodeunicode.org (http:/ / www. decodeunicode. org/ ) images of all 98,884 graphic characters defined inUnicode 5.0 (German/English, full text search)

• libUniCode-plus (http:/ / sourceforge. net/ projects/ libunicode-plus/ ) (Creation and manipulation of Unicodetables)

• Unicode Character Search (http:/ / www. fileformat. info/ info/ unicode/ char/ search. htm) (search for charactersby their Unicode names)

Unicode 16

• UniView (http:/ / people. w3. org/ rishida/ scripts/ uniview/ descn) An XHTML-based Unicode character look upapplication

• YChartUnicode (http:/ / www. yoix. org/ unicode. html) Yoix chart of all Code Points in the Basic MultilingualPlane

• Bill Poser's Unicode (http:/ / www. billposer. org/ Linguistics/ Computation/ LectureNotes/ Unicode. html)linguistic explanation and a list of Escape Formats (http:/ / billposer. org/ Software/ ListOfRepresentations. html)

• Shapecatcher (http:/ / shapecatcher. com) A HTML5 tool to find Unicode characters by drawing them (10877characters indexed).

Article Sources and Contributors 17

Article Sources and ContributorsUnicode  Source: http://en.wikipedia.org/w/index.php?oldid=588876539  Contributors: 4Aleph4Omega4, 83d40m, A-giau, A.amitkumar, A12n, A580666, ABF, ANONYMOUSCOWARD0xC0DE, APerson, Abdull, Abecedare, Acanon, Adamrice, Agencius, Ahoerstemeier, AlanUS, AlexanderWinston, Alistair1978, AlistairMcMillan, Allen Moore, Alvestrand, Amire80,AnOddName, Andre Engels, Andreas Rejbrand, Andrew c, Andycjp, Angela, AnnaFrance, AnonMoos, Anonymous Dissident, Anton Mravcek, Anárion, Arcan, Arcturus, Ark25, Armando,ArnoldReinhold, Arny, Arthena, Arvindn, Asenine, Ashg, Askiyas85, AugPi, AxSkov, AxelBoldt, BD2412, Babajobu, Babbage, BabelStone, Bantab, Bdesham, Behdad, Behnam, Bento00,Bhudh, Biederman, Bigjimr, Billposer, Bk pandey, Bkell, Bkkbrad, Bletch, Bloodshedder, BonsaiViking, Boredzo, Bovineone, BrianGV, Brianski, Brion VIBBER, Bryan Derksen, Bumm13,Caerwine, Calvinkrishy, Canadiana, CanisRufus, Capn ed, Card, Carey Evans, Caue.cm.rego, Cburnett, Ceplm, CesarB, Cffrost, Cgs, Chairman S., Chameleon, CharlesC, Chealer, CheeryChan,Cherlin, Chmod007, ChongDae, Chovain, Chowbok, Chris Chittleborough, ChrisGualtieri, ChristTrekker, Christian List, Christian Spitzlay, Colonies Chris, ComaVN, Computer97, Conversionscript, Covington, Cowplopmorris, Cpl Syx, Crissov, Critisizer, Cryptic, Csernica, Ctachme, Cy21, Cyanophile, Cybercobra, DPoon, DWorley, Damian Yerrick, Damson88, Daniel5127,Davejenk1ns, David Woolley, DavidCary, Dbachmann, Dbolton, Dcljr, DePiep, Deepugn, Deh, Dejvid, Demmy, Denelson83, Denispir, Dennis Valeev, Dgodfrey40, Dirtside, Djmutex, Dmerrill,Dnas, DocWatson42, Dolda2000, Don4of4, Dontbeakakke, DopefishJustin, Dotancohen, Doubtful dave 86, Doug Bell, Downcoder, Dr-moomin, DrewwBreak, Drichardson, Dvgrn, Długosz,EamonnPKeane, EdC, Ehamberg, El C, Elektron, Ellenaz, Emelmujiro, EmilJ, Ems2, Epbr123, ErkinBatu, Eroica, EthanL, Euske, Evertype, Evil Monkey, Fenevad, Fgrosshans, Fibonacci,Filemon, Fiveless, FleetCommand, Flowersofnight, Francis Tyers, Frap, Furrykef, Fuzzie, Fxparlant, G a adams, GGink, Gabbe, Gaius Cornelius, Galadh, Galoubet, Garlikguy2, Gary Cziko,Gazibara, Gentgeen, Geronime, Giftlite, Gimmetrow, Gmailseotaewong, Gniw, Gorobay, Greyed, Gudeldar, Gulliveig, Gurnec, Gusutabo, Guy Peters, Gwalla, HMSSolent, Hadal, HannesHirzel,Hans Kamp, Harmil, HarryHenryGebel, Haukurth, Hdante, Headbomb, Heirpixel, Henrique Moreira, HenryLi, Hhielscher, Hippietrail, Hirzel, Home Row Keysplurge, Homerjay, HowardMcCay, Huji, Husky, Hvn0413, Icairns, Improv, Incnis Mrsi, Indefatigable, Indexheavy, Inka 888, InterruptorJones, Intgr, Isis4563, Ismellaprep, Itai, IvanLanin, J.delanoy, JLaTondre, JWB,Jacoplane, Jak123, Jallan, Jalwikip, JamesFox, Jarkeld, Jarsyl, Jasperseverance, Jcm, Jefe2000, JeroenHoek, JerryFriedman, Jhinman, Jiang, Jleedev, Jll, Jmchuff, Jmocenigo, Jnc, Joeblakesley,JohnOwens, Johnholtripley, Johntex, Johnuniq, Jonathanfu, Jopxton, Jor, Jorend, JoshEdgar, Joshua Scott, Jpatokal, [email protected], KSmrq, Kaihsu, Karl Dickman, Karol Langner, KayEss,Kbolino, Keahapana, Keka, Kimse, Kjoonlee, Klausness, Koavf, Kocio, Kokiri, Kurmaa, Kwaku, Kwamikagami, LOL, LPfi, Larry Hastings, Lee Daniel Crocker, Lee J Haywood, LeerokLacerta,Lenoxus, Leotohill, Lethe, Letuño, Liftarn, LilHelpa, Livajo, Logan, Looxix, LorenzoB, Lowellian, Luckas Blade, Lusanaherandraton, MIT Trekkie, Mac, Macrakis, Marcus Qwertyus, MarkYen, Martarius, Materialscientist, Matt.forestpath, MattKingston, Matthiaspaul, MauriceJFox3, Maximaximax, Mcstrother, Medains, Menchi, Michael Hardy, Michael93555, Miciah, MikeX,Mikko Paananen, Miles, Minghong, Mipadi, Mitchellj, Mjb, Mlewan, Modulatum, Monedula, Morte, Mosquitopsu, Motor, Moyogo, Mr. Billion, Mukkakukaku, Muro de Aguas, Mxn, Mzajac,Nanshu, Nathanaeljones, Necromancer44, Neilc, Nemo20000, Nickshanks, Nikola Smolenski, Nixdorf, Nixeagle, Nobar, Node ue, Novacatz, Now3d, Nz26, OldGeazer, Oliver Lineham,Omirocksthisworld, OrgasGirl, Outriggr, OzOle, Pandukht, Patrick, Patricknoddy, Pavankay, Pedant17, Pelletierm, Perey, Pgk, Phil Boswell, PiMaster3, PierreAbbat, Pjacobi, Plugwash, Pmsyyz,Pne, Pnm, Poccil, Populus, Ppp, Prosfilaes, Proxyma, Psychonaut, Psyphyre, Quadell, Qutezuce, Quuxplusone, R'n'B, Rainwarrior, Raise exception, Randolf Richardson, Random832,Raven4x4x, Red King, Rees11, Reisio, Res0lution, Rfc1394, Rhodson2, Rich Farmbrough, Richard Donkin, Rick Block, Ringlings, Rjwilmsi, Roadrunner, Robert P. O'Shea, Robtheslob,Rocastelo, Rodasmith, RogueWanderer, Romeu, Roozbeh, Rsrikanth05, Rursus, S d, SPQRobin, STL Dilettante, SallyForth123, Sannse, Sarayuparin, Sburke, Scs, Scwlong, Seizethedave, SenMon, Sgeo, Shantavira, Sharcho, Shijualex, Shirishag75, Shlomital, Shnoobloogloo, Shrish, Shultz IV, Sietse Snel, SilverFox183, Simetrical, SimonDeDanser, Siodhe, Skj.saurabh, Sl, Sleske,Smiteri, Smjg, SnakDev, Spearhead, Special-T, SpeedyGonsales, Spitzak, Splintercellguy, Splorp, Spookfish, Sspecter, Stephan Leeds, Stephanoc, Stephenb, Stevage, Struthious Bandersnatch,Sukh, Sumitkumar kataria, Super-Magician, Superm401, Suruena, Surv1v4l1st, Sweety Rose, TakuyaMurata, Tarikash, Taw, Teemu Leisti, Tejas81, Template namespace initialisation script, TheAnome, The Monster, ThierryVignaud, Thruston, Thumperward, Tigrisek, TimBray, Timwi, Tobias Bergemann, Tom Foley, Tomchiukc, Tommy2010, Tonyfaull, Toyotabedzrock, Tpbradbury,Trainspotter, Treekids, Tsength, Ttwaring, Twilsonb, Twinxor, UTF-8, Uriber, V85, Vacuum, VandTrack, Vanisaac, Vanished user 99034jfoiasjq2oirhsf3, Vasiliy Faronov, Vegaswikian,Vikreykja, Vilcxjo, Voidvector, Voomoo, WWriter, Wanion, Warren, Wavelength, WayneMokane, Wdfarmer, Werldwayd, Wickey-nl, Wihwang, Wikilackey, Wikipedian2, Wikky Horse,William Ortiz, Winterspan, Wiooiw, Woer$, WorldlyWebster, WurmWoode, Xp54321, Yahel Guhan, Yonidebest, Yug, Zundark, Zusied, Ævar Arnfjörð Bjarmason, ɑʀʇʉʀɵ, Александър,에멜무지로, 628 anonymous edits

Image Sources, Licenses and ContributorsFile:Unicode logo.svg  Source: http://en.wikipedia.org/w/index.php?title=File:Unicode_logo.svg  License: Public Domain  Contributors: unbekannt (Transfered by muff cabbage/Originaluploaded by Benji)File:Unicode sample.png  Source: http://en.wikipedia.org/w/index.php?title=File:Unicode_sample.png  License: unknown  Contributors: User:SreeBot

LicenseCreative Commons Attribution-Share Alike 3.0//creativecommons.org/licenses/by-sa/3.0/


Recommended