1 .. include:: ../disclaimer-zh_CN.rst 2 3 :Original: Documentation/admin-guide/unicode.rst 4 5 :译者: 6 7 吴想成 Wu XiangCheng <bobwxc@email.cn> 8 9 Unicode(统一码)支持 10 ====================== 11 12 (英文版)上次更新:2005-01-17,版本号 1.4 13 14 此文档由H. Peter Anvin <unicode@lanana.org>管理,是Linux注册名称与编号管理局 15 (Linux Assigned Names And Numbers Authority,LANANA)项目的一部分。 16 现行版本请见: 17 18 http://www.lanana.org/docs/unicode/admin-guide/unicode.rst 19 20 简介 21 ----- 22 23 Linux内核代码已被重写以使用Unicode来将字符映射到字体。下载一个Unicode到字体 24 (Unicode-to-font)表,八位字符集与UTF-8模式都将改用此字体来显示。 25 26 这微妙地改变了八位字符表的语义。现在的四个字符表是: 27 28 =============== =============================== ================ 29 映射代号 映射名称 Escape代码 (G0) 30 =============== =============================== ================ 31 LAT1_MAP Latin-1 (ISO 8859-1) ESC ( B 32 GRAF_MAP DEC VT100 pseudographics ESC ( 0 33 IBMPC_MAP IBM code page 437 ESC ( U 34 USER_MAP User defined ESC ( K 35 =============== =============================== ================ 36 37 特别是 ESC ( U 不再是“直通字体”,因为字体可能与IBM字符集完全不同。 38 例如,即使加载了一个Latin-1字体,也允许使用块图形(block graphics)。 39 40 请注意,尽管这些代码与ISO 2022类似,但这些代码及其用途都与ISO 2022不匹配; 41 Linux有两个八位代码(G0和G1),而ISO 2022有四个七位代码(G0-G3)。 42 43 根据Unicode标准/ISO 10646,U+F000到U+F8FF被保留用于操作系统范围内的分配 44 (Unicode标准将其称为“团体区域(Corporate Zone)”,因为这对于Linux是不准确 45 的,所以我们称之为“Linux区域”)。选择U+F000作为起点,因为它允许直接映射 46 区域以2的大倍数开始(以防需要1024或2048个字符的字体)。这就留下U+E000到 47 U+EFFF作为最终用户区。 48 49 [v1.2]:Unicodes范围从U+F000到U+F7FF已经被硬编码为直接映射到加载的字体, 50 绕过了翻译表。用户定义的映射现在默认为U+F000到U+F0FF,模拟前述行为。实际上, 51 此范围可能较短;例如,vgacon只能处理256字符(U+F000..U+F0FF)或512字符 52 (U+F000..U+F1FF)字体。 53 54 Linux 区域中定义的实际字符 55 --------------------------- 56 57 此外,还定义了Unicode 1.1.4中不存在的以下字符;这些字符由DEC VT图形映射使用。 58 [v1.2]此用法已过时,不应再使用;请参见下文。 59 60 ====== ====================================== 61 U+F800 DEC VT GRAPHICS HORIZONTAL LINE SCAN 1 62 U+F801 DEC VT GRAPHICS HORIZONTAL LINE SCAN 3 63 U+F803 DEC VT GRAPHICS HORIZONTAL LINE SCAN 7 64 U+F804 DEC VT GRAPHICS HORIZONTAL LINE SCAN 9 65 ====== ====================================== 66 67 DEC VT220使用6x10字符矩阵,这些字符在DEC VT图形字符集中形成一个平滑的过渡。 68 我省略了扫描5行,因为它也被用作块图形字符,因此被编码为U+2500 FORMS LIGHT 69 HORIZONTAL。 70 71 [v1.3]:这些字符已正式添加到Unicode 3.2.0中;它们在U+23BA、U+23BB、U+23BC、 72 U+23BD处添加。Linux现在使用新值。 73 74 [v1.2]:添加了以下字符来表示常见的键盘符号,这些符号不太可能被添加到Unicode 75 中,因为它们非常讨厌地取决于特定供应商。当然,这是糟糕设计的一个好例子。 76 77 ====== ====================================== 78 U+F810 KEYBOARD SYMBOL FLYING FLAG 79 U+F811 KEYBOARD SYMBOL PULLDOWN MENU 80 U+F812 KEYBOARD SYMBOL OPEN APPLE 81 U+F813 KEYBOARD SYMBOL SOLID APPLE 82 ====== ====================================== 83 84 克林贡(Klingon)语支持 85 ------------------------ 86 87 1996年,Linux是世界上第一个添加对人工语言克林贡支持的操作系统,克林贡是由 88 Marc Okrand为《星际迷航》电视连续剧创造的。这种编码后来被征募Unicode注册表 89 (ConScript Unicode Registry,CSUR)采用,并建议(但最终被拒绝)纳入Unicode 90 平面一。不过,它仍然是Linux区域中的Linux/CSUR私有分配。 91 92 这种编码已经得到克林贡语言研究所(Klingon Language Institute)的认可。 93 有关更多信息,请联系他们: 94 95 http://www.kli.org/ 96 97 由于Linux CZ开头部分的字符大多是dingbats/symbols/forms类型,而且这是一种 98 语言,因此根据标准Unicode惯例,我将它放置在16单元的边界上。 99 100 .. note:: 101 102 这个范围现在由征募Unicode注册表正式管理。规范性引用文件为: 103 104 https://www.evertype.com/standards/csur/klingon.html 105 106 克林贡语有一个26个字符的字母表,一个10位数的位置数字书写系统,从左到右 107 ,从上到下书写。 108 109 克林贡字母的几种字形已经被提出。但是由于这组符号看起来始终是一致的,只有实际 110 的形状不同,因此按照标准Unicode惯例,这些差异被认为是字体变体。 111 112 ====== ======================================================= 113 U+F8D0 KLINGON LETTER A 114 U+F8D1 KLINGON LETTER B 115 U+F8D2 KLINGON LETTER CH 116 U+F8D3 KLINGON LETTER D 117 U+F8D4 KLINGON LETTER E 118 U+F8D5 KLINGON LETTER GH 119 U+F8D6 KLINGON LETTER H 120 U+F8D7 KLINGON LETTER I 121 U+F8D8 KLINGON LETTER J 122 U+F8D9 KLINGON LETTER L 123 U+F8DA KLINGON LETTER M 124 U+F8DB KLINGON LETTER N 125 U+F8DC KLINGON LETTER NG 126 U+F8DD KLINGON LETTER O 127 U+F8DE KLINGON LETTER P 128 U+F8DF KLINGON LETTER Q 129 - Written <q> in standard Okrand Latin transliteration 130 U+F8E0 KLINGON LETTER QH 131 - Written <Q> in standard Okrand Latin transliteration 132 U+F8E1 KLINGON LETTER R 133 U+F8E2 KLINGON LETTER S 134 U+F8E3 KLINGON LETTER T 135 U+F8E4 KLINGON LETTER TLH 136 U+F8E5 KLINGON LETTER U 137 U+F8E6 KLINGON LETTER V 138 U+F8E7 KLINGON LETTER W 139 U+F8E8 KLINGON LETTER Y 140 U+F8E9 KLINGON LETTER GLOTTAL STOP 141 142 U+F8F0 KLINGON DIGIT ZERO 143 U+F8F1 KLINGON DIGIT ONE 144 U+F8F2 KLINGON DIGIT TWO 145 U+F8F3 KLINGON DIGIT THREE 146 U+F8F4 KLINGON DIGIT FOUR 147 U+F8F5 KLINGON DIGIT FIVE 148 U+F8F6 KLINGON DIGIT SIX 149 U+F8F7 KLINGON DIGIT SEVEN 150 U+F8F8 KLINGON DIGIT EIGHT 151 U+F8F9 KLINGON DIGIT NINE 152 153 U+F8FD KLINGON COMMA 154 U+F8FE KLINGON FULL STOP 155 U+F8FF KLINGON SYMBOL FOR EMPIRE 156 ====== ======================================================= 157 158 其他虚构和人工字母 159 ------------------- 160 161 自从分配了克林贡Linux Unicode块之后,John Cowan <jcowan@reutershealth.com> 162 和 Michael Everson <everson@evertype.com> 建立了一个虚构和人工字母的注册表。 163 征募Unicode注册表请访问: 164 165 https://www.evertype.com/standards/csur/ 166 167 所使用的范围位于最终用户区域的低端,因此无法进行规范化分配,但建议希望对虚构 168 字母进行编码的人员使用这些代码,以实现互操作性。对于克林贡语,CSUR采用了Linux 169 编码。CSUR的人正在推动将Tengwar和Cirth添加到Unicode平面一;将克林贡添加到 170 Unicode平面一被拒绝,因此上述编码仍然是官方的。
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.