TRONコード(トロンコード)とは、TRONプロジェクトで使用されている文字コードである。TRON多国語言語環境の初期論文は1987年に発表され(「TAD言語環境と多国語対応」)、以来主にBTRONで利用されてきた。
特徴 単体で「TRONコード」という文字コードがあるわけではなく、TAD(TRON Application Databus)という、TRONの実身/仮身モデルをサポートするデータフォーマットの一部であるhttp://www.chokanji.com/developer/doc/btron3/shared_data/index.html。GTプロジェクトのように、TRONプロジェクトで独自に文字の蒐集をおこない文字集合も作成しているが、TRONコードは基本的に、既存の文字集合をそのまま取り込むフレームワークとして設計されている。
特に漢字について、UnicodeのCJK統合漢字のHan unification(w:Han unification)のように統合を行ったりせず、JISの各漢字の他GB 2312やKS X 1001やCNS 11643を、そのまま空間として割り当てていることが特徴である。
変わったところではトンパ文字やSF作品中の架空文字であるアーヴ文字などもコードを割り当てられている。
仕様 コード体系 TRONコードは、2バイト単位をベースとしている。0000~FFFFの空間を4個のゾーンに分け(詳細は後述)、1面あたり48,400の符号点がある。任意長に拡張可能なエスケープシーケンスにより、面を切り替えることができるので、規格上はいくらでも文字を割り当てられる。以下にTRONコードの構成を示す。
第1バイト第2バイト制御コード0x000x00 - 0xFE文字コード0x21 - 0x7E0x80 - 0xFD0x21 - 0x7E0x80 - 0xFD言語切り替え0xFE0x21 - 0x7E0x80 - 0xFE特殊コード0xFF0x21 - 0xFEエスケープ0xFF0x80 - 0xFEEOF0xFF0xFF
なお、ISO/IEC 646など、8ビット系コードとの互換は、「TRON1バイト文字コード」『TRONプロジェクト '87-'88』p. 143「Eゾーン」『TRONWARE』Vol. 36, p. 13などとして一部の資料に言及が見られるが、制御コード以外は実装されていない。
詳細 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)」を含む文字群が収録されている。一方、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六点点字Unicode 3.0八点点字Unicode 3.0iモード絵文字Unicode 6.0 (企業のロゴマーク等を除く)ホツマ文字陰陽五行文字GT書体フォント大漢和辞典収録文字トンパ文字記号Unicode 2.0数学・技術記号Unicode 2.0通貨記号Unicode 2.0IPA発音記号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.0CJK用共通記号Unicode 2.0ハングル字母等Unicode 2.0
多言語と多文字 以上の仕様により、多様な文字種を含む文章をデータにできる。しかし、表示にはまた別の問題が存在する。
文字の綴り方は言語によって異なり、漢字文化圏より複雑な規則を持つ言語も多い。BTRONでは、言語層・スクリプト層・文字属層・フォント層というレイヤを想定しているが、現状では実装されていない。このため実装では、インド系の文字の結合処理・アラビア語やヘブライ語の右から左への記述順など、いずれもまともに可視化できない。トンパ文字が実装されているものの、ため、必ずしもトンパを綴れると言える環境でもない。こうした指摘もあることから、TRONコードは多言語ではなく多文字に過ぎないと評する向きもある。
歴史 コード体系に示した通り、TRONコード自体は当初から多くの文字コードを扱える様設計されていたが、1999年に超漢字が発売されるまでは、第1面のみが使用される状況が続いた。これを「とりあえず多言語」と呼び、第1面には「とりあえず多言語面」という別名が付けられた。多言語とはいうものの漢字文化圏である3か国の文字セットを纏めたものではあり、前述のように日本の文字セットであるJIS X 0212、中国のGB 2312、韓国のKS X 1001、および点字が含まれる。
なお「TAD言語環境と多国語対応」では「言語指定コード」というもので言語を切り替える、という構想が示されているが、現状で使用されている切り替えコードは言語指定コードではなく「スクリプト切り替えコード」だとされている(「TRONの多国語言語環境の仕様」, 『TRONWARE』Vol. 50, p. 47)。
超漢字では、Big5や今昔文字鏡が収録され、一気に収録文字数が増えた。その後、2000年1月にTRON文字収録センタが発足し、トンパ文字やアーヴ文字等の文字種までが収められるまでになった。一方でGT書体との絡み及びライセンスの問題が表面化し、今昔文字鏡がTRONコードから削除される事態を招いた(第11 - 第15面までの5面が欠番として空けられているのはこの影響である)。パーソナルメディアは超漢字3において、文字鏡研究会により今昔文字鏡フォントの使用許諾契約書が改訂され今昔文字鏡文字の文字コード変換が制限され、またエーアイ・ネットから今昔文字鏡フォントの配布ライセンスが得られず独自の互換変換表の作成も承諾されなかったとしている超漢字3と今昔文字鏡文字に関するご質問。
関連項目
大漢和辞典 GT書体 住民基本台帳収録変体仮名 おとど(24px) TRONコード一覧 2-2100 - 2-21FF TRONコード一覧 2-2200 - 2-22FF TRONコード一覧 2-2300 - 2-23FF TRONコード一覧 2-2400 - 2-24FF
出典
外部リンク BTRON3仕様書 TRON文字収録センター 超漢字 GT明朝 今昔文字鏡