[[バーコード]] > JANコード(13桁)
* JANコード(13桁JAN) [#t73b44be]
#setlinebreak(on);
#html(<table><tr><td style="border:1px solid #000000;">)
JANコードには8桁JANと13桁JANの2種類が存在するが、いずれも4種類の太さのバーとスペースで構成される。
1キャラクタは7モジュール(2本のバーと2本のスペース)で構成する。
チェックキャラクタが必要な為、実際には7桁または12桁の数値が表現できる事になる。
※CODE39のようなキャラクタ間ギャップは不要である。
#html(</td></tr></table>)
''1.全体構成''
・左からレフトマージン(11ジュール以上)、レフトガイドバー(3モジュール)、6桁のデータキャラクタ、センターバー(5モジュール)、
5桁のデータキャラクタ、1桁のモジュラーチェックキャラクタ、ライトガイドバー(3モジュール)、ライトマージン(7モジュール以上)で表す。
・ガイドバーは左右ともに「101」(黒白黒)、センターバーは「01010」(白黒白黒白)で表現する。
・1キャラクタ(0〜9)は 7モジュールで表現され、2本のバーと2本のスペースで表示する。
・キャラクタの構成方法はセンターバーの左と右側で異なり、左側の構成パターンは先頭キャラクタの値に応じてさらに変わる。
・先頭キャラクタは、2桁目〜7桁目のパリティの組み合わせから算出される為、
''&color(red){先頭キャラクタはバー(およびスペース)で表現しない};''。(2桁目以降をバー、スペースで表現する)
#html(<table cellspacing="0" cellpadding="0"><tr><td style="padding-left:20px;">)
&ref(formatJan13-1.jpg,nolink);
#html(</td><td>)
&ref(formatJan13-2.jpg,nolink);
#html(</td></tr></table>)
''2.コード表''
#html(<style type="text/css">.tbl1{ margin-left:20px;background:black;} .tbl1 th{ background:#d6d3ce;} .tbl1 td{ background:#f1f1f1;text-align:center;}</style>);
#html(<table border="0" style="margin-left:20px;"><tr><td valign="top" style="text-align:left;">)
【パリティの組み合わせ表】
#html(<table class="tbl1" cellspacing="1" cellpadding="4"> <tr> <th>1桁目の値</th> <th>パターン</th> </tr> <tr> <td>0</td> <td>OOOOOO</td> </tr> <tr> <td>1</td> <td>OOEOEE</td> </tr> <tr> <td>2</td> <td>OOEEOE</td> </tr> <tr> <td>3</td> <td>OOEEEO</td> </tr> <tr> <td>4</td> <td>OEOOEE</td> </tr> <tr> <td>5</td> <td>OEEOOE</td> </tr> <tr> <td>6</td> <td>OEEEOO</td> </tr> <tr> <td>7</td> <td>OEOEOE</td> </tr> <tr> <td>8</td> <td>OEOEEO</td></td> </tr> <tr> <td>9</td> <td>OEEOEO</td></tr></table>);
※E:偶数パリティ
O:奇数パリティ
#html(</td><td valign="top" style="padding-left:40px;">)
【左側 奇数パリティ】
#html(<table class="tbl1" cellspacing="1" cellpadding="4"><tr><th>値</th><th>パターン</th><th>イメージ</th></tr><tr><td>0</td><td>0001101</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>1</td><td>0011001</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>2</td><td>0010011</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>3</td><td>0111101</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>4</td><td>0100011</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>5</td><td>0110001</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>6</td><td>0101111</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>7</td><td>0111011</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>8</td><td>0110111</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>9</td><td>0001011</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr></table>);
#html(</td><td valign="top" style="text-align:left;padding-left:20px;">)
【左側 偶数パリティ】
#html(<table class="tbl1" cellspacing="1" cellpadding="4"> <tr> <th>値</th> <th>パターン</th> <th>イメージ</th> </tr> <tr> <td>0</td> <td>0100111</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>1</td> <td>0110011</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>2</td> <td>0011011</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>3</td> <td>0100001</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>4</td> <td>0011101</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>5</td> <td>0111001</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>6</td> <td>0000101</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>7</td> <td>0010001</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>8</td> <td>0001001</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td> </tr> <tr> <td>9</td> <td>0010111</td> <td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr></table>);
#html(</td><td valign="top" style="text-align:left;padding-left:20px;">)
【右側(及びチェック)キャラクタの構成パターン】
#html(<table class="tbl1" cellspacing="1" cellpadding="4"><tr><th>値</th><th>パターン</th><th>イメージ</th></tr><tr><td>0</td><td>1110010</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>1</td><td>1101100</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>2</td><td>1101100</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>3</td><td>1000010</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>4</td><td>1011100</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>5</td><td>1001110</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>6</td><td>1010000</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>7</td><td>1000100</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>8</td><td>1001000</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr><tr><td>9</td><td>1110100</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr></table>);
#html(</td><td valign="top" style="padding-left:20px;">)
【その他】
#html(<table class="tbl1" cellspacing="1" cellpadding="4"><tr><th>値</th><th>パターン</th><th>イメージ</th></tr><tr><td>ガイドバー</td><td>101</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td></tr></table></td></tr><tr><td>センターバー</td><td>01010</td><td><table cellspacing="0" cellpadding="0"><tr><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td><td style="height:15px;width:4px;background:black;"></td><td style="height:15px;width:4px;background:white;"></td></tr></table></td></tr></table>);
#html(</td></tr></table>)
''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 => ''&color(red){4};''
⇒ 491234567890''&color(red){4};''
(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) 上記までで算出した値にサイドバー、センターバーを加えて全体を構成する。
#html(<table><tr><td style="margin-left:20px;">);
&ref(exampleJan13-1.jpg,nolink);
#html(</td><td style="padding-left:20px;padding-right:20px;">⇒</td><td>);
&ref(exampleJan13-2.jpg,nolink);
#html(</td></tr></table>);