other versions
other languages
other sections
UNICODE(7) | Linux Programmer's Manual | UNICODE(7) |
名前¶
Unicode - 汎用文字集合説明¶
国際規格 ISO 10646 は 汎用文字集合 (Universal Character Set (UCS)) を定義している。 UCS は他規格の文字集合の文字を全て含んでいる。 さらに、 双方向の互換性 (round-trip compatibility) を保証する。 例えば他の符号から UCS に変換しさらに元の符号に変換したとしても、 何の情報も失なわれないように変換テーブルを作成することができる。合成文字 (Combining Characters)¶
UCS のいくつかのコード・ポイントは 合成文字 (combining characters) に割り当てられている。 これらはタイプライターの移動しないアクセント・キーに似ている。 合成文字は直前の文字にアクセントのみを加える。 最も重要なアクセント付きの文字はそれ自身のコードを UCS に持っている。 一方で合成文字機構は全ての文字にアクセントや発音区別符号を加えることができる。 合成文字は常にそれが修正する文字に続く。 例えばドイツ語の文字 A ウムラウト ("Latin capital letter A with diaeresis") は UCS に前もって準備されたコード 0x00c4 でも、 通常の A "Latin capital letter A" に "combining diaeresis (合成分音記号)" を続けた組合せ (0x0041 0x0308) のどちらでも表現することができる。 合成文字は、タイ文字や数学植字のエンコード・ 国際音声字母を使うユーザーなどには必須である。実装レベル¶
全てのシステムに合成文字のような進んだサポートを期待しているわけではない。 ISO 10646-1 は以下の三段階の UCS の 実装レベル を指定している。- Level 1
- 合成文字と ハングル・ジャモ文字 (いろいろな韓国・朝鮮文字の符号化。 この符号化では、ハングル音節のグリフが 3 つまたは 2 つの母音・子音コードの組み合わせで符号化される) はサポートしない。
- Level 2
- Level 1 と同様だが、合成文字を必須とする言語のための文字 (例えば、タイ文字・ラオス文字・ヘブライ文字・アラビア文字・ デーヴァナーガリー文字・マレヤーラム文字) は使える。
- Level 3
- 全ての UCS 文字をサポートする。
Linux における Unicode¶
GNU/Linux では、C 言語の型 wchar_t は符号付き 32 ビット整数型である。 その値は C ライブラリにより (すべてのロケールにおいて) 常に UCS コードの値として解釈される。 これを GNU C ライブラリがアプリケーションに知らせるための規約として、 定数 __STDC_ISO_10646__ を定義する。 これは ISO C99 規格で指定されている。プライベート・エリア¶
BMP の 0xe000 〜 0xf8ff の範囲は、規格ではいかなる文字も割り当てず、 私的な使用のために予約されている。 Linux コミュニティでは、 このプライベート・エリアをさらに細かく分割して使用する。 0xe000 〜 0xefff の範囲はエンド・ユーザーが個々に使用することができる。 0xf000 〜 0xf8ff の範囲は Linux Zone で 全ての Linux ユーザーで共通に使用する。 Linux Zone への文字割り当ての登録は、 現在 H. Peter Anvin <Peter.Anvin@linux.org> によって管理されている。文献¶
- *
- Information technology — Universal Multiple-Octet
Coded Character Set (UCS) — Part 1: Architecture and Basic
Multilingual Plane. International Standard ISO/IEC 10646-1, International
Organization for Standardization, Geneva, 2000.
- *
- The Unicode Standard, Version 3.0. The Unicode Consortium, Addison-Wesley, Reading, MA, 2000, ISBN 0-201-61633-5.
- *
- S. Harbison, G. Steele. C: A Reference Manual. Fourth
edition, Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
- *
- Unicode 技術レポート。
- *
- Markus Kuhn: UNIX/Linux のための UTF-8 と Unicode の FAQ。
http://www.cl.cam.ac.uk/~mgk25/unicode.html
linux-utf8
メーリングリストを購読するための情報がある。
Linux で Unicode
を使う場合のアドバイスを探すのに一番良い場所である。
- *
- Bruno Haible: Unicode HOWTO.
バグ¶
このマニュアルページを最後に改訂した時点で、 GNU C ライブラリの UTF-8 サポートは完成している。 XFree86 によるサポートは進行中である。 UTF-8 ロケールで快適に使えるアプリケーション (多くの有名なエディタ) の作成は、まだ進行中である。 Linux での UCS サポートでは通常 CJK の 2 ワイド文字が提供される。 単純な重ね打ちによる合成文字が提供される場合もある。 しかし、右から左へ書く文字やヘブライ文字・アラビア文字・インド語系文字などの 合字の置き換えを必要とする文字はサポートされていない。 現在、これらの文字は洗練されたテキスト描画エンジンを備えた GUI アプリケーション (HTML ビューア・ワードプロセッサ) でのみ サポートされている。関連項目¶
setlocale(3), charsets(7), utf-8(7)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2001-05-11 | GNU |