JF Linux Kernel 3.x/2.6 Documentation: /usr/src/linux/Documentation/unicode.txt

unicode.txt

Unicode に対応するための Linux カーネルコード変更点についての説明 [プレインテキスト版]


文字をフォントにマップする Unicode を使うために Linux のカーネル・コー
ドは書き直されました.ただひとつの Unicode-to-font テーブルをダウンロー
ドすれば,表示されたフォントを使うように 8 ビット文字セットと UTF-8 モー
ドとの両方が変更されます.

これにより 8 ビット文字テーブルの意味がわずかに変わります.現在の 4 つ
の文字テーブル:

マップ記号	マップ名			エスケープ・コード (G0)

LAT1_MAP	Latin-1 (ISO 8859-1)		ESC ( B
GRAF_MAP	DEC VT100 pseudographics	ESC ( 0
IBMPC_MAP	IBM code page 437		ESC ( U
USER_MAP	User defined			ESC ( K

フォントは IBM 文字セットと完全に異なっているかもしれないので,特に 
ESC ( U はもう "straight to font" でありません.例えば Latin-1 フォン
トがロードされてもブロック・グラフィックスが使用できます.

Unicode standard/ISO 10646 に従って,U+F000 から U+F8FF の範囲が OS に
広く割り当てるために予約されました.(Unicode Standard は「Corporate
Zone」と呼びます.Linux には誤りなので「Linux Zone」と呼びます.)直接
マッピング・エリアは 2 の大きな巾で始まるので,(万一 1024 あるいは 
2048 文字フォントが必要になる場合に備えて) U+F000 が出発点に選ばれまし
た.これで U+E000 から U+EFFF が End User Zone として残ります.

U+F000 から U+F1FF の範囲の Unicode はロードされたフォントに,変換テー
ブルを回避して直接マップするためにハード・コードされました.以前の動作
をエミュレートするために,ユーザー定義のマップは現在 U+F000 から 
U+F1FF がデフォルトです.将来にこの範囲が拡張されるのは保証されるべき
です.

Linux Zone に割り当てられた現行の文字
-------------------------------------

加えて,Unicode 1.1.4 に存在しない(,少なくとも私は見つけたことのない,)
以下の文字が定義されました.これらは DEC VT グラフィックス・マップで使
われます:

U+F800 DEC VT GRAPHICS HORIZONTAL LINE SCAN 1
U+F801 DEC VT GRAPHICS HORIZONTAL LINE SCAN 3
U+F803 DEC VT GRAPHICS HORIZONTAL LINE SCAN 7
U+F804 DEC VT GRAPHICS HORIZONTAL LINE SCAN 9

6x10 文字行列が DEC VT220 で使われます.これらの文字は DEC VT グラフィッ
クス・文字セットの無理のない拡張です.SCAN 5 の行はブロック・グラフィッ
クス文字としても使われるので省略しました.ですから U+2500 FORMS LIGHT
HORIZONTAL としてコードしました.しかし U+F802 は必要になるでしょうか
ら空白にしておきました.

クリンゴン語のサポート
----------------------

多くの虚構の言語を含めることが提案された場合の潜在的なコード・ポイント
の急増を恐らく心配して,あいにく Unicode/ISO 10646 はクリンゴン語のた
めのコード・ポイントを割り当てていません.政治的理由もあります.(例え
ば,日本語は第一に全体の 16 ビットの概念にとって,あまり喜ばしくありま
せん.)しかし,ハッカーの操る Linux OS でサポートするのは,価値ある立
派な言語学ハックと思われます.ゆえに Linux Zone のリストにそれを加える
ことを私は選択しました.

クリンゴン・アルファベットのためのいくつかのグリフ形が提案されました.
しかし,記号のセットは,実際の形が異なるだけで,全体を通して矛盾のない
ように思われるので,標準の Unicode の慣例を保ちつつこれらの違いはフォ
ントの異形とみなされます.

クリンゴン語には 26 文字のアルファベットと 10 個の数字で順番を書き表す
方法があり,左から右へ,上から下へ,書かれます.句読法はラテン語字訳に
使われるだけに思われます.おのおのの文を 1 行に書いて中心をそろえるの
が通例です.空白は句読のために取っておき,確認の必要があります.

このエンコーディングは Klingon Language Institute によって是認されまし
た.詳細はそちらに問い合わせてください:

	http://www.kli.org/

Linux CZ の始めの文字は,飾り文字,記号,形態のタイプの大部分になりま
したし,これは言語なので,標準の Unicode の慣例を守って 16 セル境界の
終りに私はそれを配置しました.

U+F8D0	KLINGON LETTER A
U+F8D1	KLINGON LETTER B
U+F8D2	KLINGON LETTER CH
U+F8D3	KLINGON LETTER D
U+F8D4	KLINGON LETTER E
U+F8D5	KLINGON LETTER GH
U+F8D6	KLINGON LETTER H
U+F8D7	KLINGON LETTER I
U+F8D8	KLINGON LETTER J
U+F8D9	KLINGON LETTER L
U+F8DA	KLINGON LETTER M
U+F8DB	KLINGON LETTER N
U+F8DC	KLINGON LETTER NG
U+F8DD	KLINGON LETTER O
U+F8DE	KLINGON LETTER P
U+F8DF	KLINGON LETTER Q
	- Written <q> in standard Okrand Latin transliteration
U+F8E0	KLINGON LETTER QH
	- Written <Q> in standard Okrand Latin transliteration
U+F8E1	KLINGON LETTER R
U+F8E2	KLINGON LETTER S
U+F8E3	KLINGON LETTER T
U+F8E4	KLINGON LETTER TLH
U+F8E5	KLINGON LETTER U
U+F8E6	KLINGON LETTER V
U+F8E7	KLINGON LETTER W
U+F8E8	KLINGON LETTER Y
U+F8E9	KLINGON LETTER GLOTTAL STOP

U+F8F0	KLINGON DIGIT ZERO
U+F8F1	KLINGON DIGIT ONE
U+F8F2	KLINGON DIGIT TWO
U+F8F3	KLINGON DIGIT THREE
U+F8F4	KLINGON DIGIT FOUR
U+F8F5	KLINGON DIGIT FIVE
U+F8F6	KLINGON DIGIT SIX
U+F8F7	KLINGON DIGIT SEVEN
U+F8F8	KLINGON DIGIT EIGHT
U+F8F9	KLINGON DIGIT NINE

他の虚構的人工的書体
--------------------

クリンゴン Linux Unicode ブロックの割り当て,虚構的人工的書体の登録は 
John Cowan <cowan@ccil.org> 氏によって創設されました.ConScript
Unicode Registry は http://locke.ccil.org/~cowan/csur/ でアクセスでき
ます.使用される範囲は End User Zone の後部なので,規範に従って割り当
てることができません.しかし,虚構的な書体のエンコードを望む方々が,内
部使用可能なことに興味を持ってこれらのコードを使用することを推奨します.
クリンゴン語に対して CSUR は Linux エンコーディングを採用しました.

	H. Peter Anvin <hpa@zytor.com>

訳者: 山縣 敦 <ayamagat@phys.metro-u.ac.jp>

Linux カーネル 3.x/2.6 付属文書一覧へ戻る