|目次前ページ次ページ|
──────────────────────────────────────
 ──────────────────────────────────
◆  ビットマップ白黒反転操作%%%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 指定領域の白黒反転 
 ──────────────────────────────────
◆  テキスト位置指定で小数点 
 ESC[501;mode;textx1;texty1;dotx1;doty1G ----直線の開始座標 
 ESC[502;mode;textx2;texty2;dotx2;doty2G ----直線の終了座標 
 ESC[503;mode;textcx;textcy;dotcx;dotcyG ----中心座標 
 ESC[504;mode;textrx;textry;dotrx;dotryG ----半径 
 ──────────────────────────────────
 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 ----ソース幅 
 ──────────────────────────────────
※ 位置はモード設定(デフォルト)により左右上下マージン値が加算されます。 
※ 位置設定のモード(mode=256 及び mode=512)を追加します。 
 ──────────────────────────────────
    mode   = 256 : dotx?,doty? はテキスト位置の1/100単位で指定 
    textx? : テキスト桁位置 
    texty? : テキスト行位置 
    dotx?  : 1/100単位テキスト位置(x方向) 
    doty?  : 1/100単位テキスト位置(y方向) 
 ──────────────────────────────────
    mode   = 512 : dotx?,doty? はテキスト位置の1/1000単位で指定 
    textx? : テキスト桁位置 
    texty? : テキスト行位置 
    dotx?  : 1/1000単位テキスト位置(x方向) 
    doty?  : 1/1000単位テキスト位置(y方向) 
 ──────────────────────────────────
 <esc>%29;mode;x;y;dotx;doty sp P %%%20-mar-2001%%%  
   現在プリント位置の設定。 
※ 位置設定のモード(mode=256 及び mode=512)を追加します。 
※ <esc>[500;DeviceMode G シーケンスでDeviceModeを設定要 
 ──────────────────────────────────
    mode   = 256 : dotx,doty はテキスト位置の1/100単位で指定 
    x : テキスト桁位置 
    y : テキスト行位置 
    dotx  : 1/100単位テキスト位置(x方向) 
    doty  : 1/100単位テキスト位置(y方向) 
 ──────────────────────────────────
    mode   = 512 : dotx,doty はテキスト位置の1/1000単位で指定 
    x : テキスト桁位置 
    y : テキスト行位置 
    dotx  : 1/1000単位テキスト位置(x方向) 
    doty  : 1/1000単位テキスト位置(y方向) 
 ──────────────────────────────────
◆  プリントダイアログの初期化情報を変更する 
  ※予め用紙方向を横にしておきたい時などで使用します 
    <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)の内容でデバイス選択する 
    ----------------<<< 仕様変更 >>>-------------------------- 
   ※(以前のversionでは)edit1 = 0 の場合edit2=0とみなしていましたが 
        edit1,edit2の何れか一方が 0以外の場合はその値が設定されます 
   ※このシーケンスは従来互換の為に残してあります。 
    ----------------<<< 仕様追加 >>>-------------------------- 
    <esc>%28;edit1;edit2 sp P %%%[02-feb-2002]%%% 
   edit1 = 0 : ※直前の設定のまま 
   edit1 = 1 -> 45 : 編集番号(edit1)の内容で変更設定する 
   edit2 = 0 : ※直前の設定のまま 
   edit2 = 1 -> 45 : 編集番号(edit2)の内容でデバイス選択する 
   ※デバイスモード又はデバイスネームを置き換えする場合に使用します 
   ※edit1,edit2の何れか一方が 0以外の場合はその値が設定されます 
   ※このシーケンスでは(デフォルト値)や(通常使うプリンタ)に 
     リセットされることはなく直前の設定値が有効です。 
   ※デバイスモードは一部分の置き換えが可能ですがデバイスネームは 
     全て同時に置き換えが必要です。 
    ----------------<<< 以上変更点 >>>------------------------ 
   --------------------------------
   編集番号(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>[5i 直後に印刷ダイアログボックスのモード設定時取得可能です 
   ※ プログラミングは W $C(27)_"[5i" R X の様になります 
   <<<戻り値は以下の様になります。>>> 
 <esc>[$;yesno;driver;devicename;port;status;Mode;$<CR>-> 選択結果(mode-A)
 yesno;driver;devicename;port;status;Mode;<CR> -> 選択結果(mode-B)
    yesno -> 0:印刷ダイアログボックスは<キャンセル>されました 
               ※この場合プリンタはオープンされません※ 
             1:印刷ダイアログボックスは<OK>されました  
               ※この時プリンタはオープン後です※ 
    driver -> 印刷ドライバのファイル名 
    devicename -> プリンタデバイス名 
    port   -> ポート名 
    ----------<<<以下[08-feb-2002]追加された部分です>>>------- 
    status -> 1:okされた 2:Cancelされた (3以上は将来のコード) 
    Mode   -> Windowプリンタのモード番号(9:テキスト,11:非GDI) 

   モード設定は以下の様になります。 
   <esc>%15;dlg;mode sp P  ->  印刷ダイアログボックスのモード設定 
   dlg  -> 0:印刷ダイアログボックスは表示せず、通常使うプリンタに印刷される 
          1:印刷ダイアログボックスを表示 
        255:印刷ダイアログボックスを表示しその選択結果を取得します 
         ※ このモード設定の場合は印刷ダイアログボックスで<キャンセル>した 
            場合は、<esc>[4i迄読み飛ばしの設定をしても無視され 
            常に画面表示モードとなります。 
   mode -> 0:選択結果(mode-A)のフォーマットで戻り値(1以外の時) 
           1:選択結果(mode-B)のフォーマットで戻り値 

 ──────────────────────────────────
◆  プリンタオープンしない印刷ダイアログボックスの結果取得機能を追加 
 ──────────────────────────────────
   <esc>%511;mode sp P  ->  印刷ダイアログボックスのモード設定 
   mode -> 0:選択結果(mode-A)のフォーマットで戻り値(1以外の時) 
           1:選択結果(mode-B)のフォーマットで戻り値 
   <<<戻り値は以下の様になります。>>> 
 <esc>[$;yesno;driver;devicename;port;status;Mode;$<CR>-> 選択結果(mode-A)
 yesno;driver;devicename;port;status;Mode;<CR> -> 選択結果(mode-B)
    yesno -> 0:印刷ダイアログボックスは<キャンセル>されました 
               ※この場合プリンタはオープンされません※ 
             1:印刷ダイアログボックスは<OK>されました  
               ※この時プリンタはオープン後です※ 
    driver -> 印刷ドライバのファイル名 
    devicename -> プリンタデバイス名 
    port   -> ポート名 
    ----------<<<以下[08-feb-2002]追加された部分です>>>------- 
    status  -> 1:okされた 2:Cancelされた (3以上は将来のコード) 
    Mode   -> Windowプリンタのモード番号(9:テキスト,11:非GDI) 

 ──────────────────────────────────
◆  <esc>%11spF <esc>%13spF をサポート 
   ※dosプリンタのみ動作していましたが、Windowsプリンタでも動作 
     する様に機能追加しました(全てのモードでサポート) 
   [1] <esc>%11spF --> SJIS プリンタとして印刷 
   [2] <esc>%13spF --> 透過 プリンタとして印刷 
   ※<esc>[5i 同様に印刷ダイアログボックスのモード設定が有効となります 
   ※ <esc>%6spF でプリンタがクローズされます。	 
 ──────────────────────────────────
◆  <esc>%512;mode;index sp P をサポート 
   ※全プリンタを列挙する。 
◆  <esc>%513;mode;index sp P をサポート 
   ※全ローカルプリンタを列挙する。 
   ※但し、Windows95,98 では、ネットワークプリンタも列挙する。 
   mode -> 0:選択結果(mode-A)のフォーマットで戻り値(1以外の時) 
           1:選択結果(mode-B)のフォーマットで戻り値 
   index -> 0: プリンタ個数を返す 
            >0: index個目のプリンタ情報を返す 
   <<<戻り値は以下の様になります。>>> 
   <esc>[$;Err;Index;Cnt;Server;PrinterName;PortName;DriverName 
          ;PrintProcessor;Datatype;Atributes;Status; 
          ;cJos;AveragePPM;$<CR> -> 選択結果(mode-A) 
   Err;Index;Cnt;Server;PrinterName;PortName;DriverName 
          ;PrintProcessor;Datatype;Atributes;Status; 
          ;cJos;AveragePPM;<CR> -> 選択結果(mode-B) 
   ※index=0 の時 Err Cnt のみを返す。 
   (1)Err --> 0:エラー  1:正常終了 
   (2)Index --> 1からの位置(最大Cntまで) 
              index=0 の時は 0 
              index > Cnt の時は -1 (Err=0) 
   (3)Cnt --> 全体のプリンタ個数 
   (4)Server --> プリンタを操作するサーバー名 
   (5)PrinterName --> プリンタを表す文字列 
   (6)DriverName --> プリンタドライバを表す文字列[07-feb-2002] 
   (7)PortName --> ポートを識別する文字列[07-feb-2002] 
   (8)PrintProcessor --> プリンタが利用するプロッセッサ名(ex. winspool) 
   (9)Datatype --> 印刷ジョブを記録する際利用されるデータタイプ(ex. raw) 
   (10)Atributes --> プリンタ属性 
   (11)Status --> プリンタの状態 
   (12)cJos --> 印刷ジョブ数 
   (13)AveragePPM --> 1分間当たりに印刷されたページ数の平均 
 ──────────────────────────────────
◆  dos/非GDIモード/ポストスクリプト・プリンタ機種選択変更機能を追加 
 ──────────────────────────────────
   <esc>%76;printer sp F  ->  プリンタ機種選択変更 
    mode -> 0:ESC/Pシーケンス ※日本語変換有 
            1:PR201シーケンス ※日本語変換有  
            2:IBM(SJIS)  ※SJIS 
            3:透過       ※日本語変換無(新設) 
※ [3:透過]に設定した場合は、<esc>[5i...<esc>[4i 出力時は意図した 
   とうりに動作しますが、<control/f4>の画面同時印刷ではsjisを 
   受け付けるプリンタでなければ漢字が化けます。 
   サーバーのプログラムで漢字コード変換を行う場合に使用します。 
 ──────────────────────────────────
◆  Windowsプリンタ[非GDIモード]を新規にサポート 
 ──────────────────────────────────
※ [SETUP(E)]->[※dos/winプリンタ]->[Windowsプリンタ[非GDIモード]ESC/P,PR201等] 
   VCOM汎用印刷エンジンは使用できません。 
   ESC/P,PR201やラベルプリンタ等に対して、WindowsGDIを使用せず、 
   文字コードやシーケンスのみを出力する場合に利用します。 
   切り替えシーケンスも追加されました。 
※ プリンタサーバやUSB経由のDOSプリンタに印刷ダイアログボックスを可能 
   にして対応しています。(ポート名は、LPT1:,LPT2:,...でなくても可) 
   <esc>%72;mode;font sp F  -> Windowsプリンタモード設定  
    mode -> 0:dos経由(LPTnポート) ※フォント設定は意味がありません 
            1:Windows[プリンタ依存ビットマップ]  
            2:Windows[カラービットマップ]  
            3:Windows[モノクロビットマップ]  
            9:※Windows[テキストモード](通常)※  
           10:Windows[ポストスクリプト/スルーモード]   
           11:Windows[非GDIモード] (新設)  
※ [印刷ダイアログボックス]を使用するに設定されていると、 
   <esc>[5i出力時、印刷ダイアログボックスが表示されプリンタ設定が変更 
   出来ます。 
  この際、印刷ダイアログボックスに表示される初期値を予め設定変更 
   しておくことが出来ます。(VCOM汎用印刷エンジンと同じ) 
※ [印刷dislogbox]->[デフォルトプリンタを使用]に設定されていると、 
   印刷ダイアログボックスは表示されず、通常使うプリンタに印刷されます。 
──────────────────────────────────────
              55-1 
     |目次前ページ次ページ