Unicode character property

(Redirected from General Category (Unicode))

The Unicode Standard assigns various properties to each Unicode character and code point.[1][2]

The properties can be used to handle characters (code points) in processes, like in line-breaking, script direction right-to-left or applying controls. Some "character properties" are also defined for code points that have no character assigned and code points that are labeled like "<not a character>". The character properties are described in Standard Annex #44.[2]

Properties have levels of forcefulness: normative, informative, contributory, or provisional. For simplicity of specification, a character property can be assigned by specifying a continuous range of code points that have the same property.[3]

Semantic elements

edit

Properties are displayed in the following order:[4]

[code];[name];[gc];[cc];[bc];[decomposition];[nv-dec];[nv-dig];[nv-num];[bm];[alias];;[upper case];[lower case];[title case]
  • 'alias' = corrected name. Obsolete. Now tracked with a separate database, but remains for Unicode 1 names etc.
  • 'bc' = bidi (bidirectional) category [L, R etc]
  • 'bm' = bidi mirrored [N or Y]
  • 'cc' = combining class [position of diacritic]
  • decomposition type or <mapping> = letter + diacritic, ligature X Y, superscript X, font X, initial X, medial X, final X, isolated X, vertical X, etc.
  • 'gc' = general category [letter, symbol, digit, punctuation, case behavior, etc.]
  • 'nv' = numeric type and value [of a digit]. If numeric type is 'decimal', all 3 slots are filled. If 'digit', the first will be null. (This has been discontinued.) If 'numeric', then the first two will be null and only the last will be used.

The property between 'alias' and 'upper case' is obsolete and is now null for all Unicode characters.

Code

edit

The first property is the hexadecimal code point.

Name and alias

edit

A Unicode character is assigned a unique Name (na).[1] The name is composed of uppercase letters A–Z, digits 0–9, hyphen-minus and space. Some sequences are excluded: names beginning with a space or hyphen, names ending with a space or hyphen, repeated spaces or hyphens, and space after hyphen are not allowed. The name is guaranteed to be unique within Unicode, and can be used to identify a code point and its character. Ideographic characters, of which there are tens of thousands, are named in the pattern "cjk unified ideograph-hhhh". For example, U+4E00 CJK UNIFIED IDEOGRAPH-4E00. Formatting characters are named too: U+00A0   NO-BREAK SPACE.

The following classes of code point do not have a Name (na=""): Controls (General Category: Cc), Private use (Co), Surrogate (Cs), Non-characters (Cn) and Reserved (Cn). They may be referenced, informally, by a generic or specific meta-name, called "Code Point Labels": <control>, <control-0088>, <reserved>, <noncharacter-hhhh>, <private-use-hhhh>, or <surrogate>. Since these labels contain <>-brackets, they can never appear as a Name, which prevents confusion.

Version 1.0 names

edit

In version 2.0 of Unicode, many names were changed. From then on the rule "a name will never change" came into effect, including the strict (normative) use of alias names. Disused version 1.0-names were moved to the property Alias, to provide some backward compatibility.

Character name alias

edit

Starting from Unicode version 2.0, the published name for a code point will never change. Therefore, in the event of a character name being misspelled or if the character name is completely wrong or seriously misleading, a formal Character Name Alias may be assigned to the character, and this alias may be used by applications instead of the actual defective character name.[1] For example, U+FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET has the character name alias "PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET" in order to mitigate the misspelling of "bracket" as "brakcet" [sic] in the actual character name; U+A015 YI SYLLABLE WU has the character name alias "YI SYLLABLE ITERATION MARK" because, contrary to the character name, it does not have a fixed syllabic value.

In addition to character name aliases which are corrections to defective character names, some characters are assigned aliases which are alternative names or abbreviations. Five types of character name aliases are defined in the Unicode Standard:

  • Correction: corrections for misspelled or seriously incorrect character names;
  • Control: ISO 6429 names for C0 and C1 control functions (which are not assigned character names in the Unicode Standard);
  • Alternate: alternative names for some format characters (only U+FEFF ZERO WIDTH NO-BREAK SPACE which has the alias "BYTE ORDER MARK");
  • Figment: Documented labels for some C1 control code functions which are not actual names in any standard;
  • Abbreviation: Abbreviations or acronyms for control codes, format characters, spaces, and variation selectors.

All formal character name aliases follow the rules for permissible character names, and are guaranteed to be unique within both the character name alias and the character name namespaces (for this reason, the ISO 6429 name "BELL" is not defined as an alias for U+0007 <control-0007> because U+1F514 is named "BELL"; U+0007 instead has the alias of "ALERT").[1]

As of Unicode version 16.0, thirty-five formal character name aliases are defined as corrections for defective character names.[5]

Apart from these normative names, informal names may be shown in the Unicode code charts. These are other commonly used names for a character, and do not have the same character restriction. These informal names are not guaranteed to be unique, and may be changed or removed in later versions of the standard.

General Category

edit

Each code point is assigned a value for General Category. This is one of the character properties that are also defined for unassigned code points and code points that are defined "not a character".

General Category (Unicode Character Property)[a]
Value Category Major, minor Basic type[b] Character assigned[b] Count[c]
(as of 16.0)
Remarks
 
L, Letter; LC, Cased Letter (Lu, Ll, and Lt only)[d]
Lu Letter, uppercase Graphic Character 1,858
Ll Letter, lowercase Graphic Character 2,258
Lt Letter, titlecase Graphic Character 31 Ligatures or digraphs containing an uppercase followed by a lowercase part (e.g., Dž, Lj, Nj, and Dz)
Lm Letter, modifier Graphic Character 404 A modifier letter
Lo Letter, other Graphic Character 136,477 An ideograph or a letter in a unicase alphabet
M, Mark
Mn Mark, nonspacing Graphic Character 2,020
Mc Mark, spacing combining Graphic Character 468
Me Mark, enclosing Graphic Character 13
N, Number
Nd Number, decimal digit Graphic Character 760 All these, and only these, have Numeric Type = De[e]
Nl Number, letter Graphic Character 236 Numerals composed of letters or letterlike symbols (e.g., Roman numerals)
No Number, other Graphic Character 915 E.g., vulgar fractions, superscript and subscript digits, vigesimal digits
P, Punctuation
Pc Punctuation, connector Graphic Character 10 Includes spacing underscore characters such as "_", and other spacing tie characters. Unlike other punctuation characters, these may be classified as "word" characters by regular expression libraries.[f]
Pd Punctuation, dash Graphic Character 27 Includes several hyphen characters
Ps Punctuation, open Graphic Character 79 Opening bracket characters
Pe Punctuation, close Graphic Character 77 Closing bracket characters
Pi Punctuation, initial quote Graphic Character 12 Opening quotation mark. Does not include the ASCII "neutral" quotation mark. May behave like Ps or Pe depending on usage
Pf Punctuation, final quote Graphic Character 10 Closing quotation mark. May behave like Ps or Pe depending on usage
Po Punctuation, other Graphic Character 640
S, Symbol
Sm Symbol, math Graphic Character 950 Mathematical symbols (e.g., +, , =, ×, ÷, , , ). Does not include parentheses and brackets, which are in categories Ps and Pe. Also does not include !, *, -, or /, which despite frequent use as mathematical operators, are primarily considered to be "punctuation".
Sc Symbol, currency Graphic Character 63 Currency symbols
Sk Symbol, modifier Graphic Character 125
So Symbol, other Graphic Character 7,376
Z, Separator
Zs Separator, space Graphic Character 17 Includes the space, but not TAB, CR, or LF, which are Cc
Zl Separator, line Format Character 1 Only U+2028 LINE SEPARATOR (LSEP)
Zp Separator, paragraph Format Character 1 Only U+2029 PARAGRAPH SEPARATOR (PSEP)
C, Other
Cc Other, control Control Character 65 (will never change)[e] No name,[g] <control>
Cf Other, format Format Character 170 Includes the soft hyphen, joining control characters (ZWNJ and ZWJ), control characters to support bidirectional text, and language tag characters
Cs Other, surrogate Surrogate Not (only used in UTF-16) 2,048 (will never change)[e] No name,[g] <surrogate>
Co Other, private use Private-use Character (but no interpretation specified) 137,468 total (will never change)[e] (6,400 in BMP, 131,068 in Planes 15–16) No name,[g] <private-use>
Cn Other, not assigned Noncharacter Not 66 (will not change unless the range of Unicode code points is expanded)[e] No name,[g] <noncharacter>
Reserved Not 819,467 No name,[g] <reserved>
  1. ^ "Table 4-4: General Category". The Unicode Standard. Unicode Consortium. September 2024.
  2. ^ a b "Table 2-3: Types of code points". The Unicode Standard. Unicode Consortium. September 2024.
  3. ^ "DerivedGeneralCategory.txt". The Unicode Consortium. 2024-04-30.
  4. ^ "5.7.1 General Category Values". UTR #44: Unicode Character Database. Unicode Consortium. 2024-08-27.
  5. ^ a b c d e Unicode Character Encoding Stability Policies: Property Value Stability Stability policy: Some gc groups will never change. gc=Nd corresponds with Numeric Type=De (decimal).
  6. ^ "Annex C: Compatibility Properties (§ word)". Unicode Regular Expressions. Version 23. Unicode Consortium. 2022-02-08. Unicode Technical Standard #18.
  7. ^ a b c d e "Table 4-9: Construction of Code Point Labels". The Unicode Standard. Unicode Consortium. September 2024. A Code Point Label may be used to identify a nameless code point. E.g. <control-hhhh>, <control-0088>. The Name remains blank, which can prevent inadvertently replacing, in documentation, a Control Name with a true Control code. Unicode also uses <not a character> for <noncharacter>.

Punctuation

edit

Characters have separate properties to denote they are a punctuation character. The properties all have a Yes/No values: Dash, Quotation_Mark, Sentence_Terminal, Terminal_Punctuation. The Punctuation property refers to characters that are used to divide or structure text, and these are classified into different types based on their roles. Unicode assigns these punctuation characters specific categories.

Whitespace

edit

Whitespace is a commonly used concept for a typographic effect. Basically it covers invisible characters that have a spacing effect in rendered text. It includes spaces, tabs, and new line formatting controls. In Unicode, such a character has the property set "WSpace=yes". In version 16.0, there are 25 whitespace characters.

Name Code point Width box May break? In
IDN?
Script Block General
category
Notes
character tabulation U+0009 9 Yes No Common Basic Latin Other,
control
HT, Horizontal Tab. HTML/XML named entity: &Tab;, LaTeX: \tab, C escape: \t
line feed U+000A 10 Is a line-break Common Basic Latin Other,
control
LF, Line feed. HTML/XML named entity: &NewLine;, C escape: \n
line tabulation U+000B 11 Is a line-break Common Basic Latin Other,
control
VT, Vertical Tab. C escape: \v
form feed U+000C 12 Is a line-break Common Basic Latin Other,
control
FF, Form feed. C escape: \f
carriage return U+000D 13 Is a line-break Common Basic Latin Other,
control
CR, Carriage return. C escape: \r
space U+0020 32 Yes No Common Basic Latin Separator,
space
Most common (normal ASCII space). LaTeX:
next line U+0085 133 Is a line-break Common Latin-1
Supplement
Other,
control
NEL, Next line. LaTeX: \\
no-break space U+00A0 160   No No Common Latin-1
Supplement
Separator,
space
Non-breaking space: identical to U+0020, but not a point at which a line may be broken.
HTML/XML named entity: &nbsp;, &NonBreakingSpace;, LaTeX: ~
ogham space mark U+1680 5760 Yes No Ogham Ogham Separator,
space
Used for interword separation in Ogham text. Normally a vertical line in vertical text or a horizontal line in horizontal text, but may also be a blank space in "stemless" fonts. Requires an Ogham font.
en quad U+2000 8192   Yes No Common General
Punctuation
Separator,
space
Width of one en. U+2002 is canonically equivalent to this character; U+2002 is preferred.
em quad U+2001 8193 Yes No Common General
Punctuation
Separator,
space
Also known as "mutton quad". Width of one em. U+2003 is canonically equivalent to this character; U+2003 is preferred.
en space U+2002 8194 Yes No Common General
Punctuation
Separator,
space
Also known as "nut". Width of one en. U+2000 En Quad is canonically equivalent to this character; U+2002 is preferred.
HTML/XML named entity: &ensp;, LaTeX: \enspace (the LaTeX en space is a no-break space)
em space U+2003 8195 Yes No Common General
Punctuation
Separator,
space
Also known as "mutton". Width of one em. U+2001 Em Quad is canonically equivalent to this character; U+2003 is preferred.
HTML/XML named entity: &emsp;, LaTeX: \quad
three-per-em space U+2004 8196 Yes No Common General
Punctuation
Separator,
space
Also known as "thick space". One third of an em wide.
HTML/XML named entity: &emsp13;, LaTeX: \; (the LaTeX thick space is a no-break space)
four-per-em space U+2005 8197 Yes No Common General
Punctuation
Separator,
space
Also known as "mid space". One fourth of an em wide.
HTML/XML named entity: &emsp14;
six-per-em space U+2006 8198 Yes No Common General
Punctuation
Separator,
space
One sixth of an em wide. In computer typography, sometimes equated to U+2009.
figure space U+2007 8199 No No Common General
Punctuation
Separator,
space
Figure space. In fonts with monospaced digits, equal to the width of one digit.
HTML/XML named entity: &numsp;
punctuation space U+2008 8200 Yes No Common General
Punctuation
Separator,
space
As wide as the narrow punctuation in a font, i.e. the advance width of the period or comma.[6]
HTML/XML named entity: &puncsp;
thin space U+2009 8201 Yes No Common General
Punctuation
Separator,
space
Thin space; one-fifth (sometimes one-sixth) of an em wide. Recommended for use as a thousands separator for measures made with SI units. Unlike U+2002 to U+2008, its width may get adjusted in typesetting.[7]
HTML/XML named entity: &thinsp;, &ThinSpace;, LaTeX: \, (the LaTeX thin space is a no-break space)
hair space U+200A 8202 Yes No Common General
Punctuation
Separator,
space
Thinner than a thin space. HTML/XML named entity: &hairsp;, &VeryThinSpace;
line separator U+2028 8232 Is a line-break Common General
Punctuation
Separator,
line
paragraph separator U+2029 8233 Is a line-break Common General
Punctuation
Separator,
paragraph
narrow no-break space U+202F 8239 No No Common General
Punctuation
Separator,
space
Narrow no-break space. Similar in function to U+00A0 No-Break Space. When used with Mongolian, its width is usually one third of the normal space; in other context, its width sometimes resembles that of the Thin Space (U+2009). LaTeX: \,
medium mathematical space U+205F 8287 Yes No Common General
Punctuation
Separator,
space
MMSP. Used in mathematical formulae. Four-eighteenths of an em.[8] In mathematical typography, the widths of spaces are usually given in integral multiples of an eighteenth of an em, and 4/18 em may be used in several situations, for example between the a and the + and between the + and the b in the expression a + b.[9]
HTML/XML named entity: &MediumSpace;, LaTeX: \: (the LaTeX medium space is a no-break space)
ideographic space U+3000 12288   Yes No Common CJK Symbols
and
Punctuation
Separator,
space
As wide as a CJK character cell (fullwidth). Used, for example, in tai tou.
 Name  Code point Width box May break? In
IDN?
Script Block General
category
Notes
mongolian vowel separator U+180E 6158 Yes No Mongolian Mongolian Other,
Format
MVS. A narrow space character, used in Mongolian to cause the final two characters of a word to take on different shapes.[10] It is no longer classified as space character (i.e. in Zs category) in Unicode 6.3.0, even though it was in previous versions of the standard.
zero width space U+200B 8203 Yes No ? General
Punctuation
Other,
Format
ZWSP, zero-width space. Used to indicate word boundaries to text processing systems when using scripts that do not use explicit spacing. It is similar to the soft hyphen, with the difference that the latter is used to indicate syllable boundaries, and should display a visible hyphen when the line breaks at it.
HTML/XML named entity: &ZeroWidthSpace;[11][c]
zero width non-joiner U+200C 8204 Yes Context-dependent[16] ? General
Punctuation
Other,
Format
ZWNJ, zero-width non-joiner. When placed between two characters that would otherwise be connected, a ZWNJ causes them to be printed in their final and initial forms, respectively.
HTML/XML named entity: &zwnj;
zero width joiner U+200D 8205 Yes Context-dependent[17] ? General
Punctuation
Other,
Format
ZWJ, zero-width joiner. When placed between two characters that would otherwise not be connected, a ZWJ causes them to be printed in their connected forms. Can also be used to display joining forms in isolation. Depending on whether a ligature or conjunct is expected by default, can either induce (as in emoji and in Sinhala) or suppress (as in Devanagari) substitution with a single glyph, whilst still permitting use of individual joining forms (unlike ZWNJ).
HTML/XML named entity: &zwj;
word joiner U+2060 8288 No No ? General
Punctuation
Other,
Format
WJ, word joiner. Similar to U+200B, but not a point at which a line may be broken.
HTML/XML named entity: &NoBreak;
zero width non-breaking space U+FEFF 65279  No No ? Arabic
Presentation
Forms-B
Other,
Format
Zero-width non-breaking space. Used primarily as a Byte Order Mark. Use as an indication of non-breaking is deprecated as of Unicode 3.2; see U+2060 instead.
  1. ^ White_Space is a binary Unicode property.[18]
  2. ^ "PropList-16.0.0.txt". Unicode. 2024-05-31. Retrieved 2024-09-13.
  3. ^ Although &ZeroWidthSpace; is one HTML5 named entity for U+200B, the additional names NegativeMediumSpace, NegativeThickSpace, NegativeThinSpace and NegativeVeryThinSpace (which are names used in the Wolfram Language for negative-advance spaces, which it maps to the Private Use Area)[12][13][14][15] are also defined by HTML5 as aliases for U+200B (e.g. &NegativeMediumSpace;).[11]


Casing

edit

The Case value is Normataive in Unicode. It pertains to those scripts with uppercase (aka capital, majuscule) and the lowercase (aka small, minuscule) letters. Case-difference occurs in Adlam, Armenian, Cherokee, Coptic, Cyrillic, Deseret, Garay, Glagolitic, Greek, Khutsuri and Mkhedruli Georgian, Latin, Medefaidrin, Old Hungarian, Osage, Vithkuqi and Warang Citi scripts.

(upper, lower, title, folding—both simple and full)

Other general characteristics

edit

Ideographic, alphabetic, noncharacter.

Combining class

edit

Some common codes:

0 = spacing letter, symbol or modifier (e.g. a, (, ʰ)
1 = overlay
6 = Han reading (CJK diacritic reading marks)
7 = nukta (diacritic nukta in Brahmic scripts)
8 = kana voicing marks
9 = virama

10–199 = various fixed-position classes

Marks which attach to the base letter:

200 = attached at bottom left
202 = attached directly below (e.g. cedilla on ç)
204 = attached at bottom right
208 = attached to left
210 = attached to right
212 = attached to top left
214 = attached directly above
216 = attached at top right

Marks which do not attach to the base letter:

218 = bottom left
220 = directly below (e.g. ring on n̥)
222 = below right
224 = left
226 = right
228 = above left
230 = above (e.g. acute accent on á)
232 = above right
233 = double below (subtends two bases)
234 = double above (extends two bases)
240 = iota subscript (only that Greek diacritic)

Bidirectional writing

edit

Six character properties pertain to bi-directional writing: Bidi_Class, Bidi_Control, Bidi_Mirrored, Bidi_Mirroring_Glyph, Bidi_Paired_Bracket and Bidi_Paired_Bracket_Type.

One of Unicode's major features is support of bi-directional (Bidi) text display right-to-left (R-to-L) and left-to-right (L-to-R). The Unicode Bidirectional Algorithm UAX9[19] describes the process of presenting text with altering script directions. For example, it enables a Hebrew quote in an English text. The Bidi_Character_Type marks a character's behaviour in directional writing. To override a direction, Unicode has defined special formatting control characters (Bidi-Controls). These characters can enforce a direction, and by definition only affect bi-directional writing.

Each code point has a property called Bidi_Class. It defines its behaviour in a bidirectional text as interpreted by the algorithm:

Bidirectional character type (Bidi_Class Unicode character property)[1]
Type[2] Description Strength Directionality General scope Bidi_Control character[3]
L Left-to-Right Strong L-to-R Most alphabetic and syllabic characters, Chinese characters, non-European or non-Arabic digits, LRM character, ... U+200E LEFT-TO-RIGHT MARK (LRM)
R Right-to-Left Strong R-to-L Adlam, Garay, Hebrew, Mandaic, Mende Kikakui, N'Ko, Samaritan, ancient scripts like Kharoshthi and Nabataean, RLM character, ... U+200F RIGHT-TO-LEFT MARK (RLM)
AL Arabic Letter Strong R-to-L Arabic, Hanifi Rohingya, Sogdian, Syriac, and Thaana alphabets, and most punctuation specific to those scripts, ALM character, ... U+061C ARABIC LETTER MARK (ALM)
EN European Number Weak European digits, Eastern Arabic-Indic digits, Coptic epact numbers, ...
ES European Separator Weak plus sign, minus sign, ...
ET European Number Terminator Weak degree sign, currency symbols, ...
AN Arabic Number Weak Arabic-Indic digits, Arabic decimal and thousands separators, Rumi digits, Hanifi Rohingya digits, ...
CS Common Number Separator Weak colon, comma, full stop, no-break space, ...
NSM Nonspacing Mark Weak Characters in General Categories Mark, nonspacing, and Mark, enclosing (Mn, Me)
BN Boundary Neutral Weak Default ignorables, non-characters, control characters other than those explicitly given other types
B Paragraph Separator Neutral paragraph separator, appropriate Newline Functions, higher-level protocol paragraph determination
S Segment Separator Neutral Tabs
WS Whitespace Neutral space, figure space, line separator, form feed, General Punctuation block spaces (smaller set than the Unicode whitespace list)
ON Other Neutrals Neutral All other characters, including object replacement character
LRE Left-to-Right Embedding Explicit L-to-R LRE character only U+202A LEFT-TO-RIGHT EMBEDDING (LRE)
LRO Left-to-Right Override Explicit L-to-R LRO character only U+202D LEFT-TO-RIGHT OVERRIDE (LRO)
RLE Right-to-Left Embedding Explicit R-to-L RLE character only U+202B RIGHT-TO-LEFT EMBEDDING (RLE)
RLO Right-to-Left Override Explicit R-to-L RLO character only U+202E RIGHT-TO-LEFT OVERRIDE (RLO)
PDF Pop Directional Format Explicit PDF character only U+202C POP DIRECTIONAL FORMATTING (PDF)
LRI Left-to-Right Isolate Explicit L-to-R LRI character only U+2066 LEFT-TO-RIGHT ISOLATE (LRI)
RLI Right-to-Left Isolate Explicit R-to-L RLI character only U+2067 RIGHT-TO-LEFT ISOLATE (RLI)
FSI First Strong Isolate Explicit FSI character only U+2068 FIRST STRONG ISOLATE (FSI)
PDI Pop Directional Isolate Explicit PDI character only U+2069 POP DIRECTIONAL ISOLATE (PDI)
Notes
1.^ Unicode Bidirectional Algorithm (UAX#9), As of Unicode version 16.0
2.^ Possible Bidirectional character types for character property: Bidi_Class or 'type'
3.^ Bidi_Control characters: Twelve Bidi_Control formatting characters are defined. They are invisible, and have no effect apart from directionality. Nine of them have a unique, overruling BiDi-type that is used by the algorithm. Their type is also their acronym (e.g. character 'LRE' has BiDi type 'LRE').

In normal situations, the algorithm can determine the direction of a text by this character property. To control more complex Bidi situations, e.g. when an English text has a Hebrew quote, extra options are added to Unicode. Twelve characters have the property Bidi_Control=Yes: ALM, FSI, LRE, LRI, LRM, LRO, PDF, PDI, RLE, RLI, RLM and RLO as named in the table. These are invisible formatting control characters, only used by the algorithm and with no effect outside of bidirectional formatting.[19] Despite the name, they are formatting characters, not control characters, and have General category Other, format (Cf) in the Unicode definition.

Basically, the algorithm determines a sequence of characters with the same strong direction type (R-to-L or L-to-R), taking in account an overruling by the special Bidi-controls. Number strings (Weak types) are assigned a direction according to their strong environment, as are Neutral characters. Finally, the characters are displayed per a string's direction.

Two character properties are relevant to determining a mirror image of a glyph in bidirectional text: Bidi_Mirrored=Yes indicates that the glyph should be mirrored when written R-to-L. The property Bidi_Mirroring_Glyph=U+hhhh can then point to the mirrored character. For example, parentheses (, ) are mirrored this way. Shaping cursive scripts such as Arabic, and mirroring glyphs that have a direction, is not part of the algorithm.

Numeric values and types

edit

Decimal

edit

Characters are classified with a Numeric type.[1] Characters such as fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits are type Numeric. They have a numeric value that can be decimal, including zero and negatives, or a vulgar fraction. If there is not such a value, as with most of the characters, the numeric type is "None".

The characters that do have a numeric value are separated in three groups: Decimal (De), Digit (Di) and Numeric (Nu, i.e. all other). "Decimal" means the character is a straight decimal digit. Only characters that are part of a contiguous encoded range 0..9 have numeric type Decimal. Other digits, like superscripts, have numeric type Digit. All numeric characters like fractions and Roman numerals end up with the type "Numeric". The intended effect is that a simple parser can use these decimal numeric values, without being distracted by say a numeric superscript or a fraction. Eighty-three CJK Ideographs that represent a number, including those used for accounting, are typed Numeric.

On the other hand, characters that could have a numeric value as a second meaning are still marked Numeric type None, and have no numeric value. E.g. Latin letters can be used in paragraph numbering like "II.A.1.b", but the letters "I", "A" and "b" are not numeric (type None) and have no numeric value.

Numeric Type[a][b] (Unicode character property)
Numeric type Code Has numeric value Example Remarks
Not numeric <none> No
  • A
  • X (Latin)
  • !
  • Д
  • μ
Numeric Value="NaN"
Decimal De Yes
  • 0
  • 1
  • 9
  •  (Devanagari 6)
  •  (Kannada 6)
  • 𝟨 (Mathematical, styled sans serif)
Straight digit (decimal-radix). Corresponds both ways with General Category=Nd[a]
Digit Di Yes
  • ¹ (superscript)
  •  (digit with full stop)
Decimal, but in typographic context
Numeric Nu Yes
  • ¾
  •  (Tamil number ten)
  •  (Roman numeral)
  •  (Han number 6)
Numeric value, but not decimal-radix
a. ^ "Section 4.6: Numeric Value". The Unicode Standard. Unicode Consortium. September 2024.
b. ^ "Unicode 16.0 Derived Numeric Types". Unicode Character Database. Unicode Consortium. 2024-04-30.

Hexadecimal digits

edit

Hexadecimal characters are those in the series with hexadecimal values 0...9ABCDEF (sixteen characters, decimal value 0–15). The character property Hex_Digit is set to Yes when a character is in such a series:

Characters in Unicode marked Hex_Digit=Yes[a]
0123456789ABCDEF Basic Latin, capitals Also ASCII_Hex_Digit=Yes
0123456789abcdef Basic Latin, small letters Also ASCII_Hex_Digit=Yes
0123456789ABCDEF Fullwidth forms, capitals
0123456789abcdef Fullwidth forms, small letters
a. ^ "Unicode 16.0 UCD: PropList.txt". 2024-05-31. Retrieved 2024-09-13.

Forty-four characters are marked as Hex_Digit. The ones in the Basic Latin block are also marked as ASCII_Hex_Digit.

Unicode has no separate characters for hexadecimal values. A consequence is, that when using regular characters it is not possible to determine whether hexadecimal value is intended, or even whether a value is intended at all. That should be determined at a higher level, e.g. by prepending 0x to a hexadecimal number or by context. The only feature is that Unicode can note that a sequence can or can not be a hexadecimal value.

Block

edit

A block is a uniquely named, contiguous range of code points. It is identified by its first and last code point. Blocks do not overlap. A block may contain code points that are reserved, not-assigned, etc. Each character that is assigned, has a single "block name" value from the 338 names assigned as of Unicode version 16.0. Unassigned code points outside of an existing block have the default value "No_block".

Plane Block range Block name Code points[a] Assigned characters Scripts[b][c][d][e][f]
 0 BMP U+0000..U+007F Basic Latin[g] 128 128 Latin (52 characters), Common (76 characters)
 0 BMP U+0080..U+00FF Latin-1 Supplement[h] 128 128 Latin (64 characters), Common (64 characters)
 0 BMP U+0100..U+017F Latin Extended-A 128 128 Latin
 0 BMP U+0180..U+024F Latin Extended-B 208 208 Latin
 0 BMP U+0250..U+02AF IPA Extensions 96 96 Latin
 0 BMP U+02B0..U+02FF Spacing Modifier Letters 80 80 Bopomofo (2 characters), Latin (14 characters), Common (64 characters)
 0 BMP U+0300..U+036F Combining Diacritical Marks 112 112 Inherited
 0 BMP U+0370..U+03FF Greek and Coptic 144 135 Coptic (14 characters), Greek (117 characters), Common (4 characters)
 0 BMP U+0400..U+04FF Cyrillic 256 256 Cyrillic (254 characters), Inherited (2 characters)
 0 BMP U+0500..U+052F Cyrillic Supplement 48 48 Cyrillic
 0 BMP U+0530..U+058F Armenian 96 91 Armenian
 0 BMP U+0590..U+05FF Hebrew 112 88 Hebrew
 0 BMP U+0600..U+06FF Arabic 256 256 Arabic (238 characters), Common (6 characters), Inherited (12 characters)
 0 BMP U+0700..U+074F Syriac 80 77 Syriac
 0 BMP U+0750..U+077F Arabic Supplement 48 48 Arabic
 0 BMP U+0780..U+07BF Thaana 64 50 Thaana
 0 BMP U+07C0..U+07FF NKo 64 62 N’Ko
 0 BMP U+0800..U+083F Samaritan 64 61 Samaritan
 0 BMP U+0840..U+085F Mandaic 32 29 Mandaic
 0 BMP U+0860..U+086F Syriac Supplement 16 11 Syriac
 0 BMP U+0870..U+089F Arabic Extended-B 48 42 Arabic
 0 BMP U+08A0..U+08FF Arabic Extended-A 96 96 Arabic (95 characters), Common (1 character)
 0 BMP U+0900..U+097F Devanagari 128 128 Devanagari (122 characters), Common (2 characters), Inherited (4 characters)
 0 BMP U+0980..U+09FF Bengali 128 96 Bengali
 0 BMP U+0A00..U+0A7F Gurmukhi 128 80 Gurmukhi
 0 BMP U+0A80..U+0AFF Gujarati 128 91 Gujarati
 0 BMP U+0B00..U+0B7F Oriya 128 91 Oriya
 0 BMP U+0B80..U+0BFF Tamil 128 72 Tamil
 0 BMP U+0C00..U+0C7F Telugu 128 100 Telugu
 0 BMP U+0C80..U+0CFF Kannada 128 91 Kannada
 0 BMP U+0D00..U+0D7F Malayalam 128 118 Malayalam
 0 BMP U+0D80..U+0DFF Sinhala 128 91 Sinhala
 0 BMP U+0E00..U+0E7F Thai 128 87 Thai (86 characters), Common (1 character)
 0 BMP U+0E80..U+0EFF Lao 128 83 Lao
 0 BMP U+0F00..U+0FFF Tibetan 256 211 Tibetan (207 characters), Common (4 characters)
 0 BMP U+1000..U+109F Myanmar 160 160 Myanmar
 0 BMP U+10A0..U+10FF Georgian 96 88 Georgian (87 characters), Common (1 character)
 0 BMP U+1100..U+11FF Hangul Jamo 256 256 Hangul
 0 BMP U+1200..U+137F Ethiopic 384 358 Ethiopic
 0 BMP U+1380..U+139F Ethiopic Supplement 32 26 Ethiopic
 0 BMP U+13A0..U+13FF Cherokee 96 92 Cherokee
 0 BMP U+1400..U+167F Unified Canadian Aboriginal Syllabics 640 640 Canadian Aboriginal
 0 BMP U+1680..U+169F Ogham 32 29 Ogham
 0 BMP U+16A0..U+16FF Runic 96 89 Runic (86 characters), Common (3 characters)
 0 BMP U+1700..U+171F Tagalog 32 23 Tagalog
 0 BMP U+1720..U+173F Hanunoo 32 23 Hanunoo (21 characters), Common (2 characters)
 0 BMP U+1740..U+175F Buhid 32 20 Buhid
 0 BMP U+1760..U+177F Tagbanwa 32 18 Tagbanwa
 0 BMP U+1780..U+17FF Khmer 128 114 Khmer
 0 BMP U+1800..U+18AF Mongolian 176 158 Mongolian (155 characters), Common (3 characters)
 0 BMP U+18B0..U+18FF Unified Canadian Aboriginal Syllabics Extended 80 70 Canadian Aboriginal
 0 BMP U+1900..U+194F Limbu 80 68 Limbu
 0 BMP U+1950..U+197F Tai Le 48 35 Tai Le
 0 BMP U+1980..U+19DF New Tai Lue 96 83 New Tai Lue
 0 BMP U+19E0..U+19FF Khmer Symbols 32 32 Khmer
 0 BMP U+1A00..U+1A1F Buginese 32 30 Buginese
 0 BMP U+1A20..U+1AAF Tai Tham 144 127 Tai Tham
 0 BMP U+1AB0..U+1AFF Combining Diacritical Marks Extended 80 31 Inherited
 0 BMP U+1B00..U+1B7F Balinese 128 127 Balinese
 0 BMP U+1B80..U+1BBF Sundanese 64 64 Sundanese
 0 BMP U+1BC0..U+1BFF Batak 64 56 Batak
 0 BMP U+1C00..U+1C4F Lepcha 80 74 Lepcha
 0 BMP U+1C50..U+1C7F Ol Chiki 48 48 Ol Chiki
 0 BMP U+1C80..U+1C8F Cyrillic Extended-C 16 11 Cyrillic
 0 BMP U+1C90..U+1CBF Georgian Extended 48 46 Georgian
 0 BMP U+1CC0..U+1CCF Sundanese Supplement 16 8 Sundanese
 0 BMP U+1CD0..U+1CFF Vedic Extensions 48 43 Common (16 characters), Inherited (27 characters)
 0 BMP U+1D00..U+1D7F Phonetic Extensions 128 128 Cyrillic (2 characters), Greek (15 characters), Latin (111 characters)
 0 BMP U+1D80..U+1DBF Phonetic Extensions Supplement 64 64 Greek (1 character), Latin (63 characters)
 0 BMP U+1DC0..U+1DFF Combining Diacritical Marks Supplement 64 64 Inherited
 0 BMP U+1E00..U+1EFF Latin Extended Additional 256 256 Latin
 0 BMP U+1F00..U+1FFF Greek Extended 256 233 Greek
 0 BMP U+2000..U+206F General Punctuation 112 111 Common (109 characters), Inherited (2 characters)
 0 BMP U+2070..U+209F Superscripts and Subscripts 48 42 Latin (15 characters), Common (27 characters)
 0 BMP U+20A0..U+20CF Currency Symbols 48 33 Common
 0 BMP U+20D0..U+20FF Combining Diacritical Marks for Symbols 48 33 Inherited
 0 BMP U+2100..U+214F Letterlike Symbols 80 80 Greek (1 character), Latin (4 characters), Common (75 characters)
 0 BMP U+2150..U+218F Number Forms 64 60 Latin (41 characters), Common (19 characters)
 0 BMP U+2190..U+21FF Arrows 112 112 Common
 0 BMP U+2200..U+22FF Mathematical Operators 256 256 Common
 0 BMP U+2300..U+23FF Miscellaneous Technical 256 256 Common
 0 BMP U+2400..U+243F Control Pictures 64 42 Common
 0 BMP U+2440..U+245F Optical Character Recognition 32 11 Common
 0 BMP U+2460..U+24FF Enclosed Alphanumerics 160 160 Common
 0 BMP U+2500..U+257F Box Drawing 128 128 Common
 0 BMP U+2580..U+259F Block Elements 32 32 Common
 0 BMP U+25A0..U+25FF Geometric Shapes 96 96 Common
 0 BMP U+2600..U+26FF Miscellaneous Symbols 256 256 Common
 0 BMP U+2700..U+27BF Dingbats 192 192 Common
 0 BMP U+27C0..U+27EF Miscellaneous Mathematical Symbols-A 48 48 Common
 0 BMP U+27F0..U+27FF Supplemental Arrows-A 16 16 Common
 0 BMP U+2800..U+28FF Braille Patterns 256 256 Braille
 0 BMP U+2900..U+297F Supplemental Arrows-B 128 128 Common
 0 BMP U+2980..U+29FF Miscellaneous Mathematical Symbols-B 128 128 Common
 0 BMP U+2A00..U+2AFF Supplemental Mathematical Operators 256 256 Common
 0 BMP U+2B00..U+2BFF Miscellaneous Symbols and Arrows 256 253 Common
 0 BMP U+2C00..U+2C5F Glagolitic 96 96 Glagolitic
 0 BMP U+2C60..U+2C7F Latin Extended-C 32 32 Latin
 0 BMP U+2C80..U+2CFF Coptic 128 123 Coptic
 0 BMP U+2D00..U+2D2F Georgian Supplement 48 40 Georgian
 0 BMP U+2D30..U+2D7F Tifinagh 80 59 Tifinagh
 0 BMP U+2D80..U+2DDF Ethiopic Extended 96 79 Ethiopic
 0 BMP U+2DE0..U+2DFF Cyrillic Extended-A 32 32 Cyrillic
 0 BMP U+2E00..U+2E7F Supplemental Punctuation 128 94 Common
 0 BMP U+2E80..U+2EFF CJK Radicals Supplement 128 115 Han
 0 BMP U+2F00..U+2FDF Kangxi Radicals 224 214 Han
 0 BMP U+2FF0..U+2FFF Ideographic Description Characters 16 16 Common
 0 BMP U+3000..U+303F CJK Symbols and Punctuation 64 64 Han (15 characters), Hangul (2 characters), Common (43 characters), Inherited (4 characters)
 0 BMP U+3040..U+309F Hiragana 96 93 Hiragana (89 characters), Common (2 characters), Inherited (2 characters)
 0 BMP U+30A0..U+30FF Katakana 96 96 Katakana (93 characters), Common (3 characters)
 0 BMP U+3100..U+312F Bopomofo 48 43 Bopomofo
 0 BMP U+3130..U+318F Hangul Compatibility Jamo 96 94 Hangul
 0 BMP U+3190..U+319F Kanbun 16 16 Common
 0 BMP U+31A0..U+31BF Bopomofo Extended 32 32 Bopomofo
 0 BMP U+31C0..U+31EF CJK Strokes 48 39 Common
 0 BMP U+31F0..U+31FF Katakana Phonetic Extensions 16 16 Katakana
 0 BMP U+3200..U+32FF Enclosed CJK Letters and Months 256 255 Hangul (62 characters), Katakana (47 characters), Common (146 characters)
 0 BMP U+3300..U+33FF CJK Compatibility 256 256 Katakana (88 characters), Common (168 characters)
 0 BMP U+3400..U+4DBF CJK Unified Ideographs Extension A 6,592 6,592 Han
 0 BMP U+4DC0..U+4DFF Yijing Hexagram Symbols 64 64 Common
 0 BMP U+4E00..U+9FFF CJK Unified Ideographs 20,992 20,992 Han
 0 BMP U+A000..U+A48F Yi Syllables 1,168 1,165 Yi
 0 BMP U+A490..U+A4CF Yi Radicals 64 55 Yi
 0 BMP U+A4D0..U+A4FF Lisu 48 48 Lisu
 0 BMP U+A500..U+A63F Vai 320 300 Vai
 0 BMP U+A640..U+A69F Cyrillic Extended-B 96 96 Cyrillic
 0 BMP U+A6A0..U+A6FF Bamum 96 88 Bamum
 0 BMP U+A700..U+A71F Modifier Tone Letters 32 32 Common
 0 BMP U+A720..U+A7FF Latin Extended-D 224 199 Latin (194 characters), Common (5 characters)
 0 BMP U+A800..U+A82F Syloti Nagri 48 45 Syloti Nagri
 0 BMP U+A830..U+A83F Common Indic Number Forms 16 10 Common
 0 BMP U+A840..U+A87F Phags-pa 64 56 Phags Pa
 0 BMP U+A880..U+A8DF Saurashtra 96 82 Saurashtra
 0 BMP U+A8E0..U+A8FF Devanagari Extended 32 32 Devanagari
 0 BMP U+A900..U+A92F Kayah Li 48 48 Kayah Li (47 characters), Common (1 character)
 0 BMP U+A930..U+A95F Rejang 48 37 Rejang
 0 BMP U+A960..U+A97F Hangul Jamo Extended-A 32 29 Hangul
 0 BMP U+A980..U+A9DF Javanese 96 91 Javanese (90 characters), Common (1 character)
 0 BMP U+A9E0..U+A9FF Myanmar Extended-B 32 31 Myanmar
 0 BMP U+AA00..U+AA5F Cham 96 83 Cham
 0 BMP U+AA60..U+AA7F Myanmar Extended-A 32 32 Myanmar
 0 BMP U+AA80..U+AADF Tai Viet 96 72 Tai Viet
 0 BMP U+AAE0..U+AAFF Meetei Mayek Extensions 32 23 Meetei Mayek
 0 BMP U+AB00..U+AB2F Ethiopic Extended-A 48 32 Ethiopic
 0 BMP U+AB30..U+AB6F Latin Extended-E 64 60 Latin (56 characters), Greek (1 character), Common (3 characters)
 0 BMP U+AB70..U+ABBF Cherokee Supplement 80 80 Cherokee
 0 BMP U+ABC0..U+ABFF Meetei Mayek 64 56 Meetei Mayek
 0 BMP U+AC00..U+D7AF Hangul Syllables 11,184 11,172 Hangul
 0 BMP U+D7B0..U+D7FF Hangul Jamo Extended-B 80 72 Hangul
 0 BMP U+D800..U+DB7F High Surrogates 896 0 Unknown
 0 BMP U+DB80..U+DBFF High Private Use Surrogates 128 0 Unknown
 0 BMP U+DC00..U+DFFF Low Surrogates 1,024 0 Unknown
 0 BMP U+E000..U+F8FF Private Use Area 6,400 6,400 Unknown
 0 BMP U+F900..U+FAFF CJK Compatibility Ideographs 512 472 Han
 0 BMP U+FB00..U+FB4F Alphabetic Presentation Forms 80 58 Armenian (5 characters), Hebrew (46 characters), Latin (7 characters)
 0 BMP U+FB50..U+FDFF Arabic Presentation Forms-A 688 631 Arabic (629 characters), Common (2 characters)
 0 BMP U+FE00..U+FE0F Variation Selectors 16 16 Inherited
 0 BMP U+FE10..U+FE1F Vertical Forms 16 10 Common
 0 BMP U+FE20..U+FE2F Combining Half Marks 16 16 Cyrillic (2 characters), Inherited (14 characters)
 0 BMP U+FE30..U+FE4F CJK Compatibility Forms 32 32 Common
 0 BMP U+FE50..U+FE6F Small Form Variants 32 26 Common
 0 BMP U+FE70..U+FEFF Arabic Presentation Forms-B 144 141 Arabic (140 characters), Common (1 character)
 0 BMP U+FF00..U+FFEF Halfwidth and Fullwidth Forms 240 225 Hangul (52 characters), Katakana (55 characters), Latin (52 characters), Common (66 characters)
 0 BMP U+FFF0..U+FFFF Specials 16 5 Common
 1 SMP U+10000..U+1007F Linear B Syllabary 128 88 Linear B
 1 SMP U+10080..U+100FF Linear B Ideograms 128 123 Linear B
 1 SMP U+10100..U+1013F Aegean Numbers 64 57 Common
 1 SMP U+10140..U+1018F Ancient Greek Numbers 80 79 Greek
 1 SMP U+10190..U+101CF Ancient Symbols 64 14 Greek (1 character), Common (13 characters)
 1 SMP U+101D0..U+101FF Phaistos Disc 48 46 Common (45 characters), Inherited (1 character)
 1 SMP U+10280..U+1029F Lycian 32 29 Lycian
 1 SMP U+102A0..U+102DF Carian 64 49 Carian
 1 SMP U+102E0..U+102FF Coptic Epact Numbers 32 28 Common (27 characters), Inherited (1 character)
 1 SMP U+10300..U+1032F Old Italic 48 39 Old Italic
 1 SMP U+10330..U+1034F Gothic 32 27 Gothic
 1 SMP U+10350..U+1037F Old Permic 48 43 Old Permic
 1 SMP U+10380..U+1039F Ugaritic 32 31 Ugaritic
 1 SMP U+103A0..U+103DF Old Persian 64 50 Old Persian
 1 SMP U+10400..U+1044F Deseret 80 80 Deseret
 1 SMP U+10450..U+1047F Shavian 48 48 Shavian
 1 SMP U+10480..U+104AF Osmanya 48 40 Osmanya
 1 SMP U+104B0..U+104FF Osage 80 72 Osage
 1 SMP U+10500..U+1052F Elbasan 48 40 Elbasan
 1 SMP U+10530..U+1056F Caucasian Albanian 64 53 Caucasian Albanian
 1 SMP U+10570..U+105BF Vithkuqi 80 70 Vithkuqi
 1 SMP U+105C0..U+105FF Todhri 64 52 Todhri
 1 SMP U+10600..U+1077F Linear A 384 341 Linear A
 1 SMP U+10780..U+107BF Latin Extended-F 64 57 Latin
 1 SMP U+10800..U+1083F Cypriot Syllabary 64 55 Cypriot
 1 SMP U+10840..U+1085F Imperial Aramaic 32 31 Imperial Aramaic
 1 SMP U+10860..U+1087F Palmyrene 32 32 Palmyrene
 1 SMP U+10880..U+108AF Nabataean 48 40 Nabataean
 1 SMP U+108E0..U+108FF Hatran 32 26 Hatran
 1 SMP U+10900..U+1091F Phoenician 32 29 Phoenician
 1 SMP U+10920..U+1093F Lydian 32 27 Lydian
 1 SMP U+10980..U+1099F Meroitic Hieroglyphs 32 32 Meroitic Hieroglyphs
 1 SMP U+109A0..U+109FF Meroitic Cursive 96 90 Meroitic Cursive
 1 SMP U+10A00..U+10A5F Kharoshthi 96 68 Kharoshthi
 1 SMP U+10A60..U+10A7F Old South Arabian 32 32 Old South Arabian
 1 SMP U+10A80..U+10A9F Old North Arabian 32 32 Old North Arabian
 1 SMP U+10AC0..U+10AFF Manichaean 64 51 Manichaean
 1 SMP U+10B00..U+10B3F Avestan 64 61 Avestan
 1 SMP U+10B40..U+10B5F Inscriptional Parthian 32 30 Inscriptional Parthian
 1 SMP U+10B60..U+10B7F Inscriptional Pahlavi 32 27 Inscriptional Pahlavi
 1 SMP U+10B80..U+10BAF Psalter Pahlavi 48 29 Psalter Pahlavi
 1 SMP U+10C00..U+10C4F Old Turkic 80 73 Old Turkic
 1 SMP U+10C80..U+10CFF Old Hungarian 128 108 Old Hungarian
 1 SMP U+10D00..U+10D3F Hanifi Rohingya 64 50 Hanifi Rohingya
 1 SMP U+10D40..U+10D8F Garay 80 69 Garay
 1 SMP U+10E60..U+10E7F Rumi Numeral Symbols 32 31 Arabic
 1 SMP U+10E80..U+10EBF Yezidi 64 47 Yezidi
 1 SMP U+10EC0..U+10EFF Arabic Extended-C 64 7 Arabic
 1 SMP U+10F00..U+10F2F Old Sogdian 48 40 Old Sogdian
 1 SMP U+10F30..U+10F6F Sogdian 64 42 Sogdian
 1 SMP U+10F70..U+10FAF Old Uyghur 64 26 Old Uyghur
 1 SMP U+10FB0..U+10FDF Chorasmian 48 28 Chorasmian
 1 SMP U+10FE0..U+10FFF Elymaic 32 23 Elymaic
 1 SMP U+11000..U+1107F Brahmi 128 115 Brahmi
 1 SMP U+11080..U+110CF Kaithi 80 68 Kaithi
 1 SMP U+110D0..U+110FF Sora Sompeng 48 35 Sora Sompeng
 1 SMP U+11100..U+1114F Chakma 80 71 Chakma
 1 SMP U+11150..U+1117F Mahajani 48 39 Mahajani
 1 SMP U+11180..U+111DF Sharada 96 96 Sharada
 1 SMP U+111E0..U+111FF Sinhala Archaic Numbers 32 20 Sinhala
 1 SMP U+11200..U+1124F Khojki 80 65 Khojki
 1 SMP U+11280..U+112AF Multani 48 38 Multani
 1 SMP U+112B0..U+112FF Khudawadi 80 69 Khudawadi
 1 SMP U+11300..U+1137F Grantha 128 86 Grantha (85 characters), Inherited (1 character)
 1 SMP U+11380..U+113FF Tulu-Tigalari 128 80 Tulu Tigalari
 1 SMP U+11400..U+1147F Newa 128 97 Newa
 1 SMP U+11480..U+114DF Tirhuta 96 82 Tirhuta
 1 SMP U+11580..U+115FF Siddham 128 92 Siddham
 1 SMP U+11600..U+1165F Modi 96 79 Modi
 1 SMP U+11660..U+1167F Mongolian Supplement 32 13 Mongolian
 1 SMP U+11680..U+116CF Takri 80 68 Takri
 1 SMP U+116D0..U+116FF Myanmar Extended-C 48 20 Myanmar
 1 SMP U+11700..U+1174F Ahom 80 65 Ahom
 1 SMP U+11800..U+1184F Dogra 80 60 Dogra
 1 SMP U+118A0..U+118FF Warang Citi 96 84 Warang Citi
 1 SMP U+11900..U+1195F Dives Akuru 96 72 Dives Akuru
 1 SMP U+119A0..U+119FF Nandinagari 96 65 Nandinagari
 1 SMP U+11A00..U+11A4F Zanabazar Square 80 72 Zanabazar Square
 1 SMP U+11A50..U+11AAF Soyombo 96 83 Soyombo
 1 SMP U+11AB0..U+11ABF Unified Canadian Aboriginal Syllabics Extended-A 16 16 Canadian Aboriginal
 1 SMP U+11AC0..U+11AFF Pau Cin Hau 64 57 Pau Cin Hau
 1 SMP U+11B00..U+11B5F Devanagari Extended-A 96 10 Devanagari
 1 SMP U+11BC0..U+11BFF Sunuwar 64 44 Sunuwar
 1 SMP U+11C00..U+11C6F Bhaiksuki 112 97 Bhaiksuki
 1 SMP U+11C70..U+11CBF Marchen 80 68 Marchen
 1 SMP U+11D00..U+11D5F Masaram Gondi 96 75 Masaram Gondi
 1 SMP U+11D60..U+11DAF Gunjala Gondi 80 63 Gunjala Gondi
 1 SMP U+11EE0..U+11EFF Makasar 32 25 Makasar
 1 SMP U+11F00..U+11F5F Kawi 96 87 Kawi
 1 SMP U+11FB0..U+11FBF Lisu Supplement 16 1 Lisu
 1 SMP U+11FC0..U+11FFF Tamil Supplement 64 51 Tamil
 1 SMP U+12000..U+123FF Cuneiform 1,024 922 Cuneiform
 1 SMP U+12400..U+1247F Cuneiform Numbers and Punctuation 128 116 Cuneiform
 1 SMP U+12480..U+1254F Early Dynastic Cuneiform 208 196 Cuneiform
 1 SMP U+12F90..U+12FFF Cypro-Minoan 112 99 Cypro Minoan
 1 SMP U+13000..U+1342F Egyptian Hieroglyphs 1,072 1,072 Egyptian Hieroglyphs
 1 SMP U+13430..U+1345F Egyptian Hieroglyph Format Controls 48 38 Egyptian Hieroglyphs
 1 SMP U+13460..U+143FF Egyptian Hieroglyphs Extended-A 4,000 3,995 Egyptian Hieroglyphs
 1 SMP U+14400..U+1467F Anatolian Hieroglyphs 640 583 Anatolian Hieroglyphs
 1 SMP U+16100..U+1613F Gurung Khema 64 58 Gurung Khema
 1 SMP U+16800..U+16A3F Bamum Supplement 576 569 Bamum
 1 SMP U+16A40..U+16A6F Mro 48 43 Mro
 1 SMP U+16A70..U+16ACF Tangsa 96 89 Tangsa
 1 SMP U+16AD0..U+16AFF Bassa Vah 48 36 Bassa Vah
 1 SMP U+16B00..U+16B8F Pahawh Hmong 144 127 Pahawh Hmong
 1 SMP U+16D40..U+16D7F Kirat Rai 64 58 Kirat Rai
 1 SMP U+16E40..U+16E9F Medefaidrin 96 91 Medefaidrin
 1 SMP U+16F00..U+16F9F Miao 160 149 Miao
 1 SMP U+16FE0..U+16FFF Ideographic Symbols and Punctuation 32 7 Han (4 characters), Khitan Small Script (1 character), Nushu (1 character), Tangut (1 character)
 1 SMP U+17000..U+187FF Tangut 6,144 6,136 Tangut
 1 SMP U+18800..U+18AFF Tangut Components 768 768 Tangut
 1 SMP U+18B00..U+18CFF Khitan Small Script 512 471 Khitan Small Script
 1 SMP U+18D00..U+18D7F Tangut Supplement 128 9 Tangut
 1 SMP U+1AFF0..U+1AFFF Kana Extended-B 16 13 Katakana
 1 SMP U+1B000..U+1B0FF Kana Supplement 256 256 Hiragana (255 characters), Katakana (1 character)
 1 SMP U+1B100..U+1B12F Kana Extended-A 48 35 Hiragana (32 characters), Katakana (3 characters)
 1 SMP U+1B130..U+1B16F Small Kana Extension 64 9 Hiragana (4 characters), Katakana (5 characters)
 1 SMP U+1B170..U+1B2FF Nushu 400 396 Nüshu
 1 SMP U+1BC00..U+1BC9F Duployan 160 143 Duployan
 1 SMP U+1BCA0..U+1BCAF Shorthand Format Controls 16 4 Common
 1 SMP U+1CC00..U+1CEBF Symbols for Legacy Computing Supplement 704 686 Common
 1 SMP U+1CF00..U+1CFCF Znamenny Musical Notation 208 185 Common (116 characters), Inherited (69 characters)
 1 SMP U+1D000..U+1D0FF Byzantine Musical Symbols 256 246 Common
 1 SMP U+1D100..U+1D1FF Musical Symbols 256 233 Common (211 characters), Inherited (22 characters)
 1 SMP U+1D200..U+1D24F Ancient Greek Musical Notation 80 70 Greek
 1 SMP U+1D2C0..U+1D2DF Kaktovik Numerals 32 20 Common
 1 SMP U+1D2E0..U+1D2FF Mayan Numerals 32 20 Common
 1 SMP U+1D300..U+1D35F Tai Xuan Jing Symbols 96 87 Common
 1 SMP U+1D360..U+1D37F Counting Rod Numerals 32 25 Common
 1 SMP U+1D400..U+1D7FF Mathematical Alphanumeric Symbols 1,024 996 Common
 1 SMP U+1D800..U+1DAAF Sutton SignWriting 688 672 SignWriting
 1 SMP U+1DF00..U+1DFFF Latin Extended-G 256 37 Latin
 1 SMP U+1E000..U+1E02F Glagolitic Supplement 48 38 Glagolitic
 1 SMP U+1E030..U+1E08F Cyrillic Extended-D 96 63 Cyrillic
 1 SMP U+1E100..U+1E14F Nyiakeng Puachue Hmong 80 71 Nyiakeng Puachue Hmong
 1 SMP U+1E290..U+1E2BF Toto 48 31 Toto
 1 SMP U+1E2C0..U+1E2FF Wancho 64 59 Wancho
 1 SMP U+1E4D0..U+1E4FF Nag Mundari 48 42 Mundari
 1 SMP U+1E5D0..U+1E5FF Ol Onal 48 44 Ol Onal
 1 SMP U+1E7E0..U+1E7FF Ethiopic Extended-B 32 28 Ethiopic
 1 SMP U+1E800..U+1E8DF Mende Kikakui 224 213 Mende Kikakui
 1 SMP U+1E900..U+1E95F Adlam 96 88 Adlam
 1 SMP U+1EC70..U+1ECBF Indic Siyaq Numbers 80 68 Common
 1 SMP U+1ED00..U+1ED4F Ottoman Siyaq Numbers 80 61 Common
 1 SMP U+1EE00..U+1EEFF Arabic Mathematical Alphabetic Symbols 256 143 Arabic
 1 SMP U+1F000..U+1F02F Mahjong Tiles 48 44 Common
 1 SMP U+1F030..U+1F09F Domino Tiles 112 100 Common
 1 SMP U+1F0A0..U+1F0FF Playing Cards 96 82 Common
 1 SMP U+1F100..U+1F1FF Enclosed Alphanumeric Supplement 256 200 Common
 1 SMP U+1F200..U+1F2FF Enclosed Ideographic Supplement 256 64 Hiragana (1 character), Common (63 characters)
 1 SMP U+1F300..U+1F5FF Miscellaneous Symbols and Pictographs 768 768 Common
 1 SMP U+1F600..U+1F64F Emoticons 80 80 Common
 1 SMP U+1F650..U+1F67F Ornamental Dingbats 48 48 Common
 1 SMP U+1F680..U+1F6FF Transport and Map Symbols 128 118 Common
 1 SMP U+1F700..U+1F77F Alchemical Symbols 128 124 Common
 1 SMP U+1F780..U+1F7FF Geometric Shapes Extended 128 103 Common
 1 SMP U+1F800..U+1F8FF Supplemental Arrows-C 256 162 Common
 1 SMP U+1F900..U+1F9FF Supplemental Symbols and Pictographs 256 256 Common
 1 SMP U+1FA00..U+1FA6F Chess Symbols 112 98 Common
 1 SMP U+1FA70..U+1FAFF Symbols and Pictographs Extended-A 144 114 Common
 1 SMP U+1FB00..U+1FBFF Symbols for Legacy Computing 256 249 Common
 2 SIP U+20000..U+2A6DF CJK Unified Ideographs Extension B 42,720 42,720 Han
 2 SIP U+2A700..U+2B73F CJK Unified Ideographs Extension C 4,160 4,154 Han
 2 SIP U+2B740..U+2B81F CJK Unified Ideographs Extension D 224 222 Han
 2 SIP U+2B820..U+2CEAF CJK Unified Ideographs Extension E 5,776 5,762 Han
 2 SIP U+2CEB0..U+2EBEF CJK Unified Ideographs Extension F 7,488 7,473 Han
 2 SIP U+2EBF0..U+2EE5F CJK Unified Ideographs Extension I 624 622 Han
 2 SIP U+2F800..U+2FA1F CJK Compatibility Ideographs Supplement 544 542 Han
 3 TIP U+30000..U+3134F CJK Unified Ideographs Extension G 4,944 4,939 Han
 3 TIP U+31350..U+323AF CJK Unified Ideographs Extension H 4,192 4,192 Han
14 SSP U+E0000..U+E007F Tags 128 97 Common
14 SSP U+E0100..U+E01EF Variation Selectors Supplement 240 240 Inherited
15 PUA-A U+F0000..U+FFFFF Supplementary Private Use Area-A 65,536 65,534 Unknown
16 PUA-B U+100000..U+10FFFF Supplementary Private Use Area-B 65,536 65,534 Unknown
  1. ^ Code point count includes unassigned code points: noncharacter, reserved etc.
  2. ^ The script has one or multiple characters in the block, as defined by the Script Property. This is independent of the block name
  3. ^ "Common" and "Unknown" (Zyyy) and "Inherited" (Zinh or Qaai) refer to Scripts in ISO 15924
  4. ^ Unicode Blocks data file. As of Unicode version 16.0
  5. ^ UAX 24: Unicode Script Property (4 alpha code)
  6. ^ UAX 24: Script data file
  7. ^ Called "C0 Controls and Basic Latin" in ISO/IEC 10646
  8. ^ Called "C1 Controls and Latin-1 Supplement" in ISO/IEC 10646

Script

edit

Each assigned character can have a single value for its "Script" property, signifying to which script it belongs.[20] The value is a four-letter code in the range Aaaa-Zzzz, as available in ISO 15924, which is mapped to a writing system. Apart from when describing the background and usage of a script, Unicode does not use a connection between a script and languages that use that script. So "Hebrew" refers to the Hebrew script, not to the Hebrew language.

The special code Zyyy for "Common" allows a single value for a character that is used in multiple scripts. The code Zinh "Inherited script", used for combining characters and certain other special-purpose code points, indicates that a character "inherits" its script identity from the character with which it is combined. (Unicode formerly used the private code Qaai for this purpose.) The code Zzzz "Unknown" is used for all characters that do not belong to a script (i.e. the default value), such as symbols and formatting characters. Overall, characters of a single script can be scattered over multiple blocks, like Latin characters. And the other way around too: multiple scripts can be present is a single block, e.g. block Letterlike Symbols contains characters from the Latin, Greek and Common scripts.

When the Script is "" (blank), according to Unicode the character does not belong to a script. This pertains to symbols, because the existing ISO script codes "Zmth" (Mathematical notation), "Zsym" (Symbol), and "Zsye" (Symbol, emoji variant) are not used in Unicode. The "Script" property is also blank for code points that are not a typographic character like controls, substitutes, and private use code points.

If there is a specific script alias name in ISO 15924, it is used in the character name: U+0041 A LATIN CAPITAL LETTER A, and U+05D0 א HEBREW LETTER ALEF.

ISO 15924 Script in Unicode[e]
Code ISO number ISO formal name Directionality Unicode Alias[f] Version Characters Notes Description
Adlm 166 Adlam right-to-left script   Adlam 9.0 88 Ch 19.9
Afak 439 Afaka varies ZZ— Not in Unicode, proposal is explored[i]
Aghb 239 Caucasian Albanian left-to-right   Caucasian Albanian 7.0 53 Ancient/historic Ch 8.11
Ahom 338 Ahom, Tai Ahom left-to-right   Ahom 8.0 65 Ancient/historic Ch 15.16
Arab 160 Arabic right-to-left script   Arabic 1.0 1,373 Ch 9.2
Aran 161 Arabic (Nastaliq variant) mixed ZZ— Typographic variant of Arabic (see § Arab)
Armi 124 Imperial Aramaic right-to-left script   Imperial Aramaic 5.2 31 Ancient/historic Ch 10.4
Armn 230 Armenian left-to-right   Armenian 1.0 96 Ch 7.6
Avst 134 Avestan right-to-left script   Avestan 5.2 61 Ancient/historic Ch 10.7
Bali 360 Balinese left-to-right   Balinese 5.0 127 Ch 17.3
Bamu 435 Bamum left-to-right   Bamum 5.2 657 Ch 19.6
Bass 259 Bassa Vah left-to-right   Bassa Vah 7.0 36 Ancient/historic Ch 19.7
Batk 365 Batak left-to-right   Batak 6.0 56 Ch 17.6
Beng 325 Bengali (Bangla) left-to-right   Bengali 1.0 96 Ch 12.2
Bhks 334 Bhaiksuki left-to-right   Bhaiksuki 9.0 97 Ancient/historic Ch 14.3
Blis 550 Blissymbols varies ZZ— Not in Unicode, proposal is explored[i]
Bopo 285 Bopomofo left-to-right, right-to-left script   Bopomofo 1.0 77 Ch 18.3
Brah 300 Brahmi left-to-right   Brahmi 6.0 115 Ancient/historic Ch 14.1
Brai 570 Braille left-to-right   Braille 3.0 256 Ch 21.1
Bugi 367 Buginese left-to-right   Buginese 4.1 30 Ch 17.2
Buhd 372 Buhid left-to-right   Buhid 3.2 20 Ch 17.1
Cakm 349 Chakma left-to-right   Chakma 6.1 71 Ch 13.11
Cans 440 Unified Canadian Aboriginal Syllabics left-to-right   Canadian Aboriginal 3.0 726 Ch 20.2
Cari 201 Carian left-to-right, right-to-left script   Carian 5.1 49 Ancient/historic Ch 8.5
Cham 358 Cham left-to-right   Cham 5.1 83 Ch 16.10
Cher 445 Cherokee left-to-right   Cherokee 3.0 172 Ch 20.1
Chis 298 Chisoi left-to-right ZZ— Not in Unicode, proposal is mature[ii]
Chrs 109 Chorasmian right-to-left script, top-to-bottom   Chorasmian 13.0 28 Ancient/historic Ch 10.8
Cirt 291 Cirth varies ZZ— Not in Unicode
Copt 204 Coptic left-to-right   Coptic 1.0 137 Ancient/historic, disunified from Greek in 4.1 Ch 7.3
Cpmn 402 Cypro-Minoan left-to-right Cypro Minoan 14.0 99 Ancient/historic Ch 8.4
Cprt 403 Cypriot syllabary right-to-left script   Cypriot 4.0 55 Ancient/historic Ch 8.3
Cyrl 220 Cyrillic left-to-right   Cyrillic 1.0 508 Includes typographic variant Old Church Slavonic (see § Cyrs) Ch 7.4
Cyrs 221 Cyrillic (Old Church Slavonic variant) varies ZZ— Typographic variant of Cyrillic (see § Cyrl); Ancient/historic
Deva 315 Devanagari (Nagari) left-to-right   Devanagari 1.0 164 Ch 12.1
Diak 342 Dives Akuru left-to-right   Dives Akuru 13.0 72 Ancient/historic Ch 15.15
Dogr 328 Dogra left-to-right   Dogra 11.0 60 Ancient/historic Ch 15.18
Dsrt 250 Deseret (Mormon) left-to-right   Deseret 3.1 80 Ch 20.4
Dupl 755 Duployan shorthand, Duployan stenography left-to-right   Duployan 7.0 143 Ch 21.6
Egyd 070 Egyptian demotic mixed ZZ— Not in Unicode
Egyh 060 Egyptian hieratic mixed ZZ— Not in Unicode
Egyp 050 Egyptian hieroglyphs right-to-left script, left-to-right   Egyptian Hieroglyphs 5.2 5,105 Ancient/historic Ch 11.4
Elba 226 Elbasan left-to-right   Elbasan 7.0 40 Ancient/historic Ch 8.10
Elym 128 Elymaic right-to-left script   Elymaic 12.0 23 Ancient/historic Ch 10.9
Ethi 430 Ethiopic (Geʻez) left-to-right   Ethiopic 3.0 523 Ch 19.1
Gara 164 Garay right-to-left Garay 16.0 69
Geok 241 Khutsuri (Asomtavruli and Nuskhuri) left-to-right   Georgian Unicode groups Khutsori, Asomtavruli and Nuskhuri into 'Georgian' (see § Geok). Similarly, Mkhedruli and Mtavruli are 'Georgian' (see § Geor) Ch 7.7
Geor 240 Georgian (Mkhedruli and Mtavruli) left-to-right   Georgian 1.0 173 In Unicode this also includes Nuskhuri (Geok) Ch 7.7
Glag 225 Glagolitic left-to-right   Glagolitic 4.1 134 Ancient/historic Ch 7.5
Gong 312 Gunjala Gondi left-to-right   Gunjala Gondi 11.0 63 Ch 13.15
Gonm 313 Masaram Gondi left-to-right   Masaram Gondi 10.0 75 Ch 13.14
Goth 206 Gothic left-to-right   Gothic 3.1 27 Ancient/historic Ch 8.9
Gran 343 Grantha left-to-right   Grantha 7.0 85 Ancient/historic Ch 15.14
Grek 200 Greek left-to-right   Greek 1.0 518 Directionality sometimes as boustrophedon Ch 7.2
Gujr 320 Gujarati left-to-right   Gujarati 1.0 91 Ch 12.4
Gukh 397 Gurung Khema left-to-right Gurung Khema 16.0 58
Guru 310 Gurmukhi left-to-right   Gurmukhi 1.0 80 Ch 12.3
Hanb 503 Han with Bopomofo (alias for Han + Bopomofo) mixed ZZ— See § Hani, § Bopo
Hang 286 Hangul (Hangŭl, Hangeul) left-to-right, vertical right-to-left   Hangul 1.0 11,739 Hangul syllables relocated in 2.0 Ch 18.6
Hani 500 Han (Hanzi, Kanji, Hanja) top-to-bottom, columns right-to-left (historically) Han 1.0 99,030 Ch 18.1
Hano 371 Hanunoo (Hanunóo) left-to-right, bottom-to-top   Hanunoo 3.2 21 Ch 17.1
Hans 501 Han (Simplified variant) varies ZZ— Subset of Han (Hanzi, Kanji, Hanja) (see § Hani)
Hant 502 Han (Traditional variant) varies ZZ— Subset of § Hani
Hatr 127 Hatran right-to-left script   Hatran 8.0 26 Ancient/historic Ch 10.12
Hebr 125 Hebrew right-to-left script   Hebrew 1.0 134 Ch 9.1
Hira 410 Hiragana vertical right-to-left, left-to-right   Hiragana 1.0 381 Ch 18.4
Hluw 080 Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs) left-to-right   Anatolian Hieroglyphs 8.0 583 Ancient/historic Ch 11.6
Hmng 450 Pahawh Hmong left-to-right   Pahawh Hmong 7.0 127 Ch 16.11
Hmnp 451 Nyiakeng Puachue Hmong left-to-right   Nyiakeng Puachue Hmong 12.0 71 Ch 16.12
Hrkt 412 Japanese syllabaries (alias for Hiragana + Katakana) vertical right-to-left, left-to-right   Katakana or Hiragana See § Hira, § Kana Ch 18.4
Hung 176 Old Hungarian (Hungarian Runic) right-to-left script   Old Hungarian 8.0 108 Ancient/historic Ch 8.8
Inds 610 Indus (Harappan) mixed ZZ— Not in Unicode, proposal is explored[i]
Ital 210 Old Italic (Etruscan, Oscan, etc.) right-to-left script, left-to-right   Old Italic 3.1 39 Ancient/historic Ch 8.6
Jamo 284 Jamo (alias for Jamo subset of Hangul) varies ZZ— Subset of § Hang
Java 361 Javanese left-to-right   Javanese 5.2 90 Ch 17.4
Jpan 413 Japanese (alias for Han + Hiragana + Katakana) varies ZZ— See § Hani, § Hira and § Kana
Jurc 510 Jurchen left-to-right ZZ— Not in Unicode
Kali 357 Kayah Li left-to-right   Kayah Li 5.1 47 Ch 16.9
Kana 411 Katakana vertical right-to-left, left-to-right   Katakana 1.0 321 Ch 18.4
Kawi 368 Kawi left-to-right   Kawi 15.0 87 Ancient/historic Ch 17.9
Khar 305 Kharoshthi right-to-left script   Kharoshthi 4.1 68 Ancient/historic Ch 14.2
Khmr 355 Khmer left-to-right   Khmer 3.0 146 Ch 16.4
Khoj 322 Khojki left-to-right   Khojki 7.0 65 Ancient/historic Ch 15.7
Kitl 505 Khitan large script left-to-right ZZ— Not in Unicode
Kits 288 Khitan small script vertical right-to-left   Khitan Small Script 13.0 472 Ancient/historic Ch 18.12
Knda 345 Kannada left-to-right   Kannada 1.0 91 Ch 12.8
Kore 287 Korean (alias for Hangul + Han) left-to-right ZZ— See § Hani, § Hang
Kpel 436 Kpelle left-to-right ZZ— Not in Unicode, proposal is explored[i]
Krai 396 Kirat Rai left-to-right Kirat Rai 16.0 58
Kthi 317 Kaithi left-to-right   Kaithi 5.2 68 Ancient/historic Ch 15.2
Lana 351 Tai Tham (Lanna) left-to-right   Tai Tham 5.2 127 Ch 16.7
Laoo 356 Lao left-to-right   Lao 1.0 83 Ch 16.2
Latf 217 Latin (Fraktur variant) varies ZZ— Typographic variant of Latin (see § Latn)
Latg 216 Latin (Gaelic variant) left-to-right ZZ— Typographic variant of Latin (see § Latn)
Latn 215 Latin left-to-right   Latin 1.0 1,487 See also: Latin script in Unicode Ch 7.1
Leke 364 Leke left-to-right ZZ— Not in Unicode
Lepc 335 Lepcha (Róng) left-to-right   Lepcha 5.1 74 Ch 13.12
Limb 336 Limbu left-to-right   Limbu 4.0 68 Ch 13.6
Lina 400 Linear A left-to-right   Linear A 7.0 341 Ancient/historic Ch 8.1
Linb 401 Linear B left-to-right   Linear B 4.0 211 Ancient/historic Ch 8.2
Lisu 399 Lisu (Fraser) left-to-right   Lisu 5.2 49 Ch 18.9
Loma 437 Loma left-to-right ZZ— Not in Unicode, proposal is explored[i]
Lyci 202 Lycian left-to-right   Lycian 5.1 29 Ancient/historic Ch 8.5
Lydi 116 Lydian right-to-left script   Lydian 5.1 27 Ancient/historic Ch 8.5
Mahj 314 Mahajani left-to-right   Mahajani 7.0 39 Ancient/historic Ch 15.6
Maka 366 Makasar left-to-right   Makasar 11.0 25 Ancient/historic Ch 17.8
Mand 140 Mandaic, Mandaean right-to-left script   Mandaic 6.0 29 Ch 9.5
Mani 139 Manichaean right-to-left script   Manichaean 7.0 51 Ancient/historic Ch 10.5
Marc 332 Marchen left-to-right   Marchen 9.0 68 Ancient/historic Ch 14.5
Maya 090 Mayan hieroglyphs mixed ZZ— Not in Unicode
Medf 265 Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ) left-to-right   Medefaidrin 11.0 91 Ch 19.10
Mend 438 Mende Kikakui right-to-left script   Mende Kikakui 7.0 213 Ch 19.8
Merc 101 Meroitic Cursive right-to-left script   Meroitic Cursive 6.1 90 Ancient/historic Ch 11.5
Mero 100 Meroitic Hieroglyphs right-to-left script   Meroitic Hieroglyphs 6.1 32 Ancient/historic Ch 11.5
Mlym 347 Malayalam left-to-right   Malayalam 1.0 118 Ch 12.9
Modi 324 Modi, Moḍī left-to-right   Modi 7.0 79 Ancient/historic Ch 15.12
Mong 145 Mongolian vertical left-to-right, left-to-right   Mongolian 3.0 168 Mong includes Clear and Manchu scripts Ch 13.5
Moon 218 Moon (Moon code, Moon script, Moon type) mixed ZZ— Not in Unicode, proposal is explored[i]
Mroo 264 Mro, Mru left-to-right   Mro 7.0 43 Ch 13.8
Mtei 337 Meitei Mayek (Meithei, Meetei) left-to-right   Meetei Mayek 5.2 79 Ch 13.7
Mult 323 Multani left-to-right   Multani 8.0 38 Ancient/historic Ch 15.10
Mymr 350 Myanmar (Burmese) left-to-right   Myanmar 3.0 243 Ch 16.3
Nagm 295 Nag Mundari left-to-right   Nag Mundari 15.0 42
Nand 311 Nandinagari left-to-right   Nandinagari 12.0 65 Ancient/historic Ch 15.13
Narb 106 Old North Arabian (Ancient North Arabian) right-to-left script   Old North Arabian 7.0 32 Ancient/historic Ch 10.1
Nbat 159 Nabataean right-to-left script   Nabataean 7.0 40 Ancient/historic Ch 10.10
Newa 333 Newa, Newar, Newari, Nepāla lipi left-to-right   Newa 9.0 97 Ch 13.3
Nkdb 085 Naxi Dongba (na²¹ɕi³³ to³³ba²¹, Nakhi Tomba) left-to-right ZZ— Not in Unicode
Nkgb 420 Naxi Geba (na²¹ɕi³³ gʌ²¹ba²¹, 'Na-'Khi ²Ggŏ-¹baw, Nakhi Geba) left-to-right ZZ— Not in Unicode, proposal is explored[i]
Nkoo 165 N’Ko right-to-left script   NKo 5.0 62 Ch 19.4
Nshu 499 Nüshu vertical right-to-left   Nushu 10.0 397 Ch 18.8
Ogam 212 Ogham bottom-to-top, left-to-right   Ogham 3.0 29 Ancient/historic Ch 8.14
Olck 261 Ol Chiki (Ol Cemet’, Ol, Santali) left-to-right   Ol Chiki 5.1 48 Ch 13.10
Onao 296 Ol Onal left-to-right Ol Onal 16.0 44
Orkh 175 Old Turkic, Orkhon Runic right-to-left script   Old Turkic 5.2 73 Ancient/historic Ch 14.8
Orya 327 Oriya (Odia) left-to-right   Oriya 1.0 91 Ch 12.5
Osge 219 Osage left-to-right   Osage 9.0 72 Ch 20.3
Osma 260 Osmanya left-to-right   Osmanya 4.0 40 Ch 19.2
Ougr 143 Old Uyghur mixed Old Uyghur 14.0 26 Ancient/historic Ch 14.11
Palm 126 Palmyrene right-to-left script   Palmyrene 7.0 32 Ancient/historic Ch 10.11
Pauc 263 Pau Cin Hau left-to-right   Pau Cin Hau 7.0 57 Ch 16.13
Pcun 015 Proto-Cuneiform left-to-right ZZ— Not in Unicode
Pelm 016 Proto-Elamite left-to-right ZZ— Not in Unicode
Perm 227 Old Permic left-to-right   Old Permic 7.0 43 Ancient/historic Ch 8.13
Phag 331 Phags-pa vertical left-to-right   Phags-pa 5.0 56 Ancient/historic Ch 14.4
Phli 131 Inscriptional Pahlavi right-to-left script   Inscriptional Pahlavi 5.2 27 Ancient/historic Ch 10.6
Phlp 132 Psalter Pahlavi right-to-left script   Psalter Pahlavi 7.0 29 Ancient/historic Ch 10.6
Phlv 133 Book Pahlavi mixed ZZ— Not in Unicode
Phnx 115 Phoenician right-to-left script   Phoenician 5.0 29 Ancient/historic[g] Ch 10.3
Piqd 293 Klingon (KLI pIqaD) left-to-right   ZZ— Rejected for inclusion in Unicode[iii][iv]
Plrd 282 Miao (Pollard) left-to-right   Miao 6.1 149 Ch 18.10
Prti 130 Inscriptional Parthian right-to-left script   Inscriptional Parthian 5.2 30 Ancient/historic Ch 10.6
Psin 103 Proto-Sinaitic mixed ZZ— Not in Unicode
Qaaa-Qabx 900-949 Reserved for private use (range) ZZ— Not in Unicode
Ranj 303 Ranjana left-to-right ZZ— Not in Unicode
Rjng 363 Rejang (Redjang, Kaganga) left-to-right   Rejang 5.1 37 Ch 17.5
Rohg 167 Hanifi Rohingya right-to-left script   Hanifi Rohingya 11.0 50 Ch 16.14
Roro 620 Rongorongo mixed ZZ— Not in Unicode, proposal is explored[i]
Runr 211 Runic left-to-right, boustrophedon   Runic 3.0 86 Ancient/historic Ch 8.7
Samr 123 Samaritan right-to-left script, top-to-bottom   Samaritan 5.2 61 Ch 9.4
Sara 292 Sarati mixed ZZ— Not in Unicode
Sarb 105 Old South Arabian right-to-left script   Old South Arabian 5.2 32 Ancient/historic Ch 10.2
Saur 344 Saurashtra left-to-right   Saurashtra 5.1 82 Ch 13.13
Sgnw 095 SignWriting vertical left-to-right   SignWriting 8.0 672 Ch 21.7
Shaw 281 Shavian (Shaw) left-to-right   Shavian 4.0 48 Ch 8.15
Shrd 319 Sharada, Śāradā left-to-right   Sharada 6.1 96 Ch 15.3
Shui 530 Shuishu left-to-right ZZ— Not in Unicode
Sidd 302 Siddham, Siddhaṃ, Siddhamātṛkā left-to-right   Siddham 7.0 92 Ancient/historic Ch 15.5
Sidt 180 Sidetic right-to-left ZZ— Not in Unicode, proposal is mature[ii]
Sind 318 Khudawadi, Sindhi left-to-right   Khudawadi 7.0 69 Ch 15.9
Sinh 348 Sinhala left-to-right   Sinhala 3.0 111 Ch 13.2
Sogd 141 Sogdian horizontal and vertical writing in East Asian scripts, top-to-bottom   Sogdian 11.0 42 Ancient/historic Ch 14.10
Sogo 142 Old Sogdian right-to-left script   Old Sogdian 11.0 40 Ancient/historic Ch 14.9
Sora 398 Sora Sompeng left-to-right   Sora Sompeng 6.1 35 Ch 15.17
Soyo 329 Soyombo left-to-right   Soyombo 10.0 83 Ancient/historic Ch 14.7
Sund 362 Sundanese left-to-right   Sundanese 5.1 72 Ch 17.7
Sunu 274 Sunuwar left-to-right Sunuwar 16.0 44
Sylo 316 Syloti Nagri left-to-right   Syloti Nagri 4.1 45 Ancient/historic Ch 15.1
Syrc 135 Syriac right-to-left script   Syriac 3.0 88 Includes typographic variants Estrangelo (see § Syre), Western (§ Syrj), and Eastern (§ Syrn) Ch 9.3
Syre 138 Syriac (Estrangelo variant) mixed ZZ— Typographic variant of Syriac (see § Syrc)
Syrj 137 Syriac (Western variant) mixed ZZ— Typographic variant of Syriac (see § Syrc)
Syrn 136 Syriac (Eastern variant) mixed ZZ— Typographic variant of Syriac (see § Syrc)
Tagb 373 Tagbanwa left-to-right   Tagbanwa 3.2 18 Ch 17.1
Takr 321 Takri, Ṭākrī, Ṭāṅkrī left-to-right   Takri 6.1 68 Ch 15.4
Tale 353 Tai Le left-to-right   Tai Le 4.0 35 Ch 16.5
Talu 354 New Tai Lue left-to-right   New Tai Lue 4.1 83 Ch 16.6
Taml 346 Tamil left-to-right   Tamil 1.0 123 Ch 12.6
Tang 520 Tangut vertical right-to-left, left-to-right   Tangut 9.0 6,914 Ancient/historic Ch 18.11
Tavt 359 Tai Viet left-to-right   Tai Viet 5.2 72 Ch 16.8
Tayo 380 Tai Yo top-to-bottom, columns right-to-left ZZ— Not in Unicode, proposal is mature[ii]
Telu 340 Telugu left-to-right   Telugu 1.0 100 Ch 12.7
Teng 290 Tengwar left-to-right ZZ— Not in Unicode
Tfng 120 Tifinagh (Berber) left-to-right, right-to-left script, top-to-bottom, bottom-to-top   Tifinagh 4.1 59 Ch 19.3
Tglg 370 Tagalog (Baybayin, Alibata) left-to-right   Tagalog 3.2 23 Ch 17.1
Thaa 170 Thaana right-to-left script   Thaana 3.0 50 Ch 13.1
Thai 352 Thai left-to-right   Thai 1.0 86 Ch 16.1
Tibt 330 Tibetan left-to-right   Tibetan 2.0 207 Added in 1.0, removed in 1.1 and reintroduced in 2.0 Ch 13.4
Tirh 326 Tirhuta left-to-right   Tirhuta 7.0 82 Ch 15.11
Tnsa 275 Tangsa left-to-right Tangsa 14.0 89 Ch 13.18
Todr 229 Todhri right-to-left Todhri 16.0 52 Ancient/historic
Tols 299 Tolong Siki left-to-right ZZ— Not in Unicode, proposal is mature[ii]
Toto 294 Toto left-to-right Toto 14.0 31 Ch 13.17
Tutg 341 Tulu-Tigalari left-to-right Tulu Tigalari 16.0 80
Ugar 040 Ugaritic left-to-right   Ugaritic 4.0 31 Ancient/historic Ch 11.2
Vaii 470 Vai left-to-right   Vai 5.1 300 Ch 19.5
Visp 280 Visible Speech left-to-right ZZ— Not in Unicode
Vith 228 Vithkuqi left-to-right Vithkuqi 14.0 70 Ancient/historic Ch 8.12
Wara 262 Warang Citi (Varang Kshiti) left-to-right   Warang Citi 7.0 84 Ch 13.9
Wcho 283 Wancho left-to-right   Wancho 12.0 59 Ch 13.16
Wole 480 Woleai mixed ZZ— Not in Unicode, proposal is explored[i]
Xpeo 030 Old Persian left-to-right   Old Persian 4.1 50 Ancient/historic Ch 11.3
Xsux 020 Cuneiform, Sumero-Akkadian left-to-right   Cuneiform 5.0 1,234 Ancient/historic Ch 11.1
Yezi 192 Yezidi right-to-left script   Yezidi 13.0 47 Ancient/historic Ch 9.6
Yiii 460 Yi left-to-right   Yi 3.0 1,220 Ch 18.7
Zanb 339 Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script) left-to-right   Zanabazar Square 10.0 72 Ancient/historic Ch 14.6
Zinh 994 Code for inherited script Inherited 657
Zmth 995 Mathematical notation ZZ— Not a 'script' in Unicode
Zsym 996 Symbols ZZ— Not a 'script' in Unicode
Zsye 993 Symbols (emoji variant) ZZ— Not a 'script' in Unicode
Zxxx 997 Code for unwritten documents ZZ— Not a 'script' in Unicode
Zyyy 998 Code for undetermined script Common 9,053
Zzzz 999 Code for uncoded script Unknown 959,049 In Unicode: All other code points
Notes
  1. ^
    ISO 15924 publications As of 12 September 2023
  2. ^
    ISO 15924 Normative text file As of 12 September 2023
  3. ^
    ISO 15924 Changes (including Aliases for Unicode; as of 12 September 2023)
  4. ^
    Unicode version 16.0
  5. ^
  6. ^
    Unicode uses the "Property Value Alias" (Alias) as the script-name. These Alias names are part of Unicode and are published informatively next to ISO 15924. An alias script name may be used in a character name: Palm, Palmyrene → U+10860 𐡠 PALMYRENE LETTER ALEPH.
  7. ^
    In Unicode, the Phoenician script is intended for the representation of text in Paleo-Hebrew, Archaic Phoenician, Phoenician, Early Aramaic, Late Phoenician cursive, Phoenician papyri, Siloam Hebrew, Hebrew seals, Ammonite, Moabite, and Punic.[v]
References
  1. ^ a b c d e f g h i "SEI List of Scripts Not Yet Encoded". Unicode Consortium. March 2023. Retrieved 2023-09-25.
  2. ^ a b c d "Unicode Pipeline § Code Points Provisionally Assigned for Mature Proposals". Unicode Consortium. 2023-09-12. Retrieved 2023-09-25.
  3. ^ Michael Everson (1997-09-18). "Proposal to encode Klingon in Plane 1 of ISO/IEC 10646-2".[dead link]
  4. ^ The Unicode Consortium (2001-08-14). "Approved Minutes of the UTC 87 / L2 184 Joint Meeting".
  5. ^ "Middle East-II, Ancient Scripts" (PDF). 15.0.0. The Unicode Consortium. Retrieved 2023-09-25.

Normalization properties

edit

Decompositions, decomposition type, canonical combining class, composition exclusions, and more.

Age is the version of the Standard in which the code point was first designated. The version number is shortened to the numbering major.minor, although there more detailed version numbers are used: versions 4.0.0 and 4.0.1 both are named 4.0 as Age. Given the releases, Age can be from the range: 1.1, 2.0, 2.1, 3.0, 3.1, 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, 6.0, 6.1, 6.2, 6.3, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 12.1, 13.0, 14.0, 15.0, 15.1, and 16.0.[21] The long values for Age begin in a V and use an underscore instead of a dot: V1_1, for example.[2] Codepoints without a specifically assigned age value have the value "NA", with the long form "Unassigned".

Deprecated

edit

Once a character has been defined, it will not be removed or reassigned.[22] However, a character may be deprecated, meaning its "use is strongly discouraged".[23] As of Unicode version 16.0, the following fifteen characters are deprecated:[24]

Deprecated characters in Unicode
Codepoint Character name Recommended alternative Remarks
U+0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE U+02BC U+006E ʼn
U+0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW U+0627 U+065F اٟ
U+0F77 TIBETAN VOWEL SIGN VOCALIC RR U+0FB2 U+0F81[a] ྲཱྀ
U+0F79 TIBETAN VOWEL SIGN VOCALIC LL U+0FB3 U+0F81[a] ླཱྀ
U+17A3 KHMER INDEPENDENT VOWEL QAQ U+17A2
U+17A4 KHMER INDEPENDENT VOWEL QAA U+17A2 U+17B6 អា
U+206A INHIBIT SYMMETRIC SWAPPING None[b]
U+206B ACTIVATE SYMMETRIC SWAPPING None[b]
U+206C INHIBIT ARABIC FORM SHAPING None[b]
U+206D ACTIVATE ARABIC FORM SHAPING None[b]
U+206E NATIONAL DIGIT SHAPES None[b]
U+206F NOMINAL DIGIT SHAPES None[b]
U+2329 LEFT-POINTING ANGLE BRACKET U+3008[c] U+27E8 MATHEMATICAL LEFT ANGLE BRACKET is recommended for mathematical and other technical use
U+232A RIGHT-POINTING ANGLE BRACKET U+3009[c] U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET is recommended for mathematical and other technical use
U+E0001 LANGUAGE TAG None[d]
  1. ^ a b U+0F81 TIBETAN VOWEL SIGN REVERSED II is itself discouraged (but not deprecated), and is canonically equivalent to the sequence U+0F71 U+0F80.
  2. ^ a b c d e f Rather than using this control character to indicate the appropriate appearance for text, appropriate character codes with the correct state should be used.[25]
  3. ^ a b This alternative character is in the CJK Symbols and Punctuation block, and is not suitable for mathematical or technical use
  4. ^ Alternative means of language tagging should be used instead.[26]

Boundaries

edit

The Unicode Standard specifies the following boundary-related properties:

  • Grapheme cluster
  • Word
  • Line
  • Sentence

Alias name

edit

Unicode can assign alias names to code points. These names are unique over all names (including regular ones), so they can be used as identifier. There are five possible reasons to add an alias:

1. Abbreviation
Commonly occurring abbreviations or acronyms for control codes, format characters, spaces, and variation selectors.
For example, U+00A0   NO-BREAK SPACE has alias NBSP. Sometimes presented in a box:
NBSP
.
2. Control
ISO 6429 names for C0 and C1 control functions and similar commonly occurring names, are added as an alias to the character.
For example, U+0008 <control-0008> has alias BACKSPACE.
3. Correction
This is a correction for a "serious problem" in the primary character name, usually an error.
For example, U+2118 SCRIPT CAPITAL P is actually a lowercase p, and so is given alias name WEIERSTRASS ELLIPTIC FUNCTION: "actually this has the form of a lowercase calligraphic p, despite its name, and through the alias the correct spelling is added." In descriptions, with preceding symbol .
4. Alternate
A widely used alternate name for a character.
Example: U+FEFF ZERO WIDTH NO-BREAK SPACE has alternate BYTE ORDER MARK.
5. Figment
Several documented labels for C1 control code points which were never actually approved in any standard (figment = feigned, in fiction).
For example, U+0099 <control-0099> has figment alias SINGLE GRAPHIC CHARACTER INTRODUCER. This name is an architectural concept from early drafts of ISO/IEC 10646-1, but it was never approved and standardized.
edit

References

edit
  1. ^ a b c d e "The Unicode Standard Version 16". The Unicode Consortium. September 2024. Retrieved 2024-09-13.
  2. ^ a b c "Unicode Standard Annex #44: Unicode Character Database". Unicode. 2024-08-27.
  3. ^ "Unicode Standard Annex #44: Unicode Character Database, 4.2.3 Code Point Ranges". Unicode. 2024-08-27.
  4. ^ UnicodeData.txt
  5. ^ "UCD: Name Aliases". Unicode Character Database. Unicode Consortium. 2024-04-24.
  6. ^ "Character design standards – space characters". Character design standards. Microsoft. 1998–1999. Archived from the original on March 14, 2010. Retrieved 2009-05-18.
  7. ^ The Unicode Standard 5.0, printed edition, p. 205; also available at "Chapter 6 — Writing Systems and Punctuation" (PDF). The Unicode Standard 5.0, electronic edition. Unicode Consortium. 2006-07-14. p. 11 (205). Retrieved 2022-12-22.
  8. ^ "General Punctuation" (PDF). The Unicode Standard 5.1. Unicode Inc. 1991–2008. Retrieved 2009-05-13.
  9. ^ Sargent, Murray III (2006-08-29). "Unicode Nearly Plain Text Encoding of Mathematics (Version 2)". Unicode Technical Note #28. Unicode Inc. pp. 19–20. Retrieved 2009-05-19.
  10. ^ Gillam, Richard (2002). Unicode Demystified: A Practical Programmer's Guide to the Encoding Standard. Addison-Wesley. ISBN 0-201-70052-2.
  11. ^ a b Hickson, Ian. "12.5 Named character references". HTML Standard. WHATWG.
  12. ^ Wolfram. "\[NegativeThickSpace]". Wolfram Language Documentation.
  13. ^ Wolfram. "\[NegativeMediumSpace]". Wolfram Language Documentation.
  14. ^ Wolfram. "\[NegativeThinSpace]". Wolfram Language Documentation.
  15. ^ Wolfram. "\[NegativeVeryThinSpace]". Wolfram Language Documentation.
  16. ^ Faltstrom, P., ed. (August 2010). "Zero Width Non-Joiner". The Unicode Code Points and Internationalized Domain Names for Applications (IDNA). IETF. sec. A.1. doi:10.17487/RFC5892. RFC 5892. Retrieved September 4, 2019.
  17. ^ Faltstrom, P., ed. (August 2010). "Zero Width Joiner". The Unicode Code Points and Internationalized Domain Names for Applications (IDNA). IETF. sec. A.2. doi:10.17487/RFC5892. RFC 5892. Retrieved September 4, 2019.
  18. ^ "Unicode Standard Annex #44, Unicode Character Database".
  19. ^ a b "Unicode Standard Annex #9: Unicode Bidirectional Algorithm". The Unicode Standard. 2024-09-02.
  20. ^ "Unicode Standard Annex #24: Unicode Script Property". The Unicode Standard. 2024-07-31.
  21. ^ "UCD: Derived Age". Unicode Character Database. Unicode Consortium. 2024-04-30.
  22. ^ "Unicode Character Encoding Stability Policies". Unicode. Unicode Consortium. 2024-01-09. Retrieved 2024-01-13. Once a character is encoded, it will not be moved or removed.
  23. ^ "The Unicode Standard, D13 Deprecated character". 2024. Retrieved 2024-09-13.
  24. ^ "PropList-16.0.0.txt". Unicode. Unicode Consortium. 2024-05-31. Retrieved 2024-09-13.
  25. ^ "Chapter 23.3: Deprecated Format Characters". 2024. Retrieved 2024-09-13.
  26. ^ "23.9: Tag Characters, Deprecated Use for Language Tagging". 2024. Retrieved 2024-09-13.