Unicode blocks in ConTeXt

From Wiki
Revision as of 20:44, 24 October 2017 by Nyraghu (talk | contribs)
Jump to navigation Jump to search

A Unicode block is an interval of code points which represent characters that are semantically related to each other. For example, there is a Unicode block for characters from the Devanagari script which is used by several Indian languages. Another Unicode block corresponds to characters which denote mathematical operators, such as those that indicate the union and the intersection of sets.

ConTeXt has special names for all Unicode blocks. These names can be used to specify ranges of code points in the setups of several commands.

Unicode blocks

A Unicode block is an organisational unit of the Unicode code space. The Unicode code space is the set of all integers from 0 to 0x10FFF.

Every block is an interval of code points. Different blocks are disjoint from each other. In particular, the blocks form a partition of the set of all Unicode code points. Every block has a unique name that describes the common semantic nature of its code points.

A code block starts at a code point that is a multiple of 16. The number of code points in each block is also a multiple of 16. Thus, the first code point in a block is of the form 0xpqrs0, and the last code point in it is of the form 0xtuvwF.

The number of code points in a block varies. Some have just 16 code points, and some others have thousands of code points.

ConTeXt names for Unicode blocks

ConTeXt has its own names for all the Unicode blocks. These names are defined in the source file char-ini.lua. Most of them are obtained by converting the Unicode name of every blocks to the lower case, and removing the spaces between words in the name.

Table of blocks

Block Unicode name ConTeXt name Chart
0x10100--0x1013F Aegean Numbers aegeannumbers U10100.pdf
0x00000--0x0007F Basic Latin basiclatin
0x00080--0x000FF Latin-1 Supplement latinsupplement