TRONコード
読み:トロンコード
外語:TRON code
TRON
で使われている
文字コード
の仕様。
目次
概要
用途
符号体系
切り替え式の選択理由
技術
包摂規準
ゾーン
仕様
言語面
収録文字
概要
用途
自由に利用できることもあり、広く用いられている。
BTRONである
超漢字
シリーズでも、標準的にこのコードが使われる。
符号体系
コードは
ISO/IEC 2022
を独自にアレンジしたような仕様となっている。
2バイトで構成される16ビットコードのそれぞれが2/1〜7/14、8/0〜15/13の範囲にあり、都合220種類が2バイト構成で計48,400符号位置を表現できる。
これを言語面と呼び、超漢字以降のBTRONでは31面までの言語面に対応する。つまり最大1,500,400字まで扱う事ができる。しかも、言語面は容易に拡張可能で、都合無限の文字を扱えるようになっている。
切り替え式の選択理由
文章では通常、同じ言語面の文字を使い続ける事が多いということから、例えば32ビット等で統一して文字を表わすよりは、16ビットで表現し、必要とあらば言語面を切り換える手法の方が効率が良い。
TRONコードはその通りの仕様になっている。
技術
包摂規準
TRONコードを設計したのはTRONプロジェクト提唱者である坂村健である。
彼らは、JISやUnicodeの「包括」を嫌っており、
言語
が異なれば同じような文字であっても異なる符号に符号化した方がよいと考えていた。出来るだけ細かく分け、検索などの際には、必要に応じて同一視する、という方針とした。
これはつまり、実質的に同一と考えられる文字に対して、複数のコードが存在することを意味している。
例えば漢数字の1「一」という字を考えても、第一面だけでもJIS X 0208とGB 2312、KS X 1001があり、第2面のGT書体にもあり、第6面のCNS 11643-1986(Big5)にもあり、第8面の大漢和辞典にもあり、そして第11面の今昔文字鏡にもあった(過去形)わけである。
とにかく文字が多ければ良く、とにかく文字の統合は拒否する、という思想からこの様な結果になったわけである。電子計算機用の符号であるにも関わらず、電子計算機での処理のしやすさが殆ど考慮されていない。
もし、文書から検索をしようと思えば、一旦同等文字をまとめるためのデータベースなどを介さねばならない。
ゾーン
TRONコードには「8ビット空間」と「16ビット空間」の仕様が存在するが、実際に使われているのは16ビット空間だけである。16ビット空間では、文字は原則として16ビット単位の可変長で扱われる。
仕様はISO/IEC 2022に似るが、ISO/IEC 2022が7ビットを基本とするのに対し、TRONコードは最初から8ビット単位として設計されている。
各バイトの範囲により、ISO/IEC 2022相当の領域が四つできることになる。これを、TRONコードでは「ゾーン」と呼んでいる。
Aゾーン 0x21〜0x7e 0x21〜0x7e (94×94=8836)
Bゾーン 0x80〜0xfd 0x21〜0x7e (126×94=11844)
Cゾーン 0x21〜0x7e 0x80〜0xfd (94×126=11844)
Dゾーン 0x80〜0xfd 0x80〜0xfd (126×126=15876)
そのため、一回の言語面切り換えでISO/IEC 2022の約4倍の文字を扱う事ができることになり、理論上はISO/IEC 2022の約4倍の効率があるといえる。
各範囲は、次のように使われている。
0x0000〜0x0020: 制御コード
0x2121〜0xFDFD (途中に抜けあり): 文字コード
0xFE <I> <F>: 言語指定コード
0xFF 0x21〜0x7E: 特殊コード
0xFF 0x80〜0xFE: TRON仕様エスケープ
16ビット領域では、改行などの制御コードも16ビットである。
仕様
言語面
第1面:
JIS X 0208
、
JIS X 0213
、
JIS X 0212
、
GB 2312
、
KS X 1001
、六点点字、八点点字
第2面:
GT書体
第3面: GT書体
(第4面): (予約)
(第5面): (予約)
第6面:
CNS 11643-1986
(Big5)
(第7面): (予約)
第8面: 大漢和辞典収録文字
第9面: 大漢和辞典収録文字、記号類
第10面: 支那伝承文字、少数民族文字等
(第11面):
今昔文字鏡
(超漢字3以降は廃止)
(第12面): 今昔文字鏡 (超漢字3以降は廃止)
(第13面): 今昔文字鏡 (超漢字3以降は廃止)
(第14面): 今昔文字鏡 (超漢字3以降は廃止)
(第15面): (予約)
第16面:
Unicode
(
Unicode 2.0
)
第17面: Unicode (Unicode 2.0)
(第18面): (予約)
(第19面): (予約)
(第20面): (予約)
(第21面): (予約)
第22面:
GB 18030
第23面: GB 18030
第24面〜31面: (予約)
なお、第16〜17面のUnicodeに関しては、
CJK統合漢字
とハングル音節は除外されている。
収録文字
文字集合中に含まれる文字(仕様)と、その先頭符号位置を以下に示す(面-面内番号)。
第1面
1-2121 ‐
JIS X 0208
(
第1水準
、
第2水準
)、
JIS X 0213
(
第3水準
)
1-8021 ‐ 六点点字
1-8121 ‐ 八点点字
1-8721 ‐
JIS X 0213
(
第4水準
)
1-A121 ‐
JIS X 0212
(補助漢字)
1-2180 ‐
GB 2312
1-B780 ‐
KS X 1001
第2面・第3面
2-2121 ‐ GT書体フォント2000 1‐48400
3-2121 ‐ GT書体フォント2000 48401‐69263
3-22B9 ‐ GT書体フォント2000 69264‐78774
第4面
第5面
第6面
6-2121 ‐
CNS 11643
第1面 (Big5)
6-8021 ‐ CNS 11643 第2面 (Big5)
第7面
第8面・第9面
8-2121 ‐ 大漢和辞典修訂二版本巻 1‐48055
9-2121 ‐ 大漢和辞典修訂二版本巻 48056‐49964
9-353B ‐ 大漢和辞典修訂二版補巻 1‐804
9-8021 ‐
濁点
付きひらがな・カタカナ
9-8321 ‐ 住民基本台帳収録変体仮名
9-8521 ‐ 変体仮名
9-9121 ‐ iモード絵文字
9-9421 ‐ ホツマ文字
9-9621 ‐ 陰陽五行文字
9-9721 ‐ 序数記号
9-9821 ‐ アーヴ文字
第10面
10-2121 ‐ トンパ文字
第11面〜第15面
(黒歴史)
第16面・第17面
16-2121 ‐ C0 Controls and Basic Latin (C0制御文字集合と基本ラテン文字)
16-2243 ‐ C1 Controls and Latin-1 Supplement (C1制御文字集合とLatin-1)
16-2365 ‐ Latin Extended-A
16-2529 ‐ Latin Extended-B
16-273D ‐ IPA Extensions
16-283F ‐ Spacing Modifier Letters
16-2931 ‐ Combining Diacritical Marks
16-2A43 ‐ Greek (現代ギリシャ語[gre、ell、el])
16-2B75 ‐ Cyrillic (キリル文字、
ロシア語
[rus、ru]など)
16-2F2D ‐ Armenian (アルメニア語[arm、hye、hy])
16-302F ‐ Hebrew (ヘブライ語[heb、he])
16-3141 ‐ Arabic (アラビア語[ara、ar])
16-3951 ‐ Devanagari (デヴァナガリ文字、
サンスクリット語
[san、sa])
16-3A73 ‐ Bengali (ベンガル語[ben、bn])
16-3C37 ‐ Gurmkhi (グルムキー文字、パンジャーブ語[pan、pa])
16-3D59 ‐ Gujarati (グジャラート語[guj、gu])
16-3E7B ‐ Oriya (オリヤー語[ori、or])
16-403F ‐ Tamil (タミル語[tam、ta])
16-4161 ‐ Telugu (テルグ語[tel、te])
16-4325 ‐ Kannada (カンナダ語[kan、kn])
16-4447 ‐ Malayalam (マラヤーラム語[mal、ml])
16-472D ‐ Thai (タイ語[tha、th])
16-484F ‐ Lao (ラーオ語[lao、lo])
16-4971 ‐ Tibetan (チベット語[tib、bod、bo])
16-4E3B ‐ Georgian (グルジア語[geo、kat、ka])
16-4F3D ‐ Hangul Jamo (
朝鮮語
[kor、ko])
16-7263 ‐ Latin Extended Additional
16-7549 ‐ Greek Extended
16-782F ‐ General Punctuation
16-7941 ‐ Superscripts and Subscripts
16-7971 ‐ Currency Symbols
16-7A43 ‐ Combining Diacritical Marks for Symbols
16-7A73 ‐ Letterlike Symbols
16-7B65 ‐ Number Forms
16-7C47 ‐ Arrows
16-7D59 ‐ Mathematical Operators
16-813F ‐ Miscellaneous Technical
16-8425 ‐ Control Pictures
16-8465 ‐ Optical Character Recognition
16-8527 ‐ Enclosed Alphanumerics
16-8669 ‐ Box Drawing
16-882D ‐ Block Elements
16-884D ‐ Geometric Shapes
16-894F ‐ Miscellaneous Symbols
16-8C35 ‐ Dingbats
16-A465 ‐ CJK Symbols and Punctuation
16-A547 ‐ Hiragana (ひらがな)
16-A649 ‐ Katakana (カタカナ)
16-A74B ‐ Bopomofo (注音字母(最少元素理解法))
16-A77B ‐ Hangul Compatibility Jamo
16-A87D ‐ Kanbun
16-AA31 ‐ Enclosed CJK Letters and Months
16-AC75 ‐ CJK Compatibility (
CJK互換漢字
)
17-F92F ‐ Alphabetic Presentation Forms
17-FA21 ‐ Arabic Presentation Forms-A
17-23DC ‐ Combining Half Marks
17-23EC ‐ CJK Compatibility Forms
17-248E ‐ Small Form Variants
17-24AE ‐ Arabic Presentation Forms-B
17-25C0 ‐ Halfwidth and Fullwidth Forms
17-27B4 ‐ Specials
第22面・第23面
22-2121 ‐
GB 18030
(2バイト)
23-2121 ‐ GB 18030 (4バイト)
再検索