Unicode block

From HandWiki
Short description: Named range of Unicode code points

A Unicode block is one of several contiguous ranges of numeric character codes (code points) of the Unicode character set that are defined by the Unicode Consortium for administrative and documentation purposes. Typically, proposals such as the addition of new glyphs are discussed and evaluated by considering the relevant block or blocks as a whole.

Each block is generally, but not always, meant to supply glyphs used by one or more specific languages, or in some general application area such as mathematics, surveying, decorative typesetting, social forums, etc.

Design and implementation

Unicode blocks are identified by unique names, which use only ASCII characters and are usually descriptive of the nature of the symbols, in English; such as "Tibetan" or "Supplemental Arrows-A". (When comparing block names, one is supposed to equate uppercase with lowercase letters, and ignore any whitespace, hyphens, and underbars; so the last name is equivalent to "supplemental_arrows__a" and "SUPPLEMENTALARROWSA".[1]

Blocks are pairwise disjoint; that is, they do not overlap. The starting code point and the size (number of code points) of each block are always multiples of 16; therefore, in the hexadecimal notation, the starting (smallest) point is U+xxx0 and the ending (largest) point is U+yyyF, where xxx and yyy are three or more hexadecimal digits. (These constraints are intended to simplify the display of glyphs in Unicode Consortium documents, as tables with 16 columns labeled with the last hexadecimal digit of the code point.[1]) The size of a block may range from the minimum of 16 to a maximum of 65,536 code points.

Every assigned code point has a glyph property called "Block", whose value is a character string naming the unique block that owns that point.[2] However, a block may also contain unassigned code points, usually reserved for future additions of characters that "logically" should belong to that block. Code points not belonging to any of the named blocks, e.g. in the unassigned planes 4–13, have the value block="No_block".[1]

Other classifications

Each Unicode point also has a property called "General Category", that attempts to describe the role of the corresponding symbol in the languages or applications for whose sake it was included in the system. Examples of General Categories are "Lu" (meaning upper-case letter), "Nd" (decimal digit), "Pi" (open-quote punctuation), and "Mn" (non-spacing mark, i.e. a diacritic for the preceding glyph). This division is completely independent of code blocks: the code points with a given General Category generally span many blocks, and do not have to be consecutive, not even within each block.[3]

Each code point also has a script property, specifying which writing system it is intended for, or whether it is intended for multiple writing systems. This, also, is independent of block.

In descriptions of the Unicode system, a block may be subdivided into more specific subgroups, such as the "Chess symbols" in the Miscellaneous Symbols block (not to be confused with the separate Chess Symbols block). Those subgroups are not "blocks" in the technical sense used by the Unicode consortium, and are named only for the convenience of users.

List of blocks

Unicode 15.0 defines 327 blocks:[1]

  • 164 in plane 0, the Basic Multilingual Plane (in table below: § BMP)
  • 151 in plane 1, the Supplementary Multilingual Plane (§ SMP)
  • 6 in plane 2, the Supplementary Ideographic Plane (§ SIP)
  • 2 in plane 3, the Tertiary Ideographic Plane (§ TIP)
  • 2 in plane 14 (E in hexadecimal), the Supplementary Special-purpose Plane (§ SSP)
  • One each in the planes 15 (Fhex) and 16 (10hex), called Supplementary Private Use Area-A and -B (§ PUA-A)

Deleted blocks

The Unicode Stability Policy requires that a character, once assigned, may not be moved or removed, although it may be deprecated. This applies to Unicode 2.0 and all subsequent versions.

Prior to this, the following former blocks were removed:

Former Unicode blocks from before Unicode 2.0
Block range Historical
block name
Version when added Version when removed Range now occupied by Superseded by block Code points Assigned characters Scripts
U+1000..U+105F Tibetan[4] 1.0.0 1.0.1 Myanmar Tibetan 96 71 Tibetan
U+3400..U+3D2D Hangul[5] 1.0.0 2.0 CJK Unified Ideographs Extension A Hangul Syllables 2350 2350 Hangul
U+3D2E..U+44B7 Hangul Supplementary-A[5] 1.1 2.0 1930 1930
U+44B8..U+4DFF Hangul Supplementary-B[5] CJK Unified Ideographs Extension A and Yijing Hexagram Symbols 2376 2376


External links