|目次|前ページ|次ページ| ───────────────────────────────────── ■ 直接出力モードとバーコード印刷 スプーラを経由しない印刷出力を意味します ■ 直接出力モードとバーコード印刷のサンプルプログラム ZSIMSAMP / ZSIMSAM2 にバーコードとフォームオバーレイ的機能の サンプルがあります。 ZSIMJAN にバーコード(JAN)サンプルがあります。 ZSIMC128 にバーコード(CODE128)サンプルがあります。 ZSIMCD39 にバーコード(CODE39)サンプルがあります。 ZSIMNW7 にバーコード(NW7)サンプルがあります。 ZSIMYBIN にバーコード(郵便)サンプルがあります。 ZSIMBITM にビットマップ印刷のサンプルがあります。 ZSIMGDI2 にGDI描画サンプルがあります。 これらは、開発キット ZSIMLP.RSAに含まれています。 ───────────────────────────────────── <<<留意点>>> (*) CANONバーコードフォント(SmileWare Colection) 等が必要です (*) 副フォントは1->64まで拡張されました(要Download) (1->5)を(51->55)に変更しました (*) 縦方向の印刷方法を提供 フォント情報の EscapementとOrientationを適切に設定します (*)テキスト印字位置指定に小数点を指定可(ドット位置は無視) ***小数点以下は1/100単位で有効*** ***あえてヘルプドキュメントにありませんが機能します*** ───────────────────────────────────── <<<留意点>>> CN-JANCODE(高さ標準)/CN-JANCODE2(高さ0.5倍)/CN-JANCODE3(高さ1.5倍) CODE-39ではスペースコードはアンダースコア(_)を出力してください CANON Smileware collection はコピーフリーです(プリンタ購入すれば) 横倍角/(*)リバース/ハイライト/アンダーライン/イタリック/通常属性 <esc>#6 / <esc>[7m / <esc>[1m / <esc>[4m / <esc>[2m / <esc>[m (*)リバース/通常属性は副フォントでも表示可能です <*>フォントの高さ指定は正の値は内部リーデングを含まない 負の値は内部リーデングを含むドット高さを指定します。 ───────────────────────────────────── <<<バーコード印刷処理手順>>> ───────────────────────────────────── [1] 標準的な初期化処理 setstr=$$WpInit^ZSIMLP0() <<標準的な初期化処理>> [2] <<プリンタにグラフィックス描画する場合のみ>> setstr=$$WpGDIEna^ZSIMLP1() [3] 標準的なオープン処理 setstr=$$WpOpen^ZSIMLP0() <<標準的なオープン処理>> [4] 印字行桁位置を指定 setstr=$$WpLcPos^ZSIMLP1(x,y) (小数点) <<プリンタメインフォントで印字行桁位置を指定>> setstr=$$WpXYPos^ZSIMLP1(x,y,dotx,doty)(小数点) <<プリンタメインフォントで印字行桁+−差分ドット位置を指定>> setstr=$$WpCurPos^ZSIMLP1(x,y) <<プリンタ現在フォントで印字行桁位置を指定>> [5] バーコード出力文字列を出力 setstr=$$WpPut39^ZSIMLP1(BAR,x,y,dotx,doty) ==>#55 setstr=$$WpPut39OCR^ZSIMLP1(BAR,x,y,dotx,doty) ==>#51 setstr=$$WpPutNW7^ZSIMLP1(BAR,x,y,dotx,doty) ==>#53 setstr=$$WpPutJAN^ZSIMLP1(BAR,x,y,dotx,doty) ==>#54 *** 必要ならば [4] に戻ってください [6] 標準的なクローズ処理 setstr=$$WpClose^ZSIMLP0() <<標準的なクローズ処理>> [7] 画面にグラフィックス描画モード setstr=$$WpGDIDis^ZSIMLP1() <<プリンタにグラフィックス描画する場合のみ>> [8] 標準的な終了処理 setstr=$$WpTerm^ZSIMLP0() <<標準的な終了処理>> ───────────────────────────────────── <<<副フォントのダウンロード切替え処理手順>>> ───────────────────────────────────── [1] 副フォント削除&再設定(次にフォントを選択のこと) setstr=$$WpCngSF^ZSIMLP1(font,LogFont) ここで font=フォント番号(1から64) LogFont=LOGFONT構造体にセットする値(NULLの場所は前の値のまま) [2] 副フォント印字モードに切替(フォント選択) setstr=$$WpSubFnt^ZSIMLP1(font) カレントフォントが変更されます ここで font=フォント番号(1から64) ───────────────────────────────────── <<<メインフォントのダウンロード切替え処理手順>>> ───────────────────────────────────── [1] メインフォント削除&オープン(変更) setstr=$$WpCngF0^ZSIMLP1(LogFont) ここで font=フォント番号(1から64) [2] メインフォントの行間/桁間/含む外部リーディングの指定 setstr=$$WpMSpace^ZSIMLP1(linedot,columndot,extleading) [*]JAN-Code共通関数 setstr=$$WpJAN13^ZSIMLP1(JAN) <<数字12桁からチェック桁を付加してフォント用文字列変換(共通関数)>>> setstr=$$WpJAN8^ZSIMLP1(JAN) <<数字7桁からチェック桁を付加してフォント用文字列変換(共通関数)>>> [*] 副フォントへの切替えをスプール出力 setstr=$$WpSel39^ZSIMLP1() <<<現在CODE39#55選択>>> setstr=$$WpSel39OCR^ZSIMLP1() <<<現在CODE39OCR#51選択>>> setstr=$$WpSelJAN^ZSIMLP1() <<<現在JANコード#54選択>>> setstr=$$WpSelNW7^ZSIMLP1() <<<現在NW-7コード#53選択>>> setstr=$$WpSelSmall^ZSIMLP1() <<<現在小さなフォント#52選択>>> ───────────────────────────────────── <<プリンタ出力モード中に文字列(含むシーケンス)を画面表示したい>> $$RWpPutScr^ZSIMLP1(str) [*]GDI描画関数(小数点) str=$$WpLine^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) 直線 str=$$WpBox^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) ボックス str=$$WpBoxFil^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) ボックス塗り潰し str=$$WpCircle^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr,p1,p2,p3,p4) 円/楕円 str=$$WpElipse^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr 楕円 ,x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p2,p3,p5) str=$$WpArc^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr 円弧 ,x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1) str=$$WpPaint1^ZSIMLP0(x1,y1,dotx1,doty1,c1,c2) 塗り潰し str=$$WpPaint2^ZSIMLP0(x1,y1,dotx1,doty1,c1,c2,c3) 塗り潰し str=$$WpPSet^ZSIMLP0(x1,y1,dotx1,doty1,c1) 点を描画 str=$$WpInvAll^ZSIMLP0() 描画領域全体を白黒反転 str=$$WpInvRect^ZSIMLP0(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2) 描画領域の一部を白黒反転 ───────────────────────────────────── [*]マージン設定関数 ───────────────────────────────────── dmy=$$WpMgnRect^ZSIMLP1(x1,y1,x2,y2) マージン設定(プリンタオープン前) x1=左,y1=上,x2=右,y2=下ドットマージン(印字可能外枠からのドット数) str=$$WpMgnLR^ZSIMLP1(x1,x2) line=$$WpWrite^ZSIMLP0(setstr)プリンタ印刷データ文字列設定 左右マージン設定(プリンタオープン前or後) str=$$WpMgnTB^ZSIMLP1(y1,y2) line=$$WpWrite(setstr)プリンタ印刷データ文字列設定 上下マージン設定(プリンタオープン前or後) *** 直接位置指定ではマージン外でも印字してしまいます ───────────────────────────────────── [*]縦書き/デバイスモード/デバイス名設定関数 [1]自動改行モード str=$$WpAutoWrap^ZSIMLP1(yesno) yesno=(0:自動改行する(横書き),1:しない(縦書き)) [2]プリンタオープン時の方法 str=$$WpDialog^ZSIMLP1(yesno) yesno=(0:デフォルトプリンタ,1:ダイアログボックス) [3]印刷ダイアログボックスの内容を変更して初期化 str=$$WpInitDlg^ZSIMLP1(devmode,devname) devmode=デバイスの名前$用紙方向$用紙サイズ$...$ ex. "\PRAHA\Canon LASER SHOT LBP-910$1$3$..." devname=ドライバ名$デバイスの名前$ポート名$ ex. "winspool$\PRAHA\Canon LASER SHOT LBP-910$Ne00:" [*]両面印刷/印刷密度の設定(印刷ダイアログボックス使用時) ───────────────────────────────────── [*]郵便カスタマバーコード印字用文字列を作成 barstr=$$WpYubin^ZSIMLP2(postno7,address) postno7<--郵便番号7桁 address<--日本語住所(丁目以降なら正確) *** 日本語住所に県や市から渡した場合は稀に間違う場合があります *** [*]郵便カスタマバーコード印字シーケンスを作成 setstr=$$WpPutYBN^ZSIMLP1(BAR,x,y,xdot,ydot) *** 縦方向に印刷したい場合はフォントの方向を設定します *** [*]郵便カスタマバーコード選択シーケンスを作成(フォント番号=50) setstr=$$WpSelYBN^ZSIMLP1() ───────────────────────────────────── <<<[準備関数]>>> [1]ラスターオペレーションの指定(0:SRCCOPY) str=$$WmROpe^ZSIMLP3(ope) [2]ブラシの指定 str=$$WmBrush^ZSIMLP3(mode,opt,clr) [3]ビットマップ番号データの削除 str=$$WmDelete^ZSIMLP3(bitm) [4]ビットマップ番号データの全削除 str=$$WmAllDel^ZSIMLP3() <<<[ファイルから読込保存関数]>>> [1]ダイアログボックスから読込->ビットマップ番号に格納 str=$$WmReadDlgg^ZSIMLP3(bitm) *** .WmP or .DIB [2]指定ファイルから読込->ビットマップ番号に格納 str=$$WmReadFL^ZSIMLP3(bitm,path) *** .WmP or .DIB [3]ダイアログボックスから->ファイルに保存 str=$$WmSaveDlg^ZSIMLP3(bitm) *** .WmP or .DIB [4]ビットマップ番号から->ファイルに保存 str=$$WmSaveFL^ZSIMLP3(bitm,path) *** .WmP or .DIB <<<[ビットマップ処理関数]>>> [1]イメージデータのセイブ->ビットマップ番号に格納[等倍] str=$$WmGetDot^ZSIMLP3(bitm,x1,y1,x2,y2) [2]ビットマップ番号からイメージデータの復元[等倍] str=$$WmPutDot^ZSIMLP3(bitm,x1,y1,x2,y2,mode) [3]イメージデータのセイブ[等倍] str=$$WmGetImg^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) [4]ビットマップ番号からイメージデータの復元[等倍] str=$$WmPutImg^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) [5]イメージデータの転写(拡大/縮小)[xy方向非等倍率] str=$$WmCopyA^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) [6]ビットマップ番号(Wm2)からビットマップ番号(Wm1)[新規作成]へ転写 str=$$WmCopyB^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh, (拡大/縮小) sx,sy,sw,sh,dotsx,dotsy,dotsw,dotsh)[xy方向非等倍率] [7]ビットマップ番号(Wm2)からビットマップ番号(Wm1)[既存]へ転写 str=$$WmCopyC^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh, (拡大/縮小) sx,sy,sw,sh,dotsx,dotsy,dotsw,dotsh) <<<[ブラシ描画関数]>>> [1]画面/LPにブラシ描画 str=$$WmPatB1^ZSIMLP3(dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) [2]bitmapにブラシ描画 str=$$WmPatB2^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) <<<(拡大/縮小)関数>>> [1]倍率を指定して拡大/縮小[xy方向等倍率](ex. x=2 x=1.5 y=2/3) str=$$WmZoom^ZSIMLP3(Wm1,Wm2,x,y) [2]拡大/縮小(x方向サイズを指定)[xy方向等倍率] str=$$WmZoomX^ZSIMLP3(Wm1,Wm2,dw,dotdw) [3]拡大/縮小(y方向サイズを指定)[xy方向等倍率] str=$$WmZoomY^ZSIMLP3(Wm1,Wm2,dh,dotdh) <<<サイズを取得>>> [1]ビットマップサイズを取得 str=$$WmBmpSize^ZSIMLP3(bitm) ───────────────────────────────────── 7-1 |目次|前ページ|次ページ|