CODE128(EAN128)バーコードでのスタートキャラクタの設定について

文書番号 : 36395     文書種別 : 使用方法     登録日 : 2013/09/06     最終更新日 : 2013/09/06
文書を印刷する
対象製品
JBarCode 3.0J
詳細
スタートキャラクタを設定することはできません。スタートキャラクタは、Valueプロパティの内容からコントロールが判断し設定いたします。

<< スタートキャラクタの決定について >>
・最初に0x00~0x1Fのデータが出現した場合は、コードセットAになる。
・最初に0x60~0x7Fのデータが出現した場合は、コードセットBになる。
・数値が4桁以上続く場合は、コードセットCになる。
・データが全て0x20-0x5Fの範囲だとコードセットAになる。

<< 途中でのコードセットの切替について >>
・コードセットAとB同士の切替は、
 1文字だけの切替の場合は、SHIFTキャラクタを使用して、2文字以上の場合は、コードセットの変更を行う。
 例1) abc[NUL]de -> [CODE_B]abc[SHIFT][NUL]de
 例2) abc[NUL][NUL]de -> [CODE_B]abc[CODE_A][NUL][NUL][CODE_B]de

・コードセットCへの切替は、
 数値が4桁以上続く場合にコードセットの変更を行う。
 例1) abc123def -> [CODE_B]abc123def (切替を行わない)
 例2) abc1234def -> [CODE_B]abc[CODE_C]1234[CODE_B]def

<< FNC1~FNC4を任意に指定する方法 >>
・FNC1~FNC4は、0xF1~0xF4のコードで対応する。
・Valueプロパティ内に0xF1~0xF4のコードが含まれていれば、そのデータはFNC1~FNC4として扱う。

■サンプルコード

 BarCode bcd= new BarCode( Type.Code128 , "" );
 byte[] b = new byte[12];
 b[0] = 1;
 b[1] = 2;
 b[2] = 3;
 b[3] = 4;
 b[4] = 5;
 b[5] = 6;
 b[6] = (byte)0xF1; // FNC1を指定
 b[7] = 7;
 b[8] = 8;
 b[9] = 9;
 b[10] = 0;
 b[11] = 1;
 bcd.setValueBinary(b);


<< バイナリデータの扱いについて >>
・Valueプロパティをバイト配列で指定して、先頭1バイトが0xFFの場合は、そのデータをバイナリとして扱う。(先頭1バイトは無視される)
・0x80以下のデータは通常の処理を行うが、0x80以上のデータは、FNC4キャラクタを使用して拡張ASCIIモードに切り替える。
・バイナリデータが4バイト以上続く場合は、FNC4を2キャラクタ使用して拡張ASCIIモードに切り替える。
・バイナリデータが4バイト未満の場合は、FNC4を1キャラクタ使用して拡張ASCIIモードにシフトする。

なお、EAN128はCODE128の体系を使用しますので、同様にお考えください。
キーワード
HowTo