TADの入出力

TRONコードへの対応ですが、TADの入力、準TADの入出力が出来ました。
仕様完全準拠ではありませんが、必要充分な程度の仕様には対応しているかと思います。

今、対応と未対応が自明なものを、備忘録として記載しておきます。
何か気になる点があれば、ご指摘いただければ幸いです。

セグメントID


セグメントID (0xff xx の xx) は、0x80-0xfd のみ対応。0x121以上(0x ff 0xfe xx)には未対応。
何れ対応させる予定です。

tron.orgの資料は微妙に古く、分かりにくいので、UNOFFICIAL TAD Guide Book ONLINEのPDFを参考にさせていただいております。


セグメントサイズ


通常セグメントとラージセグメントは双方対応済み。
但し、ラージセグメントのTADファイルが手元に無いので、動作確認できませんが。

あと、アプリ←→DLL間で使うバッファの大きさは限度がある(現在は128バイト、リリースされた時点でそれが仕様として確定します)ので、通常セグメントであったとしても全仕様に対応できるわけではありません。
まぁ、画像などは一切扱いませんから、問題にはならないでしょう。
文字そのものは、セグメントではありませんので。


TADと準TAD


入力は、TADと準TADを自動判別します。
先頭2バイトだけだと不安なので、少し長めに、先頭8バイトを確認しています。

TADの自動判別条件
0xff 0xe0 0x00 0x06 0x00 0x00 0x00 0x02

準TADの自動判別条件
0xe0 0xff 0x06 0x00 0x00 0x00 0x02 0x00

ようするに、ファイルの先頭に「管理情報セグメント」があるかどうかを見ています。
但しバージョン番号は見ない。


セグメントID 0xe0 から始まらない変なTADの場合、オプションで -i:tad としてあげれば、ファイルの先頭が 0xff ?? か ?? 0xff かで、エンディアンを自動判別します。

セグメントすら無くいきなり文章が始まるようなTADァイルは、存在自体想定していませんが、内部的にはバッファはリトルエンディアン、つまり準TADで言語面は第1面で初期化しているので、そのように動作するでしょう。


出力


出力は準TADのみを想定中。
超漢字はじめ既存のBTRONは、準TADにしか対応していないようです。

良く分かりませんが、管理情報セグメントのTADのバージョンは、1.40としてあります。



システムスクリプト


システムスクリプト(0xfe 0x21)は、次のCCSに対応中。
 (1) JIS X 0208 (Zone A)
 (2) JIS X 0212 (Zone B)
 (3) JIS X 0213 A (Zone A)
 (4) JIS X 0213 B (Zone B)
 (5) GB 2312 (Zone C)
 (6) KS X 1001 (Zone D)

 その他の文字も、TAD→TADであれば、文字は変わらず出力されると思われます。
 付箋等、文字と無関係のものは一切が削除されますが。


TAD入力時


TAD入力時は、TRONコードの言語面と文字番号をMIXTURE(内部コード)に保持します。
更に、変換表を使ってUnicodeの文字番号を得てMIXTUREに格納します。
双方の情報が入ったMIXTUREを、アプリケーションに返します。


TAD出力時


TAD出力時は、MIXTUREのバンクがTRONコードの言語面互換であれば、それをそのまま吐き出します。
さもなくばMIXTURE中にあるUnicodeの文字番号を使い、変換表を用いて優先順位を元にシステムスクリプトで吐き出します。

システムスクリプト以外への出力は、現在は対応準備中です。


第6面(CNS 11643)への出力


現在、入力はまだ書いていませんが、出力処理があります。

EUC-TWなど、CNS 11643(台湾)として入力され、内部的にCNS 11643の符号位置としてMIXTUREに記録がある場合、それをTADで出力する場合、第6面に吐き出すことが可能です。

出力の符号名を「TAD/CNS」または「TAD/BIG5」とします。

なお、入力がBig5の場合の処理は、まだ書いていませんので、これはUnicodeを介してシステムスクリプト行きになります。

将来的に、Big5で入力しても、基本的な文字くらいはCNS 11643の言語面で吐き出せるよう努力する予定です。

2009/02/09(月)19:27 |Comments(0) |Trackback(0)

製造開発 | プログラミング | コンピュータ | [編集]

▲ページトップ

コメント

コメントの投稿

諸橋大漢和とUnicodeの変換表 ホーム Emoji Symbols: Background Data
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
▲ページトップ

カレンダー

03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

プロフィール

miraicorp

Author:miraicorp
未来情報産業(株) 社長

主として「ICカードこれひとつ」や「文字、文字コード」処理、時々C++などについて記述しています。

twitterツイッター

管理用

検索フォーム

お知らせ

コメント等お気軽にどうぞ。

気に入ったら拍手して頂けると、今後の記事を書く際の参考や励みになります。

■お仕事を募集しております
ソフトウェア製造の仕事や、原稿執筆の仕事などを随時受け付けております。
お気軽にご相談下さい

■初めての方へ
こまごまと更新しているため、他にも関連する記事があるかもしれません。
「月別アーカイブ」「検索フォーム」「カテゴリ」などをお試し下さい。
トップページはこちら

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

このブログをリンクに追加する

RSSリンクの表示

QRコード

QR