Unicode 支援

上次更新:2005-01-17,版本 1.4

注意:此文件的原始版本由 lanana.org 維護,作為 Linux Assigned Names And Numbers Authority (LANANA) 專案的一部分,但已不再存在。因此,Linux 核心主線中的此版本現在是維護的主要文件。

簡介

Linux 核心程式碼已重寫為使用 Unicode 將字元對映到字型。透過下載單個 Unicode 到字型的對映表,八位字元集和 UTF-8 模式都將更改為使用指示的字型。

這微妙地改變了八位字元表的語義。現在的四個字元表是

對映符號

對映名稱

轉義碼 (G0)

LAT1_MAP

Latin-1 (ISO 8859-1)

ESC ( B

GRAF_MAP

DEC VT100 偽圖形

ESC ( 0

IBMPC_MAP

IBM 內碼表 437

ESC ( U

USER_MAP

使用者定義

ESC ( K

特別是,ESC ( U 不再是“直接到字型”,因為字型可能與 IBM 字元集完全不同。這允許例如即使載入了 Latin-1 字型也可以使用塊圖形。

請注意,儘管這些程式碼類似於 ISO 2022,但程式碼及其用途都不符合 ISO 2022;Linux 有兩個 8 位程式碼(G0 和 G1),而 ISO 2022 有四個 7 位程式碼(G0-G3)。

根據 Unicode 標準/ISO 10646,範圍 U+F000 到 U+F8FF 已被保留用於 OS 範圍內的分配(Unicode 標準將其稱為“公司區”,因為這對 Linux 不準確,我們稱之為“Linux 區”)。 選擇 U+F000 作為起始點,因為它允許直接對映區域從 2 的大冪開始(以防將來需要 1024 或 2048 個字元的字型)。這使得 U+E000 到 U+EFFF 作為終端使用者區。

[v1.2]: 從 U+F000 到 U+F7FF 的 Unicode 範圍已硬編碼為直接對映到載入的字型,繞過轉換表。現在,使用者定義的對映預設為 U+F000 到 U+F0FF,模擬之前的行為。 實際上,此範圍可能更短;例如,vgacon 只能處理 256 個字元 (U+F000..U+F0FF) 或 512 個字元 (U+F000..U+F1FF) 字型。

Linux 區中分配的實際字元

此外,還定義了 Unicode 1.1.4 中不存在的以下字元;這些字元由 DEC VT 圖形對映使用。[v1.2] 此用法已過時,不應再使用;請參見下文。

U+F800

DEC VT 圖形水平線掃描 1

U+F801

DEC VT 圖形水平線掃描 3

U+F803

DEC VT 圖形水平線掃描 7

U+F804

DEC VT 圖形水平線掃描 9

DEC VT220 使用 6x10 字元矩陣,這些字元在 DEC VT 圖形字元集中形成平滑的漸變。我省略了掃描線 5,因為它也用作塊圖形字元,因此已編碼為 U+2500 形式淺水平。

[v1.3]: 這些字元已正式新增到 Unicode 3.2.0 中;它們新增到 U+23BA、U+23BB、U+23BC、U+23BD。 Linux 現在使用新值。

[v1.2]: 已新增以下字元來表示常見的鍵磁碟機代號號,這些符號不太可能新增到 Unicode 中,因為它們是可怕的供應商特定的。 當然,這是可怕設計的一個很好的例子。

U+F810

鍵磁碟機代號號 飛翔的旗幟

U+F811

鍵磁碟機代號號 下拉選單

U+F812

鍵磁碟機代號號 開啟的蘋果

U+F813

鍵磁碟機代號號 實心蘋果

克林貢語支援

1996 年,Linux 是世界上第一個為人工語言克林貢語新增支援的作業系統,克林貢語由 Marc Okrand 為“星際迷航”電視劇創作。 這種編碼後來被 ConScript Unicode Registry 採用,並被提議(但最終被拒絕)包含在 Unicode 平面 1 中。因此,它仍然是 Linux/CSUR 在 Linux 區中的私有分配。

此編碼已獲得克林貢語研究所的認可。 如需更多資訊,請透過以下方式與他們聯絡

由於 Linux CZ 開頭的字元更多的是裝飾物/符號/形式型別,而這是一種語言,因此我將其定位在末尾,保持與標準 Unicode 慣例一致的 16 單元格邊界上。

注意

此範圍現在由 ConScript Unicode Registry 正式管理。 規範性參考是

克林貢語有 26 個字母的字母表,一個帶有 10 個數字的位置數字書寫系統,並且從左到右、從上到下書寫。

已經提出了克林貢字母的幾種字形形式。 然而,由於符號集看起來始終如一,只有實際形狀不同,因此根據標準 Unicode 慣例,這些差異被認為是字型變體。

U+F8D0

克林貢字母 A

U+F8D1

克林貢字母 B

U+F8D2

克林貢字母 CH

U+F8D3

克林貢字母 D

U+F8D4

克林貢字母 E

U+F8D5

克林貢字母 GH

U+F8D6

克林貢字母 H

U+F8D7

克林貢字母 I

U+F8D8

克林貢字母 J

U+F8D9

克林貢字母 L

U+F8DA

克林貢字母 M

U+F8DB

克林貢字母 N

U+F8DC

克林貢字母 NG

U+F8DD

克林貢字母 O

U+F8DE

克林貢字母 P

U+F8DF

克林貢字母 Q - 在標準 Okrand 拉丁語音譯中寫為 <q>

U+F8E0

克林貢字母 QH - 在標準 Okrand 拉丁語音譯中寫為 <Q>

U+F8E1

克林貢字母 R

U+F8E2

克林貢字母 S

U+F8E3

克林貢字母 T

U+F8E4

克林貢字母 TLH

U+F8E5

克林貢字母 U

U+F8E6

克林貢字母 V

U+F8E7

克林貢字母 W

U+F8E8

克林貢字母 Y

U+F8E9

克林貢字母 聲門塞音

U+F8F0

克林貢數字 零

U+F8F1

克林貢數字 一

U+F8F2

克林貢數字 二

U+F8F3

克林貢數字 三

U+F8F4

克林貢數字 四

U+F8F5

克林貢數字 五

U+F8F6

克林貢數字 六

U+F8F7

克林貢數字 七

U+F8F8

克林貢數字 八

U+F8F9

克林貢數字 九

U+F8FD

克林貢 逗號

U+F8FE

克林貢 句號

U+F8FF

克林貢帝國符號

其他虛構和人造文字

自從分配了克林貢 Linux Unicode 塊以來,John Cowan <jcowan@reutershealth.com> 和 Michael Everson <everson@evertype.com> 建立了一個虛構和人造文字的登錄檔。 ConScript Unicode Registry 可在以下網址訪問

使用的範圍落在終端使用者區低端,因此不能進行規範分配,但建議希望對虛構指令碼進行編碼的人使用這些程式碼,以實現互操作性。 對於克林貢語,CSUR 採用了 Linux 編碼。 CSUR 人員正在推動將 Tengwar 和 Cirth 新增到 Unicode 平面 1 中;將克林貢語新增到 Unicode 平面 1 的請求已被拒絕,因此上述編碼仍然是官方的。