バーコード > JANコード(13桁)
JANコード(13桁JAN) †
|
JANコードには8桁JANと13桁JANの2種類が存在するが、いずれも4種類の太さのバーとスペースで構成される。
1キャラクタは7モジュール(2本のバーと2本のスペース)で構成する。
チェックキャラクタが必要な為、実際には7桁または12桁の数値が表現できる事になる。
※CODE39のようなキャラクタ間ギャップは不要である。
|
1.全体構成
・左からレフトマージン(11ジュール以上)、レフトガイドバー(3モジュール)、6桁のデータキャラクタ、センターバー(5モジュール)、
5桁のデータキャラクタ、1桁のモジュラーチェックキャラクタ、ライトガイドバー(3モジュール)、ライトマージン(7モジュール以上)で表す。
・ガイドバーは左右ともに「101」(黒白黒)、センターバーは「01010」(白黒白黒白)で表現する。
・1キャラクタ(0〜9)は 7モジュールで表現され、2本のバーと2本のスペースで表示する。
・キャラクタの構成方法はセンターバーの左と右側で異なり、左側の構成パターンは先頭キャラクタの値に応じてさらに変わる。
・先頭キャラクタは、2桁目〜7桁目のパリティの組み合わせから算出される為、
先頭キャラクタはバー(およびスペース)で表現しない。(2桁目以降をバー、スペースで表現する)
2.コード表
|
【パリティの組み合わせ表】
| 1桁目の値 | パターン | | 0 | OOOOOO | | 1 | OOEOEE | | 2 | OOEEOE | | 3 | OOEEEO | | 4 | OEOOEE | | 5 | OEEOOE | | 6 | OEEEOO | | 7 | OEOEOE | | 8 | OEOEEO | | 9 | OEEOEO |
※E:偶数パリティ
O:奇数パリティ
|
【左側 奇数パリティ】
| 値 | パターン | イメージ |
|---|
| 0 | 0001101 | | | 1 | 0011001 | | | 2 | 0010011 | | | 3 | 0111101 | | | 4 | 0100011 | | | 5 | 0110001 | | | 6 | 0101111 | | | 7 | 0111011 | | | 8 | 0110111 | | | 9 | 0001011 | |
|
【左側 偶数パリティ】
| 値 | パターン | イメージ | | 0 | 0100111 | | | 1 | 0110011 | | | 2 | 0011011 | | | 3 | 0100001 | | | 4 | 0011101 | | | 5 | 0111001 | | | 6 | 0000101 | | | 7 | 0010001 | | | 8 | 0001001 | | | 9 | 0010111 | |
|
【右側(及びチェック)キャラクタの構成パターン】
| 値 | パターン | イメージ |
|---|
| 0 | 1110010 | | | 1 | 1101100 | | | 2 | 1101100 | | | 3 | 1000010 | | | 4 | 1011100 | | | 5 | 1001110 | | | 6 | 1010000 | | | 7 | 1000100 | | | 8 | 1001000 | | | 9 | 1110100 | |
|
【その他】
| 値 | パターン | イメージ |
|---|
| ガイドバー | 101 | | | センターバー | 01010 | |
|
3.左側データ部のパリティ組み合わせ方法
・13桁JANでは、先頭の1桁目はバー、スペースで表現せず、2〜7桁目のパリティの組み合わせから算出される。
例えば 491234567890 をJANコード化する場合、先頭が 4 であるので、
コード表の【パリティの組み合わせ表】から 組み合わせパターンが OEOOEE となる。
このパターンに従って2桁目かた7桁目(センターバーより左側の値)の値をバーコード化する。
例)
491234567890 をJANコード化する場合
・1桁目が 4 なので組み合わせパリティは OEOOEE となる。
2桁目 9 は O(奇数パリティ) を使用するので 0001011
3桁目 1 は E(奇数パリティ) を使用するので 0110011
4桁目 2 は O(奇数パリティ) を使用するので 0010011
5桁目 3 は O(奇数パリティ) を使用するので 0111101
6桁目 4 は E(奇数パリティ) を使用するので 0011101
7桁目 5 は E(奇数パリティ) を使用するので 0111001
上記で算出した値を使用して左側6桁分のバーコードを作成する。
4.チェックキャラクタの算出方法
・モジュラス10/ウエイト3を使用して算出する。
例)491234567890 の場合
(1) 右側から奇数桁の各数字を合計して3倍する。
(0+8+6+4+2+9)×3 => 87
(2) 右側から偶数桁の各数字を合計する。
(9+7+5+3+1+4) => 29
(3) 上記(1)と(2)の結果を合計する。
87 + 29 => 116
(4) 10 から 上記(3)の結果の一番右側の値(一の位) を引く。
10 - 6 => 4
上記の(4)の結果 4 がチェックキャラクタとなる。
5.作成例
上記の仕様に沿って 491234567890 というデータをバーコード化すると以下のようになる。
(1) チェックキャラクタを算出し、一番右側に付加する。
(0+8+6+4+2+9)×3 + (9+7+5+3+1+4) => 116
10 - 6 => 4
⇒ 4912345678904
(2) 先頭桁から左側パリティの組み合わせを取得する。
1桁目は 4 なので 左側パリティの組み合わせは OEOOEE となる。
(3) 上記(2)で算出した組み合わせとコード表から左側データを構成する。
2桁目 9 は O(奇数パリティ) を使用するので 0001011
3桁目 1 は E(偶数パリティ) を使用するので 0110011
4桁目 2 は O(奇数パリティ) を使用するので 0010011
5桁目 3 は O(奇数パリティ) を使用するので 0111101
6桁目 4 は E(偶数パリティ) を使用するので 0011101
7桁目 5 は E(偶数パリティ) を使用するので 0111001
(4) 右側データを構成する。
8桁目 6 は 1010000
9桁目 7 は 1000100
10桁目 8 は 1001000
11桁目 9 は 1110100
12桁目 0 は 1110010
13桁目 4 は 1011100
(5) 上記までで算出した値にサイドバー、センターバーを加えて全体を構成する。
|

| ⇒ |

|