†TAD(タッド:TRON Application Databus)は、超漢字Vが使用しているデータ形式の規格の名称です。
TADセグメント(準TADセグメント)を構成しているバイト(8ビット)データは0~255の任意の値を取ります。したがって、そのままでは通信することはできません。
基本通信では、送信時に[TADテキスト変換]をON()に指定すると、TADセグメントをASCII文字列に変換して送信します。〈TADテキスト受信変換〉で[行う]がON()に指定されていると、受信したASCII文字列を元のTADセグメントに逆変換します。
ここでは、TADセグメントとASCII文字列の変換の方法について説明します。
TADセグメントは以下の形式のASCII文字列のパケットに変換されます。1つのパケットは行末文字を除いて最大80文字までです。
〈開始文字〉[〈シーケンス文字〉]〈コード化文字〉..〈チェックサム文字〉〈行末文字〉
最小のパケットは以下の形式です。データを含まないため特に意味を持ちませんが、1行の文字数を調整するために使用されることがあります。
〈開始文字〉〈チェックサム文字〉〈行末文字〉
〈開始文字〉
〈開始文字〉は、0x60 (`) の文字です。
〈シーケンス文字〉
〈シーケンス文字〉は、大きなTADセグメントをいくつかのパケットに分割したときに、その順番を示す 0x79~0x7E の文字です。
TADセグメントの先頭に対応するパケットの場合は、〈シーケンス文字〉は省略し、続くパケットには、0x79 から 0x7E のシーケンス文字をつけます。0x7E の次は 0x79 に戻ります。
TADセグメントの先頭に対応するパケットに〈シーケンス文字〉をつけることはできません。また、〈シーケンス文字〉がついていないときは、必ずTADセグメントの先頭でなくてはなりません。
〈コード化文字〉
〈コード化文字〉は、TADセグメントのバイト(8ビット)データを下記の方法でコード化した 0x21~0x5F, 0x61~0x7E の範囲のASCII文字です。TADセグメントのデータの特徴に依存した特殊なコード化方法を採用しています。
コード化文字 | 意味 |
---|---|
0x21~0x5F | 0x01~0x3Fのデータ |
0x61~0x70 | プレフィックス(0~15、2進数でAABB) 続く1番目のバイトの先頭2ビットをBBとし、2番目もバイトの先頭2ビットをAAとする。2番目もバイトの先頭2ビットが00でないときはAAは無視される。 |
0x71 | 0xFFのデータ |
0x72 | 0x00のデータ |
0x73~0x78 | 2~7個の連続する0x00のデータ |
0x79~0x7E | 直前のバイトデータの1~6回の繰り返し 開始文字の直後のときはシーケンス文字 |
〈チェックサム文字〉
〈チェックサム文字〉は、以下の手順によって計算された値です。
1) 〈開始文字〉から〈チェックサム文字〉の直前までのすべての文字を加算する。
2) 1)の結果の1の補数を計算し、その下位6ビットを取り出す。
3) 2)の結果を〈コード化文字〉と同様の方法によりコード化する。
チェックサム計算値 | チェックサム文字 |
---|---|
0x00 | 0x72 |
0x01~0x3F | 0x21~0x5F |
〈行末文字〉
行末を示す文字または文字列で、通常は以下のいずれかとなります。
CR (0x0D)、LF (0x0A)、CRLF (0x0D,0x0A)、
LFCR (0x0A,0x0D)
∇パケットの例
パケットの例を以下に示します。
∇サポートしているTADセグメント
TADテキスト変換でサポートしているTADセグメントは、以下のとおりです。
†全てのTADセグメントをサポートしているわけではありません。
*図形データ
†図形開始セグメントから図形終了セグメントまでの図形データ全体を連続したパケットに変換します。図形データ内に含まれる文章開始セグメントから文章終了セグメントに囲まれた文字コードも変換します。
*書体属性指定セグメント
*文字サイズ指定セグメント
*文字拡大/縮小指定セグメント(半角/全角のみ)
*文字カラー指定セグメント
*文字修飾指定セグメント
†それぞれのセグメントをパケットに変換します。セグメントが連続している時は、まとめてパケットに変換します。
前のページへ基本通信の使用上の注意