付録H.2 各バーコードの設計
ここでは,各バーコードの設計について説明します。
(1) CODE39
CODE39について説明します。
(a) 印刷領域の幅
CODE39のバーコードのサイズは,9.4CPI,5.5CPI,3.0CPIの3種類の中から,解像度に応じて印刷領域内に収まる最大のサイズが自動的に選択されます。各CPIのバーコードを出力するのに必要な印刷領域の幅を次の表に示します。表内の「n」は機能キャラクタデータ内の文字数を表します。
解像度※1 |
サイズ |
バーコード幅 (dot) |
左マージン (dot) |
右マージン (dot) |
印刷領域に必要な幅 |
|
---|---|---|---|---|---|---|
dot |
1/1,440インチ |
|||||
180 |
9.4cpi |
17n−2 |
9 |
9 |
17n+16 |
dot値×8 |
5.5cpi |
32n−2 |
16 |
16 |
32n+30 |
||
3.0cpi |
61n−4 |
28 |
28 |
61n+52 |
||
240 |
9.4cpi |
27n−3 |
12 |
12 |
27n+21 |
dot値×6 |
5.5cpi |
45n−3 |
21 |
21 |
45n+39 |
||
3.0cpi |
80n−5 |
38 |
38 |
80n+71 |
||
300 |
9.4cpi |
30n−3 |
14 |
14 |
30n+25 |
dot値×4.8※2 |
5.5cpi |
51n−3 |
26 |
26 |
51n+49 |
||
3.0cpi |
99n−6 |
47 |
47 |
99n+88 |
||
400 |
9.4cpi |
43n−4 |
19 |
19 |
43n+34 |
dot値×3.6※2 |
5.5cpi |
77n−5 |
35 |
35 |
77n+65 |
||
3.0cpi |
131n−8 |
63 |
63 |
131n+118 |
||
480 |
9.4cpi |
53n−5 |
23 |
23 |
53n+41 |
dot値×3 |
5.5cpi |
93n−6 |
42 |
42 |
93n+78 |
||
3.0cpi |
160n−10 |
76 |
76 |
160n+142 |
||
600 |
9.4cpi |
67n−7 |
29 |
29 |
67n+51 |
dot値×2.4※2 |
5.5cpi |
112n−7 |
52 |
52 |
112n+97 |
||
3.0cpi |
205n−13 |
95 |
95 |
205n+177 |
||
1200 |
9.4cpi |
127n−13 |
58 |
58 |
127n+103 |
dot値×1.2※2 |
5.5cpi |
221n−14 |
104 |
104 |
221n+194 |
||
3.0cpi |
403n−25 |
190 |
190 |
403n+355 |
なお,設定例や機能キャラクタへの設定方法は,「付録I.19(2)(a) CODE39」を参照してください。
(2) JAN(標準/短縮)
JANについて説明します。なお,次の用語は,JIS X 0501に基づいています。
-
モジュール:白バー,黒バーおよびマージンを構成する基本単位
-
マージン:バーコードの両端にある余白部分
-
チェックディジット(モジュラチェックキャラクタ):バーコードシンボルの読み取りの正確性を保つために,ある計算方法に基づいて求めた値を表すキャラクタ
(a) 印刷領域の幅
JANでは1モジュール幅の倍率(0.8〜2.0)と解像度(環境設定ユティリティの[バーコード設定]タブ−[出力設定]−[解像度]の指定値)を基準にしてバーコードの大きさが変化します。次の例では,0.8倍相当のJAN(標準/短縮)バーコードを解像度600dpiで出力する場合の値を記載しています。
-
JAN(標準)の場合
- モジュール幅のドット数
-
=|(倍率×解像度×13)÷1,000|
=│(0.8×600×13)│
=6
- 左マージンのドット数
-
=モジュール幅のドット数×11
=6×11
=66
- 右マージンのドット数
-
=モジュール幅のドット数×7
=6×7
=42
- バーコード幅のドット数
-
=モジュール幅のドット数×95
=6×95
=570
- バーコード印刷領域の幅に必要なドット数
-
=バーコード幅のドット数+左右マージンのドット数
=570+66+42
=678
- 機能キャラクタで指定する領域の幅(1/1,440インチ)
-
=↑(バーコード印刷領域の幅に必要なドット数÷解像度)×1,440↑
=↑(678÷600)×1,440↑
=1,628
-
JAN(短縮)の場合
- モジュール幅のドット数
-
=|(倍率×解像度×13)÷1,000|
=│(0.8×600×13)│
=6
- 左マージンのドット数
-
=右マージンのドット数
=モジュール幅のドット数×7
=6×7
=42
- バーコード幅のドット数
-
=モジュール幅のドット数×67
=402
- バーコード印刷領域の幅に必要なドット数
-
=バーコード幅のドット数+左右マージンのドット数
=402+42×2
=486
- 機能キャラクタで指定する領域の幅(1/1,440インチ)
-
=↑(バーコード印刷領域の幅に必要なドット数÷解像度)×1,440↑
=↑(678÷600)×1,440↑
=1,167
なお,設定例や機能キャラクタへの設定方法については,「付録I.19(2)(b) JAN(標準/短縮)」を参照してください。
(b) チェックディジットの求め方
JAN(標準)での「490123456789」のデータ(データキャラクタ)のチェックディジット(モジュラチェックキャラクタ)は,次のような計算方法で求められます。
-
けた位置を付けます。
求めるチェックディジット(モジュラチェックキャラクタ)は,1けた目です。
けた位置
データ
13
4
12
9
11
0
10
1
9
2
8
3
7
4
6
5
5
6
4
7
3
8
2
9
1
?
-
偶数けたの数字を加算します。
9+1+3+5+7+9=34
-
2.で求めた値を3倍します。
34×3=102
-
1けた目を除く,奇数けたの数字を加算します。
4+0+2+4+6+8=24
-
3.で求めた値と,4.で求めた値を加算します。
102+24=126
-
5.で求めた値の下1けたの数字を10から減算します。
10−6=4
この値が,チェックディジット(モジュラチェックキャラクタ)です。なお,5.で求めた値の下1けたの数字が「0」の場合は,チェックディジット(モジュラチェックキャラクタ)は「0」です。同様に,JAN(短縮)でも,上記の方法でチェックディジット(モジュラチェックキャラクタ)を求めることができます。
(3) ITF
ITFについて説明します。なお,次の用語はJIS X 0501に基づいています。
-
細エレメント:バーコードを構成する平行バーのうち,幅の細いバー
-
太エレメント:バーコードを構成する平行バーのうち,幅の太いバー
-
マージン(クワイエットゾーン):バーコードの両端にある余白部分
-
ベアラーバー:バーコードの周辺を縦,横に取り囲むバー
(a) 印刷領域の幅
ITFでは,倍率(0.25〜1.20)と解像度(環境設定ユティリティの[バーコード設定]タブ−[出力設定]−[解像度]の指定値)を基準にしてバーコードの大きさが変化します。
次の例では,0.3倍相当のITFバーコードを解像度600dpi,10けたのデータ文字列にて出力する場合の印刷領域の幅と高さの求め方を記載しています。
- 細エレメント幅のドット数
-
=│(4×倍率×解像度)÷100│
=│(4×0.3×600)÷100│
=7
- 太エレメント幅のドット数
-
=│倍率×解像度÷10│
=│0.3×600÷10│
=18
- 左マージンのドット数
-
=右マージンのドット数
=細エレメント幅のドット数×10
=7×10
=70
- バーコード幅のドット数
-
=細エレメント幅のドット数×6+太エレメント幅のドット数+(細エレメント幅のドット数×3+太エレメント幅のドット数×2)×文字数
=7×6+18+(7×3+18×2)×10
=630
- バーコード印刷領域の幅に必要なドット数
-
=バーコード幅のドット数+左右マージンのドット数
=630+70+70
=770
- 機能キャラクタで指定する領域の幅(1/1,440インチ)
-
=↑(バーコード印刷領域の幅に必要なドット数÷解像度)×1,440↑
=↑(770÷600)×1,440↑
=1,848
なお,設定例や機能キャラクタへの設定方法については,「付録I.19(2)(c) ITF」を参照してください。
(b) 注意事項
-
ベアラーバーについて
PDE for Openではベアラーバーの出力は行いません。
-
バーコードの表示文字への空白文字の挿入について
- JIS規格では,表示文字を目視しやすいように,次の間隔で空白文字を挿入します。
-
a.右側から1文字目と2文字目の間
b.右側から7文字目と6文字目の間
c.右側から11文字目と12文字目の間
PDE for Openではこの空白文字の挿入は行いません。
-
文字数の制限
ITFのバーコードキャラクタ群は必ず偶数個のキャラクタで構成するため,機能キャラクタ内の文字データには,偶数けたの文字を指定してください。
(4) NW-7
NW-7について説明します。なお,次の用語はJIS X 0503に基づいています。
-
細エレメント:バーコードを構成する平行バーのうち,幅の細いバー
-
太エレメント:バーコードを構成する平行バーのうち,幅の太いバー
-
バーコードキャラクタ:一定数の黒バーと白バーとで表された数字,文字,および特殊文字
-
キャラクタ間ギャップ:隣接する二つのバーコードキャラクタの間にある余白部分
-
マージン(クワイエットゾーン):バーコードの両端にある余白部分
(a) 印刷領域の幅(PDE for Open標準サイズのNW-7バーコードを生成する場合)
環境設定ユティリティの[バーコード設定]タブ−[詳細設定]−[NW-7バーコード生成時の動作]−[ホスト互換サイズのバーコードを生成する]がオフ(デフォルトはオフ)の場合,PDE for Open標準サイズのNW-7バーコードを生成します。
PDE for Open標準サイズのNW-7では,細エレメントの幅(20〜120[1/100mm])と解像度(環境設定ユティリティの[バーコード設定]タブ−[出力設定]−[解像度]の指定値)を基準にしてバーコードの大きさを計算します。基準とする細エレメントの幅から,必要な印刷領域の幅を求める方法を次に示します。次の例では,細エレメントの幅を20[1/100mm]とし,解像度600dpiでデータ文字列「A01234567890A」を出力する場合の値を記載しています。
- 細エレメントのドット数
-
=│(細エレメントの幅[1/100mm]×解像度)÷2,540│
=│(20×600)÷2,540│
=5
- 太エレメントのドット数
-
=│(細エレメントの幅[1/100mm]×解像度)÷1,016│
=│(20×600)÷1,016│
=12
- バーコードキャラクタ(数字,-,$)の幅のドット数
-
=細エレメントのドット数×5+太エレメントのドット数×2
=5×5+12×2
=49
- バーコードキャラクタ(英字,:,/,.,+)の幅のドット数
-
=細エレメントのドット数×4+太エレメントのドット数
=5×4+12×3
=56
- キャラクタ間ギャップのドット数
-
=細エレメントのドット数
=5
- 左マージンのドット数
-
=右マージンのドット数
=細エレメントのドット数×10
=5×10
=50
- バーコード幅のドット数
-
=キャラクタ(数字,-,$)の幅のドット数×A※+キャラクタ(英字,:,/,.,+)の幅のドット数×B※+キャラクタ間ギャップのドット数×(A+B−1)
=49×11+56×2+5×12
=711
注※ 数字(0〜9)と特殊文字(-,$)のけた数をA,アルファベット(A〜D)と特殊文字(:,/,.,+)のけた数をBとしています。
- バーコード印刷領域の幅に必要なドット数
-
=バーコード幅のドット数+左右マージンのドット数
=711+50+50
=811
- 機能キャラクタで指定する領域の幅(1/1,440インチ)
-
=↑(バーコード印刷領域の幅に必要なドット数÷解像度)×1,440↑
=↑(811÷600)×1,440↑
=1,947
なお,設定例や機能キャラクタへの設定方法については,「付録I.19(2)(d) NW-7」を参照してください。
(b) 印刷領域の幅(ホスト互換サイズのNW-7バーコードを生成する場合)
環境設定ユティリティの[バーコード設定]タブ−[詳細設定]−[NW-7バーコード生成時の動作]−[ホスト互換サイズのバーコードを生成する]がオン(デフォルトはオフ)の場合,ホスト互換サイズのNW-7バーコードを生成します。
ホスト互換サイズのNW-7のバーコードのサイズは,大,中,小の3種類の中から印刷領域内に収まる最大のサイズが自動的に選択されます。各大きさのバーコードを出力するのに必要な印刷領域の幅を次の表に示します。表内の「x」は数字(0〜9)と特殊文字(-,$)のけた数,「y」はアルファベット(A〜D)と特殊文字(:,/,.,+)の文字数を表します。
解像度※ |
サイズ |
バーコード幅 (mm) |
左マージン (mm) |
右マージン (mm) |
印刷領域に必要な幅 |
|
---|---|---|---|---|---|---|
mm |
1/1,440インチ |
|||||
480/600/1200 |
小 |
2.54x+2.96y |
2.75 |
2.75 |
2.54x+2.96y+5.5 |
144x+168y+312 |
中 |
4.23x+5.08y |
4.76 |
4.76 |
4.23x+5.08y+9.52 |
240x+288y+540 |
|
大 |
6.88x+7.99y |
7.41 |
7.41 |
6.88x+7.99y+14.82 |
390x+453y+840 |
なお,設定例や機能キャラクタへの設定方法は,「付録I.19(2)(d) NW-7」のNW-7の指定例を参照してください。
(5) カスタマバーコード
カスタマバーコードについて説明します。
(a) 印刷領域の幅
カスタマバーコードでは,ポイント数(8ポ〜11.5ポ)と解像度(環境設定ユティリティの[バーコード設定]タブ−[出力設定]−[解像度]の指定値)を基準にしてバーコードの大きさが変化します。
次の例では,8ポイント相当のバーコードを解像度600dpiで出力する場合に必要な印刷領域の幅と高さを求める方法を記載しています。
- バー幅のドット数
-
=│(ポ数×解像度×236)÷100,000│
=│(8×600×236)÷100,000│
=11
- バースペースのドット数
-
=│(ポ数×解像度×207)÷100,000│
=│(8×600×207)÷100,000│
=10
- 左マージンのドット数
-
=右マージンのドット数
=│(ポ数×解像度×787)÷100,000│
=│(8×600×787)÷100,000│
=38
- バーコード幅のドット数
-
=バー幅のドット数×67+バースペースのドット数×66
=1,397
- バーコード印刷領域の幅に必要なドット数
-
=バーコード幅のドット数+左右マージンのドット数
=1,397+38×2
=1,473
- バーコード印刷領域の高さに必要なドット数
-
=│(ポ数×解像度×138)÷10,000│+2
=│(8×600×138)÷10,000│+2
=68
- 機能キャラクタで指定する領域の幅(1/1,440インチ)
-
=↑(バーコード印刷領域の幅に必要なドット数÷解像度)×1,440↑
=↑(1,473÷600)×1,440↑
=3,536
- 機能キャラクタで指定する領域の高さの最低値(1/1,440インチ)
-
=↑(バーコード印刷領域の高さに必要なドット数÷解像度)×1,440↑
=↑(68÷600)×1,440↑
=164
なお,設定例や機能キャラクタへの設定方法については,「付録I.19(2)(e) カスタマバーコード」を参照してください。
(b) チェックディジットの求め方
バーコードは,データとチェックディジットで構成されています。カスタマバーコードを設計する場合,バーコードの値はデータの変換値とチェックディジットの和が19の倍数になるようにします。
- <チェックディジットの計算方法>
-
-
データを変換規則に従って数値に変換する
データの変換規則については,次の<変換規則>を参照してください。数字および「-」を1文字,英字を2文字として数えます。有効なデータは20文字です。有効データ長が19文字以下の場合には,不足分のデータとして制御コード(CC4)を仮定して計算します。有効データ長が20文字を超える場合には,超過分は出力されないので計算の対象外とします。
-
チェックディジットを算出する
チェックディジットを算出する式を次に示します。
チェックディジット=19−((データの変換値の和÷19)の余り)
-
データの変換値とチェックディジットの合計が19の倍数になっているか確認する
-
- <データの変換規則>
-
カスタマバーコードの変換規則を次に示します。
-
数字(0〜9)の場合
データ
変換する数値
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
-
英字(A〜Z)の場合
データ
制御コード※
変換する数値
A
CC1
0
B
CC1
1
C
CC1
2
D
CC1
3
E
CC1
4
F
CC1
5
G
CC1
6
H
CC1
7
I
CC1
8
J
CC1
9
K
CC2
0
L
CC2
1
M
CC2
2
N
CC2
3
O
CC2
4
P
CC2
5
Q
CC2
6
R
CC2
7
S
CC2
8
T
CC2
9
U
CC3
0
V
CC3
1
W
CC3
2
X
CC3
3
Y
CC3
4
Z
CC3
5
制御コード
数値
CC1
11
CC2
12
CC3
13
CC4(不足データ)
14
-
10
-
- チェックディジットの計算例を次に示します。
-
- 例1
-
データが15400233-16-4の場合
チェックディジットの算出式に当てはめると次のようになります。
147=19×7+14 チェックディジット=19−14=5
したがって,15400233-16-4のチェックディジットは5となります。バーコード機能キャラクタ内に指定するデータ用文字を次のように組み立てます。
文字列"15400233-16-4△△△△△△△05"をバーコード機能キャラクタ内のデータ用文字として指定します。
- 例2
-
データが22800023-620-2-9-102の場合
チェックディジットの算出式に当てはめると次のようになります。
79=19×4+3 チェックディジット=19−3=16
したがって,22800023-620-2-9-102のチェックディジットは16となります。
バーコード機能キャラクタ内に指定するデータ用文字を次のように組み立てます。
文字列"2280023-620-2-9-10216"をバーコード機能キャラクタ内のデータ用文字として指定します。
- 例3
-
データが22500011-4695-5-A-B1の場合
チェックディジットの算出式に当てはめると次のようになります。
102=19×5+7 チェックディジット=19−7=12
したがって,22500011-4695-5-A-B1のチェックディジットは12となります。
バーコード機能キャラクタ内に指定するデータ用文字を次のように組み立てます。
文字列"22500011-4695-A-B112"をバーコード機能キャラクタ内のデータ用文字として指定します。
(6) EAN128
EAN128バーコードについて説明します。なお,PDE for Openでは,コンビニエンスストアでの料金代理収納システムで使用されるEAN128バーコードの出力にだけ対応しています。
(a) 印刷領域
コンビニエンスストアでの料金代理収納システム用のEAN128(CVS-EAN128)バーコードは,次の表にあるバーコード印刷領域の大きさに関する制限を考慮して開始位置と終了位置を決めてください。
設定内容 |
解像度※ |
バーコード文字表示 |
CVS-EAN128印刷領域の幅 |
CVS-EAN128印刷領域の高さ |
---|---|---|---|---|
PDE - EAN128 Optionがインストールされていない,またはEAN128パターンファイルを使用しない |
180 |
あり |
4,896/1,440インチ以上 |
855/1,440インチ以上 |
なし |
567/1,440インチ以上 |
|||
240 |
あり |
3,744/1,440インチ以上 |
855/1,440インチ以上 |
|
なし |
567/1,440インチ以上 |
|||
300 |
あり |
3,168/1,440インチ以上 |
855/1,440インチ以上 |
|
なし |
3,053/1,440インチ以上 |
567/1,440インチ以上 |
||
400 |
あり |
3,399/1,440インチ以上 |
855/1,440インチ以上 |
|
なし |
567/1,440インチ以上 |
|||
480 |
あり |
3,168/1,440インチ以上 |
855/1,440インチ以上 |
|
なし |
2,880/1,440インチ以上 |
567/1,440インチ以上 |
||
600 |
あり |
3,168/1,440インチ以上 |
855/1,440インチ以上 |
|
なし |
3,053/1,440インチ以上 |
567/1,440インチ以上 |
||
1200 |
あり |
3,168/1,440インチ以上 |
855/1,440インチ以上 |
|
なし |
3,053/1,440インチ以上 |
567/1,440インチ以上 |
||
PDE - EAN128 Optionがインストールされている,かつEAN128パターンファイルを使用する |
− |
あり |
3,402/1,440インチ以上 |
855/1,440インチ以上 |
− |
なし |
567/1,440インチ以上 |
(b) チェックディジットの求め方
全体チェックディジット(モジュラス10)の値は次の1〜5の手順で計算します。
-
データに対して先頭から全体チェックディジット(モジュラス10)までの数字44けたにけた番号を付けます。
上記の表で示すデータ例では,最右端のけた(全体チェックディジット(モジュラス10)のけた)を第1けたとすると,最左端のけたは第44けたとなります。
-
A=(Σ偶数けたの数字)×3として,Aの値を計算します。
上記の表にあるデータ例でAを計算すると次に示す計算式になります。
A=(9+9+2+4+0+2+4+6+8+0+2+4+6+8+0+0+0+3+0+2+4+6)×3=79×3=237
-
B=(Σ第1けたを除く奇数けたの数字)として,Bの値を計算します。
上記の表にあるデータ例でBを計算すると次に示す計算式になります。
B=1+1+3+5+1+3+5+7+9+1+3+5+7+9+1+1+3+1+1+3+5=75
-
C'=((A+B)÷10の余り)でC'を求めます。
手順2,3で計算したA,Bを使ってCを計算すると次に示す計算式になります。
C'=((237+75)÷10の余り)=(312÷10の余り)=2
-
C'=0ならC=0,C'≠0ならC=10−C'としてCの値を計算します。
手順4で計算したC'を使ってCを計算すると次に示す計算式になります。
C'≠0なので,C=10−C'=10−2=8
Cが全体チェックディジット(モジュラス10)の値となります。上記の表にあるデータ例で全体チェックディジットのけたには「8」を設定することになります。
チェックディジット(モジュラス103)の値は次の1〜5の手順で計算します。
-
データに対して先頭から全体チェックディジット(モジュラス10)までの数字44けたを2数字×22に分けます。
-
22組の数字を左端から第1組,第2組,・・・,第22組として,それぞれに重みづけします。
2けた数字の任意の組Knに対する重みづけMnはMn=n+1で表される値になります(nは1〜22の自然数)。
-
A=105+102+Σ(Kn×Mn)として,Aの値を計算します。
上記の表にあるデータ例でAを計算すると次に示す計算式になります。
A=105+102+(91×2)+(91×3)+(23×4)+・・・+(45×22)+(68×23) =105+102+182+273+92+・・・+990+1,564=9,877
-
B=(A÷103の余り)として,Bの値を計算します。
手順3で計算したAを使ってBを計算すると次に示す計算式になります。
B=9,877÷103の余り=92
-
Bの値が0〜9の場合,CはBの値の前に「0」を付けて表す2けた数字,Bの値が10〜99の場合,CはBが表す2けた数字,Bの値が100〜102の場合,CはBが表す3けた数字として,Cがチェックディジット(モジュラス103)の値となります。
上記の表にあるデータ例でチェックディジットのけたには「92」を設定することになります。
なお,機能キャラクタへの設定方法については,「付録I.19(2)(f) EAN128」を参照してください。
(c) EAN128パターンファイルによる印刷(PDE - EAN128 Optionインストール時)
EAN128パターンファイルを用いることでバーコードリーダによる読み取り精度の高いEAN128バーコードを印刷できます。設定方法については,「7.2.9(6) EAN128パターンファイルを使用する(PDE - EAN128 Optionインストール時の場合)」を参照してください。また詳細については,「PRINT DATA EXCHANGE - High Grade Printer EAN128 Barcode Option取扱説明書」を参照してください。
(d) 注意事項
-
H-6C15およびH-6C17プリンタへEAN128バーコードを印刷する場合は,H-6C15およびH-6C17プリンタ専用のEAN128パターンファイルを使用してPostScript印刷した場合だけ保証します。
-
HT-4558,HT-4559,HT-4561およびH-6C26プリンタへEAN128バーコードを出力する場合はPostScript印刷した場合だけ保証します。
-
GDIでのバーコード印刷およびPDF出力したバーコードのAcrobatからの印刷については推奨しません。
-
バーコードを印刷する帳票の縮小印刷は推奨しません。
-
H-6C15およびH-6C17プリンタで,EAN128パターンファイルを使用しない印刷については推奨しません。
(7) QRコード
ここでは,QRコードについて説明します。
(a) サポート範囲
PDE for Openでは,JIS X 0510で規定されているQRコードの規格に対し,次に示す表の範囲でQRコード出力に対応します。
名称 |
説明 |
---|---|
モデル |
モデル2※1 |
バージョン |
バージョン1からバージョン20まで※2 |
誤り訂正レベル |
M(15%)※3 |
クワイエットゾーン |
シンボルの周りのクワイエットゾーンはPDE for Openが付加します。サイズは4モジュールとします。※4 |
モード |
数字モード,英数字モード,8ビットバイトモード,漢字モード,混在モード |
モジュールサイズ |
機能キャラクタで指定された領域およびデータ量,または指定されたバージョンに応じて1ドット以上(環境設定ユティリティの[バーコード設定]タブ−[出力設定]−[解像度]で指定された解像度換算)の可変サイズとなります。 |
(b) モード
入力データを判定して自動的にモードを決定します。その結果,データが格納できるバージョンも自動的に決定されます※。
注※ 機能キャラクタでバージョンを指定していない場合の動作です。
モード |
説明 |
---|---|
数字モード |
'0'〜'9'までの10進数集合(JIS X 0201-1997の(30)16〜(39)16)のデータを扱います。通常は,数字モードでは3文字を10ビットで符号化します。 |
英数字モード |
次のデータを扱います。
通常は,英数字モードでは2文字を11ビットで符号化します。 |
8ビットバイトモード |
JIS X 0201-1997に基づく8ビットのラテン文字・カタカナ用8ビット符号に規定された文字を扱います。通常は,8ビットバイトモードでは1文字を8ビットで符号化します。 |
漢字モード |
JIS X 0208-1990の附属書1に規定された漢字を扱います。各2バイトの文字は13ビット2進コード語に圧縮します。 |
混在モード |
QRコードモデル2シンボルは,上記に規定する任意のモード(数字モード/英数字モード/8ビットバイトモード/漢字モード)の組み合わせによるデータを扱えます。 |
(c) 指定できる文字
QRコードに入力できる文字の範囲を示します。範囲外の漢字が入力された場合はエラーとなり,このQRコードは出力されません。QRコードに入力できる文字の詳細については,JIS X 0208-1990の附属書1を参照してください。
-
1バイト文字(JIS8):JIS X 0201-1997
-
漢字(シフトJIS):JIS X 0208-1990の内の(8140)16〜(9FFC)16と(E040)16〜(EBBF)16の文字
印刷データのエンコードがUTF-8の場合は,上記の範囲に該当する文字をUTF-8で指定します。
図H‒5 QRコードに指定できる漢字の範囲
(d) バージョンについて
バーコード機能キャラクタのバージョンに0を指定した場合,QRコードのバージョン(最大20)は入力データの容量によって自動計算されます。バーコード機能キャラクタでバージョンに1〜20を指定した場合は,指定されたバージョンでQRコードを出力します。各バージョンの入力データの最大容量,入力データのけた数とQRコードの大きさの関係を次に示します。
入力データ |
バージョン |
モジュール数(クワイエットゾーンは除く) |
QRコードの大きさ(クワイエットゾーンを含む) |
||||
---|---|---|---|---|---|---|---|
数字(けた) |
英数字(けた) |
8ビットバイト(けた) |
漢字(けた) |
混在※(ビット) |
|||
34 |
20 |
14 |
8 |
128 |
1 |
21 |
モジュールサイズ×(モジュール数+8) |
63 |
38 |
26 |
16 |
224 |
2 |
25 |
|
101 |
61 |
42 |
26 |
352 |
3 |
29 |
|
149 |
90 |
62 |
38 |
512 |
4 |
33 |
|
202 |
122 |
84 |
52 |
688 |
5 |
37 |
|
255 |
154 |
106 |
65 |
864 |
6 |
41 |
|
293 |
178 |
122 |
75 |
992 |
7 |
45 |
|
365 |
221 |
152 |
93 |
1,232 |
8 |
49 |
|
432 |
262 |
180 |
111 |
1,456 |
9 |
53 |
|
513 |
311 |
213 |
131 |
1,728 |
10 |
57 |
|
604 |
366 |
251 |
155 |
2,032 |
11 |
61 |
|
691 |
419 |
287 |
177 |
2,320 |
12 |
65 |
|
796 |
483 |
331 |
204 |
2,672 |
13 |
69 |
|
871 |
528 |
362 |
223 |
2,920 |
14 |
73 |
|
991 |
600 |
412 |
254 |
3,320 |
15 |
77 |
|
1,082 |
656 |
450 |
277 |
3,624 |
16 |
81 |
|
1,212 |
734 |
504 |
310 |
4,056 |
17 |
85 |
|
1,346 |
816 |
560 |
345 |
4,504 |
18 |
89 |
|
1,500 |
909 |
624 |
384 |
5,016 |
19 |
93 |
|
1,600 |
970 |
666 |
410 |
5,352 |
20 |
97 |
(e) 混合データのビット数
各文字列のビット数はモードインジケータ長(データの種類)+文字列インジケータ長(文字列のけた数)+データ長から成ります。文字列の種類の切り分けは1バイト文字列と2バイト文字列(漢字)に分類し,1バイト文字列はすべて数字だった場合に「数字」,数字以外の文字列がある場合は,「8ビットバイト」の文字列になります。半角カタカナは1文字として扱います。各文字列のビット数の算出方法を次に示します。
文字列の種類 |
モードインジケータ長 |
文字列インジケータ長※ |
データ長 |
---|---|---|---|
数字 |
4 |
10 12 |
10×↓けた数/3↓+X Xの値:けた数/3の余りが0のとき0 Xの値:けた数/3の余りが1のとき4 Xの値:けた数/3の余りが2とき7 |
英数字 |
4 |
9 11 |
11×↓けた数/2↓+6×X Xの値:けた数/2の余りが0のとき0 Xの値:けた数/2の余りが1のとき1 |
8ビットバイト |
4 |
8 16 |
8×けた数 |
漢字 |
4 |
8 10 |
13×けた数 |
(f) バーコードサイズとレイアウト
QRコードは,機能キャラクタで指定された印刷領域の幅または高さのどちらか小さいほうにほぼ一致するサイズで印刷領域の中央に出力されます。このときのQRコードには,周囲に4モジュール分のクワイエットゾーンが確保されます。出力例を次に示します。
(g) モジュールサイズ
モジュールサイズは,印刷領域の大きさ(幅または高さの最小値),解像度(環境設定ユティリティの[バーコード設定]タブ−[出力設定]−[解像度]の指定値),QRコードのバージョンによって自動計算されます。次に計算方法を示します。
-
印刷領域のドット数=印刷領域の大きさ(mm:幅または高さの最小値)×解像度(dpi)÷25.4(小数点以下四捨五入)
-
モジュール数=21+4×(バージョン−1)
-
モジュールサイズのドット数=↓印刷領域のドット数÷(モジュール数+ 8)↓
バーコード印刷領域が30mm,解像度を600dpiにした場合のモジュールサイズの計算例を次の表に示します。
バーコード印刷領域の大きさ |
解像度 |
印刷領域のドット数 |
バージョン |
モジュール数 |
モジュールサイズ |
QRコードの大きさ(クワイエットゾーンは除く) |
||
---|---|---|---|---|---|---|---|---|
mm |
1/1,440インチ |
dpi |
ドット |
ドット |
mm |
mm |
||
30.0 |
1701 |
600 |
709 |
1 |
21 |
24 |
1.016 |
21.336 |
2 |
25 |
21 |
0.889 |
22.225 |
||||
3 |
29 |
19 |
0.804 |
23.326 |
||||
4 |
33 |
17 |
0.720 |
23.749 |
||||
5 |
37 |
15 |
0.635 |
23.495 |
||||
6 |
41 |
14 |
0.593 |
24.299 |
||||
7 |
45 |
13 |
0.550 |
24.765 |
||||
8 |
49 |
12 |
0.508 |
24.892 |
||||
9 |
53 |
11 |
0.466 |
24.680 |
||||
10 |
57 |
10 |
0.423 |
24.130 |
||||
11 |
61 |
10 |
0.423 |
25.823 |
||||
12 |
65 |
9 |
0.381 |
24.765 |
||||
13 |
69 |
9 |
0.381 |
26.289 |
||||
14 |
73 |
8 |
0.339 |
24.723 |
||||
15 |
77 |
8 |
0.339 |
26.077 |
||||
16 |
81 |
7 |
0.296 |
24.003 |
||||
17 |
85 |
7 |
0.296 |
25.188 |
||||
18 |
89 |
7 |
0.296 |
26.374 |
||||
19 |
93 |
7 |
0.296 |
27.559 |
||||
20 |
97 |
6 |
0.254 |
24.638 |
(h) 注意事項
指定できる漢字の範囲内の文字に当てはまらない場合(外字領域など),PDE for Openでは次のエラーをログに出力します。ログの情報を基に,機能キャラクタに格納する文字列を見直してください。
QRコードに格納できない文字が指定されました。座標:(xxxx,yyyy),ページ:pppp,SJISコード:XXXX,詳細コード:dddddddd
-
座標:機能キャラクタで指定した開始位置
-
ページ:ページ番号
-
SJISコード:エラーの原因となったシフトJISコード(16進値)
-
詳細コード:詳細コードの番号
詳細については,「表14-6 エラー詳細(詳細コードの上位4けたが00xx〜09xxの場合)」を参照してください。
QRコードに格納できない文字が指定されました。座標:(xxxx,yyyy),ページ:pppp,Unicode:U+XXXX,詳細コード:dddddddd
-
座標:機能キャラクタで指定した開始位置
-
ページ:ページ番号
-
Unicode:エラーの原因となったUnicode(16進値)
-
詳細コード:詳細コードの番号
詳細については,「表14-6 エラー詳細(詳細コードの上位4けたが00xx〜09xxの場合)」を参照してください。