C Вычисление Диапазонов Unicode для TrueType
C.4 Вычисление Диапазонов Unicode для TrueType
Эта информация доступна в шрифте при просмотре битов 'ulUnicodeRange' в таблице 'OS/2' (если она ('OS/2') её имеет), которая (таблица) содержит битовые поля представления набора. Эта таблица определена в ревизии 1.66 спецификации TrueType от Microsoft. Можно рассматривать эту информацию как набор, где каждый элемент соответствует блоку символов Unicode 1.1, и присутствие этого элемента в наборе означает, что шрифт имеет один или более глифов-изображений для представления по меньшей мере одного символа этого блока. Набор содержит 128 элементов, как описано ниже. Порядок обычно следует порядку стандарта Unicode 1.1. Эта таблица может использоваться для конвертации информации в шрифте TrueType в дескриптор 'unicode-range' CSS.
0 | 1 | Basic Latin | U+0-7F |
1 | 2 | Latin-1 Supplement | U+80-FF |
2 | 4 | Latin-1 Extended-A | U+100-17F |
3 | 8 | Latin Extended-B | U+180-24F |
4 | 1 | IPA Extensions | U+250-2AF |
5 | 2 | Spacing Modifier Letters | U+2B0-2FF |
6 | 4 | Combining Diacritical Marks | U+300-36F |
7 | 8 | Greek | U+370-3CF |
8 | 1 | Greek Symbols and Coptic | U+3D0-3EF |
9 | 2 | Cyrillic | U+400-4FF |
10 | 4 | Armenian | U+530-58F |
11 | 8 | Hebrew | U+590-5FF |
12 | 1 | Hebrew Extended-A Hebrew Extended-B | ?? какие диапазоны ?? |
13 | 2 | Arabic | U+600-69F |
14 | 4 | Arabic Extended | U+670-6FF |
15 | 8 | Devanagari | U+900-97F |
16 | 1 | Bengali | U+980-9FF |
17 | 2 | Gurmukhi | U+A00-A7F |
18 | 4 | Gujarati | U+A80-AFF |
19 | 8 | Oriya | U+B00-B7F |
20 | 1 | Tamil | U+B80-BFF |
21 | 2 | Telugu | U+C00-C7F |
22 | 4 | Kannada | U+C80-CFF |
23 | 8 | Malayalam | U+D00-D7F |
24 | 1 | Thai | U+E00-E7F |
25 | 2 | Lao | U+E80-EFF |
26 | 4 | Georgian | U+10A0-10EF |
27 | 8 | Georgian Extended | U+10F0-10FF ?? |
28 | 1 | Hangul Jamo | U+1100-11FF |
29 | 2 | Latin Extended Additional | - |
30 | 4 | Greek Extended | U+1F00-1FFF |
31 | 8 | General Punctuation | U+2000-206F |
32 | 1 | Superscripts and Subscripts | - |
33 | 2 | Currency Symbols | U+20A0-20CF |
34 | 4 | Combining Marks for Symbols | U+20D0-20FF |
35 | 8 | Letterlike Symbols | U+2100-214F |
36 | 1 | Number Forms | U+2150-218F |
37 | 2 | Arrows | U+2190-21FF |
38 | 4 | Mathematical Operators | U+2200-22FF |
39 | 8 | Miscellaneous Technical | U+2300-23FF |
40 | 1 | Control Pictures | U+2400-243F |
41 | 2 | Optical Character Recognition | U+2440-245F |
42 | 4 | Enclosed Alphanumerics | U+2460-24FF |
43 | 8 | Box Drawing | U+2500-257F |
44 | 1 | Block Elements | U+2580-259F |
45 | 2 | Geometric Shapes | U+25A0-25FF |
46 | 4 | Miscellaneous Symbols | U+2600-26FF |
47 | 8 | Dingbats | U+2700-27BF |
48 | 1 | CJK Symbols and Punctuation | U+3000-303F |
49 | 2 | Hiragana | U+3040-309F |
50 | 4 | Katakana | U+30A0-30FF |
51 | 8 | Bopomofo | U+3100-312F |
52 | 1 | Hangul Compatibility Jamo | U+3130-318F |
53 | 2 | CJK Miscellaneous | ?? |
54 | 4 | Enclosed CJK Letters and Months | U+3200-32FF |
55 | 8 | CJK compatibility | U+3300-33FF |
56 | 1 | Hangul | U+AC00-D7FF |
59 | 8 | CJK Unified Ideographs | U+4E00-9FFF |
60 | 1 | Private Use Area | U+E000-F8FF |
61 | 2 | CJK Compatibility Ideographs | U+F900-FAFF |
62 | 4 | Alphabetic Presentation Forms | U+FB00-FB4F |
63 | 8 | Arabic Presentation Forms-A | U+FB50-FDFF |
64 | 1 | Combining Half Marks | U+FE20-FE2F |
65 | 2 | CJK compatibility Forms | U+FE30-FE4F |
66 | 4 | Small Form Variants | U+FE50-FE6F |
67 | 8 | Arabic Presentation Forms-B | U+FE70-FEFF |
68 | 1 | Halfwidth and Fullwidth Forms | U+FF00-FFEF |
69 | 2 | Specials | U+FFF0-FFFD |
В системе битовых полей TrueType есть проблема, заключающаяся в том, что эта система присоединена к Unicode 1.1 и не справляется с расширением Unicode - например, невозможно представить Tibetan или другие виды письма, введённые в Unicode 2.0 или более поздних ревизиях.