Unicode

Unicode には数多くの規格があります。 pTeX / upTeX に関係する範囲で必要なものをまとめてみます。

ptetex3 における Unicode サポート活動

UTF-8対応
ptex, jbibtex などの限定的サポート
UTF-8対応(2)
共通処理をライブラリ libkanji に切り出して全ツール対応
UTF-8対応(3)
ロケール対応と文字コード自動判別機能の追加
UTF-8対応(4)
ライブラリを ptexenc として独立させ upTeX とすり合わせる
UTF-8対応(5)
情報の整理しなおしと platex-euc などの廃止

Unicode or ISO/IEC 10646

Unicode と言っても、似たような規格が2つあります。

Unicode (The Unicode Standard)UCS (Universal Character Set)
策定団体ユニコードコンソーシアム国際標準化機構 (ISO)
文字集合の大きさ21bit31bit
"UTF"の正式名Unicode Transformation FormatUCS Transformation Format
代表的なエンコーディングUTF-8, UTF-16, UTF-32?UTF-8, UTF-16, UCS-2, UCS-4?
UTF-8の1文字1〜4byte1〜6byte

文字の範囲

代表的な文字が Unicode のどの部分にあるのかまとめてみます。 通常我々の使う文字のほとんどは U+FFFF までに収まっています。 この範囲は、当初 Unicode として策定されていた文字集合で、 BMP (Basic Multilingual Plane) と呼ばれています。

文字の範囲UTF-8表現UTF-16表現代表的な文字
U+0000〜U+007F1byte2byteASCII の 7bit 文字
U+0080〜U+07FF2byteLatin-1、ギリシャ、キリル文字
U+0800〜U+FFFF3byteJIS漢字の第1,2水準すべて
JIS漢字の第3,4水準の一部
U+10000〜U+10FFFF4byte4byteJIS漢字の第3,4水準の一部


ASCIIaA1#
全角英数aA1#
ギリシャ・キリル文字αΑжЖ
ひらがな・カタカナあをヴ
JIS X 0208(第1,2水準?)亜龜瑤
機種依存文字○付き数字・はしご高
土吉
?う゛

エンコーディング

文字に割り当てられた文字コードは同じでも、 バイト列に置き換えたときにどのように表現するか、 いろいろな方法が考えられます。

一文字のバイト数上限備考
UTF-81〜4byteの可変U+10FFFFアルファベットに限れば普通の ASCII と同じ、左記はUnicodeの場合
UCS-22byteの固定U+FFFF範囲内では UTF-16, UTF-32/UCS-4の下位2byte と同じ
UTF-162,4byteの可変U+10FFFFU+FFFFの範囲内は UCS-2 と同じ、同範囲超はサロゲートペア
UTF-324byteの固定U+10FFFF範囲内では UCS-4 と同じ、最上位部 1byte は必ず 0
UCS-44byteの固定0x7FFFFFFF0x10FFFF以下では UTF-32 と同じ
Unicodeスカラー値U+10FFFF上記のような符号化表現ではなくて整数値

リンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-04-28 (土) 20:12:22 (3617d)