13.3.1 書式印刷命令(汎用関数)
関数の形式とリターン情報について説明します。
- 〈この項の構成〉
(1) XmapFrmCreateOpen関数
ドライバを起動し,サービスをオープンします。
- 形式
long APIENTRY XmapFrmCreateOpen(tname) unsigned char *tname; /* サービス名 */
サービス名(tname):印刷サービス名を指定します。
印刷サービス名は,14バイト以内の文字列でNULLを終端とします。スタンドアロンの環境では,表示・印刷セットアップの「プリンタ」タブの印刷モードに,ページプリンタ用として定義したサービス名を指定します。C/Sシステム環境の場合は,C/Sセットアップの印刷サービス名と同じ名称を指定します。
また,印刷サービス名アドレスの指定がNULLポインタ,文字列がNULL,またはスペースだけの場合,環境変数「XMAP3_PSNAME」で指定した名称が仮定されます。環境変数の指定がない場合は,印刷サービス名として「#PRT」が仮定されます。
- リターンコード
-
1以上:正常終了(端末識別子)
0:異常終了
(2) XmapFrmClose関数
サービスをクローズし,ドライバを解放します。
- 形式
long APIENTRY XmapFrmClose(termid) long termid; /*端末識別子*/
端末識別子(termid):オープン要求関数の戻り値を指定します。
- リターンコード
-
0:正常終了
−1:異常終了
- 注意事項
-
この関数を発行したとき,バッファ内に残っている行データは,すべて出力されます。なお,行バッファの文字データは,ページバッファに格納され,ページバッファから出力されます。
(3) XmapFrmSetPage関数
ページ制御情報を作成して,ページバッファに格納します。
- 形式
long APIENTRY XmapFrmSetPage(termid,pagec,fmpname); long termid; /*端末識別子*/ unsigned char *pagec; /*予備*/ unsigned char *fmpname; /*書式マップ名*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
予備(pagec):必ずNULLを指定します。
-
書式マップ名(fmpname):書式マップ名を指定します。
書式名(マップ名にIDを付けた名称(IDはマップ名が6文字のときは6G,7文字のときはF))が格納されている領域のアドレスを必ず指定します。書式名は,8バイト以内の文字列で,NULLを終端とします。書式名を9バイト以上で指定した場合は,先頭から8バイト分を書式名と見なします。
ただし,書式名の指定がNULLポインタ,文字列がNULLまたは空白だけのとき,環境変数「XMAP3_FMP」で指定した名称が仮定されます。
-
- リターンコード
-
0:正常終了
−1:異常終了
- 注意事項
-
XmapFrmSetData関数での行データをXmapFrmSetLine関数で帳票出力していない場合,この関数によって帳票が出力されます。また,この関数を発行するかまたはXmapFrmClose関数を発行するまでは,前に発行した関数の情報(書式マップ名など)が引き継がれます。
(4) XmapFrmSetData関数
文字データを編集して行バッファに格納します。
- 形式
long APIENTRY XmapFrmSetData(termid,datp,datl); long termid; /*端末識別子*/ unsigned char *datp; /*文字データアドレス*/ long datl; /*文字データ長*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
文字データのアドレス(datp):出力する文字データ(行データ)のアドレスを指定します。
-
文字データの長さ(datl):出力する文字データ(行データ)の長さをバイト数で指定します。
-
- リターンコード
-
0:正常終了
−1:異常終了
- 注意事項
-
この関数では,印刷する文字データ(行データ)だけを指定し,行送りなどはXmapFrmSetLine関数で指定します。
(5) XmapFrmSetLine関数
行バッファに格納されている行データに行送り情報を付けて,1行分のデータをページバッファに出力します。ただし,改ページを指定したときや,改ページが発生したときは,ページバッファに格納されている1ページ分のデータをプリンタに出力します。
- 形式
long APIENTRY XmapFrmSetLine(termid,timing); long termid; /*端末識別子*/ long timing; /*行送りタイミング*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
行送りタイミング(timing):行送りのタイミングを指定します。
0:行送り後に,行データを出力します。
1:行送り前に,行データを出力します。
-
- リターンコード
-
0:正常終了
−1:異常終了
- 注意事項
-
この関数を発行していないとき,XmapFrmSetData関数での行データの数が1ページに印刷できる行数を超えるている,またはページバッファに格納できるデータ長の制限を超えている場合は,自動的に改ページされます。
また,この関数の前に,XmapFrmSetChannelまたはXmapFrmSetNewLineを発行しなかった場合,チャネル「0:(行送りをしない)」を仮定します。
(6) XmapFrmGetError関数
直前に発行した関数のエラー詳細を取得します。
- 形式
long APIENTRY XmapFrmGetError( );
- リターンコード
-
0以上:正常終了(詳細エラーコード)
(7) XmapFrmSetPoint関数
文字サイズを指定します。
- 形式
long APIENTRY XmapFrmSetPoint(termid,val); long termid; /*端末識別子*/ long val: /*文字サイズ*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
文字サイズ(val):文字サイズを指定します。
内容
指定値
5ポイント
50
7ポイント
70
9ポイント
90
12ポイント
120
-
- リターンコード
-
0:正常終了
- 注意事項
-
文字サイズだけを変更します。以降のXmapFrmSetDataで有効になります。指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。
この関数を発行しない場合は,ドローの書式属性ダイアログで設定した文字サイズが有効となります。
(8) XmapFrmSetInterval関数
文字の間隔を指定します。
- 形式
long APIENTRY XmapFrmSetInterval(termid,val); long termid; /*端末識別子*/ long val: /*文字間隔*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
文字の間隔(val):文字の間隔を指定します。
内容
指定値
文字間隔なし
0
1I〜7I
1〜7
-
- リターンコード
-
0:正常終了
- 注意事項
-
文字間隔だけを変更します。以降のXmapFrmSetDataで有効になります。指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。
この関数を発行しない場合は,ドローの書式属性ダイアログで設定した文字間隔が有効となります。
(9) XmapFrmSetFont関数
文字の書体を指定します。
- 形式
long APIENTRY XmapFrmSetFont(termid,val); long termid; /*端末識別子*/ long val: /*書体*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
書体(val):書体を指定します。
内容
指定値
書体復帰
0
明朝
1
ゴシック
2
OCR※
9
-
- リターンコード
-
0:正常終了
- 注意事項
-
書体だけを変更します。以降のXmapFrmSetDataで有効になります。
指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。
(10) XmapFrmSetWidth関数
文字の拡大を指定します。
- 形式
long APIENTRY XmapFrmSetWidth(termid,val); long termid; /*端末識別子*/ long val: /*横倍角有無*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
横倍角有無(val):横倍角の有無を指定します。
内容
指定値
横倍角する
1
横倍角しない
0
-
- リターンコード
-
0:正常終了
- 注意事項
-
横倍指定だけを変更します。以降のXmapFrmSetDataで有効になります。
指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。
(11) XmapFrmSetNewLine関数
改行数を指定します。
- 形式
long APIENTRY XmapFrmSetNewLine(termid,val); long termid; /*端末識別子*/ long val: /*改行数*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
改行数(val):改行数を指定します。
内容
指定値
改行数
0〜99
-
- リターンコード
-
0:正常終了
- 注意事項
-
改行数だけを変更します。以降のXmapFrmSetLineで有効になります。
指定の有効範囲は,XmapFrmSetLineまでです。
また,XmapFrmSetNewLineとXmapFrmSetChannelは一緒に指定できません。
(12) XmapFrmSetChannel関数
チャネルスキップを指定します。
- 形式
long APIENTRY XmapFrmSetChannel(termid,val); long termid; /*端末識別子*/ long val: /*チャネル番号*/
-
端末識別子(termid):オープン要求関数の戻り値を指定します。
-
チャネル番号(val):チャネル番号を指定します。
内容
指定値
行送りしない
0
紙送りチャネル番号(改ページ)C01を指定します
1
-
- リターンコード
-
0:正常終了
- 注意事項
-
チャネルスキップだけを変更します。以降のXmapFrmSetLineで有効になります。
指定の有効範囲は,XmapFrmSetLineまでです。
また,XmapFrmSetNewLineとXmapFrmSetChannelは一緒に指定できません。