|目次|前ページ|次ページ| ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◇◇◇ (ver5)バージョンアップ ◇◇◇ 2004-09-14 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆ プリンタメインフォントの行間/桁間/含外部リーデング指定 ※ プリンタオープンする前に指定します <esc>%9;opt1;opt2;opt3; sp P プリンタメインフォント設定となります --> opt1 行間ドット数(<256)(>=0) --> opt2 桁間ドット数(<256)(>=0) --> opt3=0 外部リーディングを含む opt3=1 含まない ◆ プリントダイアログの初期化情報を変更する ※予め用紙方向を横にしておきたい時などで使用します <esc>%59;edit1 sp F<$で区切られた環境情報の内容><CR> <esc>%59;edit2 sp F<$で区切られたデバイス情報の内容><CR> -------------------------------- 編集番号(edit2)の内容(デバイス情報) -------------------------------- [1]デバイスドライバ名 $ [2]デバイスの名前 $ [3]ポート名 ※例えば winspool$NEC PR-201H$LPT1: の様に設定 ※ドライバ/デバイス/ポートを確かめるにはWindowsプリンタ照会でどうぞ! -------------------------------- ダイアログの初期化情報を更新する -------------------------------- <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>%25;mode sp P %%%02-apr-2001%%% mode = 0 : 横書きプリンタモード設定(通常) mode = 1 : 自動改行禁止モード設定 ※印字位置はフォントの左上隅(回転すると左上隅も回転します) ◆ プリンタダイアログボックスモード切り替え ※横方向印刷などプロパティの変更印刷が可能 ※SETUP設定も変更されますがファイル保存しなければ そのままを維持出来ます <esc>%15;mode sp P %%%02-apr-2001%%% mode = 0 : デフォルトプリンタモード設定 mode = 1 : プリントダイアログボックスモード設定 ◆ <esc>[135;ret;text;title;style;...;W で機能追加 text = 531,532,533,534 は 4096bytesの領域で<CR><LF>も可能 ◆ 副フォントの個数制限(64) [1]設定(SETUP)で設定可能な副フォントは5個まで(1から) [2]ダウンロード設定可能な副フォントは64個までです [3]利用可能な副フォント番号は 1 から 64 までです [4]ドキュメントの記載で副フォント番号1から5となっている所は 1から64に置き換えてお読みください ◆ ページプリンタ機能に関するビットマップ処理追加 [1] ビットマップのサイズを取得 ※ <esc>[580;0;im1;G --> ビットマップ情報取得 リターンパラメータ --------------- <esc>[$ ;(1)エラーフラグ --> 0:エラー(ビットマップが存在しない等) 1:正常 ;(2)イメージデータ番号(im1) ;(3)x方向のピクセル(幅) ;(4)y方向の走査線(高さ) ;(5)カラープレーン数 ;(6)ピクセル当たりのカラープビット数 ;$<cr> [2] x方向に x1/x2倍 y方向に y1/y2倍 にビットマップを拡大/縮小 ※ <esc>[581;0;im1;im2;x1;x2;y1;y2G --> 拡大/縮小 ※転送先イメージ番号(im2)は新規に作成される [3]転送先 x方向の幅に合わせて y方向のサイズを決定して拡大/縮小 ※転送先イメージ番号(im2)は新規に作成される ※ ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅 ※ <esc>[582;0;im1;im2;G --> 拡大/縮小 [4] 転送先 y方向の幅に合わせて x方向のサイズを決定して拡大/縮小 ※転送先イメージ番号(im2)は新規に作成される ※ ESC[602;mode;textwx;textwy;dotwx;dotwyG ----転送先幅 ※ <esc>[583;0;im1;im2;G --> 拡大/縮小 ◆ 現在プリント位置のセイブ/リストア ※ <esc>%17 sp P 現在プリント位置のセイブ ※ <esc>%18 sp P リストア ◆ ビットマップの転写にバグがあり修正 ※ <esc>[59;...;G --> バグがありましたが修正 ※ <esc>[559;...;G --> バグがありましたが修正(プリンタ用) ◆ ページプリンタ機能に関するビットマップ処理追加と仕様変更 ※Windowsプリンタテキストモードでは動作しないコマンドもあります。 ※ver3ページプリンタのヘルプの項を参照してください ◆ ページプリンタにGDI描画後印刷位置を復元 ※直線などGDI描画後に印刷位置が変更されていました ────────────────────────────────── ◆ ページプリンタにGDI描画位置に左右上下マージン値を加算 ※ <esc>[498;0G --> 描画位置に左右上下マージン値を加算 ※ <esc>[498;1G --> 描画位置に左右上下マージン値を加算しない ────────────────────────────────── ◆ 画面/プリンタ/ビットマップの白黒反転にバグがあり修正 ※ <esc>[73;...;G --> バグがありました ※ <esc>[573;...;G --> 新設しました(プリンタ用) ────────────────────────────────── ※ ページプリンタ機能に関する追加変更 ────────────────────────────────── [1]以下のmode=2とmode=4が正常に動作していませんでしたが修正 <esc>%29;mode;x;y;dotx;doty sp P %%%20-mar-2001%%% 現在プリント位置の設定。ver5.525a %%%20-mar-2001%%% --> 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 の場合一番近い画面の行桁位置へ ※ 次のシーケンスでDeviceModeを設定しておいてください ────────────────────────────────── [2] <esc>[500;DeviceModeG ----出力デバイスを指定 501以降のシーケンスに影響します 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 ----出力デバイスを指定 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 ----出力デバイスを指定 <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 ----出力デバイスを指定 ※※※テキスト座標の値とドット座標の値が加算されて位置が決定されます。 ※※※どちらかの座標のみで指定する時は、指定しない座標値を全て0に 指定します。 ────────────────────────────────── [10] 円弧の描画において間違った点が描画->修正 ────────────────────────────────── ※ プリンタスルーモード中でプリンタテキスト座標による直線/円/惰円/円弧の描画 機能追加しました。(プログラミングのver3情報をご覧ください) 以下概略のみ記載しました ※勿論プリンタ描画モードに設定してから使用してください ────────────────────────────────── ESC[500;DeviceModeG ----出力デバイスを指定 ESC[501;mode;textx1;texty1;dotx1;doty1G ----直線の開始座標 ESC[502;mode;textx2;texty2;dotx2;doty2G ----直線の終了座標 ESC[508;x1;y1;x2;y2;p1;p2;p3;p4;p5G ----直線の描画 ────────────────────────────────── ESC[500;DeviceModeG ----出力デバイスを指定 ESC[503;mode;textcx;textcy;dotcx;dotcyG ----中心座標 ESC[504;mode;textrx;textry;dotrx;dotryG ----半径 ESC[509;cx;cy;rx;ry;p1;p2;p3;p4G ----円の描画 ────────────────────────────────── ESC[500;DeviceModeG ----出力デバイスを指定 ESC[503;mode;textcx;textcy;dotcx;dotcyG ----中心座標 ESC[504;mode;textrx;textry;dotrx;dotryG ----半径 ESC[501;mode;textx1;texty1;dotx1;doty1G ----開始点の開始座標 ESC[502;mode;textx2;texty2;dotx2;doty2G ----終了点の終了座標 ESC[510;cx;cy;rx;ry;sx;sy;ex;ey;p1;p2;p3;p4;p5G----円弧/惰円の描画 ────────────────────────────────── ESC[500;DeviceModeG ----出力デバイスを指定 ESC[501;mode;textx1;texty1;dotx1;doty1G ----開始座標 ESC[511;x;y;c1;c2G ----- 指定色による塗りつぶし ────────────────────────────────── ESC[500;DeviceModeG ----出力デバイスを指定 ESC[501;mode;textx1;texty1;dotx1;doty1G ----開始座標 ESC[517;x;y;c1;c2;c3G -----タイルパターンによる塗りつぶし ────────────────────────────────── ※ 日本語表示が化けていました ※ プリンタスルーモード中でも画面表示を可能に ※以下はデバグ用パラメータ領域の表示方法(内容長さ確認) <esc>%560;531; sp F <- string領域 <esc>%560;532; sp F <- command領域 <esc>%560;533; sp F <- return領域 <esc>%560;534; sp F <- edit領域 ※以下はパラメータ領域の表示方法(printer-mode時画面表示) <esc>%560;561; sp F <- string領域 %%%15-mar-2001%%% <esc>%560;562; sp F <- command領域 %%%15-mar-2001%%% <esc>%560;563; sp F <- return領域 %%%15-mar-2001%%% <esc>%560;564; sp F <- edit領域 %%%15-mar-2001%%% ◆ プリンタメインフォントの切り替え 機能が追加されました。 [1] <esc>%11;0;optsw;opt1;opt2;opt3 sp P プリンタメインフォントの切り替え方法 --> font# サブフォント番号(1からの値)(1<-->64) 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%%% ※※ ダウンロードされたフォント情報をプリンタメインフォントとして有効にします ※※ 以前のプリンタメインフォントは削除されます ※※[注意]※※ プリンタ装置の持つデフォルトフォント設定には戻れません ◆ フォント情報の取得 機能が追加されました。 [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 フォント情報の読込 ※※ 編集領域番号に格納されたフォント情報をアップロードします ※※ 各フィールドの意味は以下を参照してください ◆ フォント情報のダウンロード 機能が追加されました。 [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) ◆ Windowsプリンタ[テキストモード]でグラフィックスが描画出来ない [1]Windowsプリンタ[テキストモード]は内部ビットマップを経由しないで直接 プリンタデバイスに出力し高速に処理が行われます。 [2]Windowsプリンタ[テキストモード]では <esc>[n1;n2;...nn G のシーケンスが <esc>[5i .... <esc>[4i の間であるにも係わらず画面に描画 されていましたがプリンタデバイスに描画するように修正しました [3]描画矩形領域がプリンタやビットマップの時も画面のウィンドウサイズ の矩形内でないと描画できませんでしたが修正しました プリンタでは画面より大きいので全面には描画出来ませんでした *** 動作確認はまだしていません *** ◆ Windowsプリンタで行の先頭以外で<ESC>[y;x Hの問題 [1]行の先頭以外で<ESC>[y;x H 印字位置を設定すると直前の文字列が 設定後の位置に印字されてしまう。 直前の文字列を印字後に印字位置設定する様に修正しました。 ◆ Windowsプリンタで印字位置の設定(仕様変更) ※ x方向印字位置は桁間値(WinLPTマージン設定)を含まない[旧来] Windowsプリンタ[テキストモード]では桁間値のスペーシングは動作しない プリンタがあります。(ページプリンタでは動作する可能性があります) Windowsプリンタ[ビットマップモード]では桁間値のスペーシングは動作します ただし文字ドット幅より大きいと無視するようにしてあります ※ %%%[11-mar-2001]%%% 文字ドット幅より大きい場合でも可能に修正 しました。 ※ x方向印字位置は桁間値(WinLPTマージン設定)を含むように修正[新] しました。 ◆ Windowsプリンタで印字位置の設定(機能追加) [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> ◆ Windowsプリンタでグラフィックス描画の方法(ヒント) [1] <esc>[5i を出力 [2] <esc>%3;32772 sp B を出力(プリンタにグラフィックス描画モード) [3] <esc>[8;20;20;40;360;3;2;2;0G を出力(ボックス描画) [4] <esc>%0 sp B を出力(画面にグラフィックス描画モード) [5] <esc>[4i を出力 ※※ グラフィックス描画はプリンタにされます ※※ グラフィックス描画の際は以下の情報を取得すると描画位置を把握できます ◆ Windowsプリンタでプリンタ情報の方法(ヒント) [1] <esc>%301;sw;font# sp P カレントプリンタフォント情報の取得 sw=0: 画面に割り当てた場合 sw=1: プリンタに割り当てた場合(プリンタはオープンされている必要有) font# = 0 プリンタメインフォント font# = 1->64までのフォント番号 [2] <esc>%302 sp P R Param --> プリンタサイズ情報の取得 リターンパラメータ --------------- <esc>[$ ;(1)エラーフラグ --> 0:エラー(オープンされていない場合を含む) 1:正常 ;(2)用紙の水平方向ドット幅 ;(3)用紙の垂直方向ドット幅 ;(4)印字可能の水平方向ドット幅(マージンの間の幅)[mgnwidth] ;(5)印字可能の垂直方向ドット高さ(マージンの間の高さ)[mgnheight] ;(6)左ドットマージン ;(7)上ドットマージン ;(8)右ドットマージン ;(9)下ドットマージン ;(10)カレントフォント番号(0:メイン,1,2,3,4,5:サブ) ;(11)カレントフォントの文字セルドット幅@平均幅)%%%11-mar-2001%%%[修正] [cellwidth] --> メインフォントは文字セル幅に桁間ドット(オプション)を加えたもの[修正] --> 副フォント選択時は文字セル幅+桁間ドット(オプション)%%%11-mar-2001%%% ;(12)カレントフォントの文字セルドット高さ(文字セル高さ+行間ドット) [cellheight] --> メインプリンタフォントは設定により行間ドットや外部リーディング を含む場合と含まない場合があります --> 副フォント選択時は(行間ドット/外部リーディングを含む)(オプション) ;$<cr> ※ 行間ドット/桁間ドット/外部リーディングは(オプション設定により)加算されます。 ※ (1行当たりの平均印字文字数)=[mgnwidth]/[cellwidth] ※ (1頁当たりの印字行数)=[mgnheight]/[cellheight] ◆ Windowsプリンタ[テキストモード]で印字位置を指定する(ヒント) ※ 印字位置はx方向は左マージン値がy方向は上左マージン値が加算 されて設定されますので以下の値ではマージン値を加算しない値 で設定してください。 ※ y方向印字位置は行間値(WinLPTマージン設定)と外部リーディングを含む 設定の場合は外部リーディンク値゙が加算された値が1行のサイズです 外部リーディングとはデザイナーがフォントの行間に加えるよう勧めているスペース ※ x方向印字位置は桁間値(WinLPTマージン設定)を含まない[旧来] Windowsプリンタ[テキストモード]では桁間値のスペーシングは動作しない プリンタがあります。(ページプリンタでは動作する可能性があります) Windowsプリンタ[ビットマップモード]では桁間値のスペーシングは動作します ただし文字ドット幅より大きいと無視するようにしてあります ※ %%%[11-mar-2001]%%% 文字ドット幅より大きい場合でも可能に修正 しました。 ※ x方向印字位置は桁間値(WinLPTマージン設定)を含むように修正[新] [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からの値) [3] <esc>%29;mode;x;y;dotx;doty sp P %%%09-mar-2001%%% 現在プリント位置の設定。ver5.525a %%%09-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)に位置づけます。%%%17-mar-2001%%% --> mode = 4 (x-dotx,y+doty)に位置づけます。%%%17-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 カレントプリンタフォントの切り替え方法 --> 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プリンタスルーモードを終了する ◆ 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プリンタモード/フォント切替シーケンス (ヒント) ※※ プリンタ(主)メインフォントを副フォントに切り替える ※※ プリンタメインフォントだけが属性表示できます ※※ 切り替えても 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)も 重複して存在しています(属性表示可) ◆ シェルファイル操作機能を新規にサポート [1] <esc>%504;1;0; sp F -> ファイル操作を許可 [2] <esc>%59;edt1 sp F \SourceDIR\Filename.*<CR> -> 送り側 edt1(pFrom) : 送り側/RENAME前のパス(0==>45) [3] <esc>%59;edt2 sp F \DestinationDIR<CR> --> 転送先 edt2(pTo) : 転送先/RENAME後のパス(0==>45) [4] <esc>%59;edt3 sp F Params | Params | Params<CR> -> 操作パラメタ edt3(Params) : ディミタは "|" です また空白を含んでも良い(複数可) --------------------------------------------------------------- FOF_ALLOWUNDO = undo情報を保存する(可能ならば) FOF_FILESONLY = ワイルドカード指定の操作はファイルに対してのみ 行われる FOF_MULTIDESTFILES = 複数転送先ファイル指定 *** 無視します*** FOF_NOCONFIRMATION = 表示されるダイアログボックスに全yesを答える FOF_NOCONFIRMMKDIR = ファイル操作で新規にディレクトリが作成される時 ダイアログボックスで確認しない FOF_RENAMEONCOLLISION = move,copy,rename操作で転送先に同じファイル が存在していたら新しい名前が付けられる FOF_SILENT = ダイアログボックスを表示しない FOF_SIMPLEPROGESS = ダイアログボックスは表示するがファイル名は表示しない FOF_WANTMAPPINGHANDLE = *** 無視します*** --------------------------------------------------------------- [5] <esc>%59;edt4 sp F Title<CR> -> edt4(Title)(0==>45) : ダイアログボックスのタイトル文字列 (FOF_SIMPLEPROGESSのみ) [6] <esc>%505;ope;edt1;edt2;edt3;edt4;fabort;0; sp F -> ファイル操作を実行 ope : 1 = COPY(ファイルを転送)pFromからpToへ 2 = RENAME(ファイル名を変更)pFromのからpToへ 3 = MOVE(ファイルを移動)pFromからpToへ 4 = DELETE(ファイルを削除)pFromで指定pToは無視 edt1 : 転送元/RENAME前(編集番号)(0==>45)[ワイルドカード指定可] edt2 : 転送先/RENAME後(編集番号)(0==>45)[ワイルドカード指定可] edt3 : コントロールフラグ(編集番号)(0==>45) edt4 : タイトル文字列(編集番号)(0==>45) fabort : 1 = ユーザアボートオペレーション 0:以外 [7] R X ---> 結果コードが返送されます 結果(0:正常 255:パラメタエラー 4:許可されていない 1:実行でエラー) [8] <esc>%504;0;0; sp F -> ファイル操作を禁止 ◆ パラメータ付き EXCEL / WORD / コマンド起動を新規にサポート ファイル名/パラメタを指定して起動することが可能です edt1/edt2/edt3 は 1から45までの値にすると編集領域番号の文字列 0 は編集領域番号ではなく null を指定してことになります。 ※ コマンド起動 [1] <esc>%59;edt1 sp F CMD.EXE<CR> -> WindowNT/2000のコマンドプロセッサ <esc>%59;edt1 sp F COMMAND.EXE<CR> -> Window95/98のコマンドプロセッサ [2] <esc>%59;edt2 sp F /C=\mydir\MYBAT.BAT<CR> --> パラメータ [3] <esc>%59;edt3 sp F \default\dir<CR> -> デフォルトディレクトリ [4] <esc>%500;edt1;edt2;edt3;param;0; sp F -> 起動 [5] R X ---> 結果(0:正常に起動 3:起動エラー) ※edt1は日本語版ではcmd.exe/command.comの差違はありません (WindowsNT/2000) Window95/98ではcmd.exeは存在しません ※ EXCEL起動 [1] <esc>%59;edt2 sp F \mydir\myfile.xls<CR> --> パラメータ(excel) <esc>%59;edt2 sp F \mydir\mycsvfile.csv<CR> --> パラメータ(CSV) [2] <esc>%59;edt3 sp F \default\dir<CR> -> デフォルトディレクトリ [3] <esc>%501;verb;edt2;edt3;param;0; sp F -> 起動 [4] R X ---> 結果(0:正常に起動 3:起動エラー) ※ word起動 [1] <esc>%59;edt2 sp F \mydir\myfile.doc<CR> --> パラメータ(word) <esc>%59;edt2 sp F \mydir\mycsvfile.txt<CR> --> パラメータ(text) [2] <esc>%59;edt3 sp F \default\dir<CR> -> デフォルトディレクトリ [3] <esc>%502;verb;edt2;edt3;param;0; sp F -> 起動 [4] R X ---> 結果(0:正常に起動 3:起動エラー) ※※※ edt3 = 0 とするとカレントディレクトリ指定となります edt2 を ""に設定するとパラメタ無しとなります ---------------------------------------------------------- verb ---------------------------------------------------------- 0 or 1 : open --> file open 2 : print --> file print 3 : explore --> now not used ! ---------------------------------------------------------- param ---------------------------------------------------------- SW_HIDE 0 ウィンドウを隠す。windowsのリストの 最初のウィンドウをアクティブにする。 SW_SHOWNORMAL 1 = (標準) SW_NORMAL 1 ウィンドウをアクティブにして表示する。 ウィンドウが最小化または、最大化されている 場合は、以前の位置とサイズに戻す。 SW_SHOWMINIMIZED 2 ウィンドウをアクティブにして最小化する。 SW_SHOWMAXIMIZED 3 SW_MAXIMIZE 3 ウィンドウをアクティブにして最大化する。 SW_SHOWNOACTIVATE 4 以前に表示されたの位置とサイズでウィンドウを 表示するがアクティブなウィンドウは変更しない。 SW_SHOW 5 = (標準) 現在の位置とサイズでウィンドウをアクティブに して表示する。 SW_MINIMIZE 6 ウィンドウを最小化する。windowsのリストの 最初のウィンドウをアクティブにする。 SW_SHOWMINNOACTIVE 7 ウィンドウを表示して最小化する。現在アクティブな ウィンドウはアクティブのまま。 SW_SHOWNA 8 ウィンドウを表示するが、アクティブなウィンドウ は変更しない。 SW_RESTORE 9 = 1 ウィンドウをアクティブにして表示する。 ウィンドウが最小化または、最大化されている 場合は、以前の位置とサイズに戻す。 ---------------------------------------------------------- ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ◆ COMデバイスの実行時オープン/クローズ 拡張ポート設定で COM1/COM2/COM3/COM4 を初期化すると設定 すると起動時に初期化して終了するまでCOMデバイスは解放され ませんでしたが、実行時にオープン/クローズするシーケンスをサポート しました。 [1]COMデバイスの実行時オープン(デバイス) <esc>%45; ch# ; sp F ※※ ch# : com1=1,com2=2,com3=3,com4=4 [2]COMデバイスの実行時クローズ(デバイス解放) <esc>%46; ch# ; sp F ※※ ch# : com1=1,com2=2,com3=3,com4=4 [3]COMデバイスの状態取得 <esc>%47; ch# ; sp F ※※ ch# : com1=1,com2=2,com3=3,com4=4 ※※ オープンされていると 1<CR>が クローズされていると 0<CR>が返されます。 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ◆ Windowsプリンタ設定時の機能追加 (1)ポストスクリプトプリンタ (2)スループリンタ(直接出力)をサポートしました ※※dos/winプリンタ/ネットワークdosプリンタ/プリンタ機種/プリンタJIS/SJIS が関係する設定項目です。 処理的にはdosプリンタと同じ扱いです <esc>%11spF .... <esc>%6spF でも可能 <esc>%13spF .... <esc>%6spF でも可能 ※※Bitmap/GDIの出力は出来ません ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |目次|前ページ|次ページ|