CODABAR(NW−7)は、1972年モナークマーキング社によって開発されたバーコードです。 血液銀行、宅配便、図書館等で使用されています。
CODABARバーコードのバーとスペースは、幅が不規則です。 MONARCH CODABAR BARCODEの仕様書には、18種類の幅の違うバーやスペースが使用されているようです。 しかし、幅が狭いバーとスペース、そして、幅が広いバーとスペースでバーコードが構成されていると考えてよいのです。 幅が狭いバーとスペースを、それぞれナローバー(細バー)/ナロースペース(細スペース)と呼び、 幅が広いバーとスペースを、それぞれワイドバー(太バー)/ワイドスペース(太スペース)と呼びます。 ナローバーとナロースペースは、バイナリーコードの0(zero)を表し、ワイドバーとワイドスペースは、バイナリーコードの1(one)を表します。 1文字は、4つのバーとそれに挟まれた3つのスペース(7つの要素)で構成されています。
2種類のスペース | 2種類のバー |
ナロー(細)とワイド(太)の比率が2倍〜3倍であれば規格内です。
標準的には、
低密度 : ナロー幅=0.40mm 比率2.5倍
中密度 : ナロー幅=0.26mm 比率2.5倍
高密度 : ナロー幅=0.19mm 比率2.25倍
のようですが、当ホームページでは、比率2倍の幅で作成しています。特に問題なく読み込めています。
SVG形式で作成されるバーコードは、基本寸法の中密度と高密度が選択できるようになっています。(2015年9月1日追記)
要するに、1文字は7ビットで表現されており、0と1をナロー(細)とワイド(太)に置き換えればよいのです。
キャラクターセットは、数字(0-9)、6種類のコントロール文字、そして、4種類のスタート/ストップ文字組合せがあります。
例として、バイナリーコードで 「0000011 」と定義されている数字の「0」のバーとスペースの組合せは以下のようになります。
また、文字と文字の間には、キャラクタギャップと呼ばれるスペース部分が必要です。当ホームページではワイドスペースを使っています。
0123456789 |
バーとスペースの基本構成は以下の通りです。
Left Light Margin | + | Start Codes | + | Data Field | + | Stop Codes | + | Right Light Margin |
---|
Left Light Margin | : | ナロースペースの10倍以上のスペースが必要です。 |
Start Codes | : | スタートコードです。4種類のスタート/ストップ文字組合せがあります。 |
Data Field | : | データフィールドは可変長です。文字コードは下記参照。 |
Stop Codes | : | ストップコードです。スタート/ストップ文字の組合せは、下記参照。 |
Right Light Margin | : | ナロースペースの10倍以上のスペースが必要です。 |
文字 | 7-bit Code |
---|---|
0 1 2 3 4 5 6 7 8 9 − $ / : + . |
0000011 0000110 0001001 1100000 0010010 1000010 0100001 0100100 0110000 1001000 0001100 0011000 1010001 1000101 0010101 1010100 |
スタート/ストップ文字の組合せは、a/t, b/n, c/*, d/eの4種類です。これは、ラベルの種類の識別などに利用されています。
ラベルの種類 | スタートコード | ストップコード | ||
---|---|---|---|---|
文字 | 7-bit Code | 文字 | 7-bit Code | |
Label−a | a | 0011010 | t | 0011010 |
Label−b | b | 0101001 | n | 0101001 |
Label−c | c | 0001011 | * | 0001011 |
Label−d | d | 0001110 | e | 0001110 |
よく見ると、スタートコードとストップコードの7ビット構成は同じですね。 どうして、文字としては異なった表現をしているのでしょうか。素朴な疑問です。 また、宅配便のバーコードを見てみると、ストップコードはスタートコードと同じ文字を印刷していますね。
当ホームページで作成されるCODABAR(NW-7)の文字コード表をバーとスペースで表すと下記の通りとなります。
これは、ソフト作成を楽にするために、スタートコード以外は、すべて先頭にワイド幅のキャラクタギャップが
付いています。また、当ホームページでは、文字印字としてスタート・ストップコードは印字しない方式になっています。
SVG形式で作成されるバーコードは、ラベルの種類が判別できるようにスタートコードを最初と最後に印字するようになっています。(2015年9月1日追記)
文 字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | − | $ | / | : | + | . |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
特 殊 文 字 | スタートコード | ストップコード | ||||||
---|---|---|---|---|---|---|---|---|
a | b | c | d | t | n | * | e | |
左右のマージンを除いた左端から右端までのサイズは、ナロー幅が0.26mmでワイド比率が2.5倍で10文字の場合、 39.13mmとなります。