付録D.3 書式オーバレイの1ページデータ量の制限

書式オーバレイの1ページのデータ量の制限を次に示します。

<この項の構成>
(1) 使用言語がCOBOLの場合
(2) 使用言語がC言語の場合

(1) 使用言語がCOBOLの場合

概算式で使用する用語について説明します。

全角/半角切り替わり回数
WRITE文で出力する行データ項目ごとに,半角文字から全角文字に切り替わる回数,および全角文字から半角文字に切り替わる回数を数えます。このとき,全角空白は半角空白2バイトに置き換えて数えます。
例えば,行データが「123あい う」の場合,「3」のあと,「い」のあとおよび,「う」の前で切り替わりが発生するので,切り替わり回数は3回となります。
文字サイズ/字間値/書体/横倍の切り替わり回数
POINT/INTERVAL/FORMAT/WIDE の属性ごとに属性の切り替わり回数を数えます。属性値が同じ値の場合は,切り替わりが発生しません。属性の指定が省略されている場合は,デフォルト(ドローの書式定義で指定した値)に切り替わるものとして数えます。
例えば,次に示す例の場合,文字サイズ切り替わり回数は2回,字間値切り替わり回数は2回となります。
[図データ]
(a) 「WRITE 行データFROM データ1」形式の処理で,CHARACTER TYPE句指定なしの場合
(b) 「WRITE 行データFROM データ1」形式の処理で,データ1にCHARACTER TYPE句指定ありの場合
(c) 「WRITE 行データ」形式の処理で,CHARACTER TYPE句指定なしの場合
(d) 「WRITE 行データ」形式の処理で,CHARACTER TYPE句指定ありの場合

(2) 使用言語がC言語の場合

概算式で使用する用語について説明します。

全角/半角切り替わり回数
jstqldat関数,またはXmapFrmSetData関数で指定する項目データごとに,半角文字から全角文字に切り替わる回数,および全角文字から半角文字に切り替わる回数を数えます。このとき,全角空白は半角空白2バイトに置き換えて数えます。
jstqllpt関数,またはXmapFrmSetLine関数を発行するまでを一つの行データと考えます。
例えば,行データが「123あい う」の場合,「3」の後ろ,「い」の後ろ,「う」の前で切り替わりが発生するので,切り替わり回数は3回となります。
文字サイズ/字間値/書体/横倍の切り替わり回数
jstqlctp関数,XmapFrmSetPoint関数,XmapFrmSetInterval関数,XmapFrmSetFont関数,またはXmapFrmSetWidth関数で指定した属性の数をそれぞれ数えます。