この章の目次にもどる
前頁:3.5 文章付箋セグメントにもどる
次頁:第4章 フロッピーディスク形式にすすむ

3.6 図形描画セグメント

3.6.1 概要

図形描画セグメントは、 図形を表現するために図形データ中に埋め込まれるセグメントである。 標準図形描画セグメントとして、以下のものが定義されている。

図形描画セグメントセグメントID
図形要素セグメント TS_FPRIM(0xB0)
データ定義セグメント TS_FDEF(0xB1)
グループ定義セグメント TS_FGRP(0xB2)
マクロ定義/参照セグメント TS_FMAC(0xB3)
図形修飾セグメント TS_FATTR(0xB4)
図形ページ割付け指定付箋 TS_FPAGE(0xB5)
(予約) ------(0xB6〜0xBD)
図形メモ指定付箋 TS_FMEMO(0xBE)
図形アプリケーション指定付箋TS_FAPPL(0xBF)

図形描画セグメントは以下に示す構造を持ち、 サブIDにより詳細な内容が規定される。 なお、 サブID は、0〜127の範囲の値をTAD標準として使用し、 128〜255は未定義(アプリケーション依存)とする。 アプリケーション依存の図形描画セグメントには、 アプリケーションIDが含まれていないため、 異なるアプリケーション間での互換性は保証されない。

図形描画セグメントの構造
図 46 : 図形描画セグメントの構造

図形描画セグメントも文章付箋セグメントと同様に、 基本レベルと拡張レベルにレベル分けされており、 原則的に図形を取り扱うアプリケーションは、 少なくとも基本レベルはサポートしているものとする。

3.6.2 図形要素セグメント

概要

図形要素セグメントは、 図形データとして表現される実際の図形を示すセグメントであり、 標準の図形要素として、以下のものがある。 これらの図形要素セグメントの基本的な考え方 (ハーフオープンプロパティ等)は、ディスプレイプリミティブでの規定に従う。

<閉じた図形要素>
長方形          -- 長方形
角丸長方形      -- 角の丸い長方形
楕円            -- 楕円および正円
扇形            -- (楕)円弧と、その両端と中心を結ぶ線で囲まれた図形
弓形            -- (楕)円弧と、その両端を結ぶ線で囲まれた図形
多角形          -- 多角形、および角の丸い多角形
曲線            -- 点列による曲線で囲まれた図形
<開いた図形要素>
直線            -- 直線
楕円弧          -- 楕円弧および円弧
折れ線          -- 連続した直線列
曲線            -- 点列による曲線
<点図形要素>
マーカー列      -- 任意位置のマーカーの列
<任意図形要素>
任意図形        -- 外周点の列で指定した図形

図形要素セグメントには、以下の共通的なパラメータが存在する。 これらのパラメータは、図形要素セグメント毎に指定される。

<描画モード>

描画モードは、描画の対象とするピクセルに、 書き込むべきピクセル値(src)と、 既に現在のピクセル値 (dest) と、 描画後のピクセル値 (result) との関係を規定するものであり、 以下に示すものが用意されている。

        0       STORE   : (src)                         →  (result)
        1       XOR     : (src) XOR (dest)              →  (result)
        2       OR      : (src) OR  (dest)              →  (result)
        3       AND     : (src) AND (dest)              →  (result)
        4       CPYN    : (NOT (src))                   →  (result)
        5       XORN    : (NOT (src)) XOR (dest)        →  (result)
        6       ORN     : (NOT (src)) OR  (dest)        →  (result)
        7       ANDN    : (NOT (src)) AND (dest)        →  (result)
        8〜 予約
<線属性>

開いた図形、 および閉じた図形の外周線に使用される線の属性を示す UH の値。
任意図形には適用されない。

    TTTT TTTT WWWW WWWW
W : 線幅 (下位8ビット符号無し) (0〜255)
線の幅(太さ)を座標系単位の値で指定したもの。 水平と垂直の座標系単位が異なる場合は、 平均した単位を使用する ものとする。 0の場合は、線は描画されない。
T : 線種ID (上位8ビット符号無し) (0〜255)
「線種定義セグメント」により定義された線種ID。
<線パターン>

開いた図形、 および閉じた図形の外周線に使用される描画パターンを示す UH の値。
線属性の線幅が0の場合、および任意図形には適用されない。

    0       : 透明
    0以外: 「パターン定義セグメント」により定義されたID
<塗り潰しパターン>

閉じた図形、 および任意図形の内部の塗り潰しに使用される描画パターンを示す UH の値。
開いた図形には適用されない。

        0       : 透明
        0以外: 「パターン定義セグメント」により定義されたID
<回転角>

長方形、楕円、楕円弧等の図形要素は、 その外接長方形により図形が定義される。 この外接長方形は、水平軸(横辺)が水平の長方形を、 その左上の点を中心として、 反時計周りに回転した図形として表現される。
回転角は、この回転角度を示す。UH の値で、360の剰余の値が有効となる。
多角形、直線、折れ線、曲線、および任意図形には適用されない。

長方形セグメント:基本レベル

長方形を示す。

LEN  :  18
SUBID:  0
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角
        RECT    frame           -- 外接長方形

角丸長方形セグメント:基本レベル

角丸長方形を示す。

LEN  :  22
SUBID:  1
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        UH      rh              -- 丸めの水平直径
        UH      rv              -- 丸めの垂直直径
        RECT    frame           -- 外接長方形
rh, rv:
長方形の四隅の丸めのために使用される楕円弧の水平軸の直径、およ び垂直軸の直径を示す。

楕円セグメント:基本レベル

楕円、または正円を示す。

LEN  :  18
SUBID:  2
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形

扇形セグメント:基本レベル

扇形を示す。
扇形は(楕)円弧と、その両端と中心を結ぶ線で囲まれた図形である。

LEN  :  26
SUBID:  3
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形
        PNT     start           -- 開始点
        PNT     end             -- 終了点
start, end:
frame を外接長方形とする(楕)円において、中心と start を結ぶ直 線と(楕) 円の交点から時計周りに、中心と end を結ぶ直線と(楕)円 の交点までの範囲が対象とする(楕)円弧となる。(start, end は(楕) 円上に存在する必要はない)。

弓形セグメント:基本レベル

弓形を示す。
弓形は(楕)円弧と、その両端結ぶ線で囲まれた図形である。

LEN  :  26
SUBID:  4
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形
        PNT     start           -- 開始点
        PNT     end             -- 終了点
start, end:
frame を外接長方形とする(楕)円において、中心と start を結ぶ直 線と(楕) 円の交点から時計周りに、中心と end を結ぶ直線と(楕)円 の交点までの範囲が対象とする(楕)円弧となる。(start, end は(楕) 円上に存在する必要はない)。

多角形セグメント:基本レベル

多角形を示す。

LEN  :  〜
SUBID:  5
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      round           -- 角の丸めの円の直径:拡張レベル
        UH      np              -- 点数(>2)
        PNT     pt[np]          -- 点の配列(np 個の要素)
round:
多角形の各頂点を円弧により丸める場合の円の直径を示す。0の場合 は丸めない。
pt:
多角形の頂点の配列であり、pt[0]→pt[1]→pt[2]… pt[np-1]→pt[0] の順番に頂点を結んだ多角形を意味する。

直線セグメント:基本レベル

直線を示す。

LEN  :  14
SUBID:  6
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        PNT     start           -- 開始点
        PNT     end             -- 終了点

楕円弧セグメント:基本レベル

楕円弧、または円弧を示す。

LEN  :  24
SUBID:  7
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形
        PNT     start           -- 開始点
        PNT     end             -- 終了点
start, end:
frame を外接長方形とする(楕)円において、中心と start を結ぶ直 線と(楕) 円の交点から時計周りに、中心と end を結ぶ直線と(楕)円 の交点までの範囲が対象とする(楕)円弧となる。(start, end は(楕) 円上に存在する必要はない)。

折れ線セグメント:基本レベル

折れ線(連続した直線列)を示す。

LEN  :  〜
SUBID:  8
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      round           -- 角の丸め:拡張レベル
        UH      np              -- 点数 (>1)
        PNT     pt[np]          -- 点の配列(np 個の要素)
round:
直線列の各折れ点を円弧により丸める場合の円の直径を示す。0の場 合は丸めない。
pt:
直線列の頂点の配列であり、pt[0]→pt[1]→pt[2]… pt[np-1] の順 番に頂点を結んだ直線列を意味する。

曲線セグメント:拡張レベル

点列による曲線を示す。

LEN  :  〜
SUBID:  9
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        H       type            -- 曲線のタイプ
        UH      np              -- 点数 (>0)
        PNT     pt[np]          -- 点の配列(np 個の要素)
type:
曲線のタイプの指定。
0 : 折れ線
1 : 3次B−スプライン曲線
2〜: 予約
<0: 未定義(インプリメント依存)
f_pat:
閉じた曲線の場合に塗り潰すパターンを示す。 開いた曲線の場合は無視される。
pt:
曲線のパラメータとしての点の配列であり、 pt[0]→pt[1]→pt[2]… pt[np-1] の順番となる。
pt[0] ≠ pt[np-1] の場合は開曲線であり、pt[0]= pt[np-1] の場合 は、pt[0]〜pt[np-2] の点を結ぶ閉曲線となる。
曲線のタイプによっては、指定点を通るとは限らない。
点の数が不足して曲線の描画できない場合は、点または直線が描画される。

マーカー列セグメント:拡張レベル

マーカ列を示す。

LEN  :  〜
SUBID:  10
ATTR :  UB      mode            -- 描画モード
DATA :  UH      marker          -- マーカーID
        UH      np              -- 点数 (>0)
        PNT     pt[np]          -- 点の配列(np 個の要素)
pt[] で指定した np 個の位置に marker で指定したマーカーを描画する。
marker: 「マーカー定義セグメント」により定義されたマーカーID。

任意図形セグメント:基本レベル

外周点の列で指定した任意図形を示す。 任意図形は、各垂直座標毎に水平座標の複数の点を指定することにより定義され、 2つの隣接した水平座標値で囲まれた範囲が、任意図形の領域となる。

LEN  :  〜
SUBID:  11
ATTR :  UB      mode            -- 描画モード
DATA :  UH  f_pat               -- 塗り潰しパターンID
        UH  sy                  -- 垂直座標の開始値(最小値)
        UH  nr                  -- 垂直座標数
        H   bx                  -- 水平座標値のバイアス
        <垂直座標値 sr 〜 sr+nr-1 にそれぞれ対応した、以下に示す
                水平座標値列の要素が nr 個連続する>
        UH      nh              -- 水平座標の数
        UH      h[nh]           -- 水平座標の値 (nh 個の要素)
        :       :
sy:
垂直座標の開始値(最小値)
nr:
垂直座標数 (垂直座標の終了値(最大値) − 開始値(最小値) + 1)
bx:
水平座標値のバイアス。
nh:
水平座標の数。0は存在しない事を意味し、続く h[] は実際には存在しない。
h[]:
水平座標の値で、 nh 個の要素からなる配列。実際の水平座標値は、 この値に bx を加えたものとなる。
任意図形セグメントの例
図 47 : 任意図形セグメントの例

3.6.3 データ定義セグメント

概要

データ定義セグメントでは、 図形要素セグメントから参照される以下のデータの定義を行なう。

定義したデータは、定義以降に有効となり、 定義時に指定したIDにより参照されることになる。 同一のタイプのデータの同一のIDが既に定義されていた場合は、 新しい定義が有効となる。

データのタイプによっては、 デフォールトとして定義済みのいくつかのIDが存在するが、 そのIDを別の定義とすることも可能である。

定義したIDは、その図形データの中でのみ有効であり、 埋め込み図形データを含む場合は、 埋め込み図形データ内にも有効となる。 即ち、図形データがネスティングしている場合は、以下のようになる。

現在(一番内側)の図形データ内で定義されているIDが有効であるが、現在の 埋め込み図形データ内で定義されていない場合は、一番近い外側の図形データ 内で定義されているIDが有効となる。

カラーマップ定義セグメント:基本レベル

図形データ内で使用するカラーマップを定義する。 この定義以降に、インデックスによるカラー表現が使用された場合に、 このカラーマップが有効となる。

LEN  :  〜
SUBID:  0
ATTR :  UB      −              -- 未使用
DATA :  UH      nent            -- エントリ数
        COLOR   col[nent]       -- カラーマップ (nent 個の要素)
nent:
カラーマップのエントリ数を示す。
col[]:
各エントリに対応する絶対カラー表現を示す。

マスクデータ定義セグメント:基本レベル

パターン定義や、マーカー定義に使用される、マスクデータを定義する。

LEN  :  〜
SUBID:  1
ATTR :  UB      type            -- マスク定義タイプ
DATA :  UH      id              -- 定義するマスクID
        <type=0の場合>
        UH  hsize               -- 横のサイズ
        UH  vsize               -- 縦のサイズ
        UB      mask[]          -- マスクビットマップ
type:
マスクデータタイプ
0: ビットマップ形式
1〜 予約
id:
定義するマスクデータのID(0〜)
以下のマスクIDは、デフォールトで定義されている。
        1        0   % メッシュマスク
        2       12.5 % メッシュマスク
        3       25   % メッシュマスク
        4       50   % メッシュマスク
        5       75   % メッシュマスク
        6       87.5 % メッシュマスク
        7      100   % メッシュマスク
        8       縦線
        9       横線
        10      右上がり斜線
        11      右下がり斜線
        12      縦横クロスハッチ
        13      斜線クロスハッチ
hsize:
vsize:
マスクデータの横、縦の大きさを示す値。
mask:
マスクを示す hsize×vsize の大きさのビットマップデータ。 ビットマップデータは、以下に示すバイト配列であり、"1"のビット がマスクとして有効となる。横のバイト数は常に偶数である。
マスクデータの構成
図 48 : マスクデータの構成

パターン定義セグメント:基本レベル

線パターン、または塗り潰しパターンを定義する。

LEN  :  〜
SUBID:  2
ATTR :  UB   type               -- パターン定義タイプ
DATA :  UH   id                 -- 定義するパターンID
        <type=0の場合>
        UH   hsize              -- 横のサイズ
        UH   vsize              -- 縦のサイズ
        UH   ncol               -- 前景カラー数
        COLOR fgcol[ncol]       -- 前景色 (ncol 個の要素)
        COLOR bgcol             -- 背景色
        UH   mask[ncol] -- マスクID(ncol 個の要素)
type:
パターン定義タイプ
0: 色別ビットマップ形式
1〜 予約
id:
定義するパターンのID(1〜)
デフォールトで定義されているパターンデータは特に存在しないが、 パターンID=0は、完全に透明なパターンを意味するため、定義できない。
hsize:
vsize:
パターンの横、縦の大きさを示す座標系単位の値。
ncol:
前景色の数。(>0)
fgcol[]:
bgcol:
パターンデータを構成する前景色、背景色を示す。 fgcol, bgcol<0の場合は、それぞれ透明を示す。
mask:
マスクを示すマスクIDである。0はマスクが存在しないことを意味する。 bgcol で塗り潰された、hsize×vsize の領域に対して、 mask[i] で指定したマスクデータの "1" のビットに対応する部分を、 fgcol[i] で指定した色で塗るという操作を、 i=0〜ncol-1 まで繰り返して得られたものが実際のパターンとなる。 fgcol[i]<0の場合は特別に、対応する mask[i] の "0" のビットを透明にすることを意味する。
通常は、fgcol[i]<0にする必要性はない。
bgcol<0の場合は、fgcol[i]、mask[i]、 i=0〜ncol-1 で塗られなかった部分が透明となる。
実際のパターンの生成
図 49 : 実際のパターンの生成
マスクデータのサイズがパターンのサイズよりも大きい場合は、 パターンのサイズの部分のみが有効となる。 逆に小さい場合は、 マスクデータをパターンのサイズを覆うように敷きつめたものとして取り扱う。
パターンサイズとマスクサイズ
図 50 : パターンサイズとマスクサイズ

線種定義セグメント:拡張レベル

LEN  :  〜
SUBID:  3
ATTR :  UB      type            -- 線種定義タイプ
DATA :  UH  id          -- 定義する線種ID
        <type=0 の場合>
        UH  nb          -- 線種定義バイト数
        UB      mask[nb]        -- 線種定義バイト列
type:
線種定義タイプ
0: ビットパターン形式
1〜 予約
id:
定義する線種ID(0〜255)
以下のIDはデフォールトとして定義されている。
    0       実線
    1       破線
    2       点線
    3       一点鎖線
    4       二点鎖線
    5       長破線
nb:
mask:
線種を定義する nb 個のバイト列である。 線幅=1の場合の線種を、 (nb×8)周期のビット列パターンとして指定する。 即ち、mask[] の"1"のビットが描画され、"0"のビットは描画されない。
線種定義データ
図 51 : 線種定義データ

マーカー定義セグメント:拡張レベル

LEN  :  〜
SUBID:  4
ATTR :  UB       type           -- マーカー定義タイプ
DATA :  UH      id              -- 定義するマーカーID
        <type=0 の場合>
        UH      size            -- マーカーサイズ
        COLOR   fgcol           -- マーカー色
        [UH    mask            -- マスクデータID]
type:
マーカー定義タイプ
0: 色、ビットマップ指定形式
1〜 予約
id:
定義するマーカーのID(0〜)
以下のマーカーIDの場合は、マスクパターンがデフォールトとして 定義されているため、マスクデータIDは無効となり、省略すること ができる。
    0       点      ・
    1       プラス  +
    2       星印    *
    3       丸      ○
    4       バツ    ×
size:
マーカーの縦、横の大きさを示す座標系単位の値。 マーカーは必ず正方形であり、その中心点がマーカの描画位置にその 中心を合わせて描画される。
fgcol:
マーカーの色を示す。マーカーの背景は常に透明となる。
mask:
マーカーのパターンを示すマスクデータのID。 マーカーID=0〜4の場合は省略できる。

3.6.4 グループ定義セグメント

グループ定義セグメント:拡張レベル

グループ定義開始セグメントと終了セグメントで囲んだセグメント群が1つのグル ープとしてまとまっていることを示す。グループは任意のネスティングが可能であ る。

このグループ定義は、座標系、データ定義の有効範囲等には一切影響を与えないた め、主にアプリケーションによるデータの意味付けに利用される。座標系、データ 定義が異なる場合は、埋め込み図形データとして定義する必要がある。

LEN  :  4
SUBID:  0                       -- グループ開始
ATTR :  UB      −              -- 未使用
DATA :  UH  id                  -- グループID
LEN  :  2
SUBID:  1                       -- グループ終了
ATTR :  UB      −              -- 未使用
id:
グループに任意のIDを付けることができる。0はID無しを意味する。
IDを付けた場合は、グループのネスティングの範囲内では一意的で なくてはいけない。

3.6.5 マクロ定義/参照セグメント

マクロ定義セグメント:拡張レベル

マクロ定義開始セグメントと終了セグメントで囲んだ セグメント群を1つのマクロとして定義する。 定義したマクロは後にマクロ参照付箋により参照することができる。
マクロは任意のネスティングが可能である。
定義したマクロIDのスコープは、データ定義セグメントの場合と同様である。

LEN  :  4
SUBID:  0                       -- マクロ定義開始
ATTR :  UB      −              -- 未使用
DATA :  UH  id                  -- 定義するマクロID
LEN  :  2
SUBID:  1                       -- マクロ定義終了
ATTR :  UB      −              -- 未使用
id:      定義するマクロのID。(0〜)

マクロ参照セグメント:拡張レベル

マクロを参照する。パラメータを持たないため、 マクロの参照は単なる置換を意味する。

LEN  :  4
SUBID:  2
ATTR :  UB      −              -- 未使用
DATA :  UH  id                  -- 参照するマクロID

3.6.6 図形修飾セグメント

図形修飾セグメントは、直後に続く有効セグメントを修飾する機能を持つ。 有効セグメントとは、実際に図形描画を行なうセグメントを意味し、 その有効範囲は以下に示す通りとなる。

通常の図形セグメント    -- そのセグメントのみ
グループセグメント      -- グループ内全体
マクロ参照セグメント    -- マクロ内全体
埋め込み図形            -- 埋め込み図形全体
埋め込み文章            -- 埋め込み文章全体
画像セグメント          -- そのセグメントのみ

図形要素修飾セグメント:拡張レベル

LEN  :  〜
SUBID:  0
ATTR :  UB      type            -- 修飾タイプ
DATA :  <type=0の場合>
        UH  arrow               -- 矢印属性
type:
修飾タイプ
0: 直線の矢印属性
1〜 予約
arrow: 矢印属性:
連続した直後のセグメントが開いた図形の場合にのみ適用される。
     xxxx xxxx xxxx xxES
     S: 開始点に矢印
     E: 終了点に矢印

座標変換セグメント:拡張レベル

直後に続く有効セグメントの一時的な座標変換(傾斜、回転、移動)を行なう。

LEN  :  6, 8, 10
SUBID:  1
ATTR :  UB      −              -- 未使用
DATA :  H       dh              -- 水平座標移動量
        H       dv              -- 垂直座標移動量
        [UH    hangle          -- 水平軸回転角度]
        [H     vangle          -- 垂直軸回転角度]
dh,dv:
それぞれ、水平、垂直の座標値の移動量を示す。座標系はディスプレ イプリミティブの座標系、即ち、水平軸は右方向の増大、垂直軸は下 方向に増大する座標系である。
hangle:
水平座標軸の水平を0度とした反時計周りの回転角度を示す。回転の 中心は、座標原点(0,0)である。省略可能。
vangle:
水平軸に直交する垂直座標系軸を0度とした反時計周りの角度(−9 0〜+90)を示す。回転の中心は、座標原点(0,0)である。 この値が0でない場合は、直交座標系でないことを意味する。省略可能。
回転角度
図 52 : 回転角度

この付箋の直後に続く有効セグメントの座標値 (x,y) を以下の一連の座標変換 処理によって変換した結果 (x''', y''') の図形を意味する。

  1. 垂直軸回転 (水平方向の傾斜)
            x' = x + y・tan(vangle)
            y' = y
    
  2. 水平軸回転 (一般的な意味での回転)
            x'' = x'・cos(hangle) + y'・sin(hangle)
            y'' = −x'・sin(hangle) + y'・cos(hangle)
    
  3. 移動
            x''' = x''+ dh
            y''' = y''+ dv
    

直後の有効セグメントが、埋め込み図形、埋め込み文章、および画像セグメントの 場合は、view 座標系に対する変換を意味する。即ち、draw から view への変換が なされたのち、上記の座標変換が行なわれる。

3.6.7 図形ページ割り付け指定付箋

図形ページ割付け指定付箋は、 図形データを指定した用紙上にページ単位でレイアウトを行なうための情報を保持する付箋である。 図形ページ割付け指定付箋は、文章ページ割付け指定付箋と全く同一の内容を持ち、以 下のように対応づけられる。

文章ページ割り付け指定付箋 図形ページ割り付け指定付箋
(TS_TPAGE : 0xA0) (TS_FPAGE : 0xB5)
0:用紙指定付箋 0:用紙指定付箋
1:マージン指定付箋 1:マージン指定付箋
2:コラム指定付箋 2:− (未定義)
3:用紙オーバーレイ定義付箋3:用紙オーバーレイ定義付箋
4:用紙オーバーレイ指定付箋4:用紙オーバーレイ指定付箋
5:枠あけ指定付箋 5:− (未定義)
6:ページ番号指定付箋 6:ページ番号指定付箋
7:条件改ページ指定付箋 7:− (未定義)
8:充填行指定付箋 8:− (未定義)

図形ページ割り付け指定付箋が図形要素セグメントの後に存在している場合、 および、複数個存在した場合の処理は処理系に依存する。

3.6.8 図形メモ指定付箋

図形メモ指定付箋は、ユーザが任意に設定したメモを保持する付箋である。 この内容は単なるメモとしての文字列であるが、 アプリケーションによっては、 メモ文字列の内容が所定の文字列と一致した場合には、 何らかの効果を持つ場合もある。 図形メモ指定付箋は表示に関する情報を保持していないため、 表示方法はアプリケーションに依存する。

図形メモ指定付箋:基本レベル

ユーザが設定したメモを保持する。

LEN  :  〜
SUBID:  0
ATTR :  UB      −              -- 未使用
DATA :  UB      memo[]          -- メモ文字列

3.6.9 図形アプリケーション指定付箋

図形アプリケーション指定付箋は、 アプリケーションが独自に定義して使用する付箋であり、 その内容はアプリケーションにより規定される。 内容を定義しているアプリケーションIDが内部に含まれており、 同一データタイプIDを持つアプリケーションのみ、 その内容を理解できることになる。 図形アプリケーション指定付箋は表示に関する情報を保持していないため、 表示方法はアプリケーションに依存する。

図形アプリケーション指定付箋:基本レベル

アプリケーション固有のデータを保持する。

LEN  :  〜
SUBID:  −                      -- アプリケーション定義
ATTR :  UB  −                  -- アプリケーション定義
DATA :  UH  appl[3]             -- アプリケーションID
        UB  param[]             -- アプリケーション・パラメータ
appl:
付箋の内容を定義しているアプリケーションID。 アプリケーションID中のデータID毎にこの付箋の内容が定義される。

付録 A TADセグメント一覧

セグメントID:

管理情報セグメント TS_INFO (0xE0)
文章開始セグメント TS_TEXT (0xE1)
文章終了セグメント TS_TEXTEND(0xE2)
図形開始セグメント TS_FIG (0xE3)
図形終了セグメント TS_FIGEND (0xE4)
画像セグメント TS_IMAGE (0xE5)
仮身セグメント TS_VOBJ (0xE6)
指定付箋セグメント TS_DFUSEN (0xE7)
機能付箋セグメント TS_FFUSEN (0xE8)
設定付箋セグメント TS_SFUSEN (0xE9)
文章ページ割付け指定付箋 TS_TPAGE (0xA0)
行書式指定付箋 TS_TRULER (0xA1)
文字指定付箋 TS_TFONT (0xA2)
特殊文字指定付箋 TS_TUB (0xA3)
文字割付け指定付箋 TS_TATTR (0xA4)
文字修飾指定付箋 TS_TSTYLE (0xA5)
(予約) ------ (0xA6〜0xAC)
変数参照指定付箋 TS_TVAR (0xAD)
文章メモ指定付箋 TS_TMEMO (0xAE)
文章アプリケーション指定付箋TS_TAPPL (0xAF)
図形要素セグメント TS_FPRIM (0xB0)
データ定義セグメント TS_FDEF (0xB1)
グループ定義セグメント TS_FGRP (0xB2)
マクロ定義/参照セグメント TS_FMAC (0xB3)
図形修飾セグメント TS_FATTR (0xB4)
図形ページ割付け指定付箋 TS_FPAGE (0xB5)
(予約) ------ (0xB6〜0xBD)
図形メモ指定付箋 TS_FMEMO (0xBE)
図形アプリケーション指定付箋TS_FAPPL (0xBF)

管理情報セグメント:

ID  :   TS_INFO                 -- 管理情報セグメント
LEN :   〜
DATA:   UH  subid               -- 項目ID
        UH  sublen              -- 項目のバイト数
        UH  data[]              -- 項目データ本体(sublen バイト)
        :        :
<上記の繰り返し>

文章開始セグメント:

ID  :   TS_TEXT
LEN :   24
DATA:   RECT    view            -- 表示領域
        RECT    draw            -- 描画領域
        UNITS   h_unit          -- 水平ユニット
        UNITS   v_unit          -- 垂直ユニット
        UH      lang            -- デフォールト言語
        UH      bgpat           -- 背景パターンID

文章終了セグメント:

ID  :   TS_TEXTEND
LEN :   0
DATA:   なし

図形開始セグメント:

ID  :   TS_FIG
LEN :   24
DATA:   RECT    view            -- 表示領域
        RECT    draw            -- 描画領域
        UNITS   h_unit          -- 水平ユニット
        UNITS   v_unit          -- 垂直ユニット
        W       ratio           -- 倍率

図形終了セグメント:

ID  :   TS_FIGEND
LEN :   0
DATA:   なし

画像データセグメント:

画像セグメントのデータ形式
図 53 : 画像セグメントのデータ形式

仮身セグメント:

ID  :   TS_VOBJ
LEN :   〜
DATA:   RECT    view            -- 表示領域
        H       height          -- 開いた場合の仮身高さ
        CHSIZE  chsz            -- 文字サイズ
        COLOR   frcol           -- 枠の色
        COLOR   chcol           -- 文字の色
        COLOR   tbcol           -- タイトル背景色
        COLOR   bgcol           -- 開いた場合の背景色
        UH      dlen            -- 固有データのバイト長
        UB      data[dlen]      -- 固有データ(dlen バイト)

機能付箋セグメント:

ID  :   TS_FFUSEN
LEN :   〜
DATA:   RECT    view            -- 表示領域
        CHSIZE  chsz            -- 文字サイズ
        COLOR   frcol           -- 枠の色
        COLOR   chcol           -- 文字の色
        COLOR   tbcol           -- タイトル背景色
        UH      pict            -- ピクトグラム/タイプ
        UH      appl[3]         -- アプリケーションID
        UB      name[32]        -- 付箋名
        UB      type[32]        -- データタイプ名
        UH      dlen            -- 固有データのバイト長
        UB      data[dlen]      -- 固有データ(dlen バイト)

指定付箋セグメント:

ID  :   TS_DFUSEN
LEN :   〜
DATA:   RECT     view           -- 表示領域
        CHSIZE   chsz           -- 文字サイズ
        COLOR   frcol           -- 枠の色
        COLOR   chcol           -- 文字の色
        COLOR   tbcol           -- タイトル背景色
        UH      pict            -- ピクトグラム/タイプ
        UH      appl[3]         -- アプリケーションID
        UB      name[32]        -- 付箋名
        UW      dlen            -- 固有データのバイト長
        UB      dat[dlen]       -- 固有データ(dlen バイト)

文章ページ割付け指定付箋セグメント:

◎ 用紙指定付箋:
ID   :  TS_TPAGE
LEN  :  14
SUBID:  0
ATTR :  UB      attr            -- 面付け、綴じ方向指定
DATA :  UH      length          -- 用紙の長さ
        UH      width           -- 用紙の幅
        UH      top             -- オーバーレイ上マージン(天)
        UH      bottom          -- オーバーレイ下マージン(地)
        UH      left            -- オーバーレイ左マージン(ノド)
        UH      right           -- オーバーレイ右マージン(小口)
◎ マージン指定付箋:
ID   :  TS_TPAGE
LEN  :  10
SUBID:  1
ATTR :  UB      −              -- 未使用
DATA :  UH      top             -- 上マージン(天)
        UH      bottom          -- 下マージン(地)
        UH      left            -- 左マージン(ノド)
        UH      right           -- 右マージン(小口)
○ コラム指定付箋:
ID   :  TS_TPAGE
LEN  :  4,6
SUBID:  2
ATTR :  UB      column          -- コラム数、およびコラム長均等化指定
DATA :  UH      colsp           -- コラムマージン
       [UH      colline         -- コラム罫線]
○ 用紙オーバーレイ定義付箋:
ID   :  TS_TPAGE
LEN  :  〜
SUBID:  3
ATTR :  UB      attr            -- オーバーレイ番号/ページ適用属性
DATA :  UB      data[]          -- オーバーレイする文章データ
○ 用紙オーバーレイ指定付箋:
ID   :  TS_TPAGE
LEN  :  4
SUBID:  4
ATTR :  UB      ---             -- 未使用
DATA :  UH      overlay         -- オーバーレイ指定
○ 枠あけ指定付箋:
ID   :  TS_TPAGE
LEN  :  10
SUBID:  5
ATTR :  UB      attr            -- 枠あけ属性
DATA :  RECT    area            -- 枠あけ領域
○ ページ番号指定付箋:
ID   :  TS_TPAGE
LEN  :  4
SUBID:  6
ATTR :  B       step            -- ページの増加ステップ
DATA:   UH      num             -- ページ開始番号
○ 条件改ページ指定付箋:
ID   :  TS_TPAGE
LEN  :  2,4
SUBID:  7
ATTR :  UB      cond            -- 条件
DATA : [SCALE   remain          -- 残り領域指定]
○ 充填行指定付箋:
ID   :  TS_TPAGE
LEN  :  2
SUBID:  8
ATTR :  UB      −              -- 未使用

行書式指定付箋:

◎ 行間隔指定付箋:
ID   :  TS_TRULER
LEN  :  4
SUBID:  0
ATTR :  UB    attr              -- 属性指定
DATA :  SCALE pitch             -- 間隔指定
◎ 行揃え指定付箋:
ID   :  TS_TRULER
LEN  :  2
SUBID:  1
ATTR :  UB      align           -- 行揃えの方法
◎ タブ書式指定付箋:
ID   :  TS_TRULER
LEN  :  〜
SUBID:  2
ATTR :  UB      attr            -- 属性
DATA:   SCALE   height          -- 書式高さ指定
        SCALE   pargap          -- 段落間隔指定
        H       left            -- 行頭マージン
        H       right           -- 行末マージン
        H       indent          -- インデントマージン
        H       ntabs           -- タブストップ設定数
        UH      tabs[]          -- タブストップ位置(ntabs個)
○ フィールド書式指定付箋:
ID   :  TS_TRULER
LEN  :  〜
SUBID:  3
ATTR :  UB      attr            -- 属性
DATA:   SCALE   height          -- 書式高さ指定
        SCALE   pargap          -- 段落間隔指定
        UH      line            -- フィールド段落線属性
        H       nfld            -- フィールド設定数
     +- UH      fld             -- フィールド開始位置
     |  UH      left            -- フィールド内左マージン
     |  UH      right           -- フィールド内右マージン
     |  UH      margin          -- 小数点位置/インデントマージン
     +- UH      f_attr          -- フィールド属性
        :        :
○ 文字方向指定付箋:
ID   :  TS_TRULER
LEN  :  2
SUBID:  4
ATTR :  UB      txdir           -- 文字列方向
○ 行頭移動指定付箋:
ID   :  TS_TRULER
LEN  :  2
SUBID:  5
ATTR :  UB      ---             -- 未使用

文字指定付箋:

◎ フォント指定付箋:
ID   :  TS_TFONT
LEN  :  4〜
SUBID:  0
ATTR :  UB      −              -- 未使用
DATA :  UH      class           -- フォントクラス
       [UB    name[] ]        -- フォント(ファミリー)名
◎ フォント属性指定付箋:
ID   :  TS_TFONT
LEN  :  4
SUBID:  1
ATTR :  UB      −              -- 未使用
DATA :  UH  attr                -- フォント属性
◎ 文字サイズ指定付箋:
ID   :  TS_TFONT
LEN  :  4
SUBID:  2
ATTR :  UB      −              -- 未使用
DATA :  CHSIZE  size            -- 文字サイズ
◎ 文字拡大/縮小指定付箋:
ID   :  TS_TFONT
LEN  :  6
SUBID:  3
ATTR :  UB      −              -- 未使用
DATA :  RATIO   h_ratio         -- 文字高さ(サイズ)の拡大率
        RATIO   w_ratio         -- 文字幅の拡大率
◎ 文字間隔指定付箋:
ID   :  TS_TFONT
LEN  :  4
SUBID:  4
ATTR :  UB      attr            -- 属性指定
DATA :  SCALE   pitch           -- 間隔指定
○ 文字回転指定付箋:
ID   :  TS_TFONT
LEN  :  4
SUBID:  5
ATTR :  UB  abs                 -- 絶対/相対指定
DATA :  UH  angle               -- 文字の横軸の反時計回りの回転角度
○ 文字カラー指定付箋:
ID   :  TS_TFONT
LEN  :  6
SUBID:  6
ATTR :  UB      −              -- 未使用
DATA :  COLOR  color            -- 文字カラーの指定
○ 文字基準位置移動付箋:
ID   :  TS_TFONT
LEN  :  4
SUBID:  7
ATTR :  UB      attr            -- 属性指定
DATA :  SCALE   base            -- 基準位置移動量

特殊文字指定付箋:

○ 固定幅空白付箋:
ID   :  TS_TUB
LEN  :  4
SUBID:  0
ATTR :  UB      −              -- 未使用
DATA :  SCALE   width           -- 空白の幅
○ 充填文字指定付箋:
ID   :  TS_TUB
LEN  :  〜
SUBID:  1
ATTR :  UB      −              -- 未使用
DATA:   UB      str[]           -- 充填文字列
○ 文字罫線指定付箋:
ID   :  TS_TUB
LEN  :  4+罫線列データ数
SUBID:  2
ATTR :  UB   type               -- 罫線のタイプ
DATA :  UH   count              -- 罫線列の繰り返し数
        UH   lines[]            -- 罫線指定データ列( LEN で指定されたデータ数)

文字割付け指定付箋:

○ 結合指定付箋:
ID   :  TS_TATTR
LEN  :  2
SUBID:  0                       -- 結合開始指定付箋
ATTR :  UB      −              -- 未使用
ID   :  TS_TATTR
LEN  :  2
SUBID:  1                       -- 結合終了指定付箋
ATTR :  UB      −              -- 未使用
○ 文字割付け指定付箋:
ID   :  TS_TATTR
LEN  :  4
SUBID:  2                       -- 文字割付け開始指定付箋
ATTR :  UB      kind            -- 種類
DATA :  SCALE   width           -- 割り付け幅
ID   :  TS_TATTR
LEN  :  2
SUBID:  3                       -- 文字割付け終了指定付箋
ATTR :  UB      −              -- 未使用
○ 添字指定付箋:
ID   :  TS_TATTR
LEN  :  6
SUBID:  4                       -- 添字開始指定付箋
ATTR :  UB      type            -- タイプ
DATA :  SCALE   pos             -- 文字位置の移動量
        RATIO   size            -- 文字サイズの比率
ID   :  TS_TATTR
LEN  :  2
SUBID:  5                       -- 添字終了指定付箋
ATTR :  UB      −              -- 未使用
○ ルビ指定付箋:
ID   :  TS_TATTR
LEN  :  〜
SUBID:  6                       -- ルビ開始指定付箋
ATTR :  UB      attr            -- ルビ属性
DATA :  UB      rubi[]          -- ルビ文字列
ID   :  TS_TATTR
LEN  :  2
SUBID:  7                       -- ルビ終了指定付箋
ATTR :  UB      −              -- 未使用
○ 禁則指定付箋:
ID   :  TS_TATTR
LEN  :  〜
SUBID:  8                       -- 行頭禁則指定
ATTR :  UB      kind            -- 行頭禁則タイプ
[DATA :  UB     ch[]]           -- 行頭禁則対象文字
ID   :  TS_TATTR
LEN  :  〜
SUBID:  9                       -- 行末禁則指定
ATTR :  UB      kind            -- 行末禁則タイプ
[DATA :  UB     ch[]]           -- 行末禁則対象文字

文字修飾指定付箋:

◎ 文字修飾指定付箋:
ID   :  TS_TSTYLE
LEN  :  2,6
SUBID:  type            -- 文字修飾開始付箋
ATTR :  UB      attr    -- 属性
DATA : [COLOR   color ] -- 修飾カラー指定(省略可能)
ID   :  TS_TSTYLE
LEN  :  2
SUBID:  type+1         -- 文字修飾終了付箋
ATTR :  UB      −      -- 未使用
SUBID:  0:      下線開始                1:      下線終了
        2:      上線開始                3:      上線終了
        4:      打ち消し線開始          5:      打ち消し線終了
        6:      枠囲み線開始            7:      枠囲み線終了
        8:      上(右)傍点開始          9:      上(右)傍点終了
        10:     下(下)傍点開始          11:     下(下)傍点終了
        12:     反転開始                13:     反転終了
        14:     網掛開始                15:     網掛終了
        16:     背景開始                17:     背景終了
        18:     無印字開始(終了付箋までのデータを印字しない)
        19:     無印字終了
        20〜127: (予約)
        128〜   : 未定義(アプリケーション依存)

変数参照指定付箋:

○ 変数参照指定付箋:
ID   :  TS_TVAR
LEN  :  4
SUBID:  0                       -- 変数参照
ATTR :  UB      −              -- 未使用
DATA :  H   var_id              -- 変数ID
ID   :  TS_TVAR
LEN  :  〜
SUBID:  1                       -- 変数参照
ATTR :  UB      −              -- 未使用
DATA :  UB      name[]          -- 変数名

文章メモ指定付箋:

◎ 文章メモ指定付箋:
ID   :  TS_TMEMO
LEN  :  〜
SUBID:  0
ATTR :  UB      −              -- 未使用
DATA :  UB      memo[]          -- メモ文字列

文章アプリケーション指定付箋:

◎ 文章アプリケーション指定付箋:
ID   :  TS_TAPPL
LEN  :  〜
SUBID:  −                      -- アプリケーション定義
ATTR :  UB      −              -- アプリケーション定義
DATA :  UH      appl[3]         -- アプリケーションID
        UB      param[]         -- アプリケーション・パラメータ

図形要素セグメント:

◎ 長方形セグメント:
ID   :  TS_FPRIM
LEN  :  18
SUBID:  0
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角
        RECT    frame           -- 外接長方形
◎ 角丸長方形セグメント:
ID   :  TS_FPRIM
LEN  :  22
SUBID:  1
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        UH      rh              -- 丸めの水平直径
        UH      rv              -- 丸めの垂直直径
        RECT    frame           -- 外接長方形
◎ 楕円セグメント:
ID   :  TS_FPRIM
LEN  :  18
SUBID:  2
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形
◎ 扇形セグメント:
ID   :  TS_FPRIM
LEN  :  26
SUBID:  3
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形
        PNT     start           -- 開始点
        PNT     end             -- 終了点
◎ 弓形セグメント:
ID   :  TS_FPRIM
LEN  :  26
SUBID:  4
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形
        PNT    start            -- 開始点
        PNT     end             -- 終了点
◎ 多角形セグメント:
ID   :  TS_FPRIM
LEN  :  〜
SUBID:  5
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        UH      round           -- 角の丸めの円の直径:拡張レベル
        UH      np              -- 点数(>2)
        PNT     pt[np]          -- 点の配列(np 個の要素)
◎ 直線セグメント:
ID   :  TS_FPRIM
LEN  :  14
SUBID:  6
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        PNT     start           -- 開始点
        PNT     end             -- 終了点
◎ 楕円弧セグメント:
ID   :  TS_FPRIM
LEN  :  24
SUBID:  7
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      angle           -- 回転角度
        RECT    frame           -- 外接長方形
        PNT     start           -- 開始点
        PNT     end             -- 終了点
◎ 折れ線セグメント:
ID   :  TS_FPRIM
LEN  :  〜
SUBID:  8
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      round           -- 角の丸め:拡張レベル
        UH      np              -- 点数 (>1)
        PNT     pt[np]          -- 点の配列(np 個の要素)
○ 曲線セグメント:
ID   :  TS_FPRIM
LEN  :  〜
SUBID:  9
ATTR :  UB      mode            -- 描画モード
DATA :  UH      l_atr           -- 線属性
        UH      l_pat           -- 線パターンID
        UH      f_pat           -- 塗り潰しパターンID
        H       type            -- 曲線のタイプ
        UH      np              -- 点数 (>0)
        PNT     pt[np]          -- 点の配列(np 個の要素)
○ マーカー列セグメント:
ID   :  TS_FPRIM
LEN  :  〜
SUBID:  10
ATTR :  UB      mode            -- 描画モード
DATA :  UH      market          -- マーカーID
        UH      np              -- 点数 (>0)
        PNT     pt[np]          -- 点の配列(np 個の要素)
◎ 任意図形セグメント:
ID   :  TS_FPRIM
LEN  :  〜
SUBID:  11
ATTR :  UB      mode            -- 描画モード
DATA :  UH      f_pat           -- 塗り潰しパターンID
        UH      sy              -- 垂直座標の開始値(最小値)
        UH      nr              -- 垂直座標数
        H       bx              -- 水平座標値のバイアス
        <垂直座標値 sy 〜 sy+nr-1 にそれぞれ対応した、以下に示す
                水平座標値列の要素が nr 個連続する>
        UH     nh               -- 水平座標の数
        UH     h[nh]            -- 水平座標の値 (nh 個の要素)
        :       :

データ定義セグメント:

◎ カラーマップ定義セグメント:
ID   :  TS_FDEF
LEN  :  〜
SUBID:  0
ATTR :  UB      −              -- 未使用
DATA :  UH   nent               -- エントリ数
        COLOR col[nent]         -- カラーマップ (nent 個の要素)
◎ マスクデータ定義セグメント:
ID   :  TS_FDEF
LEN  :  〜
SUBID:  1
ATTR :  UB      type            -- マスク定義タイプ
DATA :  UH      id              -- 定義するマスクID
        <type=0の場合>
        UH      hsize           -- 横のサイズ
        UH      vsize           -- 縦のサイズ
        UB      mask[]          -- マスクビットマップ
◎ パターン定義セグメント:
ID   :  TS_FDEF
LEN  :  〜
SUBID:  2
ATTR :  UB      type            -- パターン定義タイプ
DATA :  UH      id              -- 定義するパターンID
        <type=0の場合>
        UH      hsize           -- 横のサイズ
        UH     vsize            -- 縦のサイズ
        UH     ncol             -- 前景カラー数
        COLOR  fgcol[ncol]      -- 前景色 (ncol 個の要素)
        COLOR  bgcol            -- 背景色
        UH     mask[ncol]       -- マスクID(ncol 個の要素)
○ 線種定義セグメント:
ID   :  TS_FDEF
LEN  :  〜
SUBID:  3
ATTR :  UB      type            -- 線種定義タイプ
DATA :  UH      id              -- 定義する線種ID
        <type=0 の場合>
        UH      n               -- 線種定義バイト数
        UB      mask[nb]        -- 線種定義バイト列
○ マーカー定義セグメント:
ID   :  TS_FDEF
LEN  :  〜
SUBID:  4
ATTR :  UB       type           -- マーカー定義タイプ
DATA :  UH       id             -- 定義するマーカーID
        <type=0 の場合>
        UH       size               -- マーカーサイズ
        COLOR    fgcol             -- マーカー色
       [UH       mask             -- マスクデータID]

グループ定義セグメント:

○ グループ定義セグメント:
ID   :  TS_FGRP
LEN  :  4
SUBID:  0                       -- グループ開始
ATTR :  UB      −              -- 未使用
DATA :  UH  id                  -- グループID
ID   :  TS_FGRP
LEN  :  2
SUBID:  1                       -- グループ終了
ATTR :  UB      −              -- 未使用

マクロ定義/参照セグメント:

○ マクロ定義セグメント:
ID   :  TS_FMAC
LEN  :  4
SUBID:  0                       -- マクロ定義開始
ATTR :  UB      −              -- 未使用
DATA :  UH  id                  -- 定義するマクロID
ID   :  TS_FMAC
LEN  :  2
SUBID:  1                       -- マクロ定義終了
ATTR :  UB      −              -- 未使用
○ マクロ参照セグメント:
LEN  :  4
SUBID:  2
ATTR :  UB      −              -- 未使用
DATA :  UH  id                  -- 参照するマクロID

図形修飾セグメント:

○ 図形要素修飾セグメント:
ID   :  TS_FATTR
LEN  :  〜
SUBID:  0
ATTR :  UB      type            -- 修飾タイプ
DATA :  <type=0の場合>
        UH  arrow               -- 矢印属性
○ 座標変換セグメント:
ID   :  TS_FATTR
LEN  :  6, 8, 10
SUBID:  1
ATTR :  UB      −              -- 未使用
DATA :  H   dh                  -- 水平座標移動量
        H   dv                  -- 垂直座標移動量
       [UH  hangle              -- 水平軸回転角度]
       [H   vangle              -- 垂直軸回転角度]

図形ページ割付け指定付箋セグメント:

◎ 用紙指定付箋:
ID   :  TS_FPAGE
LEN  :  14
SUBID:  0
ATTR :  UB      attr            -- 面付け、綴じ方向指定
DATA :  UH      length          -- 用紙の長さ
        UH      width           -- 用紙の幅
        UH      top             -- オーバーレイ上マージン(天)
        UH      bottom          -- オーバーレイ下マージン(地)
        UH      left            -- オーバーレイ左マージン(ノド)
        UH      right           -- オーバーレイ右マージン(小口)
◎ マージン指定付箋:
ID   :  TS_FPAGE
LEN  :  10
SUBID:  1
ATTR :  UB      −              -- 未使用
DATA :  UH      top             -- 上マージン(天)
        UH      bottom          -- 下マージン(地)
        UH      left            -- 左マージン(ノド)
        UH      right           -- 右マージン(小口)
○ 用紙オーバーレイ定義付箋:
ID   :  TS_FPAGE
LEN  :  〜
SUBID:  3
ATTR :  UB      attr            -- オーバーレイ番号/ページ適用属性
DATA :  UB      data[]          -- オーバーレイする文章データ
○ 用紙オーバーレイ指定付箋:
ID   :  TS_FPAGE
LEN  :  4
SUBID:  4
ATTR :  UB      ---             -- 未使用
DATA :  UH  overlay             -- オーバーレイ指定
○ ページ番号指定付箋:
ID   :  TS_FPAGE
LEN  :  4
SUBID:  6
ATTR :  B   step                -- ページの増加ステップ
DATA:   UH  num                 -- ページ開始番号

図形メモ指定付箋:

◎ 図形メモ指定付箋:
ID   :  TS_FMEMO
LEN  :  〜
SUBID:  0
ATTR :  UB      −              -- 未使用
DATA :  UB      memo[]          -- メモ文字列

図形アプリケーション指定付箋:

◎ 図形アプリケーション指定付箋:
ID   :  TS_FAPPL
LEN  :  〜
SUBID:  −                      -- アプリケーション定義
ATTR :  UB      −              -- アプリケーション定義
DATA :  UH      appl[3]         -- アプリケーションID
        UB      param[]         -- アプリケーション・パラメータ

付録 B 準TAD規格

TADデータ構成では、 異なるプロセッサ間を含めたデータの互換性を完全に保証するために8ビット以上のビット長を持つデータのバイトオーダーは、 上位バイトが先にくるビッグエンディアン形式に統一している。

しかしながら、この形式はリトルエンディアン形式の CPU 上で動作する既存のアプリケーションを移植する場合等には負担となる場合もあるため、 これを救済するために、 リトルエンディアンのデータ形式を持つTADデータ構成を、 準TAD規格として規定する。

準TAD規格は、TAD規格に対して以下に示す変更/制限を行なったものである。

  1. 使用する文字コードは2バイトの固定長とし、 かつ第2バイトが先にくる形式とする。 1バイトの制御コードの直後には、常に値 "0" のバイトを詰めるものとする。 すなわち、 文字コードはリトルエンディアンの16ビットデータとみなす。
  2. 各セグメントのデータ構造として記述されている、 H, UH, W, UW, COLOR, UNITS, CHSIZE, SCALE, RATIO のデータタイプのバイトオーダーは、 下位バイトが先にくるリトルエンディアン形式とする。 UB タイプのデータには、 1.で記述した2バイト固定長の文字コードのみを使用する。
  3. 可変長セグメントの形式は、 以下示すバイトオーダーが逆転した形式となる。
準TAD規格での可変長セグメントの構造
図 54 : 準 TAD 規格での可変長セグメントの構造
準TAD規格での文章/図形付箋の構造
図 55 : 準 TAD 規格での文章/図形付箋の構造

準TAD規格に基づいたシステム/アプリケーションは、 以下の点を遵守しなくてはいけない。


この章の目次にもどる
前頁:3.5 文章付箋セグメントにもどる
次頁:第4章 フロッピーディスク形式にすすむ