CODE128(EAN128)バーコードでのスタートキャラクタの設定について
対象製品
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の体系を使用しますので、同様にお考えください。
<< スタートキャラクタの決定について >>
・最初に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