読み込み中...TRONコード(トロンコード)とは、TRONプロジェクトで開発されたコンピュータ文字コードのこと。32Bit長のコードで、今のところ150万字ほどを混在して扱う事ができる。TRON多国語言語環境の初期論文は1987年に発表され、以来主にBTRONで利用されてきた。
多言語文字コードとしてUnicodeと比較される事が多いが、実質はメタ・文字コードと呼ぶべき体系であり、本質的に別物と捉えるべきである。
Unicodeが「見た目の異なる全ての文字に単一のコードが割り当てられる」ことを保証するのに対して、TRONコードは「たとえ見た目が同じでも視点が異なれば別の文字である」という考え方をとる。従ってTRONコードでは字形が同一の文字が複数のコードを持っていることが多い。それらが使われてきた文化的意味を前提とした場合、実際に同一の文字と見なせるのか、それともたまたま同じ形をしているのか、絶対的な判断を下す事はできないからである。現在のTRONコードもJIS、Unicode、GBコード(中国語)などが混在する。このため、たとえば、旧字体・当用漢字・簡体字で違いがない漢字は、完全にないしほとんど同じ字形に対し、5つのコードを持つ。これらの重複に対しては、必要に応じてアプリケーションレベルでの同一性判定を行なっている。
なお、GT書体は「とめ」「はね」などの差異もそれぞれが異字であると解釈して収録されるため、TRONコードという枠の中で考えたとき、上記の「何を以って同じ字形と捉えるか」という問題はあまり大きな意味を持つものではないとも言える。むしろJISなどの一般の文字コード枠は法令改訂などによって字形が刷新されるもの、大漢和辞典枠やGT書体枠は字形を恒久的に維持するものとして両者を包括的に収録構成する多面的文字セットとして見る方が、TRONコードの構築概念としては正解である。
包摂の判定を放棄するこの方針を合理的とする評価もあるが、一方で、コードの割り当て基準が必ずしも明確でない事、TRONに包摂判定を提供するレイヤが定義されていない事等から、文字コードとしては稚拙であると評する向きも少なくない。
逆にアルファベットでは従来の文字コードが全角/半角を別の文字と見なすのに対し、TRONコードでは同じ文字コードの別表現(スタイル)として扱われる。
他の文字コード体系に比べて規定が非常に緩く、また「外字は存在しない」という方針のため、未知の文字は「とりあえず入れてしまう」方針をとる。変わったところではトンパ文字やSF作品中の架空文字であるアーヴ文字なども正式なコードを割り当てられている。
TRONコードはASCIIコードとの互換性を考慮しておらず、制御文字以外の全領域を割り当て領域として使用する。このため48,400文字を表現できるが、言語切り替えコードを使用することで、更に多くの文字を収納できる。2バイトの言語切り替えコードを用いて31面(各面をスクリプトと呼ぶ)150万文字を割り当てることができるが、仕様上は3バイト以上の切り替えコードが認められており、必要であれば更なる文字の登録が可能である。以下にTRONコードの構成を示す。
| 第1バイト | 第2バイト | |
|---|---|---|
| 制御コード | 0x00 | 0x00〜0xFE |
| 文字コード | 0x21〜0x7E 0x80〜0xFD |
0x21〜0x7E 0x80〜0xFD |
| 言語切り替え | 0xFE | 0x21〜0x7E 0x80〜0xFE |
| 特殊コード | 0xFF | 0x21〜0xFE |
| エスケープ | 0xFF | 0x80〜0xFE |
| EOF | 0xFF | 0xFF |
コード体系によってそれぞれのスクリプトにおける文字コード領域は4つに分断される。この分断された個々をゾーンと呼び、文字を収録する際には文字種や文字セットをゾーンによって振り分けている。従って大雑把な表現をするのであれば、各スクリプトに4種類の文字種を収録できるということもでき、それぞれAゾーンは2121〜7E7E、Bゾーンは8021〜FD7E、Cゾーンは2180〜7EFD、Dゾーンは8080〜FDFDと定義される。
TRONコード第2面2100〜21FF番の表を参照されたい。この領域はGT書体が収録されている。2100から2120までは制御などに掛かる未使用領域であり、実際の文字領域は2121から開始される。217Fは未使用であるが、続く2180からの収録文字はそれまでの系列の文字とは異なる。2121から217Eまでは「16px」の部に関連した「16px(16px)」を含む文字群が収録されている。一方、2180からは「16px」を部首とする文字群の領域である。
ほかの文字コードではこうした配列になることは少ないが、ゾーンという概念を持つTRONコードでは第1バイトが同じであっても連続するコードの中で分断されるという現象が生じる。なお、上記の例ではAゾーンとCゾーンの隣接によるものであり、第2面217E番の「16px」に続く文字は第2面2221番「16px」から再び続行される。TRONコード第2面2200〜22FF番の表を参照。
上記の通り、標準では31面150万文字の登録が可能であるが、2006年10月27日時点で割り当てられているのは、9面18万文字である。各スクリプトの構成は以下の通りである。
| 面番号 | 構成 |
|---|---|
| 第1面 | JIS X0208、X0213、X0212、GB 2312、KS X 1001、点字 |
| 第2〜3面 | GT書体 |
| 第4〜5面 | 予約 |
| 第6面 | Big5 |
| 第7面 | 予約 |
| 第8面 | 大漢和辞典収録文字 |
| 第9面 | 大漢和辞典収録文字、記号類 |
| 第10面 | 中国伝承文字、少数民族文字等 |
| 第11〜15面 | 欠番 |
| 第16〜17面 | Unicode(漢字及びハングルは含まない) |
| 第18〜21面 | 予約 |
| 第22〜23面 | 中国拡張文字GB18030 |
| 第24〜31面 | 予約 |
上述の通り、スクリプトとしては9面が現状定義されているが、各スクリプトの内部に複数の文字種が混在して収められている。このため、TRONコードに登録された文字種は9種より多く39種を数える。以下に、TRONコードに収録済の文字種を示す。
| 文字種 | 文字集合 |
|---|---|
| JIS第一・第二水準・第三・ 第四水準・補助漢字 |
JIS X 0208 X 0213 X 0212 |
| 韓国語(漢字,ハングル) | KS X 1001 |
| 中国語(簡体字) | GB 2312 |
| 中国語(伝統字,繁体字) | Big5 |
| 中国語(拡張文字) | GB18030 |
| 六点点字 | |
| 八点点字 | |
| iモード絵文字 | |
| ホツマ文字 | |
| 陰陽五行文字 | |
| GT書体フォント | |
| 大漢和辞典収録文字 | |
| トンパ文字 | |
| 記号 | Unicode 2.0 |
| 数学・技術記号 | Unicode 2.0 |
| 通貨記号 | Unicode 2.0 |
| IPA発音記号 | Unicode 2.0 |
| 句読点類 | Unicode 2.0 |
| ラテン | Unicode 2.0 |
| ギリシャ | Unicode 2.0 |
| キリル | Unicode 2.0 |
| アルメニア | Unicode 2.0 |
| ヘブライ | Unicode 2.0 |
| アラビア | Unicode 2.0 |
| デーヴァナーガリ | Unicode 2.0 |
| ベンガル | Unicode 2.0 |
| グルムキー | Unicode 2.0 |
| グジャラティ | Unicode 2.0 |
| オリヤ | Unicode 2.0 |
| タミール | Unicode 2.0 |
| テルグ | Unicode 2.0 |
| カンナダ | Unicode 2.0 |
| マラヤーラム | Unicode 2.0 |
| タイ | Unicode 2.0 |
| ラオス | Unicode 2.0 |
| チベット | Unicode 2.0 |
| グルジア | Unicode 2.0 |
| かな・漢文記号 | Unicode 2.0 |
| CJK用共通記号 | Unicode 2.0 |
| ハングル字母等 | Unicode 2.0 |
以上の仕様により、多様な文字種を含む文章データの表現が可能になるが、文章データの表示にはまた別の問題が存在する。文字の綴り方は言語によって異なり、漢字文化圏より複雑な規則を持つ言語も多い。このため、言語層、スクリプト層、文字属層の三層を設けて文章データを扱う方法が提唱されているが、TRONコード及びTRONではこの点が徹底されておらず、実際インド系の文章は正しく表現できるとは言いがたい。加えて、現状では文字のストロークも左から右へと綴る仕様のみに留まり、アラビア語やヘブライ語の記述は困難を要する。さらにトンパ文字が実装されているものの、トンパは単に横に並べて綴る文字ではなく、また文字に色を加えることで修飾する文法を持つため、必ずしもトンパを綴れると言える環境でもない。こうした指摘もあることから、TRONコードは多言語ではなく多文字に過ぎないと評する向きもある。
コード体系に示した通り、TRONコード自体は当初から多くの文字コードを扱える様設計されていたが、1999年に超漢字が発売されるまでは、第1面のみが使用される状況が続いた。これを「とりあえず多言語」と呼び、第1面には「とりあえず多言語面」という別名が付けられた。多言語とはいうものの漢字文化圏である3ヶ国の文字セットを纏めたものではあり、前述のように日本の文字セットであるJIS X 0212、中国のGB 2312、韓国のKS X 1001、および点字が含まれる。この、1つのスクリプト(面)に複数の文字セットを積め込むという発想からゾーンという概念が生まれた。
超漢字では、Big5や今昔文字鏡が収録され、一気に収録文字数が増えた。その後、TRON文字収録センタが発足し、トンパ文字やアーヴ文字等の文字種までが収められるまでになったが、一方でGT書体との絡み及びライセンスの問題が表面化し、今昔文字鏡がTRONコードから削除される事態を招いた。(第11〜第15面までの5面が欠番として空けられているのはこの影響である。)
読み込み中...