利用者プログラムは、範囲指定バーコード、基本モジュール幅バーコードおよび郵便系バーコード(固定サイズ)を印刷できます。
範囲指定バーコードは、指定範囲で印刷可能な最大バーコード幅を選択し、バーコードを指定範囲の中央付近に配置するように開始点を決定して印刷されます。
基本モジュール幅バーコードは、指定された基本モジュール幅に従って、一意なバーコード幅で印刷されます。画面帳票定義体でのみ指定可能です。
郵便系バーコードは、固定のサイズで指定範囲の左上に配置され印刷されます。
バーコード種
印刷できるバーコード種別には、以下の17種があります。
JAN標準
JAN短縮
CODE 3 OF 9
INDUSTRIAL 2 OUT OF 5(IND)
INTERLEAVED 2 OUT OF 5(ITF)
NW-7(NW7)
以下は帳票定義体でのみ指定可能です。
UPC-A
UPC-E
EAN-13
EAN-128
EAN-128(コンビニエンスストア向け)
CODE128
QR Code
CODE 3 OF 9(EIAJ準拠)
JAN標準
JAN短縮
CODE 3 OF 9
INDUSTRIAL 2 OUT OF 5(IND)
INTERLEAVED 2 OUT OF 5(ITF)
NW-7(NW7)
カスタマバーコード
以下は帳票定義体でのみ指定可能です。
U.S. POSTNET
U.S. Postal FIM
バーコードの印刷方法
生成されたバーコード項目に対して、バーコードとして印刷したい文字を利用者プログラムから指定して出力すると、バーコードが印刷されます。
バーコードを印刷させたくない場合は、以下のいずれかの指定を行い「出力対象外」とします。
プリンタ情報ファイルのBARSPCHECK(バーコード項目出力抑止指定)に「Y」を指定し、「出力対象外」としたいバーコード項目に、項目長分の半角空白またはNULLを設定する。
この指定は、すべてのバーコード項目に有効な指定です。
項目の表示属性の設定で「処理対象外」を指定する。
この指定は、バーコード項目ごとに有効な指定です。
注意
上記のいずれの指定も行わずにバーコード項目に半角空白やNULLのみを指定しても、バーコードを印刷させないようにすることはできません。バーコード種によっては、バーコードが印刷されたり、MEFD_RC_LFLD(47)のエラーとなったりします。
バーコード項目に設定するデータは、QR Code(モデル1)、QR Code(モデル2)以外のバーコードでは、必ず1バイトコードで指定してください。
JIS規格では、QR Codeに設定するデータはシフトJISですが、MeFtから印刷する場合は利用者プログラムの文字コードで指定してください。MeFtで、利用者プログラムの文字コードからシフトJISへのコード変換を行います。
可変長のバーコード種別(CODE 3 OF 9、INDUSTRIAL 2 OUT OF 5(IND)、INTERLEAVED 2 OUT OF 5(ITF)、NW-7(NW7)およびCODE 3 OF 9(EIAJ準拠))の場合は、指定したデータのNULLまでを有効データとして印刷されます。CODE128、EAN-128バーコード(コンビニエンスストア向けは除く)、QR Code(モデル1)およびQR Code(モデル2)では、それぞれ以下のプリンタ情報ファイルで有効データ長を可変にすることができます。
バーコード種別で扱えない文字をバーコード項目に入力するとMEFD_RC_LFLD(47)のエラーとなります。
注意
範囲指定バーコードの注意事項
文字印刷を行う場合、指定範囲の縦幅(バーコードの印刷方向に、90度または270度が指定されている場合は、横幅)が小さいと、MEFD_RC_OPMDA(44)のエラーになります。文字が印刷できるように、縦幅を広げてください。
QR Code(モデル1)またはQR Code(モデル2)の場合、指定範囲の縦幅、横幅が小さく、指定範囲に収まらない場合は、MEFD_RC_LFLD(47)のエラーになります。
EAN-128(コンビニエンスストア向け)の場合、指定範囲の横幅(バーコードの印刷方向に、90度または270度が指定されている場合は、縦幅)の指定は無視し、クワイエットゾーン(バーコード左右の余白)を含めて、必ず60mm以内に収まる最大のバーコードで描画されます。
バーコードのサイズは、プリンタの解像度で若干変わります。バーコードはクワイエットゾーンを含めて、必ず指定範囲の左端(バーコードの印刷方向に、90度または270度が指定されている場合は、上端)に配置されます。
CODE 3 OF 9(EIAJ準拠)の場合、指定範囲の横幅(バーコードの印刷方向に、90度または270度が指定されている場合は、縦幅)の指定は無視し、項目に指定されているEIAJ詳細設定の細エレメント幅、細太エレメント比、キャラクタ間ギャップ幅、クワイエットゾーンの描画方法に従ったサイズで描画されます。バーコードはクワイエットゾーンを含めて、必ず指定範囲の左端(バーコードの印刷方向に、90度または270度が指定されている場合は、上端)に配置されます。
細エレメント幅は、0.125mm~0.250mmの範囲(EIAJの仕様)で指定可能ですが、実際の細エレメント幅はプリンタ解像度のドット数に換算(整数値。小数以下切捨て)した太さになりますので、想定のバーコードサイズにならない場合があります(プリンタ解像度によりバーコードのサイズが変わります)。プリンタ解像度が粗く、ドット数が1ドットに満たない場合は、1ドットを細エレメント幅とみなしますので想定より大きなバーコードになります。
なお、EIAJの仕様では、細エレメント幅は0.125mm~0.250mmの範囲である必要がありますので、左記範囲を実現可能なプリンタ解像度が必要です。
基本モジュール幅バーコードの注意事項
項目領域長からはみ出す場合は、項目領域に収まるように印刷します。この場合は、指定された基本モジュール幅では印刷されません。
画面帳票定義体で指定した基本モジュ-ル幅をプリンタ装置の装置密度に変更した場合、1ドット未満の値は切り捨てます。このため、実際に指定した基本モジュ-ル幅で印刷されないことがあります。
画面帳票定義体で指定した基本モジュール幅9(1/1440インチ単位)は、実際に印刷する場合は基本モジュール幅14(1/1440インチ単位)で印刷されます。
郵便系バーコード(固定サイズ)の注意事項
郵便系バーコードは、縦幅、横幅の指定は無視し、固定のサイズで印刷され、必ず指定範囲の左上に配置されます。
カスタマバーコードの印刷方向は、0度、90度が有効です。0度または180度が指定されている場合は0度に、90度または270度が指定されている場合は90度とみなして印刷します。
バーコード種による注意事項
NW-7(NW7)
NW-7では、START/STOPキャラクタとして‘A'~‘D'を付加する必要があります。利用者プログラムで指定する文字列の先頭および最後の文字には、‘A'~‘D'を指定してください。
EAN-128
EAN-128では、印刷する文字に特殊文字として4つのファンクションコードも指定できます。
ファンクションコードは、それぞれ、‘FNC1'は16進のFB、‘FNC2'は16進のFC、‘FNC3'は16進のFD、‘FNC4'は16進のFEのコードで指定します。ファンクションコードのコードの割り当ては、帳票定義体のプロパティのバーコード情報、または、以下のプリンタ情報ファイルで変更することができます。
なお、EAN-128をCODE128と区別するためにFNC1コードを付加する場合は、データの先頭にFNC1コードを付加してください。
また、EAN-128では、文字印刷の指定がある場合、データ内のアプリケーション識別子を‘('と‘)'で囲んで強調印刷します。MeFtで扱うアプリケーション識別子は、「国際EAN協会 "UCC/EAN Application Identifier Standard" 1996年7月版」に従っています。
CODE128
CODE128では、チェックキャラクタの下部文字を印字するか抑止するか、プリンタ情報ファイルのBARCHKNOC128(CODE128のチェックキャラクタ印字指定)で指定できます。
図 チェックキャラクタの印字指定にそれぞれの出力結果を示します。
【チェックキャラクタ印字抑止指定の注意事項】
バーパターンのチェックキャラクタは抑止されません。
チェックキャラクタ印字指定によりチェックキャラクタの下部文字の配置が変わりますので注意してください。(図 チェックキャラクタの印字指定)
EAN-128(コンビニエンスストア向け)
EAN-128(コンビニエンスストア向け)では、データの先頭は所定のアプリケーション識別子“91”でなくてはなりません。“91”以外を指定された場合は、MEFD_RC_LFLD(47)のエラーとなります。
文字印刷の指定がある場合、アプリケーション識別子“91”を‘('と‘)'で囲んで強調印刷します。
また、EAN-128(コンビニエンスストア向け)のデータ長は、44文字固定ですが、44文字目には、所定の計算方法にもとづいた全体チェックデジットを指定する必要があります。この44文字目は省略可能で(44文字目に半角空白文字またはNULLを指定)、省略された場合、自動計算した全体チェックデジットを付加してバーコードを描画します。全体チェックデジットの計算方法は以下の通りです。
全体チェックデジットを含めた44文字のデータに最後尾から桁番号をつける。
データ文字位置 | :1文字目、 | 2文字目、 | …、 | 44文字目(全体チェックデジット) |
桁番号 | :44桁目、 | 43桁目、 | …、 | 1桁目 |
全ての偶数桁のデータ(10進数字)を加算し、それに3を掛けたものをAとする。
全体チェックデジットを除いた全ての奇数桁のデータ(10進数字)を加算したものをBとする。
AとBを加算し、Cとする。
10からCの下1桁を引いたものを全体チェックデジットとする。
(Cの下1桁が0の場合は、全体チェックデジットは0となる)
A=Σ偶数桁×3 … 2.
B=Σ奇数桁 … 3.
C=A+B … 4.
全体チェックデジット=10-(Cの下1桁) … 5.
カスタマバーコード
カスタマバーコードは、先頭の7桁の郵便番号と後続の13桁の住所表示番号で構成されます。
郵便番号7桁は必須です。住所表示番号のデータが13桁に満たない場合は、半角空白データで補ってください。なお、画面帳票定義体(FORMで作成)では、カスタマバーコードの文字印刷指定は無効となり、文字印刷されません。カスタマバーコードで文字印刷を行う場合は、帳票定義体(PowerFORMで作成)で設計してください。
CODE 3 OF 9(EIAJ準拠)
CODE 3 OF 9(EIAJ準拠)は、「EIAJ-EDI標準 2001年版」の様式C-3、様式D、標準納品書および標準返品伝票をサポートし、データ先頭は識別子“Z”、“3N”および“1P”のいずれかでなければなりません。左記以外の識別子を指定した場合は、MEFD_RC_LFLD(47)のエラーとなります。識別子以降は以下のデータ(JIS8コード表記)を指定できますが、各様式の仕様に合ったデータを指定してください。
なお、CODE 3 OF 9(EIAJ準拠)は、データ中に複数の情報を持つことができ、各情報はSP(空白文字)で区切られます。データにCODE 3 OF 9でサポートされていない文字種を指定した場合、文字は描画されますが、その文字が含まれる情報(以下の例の「情報2」)のバーパターンは描画されません。
ただし、識別子“3N”の場合、識別子に続く1桁を独立した情報「段数区分」とみなし(段数区分の前後にはSPは不要です)、段数区分にはCODE 3 OF 9でサポートしている文字種を指定する必要があります。CODE 3 OF 9でサポートしている文字種以外を指定した場合、MEFD_RC_LFLD(47)のエラーとなります。
CODE 3 OF 9(EIAJ準拠)は、バーパターン上部に文字が印字されます(DELは文字描画されません)。文字は、バーパターンに対して左詰めで印字し、データ先頭の識別子は、‘(’と‘)’で囲んで印刷します。スタート・ストップコードの‘*’は印字されません。
バーコード印刷時の全般的注意事項
印刷したバーコードを読み取るために、バーコードの作成には以下の点に注意してください。
バーコード項目の左右に、10mm以上の余白をとってください。
ドットインパクト型などの低解像度(180DPI、160DPI)のプリンタ装置に基本モジュール指定バーコードを印刷する場合、基本モジュール幅が2ドット(1/180インチ単位、1/160インチ単位)未満であるとバーコードが読み込めない場合があります。よって180DPIのプリンタの場合は基本モジュール幅16(1/1440inch単位)、160DPIのプリンタの場合は基本モジュール幅18(1/1440inch単位)、以上を指定してください。
範囲指定バーコードは指定された範囲とデータ長および出力するプリンタの解像度より、バーコードの最小モジュール幅を決定し印刷されます。このため範囲指定バーコードを使用する場合は、事前にバーコードを印刷し、読み込みが可能であることを確認してから使用するようにしてください。なお、CODE128、EAN-128やQR Codeはデータ内の文字種によって、自動的に文字種切り替え用のデータが付加される場合があり、最小モジュール幅が変化するため、注意が必要です。
バーコードの印刷では、左右に余白が印刷されます。基本モジュール幅バーコードや範囲指定バーコードで余白(クワイエットゾーン)の描画方法に“バーコード項目の描画範囲外に描画”が指定されている場合は、バーコード項目領域の左右に余白がはみ出して印刷されることになります。よって、バーコード項目の左右に隣接する項目がある場合、左右の項目の一部が印刷されないことがあります。事前に印刷し、左右の項目が印刷されていることを確認し、また、バーコードの読み込みが可能であることを確認してから使用してください。クワイエットゾーンの描画方法は、帳票定義体のプロパティのバーコード情報、または、以下のプリンタ情報ファイルで指定できます。
カスタマバーコードは240DPI以上の解像度で印刷を行ってください。そうでない場合、読み取りエラーとなることがあります。
バーコードは用紙、リーダ、出力プリンタの解像度および装置の状態で精度が変わるため、実際の運用を行う前に確認してから使用してください。
EAN-128(コンビニエンスストア向け)は、300DPI以上の解像度で印刷してください。300DPI未満の場合、バーコードリーダでの読み取りができない場合があります。
バーコード印刷で出力される文字は、OCR-Bフォントです。そのため、OCR-Bフォントで表現できない文字は空白で出力されます。なお、List Works連携による電子帳票保存以外の出力では'\'は、バックスラッシュで出力されます。
なお、印刷するバーコードのキャラクタ間ギャップ幅、細太エレメント比およびクワイエットゾーンの描画方法を、帳票定義体のプロパティのバーコード情報、または、以下のプリンタ情報ファイルで調整できます(CODE 3 OF 9(EIAJ準拠)は除く)。
【キャラクタ間ギャップ幅の指定の注意事項】
キャラクタ間ギャップ幅の指定には、以下の注意があります。
キャラクタ間ギャップ幅は、ドット単位(7200dpi 換算)で指定しますが、プリンタに印刷する場合、この値がプリンタの解像度で1ドット未満になる時、MEFD_RC_LFLD(47)のエラーとなります。プリンタ解像度でのドット数の換算方法は以下の通りです。
(キャラクタ間ギャップ幅の指定値 ÷ 7200) × プリンタ解像度