10e2c578cSWu XiangCheng.. include:: ../disclaimer-zh_CN.rst 20e2c578cSWu XiangCheng 3*d0c4c07eSJonathan Corbet:Original: Documentation/admin-guide/unicode.rst 40e2c578cSWu XiangCheng 50e2c578cSWu XiangCheng:译者: 60e2c578cSWu XiangCheng 70e2c578cSWu XiangCheng 吴想成 Wu XiangCheng <bobwxc@email.cn> 80e2c578cSWu XiangCheng 90e2c578cSWu XiangChengUnicode(统一码)支持 100e2c578cSWu XiangCheng====================== 110e2c578cSWu XiangCheng 120e2c578cSWu XiangCheng (英文版)上次更新:2005-01-17,版本号 1.4 130e2c578cSWu XiangCheng 140e2c578cSWu XiangCheng此文档由H. Peter Anvin <unicode@lanana.org>管理,是Linux注册名称与编号管理局 150e2c578cSWu XiangCheng(Linux Assigned Names And Numbers Authority,LANANA)项目的一部分。 160e2c578cSWu XiangCheng现行版本请见: 170e2c578cSWu XiangCheng 180e2c578cSWu XiangCheng http://www.lanana.org/docs/unicode/admin-guide/unicode.rst 190e2c578cSWu XiangCheng 200e2c578cSWu XiangCheng简介 210e2c578cSWu XiangCheng----- 220e2c578cSWu XiangCheng 230e2c578cSWu XiangChengLinux内核代码已被重写以使用Unicode来将字符映射到字体。下载一个Unicode到字体 240e2c578cSWu XiangCheng(Unicode-to-font)表,八位字符集与UTF-8模式都将改用此字体来显示。 250e2c578cSWu XiangCheng 260e2c578cSWu XiangCheng这微妙地改变了八位字符表的语义。现在的四个字符表是: 270e2c578cSWu XiangCheng 280e2c578cSWu XiangCheng=============== =============================== ================ 290e2c578cSWu XiangCheng映射代号 映射名称 Escape代码 (G0) 300e2c578cSWu XiangCheng=============== =============================== ================ 310e2c578cSWu XiangChengLAT1_MAP Latin-1 (ISO 8859-1) ESC ( B 320e2c578cSWu XiangChengGRAF_MAP DEC VT100 pseudographics ESC ( 0 330e2c578cSWu XiangChengIBMPC_MAP IBM code page 437 ESC ( U 340e2c578cSWu XiangChengUSER_MAP User defined ESC ( K 350e2c578cSWu XiangCheng=============== =============================== ================ 360e2c578cSWu XiangCheng 370e2c578cSWu XiangCheng特别是 ESC ( U 不再是“直通字体”,因为字体可能与IBM字符集完全不同。 380e2c578cSWu XiangCheng例如,即使加载了一个Latin-1字体,也允许使用块图形(block graphics)。 390e2c578cSWu XiangCheng 400e2c578cSWu XiangCheng请注意,尽管这些代码与ISO 2022类似,但这些代码及其用途都与ISO 2022不匹配; 410e2c578cSWu XiangChengLinux有两个八位代码(G0和G1),而ISO 2022有四个七位代码(G0-G3)。 420e2c578cSWu XiangCheng 430e2c578cSWu XiangCheng根据Unicode标准/ISO 10646,U+F000到U+F8FF被保留用于操作系统范围内的分配 440e2c578cSWu XiangCheng(Unicode标准将其称为“团体区域(Corporate Zone)”,因为这对于Linux是不准确 450e2c578cSWu XiangCheng的,所以我们称之为“Linux区域”)。选择U+F000作为起点,因为它允许直接映射 460e2c578cSWu XiangCheng区域以2的大倍数开始(以防需要1024或2048个字符的字体)。这就留下U+E000到 470e2c578cSWu XiangChengU+EFFF作为最终用户区。 480e2c578cSWu XiangCheng 490e2c578cSWu XiangCheng[v1.2]:Unicodes范围从U+F000到U+F7FF已经被硬编码为直接映射到加载的字体, 500e2c578cSWu XiangCheng绕过了翻译表。用户定义的映射现在默认为U+F000到U+F0FF,模拟前述行为。实际上, 510e2c578cSWu XiangCheng此范围可能较短;例如,vgacon只能处理256字符(U+F000..U+F0FF)或512字符 520e2c578cSWu XiangCheng(U+F000..U+F1FF)字体。 530e2c578cSWu XiangCheng 540e2c578cSWu XiangChengLinux 区域中定义的实际字符 550e2c578cSWu XiangCheng--------------------------- 560e2c578cSWu XiangCheng 570e2c578cSWu XiangCheng此外,还定义了Unicode 1.1.4中不存在的以下字符;这些字符由DEC VT图形映射使用。 580e2c578cSWu XiangCheng[v1.2]此用法已过时,不应再使用;请参见下文。 590e2c578cSWu XiangCheng 600e2c578cSWu XiangCheng====== ====================================== 610e2c578cSWu XiangChengU+F800 DEC VT GRAPHICS HORIZONTAL LINE SCAN 1 620e2c578cSWu XiangChengU+F801 DEC VT GRAPHICS HORIZONTAL LINE SCAN 3 630e2c578cSWu XiangChengU+F803 DEC VT GRAPHICS HORIZONTAL LINE SCAN 7 640e2c578cSWu XiangChengU+F804 DEC VT GRAPHICS HORIZONTAL LINE SCAN 9 650e2c578cSWu XiangCheng====== ====================================== 660e2c578cSWu XiangCheng 670e2c578cSWu XiangChengDEC VT220使用6x10字符矩阵,这些字符在DEC VT图形字符集中形成一个平滑的过渡。 680e2c578cSWu XiangCheng我省略了扫描5行,因为它也被用作块图形字符,因此被编码为U+2500 FORMS LIGHT 690e2c578cSWu XiangChengHORIZONTAL。 700e2c578cSWu XiangCheng 710e2c578cSWu XiangCheng[v1.3]:这些字符已正式添加到Unicode 3.2.0中;它们在U+23BA、U+23BB、U+23BC、 720e2c578cSWu XiangChengU+23BD处添加。Linux现在使用新值。 730e2c578cSWu XiangCheng 740e2c578cSWu XiangCheng[v1.2]:添加了以下字符来表示常见的键盘符号,这些符号不太可能被添加到Unicode 750e2c578cSWu XiangCheng中,因为它们非常讨厌地取决于特定供应商。当然,这是糟糕设计的一个好例子。 760e2c578cSWu XiangCheng 770e2c578cSWu XiangCheng====== ====================================== 780e2c578cSWu XiangChengU+F810 KEYBOARD SYMBOL FLYING FLAG 790e2c578cSWu XiangChengU+F811 KEYBOARD SYMBOL PULLDOWN MENU 800e2c578cSWu XiangChengU+F812 KEYBOARD SYMBOL OPEN APPLE 810e2c578cSWu XiangChengU+F813 KEYBOARD SYMBOL SOLID APPLE 820e2c578cSWu XiangCheng====== ====================================== 830e2c578cSWu XiangCheng 840e2c578cSWu XiangCheng克林贡(Klingon)语支持 850e2c578cSWu XiangCheng------------------------ 860e2c578cSWu XiangCheng 870e2c578cSWu XiangCheng1996年,Linux是世界上第一个添加对人工语言克林贡支持的操作系统,克林贡是由 880e2c578cSWu XiangChengMarc Okrand为《星际迷航》电视连续剧创造的。这种编码后来被征募Unicode注册表 890e2c578cSWu XiangCheng(ConScript Unicode Registry,CSUR)采用,并建议(但最终被拒绝)纳入Unicode 900e2c578cSWu XiangCheng平面一。不过,它仍然是Linux区域中的Linux/CSUR私有分配。 910e2c578cSWu XiangCheng 920e2c578cSWu XiangCheng这种编码已经得到克林贡语言研究所(Klingon Language Institute)的认可。 930e2c578cSWu XiangCheng有关更多信息,请联系他们: 940e2c578cSWu XiangCheng 950e2c578cSWu XiangCheng http://www.kli.org/ 960e2c578cSWu XiangCheng 970e2c578cSWu XiangCheng由于Linux CZ开头部分的字符大多是dingbats/symbols/forms类型,而且这是一种 980e2c578cSWu XiangCheng语言,因此根据标准Unicode惯例,我将它放置在16单元的边界上。 990e2c578cSWu XiangCheng 1000e2c578cSWu XiangCheng.. note:: 1010e2c578cSWu XiangCheng 1020e2c578cSWu XiangCheng 这个范围现在由征募Unicode注册表正式管理。规范性引用文件为: 1030e2c578cSWu XiangCheng 1040e2c578cSWu XiangCheng https://www.evertype.com/standards/csur/klingon.html 1050e2c578cSWu XiangCheng 1060e2c578cSWu XiangCheng克林贡语有一个26个字符的字母表,一个10位数的位置数字书写系统,从左到右 1070e2c578cSWu XiangCheng,从上到下书写。 1080e2c578cSWu XiangCheng 1090e2c578cSWu XiangCheng克林贡字母的几种字形已经被提出。但是由于这组符号看起来始终是一致的,只有实际 1100e2c578cSWu XiangCheng的形状不同,因此按照标准Unicode惯例,这些差异被认为是字体变体。 1110e2c578cSWu XiangCheng 1120e2c578cSWu XiangCheng====== ======================================================= 1130e2c578cSWu XiangChengU+F8D0 KLINGON LETTER A 1140e2c578cSWu XiangChengU+F8D1 KLINGON LETTER B 1150e2c578cSWu XiangChengU+F8D2 KLINGON LETTER CH 1160e2c578cSWu XiangChengU+F8D3 KLINGON LETTER D 1170e2c578cSWu XiangChengU+F8D4 KLINGON LETTER E 1180e2c578cSWu XiangChengU+F8D5 KLINGON LETTER GH 1190e2c578cSWu XiangChengU+F8D6 KLINGON LETTER H 1200e2c578cSWu XiangChengU+F8D7 KLINGON LETTER I 1210e2c578cSWu XiangChengU+F8D8 KLINGON LETTER J 1220e2c578cSWu XiangChengU+F8D9 KLINGON LETTER L 1230e2c578cSWu XiangChengU+F8DA KLINGON LETTER M 1240e2c578cSWu XiangChengU+F8DB KLINGON LETTER N 1250e2c578cSWu XiangChengU+F8DC KLINGON LETTER NG 1260e2c578cSWu XiangChengU+F8DD KLINGON LETTER O 1270e2c578cSWu XiangChengU+F8DE KLINGON LETTER P 1280e2c578cSWu XiangChengU+F8DF KLINGON LETTER Q 1290e2c578cSWu XiangCheng - Written <q> in standard Okrand Latin transliteration 1300e2c578cSWu XiangChengU+F8E0 KLINGON LETTER QH 1310e2c578cSWu XiangCheng - Written <Q> in standard Okrand Latin transliteration 1320e2c578cSWu XiangChengU+F8E1 KLINGON LETTER R 1330e2c578cSWu XiangChengU+F8E2 KLINGON LETTER S 1340e2c578cSWu XiangChengU+F8E3 KLINGON LETTER T 1350e2c578cSWu XiangChengU+F8E4 KLINGON LETTER TLH 1360e2c578cSWu XiangChengU+F8E5 KLINGON LETTER U 1370e2c578cSWu XiangChengU+F8E6 KLINGON LETTER V 1380e2c578cSWu XiangChengU+F8E7 KLINGON LETTER W 1390e2c578cSWu XiangChengU+F8E8 KLINGON LETTER Y 1400e2c578cSWu XiangChengU+F8E9 KLINGON LETTER GLOTTAL STOP 1410e2c578cSWu XiangCheng 1420e2c578cSWu XiangChengU+F8F0 KLINGON DIGIT ZERO 1430e2c578cSWu XiangChengU+F8F1 KLINGON DIGIT ONE 1440e2c578cSWu XiangChengU+F8F2 KLINGON DIGIT TWO 1450e2c578cSWu XiangChengU+F8F3 KLINGON DIGIT THREE 1460e2c578cSWu XiangChengU+F8F4 KLINGON DIGIT FOUR 1470e2c578cSWu XiangChengU+F8F5 KLINGON DIGIT FIVE 1480e2c578cSWu XiangChengU+F8F6 KLINGON DIGIT SIX 1490e2c578cSWu XiangChengU+F8F7 KLINGON DIGIT SEVEN 1500e2c578cSWu XiangChengU+F8F8 KLINGON DIGIT EIGHT 1510e2c578cSWu XiangChengU+F8F9 KLINGON DIGIT NINE 1520e2c578cSWu XiangCheng 1530e2c578cSWu XiangChengU+F8FD KLINGON COMMA 1540e2c578cSWu XiangChengU+F8FE KLINGON FULL STOP 1550e2c578cSWu XiangChengU+F8FF KLINGON SYMBOL FOR EMPIRE 1560e2c578cSWu XiangCheng====== ======================================================= 1570e2c578cSWu XiangCheng 1580e2c578cSWu XiangCheng其他虚构和人工字母 1590e2c578cSWu XiangCheng------------------- 1600e2c578cSWu XiangCheng 1610e2c578cSWu XiangCheng自从分配了克林贡Linux Unicode块之后,John Cowan <jcowan@reutershealth.com> 1620e2c578cSWu XiangCheng和 Michael Everson <everson@evertype.com> 建立了一个虚构和人工字母的注册表。 1630e2c578cSWu XiangCheng征募Unicode注册表请访问: 1640e2c578cSWu XiangCheng 1650e2c578cSWu XiangCheng https://www.evertype.com/standards/csur/ 1660e2c578cSWu XiangCheng 1670e2c578cSWu XiangCheng所使用的范围位于最终用户区域的低端,因此无法进行规范化分配,但建议希望对虚构 1680e2c578cSWu XiangCheng字母进行编码的人员使用这些代码,以实现互操作性。对于克林贡语,CSUR采用了Linux 1690e2c578cSWu XiangCheng编码。CSUR的人正在推动将Tengwar和Cirth添加到Unicode平面一;将克林贡添加到 1700e2c578cSWu XiangChengUnicode平面一被拒绝,因此上述编码仍然是官方的。 171