用語

専門用語の基礎知識。

JANコードの詳細

バーコード「JAN」の解説です。

例図

JAN-13

JAN-13の例図

読み方

概要

JANはJapanArticleNumberの略称です。一次元バーコードのひとつ。小売業の商品流通コードの統一を目的に1978年にJISX0501に制定されました。現在はISO/IEC15420で規定されています。アメリカの流通コードUPC-A(12桁)を元に規格化され、ヨーロッパの流通コードEAN(13桁)と互換します。通称で「商品コード」や「POSバーコード」などとも呼ばれていますが、バーコードの規格名称は「JAN」です。

特徴

キャラクタ

0~9の数字キャラクタのみを表示可能。

コード分類

JANのコード分類はマルチレベル連続コードです。

マルチレベルとは
マルチレベルとは1つのキャラクタが複数の幅のバーとスペースで構成されていることです。
連続コードとは
連続コードとは複数のキャラクタの間に区切り(キャラクタ間ギャップ)が無くキャラクタ同士が連なっているバーコードシンボルです。
キャラクタの構成

1つのデータキャラクタは7モジュールで構成されています。データキャラクタとはスタートキャラクタ、ストップキャラクタ、センターバーを除いた、数字をあらわすキャラクタです。

モジュールとは
モジュールとは、バーコードを示すための最小構成単位です
全キャラクタのモジュール構成

スタートキャラクタとストップキャラクタは3モジュール(101)。センターバーは5モジュール(01010)です。1つの数字をあらわす1データキャラクタは、2本のバーと2本のスペースで構成されています。黒バー(バー)は1~4本のモジュールで構成され、白バー(スペース)も1~4本のモジュールで構成されています。1キャラクタのモジュール構成は規格によって規定されています。

図:JAN-13の拡大図。モジュールの説明JAN-13のモジュール
表 JANのデータキャラクタにおけるモジュール構成とパリティ

JAN-13 キャラクタ

チェックデジット(チェックキャラクタ)

必要。計算方法はモジュラス10ウェイト3。

桁数(キャラクタ数)
寸法
図:JAN-13の標準寸法

図 JAN-13の標準寸法 1モジュールの標準寸法(幅)は0.33mm。全体の幅は余白を含めるとおよそ3.73cmです。0.8倍~2倍の寸法が認められています。

標準の高さは22.86mmです。、0.8倍~2倍の縮小と拡大ができます。

目視文字

JANの目視文字はOCR-Bフォントが使用されます。目視文字とはバーコードの下に表示されているバーコードのキャラクタを表示した文字です。ヒューマン・リーダブルと呼ばれることもあります。

JANを作成するときの注意

バーコード作成ソフトウェアなどでJANを作成するときは次のことに注意します。

チェックデジットに注意

13桁目はチェックデジットです。チェックデジットは1~12桁目のキャラクタを計算した上で算出される値のため、13桁目に任意の数値を割り振ることはできません。インストアコード(店舗内や社内用など限られたアプリケーションでの使用目的)では1~12桁目が任意の値として使用できます。

1桁目に注意

1桁目を"0"(ゼロ)にすると、バーコードの構成上、バーコードリーダーはJANではなくアメリカの流通コードUPC-A(12桁のバーコード)として識別します。バーコードリーダーにUPC-Aに関する設定が必要な場合があります。

もう少し詳しく

JANの1桁目はバーとスペースで表示されていない

JANのバーとスペースは13桁の数字を表示していません。目視文字の数字での2桁目~13桁目が黒バーと白バーとして表示されており、日本の商品コードでの1桁目"4"は黒バーと白バーに含まれていません。すなわち実際にバーとスペースで表示されたデータキャラクタは1桁目の"4"を除いた12桁です。

プリフィックス・キャラクタ

目視文字の1桁目はプリフィックス・キャラクタと呼び、2桁目から7桁目のキャラクタ(センターバーから左側のデータキャラクタ6桁分)の「パリティ」の組み合わせによって規定されています。バーコードリーダーでJANを読み取って1桁目("4"など)が出力される理由は、バーコードリーダーが読み取り時にパリティの組み合わせを解析してプリフィックス・キャラクタを1桁目に付加して出力しているためです。

資料 プリフィクスキャラクタとパリティの組み合わせ

JAN プリフィックスキャラクタパリティとは"0"と"1"であらわす二進数で、電気通信分野などでエラーチェックなどに使用される技法です。JANのモジュールはパリティ・ビットとしての役割があります。1キャラクタを構成する7モジュールのうちバー(黒)の部分を"1"とし、スペース(白)の部分を"0"とします。

たとえば7モジュールのうち3(奇数)モジュールがバー(黒)となっている場合、そのキャラクタは"奇数パリティ(Odd)"です。4(偶数)モジュールがバーとなっている場合、そのキャラクタは"偶数パリティ(Even)"です。

1桁目のキャラクタを"4"とするためには、スタートキャラクタに続くデータキャラクタからセンターバーの前までの6キャラクタのパリティを「奇数、偶数、奇、奇数、偶数、偶数」としなければなりません。つまり、2桁目のキャラクタは奇数パリティ、3桁目のキャラクタは偶数パリティ、4桁目のキャラクタは奇数パリティ、5桁目のキャラクタは奇数パリティ、6桁目のキャラクタは偶数パリティ、7桁目のキャラクタは偶数パリティとします。バーコードリーダーは2桁目から7桁目が前述のパリティの並び方であることから、1桁目(プリフィックス・キャラクタ)を"4"だと判別しています。JAN-13

1桁目が"0"のJAN-13は「UPC」。バーコードリーダーが13桁ではなく12桁で出力する場合

社内用コードなどで1桁目を"0"としたJANが利用されています。バーコードリーダーによっては13桁ではなく1桁目の"0"を出力せず12桁で出力する場合があり、これがしばしば混乱の元になります。

JAN-13で1桁目(プリフィックス・キャラクタ)を"0"とするためには、スタートキャラクタに続くデータキャラクタからセンターバーの前までの6キャラクタのパリティが全て奇数パリティでなければなりません。これはUPC-Aの偶奇パリティの組み合わせと同一であり、バーコードリーダーはその偶奇パリティからUPC-Aと判別します。バーコードリーダーがUPC-Aを12桁で出力する設定となっている場合は、1桁目が"0"のJANを読み取ると12桁で出力します。逆にバーコードリーダーが1桁目が"0"のJANを読み取るとき、1桁目の"0"もあわせて13桁で出力している場合はUPC-Aの先頭に"0"を付加して13桁で出力するように設定されています。

1桁目が"0"のJAN-13を13桁で出力するには

13桁で出力させる場合は、UPC-Aに関する設定を行います。設定名称は製品により異なりますが、たいていは「UPC-Aの先頭"0"を出力し13桁で出力する」などと記載されています。