cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

unicode.rst (6962B)


      1.. include:: ../disclaimer-zh_CN.rst
      2
      3:Original: Documentation/admin-guide/unicode.rst
      4
      5:译者:
      6
      7 吴想成 Wu XiangCheng <bobwxc@email.cn>
      8
      9Unicode(统一码)支持
     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
     23Linux内核代码已被重写以使用Unicode来将字符映射到字体。下载一个Unicode到字体
     24(Unicode-to-font)表,八位字符集与UTF-8模式都将改用此字体来显示。
     25
     26这微妙地改变了八位字符表的语义。现在的四个字符表是:
     27
     28=============== =============================== ================
     29映射代号        映射名称                        Escape代码 (G0)
     30=============== =============================== ================
     31LAT1_MAP        Latin-1 (ISO 8859-1)            ESC ( B
     32GRAF_MAP        DEC VT100 pseudographics        ESC ( 0
     33IBMPC_MAP       IBM code page 437               ESC ( U
     34USER_MAP        User defined                    ESC ( K
     35=============== =============================== ================
     36
     37特别是 ESC ( U 不再是“直通字体”,因为字体可能与IBM字符集完全不同。
     38例如,即使加载了一个Latin-1字体,也允许使用块图形(block graphics)。
     39
     40请注意,尽管这些代码与ISO 2022类似,但这些代码及其用途都与ISO 2022不匹配;
     41Linux有两个八位代码(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到
     47U+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
     54Linux 区域中定义的实际字符
     55---------------------------
     56
     57此外,还定义了Unicode 1.1.4中不存在的以下字符;这些字符由DEC VT图形映射使用。
     58[v1.2]此用法已过时,不应再使用;请参见下文。
     59
     60====== ======================================
     61U+F800 DEC VT GRAPHICS HORIZONTAL LINE SCAN 1
     62U+F801 DEC VT GRAPHICS HORIZONTAL LINE SCAN 3
     63U+F803 DEC VT GRAPHICS HORIZONTAL LINE SCAN 7
     64U+F804 DEC VT GRAPHICS HORIZONTAL LINE SCAN 9
     65====== ======================================
     66
     67DEC VT220使用6x10字符矩阵,这些字符在DEC VT图形字符集中形成一个平滑的过渡。
     68我省略了扫描5行,因为它也被用作块图形字符,因此被编码为U+2500 FORMS LIGHT
     69HORIZONTAL。
     70
     71[v1.3]:这些字符已正式添加到Unicode 3.2.0中;它们在U+23BA、U+23BB、U+23BC、
     72U+23BD处添加。Linux现在使用新值。
     73
     74[v1.2]:添加了以下字符来表示常见的键盘符号,这些符号不太可能被添加到Unicode
     75中,因为它们非常讨厌地取决于特定供应商。当然,这是糟糕设计的一个好例子。
     76
     77====== ======================================
     78U+F810 KEYBOARD SYMBOL FLYING FLAG
     79U+F811 KEYBOARD SYMBOL PULLDOWN MENU
     80U+F812 KEYBOARD SYMBOL OPEN APPLE
     81U+F813 KEYBOARD SYMBOL SOLID APPLE
     82====== ======================================
     83
     84克林贡(Klingon)语支持
     85------------------------
     86
     871996年,Linux是世界上第一个添加对人工语言克林贡支持的操作系统,克林贡是由
     88Marc 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======	=======================================================
    113U+F8D0	KLINGON LETTER A
    114U+F8D1	KLINGON LETTER B
    115U+F8D2	KLINGON LETTER CH
    116U+F8D3	KLINGON LETTER D
    117U+F8D4	KLINGON LETTER E
    118U+F8D5	KLINGON LETTER GH
    119U+F8D6	KLINGON LETTER H
    120U+F8D7	KLINGON LETTER I
    121U+F8D8	KLINGON LETTER J
    122U+F8D9	KLINGON LETTER L
    123U+F8DA	KLINGON LETTER M
    124U+F8DB	KLINGON LETTER N
    125U+F8DC	KLINGON LETTER NG
    126U+F8DD	KLINGON LETTER O
    127U+F8DE	KLINGON LETTER P
    128U+F8DF	KLINGON LETTER Q
    129	- Written <q> in standard Okrand Latin transliteration
    130U+F8E0	KLINGON LETTER QH
    131	- Written <Q> in standard Okrand Latin transliteration
    132U+F8E1	KLINGON LETTER R
    133U+F8E2	KLINGON LETTER S
    134U+F8E3	KLINGON LETTER T
    135U+F8E4	KLINGON LETTER TLH
    136U+F8E5	KLINGON LETTER U
    137U+F8E6	KLINGON LETTER V
    138U+F8E7	KLINGON LETTER W
    139U+F8E8	KLINGON LETTER Y
    140U+F8E9	KLINGON LETTER GLOTTAL STOP
    141
    142U+F8F0	KLINGON DIGIT ZERO
    143U+F8F1	KLINGON DIGIT ONE
    144U+F8F2	KLINGON DIGIT TWO
    145U+F8F3	KLINGON DIGIT THREE
    146U+F8F4	KLINGON DIGIT FOUR
    147U+F8F5	KLINGON DIGIT FIVE
    148U+F8F6	KLINGON DIGIT SIX
    149U+F8F7	KLINGON DIGIT SEVEN
    150U+F8F8	KLINGON DIGIT EIGHT
    151U+F8F9	KLINGON DIGIT NINE
    152
    153U+F8FD	KLINGON COMMA
    154U+F8FE	KLINGON FULL STOP
    155U+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平面一;将克林贡添加到
    170Unicode平面一被拒绝,因此上述编码仍然是官方的。