|目次|前ページ|次ページ|
──────────────────────────────────────
◆ Windowsプリンタ[テキストモード]で印字位置を指定する(ヒント)
[1]<esc>[5i .... <esc>[4i の間で <esc>[n1;n2 H を出力すると
プリンタの現在フォントで計算した行桁位置(1からの値)に位置づけ
ます。従って次に印字する文字列はこの位置に印字されます。
[2] <esc>%8;mode;x;y sp P 現在プリント位置の設定
--> mode = 0 のときドット位置で指定
--> mode = 1 のときメインプリンタフォント行桁位置(0からの値)で指定
--> mode = 2 のときカレントプリンタフォント行桁位置(0からの値)で指定
--> x x方向位置(0からの値)
--> y y方向位置(0からの値)
※ 印字位置はx方向は左マージン値がy方向は上左マージン値が加算
されて設定されますので以下の値ではマージン値を加算しない値
で設定してください。
※ y方向印字位置は行間値(WinLPTマージン設定)と外部リーディングを含む
設定の場合は外部リーディンク値゙が加算された値が1行のサイズです
外部リーディングとはデザイナーがフォントの行間に加えるよう勧めているスペース
※ x方向印字位置は桁間値(WinLPTマージン設定)を含まない[旧来]
Windowsプリンタ[テキストモード]では桁間値のスペーシングは動作しない
プリンタがあります。(ページプリンタでは動作する可能性があります)
Windowsプリンタ[ビットマップモード]では桁間値のスペーシングは動作します
※ %%%[11-mar-2001]%%% 文字ドット幅より大きい場合でも可能に修正
しました。
※ x方向印字位置は桁間値(WinLPTマージン設定)を含むように修正[新]
[3] <esc>%29;mode;x;y;dotx;doty sp P %%%09-mar-2001%%%
現在プリント位置の設定。ver5.531a %%%11-mar-2001%%%
※ <esc>[500;DeviceMode G シーケンスでDeviceModeを設定要
--> mode = 0 (x+dotx,y+doty)に位置づけます。
--> mode = 1 (x-dotx,y-doty)に位置づけます。
--> mode = 2 (x+dotx,y-doty)に位置づけます。%%%16-mar-2001%%%
--> mode = 4 (x-dotx,y+doty)に位置づけます。%%%16-mar-2001%%%
--> x メインプリンタフォントのテキストカラム位置を指定(1からの値)
--> y メインプリンタフォントの行位置を指定(1からの値)
--> dotx x方向の差分(ドット)位置を指定
--> doty y方向の差分(ドット)位置を指定
◆ Windowsプリンタ[テキストモード]でフォント切り替えする(ヒント)
※※[用途]※※複数フォント印刷及びバーコード印刷
[1] <esc>[5i でWindowsプリンタスルーモードにする
[2] 通常プリンタフォント又はプリンタ側のデフォルトフォントで印字する
[3] <esc>%1;font# sp f でフォントをオープンする
ここでfont#は1から5の値で予め副フォント設定で設定されているフォント
[4] <esc>%5;font#;optsw;opt1;opt2;opt3 sp P %%%11-mar-2001%%%
カレントプリンタフォントの切り替え方法[機能追加/仕様変更]
--> font# サブフォント番号(1からの値)
font#=0 のときはプリンタメインフォント設定となります
--> optsw オプション指定(opt1,op2,op3の値が有効) %%%11-mar-2001%%%
※※プリンタメインフォント/サブフォントどちらも有効です
optsw=0 行間/桁間ドット=0 外部リーディングを含む %%%11-mar-2001%%%
--> opt1 行間ドット数 %%%11-mar-2001%%%
--> opt2 桁間ドット数 %%%11-mar-2001%%%
--> opt3=0 外部リーディングを含む opt3=1 含まない %%%11-mar-2001%%%
※※[注意]※※ プリンタ装置の持つデフォルトフォント設定には戻れません
[5] 副フォントで印字する(バーコードフォントなど)
[6] <esc>%4;font# sp f 又は <esc>%2;font# sp f
でフォントを廃棄する
[7] <esc>[4i でWindowsプリンタスルーモードを終了する
──────────────────────────────────────
53-1
──────────────────────────────────────
◆ Windowsプリンタ[テキストモード]で属性表示(ヒント)
*[1]横倍角表示 -> <esc>[29;m G 又は <esc>#6
*[2]ハイライト表示 -> <esc>[1m
*[3]アンダーライン表示 -> <esc>[4m
*[4]イタリック表示 -> <esc>[2m 又は <esc>[5m
[5]リバース表示 -> <esc>[7m 又は色つきリバース ※副フォントでも可
**** *印はメインフォント印刷時のみに有効
◆ Windowsプリンタ[テキストモード]で色表示(ヒント) ※副フォントでも可
※※テキストの色表示と同じエスケープシーケンスです(ver3のヘルプ参照)
※※ <esc>[n1 m
※※ <esc>[700;8xx;9yy m 又は <esc>[701;8xx;9yy m
※※ <esc>[4xx;5yy m
◆ Windowsプリンタモード/フォント切替シーケンス (ヒント) %%%10-mar-2001%%%
※※ プリンタ(主)メインフォントを副フォントに切り替える
※※ プリンタメインフォントだけが属性表示できます
※※ 切り替えても SETUP でのプリンタ(主)フォントは変更されません
※※ 通常印字で使用されるフォントが変更されます
※※ 従って SETUP で副フォントに色々な印刷用のフォントを設定しておき
※※ この切替シーケンスで切り替えて使用すると色々なフォントの帳票を印刷
※※ 出来ます(属性表示可)
※※ 勿論1つの帳票の内でも副フォント切り替えができますが副フォントでは
※※ 属性表示は出来ません(副フォントは5種類まで)
※[注意]※ [デフォルトフォント]設定の場合は副フォント切り替えすると元の
フォントに戻ることはできません
※※ この切替シーケンスはプリンタオープンの前に出力してください
※※ この切替シーケンスは SETUP の内容を変更しますので
※※ 不用意に SETUP をファイル保存すると予期しないプリンタメインフォント
※※ で起動されることになります
<esc>%72;0 sp F -> DOSプリンタモード設定
<esc>%72;mode;font sp F -> Windowsプリンタモード設定
mode -> 0:dos経由(LPTnポート) ※フォント設定は意味がありません
1:Windows[プリンタ依存ビットマップ]"
2:Windows[カラービットマップ]"
3:Windows[モノクロビットマップ]"
9:※Windows[テキストモード](通常)※
10:Windows[ポストスクリプト/スルーモード]
font -> 0:※デフォルトフォント※
1:◆印刷フォント[通常]
2:◆サブフォント(1)
3:◆サブフォント(2)
4:◆サブフォント(3)
5:◆サブフォント(4)
6:◆サブフォント(5)
※font>1 の場合使用出来るフォントは5種類(1種類は重複)
※font=1 の場合使用出来るフォントは6種類
**** font>0の場合メインフォントがサブフォント(font)で置き換わりサブフォント(font)も
重複して存在しています(属性表示可)
──────────────────────────────────────
53-2
──────────────────────────────────────
◆ プリンタ印字位置追加機能/現在印字位置の取得 %%%11-mar-2001%%%
──────────────────────────────────────
[1] <esc>%50;xpos sp P
※※ 現在の行で左端からの桁位置を指定
--> xpos : 桁位置(1からの値)右端を越えると右端に設定
[2] <esc>%51;ypos sp P
※※ 現在の行から下に移動するドット数を指定
x(桁)位置は移動しません
--> ypos : 指定したドット数下に移動した位置に移動します
[3] <esc>%52;xpos sp P
※※ 現在の桁位置から右に移動するドット数を指定
y(行)位置は移動しませんが右端を越えると次の行に移動します
--> xpos : 指定したドット数右に移動した位置に移動します
[4] <esc>%305 sp P R Param
※※ プリンタ用紙に左右上下のマージン設定での印字可能な文字数/行数を返す
リターンパラメータ
---------------
<esc>[$
;(1)エラーフラグ --> 0:エラー(オープンされていない場合を含む) 1:正常
;(2)用紙の水平方向に印字可能な文字数(平均)
;(3)用紙の垂直方向に印字可能な行数
;(4)印字可能の水平方向ドット幅(マージンの間の幅)[mgnwidth]
;(5)印字可能の垂直方向ドット高さ(マージンの間の高さ)[mgnheight]
;(6)カレントフォントの文字セルドット幅(平均幅)%%%11-mar-2001%%%[修正]
[cellwidth]
--> メインフォントは文字セル幅に桁間ドット(オプション)を加えたもの[修正]
--> 副フォント選択時は文字セル幅+桁間ドット(オプション)%%%11-mar-2001%%%
;(7)カレントフォントの文字セルドット高さ(文字セル高さ+行間ドット)
[cellheight]
--> メインプリンタフォントは設定により行間ドットや外部リーディング
を含む場合と含まない場合があります
--> 副フォント選択時は(行間ドット/外部リーディングを含む)(オプション)
;(8)カレントフォント番号(0:メイン,1,2,3,4,5:サブ)
;$<cr>
[5] <esc>%306 sp P R Param
※※ 次に印字される桁/行位置を返す(カレントプリンタフォント)
リターンパラメータ
---------------
<esc>[$
;(1)エラーフラグ --> 0:エラー(オープンされていない場合を含む) 1:正常
;(2)次に印字される桁位置(1からの値)
;(3)次に印字される行位置(1からの値)
;(4)桁位置のドット差分(余り)(0からの値)
;(5)行位置のドット差分(余り)(0からの値)
;$<cr>
[6] <esc>%307 sp P R Param
※※ 次に印字されるピクセル位置を返す(%%%[2007-9-30]%%%追加)
リターンパラメータ
---------------
<esc>[$
;(1)エラーフラグ --> 0:エラー(オープンされていない場合を含む) 1:正常
;(2)次に印字されるx方向ピクセル位置(0からの値)
;(3)次に印字されるy方向ピクセル位置(0からの値)
;(4)カレントプリンタフォントの印字セル幅サイズ
;(5)カレントプリンタフォントの印字セル高さサイズ
;(6)メインプリンタフォントの印字セル幅サイズ
;(7)メインプリンタフォントの印字セル高さサイズ
;$<cr>
──────────────────────────────────────
53-3
──────────────────────────────────────
◆ フォント情報のダウンロード 機能が追加されました。
──────────────────────────────────────
[1] <esc>%501;font#;edit# sp f フォント情報の設定
--> font# サブフォント番号(0から5までの値)
0 メインプリンタフォント
1,2,3,4,5 副フォント
6 <--> 64 ダウンロード用フォント
--> edit# フォント情報がダウンロードされている編集領域番号(0<->45)
edit# = [1]FaceName/[2]height/[3]width/[4]escapement/
[5]orientation/[6]weight/[7]italic/[8]underline/
[9]strikeout/[10]charset/[11]outprecision/
[12]clipprecision/[13]quality/[14]pitchandfamily/
※※ フォントをオープンする前にダウンロードしてください
※※ メインプリンタフォントではプリンタオープンする前にダウンロードしてください
※※ 情報がNULLの所は値が変更されません
※※ ダウンロードされたフォント情報はSETUPでファイル保存される
のでご注意ください
※※ 編集領域番号へのダウンロードは
<esc>%59;edit# sp F<ダウンロードデータ><CR> でします
[1]FaceName : タイプフェイス名(Courier,Arialなど)
[2]height : キャラクタ高さ(内部リディングと外部リディングも含む)
正の値を指定するとスペーシングとなる
デフォルト高さを指定する時は 0 を指定
この値を負にして絶対値で文字高を指定します
[3]width : キャラクタの幅 通常 0 をセット
通常Windowsが文字高から選択したフォントをつかう
TrueTypeフォントなら指定しても問題はおこらない
[4]escapement : x軸から左回りに数えた角度を指定
前のキャラクタ出力に対する次のキャラクタ出力の相対的な
方向(角度)を1/10度単位で指定
通常は=0 (左から右)に設定
上方向=900 (下から上)
逆方向=1800 (右から左)
下方向=2700 (上から下)
[5]orientation : x軸から左回りに数えた角度を指定
キャラクタの回転角度1/10度単位で指定
通常は=0 (左から右)に設定
左に90度傾ける=900
上下逆にひくりかえす=1800
右に90度傾ける=2700
[6]weight : フォントの太さ(0,100,200,...,900)
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_HEAVY 900
[7]italic : 0 以外の値 イタリック体フォント
[8]underline : 0 以外の値 下線付きフォント
[9]strikeout : 0 以外の値 打ち消し線付きフォント
[10]charset : フォントの文字セット
--> ANSI_CHARASET = 0
--> DEFAULT_CHARASET = 1
--> SYMBOL_CHARASET = 2
--> SHIFTJIS_CHARASET = 128
--> OEM_CHARASET = 255
[11]outprecision : サポートされていない
[12]clipprecision : サポートされていない
[13]quality : 論理フォントを実際のフォントに変換する際に優先する内容
--> 0 : DEFAULT_QUALITY
--> 1 : DRAFT_QUALITY 厳密に論理フォントの高さや幅に合わせる必要がない
--> 2 : PROOF_QUALITY 外見上整ったものとなるが要求したサイズより
小さくなることがある
[14]pitchandfamily : 選択されたフォントのピッチ(下位4bit)とファミリ(上位4bit)
--> TMPF_FIXED_PITCH = 1 固定ピッチ
--> TMPF_VECTOR = 2 ベクター,TrueTypeフォント
--> TMPF_TRUETYPE = 4 TrueTypeフォント
--> TMPF_DEVICE = 8 デバイスフォント
----------------------------------
--> FF_DECORATIVE = 80 装飾付きフォント
--> FF_DONTCARE = 0 不明のフォント
--> FF_MODERN = 48 一定のストローク幅フォント(Piea,Elite,CourieNew)
--> FF_ROMAN = 16 可変のストローク幅フォント
--> FF_SCRIPT = 64 手書き風のストローク幅フォント(Script,Cursive)
--> FF_SWISS = 32 可変のストローク幅フォント(セリフ無)(MSSanSerif)
──────────────────────────────────────
53-4
──────────────────────────────────────
[4] <esc>%11;0;optsw;opt1;opt2;opt3 sp P %%%13-mar-2001%%%
プリンタメインフォントの切り替え方法[機能追加/仕様変更]
--> font# サブフォント番号(1からの値)
font#=0 のときはプリンタフォント設定となります
0 メインプリンタフォント
1,2,3,4,5 副フォント
6 <--> 64 ダウンロード用フォント
--> optsw オプション指定(opt1,op2,op3の値が有効) %%%13-mar-2001%%%
※※プリンタメインフォント/サブフォントどちらも有効です
optsw=0 行間/桁間ドット=0 外部リーディングを含む %%%13-mar-2001%%%
--> opt1 行間ドット数 %%%13-mar-2001%%%
--> opt2 桁間ドット数 %%%13-mar-2001%%%
--> opt3=0 外部リーディングを含む opt3=1 含まない %%%13-mar-2001%%%
※※ メインプリンタフォントがデリート後に再び作成されます(フォント変更可能)
※※ ダウンロードされたフォント情報をプリンタメインフォントとして有効にします
※※ 以前のプリンタメインフォントは削除されます
※※[注意]※※ プリンタ装置の持つデフォルトフォント設定には戻れません
◆ フォント情報の取得 機能が追加されました。%%%14-mar-2001%%%
[1] <esc>%502;font#;edit# sp f フォント情報の設定
--> font# サブフォント番号(0から5までの値)
0 メインプリンタフォント
1,2,3,4,5 副フォント
6 <--> 64 ダウンロード用フォント
--> edit# フォント情報が取得される編集領域番号(0<->45)
edit# = [1]FaceName/[2]height/[3]width/[4]escapement/
[5]orientation/[6]weight/[7]italic/[8]underline/
[9]strikeout/[10]charset/[11]outprecision/
[12]clipprecision/[13]quality/[14]pitchandfamily/
※※ フォント情報が編集領域番号に格納されます
[2] <esc>%65;edit# sp f R FontData フォント情報の読込
※※ 編集領域番号に格納されたフォント情報をアップロードします
※※ 各フィールドの意味は全ページを参照してください
◆ バーコードフォント情報 %%%14-mar-2001%%%
※※キャノン製のレーザプリンタを購入された方は添付品の
Smailware Collection の中の
バーコードTrueTypeフォント Expert
をインストールしてください。
但し、JAN,NW-7,CODE-39,郵便番号コードのうち
JANコードについてはチェック桁の計算や奇数/偶数/右側の
バーコードパターンが異なりますのでソフト開発が必要です
◆ 描画位置情報 %%%16-mar-2001%%%
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[501;mode;textx1;texty1;dotx1;doty1G ----直線の開始位置
塗りつぶしの開始位置
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
mode = 0 : x=(textx1-1)*wh+dotx1 , y=(texty1-1)*yh+doty1
mode = 1 : x=(textx1-1)*wh-dotx1 , y=(texty1-1)*yh-doty1
mode = 2 : x=(textx1-1)*wh+dotx1 , y=(texty1-1)*yh-doty1
mode = 4 : x=(textx1-1)*wh-dotx1 , y=(texty1-1)*yh+doty1
textx1 : テキスト桁位置
texty1 : テキスト行位置
dotx1 : 加算減算ドット数(x方向)
doty1 : 加算減算ドット数(y方向)
ESC[502;mode;textx2;texty2;dotx2;doty2G ----直線の終了位置
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
mode = 0 : x=(textx2-1)*wh+dotx2 , y=(texty2-1)*yh+doty2
mode = 1 : x=(textx2-1)*wh-dotx2 , y=(texty2-1)*yh-doty2
mode = 2 : x=(textx2-1)*wh+dotx2 , y=(texty2-1)*yh-doty2
mode = 4 : x=(textx2-1)*wh-dotx2 , y=(texty2-1)*yh+doty2
textx2 : テキスト桁位置
texty2 : テキスト行位置
dotx2 : 加算減算ドット数(x方向)
doty2 : 加算減算ドット数(y方向)
ESC[503;mode;textcx;textcy;dotcx;dotcyG ----中心座標位置
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
mode = 0 : x=(textcx-1)*wh+dotcx , y=(textcy-1)*yh+dotcy
mode = 1 : x=(textcx-1)*wh-dotcx , y=(textcy-1)*yh-dotcy
mode = 2 : x=(textcx-1)*wh+dotcx , y=(textcy-1)*yh-dotcy
mode = 4 : x=(textcx-1)*wh-dotcx , y=(textcy-1)*yh+dotcy
textcx : テキスト桁位置
textcy : テキスト行位置
dotcx : 加算減算ドット数(x方向)
dotcy : 加算減算ドット数(y方向)
ESC[504;mode;textrx;textry;dotrx;dotryG ----半径のサイズ
mode = 0 : x=textrx*wh+dotrx , y=textry*yh+dotry
mode = 1 : x=textrx*wh-dotrx , y=textry*yh-dotry
mode = 2 : x=textrx*wh+dotrx , y=textry*yh-dotry
mode = 4 : x=textrx*wh-dotrx , y=textry*yh+dotry
textrx : テキスト桁位置
textry : テキスト行位置
dotrx : 加算減算ドット数(x方向)
dotry : 加算減算ドット数(y方向)
──────────────────────────────────────
53-5
──────────────────────────────────────
◆ プリンタで直線
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
※勿論プリンタ描画モードに設定してから使用してください
直線、矩形の描画
指定された2点を結ぶ線分、または、この線分を対角線とする矩形を
描画する。さらに、矩形を塗りつぶすこともできる。
※<ラインスタイル>は指定出来なくなりました。
その代わりペンスタイルが指定出来きるようになりました。
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[501;mode;textx1;texty1;dotx1;doty1G ----直線の開始座標
ESC[502;mode;textx2;texty2;dotx2;doty2G ----直線の終了座標
テキスト座標は1からの値
ESC[508;x1;y1;x2;y2;p1;p2;p3;p4;p5G ----直線の描画
──────────────────────────────────
x1---左上のX座標[0を指定]
──────────────────────────────────
y1---左上のY座標[0を指定]
──────────────────────────────────
x2---右下のX座標[0を指定]
──────────────────────────────────
y2---右下のY座標[0を指定]
──────────────────────────────────
p1---パレット番号(省略は255)
──────────────────────────────────
p2---描画コード
0:直線(L) 1:ボックス(B) 2:ボックスの塗りつぶし(BF)
──────────────────────────────────
──────────────────────────────────────
53-6
──────────────────────────────────────
──────────────────────────────────
──────────────────────────────────
◆直線(L)ボックス(B)のとき
──────────────────────────────────
──────────────────────────────────
p3---ペンスタイルスイッチ(※変更点)
0:ペンスタイル指定なし 1:ペンラインスタイル指定あり
※※※ ms-dos版ではペンスタイルではなくラインスタイルでした。
──────────────────────────────────
p4---ペンスタイル
──────────────────────────────────
※ペンスタイルのコード
──────────────────────────────────
0:実線
1:破線
2:点線
3:一点鎖線
4:二点鎖線
5:NULL
6:PS_INSIDEFRAME
※上記以外の値:破線(ペンの太さは1となります)ver1.308a以降
ms-dos版と動作が比較的似る様に変更しました。
ms-dos版ではペンスタイルではなくラインスタイルでした。
──────────────────────────────────
p5---ペンの太さ(0,1は太さ1、2〜太さ)
──────────────────────────────────
──────────────────────────────────
◆ボックスの塗りつぶし(BF)のとき
──────────────────────────────────
p3---パレットスイッチ
0:パレット指定なし 1:パレット指定あり 2:タイルパターン
4:ハッチパターン(※新設)
──────────────────────────────────
p4---パレット番号塗りつぶしに使う色(省略は255)または
タイルパターン番号、またはハッチパターン番号(※新設)
──────────────────────────────────
※※※ハッチパターン番号(※新設)
──────────────────────────────────
0:斜線(右上から左下)
1:クロス(十文字)
2:クロス(斜)
3:斜線(左上から右下)
4:ヨコ線
5:タテ線
──────────────────────────────────
p5---ハッチパターンの時の線のパレット番号(※新設)
──────────────────────────────────
─────────────────────────────────────
53-7
─────────────────────────────────────
◆ プリンタで円、楕円
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
※勿論プリンタ描画モードに設定してから使用してください
指定された中心点、X方向半径、Y方向半径をもとに、楕円または
円を描画する。円弧、または扇形を描画する。
円、楕円、円弧、または扇形の内部を塗りつぶす。
<パレット番号(線の色)>は円、楕円、円弧、または扇形の円周を
描画する表示色を指定する。
<パレット番号(領域色)>は円、楕円、円弧、または扇形の内部を
塗りつぶす色、または、タイルパターン番号を指定する。
<塗りつぶし指定>は円、楕円、円弧、または扇形の円周のみを描画
するか、ベタ塗りするか、タイルパターンで塗りつぶすかを指定します。
円弧、または扇形を描画のときは、<半径描画スイッチ>は開始
線分、終了線分を描画するかどうかの指定をします。
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[503;mode;textcx;textcy;dotcx;dotcyG ----中心座標
ESC[504;mode;textrx;textry;dotrx;dotryG ----半径
テキスト座標中心座標は1からの値 半径は0からの値
ESC[509;cx;cy;rx;ry;p1;p2;p3;p4G ----円の描画
──────────────────────────────────
cx---中心点のX座標[0を指定]
cy---中心点のY座標[0を指定]
rx---X方向の半径[0を指定]
ry---Y方向の半径[0を指定]
──────────────────────────────────
p1---パレット番号(線の色)(省略は255)
p2---塗りつぶし指定
0:塗りつぶしなし 1:塗りつぶしあり 2:タイルパターン
4:ハッチパターン(※新設)
p3---パレット番号(領域色)(省略は255)
タイルパターン番号、またはハッチパターン番号(※新設)
p4---ハッチパターンの時の線のパレット番号(※新設)
──────────────────────────────────
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[503;mode;textcx;textcy;dotcx;dotcyG ----中心座標
ESC[504;mode;textrx;textry;dotrx;dotryG ----半径
テキスト座標中心座標は1からの値 半径は0からの値
ESC[501;mode;textx1;texty1;dotx1;doty1G ----開始点の開始座標
ESC[502;mode;textx2;texty2;dotx2;doty2G ----終了点の終了座標
開始点終了点テキスト座標は1からの値
ESC[510;cx;cy;rx;ry;sx;sy;ex;ey;p1;p2;p3;p4;p5G ----円弧の描画
──────────────────────────────────
cx---中心点のX座標[0を指定]
cy---中心点のY座標[0を指定]
rx---X方向の半径[0を指定]
ry---Y方向の半径[0を指定]
sx---開始点のX座標[0を指定]
sy---開始点のY座標[0を指定]
ex---終了点のX座標[0を指定]
ey---終了点のY座標[0を指定]
──────────────────────────────────
p1---パレット番号(線の色)(省略は255)
p2---塗りつぶし指定 0:塗りつぶしなし 1:塗りつぶしあり
2:タイルパターン 4:ハッチパターン(※新設)
p3---パレット番号(領域色)(省略は255)
タイルパターン番号、またはハッチパターン番号(※新設)
p4---半径描画スイッチ 0:半径描画なし(円弧描画) 1:半径描画あり(惰円描画)
p5---ハッチパターンの時の線のパレット番号(※新設)
─────────────────────────────────────
53-8
─────────────────────────────────────
◆ プリンタで塗りつぶし(1)
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
※勿論プリンタ描画モードに設定してから使用してください
指定した点と境界色で決定される領域を指定の色(領域色になる)
による塗りつぶし
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[501;mode;textx1;texty1;dotx1;doty1G ----開始座標
テキスト座標は1からの値
ESC[511;x;y;c1;c2G ----- 指定色による塗りつぶし
──────────────────────────────────
x--- [0を指定]
y--- [0を指定]
c1---領域色
c2---境界色
──────────────────────────────────
◆ プリンタで塗りつぶし(2)
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
※勿論プリンタ描画モードに設定してから使用してください
指定した点と境界色で決定される領域をタイルパターン
により塗りつぶします
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[501;mode;textx1;texty1;dotx1;doty1G ----開始座標
テキスト座標は1からの値
ESC[517;x;y;c1;c2;c3G -----タイルパターンによる塗りつぶし
──────────────────────────────────
x--- [0を指定]
y--- [0を指定]
c1---タイルパターン番号(ESC−vcom++が用意)
※※※40以上のときハッチパターン(※新設)となります。
ハッチパターン番号は、(c1−40)となります。
c2---境界色(省略は255)
c3---ハッチパターンの色(ハッチパターンのみ) %%%14-JUL-97%%%
──────────────────────────────────
──────────────────────────────────
53-9
──────────────────────────────────
ページプリンタ機能に関する追加変更
──────────────────────────────────
[1]以下のmode=2とmode=4が正常に動作していませんでしたが修正
<esc>%29;mode;x;y;dotx;doty sp P %%%20-mar-2001%%%
※現在プリント位置の設定。ver5.525a %%%20-mar-2001%%%
※ <esc>[500;DeviceMode G シーケンスでDeviceModeを設定要
--> mode = 0 (x+dotx,y+doty)に位置づけます。
--> mode = 1 (x-dotx,y-doty)に位置づけます。
--> mode = 2 (x+dotx,y-doty)に位置づけます。%%%20-mar-2001%%%
--> mode = 4 (x-dotx,y+doty)に位置づけます。%%%20-mar-2001%%%
DeviceMode = 0 の場合一番近い画面の行桁位置へ
──────────────────────────────────
[2] <esc>[500;DeviceModeG ----出力デバイスを指定
501以降のシーケンスに影響します
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
DeviceMode = 0 画面のスケール/画面のビットマップパターン
DeviceMode = 1 プリンタのスケール/ビットマップパターン
DeviceMode = 2 プリンタのスケール/ビットマップパターン
──────────────────────────────────
[3]正常に動作していませんでしたが修正
※<<<プリンタはオープン後でないと意味がありません>>>
※位置関係に誤りや4桁以上の幅がないと無視します
<esc>%6;mode;top;bottom sp P ----上下マージン指定
mode = 0 ドット単位
mode = 1 プリンタメインフォント行単位
mode = 2 プリンタ現在フォント行単位
top = 用紙の印刷可能上端からの位置を指定
bottom = 用紙の印刷可能上端からの位置を指定
<esc>%7;mode;left;right sp P ----左右マージン指定
mode = 0 ドット単位
mode = 1 プリンタメインフォント桁単位
mode = 2 プリンタ現在フォント桁単位
left = 用紙の印刷可能左端からの位置を指定
right = 用紙の印刷可能左端からの位置を指定
──────────────────────────────────
[4]上下/左右マージン指定機能を新設
※<<<プリンタはオープンする前に設定してください>>>
※<<<[補助設定]で設定した値が変更されます>>>[ご注意]
※不正な設定をすると誤動作する可能性があります
<esc>%56;mode;top;bottom sp P ----上下マージン指定
mode = 0 ドット単位
※<<<プリンタはオープンする前でも設定可能です>>>
※オープンする前ならば次のオープンで有効となります
mode = 1 プリンタメインフォント行単位
※<<<プリンタはオープン後でないと意味がありません>>>
mode = 2 プリンタ現在フォント行単位
※<<<プリンタはオープン後でないと意味がありません>>>
top = 用紙の印刷可能<上端>からの位置を指定
bottom = 用紙の印刷可能<下端>からの位置を指定
<esc>%57;mode;left;right sp P ----左右マージン指定
※<<<プリンタはオープンする前に設定してください>>>
※<<<補助設定で設定した値が変更されます>>>[ご注意]
mode = 0 ドット単位
※<<<プリンタはオープンする前でも設定可能です>>>
※オープンする前ならば次のオープンで有効となります
mode = 1 プリンタメインフォント桁単位
※<<<プリンタはオープン後でないと意味がありません>>>
mode = 2 プリンタ現在フォント桁単位
※<<<プリンタはオープン後でないと意味がありません>>>
left = 用紙の印刷可能<左端>からの位置を指定
right = 用紙の印刷可能<右端>からの位置を指定
──────────────────────────────────
[5] <esc>%302 sp P R Param --> プリンタサイズ情報の取得
<(8)右ドットマージン>の値が左ドットマージンからの位置になっていましたが
用紙の印刷可能<左端>からの位置を戻すように変更しました
──────────────────────────────────
[6] <esc>[499;prnmodeG --> プリンタモード設定
prnmode = 0 : 白黒プリンタモード設定
prnmode = 1 : カラープリンタモード設定
※ビットマップハターンに影響します
──────────────────────────────────
[7] <esc>[506;0;0;colorG --> プリンタに点の描画
<esc>[507;0;0;colorG --> プリンタに点の描画
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[501;mode;textx1;texty1;dotx1;doty1G ----開始座標
によって位置を指定する
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
──────────────────────────────────
[8] ESC[571;textx1;dotx1;texty1;doty1;textx2;dotx2;texty2;doty2 G
※プリンタ/画面領域のピクセルカラーの反転
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
textx1---反転領域の左端のテキストX座標(カラム位置)
dotx1 ---反転領域の左端のドットX座標(ドット単位)
texty1---反転領域の上端のテキストY座標(行位置)
doty1 ---反転領域の上端ドットY座標(ドット単位)
textx2---反転領域の右端のテキストX座標(カラム位置)
dotx2 ---反転領域の右端ドットX座標(ドット単位)
texty2---反転領域の下端のテキストY座標(行位置)
doty2 ---反転領域の下端ドットY座標(ドット単位)
──────────────────────────────────
[9] ビットマップ白黒反転操作
※ この機能は主にプリンタ出力の為のものです。
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
<esc>[572;0 G 描画領域全体の白黒反転
<esc>[573;0;x1;x1p;x1m;y1;y1p;y1m;x2;x2p;x2m;y2;y2p;y2m G
※描画領域一部分の白黒反転
--> x1 左上カラム位置を指定(DeviceModeに依存)
--> x1p x方向の加算分(ドット)位置を指定
--> x1m x方向の減算分(ドット)位置を指定
--> y1 左上行位置を指定
--> y1p y方向の加算(ドット)位置を指定
--> y1m y方向の減算(ドット)位置を指定
--> x2 右下カラム位置を指定
--> x2p x方向の加算分(ドット)位置を指定
--> x2m x方向の減算分(ドット)位置を指定
--> y2 右下行位置を指定
--> y2p y方向の加算(ドット)位置を指定
--> y2m y方向の減算(ドット)位置を指定
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
※※※テキスト座標の値とドット座標の値が加算されて位置が決定されます。
※※※どちらかの座標のみで指定する時は、指定しない座標値を全て0に
指定します。
ビットマップ白黒反転操作%%%29-apr-2001%%%
※ この機能は主にプリンタ出力の為のものです。
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
ESC[500;DeviceModeG ----出力デバイスを指定
DeviceMode=0 : 画面の行桁でテキスト位置を計算
DeviceMode=1 : プリンタのメインフォント行桁でテキスト位置を計算
DeviceMode=2 : プリンタの現在フォント行桁でテキスト位置を計算
*** (xw,yh)=(1桁ドットサイズ,1行ドットサイズ)が決定されます
ESC[501;mode;textx1;texty1;dotx1;doty1G ----左上座標
ESC[502;mode;textx2;texty2;dotx2;doty2G ----右下座標
<esc>[574;0 G 指定領域の白黒反転
──────────────────────────────────
[10] 円弧の描画において間違った点が描画->修正
──────────────────────────────────
[11] ページプリンタにGDI描画位置に左右上下マージン値加算モード
※ <esc>[498;0G --> 描画位置に左右上下マージン値を加算
※ <esc>[498;1G --> 描画位置に左右上下マージン値を加算しない
◆出力デバイスを指定がプリンタの時のみマージン値を加算します
◆%%%22-mar-2001%%%追加しました
──────────────────────────────────
53-10
──────────────────────────────────
■ イメージデータ用機能
━━━━━━━━━━━
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
ESC[519;n;x1;y1;x2;y2G ------イメージデータのセイブ
[BASICのGET@関数]
※ Windowsプリンタテキストモードの時は使用不可(動作せず)
──────────────────────────────────
n ---イメージデータ番号(1〜32766)
x1---開始点のX座標
y1---開始点のY座標
x2---終了点のX座標
y2---終了点のY座標
──────────────────────────────────
ESC[520;n;x1;y1;;;;G --セイブされたイメージデータの
画面出力
[BASICのPUT@関数]
※ Windowsプリンタテキストモード時も使用可(動作)
──────────────────────────────────
n ---イメージデータ番号(1〜32766)
x1---開始点のX座標
y1---開始点のY座標
──────────────────────────────────
──────────────────────────────────
■拡張(A)イメージGETの機能[BASICのGET@関数]
━━━━━━━━━━━━━━━
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
ESC[601;mode;textsx;textsy;dotsx;dotsyG ----ソース左上座標
ESC[602;mode;textwx;textwy;dotwx;dotwyG ----ソース幅
ESC[553;0;img# G ----イメージデータのセイブ
──────────────────────────────────
※ Windowsプリンタテキストモードの時は使用不可(動作せず)
──────────────────────────────────
img---複写先イメージデータ番号(1<->32766)
──────────────────────────────────
textsx---画面領域の左上のテキストX座標
textsy---画面領域の左上のテキストY座標
dotsx---画面領域の左上のドットX座標(差分)
dotsy---画面領域の左上のドットY座標(差分)
textwx---画面領域のX方向のテキスト幅
textwy---画面領域のY方向のテキスト幅
dotwx---画面領域のX方向のドット幅(差分)
dotwy---画面領域のY方向のドット幅(差分)
──────────────────────────────────
※※※新規に複写先ビットマップが作成されます。
※※※拡大/縮小される可能性があります。
※※※ラスターオペレーションによっては、ブラシの指定が必要です。
■拡張(A)イメージPUTの機能[BASICのPUT@関数]
━━━━━━━━━━━━━━━
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。
※ Windowsプリンタテキストモード時も使用可(動作)
ESC[601;mode;textdx;textdy;dotdx;dotdyG ----転送先左上座標
ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
ESC[555;0;im; G
──────────────────────────────────
im---複写元イメージデータ番号(1<->32766)
──────────────────────────────────
textdx---画面領域の左上のテキストX座標
textdy---画面領域の左上のテキストY座標
dotdx---画面領域の左上のドットX座標(差分)
dotdy---画面領域の左上のドットY座標(差分)
textwx---画面領域のX方向のテキスト幅
textwy---画面領域のY方向のテキスト幅
dotwx---画面領域のX方向のドット幅(差分)
dotwy---画面領域のY方向のドット幅(差分)
※※※textwx+dotwx=0 かつ textwy+dotwy ならば ビットマップサイズを使用
──────────────────────────────────
※※※ラスターオペレーションを予め指定してから実行してください。
デフォルトは、SRCCOPYです。
※※※ラスターオペレーションによっては、ブラシの指定が必要です。
──────────────────────────────────
53-11
──────────────────────────────────
■拡張(A)のイメージデータ複写
━━━━━━━━━━━━━━━
ESC[601;mode;textdx;texdy;dotdx;dotdyG ----転送元左上座標
ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
ESC[557;0;im1;im2;0;0;0;0 G
──────────────────────────────────
im1---複写元イメージデータ番号(1<->32766)
im2---複写先イメージデータ番号(1<->32766)
textdx---複写元の左上のテキストX座標
textdy---複写元の左上のテキストY座標
dotdx---複写元の左上のドットX座標(差分)
dotxy---複写元の左上のドットY座標(差分)
textwx---複写先のテキストX方向の幅
textwy---複写先のテキストY方向の幅
dotwx---複写先のドットX方向の幅(差分)
dotwy---複写先のドットY方向の幅(差分)
※※※textwx+dotwx=0 かつ textwy+dotwy ならば ビットマップサイズを使用
──────────────────────────────────
※※※新規に複写先ビットマップが作成されます。
※ Windowsプリンタビットマップモードの時は im2=32772 で使用可
※※※ラスターオペレーションを予め指定してから実行してください。
デフォルトは、SRCCOPYです。
■拡張(B)のイメージデータ複写
━━━━━━━━━━━━━━━
ESC[601;mode;textdx;textdy;dotdx;dotdyG ----転送先左上座標
ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
ESC[603;mode;textsx;textsy;dotsx;dotsyG ----ソース左上座標
ESC[604;mode;zoomwx;zoomwy;zoomdotwx;zoomdotwyG ----ソース幅
ESC[558;0;im1;im2;0;0;0;0;0;0;0;0 G
──────────────────────────────────
im1---複写元イメージデータ番号(1<->32766)
im2---複写先イメージデータ番号(1<->32766)
──────────────────────────────────
textdx---複写先の左上のテキストX座標
textdy---複写先の左上のテキストY座標
dotdx---複写先の左上のドットX座標(差分)
dotdy---複写先の左上のドットY座標(差分)
──────────────────────────────────
textwx---複写先のテキストX方向の幅
textwy---複写先のテキストY方向の幅
dotwx---複写先のドットX方向の幅(差分)
dotwy---複写先のドットY方向の幅(差分)
──────────────────────────────────
textsx---複写元の左上のテキストX座標
textsy---複写元の左上のテキストY座標
dotsx---複写元の左上のドットX座標(差分)
dotsy---複写元の左上のドットY座標(差分)
──────────────────────────────────
zoomwx---複写元ビットマップのテキストX方向の幅
zoomhy---複写元ビットマップのテキストY方向の幅
zoomdotwx---複写元ビットマップのドットX方向の幅(差分)
zoomdothy---複写元ビットマップのドットY方向の幅(差分)
※※※zoomwx+zoomdotwx=0 かつ zoomwy+zoomdotwy=0 ならば
zoomwx+zoomdotwx = (ビットマップサイズ - zoomwx)を使用
zoomwy+zoomdotwy= = (ビットマップサイズ - zoomwy)を使用
※※※textwx+dotwx=0 かつ textwy+dotwy ならば
textwx+dotwx = (ビットマップサイズ - zoomwx)を使用
textwy+dotwy = (ビットマップサイズ - zoomwy)を使用
──────────────────────────────────
※※※ 新規に複写先ビットマップが作成されます。
※※※拡大/縮小される可能性があります。
※※※ラスターオペレーションを予め指定してから実行してください。
デフォルトは、SRCCOPYです。
※※※ラスターオペレーションによっては、ブラシの指定が必要です。
※ Windowsプリンタビットマップモードの時は im2=32772 で使用可
──────────────────────────────────
53-12
──────────────────────────────────
■拡張(C)の既に存在するイメージデータへ複写
━━━━━━━━━━━━━━━
ESC[601;mode;textdx;textdy;dotdx;dotdyG ----転送先左上座標
ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
ESC[603;mode;textsx;textsy;dotsx;dotsyG ----ソース左上座標
ESC[604;mode;textzoomwx;textzoomwy;dotzoomx;dotzoomyG ----ソース幅
ESC[559;0;img1#;img2#;0;0;0;0;0;0;0;0 G
──────────────────────────────────
im1---複写元イメージデータ番号(1<->32766)
im2---複写先イメージデータ番号(1<->32766)
──────────────────────────────────
textdx---複写先の左上のテキストX座標
textdy---複写先の左上のテキストY座標
dotdx---複写先の左上のドットX座標(差分)
dotdy---複写先の左上のドットY座標(差分)
──────────────────────────────────
textwx---複写先のテキストX方向の幅
textwy---複写先のテキストY方向の幅
dotwx---複写先のドットX方向の幅(差分)
dotwy---複写先のドットY方向の幅(差分)
──────────────────────────────────
textsx---複写元の左上のテキストX座標
textsy---複写元の左上のテキストY座標
dotsx---複写元の左上のドットX座標(差分)
dotsy---複写元の左上のドットY座標(差分)
──────────────────────────────────
zoomwx---複写元ビットマップのテキストX方向の幅
zoomhy---複写元ビットマップのテキストY方向の幅
zoomx---複写元ビットマップのドットX方向の幅(差分)
zoomy---複写元ビットマップのドットY方向の幅(差分)
※※※zoomwx+zoomdotwx=0 かつ zoomwy+zoomdotwy=0 ならば
zoomwx+zoomdotwx = (ビットマップサイズ - zoomwx)を使用
zoomwy+zoomdotwy= = (ビットマップサイズ - zoomwy)を使用
※※※textwx+dotwx=0 かつ textwy+dotwy ならば
textwx+dotwx = (ビットマップサイズ - zoomwx)を使用
textwy+dotwy = (ビットマップサイズ - zoomwy)を使用
──────────────────────────────────
※ Windowsプリンタビットマップモードの時は im2=32772 で使用可
※※※ 複写先ビットマップは予め作成されていなければなりません。
※※※拡大/縮小される可能性があります。
※※※ラスターオペレーションを予め指定してから実行してください。
デフォルトは、SRCCOPYです。
※※※ラスターオペレーションによっては、ブラシの指定が必要です。
──────────────────────────────────
53-13
──────────────────────────────────
■ラスターオペレーション描画(A)
ESC[601;mode;textdx;textdy;dotdx;dotdyG ----転送先左上座標
ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
ESC[562;0;0;0;0;0 G
──────────────────────────────────
textdx---複写先(画面)の左上のテキストX座標
textdy---複写先(画面)の左上のテキストY座標
dotdx---複写先(画面)の左上のドットX座標(差分)
dotdy---複写先(画面)の左上のドットY座標(差分)
textwx---複写先(画面)のテキストX方向の幅
textwy---複写先(画面)のテキストY方向の幅
dotwx---複写先(画面)のドットX方向の幅(差分)
dotwy---複写先(画面)のドットY方向の幅(差分)
──────────────────────────────────
■ラスターオペレーション描画(B)
ESC[601;mode;textdx;textdy;dotdx;dotdyG ----転送先左上座標
ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
ESC[563;0;im;0;0;0;0 G
──────────────────────────────────
im---複写先イメージデータ番号(1<->32766)
──────────────────────────────────
textdx---複写先の左上のテキストX座標
textdy---複写先の左上のテキストY座標
dotdx---複写先の左上のドットX座標(差分)
dotdy---複写先の左上のドットY座標(差分)
textwx---複写先のテキストX方向の幅
textwy---複写先のテキストY方向の幅
dotwx---複写先のドットX方向の幅(差分)
dotwy---複写先のドットY方向の幅(差分)
──────────────────────────────────
■ ビットマップのサイズを取得
※ <esc>[580;0;im1;G --> ビットマップ情報取得
リターンパラメータ
---------------
<esc>[$
;(1)エラーフラグ --> 0:エラー(ビットマップが存在しない等) 1:正常
;(2)イメージデータ番号(im1)
;(3)x方向のピクセル(幅)
;(4)y方向の走査線(高さ)
;(5)カラープレーン数
;(6)ピクセル当たりのカラープビット数
;$<cr>
──────────────────────────────────
53-14
──────────────────────────────────
■ ビットマップの拡大/縮小 %%%23-mar-2001%%%
※ <esc>[581;0;im1;im2;x1;x2;y1;y2G --> 拡大/縮小
x方向に x1/x2倍 y方向に y1/y2倍 にビットマップを拡大/縮小
※転送先イメージ番号(im2)は新規に作成される
※ Windowsプリンタビットマップモードの時は im2=32772 で使用可
──────────────────────────────────
im1---複写元イメージデータ番号(1<->32766)
im2---複写先イメージデータ番号(1<->32766)
x1/x2 --- x方向の倍率(=0 又は > 256 は 等倍)
y1/y2 --- y方向の倍率(=0 又は > 256 は 等倍)
──────────────────────────────────
■ 転送先 x方向の幅に合わせて y方向のサイズを決定して拡大/縮小
※転送先イメージ番号(im2)は新規に作成される
※ ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
※ <esc>[582;0;im1;im2;G --> 拡大/縮小
※ Windowsプリンタビットマップモードの時は im2=32772 で使用可
──────────────────────────────────
im1---複写元イメージデータ番号(1<->32766)
im2---複写先イメージデータ番号(1<->32766)
──────────────────────────────────
■ 転送先 y方向の幅に合わせて x方向のサイズを決定して拡大/縮小
※転送先イメージ番号(im2)は新規に作成される
※ ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅
※ <esc>[583;0;im1;im2;G --> 拡大/縮小
※ Windowsプリンタビットマップモードの時は im2=32772 で使用可
──────────────────────────────────
im1---複写元イメージデータ番号(1<->32766)
im2---複写先イメージデータ番号(1<->32766)
──────────────────────────────────
■ 現在プリント位置のセイブ/リストア %%%23-mar-2001%%%
※ <esc>%17 sp P 現在プリント位置のセイブ
※ <esc>%18 sp P リストア
──────────────────────────────────
◆ プリンタダイアログボックスモード切り替え
※横方向印刷などプロパティの変更印刷が可能
※SETUP設定も変更されますがファイル保存しなければ
そのままを維持出来ます
<esc>%15;mode sp P %%%02-apr-2001%%%
mode = 0 : デフォルトプリンタモード設定
mode = 1 : プリントダイアログボックスモード設定
──────────────────────────────────
◆ プリンタを縦(横以外)方向に印字する
※プリンタを縦(横以外)方向に印字する場合に自動改行を禁止するモード
<esc>%25;mode sp P %%%02-apr-2001%%%
mode = 0 : 横書きプリンタモード設定(通常)
mode = 1 : 自動改行禁止モード設定
※印字位置はフォントの左上隅(回転すると左上隅も回転します)
※フォント情報のダウンロードで以下を設定する必要があります
[4]escapement : x軸から左回りに数えた角度を指定
前のキャラクタ出力に対する次のキャラクタ出力の相対的な
方向(角度)を1/10度単位で指定
通常は=0 (左から右)に設定
上方向=900 (下から上)
逆方向=1800 (右から左)
下方向=2700 (上から下)
[5]orientation : x軸から左回りに数えた角度を指定
キャラクタの回転角度1/10度単位で指定
通常は=0 (左から右)に設定
左に90度傾ける=900
上下逆にひくりかえす=1800
右に90度傾ける=2700
──────────────────────────────────
53-15
──────────────────────────────────
◆ プリントダイアログの初期化情報を変更する
※予め用紙方向を横にしておきたい時などで使用します
<esc>%59;edit1 sp F<$で区切られた環境情報の内容><CR>
<esc>%59;edit2 sp F<$で区切られたデバイス情報の内容><CR>
--------------------------------
編集番号(edit2)の内容(デバイス情報)
--------------------------------
[1]デバイスドライバ名 $ [2]デバイスの名前 $ [3]ポート名
※例えば winspool$NEC PR-201H$LPT1: の様に設定
--------------------------------
ダイアログの初期化情報を更新する
--------------------------------
<esc>%27;edit1;edit2 sp P %%%02-apr-2001%%%
edit1 = 0 : デフォルトのまま(通常)
edit1 = 1 -> 45 : 編集番号(edit1)の内容で変更設定する
edit2 = 0 : デフォルトのまま(通常使うプリンタ)
edit2 = 1 -> 45 : 編集番号(edit2)の内容でデバイス選択する
--------------------------------
編集番号(edit1)の内容(環境情報)
--------------------------------
[1]デバイスの名前 $ [2]用紙方向 $ [3]用紙サイズ $
[4]用紙長さ $ [5]用紙幅 $ [6]スケーリング係数 $ [7]コピー部数 $
[8]プリンタ解像度 $ [9]カラーモノクロ $ [10]両面印刷の方法 $
[11]y方向解像度[12]TrueTypeフォントの印刷方法 $ [13]頁の丁合い $
[14]用紙の形状
※nullを指定したフィールドはデフォルトのままとなります
(以前に設定した値ではありません。コントロールパネル設定値です)
-----------------------------------------------
[1]デバイスの名前 ex. PCL/HL Laserjet の様に指定
ドライバーがサポートしているデバイスの名前
[2]用紙方向(用紙の向きを指定します。)
ポートレイト --> 1
ランドスケープ --> 2
[3]用紙サイズ(印刷する用紙のサイズを指定します。)
用紙の長さと幅が、 それぞれ[4]用紙長さ と [5]用紙幅メンバにより
設定されている場合は、 このメンバに0を設定できます。
それ以外の場合は、 次に示す定義済みの値のいずれかを
設定することができます。
-----------------------------------------------
値 意味
-----------------------------------------------
1 DMPAPER_LETTER Letter、 8 1/2×11インチ
2 DMPAPER_LEGAL Legal、 8 1/2×14インチ
3 DMPAPER_A4 A4シート、 210×297ミリメートル
4 DMPAPER_CSHEET Cシート、 17×22インチ
5 DMPAPER_DSHEET Dシート、 22×34インチ
6 DMPAPER_ESHEET Eシート、 34×44インチ
7 DMPAPER_LETTERSMALL Letter Small、 8 1/2×11インチ
8 DMPAPER_TABLOID Tabloid、 11×17インチ
9 DMPAPER_LEDGER Ledger、 17×11インチ
10 DMPAPER_STATEMENT Statement、 5 1/2×8 1/2インチ
11 DMPAPER_EXECUTIVE Executive、 7 1/4×10 1/2インチ
12 DMPAPER_A3 A3シート、 297×420ミリメートル
13 DMPAPER_A4SMALL A4 smallシート、 210×297ミリメートル
14 DMPAPER_A5 A5シート、 148×210ミリメートル
15 DMPAPER_B4 B4シート、 250×354ミリメートル
16 DMPAPER_B5 B5シート、 182×257ミリメートル
17 DMPAPER_FOLIO Folio、 8 1/2×13インチ
18 DMPAPER_QUARTO Quarto、 215×275ミリメートル
19 DMPAPER_10X14 10×14インチ シート
20 DMPAPER_11X17 11×17インチ シート
21 DMPAPER_NOTE Note、 8 1/2×11インチ
22 DMPAPER_ENV_9 #9 Envelope、 3 7/8×8 7/8インチ
23 DMPAPER_ENV_10 #10 Envelope、 4 1/8×9 1/2インチ
24 DMPAPER_ENV_11 #11 Envelope、 4 1/2×10 3/8インチ
25 DMPAPER_ENV_12 #12 Envelope、 4 3/4×11インチ
26 DMPAPER_ENV_14 #14 Envelope、 5×11 1/2インチ
27 DMPAPER_ENV_DL DL Envelope、 110×220ミリメートル
28 DMPAPER_ENV_C5 C5 Envelope、 162×229ミリメートル
29 DMPAPER_ENV_C3 C3 Envelope、 324×458ミリメートル
30 DMPAPER_ENV_C4 C4 Envelope、 229×324ミリメートル
31 DMPAPER_ENV_C6 C6 Envelope、 114×162ミリメートル
32 DMPAPER_ENV_C65 C65 Envelope、 114×229ミリメートル
33 DMPAPER_ENV_B4 B4 Envelope、 250×353ミリメートル
34 DMPAPER_ENV_B5 B5 Envelope、 176×250ミリメートル
35 DMPAPER_ENV_B6 B6 Envelope、 176×125ミリメートル
36 DMPAPER_ENV_ITALY Italy Envelope、 110×230ミリメートル
37 DMPAPER_ENV_MONARCH Monarch Envelope、 3 7/8×7 1/2インチ
38 DMPAPER_ENV_PERSONAL 6 3/4 Envelope、 3 5/8×6 1/2インチ
39 DMPAPER_FANFOLD_US US Std Fanfold、 14 7/8×11インチ
40 DMPAPER_FANFOLD_STD_GERMAN German Std Fanfold、
8 1/2×12インチ
41 DMPAPER_FANFOLD_LGL_GERMAN German Legal Fanfold、
8 1/2×13インチ
----------------------------------------------------
[4]用紙長さ
用紙の長さを[3]用紙サイズで指定された長さよりも
優先して指定します。
このパラメータは、 カスタムの用紙サイズを利用する場合や、
任意のサイズのページ上に印刷できるドット マトリックス
プリンタなどのデバイスを利用する場合に使います。
これらの値は、 この構造体の中で物理長を指定する、
ほかのすべての値と同じように、 10分の1ミリメートル単位で
指定します。
[5]用紙幅
用紙の幅を[3]用紙サイズで指定された用紙の幅よりも
優先して指定します。
[6]スケーリング係数
印刷出力をスケーリングする際の係数を指定します。
見かけ上の用紙サイズは、 物理的な用紙サイズを
[6]スケーリング係数 / 100の係数でスケーリングした値になります。
たとえば[6]スケーリング係数の値が50のレター サイズの用紙では、
出力されるテキストやグラフィックの高さと幅が元のサイズの
半分になるため、 用紙サイズが17インチ × 22インチの用紙と
同じ量のデータが含まれます。
[7]コピー部数
デバイスが複数ページのコピー印刷をサポートする場合に、
印刷する部数を指定します。
[8]プリンタ解像度
プリンタの解像度を指定します。
デバイスに依存しない値として、
次の4つの定義済みの値があります。
DMRES_HIGH --> -4
DMRES_MEDIUM --> -3
DMRES_LOW --> -2
DMRES_DRAFT --> -1
正の値を指定した場合はインチ当たりのドット数
(DPI) を示すため、 デバイスに依存する値になります。
[9]カラーモノクロ
カラー プリンタでカラーを出力するかモノクロを出力するか
を指定します。設定可能な値を次に示します。
DMCOLOR_COLOR --> 2
DMCOLOR_MONOCHROME --> 1
[10]両面印刷の方法
両面印刷が可能なプリンタの場合に両面印刷の方法を選択
します。設定可能な値を次に示します。
DMDUP_SIMPLEX --> 1
DMDUP_HORIZONTAL --> 3
DMDUP_VERTICAL --> 2
[11]y方向の解像度
プリンタのy方向の解像度をDPIで示します。
[12]TrueTypeフォントの印刷方法
TrueType(R) フォントの印刷方法を指定します。
このメンバは、 次の値のいずれかになります。
値 意味
----------------------------------------------------
1 DMTT_BITMAP TrueTypeフォントをグラフィックとして
印刷します。ドット マトリックス
プリンタでは、 これがデフォルトの動作
になります。
2 DMTT_DOWNLOAD TrueTypeフォントをソフト フォント
としてダウンロードします。
Printer Control Language (PCL) を
使用するHewlett-Packardプリンタでは、
これがデフォルトの動作になります。
3 DMTT_SUBDEV TrueTypeフォントをデバイス フォント
で代替します。PostScript(R) プリンタ
では、 これがデフォルトの動作になります。
----------------------------------------------------
[13]頁の丁合い
複数部数を印刷する際に、 ページの丁合いを行うかどうかを
指定します。このメンバは、 次の値のいずれかになります。
----------------------------------------------------
値 意味
----------------------------------------------------
1 DMCOLLATE_TRUE 複数部数の印刷時にページの丁合い
を行います。
2 DMCOLLATE_FALSE 複数部数の印刷時にページの丁合い
を行いません。
----------------------------------------------------
DMCOLLATE_FALSEを使った場合には、 より高速で効率のよい
印刷が行えます。これは、 要求される印刷部数に関係なく、
ページ プリンタにデータを送る回数が1回だけで済み、
ページを再度印刷するという指示だけがプリンタに与えら
れるためです。
[14]用紙の形状
"Letter" や "Legal" などの用紙の形状を指定します
◆ プリンタメインフォントの行間/桁間/含外部リーデング指定
※ プリンタオープンする前に指定します
<esc>%9;opt1;opt2;opt3; sp P
プリンタメインフォント設定となります
--> opt1 行間ドット数(<256)(>=0)
--> opt2 桁間ドット数(<256)(>=0)
--> opt3=0 外部リーディングを含む opt3=1 含まない
──────────────────────────────────
53-16
|目次|前ページ|次ページ|