All Topics  
Unicode

 
Unicode

   Email Print
   Bookmark   Link






 

Unicode



 
 
Unicode is a computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
 industry standard
Industry Standard

Industry Standard is a 1982 album by Dixie Dregs. It is their only album featuring vocals and garnered the group their fourth Grammy nomination....
 allowing computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
s to consistently represent and manipulate text
Character (computing)

In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written language form of a natural language....
 expressed in most of the world's writing system
Writing system

A writing system is a type of symbolic system used to represent elements or statements expressible in language....
s. Developed in tandem with the Universal Character Set
Universal Character Set

The Universal Character Set , defined by the International Organization for Standardization/International Electrotechnical Commission 10646 International Organization for Standardization, is a standard set of character s upon which many character encodings are based....
 standard and published in book form as The Unicode Standard, Unicode consists of a repertoire of more than 100,000 characters
Character (computing)

In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written language form of a natural language....
, a set of code charts for visual reference, an encoding methodology and set of standard character encoding
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
s, an enumeration of character properties such as upper and lower case
Letter case

In orthography and typography, letter case is the distinction between majuscule and Lower case letters. The term originated with the shallow Drawer s called type cases still used to hold the movable type for letterpress printing....
, a set of reference data computer file
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
s, and a number of related items, such as character properties, rules for normalization, decomposition, collation
Collation

Collation is the assembly of written information into a standard order. One common type of collation is called alphabetisation, though collation is not limited to ordering letters of the alphabet....
, rendering and bidirectional
Bi-directional text

Bi-directional text is used as some writing systems of the world, notably the Arabic alphabet , Persian_alphabet and Hebrew alphabet scripts, are written in a form known as right-to-left , in which writing begins at the right-hand side of a page and concludes at the left-hand side....
 display order (for the correct display of text containing both right-to-left scripts, such as Arabic
Arabic language

Arabic is a Central Semitic language, thus related to and classified alongside other Semitic languages languages such as Hebrew language and Aramaic language....
 or Hebrew
Hebrew language

Hebrew is a Semitic languages of the Afro-Asiatic languages. Modern Hebrew is spoken by more than seven million people in Israel and Classical Hebrew is used for prayer or study in Jews communities around the world....
, and left-to-right scripts).

The Unicode Consortium
Unicode Consortium

The Unicode Consortium is a non-profit organization that coordinates the development of the Unicode standard. Its stated goal is to eventually replace existing character encoding schemes with Unicode and its standard Unicode Transformation Format schemes, claiming that many of the existing schemes are limited in size and scope, and are inco...
, the non-profit organization that coordinates Unicode's development, has the ambitious goal of eventually replacing existing character encoding schemes with Unicode and its standard Unicode Transformation Format (UTF) schemes, as many of the existing schemes are limited in size and scope and are incompatible with multilingual
Multilingualism

The term multilingual can refer to an individual speaker who uses two or more languages, a community of speakers in which two or more languages are used, or speakers of different languages....
 environments.

Unicode's success at unifying character sets has led to its widespread and predominant use in the internationalization and localization
Internationalization and localization

In computing, internationalization and localization are means of adapting computer software to different languages and regional differences. Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes....
 of computer software
Computer software

Computer software, or just software is a general term used to describe a collection of computer programs, Algorithm and Software documentation that perform some tasks on a computer system....
.






Discussion
Ask a question about 'Unicode'
Start a new discussion about 'Unicode'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Unicode is a computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
 industry standard
Industry Standard

Industry Standard is a 1982 album by Dixie Dregs. It is their only album featuring vocals and garnered the group their fourth Grammy nomination....
 allowing computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
s to consistently represent and manipulate text
Character (computing)

In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written language form of a natural language....
 expressed in most of the world's writing system
Writing system

A writing system is a type of symbolic system used to represent elements or statements expressible in language....
s. Developed in tandem with the Universal Character Set
Universal Character Set

The Universal Character Set , defined by the International Organization for Standardization/International Electrotechnical Commission 10646 International Organization for Standardization, is a standard set of character s upon which many character encodings are based....
 standard and published in book form as The Unicode Standard, Unicode consists of a repertoire of more than 100,000 characters
Character (computing)

In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written language form of a natural language....
, a set of code charts for visual reference, an encoding methodology and set of standard character encoding
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
s, an enumeration of character properties such as upper and lower case
Letter case

In orthography and typography, letter case is the distinction between majuscule and Lower case letters. The term originated with the shallow Drawer s called type cases still used to hold the movable type for letterpress printing....
, a set of reference data computer file
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
s, and a number of related items, such as character properties, rules for normalization, decomposition, collation
Collation

Collation is the assembly of written information into a standard order. One common type of collation is called alphabetisation, though collation is not limited to ordering letters of the alphabet....
, rendering and bidirectional
Bi-directional text

Bi-directional text is used as some writing systems of the world, notably the Arabic alphabet , Persian_alphabet and Hebrew alphabet scripts, are written in a form known as right-to-left , in which writing begins at the right-hand side of a page and concludes at the left-hand side....
 display order (for the correct display of text containing both right-to-left scripts, such as Arabic
Arabic language

Arabic is a Central Semitic language, thus related to and classified alongside other Semitic languages languages such as Hebrew language and Aramaic language....
 or Hebrew
Hebrew language

Hebrew is a Semitic languages of the Afro-Asiatic languages. Modern Hebrew is spoken by more than seven million people in Israel and Classical Hebrew is used for prayer or study in Jews communities around the world....
, and left-to-right scripts).

The Unicode Consortium
Unicode Consortium

The Unicode Consortium is a non-profit organization that coordinates the development of the Unicode standard. Its stated goal is to eventually replace existing character encoding schemes with Unicode and its standard Unicode Transformation Format schemes, claiming that many of the existing schemes are limited in size and scope, and are inco...
, the non-profit organization that coordinates Unicode's development, has the ambitious goal of eventually replacing existing character encoding schemes with Unicode and its standard Unicode Transformation Format (UTF) schemes, as many of the existing schemes are limited in size and scope and are incompatible with multilingual
Multilingualism

The term multilingual can refer to an individual speaker who uses two or more languages, a community of speakers in which two or more languages are used, or speakers of different languages....
 environments.

Unicode's success at unifying character sets has led to its widespread and predominant use in the internationalization and localization
Internationalization and localization

In computing, internationalization and localization are means of adapting computer software to different languages and regional differences. Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes....
 of computer software
Computer software

Computer software, or just software is a general term used to describe a collection of computer programs, Algorithm and Software documentation that perform some tasks on a computer system....
. The standard has been implemented in many recent technologies, including XML, the Java programming language
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
, the Microsoft .NET Framework
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
 and modern operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s.

Unicode can be implemented by different character encoding
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
s. The most commonly used encodings are UTF-8
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
 (which uses 1 byte
Byte

A byte is a basic unit of measurement of Computer storage in computer science. In many computer architectures it is a Byte addressing memory address space....
 for all ASCII
ASCII

American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
 characters, which have the same code values as in the standard ASCII encoding, and up to 4 bytes for other characters), the now-obsolete UCS-2 (which uses 2 bytes for all characters, but does not include every character in the Unicode standard), and UTF-16 (which extends UCS-2, using 4 bytes to encode characters missing from UCS-2).

Origin and development


Unicode has the explicit aim of transcending the limitations of traditional character encoding
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
s, 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 character
Character (computing)

In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written language form of a natural language....
s — grapheme
Grapheme

In typography, a grapheme is the fundamental unit in writing systems. Graphemes include letter , Chinese characters, numerals, punctuation marks, and all the individual symbols of any of the world's writing systems....
s and grapheme-like units — rather than the variant glyph
Glyph

A glyph is an element of writing. Two or more glyphs representing the same symbol, whether interchangeable or context-dependent, are called allographs; the abstract unit they are variants of is called a grapheme or character ....
s (renderings) for such characters. In the case of Chinese character
Chinese character

A Chinese character, also known as a Han character , is a logogram used in writing Chinese language ,'' Japanese language ,'' less frequently Korean language ,'' and formerly Vietnamese language .''...
s, this sometimes leads to controversies over distinguishing the underlying character from its variant glyphs (see Han unification
Han unification

Han unification is an effort by the authors of Unicode and the Universal Character Set to map multiple character sets of the so-called CJK languages into a single set of unified grapheme....
).

In text processing, Unicode takes the role of providing a unique code point — a number, not a glyph — for each character. In other words, Unicode represents a character in an abstract way and leaves the visual rendering (size, shape, font
Font

In typography, a font is traditionally defined as a complete character set of a single size and style of a particular typeface. For example, the set of all characters for 9-point Bulmer italic type is a font, and the 10-point size would be a separate font, as would the 9 point upright....
 or style) to other software, such as a web browser
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
 or word processor
Word processor

A word processor is a computer Application software used for the production of any sort of printable material.Word processor may also refer to an obsolete type of stand-alone office machine, popular in the 1970s and 80s, combining the keyboard text-entry and printing functions of an electric typewriter with a dedicated computer for th...
. This simple aim becomes complicated, however, by 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 form
Fullwidth form

In CJK computing, graphic characters are traditionally classed into fullwidth in Taiwan and Hong Kong: ??; elsewhere:...
s" section of code points encompasses a full Latin alphabet that is separate from the main Latin alphabet section. In Chinese, Japanese and Korean (CJK
CJK

CJK is a collective term for Chinese language, Japanese language, and Korean language, which constitute the main East Asian languages. The term is used in the field of software and communications internationalization....
) fonts, these characters are rendered at the same width as CJK ideograph
Ideograph

Ideograph is a term coined by rhetorical scholar and critic Michael Calvin McGee describing the use of particular words and phrases as political language in a way that captures particular ideological positions....
s rather than at half the width. For other examples, see Duplicate characters in Unicode
Duplicate characters in Unicode

Unicode has a certain amount of wiktionary:duplication of character : these are pairs of single Unicode codepoints that are canonically equivalent. The reason for this are compatibility issues with legacy systems....
.

History of Unicode


The origins of Unicode date back to 1987 when Joe Becker
Joe Becker (Unicode)

Joseph D. Becker is one of the co-founders of the Unicode project, and an Officer Emeritus of the Unicode Consortium. He has worked on artificial intelligence at BBN Technologies and multilingual workstation software at Xerox....
 from Xerox
Xerox

Xerox Corporation is a global document management company which manufactures and sells a range of color and black-and-white Computer printer, multifunction systems, photo copiers, digital production printing presses, and related consulting services and supplies....
 and Lee Collins and Mark Davis
Mark Davis (Unicode)

Dr. Mark E. Davis is a co-founder of the Unicode project and the president of the Unicode Consortium since its incorporation in 1991.He is one of the key technical contributors to the Unicode specifications, being the primary author or co-author of the Bi-directional Algorithm , Collation , Normalization, Scripts, Text segmentation, Identi...
 from Apple started investigating the practicalities of creating a universal character set. In August of the following year Joe Becker published a draft proposal for an "international/multilingual text character encoding system, tentatively called Unicode." In this document, entitled , he outlined a 16 bit character model:

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


His original 16 bit design was based on the assumption that only those scripts and characters in modern usage would need 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 all newspapers 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 are better candidates for private-use registration than for congesting the public list of generally-useful Unicodes.


In fact this proved not to be the case, as many historic scripts and thousands of rarely-used or obsolete characters have now been encoded in Unicode, and work continues to encode even more historic scripts that it was never anticipated would need to be encoded (e.g. Egyptian Hieroglyphs).

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
Research Libraries Group

The Research Libraries Group was a United States-based library consortium which developed the Eureka interlibrary search engine, the RedLightGreen database of bibliography descriptions and ArchiveGrid, a database containing descriptions of archive collections....
, and Glenn Wright of Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
, and in 1990 Michel Suignard and Asmus Freytag from Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 and Rick McGowan of NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
 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 of Unicode was ready. The Unicode consortium was incorporated on January 3, 1991 in the state of California, and in October 1991 the first volume of the Unicode standard was published. The second volume, covering Han ideographs, was published in June 1992.

Architecture and terminology


Mapping of Unicode character planes

The Unicode characters can be categorized in many different ways, Unicode code points can be logically divided into 17 planes, each with 65,536 code points, although currently only a few planes are used:...
, each comprising 65,536 code points or 256 rows of 256 code points:
Plane Range Description Abbreviation
0 0000–FFFF Basic Multilingual Plane BMP
1 10000–1FFFF Supplementary Multilingual Plane SMP
2 20000–2FFFF Supplementary Ideographic Plane SIP
3 to 13 30000–DFFFF currently unassigned  
14 E0000–EFFFF Supplementary Special-purpose Plane SSP
15 F0000–FFFFF Supplementary Private Use Area-A
16 100000–10FFFF Supplementary Private Use Area-B


All code points in the BMP are accessed as a single code point in UTF-16 encoding, whereas the code points in Planes 1 through 16 (supplementary planes, or, informally, astral planes) are accessed as surrogate pairs in UTF-16.

Within each plane, characters are allocated in named blocks of related characters. Although blocks are an arbitrary size, they are always a multiple of 16 code points, and often a multiple of 128 code points. Characters required for a given script may be spread out over several different blocks.

The following categories of code points are defined:

  • Surrogate code points
  • Noncharacters
  • Reserved characters
  • Private use characters
  • Graphic characters
  • Format characters
  • Control code characters


Code points in the range U+D800..U+DBFF (1,024 code points) are known as high-surrogate code points, and code points in the range U+DC00..U+DFFF (1,024 code points) are known as low-surrogate code points. A high-surrogate code point (also known as a leading surrogate) followed by a low-surrogate code point (also known as a trailing surrogate) together form a surrogate pair that represents a code point outside the Basic Multilingual Plane in the UTF-16 encoding form. High and low surrogate code points are not valid by themselves, and are only valid as surrogate pairs in UTF-16 encoded texts. Thus the range of code points that are available for use as characters is U+0000..U+D7FF and U+E000..U+10FFFF (1,112,064 code points). The hexadecimal value of these code points (i.e. excluding surrogates) is sometimes referred to as the character's scalar value.

Noncharacters are code points that are guaranteed never to be used for encoding characters, although applications may make use of these code points internally if they wish. There are sixty-six noncharacters: U+FDD0..U+FDEF and any code 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 defined as characters by Unicode.

Private-use code points are considered to be assigned characters, but they have no interpretation specified by the Unicode standard so any interchange of such characters requires an agreement between sender and receiver on their interpretation. 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 glyph
Glyph

A glyph is an element of writing. Two or more glyphs representing the same symbol, whether interchangeable or context-dependent, are called allographs; the abstract unit they are variants of is called a grapheme or character ....
 shape or represent a visible space. As of Unicode 5.1 there are 100,507 graphic characters.

Format characters are characters that do not have a visible appearance, but may have an effect on the appearance or behavior of neighboring characters. For example, U+200C ZERO WIDTH NON-JOINER
Zero-width non-joiner

The zero width non joiner is a non-printing character used in the computerized typesetting of some cursive script, Korean hangul or Persian alphabet script....
 and U+200D ZERO WIDTH JOINER
Zero-width joiner

The zero width joiner is a non-printing character used in the computerized typesetting of some cursive scripts, such as the Arabic alphabet script or the Korean hangul script....
 may be used to change the default shaping behavior of adjacent characters (e.g. to inhibit ligatures or request ligature formation). There are 141 format characters in Unicode 5.1.

Sixty-five code points (U+0000..U+001F and U+007F.. U+009F) are reserved as control codes, and correspond to the 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 collectively known as assigned characters.

The set of graphic and format characters defined by Unicode does not correspond directly to the repertoire of abstract characters that is representable under Unicode. Unicode encodes characters by associating an abstract character with a particular code point. However, not all abstract characters are encoded as a single Unicode character, and some abstract characters may be represented in Unicode by a sequence of two or more characters. For example, Latin Small Letter I With Ogonek And Dot Above And Acute, which is required in Lithuanian, is represented by the character sequence U+012F, U+0307, U+0301. Unicode maintains a list of uniquely named character 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. Although a Unicode character name may not be changed under any circumstances (historically this was not the case), in cases where the name is seriously defective and misleading or has a serious typographical error, a formal alias may be defined, and applications are encouraged to use the formal alias in place of the official character name. For example, U+A015 YI SYLLABLE WU has the formal alias YI SYLLABLE ITERATION MARK, and U+FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET has the formal alias PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET.

Standard


The Unicode Consortium
Unicode Consortium

The Unicode Consortium is a non-profit organization that coordinates the development of the Unicode standard. Its stated goal is to eventually replace existing character encoding schemes with Unicode and its standard Unicode Transformation Format schemes, claiming that many of the existing schemes are limited in size and scope, and are inco...
, based in California
California

California is a U.S. state on the West Coast of the United States of the United States, along the Pacific Ocean. It is bordered by Oregon to the north, Nevada to the east, Arizona to the southeast, and to the south the Mexico state of Baja California....
, develops the Unicode standard. There are various levels of membership, and any company or individual willing to pay the membership dues may join this organization. Full members include most of the main computer software and hardware companies with any interest in text-processing standards, including Adobe Systems
Adobe Systems

Adobe Systems Incorporated is an United States computer Computer software company headquartered in San Jose, California, USA. The company has historically focused upon the creation of multimedia and creativity software products, with a more-recent foray into rich Internet application software development....
, Apple, Google
Google

Google Inc. is an United States public company, earning revenue from AdWords related to its Google search, Gmail, Google Maps, Google Apps, Orkut, and YouTube services as well as selling advertising-free versions of the Google Search Appliance....
, HP
Hewlett-Packard

The Hewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States....
, IBM, Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
, Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 and Yahoo.

The Consortium first published The Unicode Standard (ISBN 0-321-18578-1) in 1991, and continues to develop standards based on that original work. The latest major version of the standard, Unicode 5.0 (ISBN 0-321-48091-0), was published in 2007. The data files for the most recent minor version, Unicode 5.1, are available from the consortium's web site.

Unicode is developed in conjunction with the International Organization for Standardization
International Organization for Standardization

The International Organization for Standardization , widely known as ISO , is an international standard-setting body composed of representatives from various national standards organizations....
 and shares the character repertoire with ISO/IEC 10646: the Universal Character Set. Unicode and ISO/IEC 10646 function equivalently as character encodings, but The Unicode Standard contains much more information for implementers, covering — in depth — topics such as bitwise encoding, collation
Unicode collation algorithm

The Unicode collation algorithm provides a standard way to put names, words or strings of text in sequence according to the needs of a particular situation....
 and rendering. The Unicode Standard enumerates a multitude of character properties, including those needed for supporting bidirectional text
Bi-directional text

Bi-directional text is used as some writing systems of the world, notably the Arabic alphabet , Persian_alphabet and Hebrew alphabet scripts, are written in a form known as right-to-left , in which writing begins at the right-hand side of a page and concludes at the left-hand side....
. The two standards do use slightly different terminology.

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 omitted).

Version Date Book Corresponding ISO/IEC 10646
Universal Character Set

The Universal Character Set , defined by the International Organization for Standardization/International Electrotechnical Commission 10646 International Organization for Standardization, is a standard set of character s upon which many character encodings are based....
 Edition
Scripts
Unicode scripts

In Unicode, a script is a collection of letters and other written signs used to represent textual information in one or more writing systems.For example the Latin characters in Unicode script supports alphabets such as: English language, French language, Vietnamese language and many others....
Characters
# Notable additions
1.0.0 October 1991 ISBN 0-201-56788-1 (Vol.1)  24 7,161 Initial repertoire covers these scripts: Arabic
Arabic alphabet

The Arabic alphabet is the writing system used for writing several languages of Asia and Africa, such as Arabic language, Persian language, and Urdu language....
, Armenian
Armenian alphabet

The Armenian alphabet is an alphabet that has been used to write the Armenian language since the year 405 or 406. Up to the 19th century, Classical Armenian had been the literary language; since then, the Armenian alphabet has been used to write the two modern dialects of Eastern Armenian and Western Armenian....
, Bengali
Bengali script

The Bengali script is a variant of the Eastern Nagari script also used for Assamese language and Bishnupriya Manipuri language, and also for Maithili ....
, Bopomofo, Cyrillic
Cyrillic alphabet

The Cyrillic alphabet is a family of alphabets, subsets of which are used by five Slavic languages national languages as well as non-Slavic . It is also used by many other languages of Eastern Europe, the Caucasus, Siberia and other languages in the past....
, Devanagari, Georgian
Georgian alphabet

The Georgian alphabet is the writing system currently used to write the Georgian language and other South Caucasian languages , and occasionally other languages of the Caucasus ....
, Greek and Coptic
Greek alphabet

The Greek alphabet is a set of twenty-four letters that has been used to write the Greek language since the late 9th century BC or early 8th century BCE....
, Gujarati
Gujarati script

The Gujarati script , which like all Nagari writing systems is strictly speaking an abugida rather than an alphabet, is used to write the Gujarati language and Kutchi language languages....
, Gurmukhi
Gurmukhi script

Gurmukhi is the most common script used for writing the Punjabi language. An abugida derived from the La??a script and ultimately descended from Brahmi script, Gurmukhi was standardized by the second Sikh guru, Guru Angad Dev, in the 16th century....
, Hangul
Hangul

Hangul is the native alphabet of the Korean language, as distinguished from the logogram Sino-Korean vocabulary hanja system. It was created in the mid-fifteenth century, and is now the official writing system of both North Korea and South Korea, being co-official in the Yanbian Korean Autonomous Prefecture of China....
, Hebrew
Hebrew alphabet

The Hebrew alphabet consists of 22 letters used for writing the Hebrew language. Five of these letters have a different form when appearing as the last letter in a word....
, Hiragana
Hiragana

is a Japanese language syllabary, one component of the Japanese writing system, along with katakana, kanji, and the romanization of Japanese. Hiragana and katakana are both kana systems, in which each symbol represents one mora ....
, Kannada
Kannada script

The Kannada script is a syllabary of the Brahmic family, primarily to write the Kannada language, one of the Dravidian languages languages in India....
, Katakana
Katakana

is a Japanese language syllabary, one component of the Japanese writing system along with hiragana, kanji, and in some cases the Latin alphabet. The word katakana means "fragmentary kana", as the katakana scripts are derived from components of more complex kanji....
, Lao, Latin
Latin alphabet

The Latin alphabet, also called the Roman alphabet, is the most widely used alphabetic writing system in the world today. It evolved from the western variety of the Greek alphabet called the Cumae alphabet, and was initially developed by the Ancient Romes to write the Latin....
, Malayalam
Malayalam script

The Malayalam script is an abugida of the Brahmic family, used to write the Malayalam language. From the Brahmi script script, the Grantha script emerged as one of the earliest Southern scripts....
, Oriya
Oriya script

The Oriya script is used to write the Oriya language, and can be used for several other Indian languages, for example, Sanskrit.History ...
, Tamil
Tamil script

The Tamil script is a Vatteluttu that is used to write the Tamil language. With the use of special diacritics to represent aspiration and voice consonants not represented in the basic script, it is also used to write Saurashtra language and, by Tamil people, to write Sanskrit....
, Telugu
Telugu script

Telugu script, an abugida from the Brahmic family of scripts, is used to write Telugu language, a South Central Dravidian languages found in the Southern Indian state of Andhra Pradesh as well as several other neighboring states....
, Thai
Thai alphabet

The Thai alphabet is used to write the Thai language and other :Category:Languages of Thailands in Thailand. It has forty-four consonants , fifteen vowel symbols that combine into at least twenty-eight vowel forms, and four tone marks ....
, and Tibetan
Tibetan script

The Tibetan script is an abugida of Brahmic family origin used to write the Tibetan language as well as the Dzongkha language, Ladakhi language and sometimes the Balti language....
.
1.0.1 June 1992 ISBN 0-201-60845-6 (Vol.2)  25 28,359 The initial set of 20,902 CJK Unified Ideographs
CJK Unified Ideographs

CJK Unified Ideographs is a range of Unicode code points assigned for ideographs used by Chinese characters. Since its introduction in Unicode 1.00, the use of CJK ideographs has been extended to multiple blocks....
 is defined.
1.1 June 1993  ISO/IEC 10646-1:1993 24 34,233 4,306 more Hangul
Hangul

Hangul is the native alphabet of the Korean language, as distinguished from the logogram Sino-Korean vocabulary hanja system. It was created in the mid-fifteenth century, and is now the official writing system of both North Korea and South Korea, being co-official in the Yanbian Korean Autonomous Prefecture of China....
 syllables added to original set of 2,350 characters. Tibetan
Tibetan script

The Tibetan script is an abugida of Brahmic family origin used to write the Tibetan language as well as the Dzongkha language, Ladakhi language and sometimes the Balti language....
 removed.
2.0 July 1996 ISBN 0-201-48345-9 ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7 25 38,950 Original set of Hangul
Hangul

Hangul is the native alphabet of the Korean language, as distinguished from the logogram Sino-Korean vocabulary hanja system. It was created in the mid-fifteenth century, and is now the official writing system of both North Korea and South Korea, being co-official in the Yanbian Korean Autonomous Prefecture of China....
 syllables removed, and a new set of 11,619 Hangul syllables added at a new location. Tibetan
Tibetan script

The Tibetan script is an abugida of Brahmic family origin used to write the Tibetan language as well as the Dzongkha language, Ladakhi language and sometimes the Balti language....
 added back in a new location and with a different character repertoire. Surrogate character mechanism defined, and Plane 15 and Plane 16 Private Use Areas
Mapping of Unicode characters

Unicode?s Universal Character Set has a potential capacity to support over 1 million characters. Each UCS character is mapped to a code point which is an integer between 0 and 1,114,111 used to represent each character within the internal logic of text processing software ....
 allocated.
2.1 May 1998  ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7, and two characters from Amendment 18 25 38,952 Euro
Euro

The euro is the official currency of 16 out of 27 European Union member state of the European Union . The states, known collectively as the Eurozone are: Austria, Belgium, Cyprus, Finland, France, Germany, Greece, Republic of Ireland, Italy, Luxembourg, Malta, the Netherlands, Portugal, Slovakia, Slovenia, and Spain....
 sign added.
3.0 September 1999 ISBN 0-201-61633-5 ISO/IEC 10646-1:2000 38 49,259 Cherokee
Cherokee syllabary

The Cherokee syllabary is a syllabary invented by Sequoyah to write the Cherokee language in 1819. His creation of the syllabary is particularly noteworthy in that he could not previously read any script....
, Ethiopic
Ge'ez alphabet

Ge'ez , also called Ethiopic, is an abugida script that was originally developed to write Ge'ez language, a Semitic languages. In communities that use it, such as the Amharic language and Tigrinya language, the script is called , which means "script" or "alphabet"....
, Khmer
Khmer script

The Khmer script is used to write the Khmer language which is the official language of Cambodia. It is generally thought that the Khmer script developed from the Pallava script of India....
, Mongolian
Mongolian script

Mongolian script was the first of many Mongolian writing systems created for the Mongolian language and the most successful until the introduction of Cyrillic to Mongolia in 1946....
, Myanmar, Ogham
Ogham

Ogham is an Early Medieval alphabet used primarily to represent the Old Irish language, and occasionally the Brythonic languages ancestor of Welsh language....
, Runic
Runic alphabet

The runic alphabets are a set of related alphabets using Letter known as runes to write various Germanic languages prior to the adoption of the Latin alphabet and for specialized purposes thereafter....
, Sinhala, Syriac
Syriac alphabet

The Syriac alphabet is a writing system primarily used to write the Syriac language from around the 2nd century BC. It is one of the Semitic languages abjads directly descending from the Proto-Canaanite alphabet and shares similarities with the Phoenician alphabet, Aramaic alphabet, and Hebrew alphabet alphabets....
, Thaana, Unified Canadian Aboriginal Syllabics
Canadian Aboriginal Syllabics

Canadian Aboriginal syllabic writing, or simply syllabics, is a family of abugidas used to write a number of Aboriginal peoples in Canada Canada languages of the Algonquian, Eskimo-Aleut languages, and Athabaskan languages language families....
, and Yi Syllables
Yi script

The Yi scripts, also known as Cuan or Wei, are used to write the Yi languages....
 added, as well as a set of Braille
Braille

The Braille system is a method that is widely used by blindness people to read and write. Braille was devised in 1821 by Louis Braille, a Frenchman....
 patterns.
3.1 March 2001  ISO/IEC 10646-1:2000 ISO/IEC 10646-2:2001 41 94,205 Deseret
Deseret alphabet

The Deseret alphabet is a phonetics alphabet developed in the mid-19th century by the board of regents of the University of Deseret under the direction of Brigham Young, second president of The Church of Jesus Christ of Latter-day Saints....
, Gothic
Gothic alphabet

The Gothic alphabet is an alphabetic writing system attributed by Philostorgius to Ulfilas , used exclusively for writing the ancient Gothic language....
 and Old Italic
Old Italic alphabet

Old Italic refers to several now extinct alphabet systems used on the Italian Peninsula in ancient times for various Indo-European and non-Indo-European languages....
 added, as well as sets of symbols for Western music
Modern musical symbols

Modern musical symbols are the marks and symbols that are widely used in musical scores of all styles and instruments today. This is intended to be a comprehensive English guide to the various symbols encountered in modern musical notation....
 and Byzantine music
Byzantine music

Byzantine music is the music of the Byzantine Empire composed to Greek texts as ceremonial, festival, or church music. Greek and foreign historians agree that the ecclesiastical tones and in general the whole system of Byzantine music is closely related to the ancient Greek music....
, and 42,711 additional CJK Unified Ideographs
CJK Unified Ideographs

CJK Unified Ideographs is a range of Unicode code points assigned for ideographs used by Chinese characters. Since its introduction in Unicode 1.00, the use of CJK ideographs has been extended to multiple blocks....
.
3.2 March 2002  ISO/IEC 10646-1:2000 plus Amendment 1 ISO/IEC 10646-2:2001 45 95,221 Philippine
Philippines

The Philippines, officially known as the Republic of the Philippines, is a country in Southeast Asia with Manila as its capital city. It comprises 7,107 islands in the western Pacific Ocean....
 scripts Buhid
Buhid script

Buhid , is an indigenous Brahmic script writing system of the Philippines, and is used today by the Mangyans to write in their language, Buhid language....
, Hanunoo
Hanunó'o script

Hanun?o is one of the indigenous scripts of the Philippines and is used by the Mangyan people of southern Mindoro to write the Hanuno'o language....
, Tagalog
Baybayin

Baybayin or Alibata is a pre-Spain Philippine writing system that originated from the Java nese script Old Kawi. The writing system is a member of the Brahmic family and is believed to have been in use as early as the 14th century....
, and Tagbanwa added.
4.0 April 2003 ISBN 0-321-18578-1 ISO/IEC 10646:2003 52 96,447 Cypriot syllabary
Cypriot syllabary

The Cypriot syllabary is a syllabary script used in Iron Age Cyprus, from ca. the 11th to the 4th centuries BCE, when it was replaced by the Greek alphabet....
, Limbu
Limbu script

The Limbu alphabet, or Kirat-Sirijonga script, is a Brahmic script writing system used to write the Limbu language of northern India and Nepal....
, Linear B
Linear B

Linear B is a script that was used for writing Mycenaean language, an early form of Greek language. It predated the Greek alphabet by several centuries and seems to have died out with the fall of Mycenaean Greece civilization....
, Osmanya, Shavian
Shavian alphabet

The Shavian alphabet is an alphabet conceived as a way to provide simple, phonetic orthography for the English language to replace the difficulties of the English orthography....
, Tai Le
Tai Nüa language

Tai N?a is one of the languages spoken by the Dai people in China, especially in the Dehong Dai and Jingpo Autonomous Prefecture in the southwest of Yunnan province....
, and Ugaritic
Ugaritic alphabet

The Ugaritic alphabet is a cuneiform abjad , used from around 1500 BCE for the Ugaritic language, an extinct Northwest Semitic languages discovered in Ugarit, Syria, in 1928....
 added, as well as Hexagram symbols
Hexagram (I Ching)

The I Ching book consists of 64 hexagrams.A hexagram is a figure composed of six stacked horizontal lines , where each line is either Yang , or Yin ....
.
4.1 March 2005  ISO/IEC 10646:2003 plus Amendment 1 59 97,720 Buginese
Lontara script

The Lontara script is an Brahmic script traditionally used for the Bugis language, Makassarese language, and Mandar languages of Sulawesi in modern Indonesia....
, Glagolitic
Glagolitic alphabet

The Glagolitic alphabet , also known as Glagolitsa, is the oldest known Slavic peoples alphabet. The name was not coined until many centuries after its creation, and comes from the Old Slavic glagol? "utterance" ....
, Kharoshthi
Kharo??hi

The script, also known as the Gandhari script, is an ancient abugida used by the Gandhara culture, nestled in the historic northwest Asian subcontinent to write the Gandhari language and Sanskrit languages....
, New Tai Lue
New Tai Lue

New Tai Lue, also known as Simplified Tai Lue, is an alphabet used to write the Tai L? language. Developed in China in the 1950s, New Tai Lue is based on the traditional Tai Tham script script developed ca....
, Old Persian
Old Persian cuneiform script

Old Persian cuneiform is a semi-alphabetic cuneiform script that was the primary script for the Old Persian language.Texts written in this cuneiform were found in Persepolis, Susa, Hamadan, Armenia, and along the Suez Canal....
, Syloti Nagri
Sylheti Nagari

Sylheti Nagari or Syloti Nagri is the original script used for writing the Sylheti language. It is an almost extinct script, as the Sylheti language is currently written in the Eastern Nagari script also used for Bengali language and Assamese language....
, and Tifinagh
Tifinagh

Tifinagh is an alphabetic script used by some Berber peoples, notably the Tuareg, to write their language. The Berbers are the indigenous peoples of North Africa west of the Nile Valley....
 added, and Coptic
Coptic alphabet

The Coptic alphabet is the script used for writing the Coptic language. The repertoire of glyphs is based on the Greek alphabet augmented by letters borrowed from the Demotic and is first Alphabetic Script used for the Egyptian Language....
 was disunified from Greek
Greek alphabet

The Greek alphabet is a set of twenty-four letters that has been used to write the Greek language since the late 9th century BC or early 8th century BCE....
. Ancient Greek numbers and musical symbols were also added.
5.0 July 2006 ISBN 0-321-48091-0 ISO/IEC 10646:2003 plus Amendments 1 and 2, and four characters from Amendment 3 64 99,089 Balinese
Balinese script

The Balinese script is an abugida that was used to write the Balinese language, an Austronesian language spoken by about three million people on the Indonesia island of Bali....
, Cuneiform
Cuneiform script

Cuneiform script is one of the earliest known forms of writing system. Emerging in Sumer around the 30th century BC, with predecessors reaching into the late 4th millennium , cuneiform writing began as a system of pictography....
, N'Ko
N'Ko

N'Ko is both a writing system devised by Solomana Kante in 1949 as a writing system for the Mande languages of West Africa, and the name of the literary language itself written in the script....
, Phags-pa, and Phoenician
Phoenician alphabet

The Phoenician alphabet is a continuation of the Proto-Canaanite alphabet, by convention taken to originate around 1050 BC. It was used for the writing of Phoenician language, a Northern Semitic languages language, used by the civilization of Phoenicia....
 added.
5.1 April 2008  ISO/IEC 10646:2003 plus Amendments 1, 2, 3 and 4 75 100,713 Carian
Carian script

The Carian script was used to write the Carian language. The script consisted of some 45 alphabet letters. Carian epigraphy have been found in both Caria proper and in the Nile delta, where Carians mercenary fought for the Egyptian pharaohs....
, Cham
Cham alphabet

File:National Museum of Vietnamese History42.JPGFile:Muzium Negara KL40.JPGThe Cham script is an abugida used to write Cham language, an Austronesian language spoken by the Cham people in Vietnam and Cambodia....
, Kayah Li
Kayah Li script

The Kayah Li script is used to write the Kayah languages Eastern Kayah Li and Western Kayah Li, which are members of Karenic branch of the Sino-Tibetan language family....
, Lepcha
Lepcha script

The Lepcha script is an abugida used by the Lepcha people to write the Lepcha language. Unusually for an abugida, syllable-final consonants are written as diacritics....
, Lycian, Lydian, Ol Chiki
Ol Chiki script

The Ol Chiki script, also known as Ol Cemet , Ol Ciki, Ol , was created in 1925 by Pandit Raghunath Murmu for the Santali language....
, Rejang
Rejang script

The Rejang script, sometimes spelt Redjang and locally known as Surat Ulu , is an abugida of the Brahmic family, and is related to other scripts of the region, like Batak script, Buginese script, and others....
, Saurashtra
Saurashtra script

Saurashtra is a script used to write the Saurashtra language. Its usage has declined and Tamil script and Latin are now used more commonly....
, Sundanese
Sundanese script

Sundanese script is a writing system which is currently used by some Sundanese people. It is built based on Old Sundanese script which was used by ancient...
, and Vai added, as well as sets of symbols for the Phaistos Disc
Phaistos Disc

The Phaistos Disc is a disk of fired clay from the Minoan civilization palace of Phaistos, possibly dating to the middle or late Minoan Bronze Age ....
, Mahjong tiles
Mahjong

Mahjong is a game for four players that originated in China. Mahjong involves skill, strategy, and calculation, as well as a certain degree of chance....
, and Domino tiles
Dominoes

Dominoes generally refers to the collective gaming pieces making up a domino set or to the subcategory of tile games played with domino pieces....
. There were also important additions for Myanmar, additions of letters and Scribal abbreviation
Scribal abbreviation

Scribal abbreviations were abbreviations used by ancient and medieval scribes writing in Latin. In modern manuscript editing sigla are sometimes special symbols as described below, or simply abbreviations that may indicate where a particular source manuscript is held, or who copied it....
s used in medieval manuscript
Manuscript

A manuscript is any document that is written by hand, as opposed to being printed or reproduced in some other way. The term may also be used for information that is hand-recorded in other ways than writing, for example inscriptions that are chiselled upon a hard material or scratched as with a knife point in plaster or with a stylus on a wa...
s, and the addition of capital ß
Capital ß

Capital sharp s is the contestable majuscule of ?. Sharp s is nearly unique among the letters of the Latin alphabet in that it has no traditional majuscule form ....
.


Unicode 5.2, corresponding to ISO/IEC 10646:2003 plus Amendments 1-6, is tentatively scheduled for release in Summer 2009.

Scripts covered

Unicode covers almost all scripts (writing system
Writing system

A writing system is a type of symbolic system used to represent elements or statements expressible in language....
s) in current use today.

Although 75 scripts
Unicode scripts

In Unicode, a script is a collection of letters and other written signs used to represent textual information in one or more writing systems.For example the Latin characters in Unicode script supports alphabets such as: English language, French language, Vietnamese language and many others....
 (covering alphabet
Alphabet

An alphabet is a standardized set of letter basic written symbols each of which roughly represents a phoneme, a spoken language, either as it exists now or as it was in the past....
s, abugida
Abugida

An 'abugida' is a segment writing system which is based on consonants but in which vowel notation is obligatory. About half the writing systems in the world are abugidas, including the extensive Brahmic family of scripts used in South and Southeast Asia....
s and syllabaries
Syllabary

A syllabary is a set of written symbols that represent syllables, which make up words. A symbol in a syllabary typically represents an optional consonant sound followed by a vowel sound....
) are included in the latest version of Unicode, there remain more still awaiting encoding, particularly some used in historical, liturgical and academic contexts. Further additions of characters to the already-encoded scripts, as well as symbols, in particular for mathematics
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
 and music
Musical notation

Music notation or musical notation is any system which represents aurally perceived music, through the use of written Modern musical symbols....
 (in the form of notes and rhythmic symbols), also occur. The Unicode Roadmap Committee (Michael Everson
Michael Everson

Michael Everson is a linguistics, Character encoding, typesetting, and font designer. His central area of expertise is with writing systems of the world, specifically in the representation of these systems in formats for computer and digital media....
, Rick McGowan, and Ken Whistler) maintain the list of scripts that are candidates or potential candidates for encoding and their tentative code block assignments on the page of the Unicode Consortium
Unicode Consortium

The Unicode Consortium is a non-profit organization that coordinates the development of the Unicode standard. Its stated goal is to eventually replace existing character encoding schemes with Unicode and its standard Unicode Transformation Format schemes, claiming that many of the existing schemes are limited in size and scope, and are inco...
 Web site. For some scripts on the Roadmap, encoding proposals have been made and are working their way through the approval process. For others, such as Mayan, Rongorongo
Rongorongo

Rongorongo is a system of glyphs discovered in the 19th century on Easter Island that appears to be writing system or proto-writing. It has not been deciphered despite numerous attempts....
 and Linear A
Linear A

Linear A is one of two linear scripts used in ancient Crete before Mycenaean Greek language Linear B. In Minoan Civilization times, before the Greek Mycenaean dominion, Linear A was the official script for the palaces and the cult and Cretan Hieroglyphs were mainly used on seals....
, no proposal has yet been made, and they await agreement on character repertoire and other details from the user communities involved.

Among the scripts currently scheduled for encoding in Unicode 5.2 are Avestan
Avestan alphabet

The Avestan alphabet is a writing system developed during the Sassanid Empire in Iran to render the Avestan language.As a side effect of its development, the script was also used for Pazend, a method of writing Middle Persian that was used primarily for the Zend commentaries on the texts of the Avesta....
, Bamum, Egyptian Hieroglyphics, Tai Tham, Tai Viet
Tai Viet script

The Tai Viet script is used by three Tai languages spoken primarily in northwestern Vietnam, northern Laos, and central Thailand – Tai Dam language , Tai D?n language , and Thai Song language ....
, Imperial Aramaic, Inscriptional Pahlavi, Inscriptional Parthian
Parthian language

The Parthian language, also known as Arsacid Pahlavi and Pahlavanik, is a now-extinct ancient Northwestern Iranian language spoken in Parthia, a region of northeastern Greater Iran, to include a significant portion of Greater Khorasan....
, Javanese
Javanese script

The 'Javanese script', natively known as Carakan , is the pre-colonial script used to write the Javanese language.As of 2008 Javanese is difficult to render on a computer, but Unicode support is underway....
, Kaithi
Kaithi

Kaithi , also called "Kayathi" or "Kayasthi", is the name of a historical script used widely in parts of North India, primarily in the former North-Western Provinces & Oudh and Bihar....
, Lisu
Fraser alphabet

The Fraser alphabet or Old Lisu Alphabet is an artificial script invented around 1915 by the Sara Ba Thaw, a Karen people preacher from Myanmar, and improved by the missionary James O....
, Meetei Mayek, Old South Arabian
South Arabian alphabet

The ancient South Arabian alphabet branched from the Proto-Sinaitic alphabet in about the 9th century BC. It was used for writing the Yemeni Old South Arabic dialects of the Sabaean language, Qatabanian, Hadrami , Minaean language, Himyarite language, and proto-Ge'ez language in D?mt....
, Old Turkic
Orkhon script

The Old Turkic script is the alphabet used by the G?kt?rk and other early Turkic groups from at least the 8th century to record the Old Turkic language....
, and Samaritan
Samaritan alphabet

The Samaritan alphabet is used by the Samaritans for religious writings, including the Samaritan Pentateuch, writings in Samaritan Hebrew, and for commentaries and translations in Samaritan Aramaic language and occasionally Arabic language....
. Other scripts in the process of being encoded include Batak, Brahmi, Mandaic
Mandaic alphabet

The Mandaic alphabet is based on the Aramaic alphabet, and is used for writing the Mandaic language.The Mandaic name for the script is Abagada or Abaga, after the first letters of the alphabet....
, Nushu
Nü Shu

N? Shu , is a syllabary writing system that was used exclusively among Woman in Jiangyong County in Hunan province of southern China ....
 and Tangut
Tangut script

The Tangut script was a logographic writing system, used for writing the equally obsolete Tangut language in Western Xia Dynasty. According to the latest count, there are 5863 Tangut characters excluding variants....
, but these will not be included in Unicode until at least the version after 5.2.

Modern invented scripts which do not qualify for inclusion in Unicode due to lack of real-world usage (e.g. Klingon
Klingon writing systems

In the Star Trek movies and television shows, the Klingons use their own alien writing system to write the Klingon language. In Mark Okrand's The Klingon Dictionary this alphabet is named as pIqaD, but no information is given about it....
), are listed in the ConScript Unicode Registry
ConScript Unicode Registry

The ConScript Unicode Registry is a volunteer project to coordinate the assignment of code points in the Unicode Private Use Area for the encoding of artificial scripts....
, along with unofficial but widely-used Private Use Area code assignments.

Mapping and encodings


Several mechanisms have been specified for implementing Unicode; which one implementers choose depends on available storage space, source code
Source code

In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language....
 compatibility, and interoperability with other systems.

Unicode Transformation Format and Universal Character Set

Unicode defines two mapping methods: the Unicode Transformation Format
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
 (UTF) encodings, and the Universal Character Set
Universal Character Set

The Universal Character Set , defined by the International Organization for Standardization/International Electrotechnical Commission 10646 International Organization for Standardization, is a standard set of character s upon which many character encodings are based....
 (UCS) encodings. An encoding maps (possibly a subset of) the range of Unicode code points to sequences of values in some fixed-size range, termed code values. The numbers in the names of the encodings indicate 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 of UTF-16; UCS-4 and UTF-32 are functionally equivalent.

UTF encodings include:
  • UTF-1
    UTF-1

    UTF-1 is a way of transforming ISO 10646/Unicode into a stream of bytes. Due to the design it is not possible to resynchronise if decoding starts in the middle of a character and simple byte-oriented search routines cannot be reliably used with it....
     — a retired predecessor of UTF-8, maximizes compatibility with ISO 2022
    ISO/IEC 2022

    ISO 2022, more formally ISO/IEC 2022 "Information Technology?Character code structure and extension techniques", is an International Organization for Standardization standard specifying...
    , no longer part of The Unicode Standard
  • UTF-7
    UTF-7

    UTF-7 is a variable-length character encoding that was proposed for representing Unicode-encoded text using a stream of ASCII characters, for example for use in Internet e-mail messages....
     — a relatively unpopular 7-bit encoding, often considered obsolete (not part of The Unicode Standard but rather an RFC)
  • UTF-8
    UTF-8

    UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
     — an 8-bit, variable-width encoding, which maximizes compatibility with ASCII
    ASCII

    American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
    .
  • UTF-EBCDIC
    UTF-EBCDIC

    UTF-EBCDIC is a character encoding used to represent Unicode characters. It is meant to be EBCDIC-friendly, so that legacy EBCDIC applications on Mainframe computer may process the characters without much difficulty....
     — an 8-bit variable-width encoding, which maximizes compatibility with EBCDIC
    EBCDIC

    Extended Binary Coded Decimal Interchange Code is an 8-bit character encoding used on IBM mainframe operating systems such as z/OS, OS/390, VM and VSE , as well as IBM midrange computer operating systems such as OS/400 and i5/OS ....
    . (not part of The Unicode Standard)
  • UTF-16 — a 16-bit, variable-width encoding
  • UTF-32 — a 32-bit, fixed-width encoding


UTF-8 uses one to four bytes per code point and, being compact for Latin scripts and ASCII-compatible, provides the de facto standard encoding for interchange of Unicode text. It is also used by most recent Linux distributions as a direct replacement for legacy encodings in general text handling.

The UCS-2 and UTF-16 encodings specify the Unicode Byte Order Mark
Byte Order Mark

A byte-order mark is the Unicode character at code point U+FEFF when that character is used to denote the endianness of a string of Universal Character Set/Unicode characters encoded in UTF-16 or UTF-32....
 (BOM) for use at the beginnings of text files, which may be used for byte ordering detection (or byte endianness
Endianness

In computing, endianness is the byte ordering used to represent some kind of data. Typical cases are the order in which integer values are stored as bytes in computer memory and the transmission order over a network or other medium....
 detection). Some software developers have adopted it for other encodings, including UTF-8, which does not need an indication of byte order. In this case it attempts to mark the file as containing Unicode text. The BOM, code point U+FEFF has the important property of unambiguity on byte reorder, regardless of the Unicode encoding used; U+FFFE (the result of byte-swapping U+FEFF) does not equate to a legal character, and U+FEFF in other places, other than the beginning of text, conveys the zero-width no-break space (a character with no appearance and no effect other than preventing the formation of ligature
Ligature (typography)

In writing and typography, a ligature occurs where two or more graphemes are joined as a single glyph. Ligatures usually replace consecutive characters sharing common components, and are part of a more general class of glyphs called "contextual forms" where the specific shape of a letter depends on context such as surrounding letters or prox...
s). Also, the units FE and FF never appear in UTF-8
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
. The same character converted to UTF-8 becomes the byte sequence EF BB BF.

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 actually manifests as an octet sequence). In the other cases, each code point may be represented by a variable number of code values. UTF-32 is widely used as internal representation of text in programs (as opposed to stored or transmitted text), since every Unix operating system which uses the gcc
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
 compilers to generate software uses it as the standard "wide character" encoding. Recent versions of the Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
 programming language (beginning with 2.2) may also be configured to use UTF-32 as the representation for unicode strings, effectively disseminating such encoding in high-level
High-level programming language

In computing, a high-level programming language is a programming language with strong Abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or more Porting across platforms....
 coded software.

Punycode
Punycode

Punycode is a computer programming encoding syntax by which a Unicode string of characters can be translated into the more-limited Character encoding permitted in network Hostname....
, another encoding form, enables the encoding of Unicode strings into the limited character set supported by the ASCII
ASCII

American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
-based Domain Name System
Domain name system

The Domain Name System is a hierarchical naming system for computers, services, or any resource participating in the Internet. It associates various information with domain names assigned to such participants....
. The encoding is used as part of IDNA, which is a system enabling the use of Internationalized Domain Names in all scripts that are supported by Unicode. Earlier and now historical proposals include UTF-5 and UTF-6
Comparison of Unicode encodings

This article compares Unicode encodings. Two situations are considered: eight-bit-clean environments and environments like Simple Mail Transfer Protocol that forbid use of byte values that have the high bit set....
.

GB18030 is another encoding form for Unicode, from the Standardization Administration of China
Standardization Administration of China

The Standardization Administration of China is the Standards organization authorized by the State Council of China to exercise administrative responsibilities by undertaking unified management, supervision and overall coordination of standardization work in China....
. It is the official character set of the People's Republic of China
People's Republic of China

The People's Republic of China , commonly known as China, is the largest country in East Asia and the List of countries by population in the world with over 1.3 billion people, approximately a fifth of the world's population....
 (PRC). BOCU-1
Binary Ordered Compression for Unicode

BOCU-1 is a MIME compatible Unicode compression scheme. BOCU stands for Binary Ordered Compression for Unicode. BOCU-1 combines the wide applicability of UTF-8 with the compactness of Standard Compression Scheme for Unicode....
 and SCSU
Standard Compression Scheme for Unicode

The Standard Compression Scheme for Unicode is a Unicode Technical Standard for reducing the number of bytes needed to represent Unicode text, especially if that text uses mostly characters from one or a small number of per-language character blocks....
 are Unicode compression schemes. The April Fools' Day RFC of 2005 specified two parody
Parody

A parody , in contemporary usage, is a work created to mock, comment on, or poke fun at an original work, its subject, or author, or some other target, by means of humorous, satiric or ironic imitation....
 UTF encodings, UTF-9 and UTF-18
UTF-9 and UTF-18

UTF-9 and UTF-18 were two April Fools' Day RFC joke specifications for encoding unicode on systems where the nonet is a better fit for the native word size than the octet , such as the 36-bit PDP-10....
.

Ready-made versus composite characters


Unicode includes a mechanism for modifying character shape and so greatly extending the supported glyph repertoire. This covers the use of combining diacritical marks. They get inserted after the main character (one can stack several combining diacritics over the same character). Unicode also contains precomposed
Precomposed character

A precomposed character is a Unicode entity that can be decomposed into an Unicode equivalence string of several other characters. Typically, a precomposed character is decomposed into the main character and a combining diacritical mark....
 versions of most letter/diacritic combinations in normal use. These make conversion to and from legacy encodings simpler and allow applications to use Unicode as an internal text format without having to implement combining characters. For example é can be represented in Unicode as (Latin small letter e) followed by U+0301 (combining acute) but it can also be represented as the precomposed character U+00E9 (Latin small letter e with acute). So in many cases, users have many ways of encoding the same character. To deal with this, Unicode provides the mechanism of canonical equivalence.

An example of this arises with hangul
Hangul

Hangul is the native alphabet of the Korean language, as distinguished from the logogram Sino-Korean vocabulary hanja system. It was created in the mid-fifteenth century, and is now the official writing system of both North Korea and South Korea, being co-official in the Yanbian Korean Autonomous Prefecture of China....
, the Korean alphabet. Unicode provides the mechanism for composing hangul syllables with their individual subcomponents, known as hangul Jamo. However, it also provides all 11,172 combinations of precomposed hangul syllables.

The CJK
CJK

CJK is a collective term for Chinese language, Japanese language, and Korean language, which constitute the main East Asian languages. The term is used in the field of software and communications internationalization....
 ideographs currently have codes only for their precomposed form. Still, most of those ideographs comprise simpler elements (often called radicals in English), so in principle Unicode could have decomposed them just as it has happened with hangul
Hangul

Hangul is the native alphabet of the Korean language, as distinguished from the logogram Sino-Korean vocabulary hanja system. It was created in the mid-fifteenth century, and is now the official writing system of both North Korea and South Korea, being co-official in the Yanbian Korean Autonomous Prefecture of China....
. This would have greatly reduced the number of required code points, while allowing the display of virtually every conceivable ideograph (which might do away with some of the problems caused by the Han unification
Han unification

Han unification is an effort by the authors of Unicode and the Universal Character Set to map multiple character sets of the so-called CJK languages into a single set of unified grapheme....
). A similar idea covers some input methods, such as Cangjie
Cangjie method

The Cangjie input method is a system by which Chinese characters may be entered into a computer by means of a standard keyboard. Invented in 1976 by Chu Bong-Foo, the method is named after Cangjie, the man historically attributed with the invention of the first writing system of China; the name was suggested by Chiang Wei-kuo, then Defence...
 and Wubi
Wubi method

The Wubizixing input method , often abbreviated to simply Wubi or Wubi Xing, is a Chinese input methods for computers primarily for inputting Simplified Chinese character and Traditional Chinese character text on a computer....
. However, attempts to do this for character encoding have stumbled over the fact that ideographs do not actually decompose as simply or as regularly as it seems they should.

A set of radicals
Radical (Chinese character)

[Image:Chinese character ? cai3 pick with ROOT colored.gif|right|thumb|The Chinese character ? cai, meaning ?to pick?, with its ?root?, the original, semantic graph on the right, colored red; and its later-added, redundant semantic determinative The semantic root ....
 was provided in Unicode 3.0 (CJK radicals between U+2E80 and U+2EFF, KangXi radicals in U+2F00 to U+2FDF, and ideographic description characters from U+2FF0 to U+2FFB), but the Unicode standard (ch. 11.1 of Unicode 4.1) warns against using ideographic description sequences as an alternate representation for previously encoded characters:

Ligatures


Many scripts, including Arabic and Devanagari
Devanagari

, or 'Nagari', is an abugida alphabet of India and Nepal. It is written from left to right, lacks distinct letter cases, and is recognizable by a distinctive horizontal line running along the tops of the letters that links them together....
, have special orthographic rules which require that certain combinations of letterforms be combined into special ligature forms
Ligature (typography)

In writing and typography, a ligature occurs where two or more graphemes are joined as a single glyph. Ligatures usually replace consecutive characters sharing common components, and are part of a more general class of glyphs called "contextual forms" where the specific shape of a letter depends on context such as surrounding letters or prox...
. The rules governing ligature formation can be quite complex, requiring special script-shaping technologies such as ACE (Arabic Calligraphic Engine by DecoType in the 1980s and used to generate all the Arabic examples in the printed editions of the Unicode Standard) which became the proof of concept for OpenType
OpenType

OpenType is a scalable format for computer fonts initially developed by Microsoft, with Adobe Systems later joining in. OpenType as a technology was announced publicly in 1996 and had a significant number of OpenType fonts shipping by 2000?2001....
 (by Adobe and Microsoft), Graphite
Graphite (SIL)

Graphite is a programmable Unicode-compliant Smartfont rendering system developed by SIL international. Graphite is based on the TrueType font format, and adds three of its own tables....
 (by SIL International
SIL International

SIL International is a United States, worldwide Evangelicalism non-profit organization, whose main purpose is to study, develop and document lesser-known languages, in order to expand linguistics knowledge, promote literacy and aid minority language development....
), or AAT
Apple Advanced Typography

Apple Advanced Typography is Apple Inc's computer software for advanced font rendering, supporting internationalization and complex features for typographers, a successor to Apple's little-used QuickDraw GX font technology of the mid-1990s....
 (by Apple). Instructions are also embedded in fonts to tell the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 how to properly output different character sequences. A simple solution to the placement of combining marks or diacritics is assigning the marks a width of zero and placing the glyph itself to the left or right of the left sidebearing (depending on the direction of the script they are intended to be used with). A mark handled this way will appear over whatever character precedes it, but will not adjust its position relative to the width or height of the base glyph; it may be visually awkward and it may overlap some glyphs. Real stacking is impossible, but can be approximated in limited cases (for example, Thai top-combining vowels and tone marks can just be at different heights to start with). Generally this approach is only effective in monospaced fonts but can also be used as a fallback rendering method when more complex methods fail.

Standardized subsets


Several subsets of Unicode are standardized: Microsoft Windows since Windows NT 4.0 supports WGL-4 with 652 characters, which is considered to support all contemporary European languages using the Latin, Greek or Cyrillic script. Other standardized subsets of Unicode include the Multilingual European Subsets: MES-1 (Latin scripts only, 335 characters), MES-2 (Latin, Greek and Cyrillic 1062 characters) and MES-3A & MES-3B (two larger subsets, 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)
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
Letterlike Symbols

Letterlike Symbols are graphemes which are constructed mainly from the glyphs of one or more letter s.In Unicode, Letterlike Symbols are placed in the hexadecimal range 0x2100?0x214F, , as in the following table....
 (00–4F)
5B–5E Number Forms
Number Forms

Number Forms are special symbols or characters, like any regular alpha-numeric or symbol characters, but they have very specific numerical values assigned to them, and they are commonly used in many different tradition, writings, publication, etc....
 (50–8F)
90–93, 94–95, A8 Arrows
Arrow (symbol)

An arrow is a graphical symbol such as ? or ?, used to point or indicate direction, being in its simplest form a line segment with a triangle affixed to one end, and in more complex forms a representation of an actual arrow ....
 (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
Unicode Mathematical Operators

Unicode ranges encoding mathematical operators:* Mathematical Operators * Miscellaneous Mathematical Symbols-A * Miscellaneous Mathematical Symbols-B ...
 (00–FF)
23 02, 0A, 20–21, 29–2A Miscellaneous Technical
Miscellaneous Technical (Unicode)

Miscellaneous Technical is a Unicode character block, ranging from 2300 to 23FF, which contains various common symbols which are related to and used in the various technical, programing language and academic professions....
 (00–FF)
25 00, 02, 0C, 10, 14, 18, 1C, 24, 2C, 34, 3C, 50–6C Box Drawing
Box drawing characters

Box drawing characters, also known as line drawing characters, or pseudographics, are widely used in text user interfaces to draw various frames and boxes....
 (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
Miscellaneous Symbols

The Miscellaneous Symbols plane of Unicode contains various glyphs representing things from a variety of categories: Astrological, Astronomical, Chess, Dice, Ideological symbols, Musical notation, Political symbols, Recycling, Religious symbols, Trigrams, Warning signs and Weather....
 (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 most often display it as only an open rectangle, or the Unicode “replacement character” (U+FFFD, ), to indicate the position of the unrecognized character. Some systems have made attempts to provide more information about such characters. The Apple LastResort font will display a substitute glyph indicating the Unicode range of the character and the SIL
SIL International

SIL International is a United States, worldwide Evangelicalism non-profit organization, whose main purpose is to study, develop and document lesser-known languages, in order to expand linguistics knowledge, promote literacy and aid minority language development....
 Unicode fallback font will display a box showing the hexadecimal scalar value of the character.

Unicode in use


Operating systems


Unicode has become the dominant scheme for internal processing and sometimes storage (though a lot of text is still stored in legacy encodings) of text. Early adopters tended to use UCS-2 and later moved to UTF-16 (as this was the least disruptive way to add support for non-BMP characters). The best known such system is Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 (and its descendants, Windows 2000
Windows 2000

Windows 2000 is a line of operating systems produced by Microsoft for use on business desktops, Laptop, and Server . Released on 17 February, 2000, it was the successor to Windows NT 4.0, and is the final release of Microsoft Windows to display the "Windows NT" designation....
, Windows XP
Windows XP

Windows XP is a line of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptop, and media centers....
 and Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
), which uses Unicode as the sole internal character encoding. The Java
Java Virtual Machine

A Java Virtual Machine is a set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and Scripting language....
 and .NET
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
 bytecode environments, Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, and KDE
KDE

KDE is a free software project based around its flagship product, a desktop environment for Unix-like systems. The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system....
 also use it for internal representation.

UTF-8
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
 (originally developed for Plan 9
Plan 9 from Bell Labs

Plan 9 from Bell Labs is a distributed operating system, primarily used for research. It was developed as the research successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002....
) has become the main storage encoding on most Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 operating systems (though others are also used by some libraries) because it is a relatively easy replacement for traditional extended ASCII
Extended ASCII

The term extended ASCII describes eight-bit or larger character encodings that include the standard seven-bit ASCII characters as well as others....
 character sets.

Multilingual text-rendering engines which use Unicode include Uniscribe
Uniscribe

Uniscribe is the Microsoft Windows set of services for rendering Unicode-encoded text, especially complex text layout. They are implemented in the Dynamic-Link Library USP10.DLL....
 for Microsoft Windows, ATSUI for Mac OS X and Pango
Pango

Pango is a free software and open source software computing library for rendering internationalized texts in high quality. Different font backends can be used, allowing cross-platform support....
, a free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 engine used by GTK+
GTK+

GTK+, or The GIMP Toolkit, is a cross-platform widget toolkit for creating graphical user interfaces. It is one of the most popular toolkits for the X Window System, along with Qt ....
 (and hence the GNOME
Gnome

A gnome is a mythical creature characterized by its extremely small size and wiktionary:subterranean lifestyle. The word gnome is derived from the New Latin gnomus....
 desktop).

Input methods

Because keyboard layouts cannot have simple key combinations for all characters, several operating systems provide alternative input methods that allow access to the entire repertoire.

ISO 14755, which standardises methods for entering Unicode characters from their codepoints, specifies several methods. There is the
Basic method, where a beginning sequence is followed by the hexadecimal representation of the codepoint and the ending sequence. There is also a screen-selection entry method specified, where the characters are listed in a table in a screen, such as with a character map program.

E-mail


MIME
MIME

Multipurpose Internet Mail Extensions is an Internet standard that extends the format of electronic mail to support:* Text in character sets other than ASCII...
 defines two different mechanisms for encoding non-ASCII characters in e-mail
E-mail

Electronic mail, often abbreviated as e-mail, email, E-Mail, or eMail, is any method of creating, transmitting, or storing primarily text-based human communications with digital communications systems....
, depending on whether the characters are in e-mail headers such as the "Subject:" or in the text body of the message. In both cases, the original character set is identified as well as a transfer encoding. For e-mail transmission of Unicode the UTF-8
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
 character set and the Base64
Base64

The term Base64 refers to a specific MIME#Content-Transfer-Encoding. It is also used as a generic term for any similar encoding scheme that encodes binary data by treating it numerically and translating it into a base 64 representation....
 or the Quoted-printable
Quoted-printable

Quoted-printable, or QP encoding, is an Semantics encoding using printable characters to transmit 8-bit data over a 7-bit data path. It is defined as a MIME MIME#Content-Transfer-Encoding for use in Internet e-mail....
 transfer encoding are recommended, depending on whether much of the message consists of ASCII
ASCII

American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
-characters. The details of the two different mechanisms are specified in the MIME standards and are generally hidden from users of e-mail software.

The adoption of Unicode in e-mail
E-mail

Electronic mail, often abbreviated as e-mail, email, E-Mail, or eMail, is any method of creating, transmitting, or storing primarily text-based human communications with digital communications systems....
 has been very slow. Some East-Asian text is still encoded in encodings such as ISO-2022, and some devices, such as cell phones, still cannot handle Unicode data correctly. Support has been improving however. Many major free mail providers such as Yahoo, Google
Google

Google Inc. is an United States public company, earning revenue from AdWords related to its Google search, Gmail, Google Maps, Google Apps, Orkut, and YouTube services as well as selling advertising-free versions of the Google Search Appliance....
 (gmail
Gmail

Gmail is a free Post Office Protocol and Internet Message Access Protocol webmail service provided by Google. In the United Kingdom and Germany it is officially called Google Mail....
), and Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 (Hotmail
Hotmail

Windows Live Hotmail, formerly known as MSN Hotmail and commonly referred to simply as Hotmail, is a free webmail service operated by Microsoft as part of its Windows Live group....
) support it.

Web


All W3C recommendations have used Unicode as their
document character set since HTML 4.0. Web browser
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
s have supported Unicode, especially UTF-8, for many years. Display problems result primarily from font
Typeface

In typography, a typeface is a set of one or more fonts, in one or more sizes, designed with stylistic unity, each comprising a coordinated set of glyphs....
 related issues; in particular, versions of Microsoft Internet Explorer
Internet Explorer

Windows Internet Explorer , commonly abbreviated to IE, is a series of graphical user interface web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems starting in 1995....
 do not render many code points unless explicitly told to use a font that contains them.

Although syntax rules may affect the order in which characters are allowed to appear, both HTML 4
HTML

HTML, an Acronym and initialism of HyperText Markup Language, is the predominant markup language for Web pages. It provides a means to describe the structure of text-based information in a document?by denoting certain text as links, headings, paragraphs, lists, and so on?and to supplement that text with interactive forms, embedded '...
 and XML (including XHTML
XHTML

The Extensible Hypertext Markup Language, or XHTML, is a markup language that has the same depth of expression as HTML, but also conforms to XML syntax....
) documents, by definition, comprise characters from most of the Unicode code points, with the exception of:
  • most of the C0 and C1 control codes
    C0 and C1 control codes

    The C0 and C1 control code sets define control codes for use in text by computer systems that use the ISO/IEC 2022 system of specifying control and graphic characters....
  • the permanently-unassigned code points D800–DFFF
  • any code point ending in FFFE or FFFF


These characters manifest either directly as byte
Byte

A byte is a basic unit of measurement of Computer storage in computer science. In many computer architectures it is a Byte addressing memory address space....
s 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 Δ, Й, ק, م, ๗, あ, 叶, 葉, and 말 (or the same numeric values expressed in hexadecimal, with &#x as the prefix) display on browsers as ?, ?, ?,‎ ?, ?, ?, ?, ?, and ?.

When specifying URI
Uniform Resource Identifier

In Information technology, a Uniform Resource Identifier is a Character string of Character s used to Identifier or name a Resource on the Internet....
s, for example as URLs
Uniform Resource Locator

In Information technology, a Uniform Resource Locator is a type of Uniform Resource Identifier that specifies where an identified resource is available and the mechanism for retrieving it....
 in HTTP requests, non-ASCII characters must be percent-encoded.

Fonts


Free and retail fonts based on Unicode are commonly available, since TrueType
TrueType

TrueType is an outline font standardization originally developed by Apple Computer in the late 1980s as a competitor to Adobe Systems's Type 1 fonts used in PostScript....
 and OpenType
OpenType

OpenType is a scalable format for computer fonts initially developed by Microsoft, with Adobe Systems later joining in. OpenType as a technology was announced publicly in 1996 and had a significant number of OpenType fonts shipping by 2000?2001....
 support Unicode. These font formats map Unicode code points to glyphs.

Thousands of fonts
List of typefaces

This is a list of typefaces, which are more commonly known as font....
 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
List of typefaces

This is a list of typefaces, which are more commonly known as font....
 typically focus on supporting only basic ASCII and particular scripts or sets of characters or symbols. Several reasons justify this approach: applications and documents rarely need to render characters from more than one or two writing systems; fonts tend to demand resources in computing environments; and operating systems and applications show increasing intelligence in regard to obtaining glyph information from separate font files as needed, i.e. font substitution
Font substitution

Font substitution is the process of using one computer font in place of another when the intended font either is not available or does not contain glyphs for the required Codepoint....
. Furthermore, designing a consistent set of rendering instructions for tens of thousands of glyphs constitutes a monumental task; such a venture passes the point of diminishing returns
Diminishing returns

In economics, diminishing returns is also called diminishing marginal return or the law of diminishing returns. According to this relationship, in a production system with fixed and variable inputs , beyond some point, each additional unit of variable input yields less and less output....
 for most typefaces.

New lines


Unicode 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
Newline

In computing, a newline is a special character or sequence of characters signifying the end of a line of text. The name comes from the fact that the next character after the newline will appear on a new line?that is, on the next line below the text, immediately proceeding the newline....
 that conforming applications should recognize as line terminators.

In terms of the new line, Unicode did introduce U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR. This however was an attempt to provide a Unicode solution to semantically encoding paragraphs and lines: potentially replacing all of the various platform solutions. So in doing so, Unicode does provide a way around the historical platform dependent solutions. However, few if any Unicode solutions have adopted these Unicode line and paragraph separators as the sole canonical line ending characters. However, a common approach to solving this issue is through new line normalization. This is done with the Cocoa text system in Mac OS X and also with W3C XML and HTML recommendations. In this approach every possible new line character is internally converted to a common new line (which one doesn't really matter since it's an internal operation just for rendering). So in other words, regardless of how the line ending is encoded in the text, the text system can treat it as a new line.

Issues


Philosophical and completeness criticisms


Han unification
Han unification

Han unification is an effort by the authors of Unicode and the Universal Character Set to map multiple character sets of the so-called CJK languages into a single set of unified grapheme....
 (the identification of forms in the three East Asian languages which one can treat as stylistic variations of the same historical character) has become one of the most controversial aspects of Unicode, despite the presence of a majority of experts from all three regions in the Ideographic Rapporteur Group
Ideographic Rapporteur Group

The Ideographic Rapporteur Group advises the Unicode Consortium and the International Organization for Standardization/IEC JTC1/SC2/WG2 on Han character additions to the repertoire of the Unicode and ISO/IEC 10646-1 character set standards, and on Han unification....
 (IRG), which advises the Consortium and ISO on additions to the repertoire and on Han unification.

Unicode has been criticized for failing to allow for older and alternative forms of kanji
Kanji

are the Chinese characters that are used in the modern Japanese language logogram along with hiragana , katakana , Arabic numerals, and the occasional use of the Latin alphabet....
 which, critics argue, complicates the processing of ancient Japanese and uncommon Japanese names, although it follows the recommendations of Japanese language scholars and of the Japanese government and contains all of the same characters as previous widely used encoding standards. There have been several attempts to create alternative encodings that preserve the minor, stylistic differences between Chinese, Japanese, and Korean characters in opposition to Unicode's policy of Han unification. Among them are TRON
TRON (encoding)

TRON is a multi-byte character encoding. It is similar to Unicode but does not use Unicode's Han unification process: each character from each CJK character set is encoded separately, including archaic and historical equivalents of modern characters....
 (although it is not widely adopted in Japan, there are some users who need to handle historical Japanese text and favor it), and UTF-2000.

Although the repertoire of less than 21,000 Han characters in the earliest version of Unicode was largely limited to characters in common modern usage, Unicode now includes more than 70,000 Han characters, and work is continuing to add thousands more historic and dialectal characters used in China, Japan, Korea and Vietnam.

Mapping to legacy character sets


Injective mappings must be provided between characters in existing legacy character sets and characters in Unicode to facilitate conversion to Unicode and allow interoperability with legacy software. Lack of consistency in various mappings between earlier Japanese encodings such as Shift-JIS
Shift-JIS

Shift JIS is a character encoding for the Japanese language originally developed by a Japanese company called ASCII in conjunction with Microsoft and standardized as JIS X 0208 Appendix 1....
 or EUC-JP and Unicode led to round-trip format conversion
Round-trip format conversion

The term round-trip is commonly used in document conversion particularly involving markup languages such as XML and SGML. A successful round-trip consists of converting a document in format A to one in format B and then back again to format A ....
 mismatches, particularly the mapping of the character JIS X 201 '~' (1-33, WAVE DASH), heavily used in legacy database data, to either '~' U+FF5E FULLWIDTH TILDE (in Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
) or '?' U+301C WAVE DASH (other vendors).

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 there is a lot of legacy code with this usage. (This encoding also replaces tilde '~' 0x7E with overline '¯', now 0xAF.) The separation of these characters exists in ISO 8859-1, from long before Unicode.

Indic scripts


Thai alphabet
Thai alphabet

The Thai alphabet is used to write the Thai language and other :Category:Languages of Thailands in Thailand. It has forty-four consonants , fifteen vowel symbols that combine into at least twenty-eight vowel forms, and four tone marks ....
 support has been criticized for its illogical ordering of Thai characters. The vowels ?, ?, ?, ?, ? that are written to the left of the preceding consonant are in visual order instead of phonetic order, unlike the Unicode representations of other Indic scripts. This complication is due to Unicode inheriting the Thai Industrial Standard 620, which worked in the same way. This ordering problem complicates the Unicode collation process slightly, requiring table lookups to reorder Thai characters for collation.

Indic scripts such as Tamil
Tamil script

The Tamil script is a Vatteluttu that is used to write the Tamil language. With the use of special diacritics to represent aspiration and voice consonants not represented in the basic script, it is also used to write Saurashtra language and, by Tamil people, to write Sanskrit....
 and Devanagari
Devanagari

, or 'Nagari', is an abugida alphabet of India and Nepal. It is written from left to right, lacks distinct letter cases, and is recognizable by a distinctive horizontal line running along the tops of the letters that links them together....
 are each allocated only 128 code points, matching the ISCII
ISCII

Indian Script Code for Information Interchange is a coding scheme for representing various writing systems of India. It encodes the main Indic scripts and a Roman transliteration....
 standard. The correct rendering of Unicode Indic text requires transforming the stored logical order characters into visual order and the forming of ligatures out of components. Some local scholars argued in favor of assignments of Unicode codepoints to these ligatures, going against the practice for other writing systems, though Unicode contains some Arabic and other ligatures for backward compatibility purposes only. Encoding of any new ligatures in Unicode will not happen, in part because the set of ligatures is font-dependent, and Unicode is an encoding independent of font variations. The same kind of issue arose for Tibetan script
Tibetan script

The Tibetan script is an abugida of Brahmic family origin used to write the Tibetan language as well as the Dzongkha language, Ladakhi language and sometimes the Balti language....
 (the Chinese National Standard organization failed to achieve a similar change).

Combining characters


Characters 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 followed by the combining macron above and combining acute above) should be rendered identically, both appearing as an e
E

E is the fifth letter in the Latin alphabet. Its name in English language is spelled e , plural ees . The letter E is the most commonly used letter in the Czech language, Danish language, Dutch language, English language, French language, German language, Hungarian language, Latin language, Norwegian language, Spanish language...
 with a macron
Macron

A macron, from Greek language meaning "long", is a diacritic ? placed over or under a vowel which was originally used to mark a Long syllable#Syllable weight in classical poetry in Meter #Greek and Latin, but has now been taken also to indicate that the vowel is long vowel....
 and acute accent
Acute accent

The acute accent is a diacritic mark used in many modern written languages with alphabets based on the Latin alphabet, Cyrillic alphabet and Greek alphabet writing systems....
, but in practice, their appearance can vary depending upon what rendering engine and fonts are being used to display the characters. Similarly, underdot
Dot (diacritic)

When used as a diacritic mark, the term dot is usually reserved for the Interpunct , or to the glyphs 'combining dot above' and 'combining dot below' which may be combined with some Letter s of the extended Latin alphabets in use in Central European languages and Vietnamese language....
s, as needed in the romanization
Romanization

In linguistics, romanization is the representation of a written word or spoken speech with the Latin alphabet, or a system for doing so, where the original word or language uses a different writing system ....
 of Indic
Indo-Aryan languages

The Indo-Aryan languages are a branch of the Indo-European languages family.SIL International in a 2005 estimate counted a total of 209 varieties, the largest in terms of native speakers being Hindustani language , Bangla language , Punjabi language , Marathi , Gujarati language , Nepali language , Oriya language , Sindhi language , Sinhal...
, will often be placed incorrectly. 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
Charis SIL

Charis SIL is a glyphic serif typeface developed by SIL International. It is based on Bitstream Charter, one of the first fonts designed for laser printers....
 that uses Graphite
Graphite (SIL)

Graphite is a programmable Unicode-compliant Smartfont rendering system developed by SIL international. Graphite is based on the TrueType font format, and adds three of its own tables....
, OpenType
OpenType

OpenType is a scalable format for computer fonts initially developed by Microsoft, with Adobe Systems later joining in. OpenType as a technology was announced publicly in 1996 and had a significant number of OpenType fonts shipping by 2000?2001....
, or AAT
Apple Advanced Typography

Apple Advanced Typography is Apple Inc's computer software for advanced font rendering, supporting internationalization and complex features for typographers, a successor to Apple's little-used QuickDraw GX font technology of the mid-1990s....
 technologies for advanced rendering features.

See also


  • Comparison of Unicode encodings
    Comparison of Unicode encodings

    This article compares Unicode encodings. Two situations are considered: eight-bit-clean environments and environments like Simple Mail Transfer Protocol that forbid use of byte values that have the high bit set....
  • Free software Unicode typefaces
    Free software Unicode typefaces

    A few projects exist to provide free software Unicode typefaces, i.e. Unicode typefaces which are free software and designed to contain glyphs of all Unicode characters....
  • List of binary codes
    List of binary codes

    Binary codes are codes made up of only zeros and ones. These are useful in computers and telecommunications because binary code simplifies electrical and electronic systems by allowing them to transmit and store data as on and off rather than with a variable number of states per memory cell or wire....
  • List of Unicode characters, organized by code point
    List of Unicode characters

    This is a list of Unicode characters....
  • List of Unicode characters, organized by script
    List of Unicode characters

    This is a list of Unicode characters....
  • List of XML and HTML character entity references
    List of XML and HTML character entity references

    In SGML, HTML and XML documents, the logical constructs known as character data and attribute values consist of sequences of character s, in which each character can manifest directly , or can be represented by a series of characters called a character reference, of which there are two types: a numeric character reference and a ...


External links

    • , including the Unicode 5.0 book in PDF format
    • for Unicode 5.1
  • Contains lists of word processors with Unicode capability; fonts and characters are grouped by type; characters are presented in lists, not grids.
  • Tim Bray's explains how the different encodings work.
  • images of all 98,884 graphic characters defined in Unicode 5.0 (German/English, full text search)
  • Wiki (creation and manipulation of Unicode tables)
  • (alternative tables: and )
  • (search for characters by their unicode names)
  • An XHTML-based Unicode character look up application
  • Yoix
    Yoix

    In computer programming, Yoix is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
     chart of all Code Points in the Basic Multilingual Plane