1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 .. include:: ../disclaimer-zh_TW.rst 3 .. include:: ../disclaimer-zh_TW.rst 4 4 5 :Original: Documentation/admin-guide/unicode.r 5 :Original: Documentation/admin-guide/unicode.rst 6 6 7 :譯者: 7 :譯者: 8 8 9 吳想成 Wu XiangCheng <bobwxc@email.cn> 9 吳想成 Wu XiangCheng <bobwxc@email.cn> 10 胡皓文 Hu Haowen <2023002089@link.tyut.edu. !! 10 胡皓文 Hu Haowen <src.res.211@gmail.com> 11 11 12 Unicode(統一碼)支持 12 Unicode(統一碼)支持 13 ====================== 13 ====================== 14 14 15 (英文版)上次更新:2005-01- 15 (英文版)上次更新:2005-01-17,版本號 1.4 16 16 17 此文檔由H. Peter Anvin <unicode@lanana.org> 17 此文檔由H. Peter Anvin <unicode@lanana.org>管理,是Linux註冊名稱與編號管理局 18 (Linux Assigned Names And Numbers Authority 18 (Linux Assigned Names And Numbers Authority,LANANA)項目的一部分。 19 現行版本請見: 19 現行版本請見: 20 20 21 http://www.lanana.org/docs/unicode/adm 21 http://www.lanana.org/docs/unicode/admin-guide/unicode.rst 22 22 23 簡介 23 簡介 24 ----- 24 ----- 25 25 26 Linux內核代碼已被重寫以使用Unicode 26 Linux內核代碼已被重寫以使用Unicode來將字符映射到字體。下載一個Unicode到字體 27 (Unicode-to-font)表,八位字符集與U 27 (Unicode-to-font)表,八位字符集與UTF-8模式都將改用此字體來顯示。 28 28 29 這微妙地改變了八位字符表的語義 29 這微妙地改變了八位字符表的語義。現在的四個字符表是: 30 30 31 =============== ============================== 31 =============== =============================== ================ 32 映射代號 映射名稱 32 映射代號 映射名稱 Escape代碼 (G0) 33 =============== ============================== 33 =============== =============================== ================ 34 LAT1_MAP Latin-1 (ISO 8859-1) 34 LAT1_MAP Latin-1 (ISO 8859-1) ESC ( B 35 GRAF_MAP DEC VT100 pseudographics 35 GRAF_MAP DEC VT100 pseudographics ESC ( 0 36 IBMPC_MAP IBM code page 437 36 IBMPC_MAP IBM code page 437 ESC ( U 37 USER_MAP User defined 37 USER_MAP User defined ESC ( K 38 =============== ============================== 38 =============== =============================== ================ 39 39 40 特別是 ESC ( U 不再是“直通字體” 40 特別是 ESC ( U 不再是“直通字體”,因爲字體可能與IBM字符集完全不同。 41 例如,即使加載了一個Latin-1字體, 41 例如,即使加載了一個Latin-1字體,也允許使用塊圖形(block graphics)。 42 42 43 請注意,儘管這些代碼與ISO 2022類 43 請注意,儘管這些代碼與ISO 2022類似,但這些代碼及其用途都與ISO 2022不匹配; 44 Linux有兩個八位代碼(G0和G1),而I 44 Linux有兩個八位代碼(G0和G1),而ISO 2022有四個七位代碼(G0-G3)。 45 45 46 根據Unicode標準/ISO 10646,U+F000到U+F8F 46 根據Unicode標準/ISO 10646,U+F000到U+F8FF被保留用於操作系統範圍內的分配 47 (Unicode標準將其稱爲“團體區域( 47 (Unicode標準將其稱爲“團體區域(Corporate Zone)”,因爲這對於Linux是不準確 48 的,所以我們稱之爲“Linux區域” 48 的,所以我們稱之爲“Linux區域”)。選擇U+F000作爲起點,因爲它允許直接映射 49 區域以2的大倍數開始(以防需要102 49 區域以2的大倍數開始(以防需要1024或2048個字符的字體)。這就留下U+E000到 50 U+EFFF作爲最終用戶區。 50 U+EFFF作爲最終用戶區。 51 51 52 [v1.2]:Unicodes範圍從U+F000到U+F7FF已 52 [v1.2]:Unicodes範圍從U+F000到U+F7FF已經被硬編碼爲直接映射到加載的字體, 53 繞過了翻譯表。用戶定義的映射現 53 繞過了翻譯表。用戶定義的映射現在默認爲U+F000到U+F0FF,模擬前述行爲。實際上, 54 此範圍可能較短;例如,vgacon只能 54 此範圍可能較短;例如,vgacon只能處理256字符(U+F000..U+F0FF)或512字符 55 (U+F000..U+F1FF)字體。 55 (U+F000..U+F1FF)字體。 56 56 57 Linux 區域中定義的實際字符 57 Linux 區域中定義的實際字符 58 --------------------------- 58 --------------------------- 59 59 60 此外,還定義了Unicode 1.1.4中不存在 60 此外,還定義了Unicode 1.1.4中不存在的以下字符;這些字符由DEC VT圖形映射使用。 61 [v1.2]此用法已過時,不應再使用; 61 [v1.2]此用法已過時,不應再使用;請參見下文。 62 62 63 ====== ====================================== 63 ====== ====================================== 64 U+F800 DEC VT GRAPHICS HORIZONTAL LINE SCAN 1 64 U+F800 DEC VT GRAPHICS HORIZONTAL LINE SCAN 1 65 U+F801 DEC VT GRAPHICS HORIZONTAL LINE SCAN 3 65 U+F801 DEC VT GRAPHICS HORIZONTAL LINE SCAN 3 66 U+F803 DEC VT GRAPHICS HORIZONTAL LINE SCAN 7 66 U+F803 DEC VT GRAPHICS HORIZONTAL LINE SCAN 7 67 U+F804 DEC VT GRAPHICS HORIZONTAL LINE SCAN 9 67 U+F804 DEC VT GRAPHICS HORIZONTAL LINE SCAN 9 68 ====== ====================================== 68 ====== ====================================== 69 69 70 DEC VT220使用6x10字符矩陣,這些字符 70 DEC VT220使用6x10字符矩陣,這些字符在DEC VT圖形字符集中形成一個平滑的過渡。 71 我省略了掃描5行,因爲它也被用作 71 我省略了掃描5行,因爲它也被用作塊圖形字符,因此被編碼爲U+2500 FORMS LIGHT 72 HORIZONTAL。 72 HORIZONTAL。 73 73 74 [v1.3]:這些字符已正式添加到Unicode 74 [v1.3]:這些字符已正式添加到Unicode 3.2.0中;它們在U+23BA、U+23BB、U+23BC、 75 U+23BD處添加。Linux現在使用新值。 75 U+23BD處添加。Linux現在使用新值。 76 76 77 [v1.2]:添加了以下字符來表示常見 77 [v1.2]:添加了以下字符來表示常見的鍵盤符號,這些符號不太可能被添加到Unicode 78 中,因爲它們非常討厭地取決於特 78 中,因爲它們非常討厭地取決於特定供應商。當然,這是糟糕設計的一個好例子。 79 79 80 ====== ====================================== 80 ====== ====================================== 81 U+F810 KEYBOARD SYMBOL FLYING FLAG 81 U+F810 KEYBOARD SYMBOL FLYING FLAG 82 U+F811 KEYBOARD SYMBOL PULLDOWN MENU 82 U+F811 KEYBOARD SYMBOL PULLDOWN MENU 83 U+F812 KEYBOARD SYMBOL OPEN APPLE 83 U+F812 KEYBOARD SYMBOL OPEN APPLE 84 U+F813 KEYBOARD SYMBOL SOLID APPLE 84 U+F813 KEYBOARD SYMBOL SOLID APPLE 85 ====== ====================================== 85 ====== ====================================== 86 86 87 克林貢(Klingon)語支持 87 克林貢(Klingon)語支持 88 ------------------------ 88 ------------------------ 89 89 90 1996年,Linux是世界上第一個添加對 90 1996年,Linux是世界上第一個添加對人工語言克林貢支持的操作系統,克林貢是由 91 Marc Okrand爲《星際迷航》電視連續 91 Marc Okrand爲《星際迷航》電視連續劇創造的。這種編碼後來被徵募Unicode註冊表 92 (ConScript Unicode Registry,CSUR)採用 92 (ConScript Unicode Registry,CSUR)採用,並建議(但最終被拒絕)納入Unicode 93 平面一。不過,它仍然是Linux區域 93 平面一。不過,它仍然是Linux區域中的Linux/CSUR私有分配。 94 94 95 這種編碼已經得到克林貢語言研究 95 這種編碼已經得到克林貢語言研究所(Klingon Language Institute)的認可。 96 有關更多信息,請聯繫他們: 96 有關更多信息,請聯繫他們: 97 97 98 http://www.kli.org/ 98 http://www.kli.org/ 99 99 100 由於Linux CZ開頭部分的字符大多是di 100 由於Linux CZ開頭部分的字符大多是dingbats/symbols/forms類型,而且這是一種 101 語言,因此根據標準Unicode慣例,我 101 語言,因此根據標準Unicode慣例,我將它放置在16單元的邊界上。 102 102 103 .. note:: 103 .. note:: 104 104 105 這個範圍現在由徵募Unicode註冊表 105 這個範圍現在由徵募Unicode註冊表正式管理。規範性引用文件爲: 106 106 107 https://www.evertype.com/standards/csu 107 https://www.evertype.com/standards/csur/klingon.html 108 108 109 克林貢語有一個26個字符的字母表 109 克林貢語有一個26個字符的字母表,一個10位數的位置數字書寫系統,從左到右 110 ,從上到下書寫。 110 ,從上到下書寫。 111 111 112 克林貢字母的幾種字形已經被提出 112 克林貢字母的幾種字形已經被提出。但是由於這組符號看起來始終是一致的,只有實際 113 的形狀不同,因此按照標準Unicode慣 113 的形狀不同,因此按照標準Unicode慣例,這些差異被認爲是字體變體。 114 114 115 ====== ====================================== 115 ====== ======================================================= 116 U+F8D0 KLINGON LETTER A 116 U+F8D0 KLINGON LETTER A 117 U+F8D1 KLINGON LETTER B 117 U+F8D1 KLINGON LETTER B 118 U+F8D2 KLINGON LETTER CH 118 U+F8D2 KLINGON LETTER CH 119 U+F8D3 KLINGON LETTER D 119 U+F8D3 KLINGON LETTER D 120 U+F8D4 KLINGON LETTER E 120 U+F8D4 KLINGON LETTER E 121 U+F8D5 KLINGON LETTER GH 121 U+F8D5 KLINGON LETTER GH 122 U+F8D6 KLINGON LETTER H 122 U+F8D6 KLINGON LETTER H 123 U+F8D7 KLINGON LETTER I 123 U+F8D7 KLINGON LETTER I 124 U+F8D8 KLINGON LETTER J 124 U+F8D8 KLINGON LETTER J 125 U+F8D9 KLINGON LETTER L 125 U+F8D9 KLINGON LETTER L 126 U+F8DA KLINGON LETTER M 126 U+F8DA KLINGON LETTER M 127 U+F8DB KLINGON LETTER N 127 U+F8DB KLINGON LETTER N 128 U+F8DC KLINGON LETTER NG 128 U+F8DC KLINGON LETTER NG 129 U+F8DD KLINGON LETTER O 129 U+F8DD KLINGON LETTER O 130 U+F8DE KLINGON LETTER P 130 U+F8DE KLINGON LETTER P 131 U+F8DF KLINGON LETTER Q 131 U+F8DF KLINGON LETTER Q 132 - Written <q> in standard Okrand Latin 132 - Written <q> in standard Okrand Latin transliteration 133 U+F8E0 KLINGON LETTER QH 133 U+F8E0 KLINGON LETTER QH 134 - Written <Q> in standard Okrand Latin 134 - Written <Q> in standard Okrand Latin transliteration 135 U+F8E1 KLINGON LETTER R 135 U+F8E1 KLINGON LETTER R 136 U+F8E2 KLINGON LETTER S 136 U+F8E2 KLINGON LETTER S 137 U+F8E3 KLINGON LETTER T 137 U+F8E3 KLINGON LETTER T 138 U+F8E4 KLINGON LETTER TLH 138 U+F8E4 KLINGON LETTER TLH 139 U+F8E5 KLINGON LETTER U 139 U+F8E5 KLINGON LETTER U 140 U+F8E6 KLINGON LETTER V 140 U+F8E6 KLINGON LETTER V 141 U+F8E7 KLINGON LETTER W 141 U+F8E7 KLINGON LETTER W 142 U+F8E8 KLINGON LETTER Y 142 U+F8E8 KLINGON LETTER Y 143 U+F8E9 KLINGON LETTER GLOTTAL STOP 143 U+F8E9 KLINGON LETTER GLOTTAL STOP 144 144 145 U+F8F0 KLINGON DIGIT ZERO 145 U+F8F0 KLINGON DIGIT ZERO 146 U+F8F1 KLINGON DIGIT ONE 146 U+F8F1 KLINGON DIGIT ONE 147 U+F8F2 KLINGON DIGIT TWO 147 U+F8F2 KLINGON DIGIT TWO 148 U+F8F3 KLINGON DIGIT THREE 148 U+F8F3 KLINGON DIGIT THREE 149 U+F8F4 KLINGON DIGIT FOUR 149 U+F8F4 KLINGON DIGIT FOUR 150 U+F8F5 KLINGON DIGIT FIVE 150 U+F8F5 KLINGON DIGIT FIVE 151 U+F8F6 KLINGON DIGIT SIX 151 U+F8F6 KLINGON DIGIT SIX 152 U+F8F7 KLINGON DIGIT SEVEN 152 U+F8F7 KLINGON DIGIT SEVEN 153 U+F8F8 KLINGON DIGIT EIGHT 153 U+F8F8 KLINGON DIGIT EIGHT 154 U+F8F9 KLINGON DIGIT NINE 154 U+F8F9 KLINGON DIGIT NINE 155 155 156 U+F8FD KLINGON COMMA 156 U+F8FD KLINGON COMMA 157 U+F8FE KLINGON FULL STOP 157 U+F8FE KLINGON FULL STOP 158 U+F8FF KLINGON SYMBOL FOR EMPIRE 158 U+F8FF KLINGON SYMBOL FOR EMPIRE 159 ====== ====================================== 159 ====== ======================================================= 160 160 161 其他虛構和人工字母 161 其他虛構和人工字母 162 ------------------- 162 ------------------- 163 163 164 自從分配了克林貢Linux Unicode塊之後< 164 自從分配了克林貢Linux Unicode塊之後,John Cowan <jcowan@reutershealth.com> 165 和 Michael Everson <everson@evertype.com> 建 165 和 Michael Everson <everson@evertype.com> 建立了一個虛構和人工字母的註冊表。 166 徵募Unicode註冊表請訪問: 166 徵募Unicode註冊表請訪問: 167 167 168 https://www.evertype.com/standards/csu 168 https://www.evertype.com/standards/csur/ 169 169 170 所使用的範圍位於最終用戶區域的 170 所使用的範圍位於最終用戶區域的低端,因此無法進行規範化分配,但建議希望對虛構 171 字母進行編碼的人員使用這些代碼 171 字母進行編碼的人員使用這些代碼,以實現互操作性。對於克林貢語,CSUR採用了Linux 172 編碼。CSUR的人正在推動將Tengwar和Ci 172 編碼。CSUR的人正在推動將Tengwar和Cirth添加到Unicode平面一;將克林貢添加到 173 Unicode平面一被拒絕,因此上述編碼 173 Unicode平面一被拒絕,因此上述編碼仍然是官方的。 174 174
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.