サイトトップへこのカテゴリの一覧へ

X 0509:2012 (ISO/IEC 24724:2011) 

(1) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

目 次 

ページ 

序文 ··································································································································· 1 

1 適用範囲························································································································· 2 

2 引用規格························································································································· 2 

3 用語,定義,略語及び数学演算子 ························································································ 3 

3.1 用語及び定義 ················································································································ 3 

3.2 略語 ···························································································································· 4 

3.3 数学演算子及び表記方法 ································································································· 4 

4 シンボルの説明 ················································································································ 4 

4.1 GS1データバーシンボルの種類 ························································································ 4 

4.2 シンボル体系の特性 ······································································································· 4 

4.3 その他の特徴の要約 ······································································································· 5 

4.4 シンボルの構造 ············································································································· 5 

5 GS1データバー標準型,GS1データバー切詰型,GS1データバー二層型及びGS1データバー標準二層

型のシンボル要件 ················································································································· 6 

5.1 GS1データバー標準型の基本特性 ····················································································· 6 

5.2 GS1データバー標準型のシンボル構造 ··············································································· 6 

5.3 特定アプリケーション向けのGS1データバー標準型からの派生型 ·········································· 15 

6 GS1データバー限定型のシンボル要件················································································· 17 

6.1 基本特性 ····················································································································· 17 

6.2 シンボルの構造 ············································································································ 18 

7 GS1データバー拡張型のシンボル要件················································································· 24 

7.1 GS1データバー拡張型の基本特性 ···················································································· 24 

7.2 シンボルの構造 ············································································································ 24 

8 シンボル品質 ·················································································································· 43 

8.1 一次元シンボル体系のパラメタ ······················································································· 43 

8.2 その他の合格基準及び不合格基準····················································································· 43 

8.3 多層形シンボル ············································································································ 44 

9 送信データ ····················································································································· 44 

10 目視可能文字情報 ·········································································································· 45 

11 モジュールの最小幅及び最大幅(X) ················································································ 45 

12 アプリケーション定義パラメタ ························································································ 45 

附属書A(規定)チェックディジットの計算 ············································································ 46 

附属書B(規定)C言語によるエレメント幅の符号器及び復号器 ·················································· 47 

附属書C(規定)GS1データバー限定型のチェックキャラクタエレメント幅 ·································· 52 

X 0509:2012 (ISO/IEC 24724:2011) 目次 

(2) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ページ 

附属書D(規定)GS1-128エミュレーションモードでの長いGS1データバー拡張型又は GS1データバー

拡張多層型シンボルの分割 ······················································································· 55 

附属書E(参考)シンボルエレメント······················································································ 57 

附属書F(参考)符号化例 ····································································································· 61 

附属書G(参考)C言語によるエレメント幅復号器 ··································································· 66 

附属書H(参考)読誤りを少なくするために ············································································ 69 

附属書I(参考)印刷上の考慮点 ···························································································· 75 

附属書J(参考)GS1データバーシンボル体系−特性の要約 ························································ 78 

X 0509:2012 (ISO/IEC 24724:2011) 

(3) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

まえがき 

この規格は,工業標準化法第12条第1項の規定に基づき,一般社団法人日本自動認識システム協会

(JAISA)及び財団法人日本規格協会(JSA)から,工業標準原案を具して日本工業規格を制定すべきとの

申出があり,日本工業標準調査会の審議を経て,経済産業大臣が制定した日本工業規格である。 

この規格は,著作権法で保護対象となっている著作物である。 

この規格の一部が,特許権,出願公開後の特許出願又は実用新案権に抵触する可能性があることに注意

を喚起する。経済産業大臣及び日本工業標準調査会は,特許権,出願公開後の特許出願及び実用新案権に

関わる確認について,責任はもたない。 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

日本工業規格 

      JIS 

X 0509:2012 

(ISO/IEC 24724:2011) 

情報技術−自動認識及びデータ取得技術− 

バーコードシンボル体系仕様−GS1データバー 

Information technology-Automatic identification and data capture 

techniques-bar code symbology specification-GS1 DataBar 

序文 

この規格は,2011年に第1回改訂版として発行されたISO/IEC 24724を基に,技術的内容及び対応国際

規格の構成を変更することなく作成した日本工業規格である。 

なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。 

GS1データバーは,以前は,“Reduced Space Symbology (RSS)”として知られていたが,GS1という組織

によって“GS1データバー”に改名された。 

GS1データバーファミリには,GS1システムで用いる三つのタイプの一次元シンボルがある。タイプ1

には,GS1データバー標準型,GS1データバー切詰型,GS1データバー二層型及びGS1データバー標準二

層型の4種類のシンボルがある。二層型とは,二つの段に積み重ねたシンボルである。タイプ2は,GS1

データバー限定型の1種類だけである。タイプ3には,GS1データバー拡張型及びGS1データバー拡張多

層型の2種類がある。GS1データバーの利用は,GS1総合仕様書で規定されている“GS1アプリケーショ

ンガイドライン”に従うことが前提である。 

GS1データバー標準型及びGS1データバー標準二層型は,14桁のGS1商品識別コード(GTINと呼ばれ

る。)を符号化する。この一次元シンボルは,適切にプログラムされたPOS用バーコードリーダで多方向

スキャンができる。GS1データバー切詰型及びGS1データバー二層型も14桁のGS1商品識別コードを符

号化するが,多方向スキャナでの読取りには適していない一次元シンボルである。GS1データバー制限型

は,主に小形商品に用いるシンボルであり,先頭桁を“0”又は“1”に制限した14桁のGS1商品識別コ

ードを符号化する。この一次元シンボルも多方向スキャナでの読取りには適していない。GS1データバー

拡張型は,GS1商品識別コードだけでなく,重さ,消費期限などの補助的なアプリケーション識別子(AI)

も符号化できる。この一次元シンボルは,適切にプログラムされたPOS用バーコードリーダで多方向スキ

ャンができる。 

GS1データバーファミリは,どれでも,単独の一次元シンボルとして,又はGS1合成シンボルの一次元

シンボル部分として印刷することができる。 

GS1データバーシンボルは,識別番号及び識別のための補助的なデータの符号化を意図している。GS1

による付番システムの管理によって,特定商品に割り当てられた商品識別コードが世界中で唯一であり,

それに関連する補助的なデータが,一定の規則として定められていることが保証される。GS1システムの

利用者が得る主な利点は,唯一に定められた商品識別コード及び補助的なデータフォーマットを取引業務

に利用できることである。 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

適用範囲 

この規格は,GS1データバーシンボル体系ファミリの要件を規定する。ここでは,GS1データバーシン

ボル体系ファミリの特性,シンボルキャラクタの符号化,シンボル形式,寸法,印刷品質要件,誤り検出,

及び参照復号アルゴリズムについて規定する。 

GS1合成シンボルのために,ISO/IEC 24723では二次元コンポーネントを定義している。 

注記 この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。 

ISO/IEC 24724:2011,Information technology−Automatic identification and data capture techniques 

−GS1 DataBar bar code symbology specification(IDT) 

なお,対応の程度を表す記号(IDT)は,ISO/IEC Guide 21-1に基づき,一致していること

を示す。 

引用規格 

次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの

引用規格は,その最新版(追補を含む。)を適用する。 

JIS X 0201 7ビット及び8ビットの情報交換用符号化文字集合 

注記 対応国際規格:ISO/IEC 646,Information technology−ISO 7-bit coded character set for 

information interchange(MOD) 

JIS X 0500-1 自動認識及びデータ取得技術−用語−第1部:一般 

注記 対応国際規格:ISO/IEC 19762-1,Information technology−Automatic identification and data 

capture (AIDC) techniques−Harmonized vocabulary−Part 1: General terms relating to AIDC(IDT) 

JIS X 0500-2 自動認識及びデータ取得技術−用語−第2部:光学的読取媒体 

注記 対応国際規格:ISO/IEC 19762-2,Information technology−Automatic identification and data 

capture (AIDC) techniques−Harmonized vocabulary−Part 2: Optically readable media (ORM)

(IDT) 

JIS X 0504 バーコードシンボル−コード128−基本仕様 

注記 対応国際規格:ISO/IEC 15417,Information technology−Automatic identification and data capture 

techniques−Bar code symbology specification−Code 128(IDT) 

JIS X 0507 バーコードシンボル−EAN/UPC−基本仕様 

注記 対応国際規格:ISO/IEC 15420,Information technology−Automatic identification and data capture 

techniques−Bar code symbology specification−EAN/UPC(IDT) 

JIS X 0520 バーコードシンボル印刷品質の評価仕様−1次元シンボル 

注記 対応国際規格:ISO/IEC 15416,Information technology−Automatic identification and data capture 

techniques−Bar code print quality test specification−Linear symbols(IDT) 

JIS X 0531 情報技術−EAN/UCCアプリケーション識別子とFACTデータ識別子,及びその管理 

注記 対応国際規格:ISO/IEC 15418,Information technology−EAN/UCC Application Identifiers and 

Fact Data Identifiers and Maintenance(IDT) 

JIS X 9001 光学式文字認識のための字形(英数字) 

ISO 4217,Codes for the representation of currencies and funds 

ISO/IEC 24723,Information technology−Automatic identification and data capture techniques−GS1 

Composite bar code symbology specification 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

用語,定義,略語及び数学演算子 

3.1 

用語及び定義 

この規格で用いる主な用語及び定義は,JIS X 0500-1,JIS X 0500-2によるほか,次による。ただし,3.1

の用語が,JIS X 0500-1, JIS X 0500-2でも定義されている場合は,3.1の定義を適用する。 

3.1.1 

二次元コンポーネント(2D component) 

ロット番号,有効期限といった,商品の補足情報を符号化した,GS1合成シンボルの二次元部分。 

3.1.2 

AIエレメント列(AI element string) 

アプリケーション識別子及びその後に関連データ領域が続いたキャラクタ列。 

3.1.3 

符号化方式(encodation methods) 

共通に用いるAIエレメント列を,このシンボル体系用の一般的なデータ圧縮方式を用いた場合よりも

短いバイナリ列に符号化する,GS1データバー拡張型及び二次元コンポーネントが用いる圧縮方式。 

3.1.4 

インジケータディジット(Indicator digit) 

複数の包装レベルの区別又は質量が変動する商品を示すために用いる,GTIN-14商品識別番号の先頭の

桁。 

注記 質量が変動する商品を,一般に“不定貫商品”という。 

3.1.5 

一次元コンポーネント(linear component) 

商品識別番号を符号化した,GS1合成シンボルの一次元部分。 

3.1.6 

連結フラグ(linkage flag) 

一次元コンポーネントに二次元コンポーネントが附属するのかどうかを示す,GS1データバー又は

GS1-128の一次元コンポーネントの中に符号化するインジケータ。 

3.1.7 

セグメント(segment) 

GS1データバーにおいて,シンボルキャラクタ及びそれに隣接する位置検出パターンで構成する,バー

コードシンボルの復号可能な最小部分。 

3.1.8 

GS1-128(GS1-128) 

JIS X 0504で規定するコード128のサブセット。 

注記 GS1総合仕様書[参考文献(4)参照]で規定している。 

3.1.9 

ボーティング(voting) 

復号したセグメント値を,復号した回数とともに保存する復号技法。 

注記 ボーティングは,多方向スキャナで,GS1データバーをセグメント単位で復号するときに用い

る。 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

3.2 

略語 

AI(Application Identifier) JIS X 0531(ISO/IEC 15418)で規定するアプリケーション識別子 

3.3 

数学演算子及び表記方法 

この規格には,次の数学演算子を適用する。 

div 

整数の除算であり,余りは切り捨てる。 

mod 

除算後の整数剰余 

次のJIS表記方法を用いる。 

0.2 

数字の間にあるピリオドは,小数点を表す(例えば,0.2=2/10)。 

12 345 桁数が多い数値を表すには,3桁ごとの群に分け,群間に半角スペースを入れる。 

シンボルの説明 

4.1 

GS1データバーシンボルの種類 

GS1データバーシンボル体系は,次の三つのタイプがある。 

タイプ1のGS1データバーシンボルは,四つの種類がある。 

GS1データバー標準型 

GS1データバー切詰型 

GS1データバー二層型 

GS1データバー標準二層型 

タイプ2のGS1データバーシンボルは,1種類である。 

GS1データバー限定型 

タイプ3のGS1データバーシンボルは,2種類がある。 

GS1データバー拡張型 

GS1データバー拡張多層型 

タイプ1のシンボルは,どのシンボルも四つのシンボルキャラクタを含み,同一の符号化規則及び構造

をもっている。 

タイプ2のシンボルは,タイプ1とは構造が異なり,二つのシンボルキャラクタを含む。用いている符

号化規則もタイプ1とは異なる。 

タイプ3は,タイプ1及びタイプ2とは異なるシンボル体系構造及び符号化規則であり,可変長シンボ

ルキャラクタを表現できる。 

GS1データバー標準型,GS1データバー標準二層型,GS1データバー拡張型及びGS1データバー拡張多

層型は,多方向スキャナがセグメント単位で読みやすいように設計している。 

注記 附属書Jに,GS1データバーシンボル体系の特性を要約して示す。 

4.2 

シンボル体系の特性 

GS1データバーシンボル体系の特性を,次のa)〜g)に示す。 

a) 符号化可能なキャラクタセット 

1) タイプ1及びタイプ2: 0〜9 

2) タイプ3: JIS X 0201のサブセット(英大文字,英小文字,数字及び20個の選択された記号から

なる。)及び特殊な機能キャラクタであるFNC1 

b) シンボルキャラクタの構造: シンボル体系のタイプごとに,異なる(n,k)シンボルキャラクタを用い

る。ここに,nが各シンボルキャラクタの幅をモジュール数で表したものであり,そのシンボルキャ

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ラクタは,k個のバー及びk個のスペースで構成する。 

c) コードタイプ: 連続形,一次元シンボル体系 

d) 最大数値データ容量(必要に応じて,暗黙のアプリケーション識別子を含むが,符号化したFNC1キ

ャラクタは含めない。) 

1) タイプ1及びタイプ2: アプリケーション識別子“01”+14桁の商品識別番号 

注記 14桁の商品識別番号の先頭桁は,連結フラグであり“0”又は“1”である。 

2) タイプ3: 74個の数字キャラクタ又は41個の英字キャラクタ(次の注記参照) 

注記 タイプ3のデータ容量は,符号化方式によって異なる。(01)+その他のAIでは最大74桁,

任意のAIでは最大70桁,(01)+(392x)+AIでは最大77桁である。 

e) 誤り検出 

1) タイプ1: mod 79チェックサム 

2) タイプ2: mod 89チェックサム 

3) タイプ3: mod 211チェックサム 

f) 

キャラクタセルフチェック: 可能 

g) 双方向復号: 可能 

4.3 

その他の特徴の要約 

GS1データバーシンボル体系特有の付加機能を要約して次に示す。 

a) データ圧縮: タイプ3では,アプリケーション識別子の特定の組合せで,一般に用いられる(複数

の)ものに対して最適化している。 

b) コンポーネント連結: 全てのGS1データバーシンボルは,連結フラグを含む。連結フラグが“0”

のGS1データバーシンボルを単独シンボルとする。連結フラグが“1”の場合,二次元コンポーネン

トが,GS1データバーファミリの一次元コンポーネント及び分離パターンと連結している。 

c) GS1-128エミュレーション: GS1-128エミュレーションモードに設定したリーダは,GS1データバ

ーシンボルファミリに符号化したデータを,一つ以上のGS1-128シンボルに符号化したものとして送

信する。 

4.4 

シンボルの構造 

各GS1データバーシンボルは,外側のガードパターン,シンボルキャラクタ及び位置検出パターンを含

む。どのシンボルも,誤り検出方法を備えている。 

GS1データバーシンボル(タイプ1及びタイプ3)のガードパターンは,各1モジュールのバー及びス

ペース(又は,スペース及びバー)の二つのエレメントで構成し,シンボルの両端に置く。GS1データバ

ー二層型及びGS1データバー拡張多層型のシンボルは,シンボルの各段の両端にガードパターンをもつ。

GS1データバー限定型のシンボルは,読誤りを防ぐためにデザインされた,異なったガードパターンをも

つ。外側のガードパターンエレメントの印刷に関する注意点を,附属書I.1に示す。 

どのシンボルにも,(n,k)構造をもつ二つ以上のシンボルキャラクタがある。これらのシンボルキャラク

タ値を結合計算すると,明示的に符号化したデータが得られる。 

位置検出パターンは,復号器が識別できるように選択された一連のエレメント列であり,これによって

シンボルを認識し,エレメントの相対位置を決定することができる。各シンボルは,一つ以上の位置検出

パターンを含む。位置検出パターンは,また,チェックキャラクタ及び/又はセグメント識別子としても

機能する。 

background image

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

全てのGS1データバーシンボルは,連結フラグを含む。連結フラグが“1”のときは,ISO/IEC 24723

に従って,GS1データバー一次元コンポーネントの上に,分離パターン及び二次元コンポーネントを置か

なければならない。通常,GS1データバー一次元コンポーネント,それに続く分離パターン,及び二次元

コンポーネントは同時に印刷して,一つのGS1合成シンボルになる。ただし,その後の工程で二次元コン

ポーネントが追加されることを見越して,連結フラグを“1”にしたGS1データバー一次元コンポーネン

トを前もって印刷することも可能とする。このような場合,分離パターンはISO/IEC 24723に従って,GS1

データバー一次元コンポーネントと一緒に印刷しなければならない。 

GS1データバーシンボルのバー及びスペースを反転してはならない。バーを“暗”とし,スペースを“明”

とする。リーダは,明暗が反転したGS1データバーシンボルを読み誤るので,バー及びスペースが反転し

ているシンボルの復号を試みてはならない。 

GS1データバー標準型,GS1データバー切詰型,GS1データバー二層型及びGS1データバー標準二

層型のシンボル要件 

5.1 

GS1データバー標準型の基本特性 

GS1データバー標準型は,20 000 000 000 000(2 × 1013)個の値を符号化することができる一次元シンボ

ル体系である。これらの値は,14桁で表現される。最初の桁を連結フラグとする。それに続く13桁をデ

ータキャラクタとする。13桁のデータキャラクタに,1桁の暗黙のチェックディジットを加えると,先頭

にインジケータディジットを含むGS1の14桁の商品識別番号になる。10 000 000 000 000以上の値は,連

結フラグが“1”であり,二次元コンポーネントが付いていることを示す。例えば,10 001 234 567 890と

いう値は,連結フラグを“1”にして00012345678905という商品番号を符号化したものである。 

注記 商品番号は,チェックディジット(最後の“5”)を除いて符号化する。 

GS1データバー標準型は,四つのセグメントに分割して走査し,復号後,再構築することができる。し

たがって,多方向走査が容易となる。図1に,単独のGS1データバー標準型シンボル(連結フラグ=0)

を示す。 

図1−(01)20012345678909を表すGS1データバー標準型シンボル 

注記 先頭の(01)は,暗黙のアプリケーション識別子であり,シンボルには符号化しない。最後の桁

の9は,シンボルに直接符号化せず,mod 10チェックディジットである。附属書Aに,チェッ

クディジットの計算法を示す。附属書Fに,GS1データバー標準型シンボルの一連の符号化手

順例を示す。 

5.2 

GS1データバー標準型のシンボル構造 

図2に示すように,GS1データバー標準型シンボルは,96モジュールからなる八つの領域(左から右に)

で構成している。 

a) 1モジュールのスペース及び1モジュールのバーからなる左側のガードパターン 

background image

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

b) 16モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ1,(n,k)=(16,4) 

c) 15モジュール(三つのスペース及び二つのバー)からなる左側の位置検出パターン 

d) 15モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ2,(n,k)=(15,4)(右か

ら左に) 

e) 15モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ4,(n,k)=(15,4) 

f) 

15モジュール(三つのバー及び二つのスペース)からなる右側の位置検出パターン(右から左に) 

g) 16モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ3,(n,k)=(16,4)(右か

ら左に) 

h) 1モジュールのスペース及び1モジュールのバーからなる右側のガードパターン 

注記 シンボルキャラクタエレメントには,隣接する位置検出パターンに向かって順番を付けてい

る。 

図2−(01)04412345678909を表すGS1データバー標準型シンボル 

シンボル全体は,96モジュールからなる46個のエレメント(バー及びスペース)を含む。附属書Eの

表E.1に,GS1データバー標準型シンボルの46個のエレメント全てを示す。多方向走査用のGS1データ

バー標準型シンボルは,33X(33モジュール)以上の高さでなければならない。 

クワイエットゾーンは必要ない。隣接する背景領域が同じ“色”(左側が明又は右側が暗)であると,最

初のエレメント及び最後のエレメントが1モジュール幅よりも広く見えることがあるが,シンボルの構成

には影響しない。 

5.2.1 

シンボルキャラクタ構造 

四つのシンボルキャラクタは,それぞれが(n,k)構造をもつ。外側の第1シンボルキャラクタ及び第3シ

ンボルキャラクタではnの値を16とし,内側の第2シンボルキャラクタ及び第4シンボルキャラクタでは

nの値を15とする。いずれの場合もkの値を4とする。 

図2の矢印は,各キャラクタ内のエレメント番号の順序を示している。第1シンボルキャラクタ及び第

4シンボルキャラクタのエレメントは,左から右に番号を付け,第2シンボルキャラクタ及び第3シンボ

ルキャラクタのエレメントは,右から左に番号を付ける。つまり,シンボルキャラクタエレメントは,常

に隣接する位置検出パターンに向かって番号を付ける。 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

各シンボルキャラクタは,奇数番目のエレメント及び偶数番目のエレメントという二つのサブセットを

含む。奇数及び偶数とは,各サブセットにおけるエレメントの順番を指している。例えば,奇数番目のサ

ブセットは,各シンボルキャラクタ内で隣接する位置検出パターンから最も遠いエレメントから1番目,3

番目,5番目及び7番目のエレメントで構成している。第1シンボルキャラクタ及び第2シンボルキャラ

クタでは,奇数番目のエレメントをスペースとし,偶数番目のエレメントをバーとする。第3シンボルキ

ャラクタ及び第4シンボルキャラクタでは,奇数番目のエレメントをバーとし,偶数番目のエレメントを

スペースとする。 

5.2.2 

シンボルキャラクタ値 

各シンボルキャラクタ値には,アルゴリズムによって奇数サブセット及び偶数サブセットにエレメント

幅のパターンを割り当てる。このアルゴリズムを用いるときに,パラメタとして“エレメント数”,“モジ

ュール数”,“最大エレメント幅”及び“このサブセットの全てのエレメントを,2モジュール以上にする

かどうか”を与える。附属書Bに,C言語で作成したGS1データバー標準型,GS1データバー切詰型,

GS1データバー二層型及びGS1データバー標準二層型のシンボルキャラクタエレメント生成アルゴリズム

を示す。 

5.2.2.1 

外側シンボルキャラクタの値 

外側にある第1シンボルキャラクタ及び第3シンボルキャラクタの偶数番目エレメントのサブセットに

は,1モジュール幅のエレメントを,少なくとも一つ含んでいなければならない。奇数番目エレメントの

サブセットには,1モジュール幅のエレメントを含んでいなくてもよい。この偶数番目エレメントへの制

限によって,シンボルキャラクタの“エッジ〜類似エッジまで”(バー+スペース及びスペース+バー)の

モジュール数の合計が一意になることが保証される(5.2.5参照)。 

表1に,奇数成分サブセット及び偶数成分サブセットの組合せを五つのグループに分けた,(16,4)キャラ

クタの特性を示す。両方のサブセットを,それぞれ偶数個のモジュールとする。隣接するエレメントの1

対に含むモジュールの総数が9を超えないように,最も広い奇数成分エレメント幅及び偶数成分エレメン

ト幅を指定する。その結果,(16,4)キャラクタの組合せ総数は,2 841となる。 

(16,4)シンボルキャラクタ値VDは,次の式によって定まる。 

SUM

EVEN

EVEN

ODD

D

)

T  

(V

V

+

+

×

=

ここに, 

VODD: 各グループ内の奇数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TODD−1)の値 

VEVEN: 各グループ内の偶数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TEVEN−1)の値 

GSUM: 前のグループまでの組合せ総数(表1参照) 

したがって,シンボルキャラクタ値(VD)を符号化するには,次の式を用いることができる。 

EVEN

SUM

D

ODD

div

 )

G  

(V

  

V

=

EVEN

SUM

D

EVEN

mod

 )

(V

V

=

例えば,2 315という値の(16,4)シンボルキャラクタを符号化する場合,表1から,このシンボルキャラ

クタ値はグループ4の範囲に入っているため,GSUM=2 015及びTEVEN=70となる。上の計算式を用いると,

次のようになる。 

VODD=(2 315−2 015) div 70=300 div 70=4 

VEVEN=(2 315−2 015) mod 70=300 mod 70=20 

すなわち,このシンボルキャラクタは,6モジュールからなる奇数成分(組合せ数10,値の範囲は0〜9)

の値が4であり,10モジュールからなる偶数成分(組合せ数70,値の範囲は0〜69)の値が20である。 

background image

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書Bのルーチンを用いると,奇数エレメントの幅は{1 2 2 1},偶数エレメントの幅は{1 5 1 3}であ

るため,位置検出パターンに向かって順番に{1 1 2 5 2 1 1 3}というシンボルキャラクタエレメント幅が得

られる(図2参照)。 

表1−外側シンボルキャラクタ(16,4)の特性 

キャラクタ

値の範囲 

グループ 

前のグループ
までの組合せ

総数,GSUM 

奇数成分及び
偶数成分のモ

ジュール数 

奇数成分及び偶
数成分のエレメ

ント最大幅 

奇数成分組合
せ総数,TODD 

偶数成分組合

せ総数,TEVEN 

0〜  160 

12/4 

8/1 

161 

161〜  960 

161 

10/6 

6/3 

80 

10 

961〜2 014 

961 

8/8 

4/5 

31 

34 

2 015〜2 714 

2 015 

6/10 

3/6 

10 

70 

2 715〜2 840 

2 715 

4/12 

1/8 

126 

5.2.2.2 

内側シンボルキャラクタの値 

内側にある第2シンボルキャラクタ及び第4シンボルキャラクタの奇数番目エレメントのサブセットに

は,1モジュール幅のエレメントを,少なくとも一つ含んでいなければならない。偶数番目エレメントの

サブセットには,1モジュール幅のエレメントを含んでいなくてもよい。この奇数番目エレメントへの制

限によって,シンボルキャラクタの“エッジ〜類似エッジまで”(バー+スペース及びスペース+バー)の

モジュール数の合計の列が一意になることが保証される(5.2.5参照)。 

表2に,奇数成分サブセット及び偶数成分サブセットの組合せを四つのグループに分けた,(15,4)キャラ

クタの特性を示す。奇数成分サブセットは奇数個及び偶数成分サブセットは偶数個のモジュールとする。

隣接するエレメントの1対に含むモジュールの総数が9を超えないように,最も広い奇数成分エレメント

幅及び偶数成分エレメント幅を指定する。その結果,(15,4)キャラクタの組合せ総数は,1 597となる。奇

数サブセットが許容する値の範囲は,最も内側のエレメント(奇数エレメント番号1)が4モジュールを

超えないように制限している。 

表2−内側シンボルキャラクタ(15,4)の特性 

キャラクタ値

の範囲 

グループ 

前のグルー
プまでの組
合せ総数,

GSUM 

奇数成分及
び偶数成分
のモジュー

ル数 

奇数成分及
び偶数成分
のエレメン

ト最大幅 

奇数成分組
合せ総数,

TODD 

偶数成分組
合せ総数,

TEVEN 

0〜  335 

5/10 

2/7 

84 

336〜1 035 

336 

7/8 

4/5 

20 

35 

1 036〜1 515 

1 036 

9/6 

6/3 

48 

10 

1 516〜1 596 

1 516 

11/4 

8/1 

81 

(15,4)シンボルキャラクタ値VDは,次の式によって定まる。 

SUM

ODD

ODD

EVEN

D

)

T  

(V

  

V

+

+

×

=

ここに, 

VEVEN: 各グループ内の偶数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TEVEN−1)の値 

VODD: 各グループ内の奇数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TODD−1)の値 

GSUM: 前のグループまでの組合せ総数(表2参照) 

background image

10 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

したがって,シンボルキャラクタ値(VD)を符号化するには,次の式を用いることができる。 

ODD

SUM

D

EVEN

div

 )

G  

(V

  

V

=

ODD

SUM

D

ODD

mod

 )

(V

  

V

=

注記 外側の(16,4)シンボルキャラクタと比較すると,この計算式では偶数番目エレメントのサブセッ

トと奇数番目エレメントのサブセットとが逆になっているので注意が必要である。 

5.2.3 

シンボル値 

シンボル全体の値は,左側のシンボルキャラクタ対と右側のシンボルキャラクタ対との値を組み合わせ

て得ることができる。各シンボルキャラクタ対の値は,外側及び内側のシンボルキャラクタの値を組み合

わせて得ることができる。シンボルキャラクタ対及びその値の範囲を表3に示す。 

表3−シンボルキャラクタ対の値 

外側シンボルキャラクタ 

内側シンボルキャラクタ 

シンボルキャラクタ対 

(n,k) 

値(VOUTSIDE) 

(n,k) 

値(VINSIDE) 

値の数 

値の範囲 

(16,4) 

2 841 

(15,4) 

1 597 

4 537 077 

0〜4 537 076 

シンボルキャラクタ対の値VPAIRは,次の式によって求める。 

INSIDE

OUTSIDE

PAIR

C  

597

 (1

  

V

+

)

×

=

ここに,COUTSIDE及びCINSIDEをシンボルキャラクタ値とする。 

シンボルキャラクタ対の値VPAIRを,外側のシンボルキャラクタCOUTSIDE及び内側のシンボルキャラクタ

CINSIDEに符号化するには,次の式を用いる。 

INSIDE

PAIR

OUTSIDE

div

V  

C

=

INSIDE

PAIR

INSIDE

mod

V  

C

=

例えば,シンボルキャラクタ対の値VPAIRが1 971 265のとき,COUTSIDE及びCINSIDEは次のようになる。 

234

 1  

597

 1 

div

265

971

 1  

COUTSIDE

=

=

567

  

597

 1 

mod

265

971

 1  

CINSIDE

=

=

シンボル値は,左側及び右側のシンボルキャラクタ対の値を組み合わせて,次の式によって求める。 

RPAIR

LPAIR

SYMBOL

V  

077

537

(4

V

+

)

×

=

ここに,VSYMBOLをシンボル値とし,VLPAIR及びVRPAIRを,それぞれ左側及び右側のシンボルキャラクタ

対の値とする。 

シンボル値VSYMBOLを,左側のシンボルキャラクタ対VLPAIR及び右側のシンボルキャラクタ対VRPAIRに

符号化するには,次の式を用いる。 

077

537

 4 

div

V  

V

SYMBOL

LPAIR=

077

537

 4 

mod

V  

V

SYMBOL

RPAIR=

例えば,シンボルVSYMBOLが1 234 567 890のとき,左側のシンボルキャラクタ対VLPAIRの値及び右側の

シンボルキャラクタ対VRPAIRの値は次のようになる。 

272

  

077

537

 4 

div

890

567

234

 1 

VLPAIR

=

=

946

482

  

077

537

 4 

mod

890

567

234

 1  

VRPAIR

=

=

シンボルキャラクタ対を組み合わせると20 585 067 703 929通りの値が作られるが,最初の20 000 000 

000 000の値(0〜19 999 999 999 999)だけ用いる。最上位の桁を二次元コンポーネントの連結フラグとす

る。連結フラグは,GS1データバーのタイプ1シンボルが単独の場合は“0”,GS1データバーのタイプ1

background image

11 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

シンボルに二次元コンポーネントが隣接している場合は“1”である。この連結フラグを除いた残りの13

桁が商品識別番号になる。暗黙のmod 10チェックディジットを計算して末尾に追加したものが,GTIN-14

の識別番号になる。送信すべきデータの先頭に,必須のシンボル体系識別子である“]e0”又は“]C1”を

追加し,続いてアプリケーション識別子“01”を追加して送信する。 

5.2.4 

位置検出パターン 

シンボルには位置検出パターンが二つあり,その位置検出パターンにシンボルのチェックサムも符号化

している。位置検出パターンは,それぞれ九つの値を符号化することができる。位置検出パターンは,第

1シンボルキャラクタと第2シンボルキャラクタとの間,及び第4シンボルキャラクタと第3シンボルキ

ャラクタとの間に置かれる。一つの位置検出パターンには,二つのシンボルキャラクタが隣接しているた

め,シンボルを四つのセグメントに分けて走査することが可能である。各セグメントには,一つのシンボ

ルキャラクタ及び一つの位置検出パターンを含む。 

5.2.4.1 

位置検出パターンの構造 

二つの位置検出パターンは,合計15モジュールからなる五つのエレメントで構成している。左側位置検

出パターンの始めと終わりとを共にスペースとし,右側位置検出パターンの始めと終わりとを共にバーと

する。位置検出パターンのエレメントは,図2に示すように,シンボルの外側から内側に向かって番号が

付けられる。 

エレメント2+エレメント3のモジュール総数が10〜12に対して,エレメント4+エレメント5のモジ

ュール総数が2のため,エレメント2及びエレメント3の合計幅とエレメント2〜エレメント5の合計幅

との比率は,10 : 12〜12 : 14の範囲内にある。この比率は,位置検出パターンを認識するための第1手順

として用いる。九つの符号化された値に対する位置検出パターンのエレメント幅を,表4に示す。 

表4−位置検出パターンの値及びエレメント幅 

位置検出パターン値 

エレメント幅(外側から内側に向かった番号) 

位置検出パターン値の8,0及び0,8という組は用いない。これは,0及び8のエレメントの中で,単

一の1Xエッジ誤りが発生すると,他方の値に変換される可能性があるためである。残りの79組で,チェ

ックサムのmod 79を計算した値を符号化する。 

5.2.4.2 

チェックサムの計算 

二つの位置検出パターン値であるCLEFT及びCRIGHTは,それぞれ九つの値をとることができる。0,8及

び8,0という位置検出パターン値の組は有効ではないため,(9×9)の合計から2を減じた79通りの組合

せが残る。チェックサム値は,各シンボルキャラクタのエレメント幅に重み係数を乗じた結果の総和を

mod 79した値と等しい。 

background image

12 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

mod 79チェックサム値は,次の式によって求める。 

79

mod

 )

E

 W

E

 W

E

 W

E

 W

E

(W

4,8

4,8

2,1

2,1

1,8

1,8

1,2

1,2

1,1

1,1

+

+

+

+

+

+

ここに,WN,MEN,Mは,“シンボルキャラクタNのエレメント順序位置Mに対する重み係数W(表5参照)”

と“シンボルキャラクタNのエレメント順序位置Mのモジュール幅E”とを乗じた値とする。3の累乗を

mod 79で計算した値を,この重み係数とする。 

注記 重み係数は,30を初期値とする3n(n=0〜31)を求め,それぞれの値をmod 79で計算した値

である。 

表5−チェックサムを計算するためのエレメントの重み係数(W) 

シンボルキャラクタ

(N) 

シンボルキャラクタのエレメント順序(M) 

27 

18 

54 

12 

36 

29 

24 

72 

58 

16 

48 

65 

37 

32 

17 

51 

74 

64 

34 

23 

69 

49 

68 

46 

59 

二つの位置検出パターン値を符号化するには,次の手順を用いる。 

temp = check value 

もし,tempが8以上のとき,temp = temp + 1 

もし,tempが72以上のとき,temp = temp + 1 

CLEFT = temp div 9 

CRIGHT = temp mod 9 

チェックサムの計算及びチェックキャラクタの選択例を,附属書F.1に示す。 

5.2.4.3 

位置検出パターンの復号 

位置検出パターンは,最初に,連続する四つのエレメントの合計幅を,その中の左端又は右端にある二

つのエレメントの幅と比較することによって識別する。位置検出パターンの場合,この比率は12 : 9.5〜14 : 

12.5の範囲内にある。左側及び右側の位置検出パターンは,それらの暗と明とが反転していることによっ

て区別する。 

注記 左側の位置検出パターンは,エレメント1が明,右側の位置検出パターンは,エレメント1が

暗である。 

位置検出パターン及び位置検出パターンに対するシンボルキャラクタのピッチの比率が有効であるかど

うかを検査することによって,GS1データバーのタイプ1では,4分の1に当たるセグメントが走査され

たことを検証することが望ましい。 

5.2.5 

参照復号アルゴリズム 

バーコード読取システムは,実用的なアルゴリズムが許容する範囲内で,不完全なシンボルでも読める

ように設計している。ここ(5.2.5)では,JIS X 0520で規定する,シンボル品質を評価するための復号容

易度の計算に用いる,参照復号アルゴリズムについて説明する。 

このアルゴリズムには,シンボルを復号するための次の手順を含んでいる。 

a) 次の比率をもつ連続した四つのエレメントを,“左から右”及び“右から左”の両方向で探して,セグ

メントを見つける。 

background image

13 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

“左から右に” 

14

:5.

12

))

4

3

2

1

(:)2

1

((

12

:5.9

+

+

+

+

elm

elm

elm

elm

elm

elm

“右から左に” 

14

:5.

12

))

4

3

2

1

(:)4

3

((

12

:5.9

+

+

+

+

elm

elm

elm

elm

elm

elm

ここに,elmは“エレメント”を表す。 

この比率によって,位置検出パターンの第2エレメント〜第5エレメントを識別する。 

手順c)の1)〜3)と同様の方法を用い,位置検出パターンの最初の1〜4エレメントを合計した幅であるピ

ッチpから,エッジ〜類似エッジまでの正規化値E1及びE2を得て,位置検出パターンを復号する。E1及

びE2の値が,GS1データバーのタイプ1シンボルの位置検出パターンに対応していることを検証する。 

注記 エレメント番号は,外側から内側に割り振られている。左位置検出パターンのエレメント1は,

左位置検出パターンの左に,右位置検出パターンのエレメント1は,右位置検出パターンの右

に位置する(図2を参照)。 

b) 位置検出パターンの方向及び明と暗との反転を決定する。位置検出パターンとその向き,及びその先

頭エレメントの色(明又は暗)から,いずれの(n,k)パターン[(16,4)又は(15,4)]が隣接するシンボル

キャラクタとして適切であるかを決定する。 

c) 位置検出パターンに隣接する(16,4)構造の各シンボルキャラクタは,次のように復号する。 

1) 七つの幅寸法p,e1,e2,e3,e4,e5及びe6を得る(図3)。 

図3−復号のために必要な寸法 

注記 この図では,最初のエレメントを暗エレメントにしているが,シンボルキャラクタによっては

左右が逆の場合及び/又は明暗が反転する場合もある。 

2) 寸法e1,e2,e3,e4,e5及びe6を,これらの寸法の整数モジュール幅(Ei)を表す正規化された値E1,

E2,E3,E4,E5及びE6に変換する。i番目の値は,次の方法を用いる。 

1.5p / 16≦ei<2.5p / 16のときEi=2 

2.5p / 16≦ei<3.5p / 16のときEi=3 

3.5p / 16≦ei<4.5p / 16のときEi=4 

4.5p / 16≦ei<5.5p / 16のときEi=5 

5.5p / 16≦ei<6.5p / 16のときEi=6 

6.5p / 16≦ei<7.5p / 16のときEi=7 

14 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

7.5p / 16≦ei<8.5p / 16のときEi=8 

8.5p / 16≦ei<9.5p / 16のときEi=9 

これ以外の場合,そのキャラクタを誤りとする。 

3) Eの値から,正規化されたエレメント幅を決定する。最後のエレメントは,Eの値から計算するの

ではなく,残りのモジュールを割り当てる。1モジュール未満の幅をもつエレメントがなく,1モジ

ュール幅の偶数番エレメントが少なくとも一つ存在するのを,有効なエレメント幅の唯一の解とす

る。例えば,図3の場合,値E1〜E6は{4 3 4 5 5 4}である。これに対する,可能性のあるエレメント

並びは,次のようになる。 

{4 0 3 1 4 1 3 0} 

{3 1 2 2 3 2 2 1} 

{2 2 1 3 2 3 1 2} 

{1 3 0 4 1 4 0 3} 

注記1 上記の4個のエレメント並びは,仮に,幅0のモジュールまでを許して考えた場合を指

す。 

注記2 ここで,先頭のエレメントの幅が1だけ減少すると,他の全ての奇数番エレメントの幅

も1ずつ減少し,逆に全ての偶数番エレメントの幅は1ずつ増加している。この性質は,

どのようなE1〜E6の値についても成り立つので,偶数番エレメントの幅の最小が1とな

るエレメント並びは,常にただ一つだけとなることが分かる。 

この例では,エレメント並び{3 1 2 2 3 2 2 1}だけが,この要件を満たすため,このセットが有効

なエレメント並びである。導き出されたエレメント並びが有効でない場合,キャラクタは誤りにな

る。附属書Gに,エレメント並びを復号するアルゴリズムの,C言語での実現方法を示す。そこで

は,まず先頭エレメント幅を1とした暫定的なエレメント幅並びを計算し[この例では{1 3 0 4 1 4 0 

3}となる。],そのときの偶数番エレメントの幅の最小値(この例では3)から1を減じた値を,偶

数番エレメントからは減じ,奇数番エレメントには加えて,解としている。 

4) 附属書Bのプログラムによって,奇数サブセット及び偶数サブセットの値を決める。 

5) 奇数サブセット及び偶数サブセットの値から,シンボルキャラクタ値を計算する。 

6) チェックサムの計算のために,エレメント幅に重み係数を乗じた値を計算して保存する。 

d) 位置検出パターンに隣接する(15,4)構造の各シンボルキャラクタは,次のように復号する。 

1) 七つの幅の寸法p,e1,e2,e3,e4,e5及びe6を計算する(図3参照)。 

2) 寸法e1,e2,e3,e4,e5及びe6を,これらの寸法の整数モジュール幅(Ei)を表す正規化された値E1,

E2,E3,E4,E5及びE6に変換する。i番目の値は,次の方法を用いる。 

1.5p / 15≦ei<2.5p / 15のときEi=2 

2.5p / 15≦ei<3.5p / 15のときEi=3 

3.5p / 15≦ei<4.5p / 15のときEi=4 

4.5p / 15≦ei<5.5p / 15のときEi=5 

5.5p / 15≦ei<6.5p / 15のときEi=6 

6.5p / 15≦ei<7.5p / 15のときEi=7 

7.5p / 15≦ei<8.5p / 15のときEi=8 

8.5p / 15≦ei<9.5p / 15のときEi=9 

これ以外の場合,そのキャラクタを誤りとする。 

background image

15 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

3) 上記の手順c)の3)〜6)に従って,(15,4)のシンボルキャラクタ値を計算する。 

e) 上記の方法で正規化したエレメント幅によって位置検出パターン値を復号する。 

1) 位置検出パターンのエレメントe1,e2,e3,及びe4の合計からpを得る。 

2) 寸法e1,e2,e3,及びe4を,これらの寸法の整数モジュール幅(Ei)を表す正規化された値E1,E2,E3,

及びE4に変換する。i番目の値は,次の方法を用いる。 

1.5p / 14≦ei<2.5p / 14のときEi=2 

2.5p / 14≦ei<3.5p / 14のときEi=3 

3.5p / 14≦ei<4.5p / 14のときEi=4 

4.5p / 14≦ei<5.5p / 14のときEi=5 

5.5p / 14≦ei<6.5p / 14のときEi=6 

6.5p / 14≦ei<7.5p / 14のときEi=7 

7.5p / 14≦ei<8.5p / 14のときEi=8 

8.5p / 14≦ei<9.5p / 14のときEi=9 

3) 表4のE1〜E4から位置検出パターンの値を見つける。 

f) 

四つのシンボルキャラクタ及び二つの位置検出パターンを全て復号後,二つの位置検出パターン値が

有効な79通りの組合せの中にあることを確認する。シンボルキャラクタに含まれるエレメント幅に重

み係数を乗じた値の総和(5.2.4.2参照)をmod 79で計算した値が,二つの位置検出パターンから計

算した値と一致することを確認する。 

g) 四つのシンボルキャラクタから,連結フラグ及び商品識別番号を計算する。 

h) さらに,加速度,サンプリング,寸法などに対して,特定の読取装置及び用いようとしているアプリ

ケーション環境を考慮して,適切と考えられる二次検査を実施する。 

附属書Hに,GS1データバー標準型向けの実用的なスキャナを設計する上で,読誤りを最小に抑えるた

めに,シンボル復号時に従うことが望ましい追加の留意点を示す。 

5.3 

特定アプリケーション向けのGS1データバー標準型からの派生型 

5.3.1 

GS1データバー切詰型 

GS1データバー切詰型(図4参照)は,高さを最小13Xに切り詰めることを除いて,GS1データバー標

準型と同じ方法で構造化及び符号化を行う。GS1データバー切詰型は,インジケータディジットが2以上

の場合,GS1データバー限定型の代わりとして小形商品向けに用いてもよい。また,4列の二次元コンポ

ーネントが望ましい場合,GS1合成シンボルの高さを最小にするために用いてもよい。 

GS1データバー切詰型は,ペン形スキャナ,手持ち式レーザスキャナ,一次元イメージャ,二次元イメ

ージャなどで読めるように設計している。多方向定置式スキャナ及びプレゼンテーション式スキャナでは,

効率的に読むことができない。 

注記 プレゼンテーション式スキャナとは,読む対象物をスキャナの読取窓にかざして読む,多方向

走査方式のバーコードリーダである。 

図4−(01)00012345678905を表すGS1データバー切詰型シンボル 

このシンボル全体のサイズは,幅96X×最小高さ13Xである。 

background image

16 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

5.3.2 

二層型の種類 

二層型には,高さを切り詰めた形及び多方向走査が可能な形がある。GS1データバー標準型シンボルの

高さを切り詰め,左右半分ずつを2段に積み重ねたシンボルをGS1データバー二層型シンボルとする。上

段は,シンボルの左半分であり,1Xのバー及び1Xのスペースからなるガードパターンを,段の右側に付

加している。下段は,シンボルの右半分であり,1Xのバー及び1Xのスペースからなるガードパターンを,

段の左側に付加している。GS1データバー標準二層型も類似しているが,段の高さが標準型と同じであり,

さらに,二つの段の間に高さ3モジュールの分離パターンを含んでいる。 

5.3.2.1 

GS1データバー二層型 

切り詰められた2段形式のシンボルをGS1データバー二層型とする(図5参照)。比較のために,図4

と同じデータを符号化したシンボルを図5に示す。 

図5−(01)00012345678905を表すGS1データバー二層型シンボル 

高さは,上段が5X及び下段が7Xであり,二つの段の間に最小高さ1Xの分離パターンを置いている。

このシンボル全体のサイズは,幅50X×最小高さ13Xである。 

分離パターンは,左側にある1モジュール幅のスペースで始まる。 

分離モジュールの上下で接する上段モジュール及び下段モジュールの色が同じ場合は,分離モジュール

の色を隣接する上下段のモジュールの反対色にしなければならない。その結果,上下が共にバーセグメン

トの場合は,その間にスペースの分離モジュールが置かれ,上下が共にスペースセグメントの場合は,そ

の間にはバーの分離モジュールが置かれる。 

分離モジュールの上下で接する上段モジュール及び下段モジュールの色が異なる場合は,分離モジュー

ルの色をその左側にある分離モジュールの反対色にしなければならない。その結果,上段及び下段が反対

の色になっている領域では,1モジュール幅のバー及びスペースが交互に現れるパターンになる。例外と

して,分離パターンの最初の4モジュール及び最後の4モジュールは,常に明とする。その他のモジュー

ルについては,上下のモジュールの色に基づいて定める(図5参照)。 

GS1データバー二層型は,GS1データバー限定型を用いるには幅が狭すぎる小形商品に,GS1データバ

ー限定型の代わりとして用いてもよい。さらに,GS1データバー二層型は,GS1データバー限定型に比べ

てX寸法を大きくできたり,高印刷品質が実現できる場合もある。ただし,GS1データバー限定型又は

GS1データバー切詰型の方が,ペン形スキャナ又は一次元スキャナで容易に走査できるため,X寸法を小

さくせずに印刷できる場合は,2段形式よりもGS1データバー限定型又はGS1データバー切詰型を用いる

のがよい。 

GS1データバー二層型は,ペン形スキャナ,手持ち式レーザスキャナ,一次元及び二次元イメージャな

どで読めるように設計している。多方向定置式スキャナ及びプレゼンテーション式スキャナでは,効率的

に読むことができない。 

5.3.2.2 

GS1データバー標準二層型 

高さを切り詰めていないGS1データバー標準型の2段形式をGS1データバー標準二層型(図6参照)

とする。最小高さ1Xの3段で構成する分離パターンで,シンボルの上下段を分離しなければならない。 

background image

17 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

図6−(01)00034567890125を表すGS1データバー標準二層型シンボル 

分離パターンの上段の色を,上にあるシンボル段のバー及びスペースの反対の色とする。ただし,両端

並びに位置検出パターンのエレメント1,2,及び3の下にある13モジュールを例外とする。これらの13

モジュールは,隣接する位置検出パターンがバーのとき,その下を明とし,隣接する位置検出パターンが

スペースのとき,その下には暗,明,暗,…を交互に繰り返す。 

中段は,両端を除いて,交互に繰り返す明モジュール及び暗モジュールで構成する。 

下段を,下にあるシンボル段の反対の色とする。ただし,両端並びに位置検出パターンのエレメント1,

2,及び3(右から左に)の上にある13モジュールを例外とする。これらの13モジュールは,隣接する位

置検出パターンがバーのとき,その上を明とし,隣接する位置検出パターンがスペースのとき,その上は

暗,明,暗,…を(左から右に)交互に繰り返すものとする。位置検出パターンの値が3のとき,その上

にある13モジュールの中の1モジュール幅のバーを1モジュール右にシフトして,位置検出パターンの3

モジュール幅のバーの先頭の上にくるようにする。 

分離段の最初の4モジュール及び最後の4モジュールを,常に明とする。その他のモジュールについて

は,上下のモジュールの色に基づいて定める。 

各段の高さは最小33Xであり,二つの段の間に高さ3Xの分離パターンを置く。このシンボル全体のサ

イズは,幅50X×最小高さ69Xである。 

GS1データバー標準二層型は,異なる縦横比が必要な多方向走査用途向けに,GS1データバー標準型の

代わりに用いることができる。 

GS1データバー限定型のシンボル要件 

6.1 

基本特性 

GS1データバー限定型は,4 000 000 000 000(4×1012)個の数を符号化することができる一次元シンボ

ル体系である(6.2.3参照)。二次元コンポーネントに連結するためのフラグのほかに,インジケータディ

ジットが“1”及び“0”に設定されたGS1商品識別番号(GTIN)全体を符号化することができる。 

注記 商品番号は,チェックディジットを除いて符号化する。 

GS1データバー限定型は,ペン形スキャナ,手持ち式レーザスキャナ,一次元イメージャ,二次元イメ

ージャなどのスキャナで読めるように設計している。多方向定置式スキャナ及びプレゼンテーション式ス

キャナでは,効率よく読むことができない。図7に,GS1データバー限定型シンボルを示す。 

図7−(01)15012345678907を表すGS1データバー限定型シンボル 

background image

18 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

6.2 

シンボルの構造 

図8に示すように,GS1データバー限定型シンボルは,74のモジュールからなる五つの領域(左から右

に)で構成している。 

a) 1モジュールのスペース及び1モジュールのバーからなる左側のガードパターン 

b) 26モジュール(七つのスペース及び七つのバー)からなる左側のシンボルキャラクタ,(n,k)=(26,7) 

c) 18モジュール(七つのスペース及び七つのバー)からなるチェックキャラクタ,(n,k)=(18,7) 

d) 26モジュール(七つのスペース及び七つのバー)からなる右側のシンボルキャラクタ,(n,k)=(26,7) 

e) 三つのエレメント(1モジュールのスペース,1モジュールのバー及び5モジュールのスペース)から

なる右側のガードパターン 

図8−(a) : (01)00312345678906を表すGS1データバー限定型シンボル 

(b) : (a)シンボルの背景を“暗”にした場合。 

右ガードパターンの5Xのスペースが背景から浮かび出ている。 

シンボル全体は,79モジュールからなる47個のエレメントを含む。附属書Eの表E.2に,GS1データ

バー限定型シンボルの全てのエレメントを示す。シンボルは,10X以上の高さでなければならない。 

限定型シンボルの両端が明モジュールであり,クワイエットゾーンのように見えるため,クワイエット

ゾーンを必要としないが,UPC-AシンボルをGS1データバー限定型シンボルに読み誤るのを避けるため

に,これらのガードパターンを参照復号アルゴリズムで検査しなければならない(附属書H参照)。シン

ボルの背景及びスペースの色が同じ場合,先頭及び末尾のスペースエレメントは,背景に溶け込む。 

6.2.1 

シンボルキャラクタの構造 

二つのシンボルキャラクタは,それぞれ(n,k)構造をもつ。nの値を26とし,kの値を7とする。 

二つのシンボルキャラクタのエレメントは,図8に示すように左から右に番号を付ける。 

background image

19 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

各シンボルキャラクタは,奇数番目のエレメント及び偶数番目のエレメントという二つのサブセットを

含む。奇数及び偶数とは,各サブセットにおけるエレメントの順番を指している。奇数番目エレメントを

スペースとし,偶数番目エレメントをバーとする。例えば,奇数番目のサブセットは,各シンボルキャラ

クタの左端のエレメントから1番目,3番目,5番目,7番目,9番目,11番目及び13番目のエレメント

で構成している。七つのエレメントのサブセットには,最小7モジュールから最大19モジュールを含む。

いずれのサブセットも奇数個のモジュールを含む。シンボルキャラクタの奇数サブセット及び偶数サブセ

ットにあるモジュール数の合計は26個である。 

奇数番目エレメントのサブセット及び偶数番目エレメントのサブセットには,値をエレメント幅のパタ

ーンに符号化するアルゴリズムによって連続値が割り当てられる。このアルゴリズムを用いるときに,パ

ラメタとして“エレメント数”,“モジュール数”,“最大エレメント幅”及び“全てのエレメントが2モジ

ュール以上のキャラクタをこのサブセットで許すかどうか”を与える。 

6.2.2 

シンボルキャラクタ値 

各シンボルキャラクタ値には,アルゴリズムによって奇数サブセット及び偶数サブセットにエレメント

幅のパターンを割り当てる。このアルゴリズムを用いるときに,パラメタとして“エレメント数”,“モジ

ュール数”,“最大エレメント幅”及び“このサブセットの全てのエレメントを,2モジュール以上にする

かどうか”を与える。附属書Bに,C言語で作成したGS1データバー限定型シンボルキャラクタエレメン

ト生成アルゴリズムを示す。 

有効な偶数エレメントのサブセットには,1モジュール幅のエレメントが少なくとも一つ含まれるのに

対して,奇数エレメントのサブセットでは,全てのエレメントが2モジュール以上のキャラクタをこのサ

ブセットで許すことができる。この偶数エレメントへの制限によって,シンボルキャラクタの“エッジ〜

類似エッジまで”(バー+スペース及びスペース+バー)のモジュール数の合計が一意になることが保証さ

れる(5.2.5参照)。 

表6に,奇数成分サブセット及び偶数成分サブセットの組合せを七つのグループに分けた,(26,7)キャラ

クタの特性を示す。両方のサブセットを,それぞれ奇数個のモジュールとする。隣接するエレメントの1

対に含むモジュールの総数が9を超えないように,最も広い奇数成分エレメント幅及び偶数成分エレメン

ト幅を指定する。その結果,(26,7)キャラクタの組合せ総数は,2 013 571となる。 

表6−シンボルキャラクタ(26,7)の特性 

キャラクタ値の範囲 

グループ 

前のグルー
プまでの組
合せ総数,

GSUM 

奇数成分及
び偶数成分
のモジュー

ル数 

奇数成分及
び偶数成分
のエレメン

ト最大幅 

奇数成分組
合せ総数,

TODD 

偶数成分組
合せ総数,

TEVEN 

0〜  183 063 

17/9 

6/3 

6 538 

28 

183 064〜  820 063 

183 064 

13/13 

5/4 

875 

728 

820 064〜1 000 775 

820 064 

9/17 

3/6 

28 

6 454 

1 000 776〜1 491 020 

1 000 776 

15/11 

5/4 

2 415 

203 

1 491 021〜1 979 844 

1 491 021 

11/15 

4/5 

203 

2 408 

1 979 845〜1 996 938 

1 979 845 

19/7 

8/1 

17 094 

1 996 939〜2 013 570 

1 996 939 

7/19 

1/8 

16 632 

シンボルキャラクタ値VDは,次の式によって定まる。 

SUM

EVEN

EVEN

ODD

 D

 )

T  

(V

V

+

+

×

=

20 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ここに, 

VODD: 各グループ内の奇数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TODD−1)の値 

VEVEN: 各グループ内の偶数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TEVEN−1)の値 

GSUM: 前のグループまでの組合せ総数(表6参照) 

したがって,シンボルキャラクタ値(VD)を符号化するには,次の式を用いることができる。 

EVEN

SUM

D

ODD

div

 )

G  

(V

  

V

=

EVEN

SUM

D

EVEN

mod

 )

G  

(V

  

V

=

例えば,917 879という値の(26,7)シンボルキャラクタを符号化する場合,表6から,このシンボルキ

ャラクタ値はグループ3の範囲に入っているため,GSUM=820 064及びTEVEN=6 454となる。上の計算式

を用いると,次のようになる。 

15

  

454

 6 

div

815

97

  

454

 6 

div

064)

820

  

879

(917

  

VODD

=

=

=

005

 1  

454

 6 

mod

815

97

  

454

 6 

mod

064)

820

  

879

(917

  

VEVEN

=

=

=

すなわち,このシンボルキャラクタは,9モジュールからなる奇数成分(組合せ数28,値の範囲は0〜

27)の値が15であり,17モジュールからなる偶数成分(組合せ数6 454,値の範囲は0〜6 453)の値が1 005

である。 

附属書Bのアルゴリズムを用いると,奇数エレメントの幅は{1 2 1 1 1 1 2}に,偶数エレメントの幅は{1 

2 3 5 1 2 3}であるため,左から右に{1 1 2 2 1 3 1 5 1 1 1 2 2 3}というシンボルキャラクタエレメント幅が得

られる。 

6.2.3 

シンボル値 

シンボル値は,左側及び右側のシンボルキャラクタ値を組み合わせて,次の式によって求める。 

DRIGHT

DLEFT

SYMBOL

 )

V  

571

013

(2

V

+

×

=

ここに,VSYMBOLをシンボル値,VDLEFT及びVDRIGHTをそれぞれ左側及び右側のシンボルキャラクタ値と

する。 

シンボル値VSYMBOLを,左側のシンボルキャラクタVDLEFT及び右側のシンボルキャラクタVDRIGHTに符

号化するには,次の式を用いる。 

571

013

 2 

div

V  

V

SYMBOL

DLEFT=

571

013

 2 

mod

V  

V

SYMBOL

DRIGHT=

シンボルキャラクタの値を組み合わせると4 054 468 172 041通りの値が作られるが,最初の4 000 000 

000 000個の値(0〜1 999 999 999 999及び2 015 133 531 096〜4 015 133 531 095)だけを用いる。この二つ

の範囲は,右側のシンボルキャラクタを復号しなくても,左側のシンボルキャラクタの各サブセットに含

まれているモジュールの数によって,二次元コンポーネントが存在するかどうかを判断できる方法で指定

する(単独のGS1データバー限定型シンボルでは,左側のシンボルキャラクタ値の範囲が0〜993 260に

なるのに対して,GS1合成シンボル中のGS1データバー限定型シンボルでは,左側のシンボルキャラクタ

値の範囲は1 000 776〜1 994 036になる。)。 

2番目の値の範囲(2 015 133 531 096以上)は,連結フラグが設定され,GS1データバー限定型シンボ

ルに二次元コンポーネントが付いていることを示す。この場合,一次元シンボル部分のデータ値は,二次

元コンポーネントが付いたGS1データバー限定型値から2 015 133 531 096を減じて求める。その結果,得

た値は,1番目の値の範囲と同じ0〜1 999 999 999 999となり,これが商品識別コードとなる。 

0〜1 999 999 999 999の値は,GTIN-14商品識別番号の先頭13桁を表す。インジケータディジットは,0

又は1のどちらかである。暗黙のmod 10チェックディジットを計算して末尾に付加したものが,GTIN-14

background image

21 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

の商品識別番号になる。送信すべきデータの先頭に,必須のシンボル体系識別子である“]e0”又は“]C1”

を追加し,続いてアプリケーション識別子“01”を追加して送信する。 

6.2.4 

チェックキャラクタ 

シンボルには,シンボル位置検出パターンとしても機能するチェックキャラクタがある。チェックキャ

ラクタは,二つのシンボルキャラクタの間に置かれる。 

6.2.4.1 

チェックキャラクタの構造 

(18,7)チェックキャラクタは,89個(値は0〜88)を符号化する。各キャラクタは,9モジュールからな

る七つのスペース及び9モジュールからなる七つのバーで構成する。チェックキャラクタのパターンは,

シンボルの中央付近に現れ,チェックキャラクタを構成する14エレメントを左右にシフトしたもの及び/

又は左右反転した14エレメントのパターンと同じパターンを除外して選択する。附属書Cに,89個の符

号化した値に対するチェックキャラクタエレメントの幅の一覧を示す。 

6.2.4.2 

チェックキャラクタの計算 

各シンボルキャラクタのエレメント幅に重み係数を乗じた結果の総和をmod 89で計算した値をチェッ

クキャラクタの値とする。 

チェックキャラクタの値は,次の式によって求める。 

89

mod

 )

E

 W

E

 W

E

 W

E

 W

E

(W

2,14

2,14

2,1

2,1

1,14

1,14

1,2

1,2

1,1

1,1

+

+

+

+

+

+

ここに,WN,MEN,Mを,“シンボルキャラクタNのエレメント順序位置Mに対する重み係数W(表7参照)”

と“シンボルキャラクタNのエレメント順序位置Mのモジュール幅E”とを乗じた値とする。3の累乗を

mod 89で計算した値を,この重み係数とする。 

注記 重み係数は,30を初期値とする3n(n=0〜27)を求め,それぞれの値をmod 89で計算した値

である。 

表7−チェックキャラクタを計算するためのエレメントの重み係数(W) 

シンボルキャラクタ

(N) 

シンボルキャラクタのエレメント順序(M)(左側からの番号) 

10 

11 

12 

13 

14 

27 

81 

65 

17 

51 

64 

14 

42 

37 

22 

66 

20 

60 

18 

54 

73 

41 

34 

13 

39 

28 

84 

74 

附属書F.2は,GS1データバー限定型シンボルの符号化例を含む。 

6.2.5 

位置検出パターン 

位置検出パターンは,チェックキャラクタに対するシンボルキャラクタのピッチ比率で見つける。位置

検出パターンは,チェックキャラクタの14個のエレメントと,二つの隣接シンボルキャラクタの14個の

エレメントとのピッチ比が26 : 18 : 26であることによって識別する。さらに,シンボルは,有効なスペー

ス及びバーのパターンをもつチェックキャラクタによって識別する。有効なシンボル内に現れる可能性の

ある,反転及び/又はオフセットしたチェックキャラクタパターンは,チェックキャラクタのセットから

除外している。 

6.2.6 

参照復号アルゴリズム 

バーコード読取システムは,実用的なアルゴリズムが許容する範囲内で,不完全なシンボルでも読むよ

うに設計している。ここ(6.2.6)では,JIS X 0520で規定する,シンボル品質を評価するための復号容易

度の計算に用いる,参照復号アルゴリズムについて説明する。 

このアルゴリズムには,バーコード化した各キャラクタを復号するための,次の手順を含んでいる。 

background image

22 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

a) 幅の比率が (26±1.5) : 18 : (26±1.5)(必要に応じて,走査装置の加速度を考慮する。)である三つの

14エレメントシーケンスを探して,シンボルを見つける。 

b) 中央のシーケンスが有効な位置検出パターンであることを検証する。次の手順c) 1)及びc) 2)(ただし,

手順c) 2)の除数pは26ではなく18とする。)と同様の方法を用いて,エレメント幅を判定する。附

属書Cからエレメント幅を探す。 

c) 二つのシンボルキャラクタを,次のように復号する。 

1) 13個の幅の寸法p,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11及びe12を得る(図9)。 

図9−復号のために必要な寸法 

2) 寸法e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11及びe12を,寸法の整数モジュール幅(Ei)を表す,正

規化した値E1,E2,E3,E4,E5,E6,E7,E8,E9,E10,E11及びE12に変換する。i番目の値には,

次の方法を用いる。 

1.5p / 26≦ei<2.5p / 26のときEi=2 

2.5p / 26≦ei<3.5p / 26のときEi=3 

3.5p / 26≦ei<4.5p / 26のときEi=4 

4.5p / 26≦ei<5.5p / 26のときEi=5 

5.5p / 26≦ei<6.5p / 26のときEi=6 

6.5p / 26≦ei<7.5p / 26のときEi=7 

7.5p / 26≦ei<8.5p / 26のときEi=8 

8.5p / 26≦ei<9.5p / 26のときEi=9 

これ以外の場合,そのキャラクタを誤りとする。 

3) Eの値から,正規化されたエレメント幅を決定する。最後のエレメントは,Eの値から計算するの

ではなく,残りのモジュールを割り当てる。1モジュール未満の幅をもつエレメントがなく,1モジ

ュール幅の偶数番エレメントが少なくとも一つ存在するのを,有効なエレメント幅の唯一の解とす

る。例えば,図9の場合,値E1〜E12は{3 3 4 6 6 4 3 3 5 4 2 3}である。これに対する,可能性のある

エレメントの並びは,次のようになる。 

{1 2 1 3 3 3 1 2 1 4 0 2 1 2} 

{2 1 2 2 4 2 2 1 2 3 1 1 2 1} 

23 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

{3 0 3 1 5 1 3 0 3 2 2 0 3 0} 

注記1 上記の3個のエレメント並びは,仮に,幅0のモジュールまでを許して考えた場合を指

す。 

注記2 ここで,先頭のエレメントの幅が1だけ減少すると,他の全ての奇数番エレメントの幅

も1ずつ減少し,逆に全ての偶数番エレメントの幅は1ずつ増加している。この性質は,

どのようなE1〜E12の値についても成り立つので,偶数番エレメントの幅の最小が1と

なるエレメント並びは,常にただ一つだけとなることが分かる。 

この例では,14エレメントの並びのうち{2 1 2 2 4 2 2 1 2 3 1 1 2 1}だけが要件を満たすため,この

セットが有効なエレメント並びである。導き出されたエレメント並びが有効でない場合,キャラク

タは誤りになる。附属書Gに,エレメント並びを復号するアルゴリズムのC言語での実現方法を示

す。そこでは,まず先頭エレメント幅を1とした暫定的なエレメント幅並びを計算し[この例では

{1 2 1 3 3 3 1 2 1 4 0 2 1 2}となる。],そのときの偶数番エレメントの幅の最小値(この例では2)か

ら1を減じた値を,偶数番エレメントからは減じ,奇数番エレメントには加えて,解としている。 

4) 附属書Bのプログラムによって,奇数サブセット及び偶数サブセットの値を決める。 

d) 二つのシンボルキャラクタ及び位置検出パターンを復号すると,位置検出パターンから得られたチェ

ックキャラクタ値のmod 89が,シンボルキャラクタに含まれるエレメントの幅に重みを付けた和の

mod 89と一致することを検証する。 

e) 二つのシンボルキャラクタから,連結フラグ及び商品識別番号を計算する。 

f) 

さらに,加速度,サンプリング,寸法などに対して,特定の読取装置及び用いようとしているアプリ

ケーション環境を考慮して,適切と考えられる二次検査を実施する。 

g) 次の全てが当てはまっていることを確認する。 

1) シンボルの始め(ガードスペースの左端)から最初のバー(ガードパターンの第二エレメント)の

右端までの距離が,最初のシンボルキャラクタの(3/52)pよりも大きい(>1.5モジュール)。 

2) ガードバーの左端から左シンボルキャラクタの最初のバーの左端までの距離が((N+1) / 26)p±0.5

モジュールに等しい。ここに,Nは6.2.6の手順c) 3)で決定した最初のスペースを正規化した“E”

に等しい(ガードバーは,公称1モジュール幅である。)。 

3) 先行する10以上のエレメントがあり,最初のバー(最も離れたバーを10とし,最初のバーを1と

して付番したときの)エレメントを含む1〜8エレメントを,有効なパリティが付いたUPC-A(JIS 

X 0507)シンボルとして復号しないために,公称X寸法を,(1/26)p(GS1データバー限定型シンボ

ルの左キャラクタの公称モジュール寸法の0.25倍)の25 %以内になるようにする。 

上記1),2),及び3)で,一つでも検査を合格しなかった場合は,GS1データバー限定型の復号を中

止する。 

h) 右ガードパターンの左端からガードバーの右端までの距離が,右シンボルキャラクタ(±0.5モジュー

ル)の(1/13)pであることを確認する。終端ガードバーの左端から,シンボル(終端スペースの最後)

の最後までの距離が(5/26)p(5モジュール)以上であることを確認する。 

1) リーダは,UPC-AシンボルをGS1データバー限定型として誤って読むことを防ぐために,手順g)

又は手順h)と同等な手順を実行しなければならない(H.5の説明を参照。)。 

GS1データバーのための実用的なリーダを設計するためには,データ取得の冗長的な安全対策が必要で

ある。附属書Hに,シンボルを復号するときに読誤りを最小にするために考慮しなければならない問題を

記載している。 

background image

24 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

GS1データバー拡張型のシンボル要件 

7.1 

GS1データバー拡張型の基本特性 

GS1データバー拡張型は,可変長の一次元シンボル体系であり,2進数として内部表現される最大74個

の数字又は41個のアルファベットからなるAIエレメント列データを符号化することができる。GS1デー

タバー拡張型は,スキャナ及びソフトウェアが適切にプログラムされている小売用POS,その他のアプリ

ケーションで用いるための,主要データ及び補足データの符号化に用いることができる。 

GS1データバー拡張型は,最大22個のセグメントに分けて走査及び復号をしてから再構築ができる。

これが,多方向走査を容易にする。図10に,GS1データバー拡張型シンボルを示す。 

図10−(01)98898765432106(3202)012345(15)991231を表すGS1データバー拡張型シンボル 

7.2 

シンボルの構造 

7.2.1 

シンボル全体の構造 

どのシンボルでも,最初のシンボルキャラクタを,チェックサム及びシンボル長を符号化するチェック

キャラクタとする。図11のシンボル例は,一つのチェックキャラクタ及び五つのシンボルキャラクタを含

む。 

GS1データバー拡張型は,一つの位置検出パターン及びその両側にある二つのシンボルキャラクタの3

要素を一組にして,その組合せを連続して一つのシンボルを構築する。シンボルキャラクタの数が奇数個

のとき,位置検出パターンを最後のシンボルキャラクタの後に置く。奇数番目のキャラクタのエレメント

順序を左から右に,偶数番目のキャラクタのエレメント順序を右から左に付ける。シンボルキャラクタ1,

2,5,6,9,10などは,エレメント1(隣接する位置検出パターンから最も遠いエレメント)がスペース

であるのに対し,シンボルキャラクタ3,4,7,8,11,12などのエレメント1はバーである。左側及び右

側のガードパターンは,常にシンボルの開始点及び終了点になるか,又は多層型シンボルでは,各段の開

始点及び終了点になる。図11に示す六つのシンボルキャラクタからなるGS1データバー拡張型シンボル

は,次の11個の領域(左から右)で構成している。 

a) 1モジュールのスペース及び1モジュールのバーからなる左側のガードパターン 

b) 17モジュール(四つのスペース及び四つのバー)からなるチェックキャラクタ,(n,k)=(17,4) 

c) 15モジュール(三つのスペース及び二つのバー)からなる位置検出パターンA1 

d) 17モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ1,(n,k)=(17,4)(右か

ら左に) 

e) 17モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ2,(n,k)=(17,4) 

f) 

15モジュール(三つのバー及び二つのスペース)からなる位置検出パターンB2 

g) 17モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ3,(n,k)=(17,4)(右か

ら左に) 

h) 17モジュール(四つのスペース及び四つのバー)からなるシンボルキャラクタ4,(n,k)=(17,4) 

background image

25 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

i) 

15モジュール(三つのスペース及び二つのバー)からなる位置検出パターンB1 

j) 

17モジュール(四つのバー及び四つのスペース)からなるシンボルキャラクタ5,(n,k)=(17,4)(右か

ら左に) 

k) 1モジュールのバー及び1モジュールのスペースからなる右側のガードパターン 

注記 シンボルキャラクタエレメントは,隣接する位置検出パターンに向かって番号を付ける。 

図11のシンボルには,151モジュールからなる67個のエレメントを含む。図11のGS1データバー拡張

型シンボルの全67エレメントの一覧を,附属書Eの表E.3に示す。シンボルの最小高さは,34モジュー

ルでなければならない。 

図11−(01)90012345678908(3103)001750を表すGS1データバー拡張型シンボル 

クワイエットゾーンは必要ない。隣接する背景領域が外側のガードパターンエレメントと同じ“色”(明

又は暗)であると,最初のエレメント及び最後のエレメントが1モジュール幅より広く見えることがある。 

7.2.2 

シンボルキャラクタ構造 

各シンボルキャラクタ又はチェックキャラクタは,(n,k)構造である。nの値を17とし,kの値を4とす

る。 

第1,第3などの奇数番目シンボルキャラクタのエレメントは,左から右に番号を付け,第2,第4など

の偶数番目シンボルキャラクタのエレメントは,右から左に番号を付ける。図11の矢印が示すように,シ

ンボルキャラクタエレメントには,隣接する位置検出パターンに向かって,順に番号を付ける。 

各シンボルキャラクタは,奇数番目のエレメント及び偶数番目のエレメントという二つのサブセットを

含む。奇数及び偶数とは,各サブセットにおけるエレメントの順番を指している。例えば,奇数番目のサ

ブセットは,各シンボルキャラクタ内で隣接する位置検出パターンから最も遠いエレメントから1番目,3

番目,5番目及び7番目のエレメントで構成している。奇数番目のエレメントが,キャラクタに隣接する

位置検出パターンから遠い位置にあるのに対して,8番目の(内側,偶数)エレメントは,位置検出パタ

ーンに隣接している。 

7.2.3 

シンボルキャラクタ値 

各シンボルキャラクタ値には,アルゴリズムによって奇数サブセット及び偶数サブセットにエレメント

幅のパターンを割り当てる。このアルゴリズムを用いるときに,パラメタとして“エレメント数”,“モジ

ュール数”,“最大エレメント幅”及び“このサブセットの全てのエレメントを,2モジュール以上にする

かどうか”を与える。附属書Bに,C言語で作成したGS1データバー拡張型シンボルキャラクタエレメン

ト生成アルゴリズムを示す。 

background image

26 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

有効な奇数エレメントのサブセットには,1モジュール幅のエレメントを,少なくとも一つ含まなけれ

ばならない。有効な偶数エレメントのサブセットには,1モジュール幅のエレメントを含んでいなくても

よい。この奇数エレメントへの制限によって,シンボルキャラクタの“エッジ〜類似エッジ”まで(バー

+スペース及びスペース+バー)のモジュール数の合計が一意になることが保証される(5.2.5参照)。 

上記の制限に加え,最初(位置検出パターンから最も遠い)の奇数エレメントの幅を,常に5モジュー

ル未満とする。この制限によって,隣接するシンボルキャラクタの間に,誤った位置検出パターンが現れ

るのを防ぐことができる。 

表8に,奇数成分サブセット及び偶数成分サブセットの組合せを五つのグループに分けた,(17,4)キャラ

クタの特性を示す。奇数成分サブセットを偶数個のモジュール及び偶数成分サブセットを奇数個のモジュ

ールとする。隣接するエレメントの1対に含むモジュールの総数が9を超えないように,最も広い奇数成

分エレメント幅及び偶数成分エレメント幅を指定する。その結果,(17,4)キャラクタの組合せ総数は,4 192

となる。 

表8−シンボルキャラクタ(17,4)の特性 

キャラクタの

値の範囲 

グループ 

前のグルー
プまでの組
合せ総数,

GSUM 

奇数成分及
び偶数成分
のモジュー

ル数 

奇数成分及
び偶数成分
のエレメン

ト最大幅 

奇数成分組
合せ総数,

TODD 

偶数成分組
合せ総数,

TEVEN 

0〜  347 

12/5 

7/2 

87 

348〜1 387 

348 

10/7 

5/4 

52 

20 

1 388〜2 947 

1 388 

8/9 

4/5 

30 

52 

2 948〜3 987 

2 948 

6/11 

3/6 

10 

104 

3 988〜4 191 

3 988 

4/13 

1/8 

204 

シンボルキャラクタ値VSは,次の式によって定まる。 

SUM

EVEN

EVEN

ODD

 S

 )

T  

(V

V

+

+

×

=

ここに, 

VODD: 各グループ内の奇数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TODD−1)の値 

VEVEN: 各グループ内の偶数成分の組合せに対し附属書Bのア

ルゴリズムが与える0〜(TEVEN−1)の値 

GSUM: 前のグループまでの組合せ総数(表8参照) 

したがって,シンボルキャラクタ値(VS)を符号化するには,次の式を用いることができる。 

EVEN

SUM

S

ODD

div

 )

(V

V

=

EVEN

SUM

S

EVEN

T

mod

 )

G  

(V

V

=

例えば,3 544という値の(17,4)シンボルキャラクタを符号化する場合,表8から,このシンボルキャ

ラクタ値はグループ4の範囲に入っているため,GSUM=2 948及びTEVEN=104となる。上の計算式を用い

ると,次のようになる。 

5  

104

div

596

  

104

div

948)

 2  

544

 (3

  

VODD

=

=

=

76

  

104

mod

596

104

mod

948)

 2  

544

(3

  

VEVEN

=

=

=

すなわち,このシンボルキャラクタは,6モジュールからなる奇数成分(組合せ数10,値の範囲は0〜9)

の値が5であり,10モジュールからなる偶数成分(組合せ数70,値の範囲は0〜69)の値が76である。 

附属書Bのアルゴリズムを用いると,奇数エレメントの幅は{1 3 1 1},偶数エレメントの幅は{4 1 4 2}

background image

27 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

になるため,{1 4 3 1 1 4 1 2}というシンボルキャラクタエレメント幅が得られる。 

7.2.4 

シンボルのバイナリ値 

シンボルキャラクタ値0〜4 095は,それぞれシンボル値を符号化した12ビットの2進数を表す。各シ

ンボルキャラクタに対するビット値が連結されて,符号化されたビット列になる。最初のシンボルキャラ

クタ(2番目のシンボルキャラクタ)には,最上位ビットを含む。 

シンボルサイズ及びそのバイナリ列の長さを表9に示す。 

表9−各シンボルサイズのバイナリ容量 

シンボルキャラクタ総数 

符号化データのシンボ

ルキャラクタ数 

符号化ビット 

36 

48 

60 

72 

84 

96 

10 

108 

11 

10 

120 

12 

11 

132 

13 

12 

144 

14 

13 

156 

15 

14 

168 

16 

15 

180 

17 

16 

192 

18 

17 

204 

19 

18 

216 

20 

19 

228 

21 

20 

240 

22 

21 

252 

7.2.5 

データの符号化 

GS1データバーシンボルに符号化する利用者データは,常にGS1総合仕様書のデータ規格に適合したア

プリケーション識別子及びデータ領域で構成し,GS1-128シンボルに符号化する場合と同じようにフォー

マットされていなければならない。FNC1を用いて可変長のエレメント列を後続のエレメント列から分離

するといった,AIエレメント列を連結するためのGS1-128規則に従って,GS1データバーシンボルに符号

化しなければならない。 

GS1データバー拡張型のバイナリ列は,最大五つのバイナリ領域に分割される。バイナリ領域は次のと

おりである。 

a) 二次元コンポーネント連結フラグ(7.2.5.1参照) 

b) 符号化方式(7.2.5.2参照) 

c) 可変長シンボルビット(7.2.5.3参照) 

d) 圧縮データ(7.2.5.4参照) 

background image

28 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

e) 汎用データ圧縮(7.2.5.5参照) 

どのGS1データバー拡張型シンボルも,最初の二つの領域[a)及びb)],及びその他の三つの領域[c),

d)及びe)]の内の一つ以上を必要とする。これらのバイナリ領域を順番に連結し,シンボルのバイナリデ

ータ列に符号化する。符号化方式を記述したデータは,常に,GS1合成シンボルの連結フラグに続けて符

号化する。固定長符号化方式では,シンボルの指定されたバイナリデータ列を圧縮データで完全に埋め  

る。可変長符号化方式では,任意選択の汎用データ圧縮領域で終わった後に,正しいサイズをもつシンボ

ルのバイナリデータ列にある未使用ビットを埋めるための埋め草(パディング)ビットが続く。 

ここ(7.2.5)の細分箇条では,ビット領域を二重引用符(“”)で囲んだバイナリ値で示す。 

7.2.5.1 

二次元コンポーネント連結フラグ領域 

この領域は1ビットで,GS1データバー拡張型シンボルがGS1合成シンボルの一部であるかを示す。単

独のGS1データバー拡張型シンボルの場合は“0”であり,GS1合成シンボルの一次元コンポーネントで

ある場合は“1”である。 

7.2.5.2 

符号化方式領域 

符号化方式領域は1ビット以上からなり,二次元コンポーネント連結フラグのすぐ後に符号化される。

この領域は,シンボルが汎用シンボルであるか,又はアプリケーション指向の圧縮データ領域(商品識別

番号AIエレメント列を効率的に表現するための領域など)で始まるかを定義する。符号化方式領域の定

義を表10に示す。 

表10−符号化方式及び特性 

符号化方式領域 

シンボルキャラクタ数 

圧縮領域長 

汎用圧縮領域 

AIエレメント列 

5〜22 

44 

あり 

(01)及び他のAI 

00 

4〜22 

なし 

あり 

任意のAI 

0100 

6(固定長) 

55 

なし 

(01),(3103) 

0101 

6(固定長) 

55 

なし 

(01),(3202)/(3203) 

01100 

6〜22 

42 

あり 

(01),(392x) 

01101 

7〜22 

52 

あり 

(01),(393x) 

0111000 

8(固定長) 

76 

なし 

(01),(310x),(11) 

0111001 

8(固定長) 

76 

なし 

(01),(320x),(11) 

0111010 

8(固定長) 

76 

なし 

(01),(310x),(13) 

0111011 

8(固定長) 

76 

なし 

(01),(320x),(13) 

0111100 

8(固定長) 

76 

なし 

(01),(310x),(15) 

0111101 

8(固定長) 

76 

なし 

(01),(320x),(15) 

0111110 

8(固定長) 

76 

なし 

(01),(310x),(17) 

0111111 

8(固定長) 

76 

なし 

(01),(320x),(17) 

符号化方式領域が“1”の場合,AI 01の商品識別コードを属性情報のAIと一緒に符号化する。 

符号化方式領域が“00”の場合,AI 01の商品識別コードを用いない。この領域は,四つ以上のシンボ

ルキャラクタからなる可変長シンボルを定義する。このシンボルには,汎用データ圧縮領域はあるが,圧

縮データ領域はない。 

符号化方式領域が“0100”及び“0101”の場合,商品識別コード及び可変質量商品の質量を符号化する。

符号化方式領域が“0111000”〜“0111111”の場合,商品識別コード,質量及びAI日付領域の4種類の内, 

29 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

いずれか一つを符号化する。 

符号化方式領域が“01100”及び“01101”の場合,商品識別コード及び価格を符号化する。 

7.2.5.3 

可変長シンボルビット領域 

この領域は,符号化方式領域が“1”,“00”,“01100”及び“01101”である可変長シンボルだけに存在し,

符号化方式領域の後に置かれる。この領域は,2ビットで構成する。最初のビットを,シンボルに含まれ

るシンボルキャラクタの数が偶数のとき“0”,奇数のとき“1”とする。2番目のビットを,サイズグルー

プビットとする。このビットの値は,シンボルに含まれるシンボルキャラクタの数が14以下のとき“0”,

14を超えていれば“1”とする。これらの2ビットを,位置検出パターンのセットとともに用いると,チ

ェックキャラクタで定義しているシンボルキャラクタ数に,二重検査を行うことができる(7.2.6参照)。 

7.2.5.4 

圧縮データ領域 

この領域に含んでいるバイナリデータは,特定の符号化方式ごとに解釈する。圧縮データ領域は,符号

化方式領域が“00”以外の全てのシンボルに含む。 

7.2.5.4.1 

符号化方式領域が“1”の場合−一般商品識別データ 

この符号化方式は,符号化するデータメッセージの先頭にAIエレメント列“01”がある場合に用いる。

商品識別番号のエレメント列から,2桁のAI 01及びチェックディジットを取り除く。残りの13桁は,1,

3,3,3及び3桁の五つのグループに分け,44ビットの圧縮データ領域で4,10,10,10及び10ビットに

符号化する。各グループは,10進数から2進数へ直接変換して符号化する。追加の補足AIデータは,44

ビットの圧縮データ領域のすぐ後にある汎用データ圧縮領域に符号化する。 

復号器は,4,10,10,10及び10ビットからなる五つのグループで構成した44ビットを13桁に変換す

ることによって,圧縮データ領域を再構築する。復号器は,2桁の“01”をエレメント列の先頭に付加し,

mod 10チェックディジットを,AIエレメント列の末尾に付加する。ビット列の残りは,汎用データ圧縮

を用いて復号する。 

方式“1”の例として,(01)00012345678905(10)ABC123を符号化する場合,圧縮データ領域に,実際に

符号化するのは太字の桁だけである。AI 10及びバッチ番号ABC123は,44ビットの圧縮データ領域のす

ぐ後に続く汎用データ圧縮領域に符号化する。復号器は,]e0010001234567890510ABC123を送信する。 

方式“1”は,汎用データ圧縮領域を含む,五つ以上のシンボルキャラクタからなる可変長シンボルを定

義する。 

7.2.5.4.2 

符号化方式領域が“0100”の場合−可変質量商品(質量増分単位は0.001 kg) 

この符号化方式は,符号化するデータメッセージがAI 01及びこれに続くAI 3103という二つのAIエレ

メント列だけからなる場合に用いる。AI 01商品識別番号のエレメント列には,計量商品用包装インジケ

ータ“9”を含んでいなければならない。AI 3103可変質量エレメント列には,32.767 kgを超える質量を指

定してはならない。これら二つのAIエレメント列は,それぞれ40ビット及び15ビットに圧縮し,合計

領域長は55ビットになる。方式“0100”は,汎用データ圧縮領域を含まない六つのシンボルキャラクタか

らなる固定長シンボルを符号化する。 

この二つのAIエレメント列を符号化するために,AI 01エレメント列から,先頭の3桁の“019”及び

末尾のチェックディジットを取り除く。残りの12桁は,3桁の四つのグループに分け,40ビットの圧縮デ

ータ領域で10ビットごとの四つのグループに符号化する。AI 3103エレメント列から,先頭の3103とい

う4桁のAIを取り除く。000000〜032767の範囲にある,残りの6桁を15ビットに符号化し,圧縮データ

領域に付加する。 

30 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

復号器は,最初の40ビットを10ビットからなる四つのグループに分け,それぞれを3桁に変換した12

桁に復号する。この12桁の先頭に,3桁の“019”を付加する。また,mod 10チェックディジットを,最

初のAIエレメント列の末尾に付加する。復号器は,残りの15ビットを10進数に変換し,その結果得ら

れた10進数の先頭に“0”を埋めて6桁にする。復号器は,復号した6桁の質量に3103というAIプリフ

ィックスを付加して,データメッセージの2番目のAIエレメント列を作成する。 

方式“0100”の例として,(01)90012345678908(3103)001750を符号化する場合,圧縮データ領域に,実

際に符号化するのは太字の桁だけである。復号器は,]e001900123456789083103001750を送信する。 

7.2.5.4.3 

符号化方式領域が“0101”の場合−可変質量商品(質量増分単位は0.01又は0.001ポンド) 

この符号化方式は,符号化するデータメッセージがAI 01及びこれに続くAI 3102又はAI 3203の二つの

AIエレメント列だけからなる場合に用いる。AI 01商品識別番号のエレメント列には,計量商品用包装イ

ンジケータ“9”を含んでいなければならない。AI 3202可変質量エレメント列には,99.99ポンドを超え

る質量を指定してはならない。AI 3203可変質量エレメント列では,22.767ポンドを超える質量を指定し

てはならない。これら二つのAIエレメント列は,それぞれ40ビット及び15ビットに圧縮し,合計領域

長は55ビットになる。方式“0101”は,汎用データ圧縮領域を含まない六つのシンボルキャラクタからな

る固定長シンボルを符号化する。 

この二つのAIエレメント列を符号化するために,AI 01エレメント列から,先頭の3桁の“019”及び

末尾のチェックディジットを取り除く。残りの12桁は,3桁長の四つのグループに分けて,40ビットの圧

縮データ領域で10ビットごとの四つのグループに符号化する。質量エレメント列から,先頭の4桁のAI

を取り除く。AI 3202の場合,残りの6桁の値(0〜9 999の範囲になければならない。)を15ビットに符

号化し,圧縮データ領域に付加する。AI 3203の場合,残りの6桁の値は0〜22 767の範囲になければなら

ない。この値に10 000を加えたものを15ビットに符号化し,圧縮データ領域に付加する。 

復号器は,最初に1番目のAIエレメント列を復号する。最初の40ビットを,10ビットずつ四つのグル

ープに分け,それぞれを3桁に変換した12桁に復号する。この12桁の先頭に“019”の3桁を付加して

15桁にし,先頭の01を除く13桁に対してチェックディジットをmod 10で計算して,15桁の末尾に付加

する。次に,復号器は,2番目のAIエレメント列を復号する。残りの15ビットを10進数に変換し,変換

後の10進数が10 000未満のとき,AI 3202をプリフィックスとする。変換後の値が10 000以上のとき,

AI 3203をプリフィックスとする。変換後の10進数が10 000未満の場合は,左側に“0”を埋めて6桁に

変換し,先頭に3202を付加する。変換後の10進数が10 000以上の場合は,その値から10 000を減じた残

りに,必要に応じて左側に“0”を埋め6桁に変換し,先頭に3203を付加する。 

方式“0101”の例として,(01)90012345678908(3202)000156を符号化する場合,圧縮データ領域に実際

に符号化されるのは太字の桁だけである。復号器は,]e001900123456789083202000156を送信する。 

7.2.5.4.4 

符号化方式領域が“0111000”〜“0111111”の場合−可変質量商品及び日付 

この符号化方式は,符号化するデータメッセージがAI 01,AI 310x若しくはAI 320x(xの範囲は0〜9)

の二つのAIエレメント列か,又はこれに任意機能としてAI 11,AI 13,AI 15,AI 17のいずれかを加えた

三つのAIエレメント列で構成される場合に用いてもよい。ただし,AI 01商品識別番号のエレメント列に

は,計量商品用包装インジケータ“9”を含んでいなければならない。可変質量AIエレメント列は,0〜

99 999の範囲の任意の値とする。方式“0111000”〜“0111111”を,汎用データ圧縮領域を含まない八つ

のシンボルキャラクタからなる固定長シンボルとする。 

可変質量商品及び日付を符号化するための八つの方式は,次のとおりである。 

background image

31 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

方式“0111000” 

AI 01+AI 310x+AI 11 

メートル法による質量及び製造日 

方式“0111001” 

AI 01+AI 320x+AI 11 

ヤードポンド法による質量及び製造日 

方式“0111010” 

AI 01+AI 310x+AI 13 

メートル法による質量及び包装日 

方式“0111011” 

AI 01+AI 320x+AI 13 

ヤードポンド法による質量及び包装日 

方式“0111100” 

AI 01+AI 310x+AI 15 

メートル法による質量及び販売期限日 

方式“0111101” 

AI 01+AI 320x+AI 15 

ヤードポンド法による質量及び販売期限日 

方式“0111110” 

AI 01+AI 310x+AI 17 

メートル法による質量及び有効期限 

方式“0111111” 

AI 01+AI 320x+AI 17 

ヤードポンド法による質量及び有効期限 

三つのAIエレメント列を,商品識別コード40ビット,質量20ビット及び日付16ビットの合計76ビ

ットに圧縮する。 

この三つのAIエレメント列を符号化するために,AI 01エレメント列から,先頭の3桁の“019”及び

末尾のチェックディジットを取り除く。残りの12桁は,3桁長の四つのグループに分けて,40ビットの圧

縮データ領域で10ビットごとの四つのグループに符号化する。質量エレメント列(10桁)から,先頭の

AIの一部である“310”又は“320”の3桁を取り除く。残りの7桁から2番目の桁“0”を取り除いて6

桁にする。AIの最後の桁及び質量の最後の5桁からなるこの6桁を,20ビットに符号化して圧縮データ

領域に付加する。2桁のAI 11,13,15又は17を取り除いた後,残った“YYMMDD”の6桁が0〜38 399

の値をもつ圧縮列に変換されて,16ビットの圧縮された日付が作成される。 

(DD)

32)

1)

((MM

384)

(YY

+

×

+

×

16ビットのサブ領域に含む値38 400は,日付領域が符号化されていないことを示すために用いる。この

任意機能は,方式“0100”又は“0101”が質量値をサポートしていない場合に,商品識別番号及び質量を

符号化するために用いる。 

復号器は,最初の40ビットを10ビットからなる四つのグループに分け,それぞれを3桁に変換した12

桁に復号する。次に,この12桁の先頭に“019”の3桁を付加する。また,mod 10チェックディジットを

計算して,最初のAIエレメント列の末尾に付加する。復号器は,次の20ビットを6桁の10進数に変換

し,先頭桁の後に“0”を挿入して7桁にする。復号器は,7桁の列に“310”又は“320”というAIプリ

フィックスを付加して,データメッセージの2番目のAIエレメント列を作成する。最後の16ビットを10

進数に変換し,この値が38 400のとき,それ以上のデータは復号しない。 

38 400でない場合は,日付が符号化されていることを示す。復号器は,この方式に従って,上記の計算

式を用いて6桁の日付を抽出し,プリフィックスとしてアプリケーション識別子(11,13,15又は17)を

付加しなければならない。この8桁を,3番目のAIエレメント列として復号したメッセージに付加する。 

方式“0111000”の例として,(01)90012345678908(3103)012233(15)991231を符号化する場合,圧縮デー

タ領域に実際に符号化するのは太字の桁だけである。 

復号器は,]e00190012345678908310301223315991231を送信する。 

7.2.5.4.5 

符号化方式領域が“01100”の場合−はかり売り商品及び価格 

この符号化方式は,データメッセージが二つのエレメント列,AI 01及びこれに続くAI 392xで始まる場

合に用いてもよい。AI 01商品識別番号のエレメント列には,計量商品用包装インジケータ“9”を含んで

いなければならない。AI 392x価格は,小数点以下は,0〜3桁の値までである(x=0〜3)。AI 01エレメン

ト列を40ビットに圧縮し,AI 392xの小数点以下の桁数xを2ビットに符号化する。次に,価格の桁を汎

用数字符号化方式で符号化する。追加エレメント列の場合は,それも,汎用符号化方式を用いて符号化す

る。 

32 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

この二つのエレメント列を符号化するために,AI 01エレメント列から,先頭の3桁の“019”及び末尾

のチェックディジットを取り除く。残りの12桁は,3桁長の四つのグループに分けて,40ビットの圧縮デ

ータ領域で10ビットごとの四つのグループに符号化する。AI 392xエレメント列から,価格AIの先頭の3

桁“392”を取り除く。次の桁xは,小数点の位置であり,許容可能な0〜3という値を次の2ビットに直

接符号化する。小数点以下の桁数の後のデータは,数字符号化方式で始まる汎用符号化方式で符号化する。 

復号器は,最初の40ビットを10ビットからなる四つのグループに分け,それぞれを3桁に変換した12

桁に復号する。次に,この12桁の先頭に“019” の3桁を付加する。また,mod 10チェックディジット

を計算して,最初のエレメント列の末尾に付加する。復号器は,AIの最初の3桁である“392”を付加し,

次の2ビットに符号化している小数点以下の桁数を,その後に付加する。残りのメッセージは,汎用符号

化方式を用いて復号する。 

方式“01100”の例として,(01)90012345678908(3922)795を符号化する場合,圧縮データ領域に実際に

符号化するのは太字の桁だけである。復号器は,]e001900123456789083922795を送信する。 

7.2.5.4.6 

符号化方式領域が“01101”の場合−はかり売り商品及びISO 4217通貨コード付き価格 

この符号化方式は,データメッセージが二つのエレメント列AI 01及びこれに続くAI 393xで始まる場

合に用いてもよい。AI 01商品識別番号エレメント列には,計量商品用包装インジケータ“9”を含んでい

なければならない。AI 393xの価格は,小数点以下は,0〜3桁までである(x = 0〜3)。AI 01エレメント列

は40ビットに圧縮し,AI 393xの小数点以下の桁数xを2ビットに符号化する。3桁のISO 4217通貨コー

ドは,10ビットに符号化する。次に,価格の桁を,汎用数字符号化方式で符号化する。追加エレメント列

の場合は,それも,汎用符号化方式を用いて符号化する。 

この二つのエレメント列を符号化するために,AI 01エレメント列から,先頭の3桁の“019”及び末尾

のチェックディジットを取り除く。残りの12桁は,3桁長の四つのグループに分けて,40ビットの圧縮デ

ータ領域で10ビットごとの四つのグループに符号化する。AI 393xエレメント列から,価格AIの先頭の3

桁“393”を取り除く。次の桁xは,小数点の位置であり,許容可能な0〜3という値を次の2ビットに直

接符号化する。次の3桁のISO 4217通貨コードは,次の10ビットに直接符号化する。3桁のISO 4217通

貨コードの後のデータは,数字符号化方式で始まる汎用符号化方式で符号化する。 

復号器は,最初の40ビットを10ビットからなる四つのグループに分け,それぞれを3桁に変換した12

桁に復号する。次に,この12桁の先頭に“019”の3桁を付加する。また,mod 10チェックディジットを

計算して,最初のエレメント列の末尾に付加する。復号器は,AIの最初の3桁である“393”を付加し,

次の2ビットに符号化している小数点以下の桁数を,その後ろに付加する。次の10ビットは,ISO 4217

通貨コードの3桁を直接符号化したものである。残りのメッセージは,汎用符号化方式を用いて復号する。 

方式“01101”の例として,(01)90012345678908(3932)0401234を符号化する場合,圧縮データ領域に実

際に符号化するのは太字の桁だけである。復号器は,]e0019001234567890839320401234を送信する。 

7.2.5.5 

汎用データ圧縮領域 

汎用データ圧縮領域は,次の三つの符号化スキームを組み合わせて用い,AIエレメント列をバイナリ列

に符号化する。 

a) 数字符号化スキームは,数字及びFNC1キャラクタに対して用い,符号化するキャラクタ当たり3.5

ビットが必要である。 

b) 英数字符号化スキームは,数字及び英大文字が混在している場合に用い,数字又はFNC1キャラクタ

当たり5ビット,文字当たり6ビットが必要である。 

c) JIS X 0201符号化スキームは,英大文字,英小文字,数字及び大部分の句読文字が混在している場合

background image

33 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

に用い,数字当たり5ビット,文字当たり7ビット,句読文字当たり8ビットが必要である。 

汎用データ圧縮は,7.2.5.4で規定した専用圧縮データ符号化方式の一つを用いて符号化するAIエレメ

ント列以外のAIエレメント列を符号化するために用いる。汎用データ圧縮領域は,可変長シンボルの最

後の領域である。汎用データ圧縮スキームを用いて,全てのデータを処理すると,7.2.5.5.4で説明する埋

め草(パディング)手順によって,汎用符号化手続が完了する。 

7.2.5.5.1 

数字符号化方式 

数字符号化方式は,汎用データ符号化領域が開始すると最初に有効になる符号化方式である。この方式

は,2桁の数字,又は順序を問わない1桁の数字及びFNC1キャラクタを,7ビットに符号化する。7ビッ

トの値は,次の式によって決定する。 

 )

D  

(11

2

1

+

+

×

=

ここに,D1及びD2は,1番目及び2番目の数字の値又はFNC1の値である(FNC1は,値10を割り当

てる。)。この値の範囲は,7ビット値“0001000”〜“1111111”に対応する8〜127になる(二つのFNC1

キャラクタを7ビットに符号化することはできない。)。領域の先頭にあるか又は前の数字符号化方式で符

号化した7ビット値の後にある0が四つ続く“0000”というバイナリシーケンスは,符号化方式の切換え,

つまり英数字符号化方式への変更を指示する(表11参照)。 

表11−数字符号化方式 

キャラクタ 

符号化したバイナリデータ 

ディジット−ディジット,ディジット−FNC1,FNC1−ディジット対 0001000〜1111111 

英数字切換え 

0000 

数字符号化方式シーケンスは,次のいずれかの条件に当てはまるまで,データキャラクタの組を符号化

し続ける。 

a) 少なくとも二つのキャラクタが残っており,数字符号化方式を適用できない場合は,データ圧縮領域

に,英数字に切り換えるように符号化する。 

b) 数字以外のキャラクタが一つ残っている場合は,データ圧縮領域に,英数字に切り換えるように符号

化する。 

c) 数字キャラクタが一つ残っている場合は,最初に,現在のバイナリ列を符号化するのに必要なシンボ

ルサイズを計算する。次に,未使用ビット数を,合計ビット数の次の12の偶数倍にするのに必要な数

と等しくする。 

1) 7ビットを超える未使用ビットが残っていれば,数字及びFNC1埋め草(パディング)を次の7ビ

ットに符号化する。この最後のFNC1は埋め草(パディング)として認識され,リーダからは送信

しない。 

2) 4〜6ビットの未使用ビットが残っていれば,数字の値に1を加えたものを次の4ビットに符号化す

る。 

3) それ以外の場合は,次に大きいシンボルサイズを用いて数字及びFNC1埋め草(パディング)を,

次の7ビットに符号化する。この最後のFNC1は埋め草(パディング)として認識され,リーダか

らは送信しない。 

残りのビットの場合は,7.2.5.5.4の埋め草(パディング)手順に従って符号化する。 

background image

34 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

d) キャラクタが残っていない場合,残りのビットの場合は,7.2.5.5.4の埋め草(パディング)手順に従

って符号化する。 

英数字切換えを符号化すると,常に,その切換えを反映して符号化方式を変える。次のデータキャラク

タにJIS X 0201符号化方式が必要の場合は,英数字符号化方式によって,英数字切換えの直後にJIS X 0201

切換えを符号化する。 

シンボルの末尾で数字圧縮が有効になっていれば,復号中に,次の特別な検査を行わなければならない。 

a) 埋め草(パディング)シーケンスの直前にある数字符号化方式で符号化した最後の7ビットを符号化

し,その後にFNC1が続く場合は,そのFNC1を無視する。 

b) 数字符号化方式が有効で,シンボルに4〜6ビットだけが残っている場合は,残りのビットの先頭にあ

る4ビット列の値を10進数値に変換する。 

1) その値が0である場合は,データメッセージを完了する。 

2) それ以外の場合は,データメッセージに含まれる最後の桁として,10進数値から1を引いた値を復

号する。 

7.2.5.5.2 

英数字符号化方式 

英数字符号化方式は,数字及びFNC1・数字切換え,英大文字,五つの句読文字及び二つの切換えキャ

ラクタを符号化する。符号化したビット列では,キャラクタ当たりのビット長は固定ではない。ビットは,

符号化した各キャラクタのビット長に従って配置する。3〜6ビットに符号化した各キャラクタを,表12

に示す。 

表12−英数字符号化方式 

キャラクタ 

ASCII値 

符号化値 

符号化したバイナリデータ 

0〜9 

48〜57 

ASCII値から43を減じた値
(5ビット) 

00101〜01110 

FNC1・数字切換え 

15(5ビット) 

01111 

A〜Z 

65〜90 

ASCII値から33を減じた値
(6ビット) 

100000〜111001 

42 

58(6ビット) 

111010 

44 

59(6ビット) 

111011 

45 

60(6ビット) 

111100 

46 

61(6ビット) 

111101 

47 

62(6ビット) 

111110 

数字切換え 

0(3ビット) 

000 

JIS X 0201切換え 

4(5ビット) 

00100 

データは,各キャラクタに対する可変長バイナリデータを,汎用データ圧縮領域に付加して符号化する。

ただし,次の例外がある。 

a) 次のシンボルキャラクタがFNC1のとき,データを英数字符号化方式で符号化する。 

b) 次のシンボルキャラクタを符号化するのにJIS X 0201符号化方式だけを用いる場合は,データ圧縮領

域にJIS X 0201切換えを符号化する。 

c) 次の六つのシンボルキャラクタを数字符号化方式で符号化することができれば,データ圧縮領域に数

字切換えを符号化する。 

d) 次の四つ以上のシンボルキャラクタを数字符号化方式で符号化することができ,かつ,そのシンボル

background image

35 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

キャラクタでデータ列が終了する場合は,データ圧縮領域に数字切換えを符号化する。 

切換えを符号化すると,常にその切換えを反映して符号化方式が変わる。 

符号化されたビット領域は,以前に復号したキャラクタに引き続く領域(初めて復号する場合には,そ

の領域)の先頭にある1ビット又は3ビットを最初に調べてから復号する。 

a) 最初のビットが“1”のとき,次のキャラクタを6ビットで構成するキャラクタとして復号する。 

b) 最初の3ビットが“000”のとき,それは数字切換えである。 

c) それ以外の場合は,次のキャラクタを5ビットで構成するキャラクタとして復号する。 

7.2.5.5.3 

JIS X 0201符号化方式 

このモードは,数字,英大文字,英小文字,JIS X 0201の21個の句読文字のほか,このシンボル体系に

必要なFNC1及び二つの切換えキャラクタを符号化する。符号化したビット列では,キャラクタ当たりの

ビット長は固定ではない。ビットは,符号化した各キャラクタのビット長に従って配置する。各キャラク

タは,表13に示すように3〜8ビットに符号化する。 

表13−JIS X 0201符号化方式 

キャラクタ 

ASCII値 

符号化値 

符号化したバイナリデータ 

0〜9 

48〜57 

ASCII値から 43を減じた値
(5ビット) 

00101〜01110 

FNC1・数字切換え 

15(5ビット) 

01111 

A〜Z 

65〜90 

ASCII値から1を減じた値(7
ビット) 

1000000〜1011001 

a〜z 

97〜122 

ASCII値から7を減じた値(7
ビット) 

1011010〜1110011 

33 

232(8ビット) 

11101000 

34 

233(8ビット) 

11101001 

37 

234(8ビット) 

11101010 

38 

235(8ビット) 

11101011 

39 

236(8ビット) 

11101100 

40 

237(8ビット) 

11101101 

41 

238(8ビット) 

11101110 

42 

239(8ビット) 

11101111 

43 

240(8ビット) 

11110000 

44 

241(8ビット) 

11110001 

45 

242(8ビット) 

11110010 

46 

243(8ビット) 

11110011 

47 

244(8ビット) 

11110100 

58 

245(8ビット) 

11110101 

59 

246(8ビット) 

11110110 

60 

247(8ビット) 

11110111 

61 

248(8ビット) 

11111000 

62 

249(8ビット) 

11111001 

63 

250(8ビット) 

11111010 

̲ 

95 

251(8ビット) 

11111011 

スペース 

32 

252(8ビット) 

11111100 

数字切換え 

0(3ビット) 

000 

英数字切換え 

4(5ビット) 

00100 

36 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

データは,各キャラクタに対する可変長バイナリデータを,データ圧縮領域に付加して符号化する。た

だし,次の例外がある。 

a) 次のシンボルキャラクタがFNC1のとき,データをJIS X 0201符号化方式で符号化する。 

b) 次の四つのシンボルキャラクタを数字圧縮で符号化することができ,かつ,JIS X 0201符号化方式だ

けで符号化できるシンボルキャラクタが,次の10個のキャラクタの中になければ,データ圧縮領域に

数字切換えを符号化する。 

c) 次の五つのシンボルキャラクタを英数字圧縮で符号化することができ,かつJIS X 0201符号化方式だ

けで符号化できるシンボルキャラクタが,次の10個のキャラクタの中になければ,データ圧縮領域に

英数字切換えを符号化する。 

いずれの例外においても,10個未満のキャラクタでデータが終了する場合,上記の10キャラクタの試

験は,データの最後に到達した時点で完了する。切換えを符号化すると,切換えを反映して符号化方式が

変わる。 

符号化されたビット領域は,以前に復号したキャラクタに引き続く領域(初めて復号する場合には,最

初の領域)の先頭にある3ビット又は5ビットを最初に調べてから復号する。 

a) 最初の3ビットが“000”のとき,それは数字切換えである。 

b) それ以外の場合は,最初の5ビットのバイナリ値に応じて次の処理を行う。 

1) 15以下のとき,次のキャラクタを5ビットで構成するキャラクタとして復号する。 

2) 16〜28のとき,次のキャラクタを7ビットで構成するキャラクタとして復号する。 

3) 29以上のとき,次のキャラクタを8ビットで構成するキャラクタとして復号する。 

7.2.5.5.4 

汎用データ圧縮領域用の埋め草(パディング)ビット 

シンボルに含むシンボルキャラクタの数は,そのシンボルに含むデータを符号化するのに必要な,最小

限にとどめるのがよい。データをデータ圧縮領域に符号化した後,シンボルに未使用ビットが残る場合が

ある。これらのビットは,シンボルのデータ容量を満たすまで,埋め草(パディング)ビットシーケンス

で埋めなければならない。 

埋め草(パディング)ビット列は,5ビットの埋め草(パディング)シーケンス“00100”を繰り返して

作成するが,これは英数字符号化方式におけるJIS X 0201切換えであり,JIS X 0201符号化方式における

英数字切換えでもある。より多くのデータを符号化しなくても,符号化モード及びその切換えが交互に現

れる。シンボルに十分なビットが残っていない場合は,最後の埋め草(パディング)シーケンスの右側を

切り詰めてもよい。 

数字符号化方式でデータの符号化が終了する場合は,交互に繰り返す埋め草(パディング)シーケンス

“00100”の前に,“0000”という4ビットの英数字切換えを必要とする。例えば,符号化が数字符号化方

式で終了したときに7ビット残っていれば,英数字切換え“0000”の後に,JIS X 0201切換え“00100”の

最初の3ビット“001”を続けた“0000001”として符号化しなければならない。埋め草(パディング)が

必要な残りの未使用ビットが4ビット未満の場合は,最初の4ビットの埋め草(パディング)そのものを

短縮してもよい。 

7.2.6 

チェックキャラクタ 

GS1データバー拡張型シンボルの最初のキャラクタは,チェックキャラクタである。これによって,シ

ンボル長及び重み係数を乗じたシンボルキャラクタエレメント幅のチェックサムの両方を符号化する。チ

ェックキャラクタ値の最初の4 009個(0〜4 008)だけ用いる。 

チェックキャラクタには,シンボルに含むシンボルキャラクタの数S(4〜22)及びチェックサム値を,

background image

37 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

次のように符号化する。 

チェックキャラクタ値=211×(S−4)+チェックサム値 

チェックサム値は,シンボルキャラクタに含まれるエレメント幅に重み係数を乗じた結果の総和をmod 

211で計算した値に等しい。表14の重み係数は,3の連続した累乗のmod 211を計算した値である。 

表14−チェックサムのmod 211を計算するためのエレメントの重み係数(W) 

位置検出パターンから見た 
シンボルキャラクタの位置 

シンボルキャラクタのエレメント順序(M) 

A1の左* 

− 

− 

− 

− 

− 

− 

− 

− 

A1の右 

27 

81 

32 

96 

77 

A2の左 

20 

60 

180 

118 

143 

21 

63 

A2の右 

189 

145 

13 

39 

117 

140 

209 

205 

B1の左 

193 

157 

49 

147 

19 

57 

171 

91 

B1の右 

62 

186 

136 

197 

169 

85 

44 

132 

B2の左 

185 

133 

188 

142 

12 

36 

108 

B2の右 

113 

128 

173 

97 

80 

29 

87 

50 

C1の左 

150 

28 

84 

41 

123 

158 

52 

156 

C1の右 

46 

138 

203 

187 

139 

206 

196 

166 

C2の左 

76 

17 

51 

153 

37 

111 

122 

155 

C2の右 

43 

129 

176 

106 

107 

110 

119 

146 

D1の左 

16 

48 

144 

10 

30 

90 

59 

177 

D1の右 

109 

116 

137 

200 

178 

112 

125 

164 

D2の左 

70 

210 

208 

202 

184 

130 

179 

115 

D2の右 

134 

191 

151 

31 

93 

68 

204 

190 

E1の左 

148 

22 

66 

198 

172 

94 

71 

E1の右 

18 

54 

162 

64 

192 

126 

167 

E2の左 

120 

149 

25 

75 

14 

42 

126 

167 

E2の右 

79 

26 

78 

23 

69 

207 

199 

175 

F1の左 

103 

98 

83 

38 

114 

131 

182 

124 

F1の右 

161 

61 

183 

127 

170 

88 

53 

159 

F2の左 

55 

165 

73 

24 

72 

15 

F2の右 

45 

135 

194 

160 

58 

174 

100 

89 

 * 

A1位置検出パターンの左にあるシンボルキャラクタは,チェックキャラクタであり,エレメントには重み
係数を乗じない。 

重み係数を乗じたチェックサム値のmod 211は,次の式によって求める。 

211

mod

 )

E

 W

E

 W

E

 W

E

(W

x,8

x,8

1,8

1,8

1,2

1,2

1,1

1,1

+

+

+

+

+

ここに,WN,MEN,Mは,シンボルに含まれる全てのシンボルキャラクタについて,“シンボルキャラクタN

のエレメント順序位置Mに対する重み係数(表14参照)”と“シンボルキャラクタNのエレメント順序

位置Mのモジュール幅”とを乗じた値とする。Nは,表14にあるシンボルキャラクタを示しており(例

えば,“C1右”は,位置検出パターンC1の右にあるシンボルキャラクタを示す。),連続した値ではない

が,表16のシーケンスによって決定される点に注意が必要である。下付き文字xは,シンボルに含まれ

る最後のシンボルキャラクタを示す。 

background image

38 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書F.3に,GS1データバー拡張型シンボルの符号化例を示す。 

7.2.7 

位置検出パターン 

シンボルには,固有のシンボル位置検出パターンが12個ある。これらのパターンを,シンボルキャラク

タ対の間に置く。位置検出パターンは,全てのシンボルキャラクタに隣接しているため,シンボルキャラ

クタ及び隣接する位置検出パターンからなるセグメント単位で,シンボルを走査することができる。 

シンボルキャラクタが奇数個の場合は,そのシンボルは,最後の位置検出パターン及び右側のガードパ

ターンで終了する。この場合,最後の位置検出パターンは,最後のシンボルキャラクタの右に隣接する。 

12個のパターンは,六つの基本パターンA〜Fに基づいている。基本パターンのそれぞれに,表15の

左側に示す,エレメント1がスペースである“1”バージョンと,表15の右側に示す,エレメント1がバ

ーである“2”バージョンとの,二つのバージョンがある。明暗を反転させて,二つのパターンを区別する

ことができる。12個の位置検出パターンは,A1,A2,B1,B2,C1,C2,D1,D2,E1,E2,F1,及びF2

である。“1”バージョンでは,エレメント1は左側がスペースであり,“2”バージョンでは,この左右を

反転し,明暗も反転している。六つの基本パターンのエレメント幅一覧を,表15に示す。 

位置検出パターンは,それぞれ15モジュールからなる五つのエレメントで構成している。“1”バージョ

ンのエレメント2及びエレメント3のモジュール総数が10〜12であるのに対して,“1”バージョンのエレ

メント4及びエレメント5のモジュール総数は2である。四つのエレメント2〜5の合計幅に対する太エ  

レメント2及びエレメント3の組の幅比率(10 : 12〜12 : 14の範囲)が,位置検出パターンを認識するロ

ジックの第1手順である。同様に,“2”バージョンの位置検出パターンでは,四つのエレメント1〜4の合

計幅と太エレメント3及びエレメント4の組の幅とを比較する。 

表15−位置検出パターンのエレメント幅 

基本パターン 

“1”バージョン 

エレメント幅(1はスペース) 

基本パターン 

“2”バージョン 

エレメント幅(1はバー) 

A1 

A2 

B1 

B2 

C1 

C2 

D1 

D2 

E1 

E2 

F1 

F2 

位置検出パターンは,シンボル長に応じて割り当てた10個の一意なセット(表16参照)で用いる。こ

のセットを,二つのグループに分ける。各グループの各セットに,グループ内の他のセットと区別するた

めの位置検出パターンの一意なサブセットを,一つ以上含む。セットを選択することによって,誤って復

号したチェックキャラクタから導いた,誤ったシンボル長が原因で読誤りが起こるのを防ぐ。 

background image

39 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

表16−位置検出パターンシーケンス 

セグメント番号 

位置検出パターン列 

10 

11 

グループ1 

A1 

A2 

5又は6 

A1 

B2 

B1 

7又は8 

A1 

C2 

B1 

D2 

9又は10 

A1 

E2 

B1 

D2 

C1 

11又は12 

A1 

E2 

B1 

D2 

D1 

F2 

13又は14 

A1 

E2 

B1 

D2 

E1 

F2 

F1 

グループ2 

15又は16 

A1 

A2 

B1 

B2 

C1 

C2 

D1 

D2 

17又は18 

A1 

A2 

B1 

B2 

C1 

C2 

D1 

D2 

E1 

19又は20 

A1 

A2 

B1 

B2 

C1 

C2 

D1 

E2 

F1 

F2 

21又は22 

A1 

A2 

B1 

B2 

C1 

C2 

D1 

E2 

E1 

F2 

F1 

7.2.8 

GS1データバー拡張多層型 

GS1データバー拡張型は,2段〜11段まで積み重ねてもよい。図12は,2段のシンボルである。GS1デ

ータバー拡張多層型は,シンボルの印字領域又はプリンタによる印字幅が1段のシンボルを印字できるほ

ど十分に広くない場合に用いる。それぞれの段の高さは34Xであり,各段の間に3Xの分離パターンを伴

う。比較のために,図12のシンボルは,図10と同じデータを符号化したものである。 

図12−(01)98898765432106(3202)012345(15)991231を表すGS1データバー拡張多層型シンボル 

最後の段を除く全ての段に含んでいるシンボルキャラクタの数は,偶数でなければならない。GS1デー

タバー拡張多層型シンボルが,GS1合成シンボルの一次元コンポーネントのとき,GS1データバー拡張多

層型シンボルの最初の段には,四つ以上のシンボルキャラクタがなければならない。段は,上から下の順

に並べなければならない。最後の段は,必要に応じて埋め草(パディング)を追加し,二つ以上のシンボ

ルキャラクタを含んでいなければならない。シンボルがGS1合成シンボルの一部のとき,最上段の上に二

次元コンポーネントを印字しなければならない。 

全ての段は,各シンボルキャラクタ組の間に位置検出パターンを配し,2エレメントからなる左側及び

右側のガードパターンを設けなければならない。最後の段のシンボルキャラクタ数が奇数の場合は,最後

の位置検出パターンの次が右側のガードパターンになる。 

background image

40 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

最初の段及びそれ以降の奇数番目の段は,スペースで始まっていなければならない。2番目の段及びそ

れ以降の偶数番目の段は,バーで始まっていなければならない。ただし,図13に示すように,最下段は

そうならないこともある。段ごとのセグメント組の数が偶数(2組,4組など。つまり,セグメント数は4,

8など。)のとき,偶数番目の段は,エレメント順序を逆(左右を反転させて)にして印字しなければなら

ない。反転させることは,偶数番目の段がバーで始まるようにするために必要である。段ごとのセグメン

ト組の数が奇数(1組,3組,5組など。つまり,セグメント数は2,6,10など。)のとき,偶数番目の段

は,必然的にバーで始まる。表17に,反転させた段の一覧を示す。 

表17−拡張多層形GS1データバーシンボルで反転した段 

段番号 

セグメントの多層化されたシンボルの幅 

10 

12 

14 

16 

18 

20 

10 

11 

F:順方向の段,R:反転した段,空白:あり得ない組合せ 

3X(最小)の高さの分離パターンで,シンボルの段を分離しなければならない。分離パターンは,1X

(最小)の高さの三つの段からなる。 

分離パターンの上段の色を,上にあるシンボル段のバー及びスペースの反対の色とする。ただし,両端

及び次の13モジュールを例外とする。ここで13モジュールとは,バージョン1の位置検出パターンのエ

レメント1,2及び3の下,並びにバージョン2の位置検出パターンのエレメント3,4及び5の下にある

13モジュールをいう。これらの13モジュールは,隣接する位置検出パターンがバーのとき,その下を明

とし,隣接する位置検出パターンがスペースのとき,その下には暗,明,暗,…を交互に繰り返す。 

中段は,両端を除いて,交互に繰り返す明モジュール及び暗モジュールで構成する。 

下段を,下にあるシンボル段の反対の色とする。ただし,両端及びバージョン1の位置検出パターンの

エレメント1,2及び3の上,並びにバージョン2の位置検出パターンのエレメント3,4及び5の上にあ

る13モジュールを例外とする。これらの13モジュールは,隣接する位置検出パターンがバーのとき,そ

の上を明とし,隣接する位置検出パターンがスペースのとき,その上は暗,明,暗,…を交互に繰り返す。 

分離段の最初の4モジュール及び最後の4モジュールを,常に明とする。その他のモジュールについて

は,上下のモジュールの色に基づいて定める。 

図12に示すGS1データバー拡張多層型シンボルには,八つのシンボルキャラクタがある。このシンボ

ルは,2段になっており,それぞれの段に四つのシンボルキャラクタがある。上段には,最初の四つのシ

ンボルキャラクタがあり,1Xのバー及び1Xのスペースのガードパターンを段の右側に付加している。下

段の左側は,最後の四つのシンボルキャラクタの左右反転イメージで始まり,それに続いて1Xのバー及

background image

41 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

び1Xのスペースのガードパターンを付加している。図12に示すシンボル例の全体のサイズは,幅102X

×高さ71Xである。 

段の反転に関する要件には,例外が一つある。最終段を左右反転させなければならない場合でも,その

段が奇数個の位置検出パターンを含む,長さが短い段のとき,左側に明モジュールを付加し,その段を1

モジュール分右にずらす。これが必要になるのは,奇数個の位置検出パターンを含む,長さが短い段のガ

ードバーパターンが左右対称になるため,反転した後も同じパターンになるからである。最後の段をずら

す必要があるGS1データバー拡張多層型シンボルを,図13に示す。 

図13−(01)95012345678903(3103)000123を表すGS1データバー拡張多層型シンボル 

7.2.9 

参照復号アルゴリズム 

バーコード読取システムは,実用的なアルゴリズムが許容する範囲内で,不完全なシンボルでも読むよ

うに設計している。ここ(7.2.9)では,JIS X 0520 に規定するシンボル品質を評価するための,復号容易

度の計算に用いる参照復号アルゴリズムについて説明する。 

このアルゴリズムには,シンボルを復号するための,次の手順を含んでいる。 

a) 次の比率をもつ四つのエレメントの並びを,“左から右に”及び“右から左に”探して,セグメントを

見つける。 

“左から右へ”の場合の比率: 

14

:5.

12

))

4

3

2

1

(:)2

1

((

12

:5.9

+

+

+

+

elem

elem

elem

elem

elem

elem

“右から左へ”の場合の比率: 

14

:5.

12

))

4

3

2

1

(:)4

3

((

12

:5.9

+

+

+

+

elem

elem

elem

elem

elem

elem

ここに,elemは“エレメント”を表す。 

この比率によって,位置検出パターンの2〜5番目のエレメントが識別される。 

手順b)と同様の方法を用い,位置検出パターンの最初の1〜4エレメントを合計した幅であるピッチp

から,エッジ〜類似エッジまでの正規化値E1及びE2を得て,位置検出パターンを復号する。E1及びE2の

値が,GS1データバー拡張型の位置検出パターンに対応していることを検証する。 

b) 位置検出パターンのピッチに対する,各隣接シンボルキャラクタのピッチの比率が(17±1.5) : 15の値

になっていることを検証する。次に,各シンボルキャラクタを次のように復号する。 

1) 七つの幅の寸法p,e1,e2,e3,e4,e5及びe6を計算する(図14)。 

 
 
 

background image

42 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

図14−復号に必要な寸法 

注記 この図は,左側の最初のエレメントを暗エレメントで示しているが,シンボルキャラクタは,

左右が反転する場合及び/又は暗と明とが反転する場合がある。 

2) 寸法e1,e2,e3,e4,e5及びe6を,これらの寸法の整数モジュール幅(Ei)を表す正規化された値

E1,E2,E3,E4,E5及びE6に変換する。次の方法を用いてi番目の値を求める。 

1.5p /17≦ei<2.5p /17のときEi=2 

2.5p /17≦ei<3.5p /17のときEi=3 

3.5p /17≦ei<4.5p /17のときEi=4 

4.5p /17≦ei<5.5p /17のときEi=5 

5.5p /17≦ei<6.5p /17のときEi=6 

6.5p /17≦ei<7.5p /17のときEi=7 

7.5p /17≦ei<8.5p /17のときEi=8 

8.5p /17≦ei<9.5p /17のときEi=9 

これ以外の場合は,そのキャラクタを誤りとする。 

3) Eの値から,正規化されたエレメント幅を決定する。最後のエレメントは,Eの値から計算するの

ではなく,残りのモジュールを割り当てる。1モジュール未満の幅をもつエレメントがなく,1モジ

ュール幅の奇数番エレメントが少なくとも一つ存在するのを,有効エレメント幅の唯一の解とする。

例えば,図14の場合,値E1〜E6は{4 2 6 7 3 3}である。これに対する,可能性のあるエレメント並

びは,次のようになる。 

{2 2 0 6 1 2 1 3} 

{3 1 1 5 2 1 2 2} 

{4 0 2 4 3 0 3 1} 

注記1 上記の3個のエレメント並びは,仮に,幅0のモジュールまでを許して考えた場合を指

す。 

注記2 ここで,先頭のエレメントの幅が1だけ減少すると,他の全ての奇数番エレメントの幅

も1ずつ減少し,逆に全ての偶数番エレメントの幅は1ずつ増加している。この性質は,

どのようなE1〜E6の値についても成り立つので,偶数番エレメントの幅の最小が1と

なるエレメント並びは,常にただ一つだけとなることが分かる。 

43 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

この例では,エレメント並び{3 1 1 5 2 1 2 2}だけが,この要件を満たすため,このセットが有効

なエレメント並びである。導き出されたエレメント並びが有効でない場合,そのキャラクタは誤り

になる。附属書Gに,エレメント並びを復号するアルゴリズムの,C言語での実現方法を示す。そ

こでは,まず先頭エレメント幅を1とした暫定的なエレメント幅並びを計算し[この例では,先頭

エレメント幅を1にするとnの値が17モジュールを超えるため,2から始めて{2 2 0 6 1 2 1 3}とな

る。],そのときの偶数番エレメントの幅の最小値(この例では2)から1を減じた値を,偶数番エ

レメントからは減じ,奇数番エレメントには加えて,解としている。 

4) 附属書Bのプログラムによって,奇数サブセット及び偶数サブセットの値を決定する。 

5) 奇数サブセット及び偶数サブセットの値によって,シンボルキャラクタ値を計算する。 

6) 上記の方法で正規化したエレメント幅を用いて,位置検出パターン値を復号し,表15からパターン

を探す。 

7) チェックサムの計算のために,重み係数を乗じたエレメント幅を計算して保存する。 

c) チェックキャラクタによって指定された,シンボルキャラクタ及び位置検出パターンを全て復号した

とき,チェックキャラクタから計算したmod 211のチェックサムが,シンボルキャラクタの重み係数

を乗じたエレメント幅の総和をmod 211で計算し,その結果と一致することを検証する。 

d) シンボルキャラクタをバイナリ列に変換し,そのバイナリ列をAIエレメント列に変換する。 

e) さらに,加速度,サンプリング及び寸法などに対して,特定の読取装置及び用いようとしているアプ

リケーション環境を考慮して,適切と考えられる二次検査を実施する。  

附属書Hに,GS1データバー拡張型向けの実用的なスキャナを設計する上で,読誤りを最小に抑えるた

めに,シンボル復号時に従うことが望ましい追加の注意点を示す。 

シンボル品質 

8.1 

一次元シンボル体系のパラメタ 

JIS X 0520は,バーコードシンボルの印刷品質測定及びグレード付けについて,標準化した方法を規定

している。GS1データバーファミリのシンボルは,その規格に従って評価しなければならない。JIS X 0520

に従って“復号”及び“復号容易度”パラメタを評価するには,GS1データバーファミリの各シンボル用

に規定する参照復号アルゴリズムを用いなければならない。分離パターン内の全てのエレメントが,視覚

的に区別できるようになっていることが望ましい。シンボル品質を評価する上で,分離パターンはグレー

ド付けしない。印刷に関する指針を,附属書Jに示す。 

8.2 

その他の合格基準及び不合格基準 

JIS X 0520では,シンボル体系仕様ごとに,その他の合格基準及び不合格基準を追加して規定できる。

GS1データバーシンボルのタイプ1及びタイプ3では,二つのガードパターンエレメントが存在しなけれ

ばならず,それぞれの幅が3Z以下でなければならないとする基準を追加している。この要件を満たさな

い個々の走査反射率波形のグレードは,全て0(F)とする。 

この規格の対応国際規格では,その第1版の規格に対し“GS1データバー限定型のガードパターンの変

更”が追加された。この規格では,ガードバー及びスペースエレメントは,新たな復号アルゴリズムに従

って検査され,6.2.6 g)及び6.2.6 h)に適合しなければならない。さらに,終端のガードパターンは,次に示

す要求事項を満たすか,又は,当該走査でのグレード“0”として受け入れるか,そのいずれかでなければ

ならない。 

44 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

1) 終端ガードパターン内側のバー幅及びスペース幅の合計は,右シンボルキャラクタを構成する14

エレメントの合計幅の11/52を超えなければならない(5.5モジュール。)。 

8.3 

多層形シンボル 

各段は,JIS X 0520によって,別のシンボルとして評価しなければならない。走査線は,隣接する段か

らの反射が混合することの影響を最小限に抑えるために,JIS X 0520で規定しているように,各段の高さ

の中央部80 %の測定領域を通過しなければならない。1段当たりの最小走査数は,10又は測定領域の高さ

を測定開口径で除した値の,どちらか小さい方であることが望ましい。総合シンボルグレードは,各段に

与えられた総合グレードの,最も低い値にしなければならない。 

送信データ 

GS1データバーファミリは,JIS X 0530で規定している“シンボル体系識別子”とともに用いるように

設計及び意図されている。GS1データバーファミリを用いるアプリケーションでは,リーダを“シンボル

体系識別子を有効”にすることが望ましい。GS1システムでは,シンボル体系識別子を用いる必要がある。

シンボル体系識別子を用いないアプリケーションは,GS1データバーシンボルに含まれるアプリケーショ

ン識別子を認識しないか,又は逆に他のシンボルからのデータをアプリケーション識別子データと誤って

解釈する場合がある。GS1データバーファミリシンボルは,シンボル体系識別子“]e0”プリフィックスを

用いて送信する。GS1データバーファミリの一次元シンボルに二次元コンポーネントが付いていれば,二

次元コンポーネントの最初のAIエレメント列データが,一次元コンポーネントのデータの直後に続く。 

GS1データバー標準型又はGS1データバー限定型シンボルが“]e00110012345678902”を送信する例で

は,太字のデータ1001234567890をシンボル内部で明示的に符号化している。シンボル体系識別子,商品

識別番号を示すアプリケーション識別子“01”及びEAN/UPCのチェックディジットmod 10の“2”が送

信データ列に付加される。 

GS1データバー拡張型は,アプリケーション識別子を符号化する。よって,符号化データのプリフィッ

クスとして,シンボル体系識別子だけを付加する。GS1データバー拡張型は,非データキャラクタFNC1

が,シンボルに含まれている最後のキャラクタでない限り,FNC1を符号化して<GS> (ASCII 29)として送

信することができる。最後のキャラクタの場合は<GS>を送信しない。 

GS1合成シンボルの場合は,一次元コンポーネント内のデータの直後に,二次元コンポーネント内の最

初のAIエレメント列を送信しなければならない。一次元コンポーネントの連結フラグが設定されていれ

ば,通常,リーダは両方のコンポーネントを復号する必要がある。ただし,商品識別番号だけを必要とす

るアプリケーションをサポートするために,リーダは,連結フラグの状態に関係なく,一次元コンポーネ

ントだけを復号して送信するモードもサポートしなければならない。 

リーダは,GS1-128エミュレーションの付加機能をサポートしなければならない。このモードは,GS1

総合仕様書に適合してデータを送信するために,GS1-128シンボル体系をエミュレートする。シンボル体

系識別子は,“]C1”でなければならない。GS1データバー拡張型シンボルのデータキャラクタ数が48を

超える場合は,二つのメッセージとして送信しなければならない。各メッセージには,シンボル体系識別

子プリフィックスである“]C1”を含めなければならない。いずれのメッセージも,48データキャラクタ

を超えてはならない。メッセージは,附属書Dに従って,エレメント列の区切りで分割しなければならな

い。 

45 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

10 目視可能文字情報 

印刷したとき,目視可能データをシンボルの下に,読みやすいフォントで表示しなければならない。GS1

アプリケーション仕様で,目視可能文字情報に関する追加要件を規定している。 

11 モジュールの最小幅及び最大幅(X) 

最小及び最大のX寸法レンジは,アプリケーション標準で明記しなければならない。 

X寸法は,一つのシンボル全体にわたって一定でなければならない。二次元コンポーネントを連結する

場合,GS1データバーシンボルのX寸法は,二次元コンポーネントのX寸法と同じでなければならない。 

12 アプリケーション定義パラメタ 

GS1総合仕様書は,データの内容,X寸法,シンボル高さの最小値,最小シンボル品質グレード,シン

ボルの種類,シンボルの配置に関するパラメタ,及び必要に応じて,その他のアプリケーションパラメタ

を規定している。 

background image

46 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書A 

(規定) 

チェックディジットの計算 

GS1データバー標準型,GS1データバー切詰型,GS1データバー二層型,GS1データバー標準二層型及

びGS1データバー限定型は,表A.1に示すGTIN-14(14桁の商品識別番号)を符号化する。GS1データバ

ー拡張型は,アプリケーション識別子“01”を用いて,GTIN-14の番号構造によって符号化する(表A.1

を参照)。GS1データバー拡張型及びGS1データバー拡張二層型は,アプリケーション識別子“00”を用

いて,SSCC-18番号構造によって符号化する。 

表A.1−GS1番号構造のチェックディジット計算 

数字位置 

GTIN-14 

N1 

N2 

N3 

N4 

N5 

N6 

N7 

N8 

N9 

N10 N11 N12 N13 N14 

SSCC-18 

N1 

N2 

N3 

N4 

N5 

N6 

N7 

N8 

N9 

N10 N11 N12 N13 N14 N15 N16 N17 N18 

各位置の重み係数 

×3 ×1 ×3 ×1 ×3 ×1 ×3 ×1 ×3 ×1 ×3 ×1 ×3 ×1 ×3 ×1 ×3  

重み係数を乗じた値の合計=Sum 

Sumが10の整数倍でない場合は,Sumよりも次に大きな10の整数倍からSumの値を減じた値,又

はSumの値が10の整数倍の場合は“0”がチェックディジットである(チェックディジットの位置
は,GTIN-14のN14及びSSCC-18のN18)。 

GS1のチェックディジットは,GS1データバー標準型及びGS1データバー限定型シンボルに明示的に符

号化しないが,常に,目視可能文字情報に表示し,リーダから送信する。 

47 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書B 

(規定) 

C言語によるエレメント幅の符号器及び復号器 

(n,k)のサブセットごとに,シンボル値をエレメント幅のパターンに割り当てる。C言語の符号化ルーチ

ンgetRSSwidthsは,与えられたサブセット値によってエレメント幅を計算する。C言語の復号ルーチン

getRSSvalueは,与えられたサブセットのエレメント幅によって値を計算する。連続した値は,エレメント

のサブセット幅に順番に割り当てられる。 

注記 Cルーチンには,この規格の第1版で用いていた“RSS”のまま表示している。Cルーチンは,

公開されているソフトウェアの技術的な変更を避けるために,変更していない。 

エレメント幅のシーケンスは,サブセット内で,より小さいエレメント番号に1モジュール幅,又は有

効なサブセットを得る最も狭い幅を割り当てることによって開始する(値が0である最初のパターンでは,

最後のエレメントが1エレメントの最大限界を超えない限り,最後のエレメントを除く全てのエレメント

に1モジュール幅を割り当てる。)。以降の値は,より小さいエレメント番号が,可能な限り幅の狭いモジ

ュールになるようなパターンを割り当てる。例えば,6モジュールからなるサブセットでは,0〜9の値及

びそのモジュール幅パターンは,次のようになる。 

値 

パターン 

1 1 1 3 

1 1 2 2 

1 1 3 1 

1 2 1 2 

1 2 2 1 

1 3 1 1 

2 1 1 2 

2 1 2 1 

2 2 1 1 

3 1 1 1 

最大エレメント幅(maxWidth)よりも広いエレメント幅をもつパターンは,無視する。1モジュール幅

のエレメントを含まないパターンが除外される場合(noNarrow = 0)は,そのパターンも無視する。 

/********************************************************************** 

* getRSSwidths 

* routine to generate widths for RSS elements for a given value. 

48 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

* Calling arguments: 

* val = required value 

* n = number of modules 

* elements = elements in set (RSS-14 & Expanded = 4; RSS Limited = 7) 

* maxWidth = maximum module width of an element 

* noNarrow = 0 will skip patterns without a one module wide element 

* Return: 

* static int widths[] = element widths 

************************************************************************/ 

void getRSSwidths(int val, int n, int elements, int maxWidth, int noNarrow) 

int bar; 

int elmWidth; 

int i; 

int mxwElement; 

int subVal, lessVal; 

int narrowMask = 0; 

for (bar = 0; bar < elements-1; bar++) 

for (elmWidth = 1, narrowMask |= (1<<bar); 

elmWidth++, narrowMask &= ~(1<<bar)) 

/* get all combinations */ 

subVal = combins(n-elmWidth-1, elements-bar-2); 

/* less combinations with no single-module element */ 

if ((!noNarrow) && (narrowMask == 0) && 

(n-elmWidth-(elements-bar-1) >= elements-bar-1)) 

subVal -= combins(n-elmWidth-(elements-bar), elements-bar-2); 

/* less combinations with elements > maxVal */ 

if (elements-bar-1 > 1) 

lessVal = 0; 

for (mxwElement = n-elmWidth-(elements-bar-2); 

mxwElement > maxWidth; 

mxwElement--) 

49 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

lessVal += combins(n-elmWidth-mxwElement-1, elements-bar-3); 

subVal -= lessVal * (elements-1-bar); 

else if (n-elmWidth > maxWidth) 

subVal--; 

val -= subVal; 

if (val < 0) break; 

val += subVal; 

n -= elmWidth; 

widths[bar] = elmWidth; 

widths[bar] = n; 

return; 

/********************************************************************** 

* getRSSvalue 

* routine to calculate the subset value given element widths. 

* Calling arguments: 

* widths[] = the given elemt widths 

* elements = elements in set (RSS-14 & Expanded = 4; 

* RSS Limited = 7) 

* maxWidth = maximum module width of an element 

* noNarrow = 0 will skip patterns without a one module wide element 

* Return: 

* the subset value 

**********************************************************************/ 

int getRSSvalue(int widths[], int elements, int maxWidth, int noNarrow) 

int val = 0; 

int n; 

int bar; 

50 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

int elmWidth; 

int i; 

int mxwElement; 

int subVal, lessVal; 

int narrowMask = 0; 

for (n = i = 0; i < elements; i++) 

n += widths[i]; 

for (bar = 0; bar < elements-1; bar++) 

for (elmWidth = 1, narrowMask |= (1<<bar); 

elmWidth < widths[bar]; 

elmWidth++, narrowMask &= ~(1<<bar)) { 

/* get all nk combinations */ 

subVal = combins(n-elmWidth-1, elements-bar-2); 

/* less combinations with no narrow */ 

if ((!noNarrow) && (narrowMask == 0) && 

(n-elmWidth-(elements-bar-1)>= elements-bar-1)) 

subVal -= combins(n-elmWidth-(elements-bar), 

elements-bar-2); 

/* less combinations with elements > maxVal */ 

if (elements-bar-1 > 1) 

lessVal = 0; 

for (mxwElement = n-elmWidth-(elements-bar-2); 

mxwElement > maxWidth; mxwElement--) 

lessVal += combins(n-elmWidth-mxwElement-1, 

elements-bar-3); 

subVal -= lessVal * (elements-1-bar); 

else if (n-elmWidth > maxWidth) 

subVal--; 

val += subVal; 

51 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

n -= elmWidth; 

return(val); 

/********************************************************************** 

* combins(n,r): returns the number of Combinations of r selected from n: 

* Combinations = n! / ((n ‒ r)! * r!) 

**********************************************************************/ 

int combins(int n, int r) { 

int i, j; 

int maxDenom, minDenom; 

int val; 

if (n-r > r) { 

minDenom = r; 

maxDenom = n-r; 

else { 

minDenom = n-r; 

maxDenom = r; 

val = 1; 

j = 1; 

for (i = n; i > maxDenom; i--) { 

val *= i; 

if (j <= minDenom) { 

val /= j; 

j++; 

for (; j <= minDenom; j++) { 

val /= j; 

return(val); 

background image

52 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書C 
(規定) 

GS1データバー限定型のチェックキャラクタエレメント幅 

値 

シーケンスa) 

エレメント幅(最も左のスペースから最も右のバーまで) 

S1 B1 S2 B2 S3 B3 S4 B4 S5 B5 S6 B6 S7 B7 

10 

10 

11 

11 

12 

12 

13 

13 

14 

14 

15 

15 

16 

16 

17 

17 

18 

18 

19 

19 

20 

20 

21 

21 

22 

22 

23 

23 

24 

24 

25 

25 

26 

26 

27 

27 

28 

28 

29 

29 

30 

30 

31 

31 

32 

32 

33 

33 

34 

34 

35 

35 

36 

36 

37 

37 

38 

38 

background image

53 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

値 

シーケンスa) 

エレメント幅(最も左のスペースから最も右のバーまで) 

S1 B1 B2 S2 S3 B3 S4 B4 S5 B5 S6 B6 S7 B7 

39 

39 

40 

40 

41 

41 

42 

42 

43 

43 

44 

45 

45 

52 

46 

57 

47 

63 

48 

64 

49 

65 

50 

66 

51 

73 

52 

74 

53 

75 

54 

76 

55 

77 

56 

78 

57 

79 

58 

82 

59 

126 

60 

127 

61 

126 

62 

129 

63 

130 

64 

132 

65 

141 

66 

142 

67 

143 

68 

144 

69 

145 

70 

146 

71 

210 

72 

211 

73 

212 

74 

213 

75 

214 

76 

215 

77 

216 

78 

217 

79 

220 

80 

316 

81 

317 

background image

54 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

値 

シーケンスa) 

エレメント幅(最も左のスペースから最も右のバーまで) 

S1 B1 S2 B2 S3 B3 S4 B4 S5 B5 S6 B6 S7 B7 

82 

318 

83 

319 

84 

320 

85 

322 

86 

323 

87 

326 

88 

337 

注a) シーケンスは,最初の6スペース及び最初の6バーが8モジュールとなる全ての組合せ

に対して,附属書Bの“getRSSwidths”が生成した21×21=441通り(番号は0〜440)
のパターンシーケンスの中のシーケンス番号である。このシーケンスは,(“スペースパ
ターン値”×21)+“バーパターン値”として計算する。バー幅及びスペース幅の一覧
の代わりに,シーケンス番号の一覧を用いて,チェックキャラクタセットを定義するこ
ともできる。 

バー及びスペースを生成するためのgetRSSwidthsの引数は,次のとおりである。 

val 

=スペース又はバーに対する“スペースパターン値”又は“バーパターン値”(0〜20), 

=8, 

elements =6, 

maxWidth =3, 

noNarrow =1 

background image

55 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書D 
(規定) 

GS1-128エミュレーションモードでの長いGS1データバー拡張型又は 

GS1データバー拡張多層型シンボルの分割 

GS1-128エミュレーションモードでは,48データキャラクタを超えるGS1データバー拡張型及びGS1

データバー拡張多層型シンボルは,送信する前に二つに分割しなければならない。この分割は,48キャラ

クタという制限を超えるデータを送信しようとするAIエレメント列の先頭で行わなければならない。AI

エレメント列は,FNC1セパレータによって,又は,表D.1に示す固定長のAIエレメント列の終わりのい

ずれかによって決定される。リーダは,次の手順を実行して,48キャラクタを超えるAIエレメント列を

見つけなければならない。 

a) GS1データバー拡張型及びGS1データバー拡張多層型シンボルに含まれるデータが,48キャラクタ

を超える場合は,シンボルの先頭から検査を始める。 

b) 一次元コンポーネントのデータから,先頭の2桁(AIの先頭2桁)を検査する。 

c) その2桁が表D.1にある場合,表D.1のAI項目が示すキャラクタ数だけスキップする。 

d) その2桁が表D.1にない場合,AIもこの表に含まれておらず,そのAIは事前に定義した固定長のAI

ではない。最初にFNC1が現れるか,又はシンボルの末尾に達するまで,データを順方向に検索する。 

e) キャラクタ数が48キャラクタの制限を超えた場合は,処理した最後のエレメント列の先頭でデータを

分割する。それ以外の場合は,次に続く2桁(次のAIの先頭2桁)を検査し,手順c)に進む。 

最初のメッセージがFNC1で終了する場合は,そのFNC1を送信しない。 

表D.1−事前に定義した長さをもつアプリケーション識別子 

アプリケーション識別子の
最初の2桁 

キャラクタ数(アプリケー
ション識別子及びデータ領
域) 

アプリケーション識別子の
最初の2桁 

キャラクタ数(アプリケー
ション識別子及びデータ領
域) 

00 

20 

18 

01 

16 

19 

02 

16 

20 

03 

16 

23 

2n+4 a) 

04 

18 

31 

10 

11 

32 

10 

12 

33 

10 

13 

34 

10 

14 

35 

10 

15 

36 

10 

16 

41 

16 

17 

注a) ここに,nはアプリケーション識別子の3番目(23の直後)の桁である。 

アプリケーション識別子の内,最初の2桁が表D.1に示されている値と一致するものだけを“固定長”

とみなす。その他のアプリケーション識別子は,長さが一定のエレメント列データをもつと定義すること

もできるが,これらのエレメント列は,事前に定義された長さの表に示されていないため,“可変長”とみ

56 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

なさなければならない。将来も,この表に追加はしない。 

background image

57 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書E 

(参考) 

シンボルエレメント 

表E.1,表E.2及び表E.3は,GS1データバーファミリに含む,全てのエレメントを順番に説明したも

のである。 

表E.1−GS1データバー標準型,GS1データバー切詰型,GS1データバー二層型及びGS1データバー標準

二層型エレメントの説明 

エレメント 

バー又はスペース 

内容 

スペース 

左ガードパターンの外側エレメント(1モジュール幅) 

バー 

左ガードパターンの内側エレメント(1モジュール幅) 

スペース 

シンボルキャラクタ1,奇数エレメント1 

バー 

シンボルキャラクタ1,偶数エレメント1 

スペース 

シンボルキャラクタ1,奇数エレメント2 

バー 

シンボルキャラクタ1,偶数エレメント2 

スペース 

シンボルキャラクタ1,奇数エレメント3 

バー 

シンボルキャラクタ1,偶数エレメント3 

スペース 

シンボルキャラクタ1,奇数エレメント4 

10 

バー 

シンボルキャラクタ1,偶数エレメント4 

11 

スペース 

左チェックキャラクタ,エレメント1 

12 

バー 

左チェックキャラクタ,エレメント2 

13 

スペース 

左チェックキャラクタ,エレメント3 

14 

バー 

左チェックキャラクタ,エレメント4(1モジュール幅) 

15 

スペース 

左チェックキャラクタ,エレメント5(1モジュール幅) 

16 

バー 

シンボルキャラクタ2,偶数エレメント4 

17 

スペース 

シンボルキャラクタ2,奇数エレメント4 

18 

バー 

シンボルキャラクタ2,偶数エレメント3 

19 

スペース 

シンボルキャラクタ2,奇数エレメント3 

20 

バー 

シンボルキャラクタ2,偶数エレメント2 

21 

スペース 

シンボルキャラクタ2,奇数エレメント2 

22 

バー 

シンボルキャラクタ2,偶数エレメント1 

23 

スペース 

シンボルキャラクタ2,奇数エレメント1 

24 

バー 

シンボルキャラクタ4,奇数エレメント1 

25 

スペース 

シンボルキャラクタ4,偶数エレメント1 

26 

バー 

シンボルキャラクタ4,奇数エレメント2 

27 

スペース 

シンボルキャラクタ4,偶数エレメント2 

28 

バー 

シンボルキャラクタ4,奇数エレメント3 

29 

スペース 

シンボルキャラクタ4,偶数エレメント3 

30 

バー 

シンボルキャラクタ4,奇数エレメント4 

31 

スペース 

シンボルキャラクタ4,偶数エレメント4 

32 

バー 

右チェックキャラクタエレメント5(1モジュール幅) 

33 

スペース 

右チェックキャラクタエレメント4(1モジュール幅) 

34 

バー 

右チェックキャラクタエレメント3 

35 

スペース 

右チェックキャラクタエレメント2 

36 

バー 

右チェックキャラクタエレメント1 

background image

58 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

表E.1−GS1データバー標準型,GS1データバー切詰型,GS1データバー二層型及びGS1データバー標準

二層型エレメントの説明(続き) 

エレメント 

バー又はスペース 

内容 

37 

スペース 

データキャラクタ3,偶数エレメント4 

38 

バー 

シンボルキャラクタ3,奇数エレメント4 

39 

スペース 

シンボルキャラクタ3,偶数エレメント3 

40 

バー 

シンボルキャラクタ3,奇数エレメント3 

41 

スペース 

シンボルキャラクタ3,偶数エレメント2 

42 

バー 

シンボルキャラクタ3,奇数エレメント2 

43 

スペース 

シンボルキャラクタ3,偶数エレメント1 

44 

バー 

シンボルキャラクタ3,奇数エレメント1 

45 

スペース 

右ガードパターンの内側エレメント(1モジュール幅) 

46 

バー 

右ガードパターンの外側エレメント(1モジュール幅) 

表E.2−GS1データバー限定型エレメントの説明 

エレメント 

バー又はスペース 

内容 

スペース 

左ガードパターンの外側エレメント(1モジュール幅) 

バー 

左ガードパターンの内側エレメント(1モジュール幅) 

スペース 

左シンボルキャラクタ,エレメント1,奇数エレメント1 

バー 

左シンボルキャラクタ,エレメント2,偶数エレメント1 

スペース 

左シンボルキャラクタ,エレメント3,奇数エレメント2 

バー 

左シンボルキャラクタ,エレメント4,偶数エレメント2 

スペース 

左シンボルキャラクタ,エレメント5,奇数エレメント3 

バー 

左シンボルキャラクタ,エレメント6,偶数エレメント3 

スペース 

左シンボルキャラクタ,エレメント7,奇数エレメント4 

10 

バー 

左シンボルキャラクタ,エレメント8,偶数エレメント4 

11 

スペース 

左シンボルキャラクタ,エレメント9,奇数エレメント5 

12 

バー 

左シンボルキャラクタ,エレメント10,偶数エレメント5 

13 

スペース 

左シンボルキャラクタ,エレメント11,奇数エレメント6 

14 

バー 

左シンボルキャラクタ,エレメント12,偶数エレメント6 

15 

スペース 

左シンボルキャラクタ,エレメント13,奇数エレメント7 

16 

バー 

左シンボルキャラクタ,エレメント14,偶数エレメント7 

17 

スペース 

チェックキャラクタエレメント1 

18 

バー 

チェックキャラクタエレメント2 

19 

スペース 

チェックキャラクタエレメント3 

20 

バー 

チェックキャラクタエレメント4 

21 

スペース 

チェックキャラクタエレメント5 

22 

バー 

チェックキャラクタエレメント6 

23 

スペース 

チェックキャラクタエレメント7 

24 

バー 

チェックキャラクタエレメント8 

25 

スペース 

チェックキャラクタエレメント9 

26 

バー 

チェックキャラクタエレメント10 

27 

スペース 

チェックキャラクタエレメント11 

28 

バー 

チェックキャラクタエレメント12 

29 

スペース 

チェックキャラクタエレメント13(1モジュール幅) 

30 

バー 

チェックキャラクタエレメント14(1モジュール幅) 

31 

スペース 

右シンボルキャラクタ,エレメント1,奇数エレメント1 

background image

59 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

表E.2−GS1データバー限定型エレメントの説明(続き) 

エレメント 

バー又はスペース 

内容 

32 

バー 

右シンボルキャラクタ,エレメント2,偶数エレメント1 

33 

スペース 

右シンボルキャラクタ,エレメント3,奇数エレメント2 

34 

バー 

右シンボルキャラクタ,エレメント4,偶数エレメント2 

35 

スペース 

右シンボルキャラクタ,エレメント5,奇数エレメント3 

36 

バー 

右シンボルキャラクタ,エレメント6,偶数エレメント3 

37 

スペース 

右シンボルキャラクタ,エレメント7,奇数エレメント4 

38 

バー 

右シンボルキャラクタ,エレメント8,偶数エレメント4 

39 

スペース 

右シンボルキャラクタ,エレメント9,奇数エレメント5 

40 

バー 

右シンボルキャラクタ,エレメント10,偶数エレメント5 

41 

スペース 

右シンボルキャラクタ,エレメント11,奇数エレメント6 

42 

バー 

右シンボルキャラクタ,エレメント12,偶数エレメント6 

43 

スペース 

右シンボルキャラクタ,エレメント13,奇数エレメント7 

44 

バー 

右シンボルキャラクタ,エレメント14,偶数エレメント7 

45 

スペース 

右ガードパターンの内側エレメント(1モジュール幅) 

46 

バー 

右ガードパターンの外側エレメント(1モジュール幅) 

47 

スペース 

右ガードパターンの外側エレメント(5モジュール幅) 

表E.3−GS1データバー拡張型(6セグメントフォーマット)エレメントの説明 

エレメント 

バー又はスペース 

内容 

スペース 

左ガードパターンの外側エレメント(1モジュール幅) 

バー 

左ガードパターンの内側エレメント(1モジュール幅) 

スペース 

シンボルキャラクタ1,奇数エレメント1(4モジュール以下に制限) 

バー 

シンボルキャラクタ1,偶数エレメント1 

スペース 

シンボルキャラクタ1,奇数エレメント2 

バー 

シンボルキャラクタ1,偶数エレメント2 

スペース 

シンボルキャラクタ1,奇数エレメント3 

バー 

シンボルキャラクタ1,偶数エレメント3 

スペース 

シンボルキャラクタ1,奇数エレメント4 

10 

バー 

シンボルキャラクタ1,偶数エレメント4 

11 

スペース 

位置検出パターンA1,エレメント1 

12 

バー 

位置検出パターンA1,エレメント2 

13 

スペース 

位置検出パターンA1,エレメント3 

14 

バー 

位置検出パターンA1,エレメント4(1モジュール幅) 

15 

スペース 

位置検出パターンA1,エレメント5(1モジュール幅) 

16 

バー 

シンボルキャラクタ2,偶数エレメント4 

17 

スペース 

シンボルキャラクタ2,奇数エレメント4 

18 

バー 

シンボルキャラクタ2,偶数エレメント3 

19 

スペース 

シンボルキャラクタ2,奇数エレメント3 

20 

バー 

シンボルキャラクタ2,偶数エレメント2 

21 

スペース 

シンボルキャラクタ2,奇数エレメント2 

22 

バー 

シンボルキャラクタ2,偶数エレメント1 

23 

スペース 

シンボルキャラクタ2,奇数エレメント1(4モジュール以下に制限) 

24 

バー 

シンボルキャラクタ3,奇数エレメント1(4モジュール以下に制限) 

25 

スペース 

シンボルキャラクタ3,偶数エレメント1 

26 

バー 

シンボルキャラクタ3,奇数エレメント2 

27 

スペース 

シンボルキャラクタ3,偶数エレメント2 

background image

60 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

表E.3−GS1データバー拡張型(6セグメントフォーマット)エレメントの説明(続き) 

エレメント 

バー又はスペース 

内容 

28 

バー 

シンボルキャラクタ3,奇数エレメント3 

29 

スペース 

シンボルキャラクタ3,偶数エレメント3 

30 

バー 

シンボルキャラクタ3,奇数エレメント4 

31 

スペース 

シンボルキャラクタ3,偶数エレメント4 

32 

バー 

位置検出パターンB2,エレメント5(1モジュール幅) 

33 

スペース 

位置検出パターンB2,エレメント4(1モジュール幅) 

34 

バー 

位置検出パターンB2,エレメント3 

35 

スペース 

位置検出パターンB2,エレメント2 

36 

バー 

位置検出パターンB2,エレメント1 

37 

スペース 

シンボルキャラクタ4,偶数エレメント4 

38 

バー 

シンボルキャラクタ4,奇数エレメント4 

39 

スペース 

シンボルキャラクタ4,偶数エレメント3 

40 

バー 

シンボルキャラクタ4,奇数エレメント3 

41 

スペース 

シンボルキャラクタ4,偶数エレメント2 

42 

バー 

シンボルキャラクタ4,奇数エレメント2 

43 

スペース 

シンボルキャラクタ4,偶数エレメント1 

44 

バー 

シンボルキャラクタ4,奇数エレメント1(4モジュール以下に制限) 

45 

スペース 

シンボルキャラクタ5,奇数エレメント1(4モジュール以下に制限) 

46 

バー 

シンボルキャラクタ5,偶数エレメント1 

47 

スペース 

シンボルキャラクタ5,奇数エレメント2 

48 

バー 

シンボルキャラクタ5,偶数エレメント2 

49 

スペース 

シンボルキャラクタ5,奇数エレメント3 

50 

バー 

シンボルキャラクタ5,偶数エレメント3 

51 

スペース 

シンボルキャラクタ5,奇数エレメント4 

52 

バー 

シンボルキャラクタ5,偶数エレメント4 

53 

スペース 

位置検出パターンB1,エレメント1 

54 

バー 

位置検出パターンB1,エレメント2 

55 

スペース 

位置検出パターンB1,エレメント3 

56 

バー 

位置検出パターンB1,エレメント4(1モジュール幅) 

57 

スペース 

位置検出パターンB1,エレメント5(1モジュール幅) 

58 

バー 

シンボルキャラクタ6,偶数エレメント4 

59 

スペース 

シンボルキャラクタ6,奇数エレメント4 

60 

バー 

シンボルキャラクタ6,偶数エレメント3 

61 

スペース 

シンボルキャラクタ6,奇数エレメント3 

62 

バー 

シンボルキャラクタ6,偶数エレメント2 

63 

スペース 

シンボルキャラクタ6,奇数エレメント2 

64 

バー 

シンボルキャラクタ6,偶数エレメント1 

65 

スペース 

シンボルキャラクタ6,奇数エレメント1(4モジュール以下に制限) 

66 

バー 

右ガードパターンの内側エレメント(1モジュール幅) 

67 

スペース 

右ガードパターンの外側エレメント(1モジュール幅) 

background image

61 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書F 

(参考) 
符号化例 

F.1 

GS1データバー標準型及びGS1データバー切詰型 

図F.1のGS1合成シンボルに含むGS1データバー標準型一次元コンポーネントは,連結フラグ“1”(二

次元コンポーネントが存在することを示す。)及び商品識別番号“24012345678905”を符号化したものであ

る。 

図F.1−GS1合成シンボルの例 

GS1データバー標準型一次元コンポーネントのエレメント幅は,次の手順で求める。 

a) シンボルの値は,連結フラグ“10000000000000”+商品識別番号“2401234567890”=“12401234567890”

である(チェックディジットの“5”を含めない。)。 

b) 左側及び右側のシンボルキャラクタ組の値は,次のとおりである。 

309

733

 2 

077

537

 4 

div

890

567

234

401

12

left 

=

=

097

170

 1 

077

537

 4 

mod

890

567

234

401

12

right 

=

=

c) 四つのシンボルキャラクタは,次のとおりである。 

data 1=left div 1 597=2 733 309 div 1 597=1 711 

data 2=left mod 1 597=2 733 309 mod 1 597=842 

data 3=right div 1 597=1 170 097 div 1 597=732 

data 4=right mod 1 597=1 170 097 mod 1 597=1 093 

d) 四つのシンボルキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。 

data 1は(16,4)であり,1 711の値はグループ3にあるため,奇数サブセット及び偶数サブセットの

モジュール数は8及び8である。VODD及びVEVENを求める計算式にdata 1の値を当てはめる。 

22

  

34

div

750

  

34

div

961)

  

711

 (1

  

34

div

961)

  

(data1

  

VODD1

=

=

=

=

34

mod

750

  

34

mod

961)

711

 (1

34

mod

961)

  

(data1

  

VEVEN1

=

=

=

=

data 2は(15,4)であり,842の値はグループ2にあるため,奇数サブセット及び偶数サブセットのモ

ジュール数は7及び8である。VEVEN及びVODDを求める計算式にdata 2の値を当てはめる。 

VEVEN2=(data 2−336)div 20=(842−336) div 20=506 div 20=25 

VODD2=(data 2−336)mod 20=(842−336) mod 20=506 mod 20=6 

data 3は(16,4)であり,732の値はグループ2にあるため,奇数サブセット及び偶数サブセットのモ

ジュール数は10及び6である。VODD及びVEVENを求める計算式にdata 3の値を当てはめる。 

VODD3=(data 3−161)div 10=(732−161) div 10=571 div 10=57 

62 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

VEVEN3=(data 3−161)mod 10=(732−161) mod 10=571 mod 10=1 

data 4は(15,4)であり,1 093の値はグループ3にあるため,奇数サブセット及び偶数サブセットの

モジュール数は9及び6である。VEVEN及びVODDを求める計算式にdata 4の値を当てはめる。 

VEVEN4=(data 4−1 036)div 48=(1 093−1 036) div 48=57 div 48=1 

VODD4=(data 4−1 036)mod 48=(1 093−1 036) mod 48=57 mod 48=9 

注記 対応国際規格では“VEVEN4=(data 4−1 036) div 20…”及び“VODD4=(data 4−1 036) mod 20…”

であるが,誤りであるため“VEVEN4=(data 4−1 036) div 48…”及び“VODD4=(data 4−1 036) mod 

48…”にした。 

e) 附属書BのGS1データバーサブセット幅アルゴリズムによって,サブセットの値から次の幅を得る。 

odd 1 (value 22) = 3 1 1 3 

even 1 (value 2) = 1 1 3 3 

したがって,data 1のエレメント列は{3 1 1 1 1 3 3 3}である。 

odd 2 (value 6) = 1 2 3 1 

even 2 (value 25) = 3 1 1 3 

したがって,data 2のエレメント列は{1 3 2 1 3 1 1 3}である(左右が反転する。)。 

odd 3 (value 57) = 3 3 3 1 

even 3 (value 1) = 1 1 2 2 

したがって,data 3のエレメント列は{3 1 3 1 3 2 1 2}である(左右が反転する。)。 

odd 4 (value 9) = 1 2 4 2 

even 4 (value 1) = 1 1 2 2 

したがって,data 4のエレメント列は{1 1 2 1 4 2 2 2}である。 

f) 

チェックサムを計算する。 

data 1: 3×1+1×3+1×9+1×27+1×2+3×6+3×18+3×54     =278 

data 2: 1×4+3×12+2×36+1×29+3×8+1×24+1×72+3×58  =435 

data 3: 3×16+1×48+3×65+1×37+3×32+2×17+1×51+2×74=657 

data 4: 1×64+1×34+2×23+1×69+4×49+2×68+2×46+2×59=755 

                             合計   2 125 

したがって,チェックサムは,2 125 mod 79 = 71である。 

g) チェックサムから,二つのチェックキャラクタを計算する。 

71は8以上であるため,中間位置検出パターンの組の値は71 + 1 = 72である。 

72は72以上であるため,位置検出パターンの組の値は72 + 1 = 73である。 

左チェックキャラクタは 73 div 9 = 8 

右チェックキャラクタは 73 mod 9 = 1 

左チェックキャラクタ“8”のエレメント列は{1 3 9 1 1}である。 

右チェックキャラクタ“1”のエレメント列は{3 5 5 1 1}である(左右が反転する。)。 

h) シンボルのエレメント幅は,左側のガードパターン,シンボルキャラクタ1,左側のチェックキャラ

クタ,シンボルキャラクタ2(左右反転),シンボルキャラクタ4,右側のチェックキャラクタ(左右

反転),シンボルキャラクタ3(左右反転),右側のガードパターンの順になり,全体は次のとおりで

ある。 

{1 1, 3 1 1 1 1 3 3 3, 1 3 9 1 1, 3 1 1 3 1 2 3 1, 1 1 2 1 4 2 2 2, 1 1 5 5 3, 2 1 2 3 1 3 1 3, 1 1} 

background image

63 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

F.2 

GS1データバー限定型 

図F.2のGS1データバー限定型シンボルは,商品識別番号“00098765432105”を符号化したものである。 

図F.2−GS1データバー限定型シンボルの例 

GS1データバー限定型シンボルのエレメント幅は,次の手順で求める。 

a) 商品識別番号が00098765432105のとき,シンボルの値は9876543210である(チェックディジット“5”

を含めない。)。 

b) 左側及び右側のシンボルキャラクタ値は,次のとおりである。 

904

 4 

571

013

 2 

div

210

543

876

 9 

left 

=

=

026

991

 1 

571

013

 2 

mod

210

543

876

 9 

right 

=

=

c) 二つのシンボルキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。 

値4 904の左側のデータは,グループ1にあるため,奇数/偶数サブセットのモジュール数は17/9

である。したがって,次のようになる。 

175

28

div

904

 4 

28

div

0)

data

(left 

odd

left

=

=

=

28

mod

904

 4 

28

mod

0)

data

(left 

even 

left 

=

=

=

値1 991 026の右側のデータは,グループ6にあるため,奇数/偶数サブセットのモジュール数は

19/7である。したがって,次のようになる。 

181

11

 1 

div

181

11

 1 

div

845)

979

 1 

data

(right 

odd

right 

=

=

=

 1 

mod

181

11

 1 

mod

845)

979

 1 

data

(right 

even 

right 

=

=

=

d) 附属書BのGS1データバーサブセット幅アルゴリズムによって,サブセットの値から次の幅を得る。 

left odd(value 175)= {1 1 2 2 2 4 5} 

left even(value 4)= {1 1 1 1 2 2 1} 

したがって,左側データのエレメント列は,{1 1 1 1 2 1 2 1 2 2 4 2 5 1}である。 

right odd(value 11 181)= {3 3 1 3 5 2 2} 

right even(value 0)= {1 1 1 1 1 1 1} 

したがって,右側のエレメント列は,{3 1 3 1 1 1 3 1 5 1 2 1 2 1}である。 

e) チェックサムを計算する。 

926

  

66

22

37

42

14

2

64

51

17

65

81

27

 9

 3

 1

1  

data

left 

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

995

  

74

84

28

39

13

34

41

73

54

18

 6

 2

3  

60

20

3  

data

right 

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

したがって,チェックサムは(926 + 995) mod 89 = 52である。 

f) 

附属書Bから,値52のエレメント幅は,{1 1 1 2 1 1 2 1 1 2 2 1 1 1}である。 

g) シンボルのエレメント幅は,左側のガードパターン,左側のシンボルキャラクタ,チェックキャラク

タ,右側のシンボルキャラクタ,右側のガードパターンの順に,次のようになる。 

{1 1, 1 1 1 1 2 1 2 1 2 2 4 2 5 1, 1 1 1 2 1 1 2 1 1 2 2 1 1 1, 3 1 3 1 1 1 3 1 5 1 2 1 2 1, 1 1} 

background image

64 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

F.3 

GS1データバー拡張型 

図F.3のGS1データバー拡張型シンボルは,データ“(10)12A”を符号化したものである。この例のデー

タには,商品識別番号を含んでいない。単に,説明のために示したものである。 

図F.3−GS1データバー拡張型シンボルの例 

GS1データバー拡張型シンボルのエレメント幅は,次の手順で求める。 

a) このシンボルは,1012Aを符号化する。 

b) ビット領域は,次のとおりである。 

連結フラグ 

= 0(二次元コンポーネントはない) 

符号化方式 

= 00 (AI 01ではない) 

可変長ビット 

= 00 (偶数セグメント,グループ1) 

データビット10  = 0010011 (数字符号化) 

             12 = 0010101 (数字符号化) 

  0000 (英数字切換え) 

A = 100000 (英数字符号化) 

埋め草(パディング) 

= 0010000 

したがって,データエレメント列は,{000000010011001010100001000000010000}である。 

注記 この例は,7.2.5に記述された方法に従っている。 

c) 12ビット値にグループ化したデータは,000000010011,001010100001及び000000010000である。三

つのシンボルキャラクタ値は,次のとおりである。 

シンボルキャラクタ1 = 000000010011 = 19 

シンボルキャラクタ2 = 001010100001 = 673 

シンボルキャラクタ3 = 000000010000 = 16 

d) 二つのシンボルキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。 

シンボルキャラクタ1の値は19で,グループ1にあるため,奇数/偶数サブセットのモジュール数

が12/5である。したがって,次のようになる。 

 4 

div

19

 4 

div

0)

 1 

(data

 1 

odd

=

=

=

 4 

mod

19

 4 

mod

0)

 1 

(data

 1

even 

=

=

=

シンボルキャラクタ2の値は673で,グループ2にあるため,奇数/偶数サブセットのモジュール

数が10/7である。したがって,次のようになる。 

16

20

div

325

20

div

348)

 2 

(data

 2 

odd

=

=

=

20

mod

325

20

mod

348)

 2 

(data

 2

even 

=

=

=

シンボルキャラクタ3の値は16で,グループ1にあるため,奇数/偶数サブセットのモジュール数

が12/5である。したがって,次のようになる。 

 4 

div

16

 4 

div

0)

 3 

(data

 3 

odd

=

=

=

65 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

 4 

mod

16

 4 

mod

0)

 3 

(data

 3

even 

=

=

=

e) 附属書Bの拡張形GS1データバーサブセット幅アルゴリズムによって,サブセットの値から次の幅を

得る。 

odd 1(value 4)= {1 1 7 3} 

even 1(value 3)= {2 1 1 1} 

したがって,シンボルキャラクタ1のエレメント列は,{1 2 1 1 7 1 3 1}(左右が反転する。)である。 

odd 2(value 16)= {1 5 1 3} 

even 2(value 5)= {1 2 2 2} 

したがって,シンボルキャラクタ2のエレメント列は,{1 1 5 2 1 2 3 2}である。 

odd 3(value 4)= {1 1 7 3} 

even 3(value 0)= {1 1 1 2} 

したがって,シンボルキャラクタ3のエレメント列は,{1 1 1 1 7 1 3 2}(左右が反転する。)である。 

f) 

チェックサムを計算する。 

007

 1 

77

96

32

81

27

 9

 3

 1

 1 

data

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

562

 1 

63

21

 7

143

118

180

60

20

 2 

data

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

382

 2 

205

209

140

117

39

13

145

189

 3 

data

=

×

+

×

+

×

+

×

+

×

+

×

+

×

+

×

=

したがって,チェックサムは,(1 007 + 1 562 + 2 382) mod 211 = 98である。 

g) チェックキャラクタを計算する。

98

  

98

4)

211(length

=

+

チェックキャラクタの奇数サブセット及び偶数サブセットの値は,次のとおりである。 

チェックキャラクタの値98は,グループ1にあるため,奇数/偶数サブセットのモジュール数が

12/5である。したがって,次のようになる。 

24

 4 

div

98

 4 

div

check 

 c 

odd

=

=

=

 4 

mod

98

 4 

mod

check 

 c

even 

=

=

=

附属書BのGS1データバー拡張型サブセット幅アルゴリズムによって,サブセットの値から次の幅

を得る。 

odd c(value 24)= {1 5 1 5} 

even c(value 2)= {1 2 1 1} 

したがって,チェックキャラクタのエレメント列は,{1 1 5 2 1 1 5 1}である。 

h) シンボルのエレメント幅は,左側のガードパターン,位置検出パターンA1,シンボルキャラクタ1(左

右反転),シンボルキャラクタ2,位置検出パターンA2,シンボルキャラクタ3 (左右反転)及び右

側のガードパターンの順になり,全体は,次のとおりである。 

{1 1, 1 1 5 2 1 1 5 1, 1 8 4 1 1, 1 3 1 7 1 1 2 1,1 1 5 2 1 2 3 2, 1 1 4 8 1, 2 3 1 7 1 1 1 1, 1 1} 

66 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書G 
(参考) 

C言語によるエレメント幅復号器 

#include <stdio.h> 

/********************************************************************** 

* These two routines -- elements() and elementsExp() -- 

* take as inputs: 

* eDist[] = the first (2*K)-2 edge-to-similar-edge normalized values 

* (starting always from the Finder outward!!), and 

* N and K which define the character structure, 

* and they fill as output: 

* widths[] = the 2*K derived element widths. 

* For RSS-14 characters, call: 

* elements(*eDist,*widths,15,4) for the inside characters & 

* elements(*eDist,*widths,16,4) for the outside characters. 

* For RSS Limited characters, call elements(*eDist,*widths,26,7). 

* For RSS Expanded characters, call elementsExp(*eDist,*widths,17,4). 

**********************************************************************/ 

/********************************************************************** 

* elements() determines the element widths of an (n,k) character with 

* at least one even-numbered element that's just one module wide. 

* (Note: even-numbered elements - 2nd, 4th, 6th, etc., have odd indexes) 

**********************************************************************/ 

void elements (int *eDist, int *widths, int N, int K) { 

int i; 

int minEven; 

int barSum; 

/* derive element widths from normalized edge-to-similar-edge measurements */ 

minEven = 10; /* start with a too big minimum */ 

barSum = widths[0] = 1; /* first assume 1st bar is 1 */ 

for (i = 1; i < K*2-2; i += 2) { 

widths[i] = eDist[i-1] - widths[i-1]; 

widths[i+1] = eDist[i] - widths[i]; 

barSum += widths[i] + widths[i+1]; 

67 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

if (widths[i] < minEven) minEven = widths[i]; 

widths[K*2-1] = N - barSum; /* last even element makes N modules */ 

if (widths[K*2-1] < minEven) minEven = widths[K*2-1]; 

if (minEven > 1) { 

/* minimum even width is too big, readjust so minimum even is 1 */ 

for (i = 0; i < K*2; i += 2) { 

widths[i] += minEven-1; 

widths[i+1] -= minEven-1; 

return; 

/********************************************************************** 

* elementsExp() determines the element widths of an (n,k) character with at least one odd-numbered element 

that's just one * module wide (Note: odd-numbered elements - 1st, 3rd, 5th, etc., have even indexes) 

**********************************************************************/ 

void elementsExp (int *eDist, int *widths, int N, int K) { 

int i; 

int minOdd; 

int barSum; 

/* derive element widths from normalized edge-to-similar-edge measurements */ 

minOdd = 8; /* start with minimum == assumed first element width */ 

barSum = widths[0] = 8; /* first assume 1st bar is max, 8 */ 

for (i = 1; i < K*2-2; i += 2) { 

widths[i] = eDist[i-1] - widths[i-1]; 

widths[i+1] = eDist[i] - widths[i]; 

barSum += widths[i] + widths[i+1]; 

if (widths[i+1] < minOdd) minOdd = widths[i+1]; 

widths[K*2-1] = N - barSum; /* last even element makes N modules */ 

if (minOdd > 1) { 

/* minimum odd width is too big, readjust so minimum odd is 1 */ 

for (i = 0; i < K*2; i += 2) { 

widths[i] -= minOdd-1; 

widths[i+1] += minOdd-1; 

return; 

68 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

/********************************************************************** 

* main() demonstrates the "elements" subroutines for RSS-14, RSS Limited, and RSS Expanded. 

**********************************************************************/ 

void main (void) { 

int eDist14[6] = { 5,3,3,3,4,5 }; 

int eDistLim[12] = { 2,3,4,3,4,4,6,6,2,2,3,4 }; 

int eDistExp[6] = { 2,3,3,3,3,3 }; 

int widths[14]; 

int i; 

/* for RSS-14 outside character */ 

elements(eDist14, widths, 16,4); 

printf("¥nRSS 14 (16,4) elements: "); 

for (i = 0; i < 8; i++) printf("%d ", widths[i]); 

/* for RSS-14 inside character */ 

elements(eDist14, widths, 15,4); 

printf("¥nRSS 14 (15,4) elements: "); 

for (i = 0; i < 8; i++) printf("%d ", widths[i]); 

/* for RSS Limited */ 

elements(eDistLim, widths, 26,7); 

printf("¥nRSS Limited elements: "); 

for (i = 0; i < 14; i++) printf("%d ", widths[i]); 

/* for RSS Expanded */ 

elementsExp(eDistExp, widths, 17,4); 

printf("¥nRSS Expanded elements: "); 

for (i = 0; i < 8; i++) printf("%d ", widths[i]); 

printf("¥n"); 

return; 

background image

69 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書H 
(参考) 

読誤りを少なくするために 

H.1 概要 

GS1データバー限定型を除く全てのGS1データバーのバージョンは,それぞれが位置検出パターン及び

隣接するシンボルキャラクタを含むセグメント単位で走査できるように設計している。スキャナによって

は,多方向走査を効率よく行うために,1セグメントごとの復号を必要とする場合がある。これらのスキ

ャナでは,見せかけのセグメント(例えば,画像内又はシンボル中の誤った位置で見られる。)による読誤

りの可能性を最小にすることが重要である。さらに,全てのスキャナ及び全てのGS1データバーシンボル

(GS1データバー限定型を含む。)では,シンボルチェック値をシンボルキャラクタ値ではなくエレメン

ト幅から得るので,一つのシンボルキャラクタに二つのエッジ誤りがあると検出されない場合があり,シ

ンボルの読誤りの原因になる。 

GS1データバー標準型シンボルで,二つのエッジ誤りが検出されない例を図H.1に示す。上側のシンボ

ルは,走査した本来のシンボルであり,下側のシンボルは,上側のシンボルを読み誤って復号したデータ

を元に再現したものである。 

図H.1−どちらも有効なGS1データバー標準型シンボル 

(一つのシンボルキャラクタ内で,二つのエッジだけが異なる。) 

これらのGS1データバーシンボル体系の特性によって,データを冗長に取得するなどの,安全性を高め

る手段が必要となる。次に示すアルゴリズムを推奨するが,同程度の安全性が得られる他のアルゴリズム

でもよい。 

H.2 ボーティング 

a) ボーティングの仕組み 

70 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

各走査によって集めたデータを処理中に,各々のセグメント位置(又は,GS1データバー限定型の

場合はシンボル全体を指す。)を復号した候補値を蓄積する。各々のセグメント位置(GS1データバ

ー拡張型の場合が最大24,GS1データバー限定型が一つ及びそれ以外のシンボルが四つ。)について

復号した候補値のリスト(それぞれ何回復号したかを含む。)を別に保持する。 

各走査の処理が終わった後は,どの走査で見つかったセグメントかにかかわらず,各々のセグメン

ト位置(又はGS1データバー限定型の場合はシンボル全体を指す。)について,復号回数が最多の候

補値を選ぶ。あるセグメント位置(又は,GS1データバー限定型の場合はシンボル全体を指す。)に

ついて選ぶ値は,次点の値よりも2回以上多く復号していることが必要である。もし,与えられた位

置の候補値が一つだけの場合でも,その値は2回以上復号している必要がある。 

GS1データバー限定型の場合は,シンボル全体が同じ値で2回以上復号していなければならない。 

b) 例 

キャラクタ値がA,B,C及びDのGS1データバー標準型シンボルがあると仮定する。最初の走査

から得られた値がABであり,2回目がBCD,3回目がD及び4回目がABCであった。この時点で,

四つのキャラクタ全てが2回以上見つかっており,そのキャラクタを元に復号が継続できる。 

4回目の走査で得た値がABCではなくABEだと仮定した場合,3番目のキャラクタEは,違う値

である。3番目のキャラクタは,読み誤った値である。3番目のキャラクタについて,候補値の一つが

他の候補値よりも2回以上多く見つかるまで,走査を続けなければならない。 

この例を続けると,次の走査がABC,その次がFBCであった場合,最初のキャラクタFは,違う

値である。3番目のキャラクタは,Cに決定される。Cは,3回復号されたが,Eは,1回復号された

だけであり,2回の差がある。 

直近の走査で1番目のキャラクタに読誤りがあった場合,既に,値Aが3回見つかっており,Fが

1回だけであるために,(直近の走査による値が,それまでの多数と違っていても)最初のキャラクタ

をAと認めることができ,もし,チェックディジットが位置検出パターンによって符号化した値と一

致するように計算されれば,復号が継続できる。 

H.3 段ごとの復号化 

スキャナの通常の使用方法として,走査線がシンボル全体又はシンボルの段を全て通過するように,ス

キャナの向きを調整する操作がある場合には,H.1に示したボーティングに加えて,追加の安全対策を講

じることが望ましい。復号器では,少なくとも,隣り合う二つのセグメントを含むデータだけを受け付け

るのが望ましい。例えば,位置検出パターン−キャラクタ−キャラクタ−位置検出パターンの組合せ又は

キャラクタ−位置検出パターン−キャラクタの組合せである。したがって,位置検出パターン及びキャラ

クタだけしかないセグメントは受け付けないのがよい。 

H.4 一貫性の検査 

スキャナ設計者は,特に,単一のセグメント(一つのキャラクタ及び位置検出パターン)だけを走査し

たときに復号ができるように設計している場合,キャラクタからキャラクタまでの距離及びインクのにじ

みの一貫性を検査する機能を実装するのがよい。 

a) ピッチの検査 

位置検出パターンの四つのエレメントを合計したピッチと,その位置検出パターンに隣り合うシン

ボルキャラクタのピッチとの比率を求め,名目比率に対して誤差が7 %を超えないことを確認する。

71 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

この場合の位置検出パターンの四つのエレメントとは,細エレメントのペアの内,外側のエレメント

を除いた四つである。例えば,{1,5,7,1,1}というパターンをもつ位置検出パターンのピッチは,初め

の四つのエレメント{1,5,7,1}の幅の合計である。 

b) インクにじみの検査 

位置検出パターン内のバー幅の平均偏差と,隣接するシンボルキャラクタ内のバー幅の平均偏差と

の差が,0.3X以内であることを確認する。 

H.5 GS1データバー限定型復号についての考察 

この規格では,一部のUPC-Aシンボルを,誤ってGS1データバー限定型シンボルとして読むことを防

ぐために,GS1データバー限定型に対して,印刷及び復号に必要なガードバー要件を含める。 

H.5.1 初期の参照復号アルゴリズム及びガードバー 

旧規格(ISO/IEC 24724:2006)の参照復号アルゴリズムでは,復号するために,ガードバーの存在は必

須でなかったが,誤って読むことを防ぐには,正しいガードバーが存在することを確認することが不可欠

である。さらに,シンボルの最初のガードバーの左隣りに大きなスペースがあることを確認することも必

須である。 

図8−(a)を見ると,初期のGS1データバー限定型は,次のようなガードパターンを含んでいる。 

− 1モジュール幅以上のスペース及び1モジュールのバーから成る左側のガードパターン。 

− 1モジュール幅のスペース及び1モジュール幅以上のバーから成る右側のガードパターン。 

ここで,図8−(a)及び図8−(b)(背景を暗にしたシンボル)に,より明確に描かれている最後のガード

スペースは,初期のGS1データバー限定型のガードパターンには含まれておらず,この規格の対応国際規

格で追加されたことに注意が必要である。 

H.5.2 UPC-Aシンボルを(GS1データバー限定型として)読み誤る可能性 

UPC−Aシンボルの中には,図H.2の最上段シンボルに示すように,回転させたGS1データバー限定型

のシンボルが存在する場合があり,“読誤り”を引き起こす可能性がある。すなわち,UPC-Aシンボルを

走査し,GS1データバー限定型用の初期の参照復号アルゴリズムで復号すると,そのアルゴリズムでは,

正しいGS1データバー限定型のシンボルとして復号するが,この結果得られたデータは,UPC-Aシンボ

ルに符号化されたGTIN(商品識別コード)とは違うものになる。 

background image

72 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

図H.2−いずれも問題のあるUPC-Aの例(09,07,04及び02) 

データの先頭が2,4,7及び9(GS1企業コードでいえば,02,04,07及び09)のUPC-Aシンボルの

中で,“問題のあるシンボル”は,1 332 350個存在する。それぞれの例を,これらの数字に対応して読誤

りの結果生じるGS1データバー限定型シンボルとともに図H.2に示す。読誤りは,これらのUPC-Aシン

ボルで,又は,エッジ誤りによってこれらのシンボルに変化する類似のシンボルだけで起こる。 

H.5.3 UPC-Aシンボルの読誤りを防ぐ方法 

次に示す三つの方法をGS1データバー限定型の初期の参照復号アルゴリズムに追加する。これらの方法

を盛り込んで改定した参照復号アルゴリズムを6.2.6に規定する。この三つの方法を組み合わせることに

よって,UPC-Aシンボルの読誤りの可能性を,事実上取り除く。GS1データバー限定型を読み取るリーダ

には,この三つ又は同等な方法を実装しなければならない。 

H.5.3.1 手順1 

図H.3−“02(“04”も同じ)”の場合 

background image

73 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

初期の参照復号アルゴリズムは,ガードパターンの内側エレメントをチェックしていなかった。 

例えば,図3の,GS1データバー限定型シンボルを回転させたときに左側になる,右のガードパターン

を考察する。パターンは,データキャラクタ側から見て幅が常に1Xのスペース及び幅が1X以上のバーで

ある。一方,問題となるUPC-Aにおいて対応するスペースの幅は2Xである。 

強化された現行のガードパターンの内側エレメントは,2及び4で始まる全てのUPC-Aシンボルを“読

み誤る可能性のある”リストから除くことができる。 

H.5.3.2 手順2 

図H.4−“07(“09”も同じ)”の場合 

上記のシンボル対の読誤りは,初期の参照復号アルゴリズムでは避けられない。右ガードパターン(図

H.4のシンボル限定型の左側)は,データキャラクタ側から見て幅が常に1Xのスペース及び幅が1X以上

のバーである。 

追加の要件として,右ガードパターンの構成を,1Xスペース,1Xバー及び5Xスペースとする。それ

によって,現行のプリンタ及び現存するほとんど全てのシンボルに影響を与えずに,7及び9で始まる全

てのUPC-Aシンボルを“読み誤る可能性のある”リストから除くことができる。 

既存のシンボルの幾つかは,影響を受ける。それらは,初期の規格によって許されていて,暗い背景に

印刷され,右ガードパターンのバーが背景に溶け込むシンボルである。これらのシンボルは,GS1データ

バー限定型シンボルとして復号されない。この規格では,シンボルの右ガードパターンの最後のエレメン

トとして,バーエレメントに続くスペースエレメントを常に生成しなければならない。 

GS1データバー限定型を復号するリーダは,類似又は同等の検査をしなければならない。 

H.5.3.3 手順3 

この手順は,左ガードパターンのバーが太いGS1データバー限定型シンボルを含むUPC-Aシンボルの

一部を走査する場合に,図H.5で示すように,走査線の反対側でUPC-Aキャラクタの存在を見つけるこ

とによって,読誤りを防止する。 

図H.5−07(09も同じ)の場合(シンボルの上部を通過して走査したとき) 

74 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

参照復号は,リーダが部分走査によって読み誤ることを防ぐために,UPC- Aシンボル(限定型シンボル

の左端)の終わりを検査するように修正された。  

復号器は,GS1データバー限定型シンボルとして復号した走査の左側に,少なくとも10エレメントが

あるかどうかを確認する。もしあった場合は,GS1データバー限定型シンボルの左側ガードパターンのバ

ーから外側に向かって8エレメント(ガードパターンのバーを含む。)を確認し,UPC-Aシンボルの右端

の二つの有効なキャラクタとして復号できる場合は,その走査を破棄する。 

H.5.3.4 要約 

手順1によって,データの先頭が“2”又は“4”で始まるUPC-Aシンボルの問題を効果的に解決できる。 

手順2によって,データの先頭が“7”又は“9”で始まるUPC-Aシンボルの問題を効果的に解決できる。 

手順3によって,斜め読取り又は部分読取りによる問題を効果的に解決し,手順1及び手順2に安全対

策を追加する。 

ここで示したシンボル体系及び参照復号アルゴリズムへの修正によって,現行のGS1データバー限定型

の利用に及ぼす混乱を最小限にとどめ,UPC-Aシンボルを読み誤る問題を効果的に解決できる。シンボル

の背景には,通常,新しく追加したガードスペースがあるので,ほぼ全ての修正前の限定型シンボルは,

強化した安全対策を実装するスキャナで読取りが可能である。 

ほとんどのバーコードプリンタ製造者又はバーコード画像を生成するソフトウェアは,影響を受けない。 

注記 暗い背景に印字するシンボルでは,ガードパターンに続くスペースを設けるために,プリンタ

及び/又はソフトウェアの変更が必要な場合もある。 

これらは,包装デザイン担当者に,シンボルの右側に何もないスペース(少なくとも5X)を確保するこ

とを新たに要求する。修正前の仕様で作られたGS1データバー限定型シンボルの大部分は,既にこの要求

を満たしていると考えられる。 

75 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書I 

(参考) 

印刷上の考慮点 

I.1 

ガードパターンに関する考慮点 

タイプ1及びタイプ3のGS1データバーシンボルは,1X幅の明エレメント及び1X幅の暗エレメントか

らなるガードパターンで始まり,1X幅の暗エレメント及び1X幅の明エレメントからなるガードパターン

で終わる。クワイエットゾーンがないため,ガードパターンの外側のエレメントが,視覚的に背景に溶け

込んで見える可能性がある。明エレメントは明の背景に溶け込んで見え,暗エレメントは暗の背景に溶け

込んで見える可能性がある。外側のエレメントを,シンボルに含むことは必須である。例えば,本体の図

2,図8及び図11では,外側の明エレメントは背景と区別できないが,それでも存在しなければならない。 

GS1データバー限定型については,初期の規格とは異なる新しいガードパターンが定義されている。左

側のガードパターンは,1X幅の明エレメント及び1X幅の暗エレメント,右側のガードパターンは,3エ

レメントからなる1X幅の明エレメント,1X幅の暗エレメント及び5X幅の明エレメントである。外側の

明エレメントは,明背景に溶け込んで区別がつかない場合もある。リーダが読み取るためには,ガードパ

ターンの外側のスペースがシンボルに含まれていることが必須である。 

全てのGS1データバーシンボルにおいて,バー及びスペースを反転してはならない。すなわち,バーは

“暗”であり,スペースは“明”でなければならない。反転したGS1データバーシンボルは,読み誤るこ

とがあるため,リーダは,明及び暗のパターンを反転して復号してはならない。 

I.2 

画素印刷 

画素ベースで印刷するプリンタで,バーコードを印刷するために用いる画像ソフトウェアは,バー及び

スペースのそれぞれの倍率を変更して,用いるプリンタの画素ピッチに正確に合わせなければならない。

全てのGS1データバーシンボルは,エッジ〜類似エッジで復号するため,各シンボルキャラクタを構成す

る画素数が,シンボル又はシンボルキャラクタに含まれるモジュール数の整数倍に固定しなければならな

い。したがって,与えられたプリンタは,X寸法の特定したエレメントセットを印刷するだけである。 

JIS X 0523は,バーコードのデジタル画像化及び印刷技術に関する指針を提供している。 

バー幅が一様に拡大(又は縮小)している場合の補正は,シンボルに含む全てのバー及びスペースを,

均一にずらして行わなければならない。これは,シンボルに含むそれぞれのバーとスペースとの組及びシ

ンボルに含む最後のバーに対して,同じ方法で整数個の画素を暗から明に,又は明から暗に変更すること

で行ってもよい。例えば,シンボルに含む全てのバーの同じエッジに沿った全ての画素を暗から明に変更

すること,又はシンボルに含む全てのバーの両エッジに沿った画素を暗から明に変更することができる。

ただし,これを問題なく行うには,プリンタの解像度が十分高くなければならない。シンボル全体にわた

って,一貫して調整し,かつ,エッジ〜類似エッジの寸法又はシンボルキャラクタ全体の幅が変わらない

場合は,暗から明又は明から暗への画素変更を行ってよい。これらの原則を守らないと,多くの場合,シ

ンボル品質が低下して読めなくなる。 

広範囲のプリンタを利用可能にするように設計した汎用印刷ソフトウェアは,X寸法及びバー幅の調整

機能を,利用者に提供することが望ましい。 

background image

76 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

プログラマの例 

これらの原則は,デジタルバーコード設計ファイルに対する,規則にすることができる。 

a) 望ましい倍率又はX寸法を,最も近い整数の画素数に丸めたモジュールサイズに変換する。その結果,

X寸法がアプリケーションの許容最小値よりも小さいときは,切り上げる。 

b) バー幅の一様な拡大に対し,望ましい補正に対応する画素数を決定し,次に大きな整数に切り上げる。 

c) 上記の結果を当てはめて,シンボルに含む全てのバー及びスペースの画素数を決定する。 

例 

24ドット/mmの印刷装置及びデジタルバーコード設計ファイルを用い,バー幅を0.06 mm縮小したX

寸法が0.27 mmのシンボルを印刷する。 

− モジュールサイズは24ドット/mm×0.27 mm/モジュール=6.5画素となるため,モジュール当たり

6画素に切り下げる。 

− バーの拡大に対する補正は0.06 mm×24画素/mm=1.4画素となるため,2画素に切り上げる。 

この手順によって,表I.1に示すバー及びスペースの画素数を得る。 

表I.1−画像化解像度及びバー幅の縮小に必要な画素補正例 

モジュール数 

画素数 

バー 

スペース 

10 

14 

16 

20 

22 

26 

I.3 

画素印刷ソフトウェア利用者への指針 

バーコード印刷ソフトウェア及び印刷装置からなる印刷システムによって,シンボルを初めて印刷する

場合,利用者はJIS X 0520に従って,印刷されたシンボルが必要な印刷品質グレード及びX寸法を満たし

ていることを検証することが望ましい。シンボルを印刷した結果が,必要なシンボル印刷品質グレードに

達していないと,X寸法を拡大するか,又はバー幅の拡大若しくは縮小を変更することが必要になる場合

がある。この手順を,要求するシンボルグレードに達するまで,繰り返すことが必要になる。全ての印刷

システムが,小さいX寸法のシンボルを,許容するグレードで印刷できるとは限らない。 

I.4 

プロセス管理での考慮点 

プロセスを管理するために,バー幅偏差の増大又は減小の平均値を評価し,それを緩和するための是正

処置を適用することが望ましい。JIS X 0520に従って測定した“復号容易度”パラメタは,体系的なバー

幅偏差の増大又は減小,及びエッジ〜類似エッジまでの寸法変動の両方から影響を受ける。 

I.5 

複数個シンボルの分離 

GS1データバーシンボルが複数個ある場合は,十分離して配置し,リーダの視野にそれらが同時に入ら

ないようにすることが望ましい。 

I.6 

分離パターンの印刷 

連結フラグが設定されたGS1データバーの一次元コンポーネントを印刷する場合,必要な分離パターン

77 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

を同時に印刷しなければならない。GS1データバー合成シンボルの一次元コンポーネントは,二次元コン

ポーネントを印刷するまでは,有効なシンボルではない。 

印刷方法によっては,分離パターンに1モジュールの高さの段を印刷することが困難な場合がある。つ

まり,インク太り及び汚れのために,パターンの幾つかのエレメントが消える場合がある。 

印刷方法による縦方向のゆがみをあらかじめ補正するために,分離パターンエレメントのバー高さを適

切に縮小しておき,印刷したときに分離パターン内の全てのエレメントが見えるようにしてもよい。 

分離パターンを目で判別できない場合は,分離パターンの各段の高さを最大2モジュールに増やすこと

が望ましい。この方法を用いると,シンボルの高さがそれに応じて増える。シンボルキャラクタの高さは,

指定した最小値を下回ってはならない。 

それでも,分離パターンが目で判別できない場合は,シンボルのX寸法を増やすことが望ましい。この

方法を用いると,シンボルの高さ及び幅がそれに応じて増える。 

background image

78 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書J 

(参考) 

GS1データバーシンボル体系−特性の要約 

シンボル体系名 

GS1デー
タバー標
準型 

GS1デー
タバー切
詰型 

GS1データ
バー二層型 

GS1データバ
ー標準二層
型 

GS1デー
タバー限
定型 

GS1データ
バー拡張型 

GS1データ
バー拡張多
層型 

多方向走査対応 

○ 

○ 

○ 

○ 

ガードパターン a) 

左 s:b 
右 s:b 

左 s:b 
右 s:b 

上段左 s:b 
上段右 b:s 
下段左 b:s 
下段右 s:b 

上段左s:b 
上段右b:s 
下段左b:s 
下段右s:b 

左 s:b 

右 s:b:5s 

可変 

可変 

送信データ 

AI(01)+
GTIN-14 

AI(01)+
GTIN-14 

AI(01)+
GTIN-14 

AI(01)+
GTIN-14 

AI(01)+
GTIN-14 

最初のAI
+他のAI 

最初のAI+

他のAI 

最大データ容量 b) 

16桁 

(固定) 

16桁 

(固定) 

16桁 

(固定) 

16桁 

(固定) 

16桁 

(固定) 

74桁 

41文字 

74桁 

41文字 

符号化キャラクタ c) 

0〜9 

0〜9 

0〜9 

0〜9 

0〜9 

JIS X 0201h)  JIS X 0201h) 

包装識別子サポートd) 

0〜9 

0〜9 

0〜9 

0〜9 

0,1 

0〜9 

0〜9 

シンボルキャラクタ
数・位置検出パターン 

4・2 

4・2 

4・2 

4・2 

2・1 

4・2 〜22・

11 

4・2 〜22・

11 

段数 

2〜11 

シンボル構造(領域)e) 
d1〜d4, ld, rd はシンボ
ルキャラクタ 
lf, rf, ck は位置検出パ
ターン 

d1, lf, d2,  

d4, rf, d3 

d1, lf, d2,  

d4, rf, d3 

d1, lf, d2,  

d4, rf, d3 

d1, lf, d2 
d4, rf, d3 

ld, ck, rd 

3組(デー

タ,位置検
出パターン

及びデー

タ)の並び 

3組(デー

タ,位置検
出パターン

及びデー

タ)の並び 

エレメント数 f) 

46 

46 

上段:25 
下段:25 

上段:25 
下段:25 

46 

可変 

可変 

モジュール数 g) 

96 

96 

上段:50 
下段:50 

上段:50 
下段:50 

74 

可変 

可変 

最小シンボル高さ 

33X 

13X 

13X 

(5+1+7)X 

69X 

(33+3+33)X 

10X 

34X 

71X(1段) 
404X(11段) 

最大シンボル高さ 

NA 

33X 

13X 

NA 

NA 

NA 

NA 

注a) 左側(又は左上)のガードパターンはスペース及びバー,右側のガードパターンはスペース及びバーである。

したがって,最初の(最も左の)シンボルエレメントはスペースである。 

b) ほとんどのGS1データバーは,AI(01)商品識別番号だけを符号化する。拡張形GS1データバーは,主要識別子,

例えば,AI(01),AI(8004)及びその他のAIエレメント列をサポートする。 

c) GS1データバーは,拡張領域内を除いて10桁の数字だけ符号化する。拡張領域では,0〜9,A〜Z,a〜z,21

個の特殊文字又は句読点文字,及びFNC1キャラクタを符号化することができる。 

d) 限定形GS1データバーでは,“0”及び“1”に限定される。その他の全てのGS1データバーでは,計量商品用

包装インジケータ“9”である。 

e) 領域は,特定の機能をもつエレメントパターン(例えば,ガードパターン,データキャラクタ又は位置検出パ

ターン)である。省略形:d1=データキャラクタ1,lf=左側の位置検出パターン,d2=データキャラクタ2,
d4=データキャラクタ4,rf=右側の位置検出パターン及びd3=データキャラクタ3。どのシンボルも,ガード
パターンで始まりガードパターンで終わる。 

f) エレメントは,それぞれが,幾つかのモジュールからなるバー及びスペースである。 

g) モジュールは,最も狭いバー及び最も狭いスペースの幅であり,“X寸法”とも呼ぶ。また,X方向のシンボル

幅にも等しい 

h) 表13の規定による。 

79 

X 0509:2012 (ISO/IEC 24724:2011) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

参考文献 (1) JIS X 0523 バーコードのディジタル方式画像化及び印刷性能試験 

注記 対応国際規格:ISO/IEC 15419,Information technology−Automatic identification and 

data capture techniques−Bar code digital imaging and printing performance testing

(IDT) 

(2) JIS X 0530 データキャリア識別子(シンボル体系識別子を含む) 

注記 対応国際規格:ISO/IEC 15424,Information technology−Automatic identification and 

data capture techniques−Data Carrier Identifiers (including Symbology Identifiers)

(IDT) 

(3) ISO/IEC 24724 Information technology−Automatic identification and data capture techniques

−GS1 DataBar bar code symbology specification 

(4) GS1 General Specifications (GS1, Brussels, Belgium)