Главная // Актуальные документы // ГОСТ (Государственный стандарт)
СПРАВКА
Источник публикации
М.: ИПК Издательство стандартов, 2002
Примечание к документу
Документ утратил силу с 1 июля 2014 года в связи с изданием Приказа Росстандарта от 28.10.2013 N 1226-ст. Взамен введен в действие ГОСТ ISO/IEC 15417-2013.

С 1 июля 2003 года до вступления в силу технических регламентов акты федеральных органов исполнительной власти в сфере технического регулирования носят рекомендательный характер и подлежат обязательному исполнению только в части, соответствующей целям, указанным в пункте 1 статьи 46 Федерального закона от 27.12.2002 N 184-ФЗ.

Документ введен в действие с 1 января 2002 года.
Название документа
"ГОСТ 30743-2001 (ИСО/МЭК 15417-2000). Межгосударственный стандарт. Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)"
(введен в действие Постановлением Госстандарта России от 16.08.2001 N 335-ст)

"ГОСТ 30743-2001 (ИСО/МЭК 15417-2000). Межгосударственный стандарт. Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)"
(введен в действие Постановлением Госстандарта России от 16.08.2001 N 335-ст)


Содержание


Введен в действие
Постановлением Государственного
комитета Российской Федерации
по стандартизации и метрологии
от 16 августа 2001 г. N 335-ст
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
АВТОМАТИЧЕСКАЯ ИДЕНТИФИКАЦИЯ
КОДИРОВАНИЕ ШТРИХОВОЕ
СПЕЦИФИКАЦИЯ СИМВОЛИКИ CODE 128 (КОД 128)
Automatic identification. Bar coding. Symbology
specification Code 128
ГОСТ 30743-2001
(ИСО/МЭК 15417-2000)
Группа П85
МКС 35.040
ОКСТУ 4002
Дата введения
1 января 2002 года
Предисловие
1 РАЗРАБОТАН ЗАО "Фирма ПИЛОТ" совместно с Ассоциацией автоматической идентификации ЮНИСКАН/EAN РОССИЯ/AIM РОССИЯ в рамках Межгосударственного технического комитета МТК 517 "Автоматическая идентификация"
ВНЕСЕН Госстандартом России
2 ПРИНЯТ Межгосударственным Советом по стандартизации, метрологии и сертификации (протокол N 19 от 24 мая 2001 г.)
За принятие проголосовали:
Наименование государства
Наименование национального органа по стандартизации
Азербайджанская Республика
Азгосстандарт
Республика Армения
Армгосстандарт
Республика Беларусь
Госстандарт Республики Беларусь
Республика Казахстан
Госстандарт Республики Казахстан
Кыргызская Республика
Кыргызстандарт
Республика Молдова
Молдовастандарт
Российская Федерация
Госстандарт России
Республика Таджикистан
Таджикстандарт
Туркменистан
Главгосслужба "Туркменстандартлары"
Республика Узбекистан
Узгосстандарт
3 Настоящий стандарт представляет собой аутентичный текст международного стандарта ИСО/МЭК 15417-2000 "Информационная технология - Технологии автоматической идентификации и сбора данных - Спецификация символики штрихового кода - Code 128"), за исключением разделов 2 и 3, примечания к 4.4.1, приложений J, K, L и M, с дополнительными требованиями, отражающими потребности экономики страны
4 Постановлением государственного комитета Российской Федерации по стандартизации и метрологии от 16 августа 2001 г. N 335-ст межгосударственный стандарт ГОСТ 30743-2001 (ИСО/МЭК 15417-2000) введен в действие непосредственно в качестве государственного стандарта Российской Федерации с 1 января 2002 г.
5 ВВЕДЕН ВПЕРВЫЕ
Введение
Технология штрихового кодирования основана на распознавании закодированных комбинаций штрихов и пробелов определенных размеров. Существует ряд способов кодирования информации в форме штрихового кода, называемых символиками. Code 128 (Код 128) - одна из таких символик. Правила, регламентирующие представление знаков в комбинациях штрихов и пробелов, и другие необходимые показатели каждой символики штрихового кода, называются спецификацией символики.
Производителям оборудования для штрихового кодирования и пользователям технологии штрихового кодирования необходимы общедоступные стандартные спецификации символик штрихового кода для разработки оборудования и программного обеспечения.
1 Область применения
Настоящий стандарт устанавливает технические требования к символике штрихового кода Code 128 (Код 128), показатели символики Code 128, кодирование знаков данных, размеры, алгоритмы декодирования, параметры применения, определяемые пользователями, и строки-префиксы идентификатора символики.
2 Нормативные ссылки
ГОСТ 27463-87 Системы обработки информации. 7-битные кодированные наборы символов
ГОСТ 27465-87 Системы обработки информации. Символы. Классификация
ГОСТ 30721-2000/ГОСТ Р 51294.3-99 Автоматическая идентификация. Кодирование штриховое. Термины и определения
ГОСТ 34.302.2-91 (ИСО 8859-2-87) Наборы 8-битных однобайтовых кодированных графических символов. Латинский алфавит N 2
3 Термины и определения
В настоящем стандарте применяют термины по ГОСТ 30721.
4 Требования
4.1 Показатели символики
К показателям символики Code 128 относят следующие показатели:
a) набор кодированных знаков:
1) все 128 знаков версии КОИ-7 в соответствии с [1] <*>, то есть знаки с десятичными значениями от 0 до 127 включительно,
--------------------------------
<*> 7-битный кодированный набор знаков по [1] соответствует набору ссылочной версии КОИ-7НО по ГОСТ 27463, за исключением двух знаков: в позиции 02/04 в [1] используют знак $ (ДЕНЕЖНЫЙ ЗНАК ДОЛЛАРА) (десятичное значение 37) и в позиции 7/14 - знак ~ (ТИЛЬДА) (десятичное значение 111).
2) знаки версии КОИ-8 с десятичными значениями от 128 до 255 также могут быть закодированы,
3) четыре функциональных знака, не являющихся данными,
4) четыре знака для вызова кодируемого набора знаков,
5) три знака Start (СТАРТ) <**>,
6) один знак Stop (СТОП) <**>,
--------------------------------
<**> В скобках указано русское обозначение знака согласно приложению L.
b) тип кода - непрерывный;
c) число элементов в знаке символа - шесть, включая три штриха и три пробела, состоящие каждый из одного, двух, трех или четырех модулей по ширине (знак Stop имеет семь элементов, включающих четыре штриха и три пробела);
d) самоконтроль знака - присутствует;
e) длина символа - переменная;
f) двунаправленное декодирование - присутствует;
g) контрольный знак символа - один, обязательный (A.1);
h) плотность знака данных - 11 модулей в знаке символа (5,5 модулей на цифру в кодируемом наборе C);
i) часть символа, не содержащая данных - эквивалентна 35 модулям.
4.2 Структура символа
Символы Code 128 должны включать:
a) начальную свободную зону;
b) знак Start;
c) один или несколько знаков, представляющих данные и специальные знаки;
d) контрольный знак символа;
e) знак Stop;
f) конечную свободную зону.
На рисунке 1 представлен символ Code 128, кодирующий текст "AIM".
Рисунок 1 - Символ Code 128
4.3 Значения знаков
В таблице 1 определены все значения знаков Code 128. В графе "Ширина элемента" числа представляют ширину элементов в виде числа модулей или кратного размеру X.
Таблица 1
Кодирование знаков для Code 128
ИС МЕГАНОРМ: примечание.
Ячейки, выделенные черной "заливкой" в официальном тексте документа, в электронной версии документа обозначены двойным знаком "##".
Значение знака символа
Кодируемый набор A
Значение КОИ-7 в наборе A
Кодируемый набор B
Значение КОИ-7 в наборе B
Кодируемый набор C
Ширина элементов, модули
Комбинация элементов
Ш
П
Ш
П
Ш
П
1
2
3
4
5
6
7
8
9
10
11
0
space
32
space
32
00
2
1
2
2
2
2
##
##
##
##
##
##
1
!
33
!
33
01
2
2
2
1
2
2
##
##
##
##
##
##
2
"
34
"
34
02
2
2
2
2
2
1
##
##
##
##
##
##
3
#
35
#
35
03
1
2
1
2
2
3
##
##
##
##
4
$
36
$
36
04
1
2
1
3
2
2
##
##
##
##
5
%
37
%
37
05
1
3
1
2
2
2
##
##
##
##
6
&
38
&
38
06
1
2
2
2
1
3
##
##
##
##
7
apostrophe
39
apostrophe
39
07
1
2
2
3
1
2
##
##
##
##
8
(
40
(
40
08
1
3
2
2
1
2
##
##
##
##
9
)
41
)
41
09
2
2
1
2
1
3
##
##
##
##
10
*
42
*
42
10
2
2
1
3
1
2
##
##
##
##
11
+
43
+
43
11
2
3
1
2
1
2
##
##
##
##
12
comma
44
comma
44
12
1
1
2
2
3
2
##
##
##
##
##
##
13
-
45
-
45
13
1
2
2
1
3
2
##
##
##
##
##
##
14
full Stop
46
full Stop
46
14
1
2
2
2
3
1
##
##
##
##
##
##
15
/
47
/
47
15
1
1
3
2
2
2
##
##
##
##
##
##
16
0
48
0
48
16
1
2
3
1
2
2
##
##
##
##
##
##
17
1
49
1
49
17
1
2
3
2
2
1
##
##
##
##
##
##
18
2
50
2
50
18
2
2
3
2
1
1
##
##
##
##
##
##
19
3
51
3
51
19
2
2
1
1
3
2
##
##
##
##
##
##
20
4
52
4
52
20
2
2
1
2
3
1
##
##
##
##
##
##
21
5
53
5
53
21
2
1
3
2
1
2
##
##
##
##
##
##
22
6
54
6
54
22
2
2
3
1
1
2
##
##
##
##
##
##
23
7
55
7
55
23
3
1
2
1
3
1
##
##
##
##
##
##
##
##
24
8
56
8
56
24
3
1
1
2
2
2
##
##
##
##
##
##
25
9
57
9
57
25
3
2
1
1
2
2
##
##
##
##
##
##
26
colon
58
colon
58
26
3
2
1
2
2
1
##
##
##
##
##
##
27
semicolon
59
semicolon
59
27
3
1
2
2
1
2
##
##
##
##
##
##
28
<
60
<
60
28
3
2
2
1
1
2
##
##
##
##
##
##
29
=
61
=
61
29
3
2
2
2
1
1
##
##
##
##
##
##
30
>
62
>
62
30
2
1
2
1
2
3
##
##
##
##
##
##
31
?
63
?
63
31
2
1
2
3
2
1
##
##
##
##
##
##
32
@
64
@
64
32
2
3
2
1
2
1
##
##
##
##
##
##
33
A
65
A
65
33
1
1
1
3
2
3
##
##
##
##
34
B
66
B
66
34
1
3
1
1
2
3
##
##
##
##
35
C
67
C
67
35
1
3
1
3
2
1
##
##
##
##
36
D
68
D
68
36
1
1
2
3
1
3
##
##
##
##
37
E
69
E
69
37
1
3
2
1
1
3
##
##
##
##
38
F
70
F
70
38
1
3
2
3
1
1
##
##
##
##
39
G
71
G
71
39
2
1
1
3
1
3
##
##
##
##
40
H
72
H
72
40
2
3
1
1
1
3
##
##
##
##
41
I
73
I
73
41
2
3
1
3
1
1
##
##
##
##
42
J
74
J
74
42
1
1
2
1
3
3
##
##
##
##
##
##
43
K
75
K
75
43
1
1
2
3
3
1
##
##
##
##
##
##
44
L
76
L
76
44
1
3
2
1
3
1
##
##
##
##
##
##
45
M
77
M
77
45
1
1
3
1
2
3
##
##
##
##
##
##
46
N
78
N
78
46
1
1
3
3
2
1
##
##
##
##
##
##
47
O
79
O
79
47
1
3
3
1
2
1
##
##
##
##
##
##
48
P
80
P
80
48
3
1
3
1
2
1
##
##
##
##
##
##
##
##
49
Q
81
Q
81
49
2
1
1
3
3
1
##
##
##
##
##
##
50
R
82
R
82
50
2
3
1
1
3
1
##
##
##
##
##
##
51
S
83
S
83
51
2
1
3
1
1
3
##
##
##
##
##
##
52
T
84
T
84
52
2
1
3
3
1
1
##
##
##
##
##
##
53
U
85
U
85
53
2
1
3
1
3
1
##
##
##
##
##
##
##
##
54
V
86
V
86
54
3
1
1
1
2
3
##
##
##
##
##
##
55
W
87
W
87
55
3
1
1
3
2
1
##
##
##
##
##
##
56
X
88
X
88
56
3
3
1
1
2
1
##
##
##
##
##
##
57
Y
89
Y
89
57
3
1
2
1
1
3
##
##
##
##
##
##
58
Z
90
Z
90
58
3
1
2
3
1
1
##
##
##
##
##
##
59
[
91
[
91
59
3
3
2
1
1
1
##
##
##
##
##
##
60
\
92
\
92
60
3
1
4
1
1
1
##
##
##
##
##
##
##
##
61
]
93
]
93
61
2
2
1
4
1
1
##
##
##
##
62
^
94
^
94
62
4
3
1
1
1
1
##
##
##
##
##
##
63
_
95
_
95
63
1
1
1
2
2
4
##
##
##
##
64
NUL
00
grave accent
96
64
1
1
1
4
2
2
##
##
##
##
65
SOH
01
a
97
65
1
2
1
1
2
4
##
##
##
##
66
STX
02
b
98
66
1
2
1
4
2
1
##
##
##
##
67
ETX
03
c
99
67
1
4
1
1
2
2
##
##
##
##
68
EOT
04
d
100
68
1
4
1
2
2
1
##
##
##
##
69
ENQ
05
e
101
69
1
1
2
2
1
4
##
##
##
##
70
ACK
06
f
102
70
1
1
2
4
1
2
##
##
##
##
71
BEL
07
g
103
71
1
2
2
1
1
4
##
##
##
##
72
BS
08
h
104
72
1
2
2
4
1
1
##
##
##
##
73
HT
09
i
105
73
1
4
2
1
1
2
##
##
##
##
74
LF
10
j
106
74
1
4
2
2
1
1
##
##
##
##
75
VT
11
k
107
75
2
4
1
2
1
1
##
##
##
##
76
FF
12
l
108
76
2
2
1
1
1
4
##
##
##
##
77
CR
13
m
109
77
4
1
3
1
1
1
##
##
##
##
##
##
##
##
78
SO
14
n
110
78
2
4
1
1
1
2
##
##
##
##
79
SI
15
o
111
79
1
3
4
1
1
1
##
##
##
##
##
##
80
DLE
16
p
112
80
1
1
1
2
4
2
##
##
##
##
##
##
81
DC1
17
q
113
81
1
2
1
1
4
2
##
##
##
##
##
##
82
DC2
18
r
114
82
1
2
1
2
4
1
##
##
##
##
##
##
83
DC3
19
s
115
83
1
1
4
2
1
2
##
##
##
##
##
##
84
DC4
20
t
116
84
1
2
4
1
1
2
##
##
##
##
##
##
85
NAK
21
u
117
85
1
2
4
2
1
1
##
##
##
##
##
##
86
SYN
22
v
118
86
4
1
1
2
1
2
##
##
##
##
##
##
87
ETB
23
w
119
87
4
2
1
1
1
2
##
##
##
##
##
##
88
CAN
24
x
120
88
4
2
1
2
1
1
##
##
##
##
##
##
89
EM
25
y
121
89
2
1
2
1
4
1
##
##
##
##
##
##
##
##
90
SUB
26
z
122
90
2
1
4
1
2
1
##
##
##
##
##
##
##
##
91
ESC
27
{
123
91
4
1
2
1
2
1
##
##
##
##
##
##
##
##
92
FS
28
|
124
92
1
1
1
1
4
3
##
##
##
##
##
##
93
GS
29
}
125
93
1
1
1
3
4
1
##
##
##
##
##
##
94
RS
30
~
126
94
1
3
1
1
4
1
##
##
##
##
##
##
95
US
31
DEL
127
95
1
1
4
1
1
3
##
##
##
##
##
##
96
FNC3
FNC3
96
1
1
4
3
1
1
##
##
##
##
##
##
97
FNC2
FNC2
97
4
1
1
1
1
3
##
##
##
##
##
##
98
Shift
Shift
98
4
1
1
3
1
1
##
##
##
##
##
##
99
CODE C
CODE C
99
1
1
3
1
4
1
##
##
##
##
##
##
##
##
100
CODE B
FNC4
CODE B
1
1
4
1
3
1
##
##
##
##
##
##
##
##
101
FNC4
CODE A
CODE A
3
1
1
1
4
1
##
##
##
##
##
##
##
##
102
FNC1
FNC1
FNC1
4
1
1
1
3
1
##
##
##
##
##
##
##
##
103
Start A
2
1
1
4
1
2
##
##
##
##
104
Start B
2
1
1
2
1
4
##
##
##
##
105
Start C
2
1
1
2
3
2
##
##
##
##
##
##
Значение знака символа
Кодируемый набор A
Кодируемый набор B
Кодируемый набор C
Ширина элементов, модули
Комбинация элементов
Ш
П
Ш
П
Ш
П
Ш
1
2
3
4
5
6
7
8
9
10
11
12
13
-
Stop
2
3
3
1
1
1
2
##
##
##
##
##
##
##
##
Примечания
1 Знак Stop включает 13 модулей в четырех штрихах и трех пробелах. Любой иной знак имеет ширину 11 модулей, начинается со штриха и заканчивается пробелом, включает шесть элементов, ширина каждого из которых изменяется от одного до четырех модулей. Числовые значения в графах, обозначенных Ш и П, представляют соответственно число модулей в каждом штрихе или пробеле в знаках символа.
2 Русские наименования и обозначения вспомогательных, управляющих и специальных графических знаков приведены в приложении L.
4.3.1 Структура знака символа
Сумма модулей в штрихах в любом знаке символа всегда должна быть четной (четный паритет), поэтому сумма модулей в пробелах всегда должна быть нечетной. Эта особенность паритета обеспечивает выполнение самоконтроля знака.
На рисунке 2 приведен знак Start A.
Рисунок 2 - Знак Start A для Code 128
На рисунке 3 приведен знак символа с закодированным значением 35, который представляет знак данных C в кодируемых наборах A или B, или две указанные цифры 35 в кодируемом наборе знаков C.
Рисунок 3 - Знак символа для значения 35
На рисунке 4 приведен знак Stop.
Рисунок 4 - Знак Stop для Code 128
4.3.2 Кодирование знаков данных
Code 128 имеет три уникальных кодируемых набора знаков данных, приведенных в таблице 1 (наборы A, B и C). Представленные комбинации штрихов и пробелов знаков символов соответствуют знакам данных, приведенным в графах с заголовками "Кодируемый набор A", "Кодируемый набор B" или "Кодируемый набор C". Выбор кодируемого набора зависит от знака Start или использования одного из знаков Code A (Код A), Code B (Код B) или Code C (Код C), или знака Shift (РЕГИСТР). Если символ начинается со знака Start A, то изначально определен кодируемый набор A. Аналогично определяют наборы B и C, когда символ начинается со знака Start B или C соответственно. Кодируемый набор может быть изменен в пределах символа при помощи знаков Code A, Code B и Code C или знака Shift (использование этих специальных знаков в соответствии с 4.3.4.2).
Одни и те же данные могут быть представлены различными символами Code 128 с использованием различных комбинаций знаков Start, знаков кодируемых наборов Code A, Code B и Code C, и знака Shift. Применение не должно устанавливать кодируемый набор для использования. В приложении E приведены правила, способствующие минимизации длины символа для любых данных. В дополнение к этому декодер должен декодировать символы, содержащие допустимые комбинации знаков Start, Code и Shift, помимо указанных в приложении E, например символ со знаком Code в конце данных.
Каждому знаку символа соответствует числовое значение, приведенное в таблице 1, которое используют для вычисления контрольного знака символа. Оно может быть также использовано для преобразований в значения КОИ-7 (КОИ-8) и обратно (приложение D).
4.3.3 Кодируемые наборы знаков
4.3.3.1 Кодируемый набор A
Кодируемый набор A включает все стандартные прописные латинские буквы и цифры, специальные графические знаки (знаки пунктуации) и управляющие знаки (т.е. знаки версии КОИ-7 с десятичными значениями от 00 до 95), а также семь специальных знаков.
4.3.3.2 Кодируемый набор B
Кодируемый набор B включает все стандартные прописные и строчные латинские буквы и цифры, специальные графические знаки (знаки пунктуации) (т.е. знаки версии КОИ-7 с десятичными значениями от 32 до 127 включительно), а также семь специальных знаков.
4.3.3.3 Кодируемый набор C
Кодируемый набор C включает множество из 100 цифровых пар от 00 до 99 включительно, а также три специальных знака. Этим достигается парное кодирование числовых данных в одном знаке символа.
4.3.4 Специальные знаки
Последние семь знаков кодируемых наборов A и B (значения знаков от 96 до 102) и последние три знака кодируемого набора C (значения знаков от 100 до 102) - специальные знаки, не являющиеся данными и не имеющие эквивалентов в знаках КОИ-7, предназначены для устройств считывания штрихового кода.
4.3.4.1 Знаки кодируемых наборов (Code) и Shift
Знаки кодируемых наборов (Code) и знак Shift должны использоваться для изменения одного кодируемого набора на другой в пределах символа. Они не должны передаваться декодером.
a) Знаки кодируемых наборов
Знаки Code A, Code B или Code C изменяют ранее определенный кодируемый набор знаков символа с одного на другой набор, определенный знаком Code. Это изменение применяется ко всем знакам, следующим после знака Code до конца символа или до следующего знака Code, или знака Shift.
b) Знак Shift
Знак Shift изменяет набор знаков с A на B или с B на A только для одного знака после знака Shift. Знаки, стоящие после измененного знака, должны возвратиться к представлению того набора знаков (A или B), который был определен до знака Shift. Знак Shift не должен применяться для знаков Code и Shift.
4.3.4.2 Функциональные знаки
Функциональные знаки FNC (ФНК) устанавливают команды для устройств считывания штриховых кодов, обеспечивающие специальное функционирование и применение.
a) FNC1 (ФНК1) используют в особых обстоятельствах, определенных в приложении B.
b) FNC2 (ФНК2) (соединение сообщения) передает команду устройству считывания штрихового кода по временному хранению данных символа, содержащего знак FNC2, и их передаче в качестве префикса к данным следующего символа. Это может быть использовано для того, чтобы связать несколько символов между собой перед их передачей. Этот знак может находиться в любом месте символа. Если имеет значение порядок следования, следует обеспечить считывание символов в требуемой последовательности.
c) FNC3 (ФНК3) (инициализация) передает устройству считывания штрихового кода команду на интерпретацию данных символа, содержащего знак FNC3, в качестве инструкций для инициализации или перепрограммирования устройства считывания штрихового кода. Данные такого символа не должны передаваться устройством считывания штрихового кода. Этот знак может находиться в любом месте символа.
d) FNC4 (ФНК4) используют для представления версии набора КОИ-8 (десятичные значения знаков от 128 до 255) в соответствии с [2] или иным документом. Если используют одиночный знак FNC4, то к десятичному значению следующего знака данных версии КОИ-7 в символе следует добавить 128. Знак Shift может следовать за знаком FNC4 в том случае, если необходимо изменить набор знаков для последующего знака данных. Последующие знаки данных возвращаются к стандартному набору версии КОИ-7. Если используют два последовательных знака FNC4, то ко всем десятичным значениям последующих знаков данных версии КОИ-7 добавляют 128 до тех пор, пока не встретятся следующие сдвоенные знаки FNC4 или не будет достигнут конец символа. В такой последовательности кодирования версии КОИ-8 для возврата к стандартному кодированию КОИ-7 только для одного последующего знака данных устанавливается один знак FNC4. Знаки Shift и Code в такой последовательности должны иметь типовое действие. По умолчанию знаки версии КОИ-8 с десятичными значениями от 128 до 255 соответствуют [2], как представлено в приложении F, однако нормативные документы, регламентирующие применение, могут устанавливать альтернативные наборы знаков для байтов с десятичными значениями от 128 до 255 <1>.
--------------------------------
<1> Рекомендации по кодированию сообщений с буквами кирилловского алфавита содержатся в приложении K.
4.3.4.3 Знаки Start и Stop
Знаки Start A, B и C определяют соответствующий кодируемый набор знаков для начального использования в символе.
Знак Stop одинаков для всех кодируемых наборов знаков.
Знаки Start и Stop не должны передаваться декодером.
4.3.5 Контрольный знак символа
Контрольный знак символа должен присутствовать в символе как последний знак символа перед знаком Stop. Алгоритм его вычисления определен в приложении A (A.1). Контрольный знак символа не указывается в визуальном представлении, и не должен передаваться декодером.
4.4 Требования к размерам
Символы Code 128 должны соответствовать размерам, приведенным в 4.4.1 и 4.4.2.
4.4.1 Минимальная ширина модуля (X)
Этот размер должен определяться нормативным документом по применению в зависимости от возможностей оборудования для производства и считывания символов и в соответствии с общими требованиями применения.
Значение X должно быть постоянным для всего символа.
Примечание - Минимальный размер X не установлен в [3] и должен определяться в рамках конкретного применения. В ранее опубликованных спецификациях, например в [4], минимальный размер X имел значение 0,191 мм.
4.4.2 Свободная зона
Минимальная ширина свободной зоны (слева и справа от символа Code 128) - 10X.
4.5 Рекомендуемый алгоритм декодирования
Системы считывания штрихового кода разработаны таким образом, чтобы благодаря соответствующим алгоритмам можно было считывать несовершенные символы. Для вычисления значения декодируемости, приведенного в [5], используют следующий рекомендуемый алгоритм декодирования, включающий следующие этапы декодирования каждого знака, закодированного в штриховом коде:
1) Рассчитывают восемь размеров ширины <1> p, e1, e2, e3, e4, b1, b2 и b3 (рисунок 5).
--------------------------------
<1> Размер p - измеренная ширина знака символа, e - измеренная ширина от края элемента до подобного края другого элемента, b - измеренная ширина штриха.
Рисунок 5 - Декодирование размеров
2) Преобразуют размеры e1, e2, e3 и e4 в нормализованные значения E1, E2, E3 и E4, которые представляют суммарную ширину (Ei) этих размеров в модулях. Для этих значений i используют следующий метод:
при 1,5p/11 <= ei < 2,5p/11 Ei = 2,
при 2,5p/11 <= ei < 3,5p/11 Ei = 3,
при 3,5p/11 <= ei < 4,5p/11 Ei = 4,
при 4,5p/11 <= ei < 5,5p/11 Ei = 5,
при 5,5p/11 <= ei < 6,5p/11 Ei = 6,
при 6,5p/11 <= ei < 7,5p/11 Ei = 7.
В противном случае - знак содержит ошибку.
3) Находят знак в таблице декодирования (таблица 2), используя в качестве ключа значения E1, E2, E3 и E4.
Таблица 2
Расстояния между краями для декодирования
Code 128 (в модулях)
Значение символа
E1
E2
E3
E4
V
00
3
3
4
4
6
01
4
4
3
3
6
02
4
4
4
4
6
03
3
3
3
4
4
04
3
3
4
5
4
05
4
4
3
4
4
06
3
4
4
3
4
07
3
4
5
4
4
08
4
5
4
3
4
09
4
3
3
3
4
10
4
3
4
4
4
11
5
4
3
3
4
12
2
3
4
5
6
13
3
4
3
4
6
14
3
4
4
5
6
15
2
4
5
4
6
16
3
5
4
3
6
17
3
5
5
4
6
18
4
5
5
3
6
19
4
3
2
4
6
20
4
3
3
5
6
21
3
4
5
3
6
22
4
5
4
2
6
23
4
3
3
4
8
24
4
2
3
4
6
25
5
3
2
3
6
26
5
3
3
4
6
27
4
3
4
3
6
28
5
4
3
2
6
29
5
4
4
3
6
30
3
3
3
3
6
31
3
3
5
5
6
32
5
5
3
3
6
33
2
2
4
5
4
34
4
4
2
3
4
35
4
4
4
5
4
36
2
3
5
4
4
37
4
5
3
2
4
38
4
5
5
4
4
39
3
2
4
4
4
40
5
4
2
2
4
41
5
4
4
4
4
42
2
3
3
4
6
43
2
3
5
6
6
44
4
5
3
4
6
45
2
4
4
3
6
46
2
4
6
5
6
47
4
6
4
3
6
48
4
4
4
3
8
49
3
2
4
6
6
50
5
4
2
4
6
51
3
4
4
2
6
52
3
4
6
4
6
53
3
4
4
4
8
54
4
2
2
3
6
55
4
2
4
5
6
56
6
4
2
3
6
57
4
3
3
2
6
58
4
3
5
4
6
59
6
5
3
2
6
60
4
5
5
2
8
61
4
3
5
5
4
62
7
4
2
2
6
63
2
2
3
4
4
64
2
2
5
6
4
65
3
3
2
3
4
66
3
3
5
6
4
67
5
5
2
3
4
68
5
5
3
4
4
69
2
3
4
3
4
70
2
3
6
5
4
71
3
4
3
2
4
72
3
4
6
5
4
73
5
6
3
2
4
74
5
6
4
3
4
75
6
5
3
3
4
76
4
3
2
2
4
77
5
4
4
2
8
78
6
5
2
2
4
79
4
7
5
2
6
80
2
2
3
6
6
81
3
3
2
5
6
82
3
3
3
6
6
83
2
5
6
3
6
84
3
6
5
2
6
85
3
6
6
3
6
86
5
2
3
3
6
87
6
3
2
2
6
88
6
3
3
3
6
89
3
3
3
5
8
90
3
5
5
3
8
91
5
3
3
3
8
92
2
2
2
5
6
93
2
2
4
7
6
94
4
4
2
5
6
95
2
5
5
2
6
96
2
5
7
4
6
97
5
2
2
2
6
98
5
2
4
4
6
99
2
4
4
5
8
100
2
5
5
4
8
101
4
2
2
5
8
102
5
2
2
4
8
103
3
2
5
5
4
104
3
2
3
3
4
105
3
2
3
5
6
StopA
5
6
4
2
6
StopB
3
2
2
4
6
Примечание - Значения StopA следует применять для декодирования в прямом направлении. Значения StopB применяют к шести крайним правым элементам знака Stop, при сканировании в обратном направлении.
4) Определяют значение V, обеспечивающее самоконтроль знака. Значение V содержится в таблице вместе с найденным знаком и должно быть равно сумме модулей в штрихах этого знака.
5) Проверяют соотношение
(V - 1,75) p/11 (b1 + b2 + b3) < (V + 1,75) p/11.
В противном случае - знак содержит ошибку.
При вычислениях косвенно используют паритет знака для обнаружения всех ошибок декодирования, которые могут быть вызваны отдельными несистематическими ошибками по краям одного модуля.
При использовании указанных пяти этапов декодируют первый знак. Если первым знаком является знак Start, продолжают декодирование символа в нормальном прямом направлении, если это не знак Start, то он декодируется как знак Stop, и производится попытка декодирования всех последующих знаков в обратном направлении.
После того, как все знаки были декодированы, проверяют наличие действительных знаков Start и Stop и правильность контрольного знака символа.
Знаки символа переводят в соответствующие знаки данных из кодируемого набора A, B или C в соответствии со знаками Start, Code и Shift, используемыми в символе.
Кроме того, осуществляют иные вторичные проверки: свободных зон, ускорения луча, абсолютной синхронизации, размеров и т.д., которые считаются оправданными и соответствующими с учетом конкретного устройства считывания и планируемой среды применения.
Примечание - В указанном алгоритме символ декодируется с использованием изменений "от края до подобного края" (e), а также дополнительного измерения совокупной ширины трех штрихов.
4.6 Качество символа
4.6.1 Общие положения
В международном стандарте [5] определена стандартизованная методология измерения и аттестации символов штрихового кода. Символы Code 128 следует оценивать в соответствии с указанным стандартом. Рекомендуемый алгоритм декодирования, приведенный в разделе 4.5 настоящего стандарта, для оценки параметров "декодирование" и "декодируемость" следует использовать после [5].
4.6.2 Декодируемость
Для вычисления декодируемости V применяют следующие правила, являющиеся дополнительными к указанным в [5]:
осуществляют подстановку V1 для Vс в формуле Vс = K/(S/2n),
где Vс - значение декодируемости для знака символа,
K - наименьшая абсолютная разность между измерением и порогом выбора,
S - общая ширина знака,
n - число модулей в знаке символа;
вычисляют V2
,
где M - число темных модулей в знаке,
S - общая ширина знака,
Wb - совокупная ширина штрихов в знаке.
Vс - является меньшей из величин V1 и V2.
Примечание - Следует обратить внимание, что знак Stop включает дополнительный завершающий штрих. При измерении декодируемости знак Stop должен быть проверен дважды, сначала с использованием шести крайних левых элементов, а затем шести правых элементов справа налево. Оба набора из шести элементов по ширине эквивалентны стандартному знаку.
4.6.3 Свободные зоны
В [5] предусмотрено, что в спецификации символики должны содержаться дополнительные критерии оценки. Для Code 128 минимальный размер свободной зоны установлен 10Z <*>. Обе свободные зоны (левая и правая в каждом профиле отражения при сканировании) должны быть измерены и оценены согласно [5] следующим образом:
--------------------------------
<*> Z - средняя ширина выполненных узких элементов.
свободная зона >= 10Z - класс 4,
свободная зона < 10Z - класс 0
4.7 Параметры применения, определяемые пользователем
Параметры применения, определяемые пользователем, приведены в 4.7.1, 4.7.2 и приложении G.
4.7.1 Параметры символики и данных
Нормативные документы по применению должны учитывать следующие параметры:
a) выборка подмножества из кодируемого набора знаков при необходимости;
b) число знаков данных в символе, которое может быть постоянным, переменным или переменным в пределах установленного максимума;
c) должен ли использоваться контрольный знак данных (в дополнение к обязательному контрольному знаку символа) и если должен, то алгоритм его вычисления. Стандартное устройство считывания не должно проверять контрольный знак данных;
d) может или не может быть определено наименьшее значение размера X или диапазон значений размера X при условии, что соответствующий минимальный класс качества символа (с установленными измерительной апертурой и длиной волны излучения) определен;
e) наименьшая высота штриха;
f) наименьшая ширина свободной зоны более наименьшего значения 10X, если ожидаемые условия сканирования требуют этого, например сканирование считывающим карандашом символов с размером X ниже определенного значения;
g) рекомендуемое расширение набора знаков для использования со знаком FNC4.
4.7.2 Спецификация испытаний
Параметры оценки символов должны быть заданы определением класса качества согласно [5] в стандарте, устанавливающем требования по применению. Обозначение класса должно включать значение класса, измерительную апертуру и длину волны излучения, используемого при измерении.
ПРИМЕР
1,5/10/660,
где 1,5 - полный класс качества символа;
10 - ссылочный номер измерительной апертуры (в настоящем примере диаметр 0,25 мм);
660 - длина волны в спектральном максимуме интенсивности отраженного излучения в нанометрах.
4.8 Передаваемые данные
Передаваемые данные от декодируемого символа Code 128 должны включать значения байтов знаков данных. Эти данные предваряются идентификатором символики, определенным в приложении C (при его использовании). Знаки Start и Stop, функциональные знаки, знаки Code и Shift, а также контрольный знак символа не должны содержаться в передаваемых данных.
Приложение A
(обязательное)
ДОПОЛНИТЕЛЬНЫЕ СВОЙСТВА CODE 128
A.1 Контрольный знак символа
Контрольный знак символа Code 128 рассчитывают следующим образом:
1) определяют значение знака символа по таблице 1;
2) каждой позиции знака символа присваивают весовой коэффициент. Знаку Start присваивают весовой коэффициент 1. Затем, начиная слева от первого знака символа, следующего за знаком Start, весовые коэффициенты 1, 2, 3, 4, ..., n для всех последующих знаков символа, за исключением контрольного знака символа; n обозначает число знаков символа, представляющих данные или специальную информацию в символе, за исключением знаков Start/Stop и контрольного знака символа;
Примечание - Знаку Start и первому знаку символа после знака Start присваивают весовой коэффициент 1;
3) значение каждого знака символа умножают на его весовой коэффициент.
4) все произведения, рассчитанные на этапе 3), суммируют;
5) сумму произведений делят на 103;
6) остаток, полученный из расчета на этапе 5), является значением контрольного знака символа.
Пример вычисления значения контрольного знака символа для данных "AIM 1234":
Знаки
Start B
A
I
M
Code C
12
34
Значения знаков (этап 1)
104
33
41
45
99
12
34
Весовые коэффициенты (этап 2)
1
1
2
3
4
5
6
Произведения (этап 3)
104
33
82
135
396
60
204
Сумма произведений (этап 4)
1014
Деление на 103 (этап 5)
1014/103 = 9
Остаток, равный значению контрольного знака символа
87
Контрольный знак символа должен размещаться непосредственно после окончания данных или специального знака и перед знаком Stop.
Примечание - Контрольный знак символа не должен отображаться в визуальном представлении.
A.2 Визуальное представление
Визуальное представление знаков данных (должно соответствовать знакам, передаваемым декодером) должно быть напечатано вместе с кодирующим эти знаки символом Code 128. Знаки Start/Stop и специальные знаки печататься не должны. Размер знаков и шрифт не регламентируются, эта интерпретация может быть напечатана в любой окружающей символ области, без нарушения границ свободной зоны (согласно 4.4.2).
Приложение B
(обязательное)
ОСОБЫЕ ПРАВИЛА ДЛЯ ФУНКЦИОНАЛЬНОГО КОДА 1 (FNC1)
B.1 FNC1 в первой позиции - использование зарезервировано для системы EAN.UCC (ЕАН.ЮСиСи)
В соответствии с соглашением между AIM, Inc. (АИМ, Инк.), EAN International (ЕАН Интернейшнл) и Uniform Code Council (UCC) (Совет по унифицированному коду - ЮСиСи) использование FNC1 в символах Code 128 в первой позиции знака символа после знака Start зарезервировано исключительно для системы EAN.UCC. EAN International и Uniform Code Council разработали логически связанный международный стандарт применения для использования Code 128 в соединении со структурами данных для их кодирования в широком диапазоне определенных стандартом категорий. Этот стандарт полностью приведен в [6].
Адреса этих организаций:
EAN International
Uniform Code Council
rue Rovale 145
7887 Washington Village Drive
B-1000 BRUSSELS
Suite 300
Belgium
Dayton, OH 45458
USA
Информация об актуализированной версии [6] может быть получена в представительствах этих организаций или во входящих в систему национальных организациях нумерации <*>.
--------------------------------
<*> Перечень национальных организаций нумерации в странах - членах МГС на момент принятия настоящего стандарта приведен в приложении J.
B.2 FNC1 во второй позиции - использование зарезервировано для AIM, Inc.
В соответствии с соглашением между AIM и другими организациями использование FNC1 в символах Code 128 в позиции второго знака символа после знака Start зарезервировано для обозначения символов, соответствующих определенным применениям, если существует необходимость однозначного распознавания различных символов Code 128. Следующие знаки являются допустимыми в позиции первого знака символа: цифры от 00 до 99 в кодируемом наборе C, прописные буквы от A до Z и строчные буквы от a до z.
Подробности указанных применений доступны в AIM International (АИМ Интернейшнл) по адресу:
AIM, Inc.
634 Alpha Drive,
Pittsburgh, PA 15328
USA
B.3 Прочие использования
Знак символа FNC1 можно использовать в качестве контрольного знака символа.
FNC1 в позициях третьего или последующих знаков передается в качестве знака версии КОИ-7 с десятичным значением 29 (GS).
B.4 Передаваемые данные
При любых применениях, в которых используют символы Code 128 с FNC1 в первой или второй позиции данных, должна быть обеспечена передача идентификатора символики. Когда FNC1 используется в первой или второй позиции, он не должен быть представлен в передаваемом сообщении, хотя его присутствие обозначается в идентификаторе символики значениями знака-модулятора 1 или 2 соответственно.
Когда FNC1 используют во второй позиции данных, ближайшие предшествующий и последующие знаки символа следует передавать как если бы знак FNC1 не существовал.
FNC1 в позициях третьего или последующих знаков передают как знак версии КОИ-7 GS (знак версии КОИ-7 с десятичным значением 29).
Приложение C
(обязательное)
ИДЕНТИФИКАТОР СИМВОЛИКИ
Идентификаторы символики предоставляют единую методику сообщений о считанной символике, наборе вариантов в устройстве считывания и некоторых встречающихся особенностях данной символики. Идентификатор символики для Code 128 <*>:
--------------------------------
<*> Идентификаторы символики Code 128 установлены в ГОСТ Р 51294.1-99 и [7]
] Cm,
где ] представляет знак версии КОИ-7 с десятичным значением 93;
C - знак кода, присвоенный символике Code 128;
m - значение знака-модификатора в таблице C.1:
Таблица C.1
Значения знака-модификатора для Code 128
m
Вариант обработки
0
Стандартная последовательность данных. Функциональный код 1 не присутствует ни в первой, ни во второй позиции после знака Start.
1
Последовательность данных UCC/EAN-128 (ЮСиСи/ЕАН-128). Функциональный код 1 находится в первой позиции знака символа после знака Start.
2
Функциональный код 1 находится во второй позиции знака символа после знака Start.
4
Соединение в соответствии с требованиями ISBT-128 (АйэСБиТи-128) международного общества переливания крови - следуют связанные данные.
Эта информация не должна кодироваться в символе штрихового кода, однако она должна генерироваться декодером после декодирования и передаваться как преамбула к сообщению данных.
Приложение D
(рекомендуемое)
СООТНОШЕНИЕ ЗНАЧЕНИЙ ЗНАКОВ СИМВОЛА И ЗНАКОВ ВЕРСИИ КОИ-7
Для преобразования значения знака символа (S) к десятичному значению знака версии КОИ-7 или наоборот используют следующие соотношения для кодируемых наборов A и B.
Кодируемый набор A
Если S <= 63, то десятичное значение знака версии КОИ-7 равно S + 32.
Если 64 <= S <= 95, то десятичное значение знака версии КОИ-7 равно S - 64.
Кодируемый набор B
Если S <= 95, то десятичное значение знака версии КОИ-7 равно S + 32.
Результаты значений приведены в таблице 1 настоящего стандарта.
Примечание - Как указано в 4.3.4.2 перечисление d), наличие знака FNC4 дает эффект добавления числа 128 к десятичному значению версии КОИ-7 следующего знака данных или знаков, полученных в соответствии с указанными правилами.
Приложение E
(рекомендуемое)
ИСПОЛЬЗОВАНИЕ ЗНАКОВ START, CODE И SHIFT
ДЛЯ МИНИМИЗАЦИИ ДЛИНЫ СИМВОЛА
Одни и те же данные могут быть представлены различными символами Code 128 с помощью различных комбинаций знаков Start, Code и Shift.
Правила минимизации числа знаков символа, необходимых для представления заданной строки данных (и соответственно общей длины символа), обычно должны использоваться в управляющем программном обеспечении печатающего устройства.
1 Определяют знак Start.
1a Если данные состоят из двух цифр, используют знак Start C.
1b Если данные начинаются с четырех или более числовых знаков данных, используют знак Start C.
1c Если управляющий знак версии КОИ-7 (например, NUL*) находится в данных перед любым знаком нижнего регистра, используют знак Start A.
1d В остальных случаях используют знак Start B.
2 Если используют знак Start C и данные начинаются с нечетного количества числовых знаков данных, вставляют знак Code A или Code B перед последней цифрой в соответствии с 1c и 1d для выбора кодируемого набора A или B.
3 Если четыре или более числовых знака данных объединены в наборах A или B:
3a При четном количестве числовых знаков данных вставляют знак Code C перед первым числовым разрядом, чтобы произвести изменение на кодируемый набор C.
3b При нечетном количестве числовых знаков данных вставляют знак Code C непосредственно после первого числового знака, чтобы произвести изменение на кодируемый набор C.
4 Если в данных кодируемого набора B встречается управляющий знак версии КОИ-7:
4a Если после этого знака в данных следует знак в нижнем регистре, за которым стоит другой управляющий знак, вставляют знак Shift перед управляющим знаком.
4b В остальных случаях ставится знак Code A перед управляющим знаком, чтобы произвести изменение на кодируемый набор A.
5 Если в данных кодируемого набора A встречается знак в нижнем регистре:
5a Если в данных после этого знака следует управляющий знак, за которым стоит другой знак в нижнем регистре, вставляют знак Shift перед знаком нижнего регистра.
5b В противном случае вставляют знак Code B перед знаком нижнего регистра, чтобы произвести изменение на кодируемый набор B.
6 Если в данных кодируемого набора C встречается нечисловой знак, вставляют знак Code A или знак Code B перед этим знаком, следуя правилам 1c и 1d для выбора кодируемого набора A или B.
Примечания:
1 Термин "знак нижнего регистра" используют для удобства, и он подразумевает любой знак кодируемого набор B Code 128 со значениями от 64 до 95 (десятичные значения знаков версии КОИ-7 от 96 до 127), то есть для всех сточных букв алфавита, а также { | } ~ DEL. Термин "управляющий знак" означает любой знак из кодируемого набора A Code 128 со значениями от 64 до 95 (значения знаков версии КОИ-7 от 00 до 31).
2 Если знак функциональный код 1 стоит в первой позиции после знака Start или в нечетной позиции внутри числового поля, то для определения соответствующего набора знаков он должен обрабатываться как две цифры.
3 Если данные содержат знаки версии КОИ-8, десятичные значения которых превышают 127, следует вычесть 128 от их десятичных значений для определения соответствующего набора знаков A или B, а также использовать следующие правила: при наличии последовательности от одного до четырех указанных знаков (1 или 2 в конце строки данных) наиболее эффективно предварять каждый из них знаком FNC4; для пяти (3 в конце строки данных) или большего количества указанных знаков более эффективным является переход в версию КОИ-8 с использованием двух знаков FNC4.
Приложение F
(справочное)
НАБОР ЗНАКОВ ПО ИСО 8859-1 (ЛАТИНСКИЙ АЛФАВИТ НОМЕР 1)
В таблице F.1 представлено соответствие знаков второй половины набора 8-битных однобайтовых кодированных знаков по [2] байтам с десятичными значениями от 160 до 255 включительно. Для знаков с десятичными значениями от 128 до 159 включительно отсутствуют графические представления. Это соответствие эквивалентно ячейкам от 160 до 255 в строке-октете со значением 00 (десятичным) для базовой многоязычной плоскости по [8].
ИС МЕГАНОРМ: примечание.
Здесь и далее в официальном тексте документа, видимо, допущена опечатка: имеется в виду подпункт d) пункта 4.3.4.2, а не пункта 4.3.4.3.
В соответствии с 4.3.4.3, d) настоящего стандарта эти знаки могут быть представлены в Code 128 в соединении со знаком FNC4 на основании соотношения
C = (D - 128),
где C - значение знака версии КОИ-7 символа;
D - значение знака данных по таблице F.1.
Так как это дает значения C от 32 до 127, которые соответствуют знакам кодируемого набора B, следующее соотношение также верно, когда применяется к набору знаков B:
S = (D - 160),
где S - значение знака символа по таблице 1 (кодируемый набор B);
D - значение знака данных по таблице F.1.
Таблица F.1
Вторая часть набора знаков по [2]
160
161
162
163
164
165
166
167
168
169
170
171
NBSP
§
a
172
173
174
175
176
177
178
179
180
181
182
183
SHY
°
2
3
·
184
185
186
187
188
189
190
191
192
193
194
195
1
196
197
198
199
200
201
202
203
204
205
206
207
Ё
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
ё
244
245
246
247
248
249
250
251
252
253
254
255
Примечание - Международные наименования знаков: NBSP - No-break space <*>
SHY - Soft hyphen <*>.
--------------------------------
<*> Русские обозначения и наименования знаков - в приложении L.
Приложение G
(рекомендуемое)
ПАРАМЕТРЫ ПРИМЕНЕНИЯ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ
G.1 Классы качества
Стандарты, регламентирующие требования по применению, должны определять по [5] минимальный класс качества и минимальные значения изменяемых параметров символа, связанных с полным классом символа.
G.2 Показатели размеров
В качестве руководства пользователям нормативный документ, устанавливающий требования по применению, может рекомендовать значение или диапазон значений размера X в соответствии с общими потребностями применения, наличием оборудования нанесения символа и считывающего оборудования. Несоблюдение какого-либо наименьшего размера X измерения само по себе не должно быть причиной для отклонения символа в соответствии с настоящим стандартом.
При ручном сканировании рекомендуется, чтобы наименьший размер Y <*> соответствовал из значений 5 мм или 15% длины символа.
--------------------------------
<*> Y - установленная высота элемента символа Code 128.
Длину L символа Code 128, включая минимальные свободные зоны, рассчитывают по формуле
L = 11X (C + (D/2)) + 22X,
где X - ширина самого узкого элемента;
C - число знаков Start, специальные знаки, контрольный знак символа и знак Stop, а также знаки данных, не включенные в D;
D - число цифровых знаков данных, кодируемых с двойной плотностью (кодируемый набор C).
Приложение H
(рекомендуемое)
РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ CODE 128
H.1 Совместимость для автоматического распознавания
Code 128 может читаться соответствующим образом запрограммированными декодерами штрихового кода, которые автоматически отличают его от других символик штрихового кода.
Для повышения надежности считывания действующий набор декодируемых символик штрихового кода должен ограничиваться необходимыми для данного применения.
H.2 Системные рекомендации
Важно, чтобы различные компоненты (принтеры, ярлыки, сканеры), связанные со штриховым кодом, функционировали как единая система. Сбой в работе любого компонента или рассогласование между ними может поставить под угрозу функционирование системы в целом. Характеристики принтера, символа и сканера должны быть согласованы для надлежащего функционирования.
H.3 Рекомендации для печати
Рекомендации для печати Code 128 с использованием пиксельных печатающих устройств применимы ко всем символикам штрихового кода.
H.3.1 Пиксельная печать
Графическое программное обеспечение, используемое для создания штриховых кодов на пиксельных печатающих устройствах, должно масштабировать каждый штрих и пробел пропорционально пиксельному разрешению используемого печатающего устройства. Для декодирования символик штрихового кода, основанных на принципе "от края до подобного края", таких как Code 128, число пикселей, включаемых в каждый знак символа, должно быть фиксированным целым числом, кратным числу модулей в знаке символа. В Code 128 для знаков символа со значениями от 0 до 105 число модулей - 11, а для знака Stop - 13. Поэтому конкретные печатающие устройства могут наносить только определенный набор размеров X.
Приращение (или сокращение) ширины одного штриха должно быть пропорционально компенсировано во всех штрихах и пробелах символа. Это может быть выполнено изменением целого числа пикселей от темного к светлому или от светлого к темному в равной степени для каждой пары штрихов и пробелов в символе и для последнего штриха символа. Например все темные пиксели с одного края каждого штриха в символе могли быть заменены на светлые, или темные пиксели по обоим краям каждого штриха в символе могли быть заменены на светлые при условии удовлетворительного разрешения печатающего устройства. Приемлемая замена любого набора темных пикселей на светлые или светлых на темные обеспечивается последовательным ее выполнением по всему символу без изменения размеров от края до подобного края или полной ширины знака символа. Невыполнение этих принципов приводит к снижению качества символа и часто имеет результатом несчитывание символов.
Программное обеспечение общего назначения для печати, предназначенное для поддержки широкого диапазона печатающих устройств, должно обеспечивать пользователю возможность настройки размера X и приращения или сокращения ширины штриха.
Пример программирования
В файлах цифрового изображения штрихового кода указанные принципы могут быть сведены к следующим правилам:
1. Преобразование ожидаемого увеличения или размера X измерения к размеру модуля в виде числа пикселей, округленного до ближайшего целого числа.
2. Определение числа пикселей, соответствующих требуемой компенсации для единообразного приращения ширины штриха и округление до ближайшего большего целого числа.
3. Применение указанных результатов для определения числа пикселей каждого штриха и пробела в символе.
ПРИМЕР:
При использовании файлов цифрового изображения штрихового кода в печатающих устройствах с 24 пикселями на 1 мм следует воспроизвести в символе размер X - 0,27 мм с последующим сокращением ширины штриха до 0,06 мм.
Размер модуля - 24 точки/мм·0,27 мм/модуль = 6,5 пикселей, который округляется до 6 пикселей на модуль.
Компенсация приращения штриха - 0,06 мм·24 пикселя/мм = 1,4 пикселя, которая округляется до 2 пикселей.
В результате этого процесса штрихи и пробелы имеют следующее число пикселей, приведенное в таблице H.1.
Таблица H.1
Коррекция пикселей для разрешения изображения и сокращения
ширины штриха
Число модулей
Число пикселей
Штрихи
Пробелы
1
4
8
2
10
14
3
16
20
4
22
26
H.3.2 Руководство для пользователей программного обеспечения для пиксельной печати
При первоначальной печати символа в системе печати, состоящей из программного обеспечения для печати штрихового кода и печатающего устройства, пользователь должен проверить согласно [5], что напечатанный символ соответствует требуемому классу качества печати и размеру X. Если в результате символ не достиг требуемого класса качества, пользователь может увеличить размер X или изменить приращение или сокращение ширины штриха. Если размер X увеличен, пользователь должен проверить обеспечение минимальных свободных зон. Может потребоваться повторение этого процесса, пока не будет достигнут требуемый класс качества символа. Не все системы печати способны создавать приемлемые символы с малыми значениями X.
H.3.3 Рекомендации по управлению процессом
Для управления процессом необходимо оценить среднее приращение или сокращение ширины штриха и выполнить соответствующие действия по их исправлению. На параметр декодируемости, измеренный в соответствии с [5], воздействует как систематическое приращение или сокращение ширины штриха, так и изменения размеров от края до подобного края.
ИС МЕГАНОРМ: примечание.
Нумерация приложений дана в соответствии с официальным текстом документа.
Приложение J
(справочное)
ПЕРЕЧЕНЬ ОРГАНИЗАЦИЙ НУМЕРАЦИИ В СТРАНАХ - ЧЛЕНАХ МГС
Наименования и адреса организаций нумерации в системе UCC/EAN, действующих в странах - членах Межгосударственного Совета по стандартизации, метрологии и сертификации на момент принятия настоящего стандарта, приведены в таблице J.1.
Таблица J.1
Наименования и адреса организаций нумерации, действующих
в странах - членах МГС
Название страны
Наименование организации нумерации
Адрес, телефон, факс, E-mail, web site организации
международное (на английском языке)
на русском языке
Азербайджанская Республика
EAN Azerbaijan
EAN Азербайджан
370010, Азербайджанская Республика, г. Баку, ул. Хагани, 42
Тел.: (99412) 935463 Факс: (99412) 984856
E-mail: khazri@azeri.com
Республика Армения
EAN ARMENIA
EAN АРМЕНИЯ
375051, Республика Армения, г. Ереван, пр-т Комитас, 49/2
Тел.: +374 2 234 778 Факс: 374 2 285 620
E-mail: paslanian@england.com
web site: http://www.sarm.am/ean.htm
Республика Беларусь
EAN BELARUS
ЕАН БЕЛАРУСЬ
220072, Республика Беларусь, г. Минск, ул. Академическая, 25
Тел.: 375 172 84 19 55
Факс: 375 172 84 22 77
E-mail: ean@bas-het.bv
Грузия
EAN GEORGIA
EAN ГРУЗИЯ
380079, Грузия, г. Тбилиси, пр-т Чавчавадзе, 11
Тел.: 995 32 29 33 75
Факс: 995 32 23 57 60
E-mail: ktm@ean.kheta.ge
web site: http://www.gcci.org.ge/ean
Республика Казахстан
EAN KAZAKSTAN
EAN КАЗАХСТАН
480008, Республика Казахстан, г. Алматы, ул. Мынбаева, 47
Тел.: 7 3272 45 75 78
Факс: 7 3272 45 59 32
E-mail: info@ean.almatv.kz
web site: http://www.ean.kz
Республика Молдова
EAN MOLDOVA
EAN МОЛДОВА
MD 2009, Республика Молдова, г. Кишинев, ул. Когалничану, 63
Тел.: 373 2 24 16 69
Факс: 373 2 24 16 69
E-mail: mdean@cni.md
web site: http://www.ean.md
Российская Федерация
Automatic Identification Association UNISCAN/EAN RUSSIA
Ассоциация автоматической идентификации ЮНИСКАН/EAN РОССИЯ
117415, Российская Федерация, Москва, пр. Вернадского, 53 а/я 4
Тел.: 7 095 432 7612, 432 1707
Факс: 7 095 432 9565
E-mail: info@ean.ru
web site: http://www.ean.ru
Республика Узбекистан
EAN UZBEKISTAN
EAN УЗБЕКИСТАН
700047, Республика Узбекистан, г. Ташкент, ул. Бухара, 6
Тел.: 998 71 132 09 04
Факс: 998 71 139 49 01
E-mail: eanuz@online.ru
Украина
Article Numbering Association of Ukraine - EAN-UKRAINE
Ассоциация товарной нумерации Украины EAN-УКРАИНА
04053, Украина, г. Киев, ул. Артема, 26
Тел.: 380 44 216 0734
Факс: 380 44 246 8515
E-mail: ean@ean.kiev.ua
web site: www.ean.kiev.ua
Примечание - В Кыргызской Республике, Республике Таджикистан и Туркменистане на момент принятия настоящего стандарта отсутствовали национальные организации нумерации.
Приложение K
(справочное)
НАБОР ЗНАКОВ ПО ИСО 8859-5
(ЛАТИНСКИЙ/КИРИЛЛОВСКИЙ АЛФАВИТЫ)
В связи с тем, что в настоящее время отсутствуют завершенные международные рекомендации по кодированию в Code 128 букв алфавитов, отличных от латинского, для кодирования данных с буквами кирилловского алфавита в рамках замкнутых систем может быть использована вторая половина набора 8-битных однобайтных кодированных знаков по [9].
В таблице K.1 представлено соответствие знаков этого набора байтам с десятичными значениями от 160 до 255 включительно.
В соответствии с 4.3.4.3, d) настоящего стандарта эти знаки могут быть представлены в Code 128 в соединении со знаком ФНК4 (FNC4) на основании соотношений
C = (D - 128),
где C - значение знака версии КОИ-7 символа;
D - значение знака данных по таблице K.1.
Так как это дает значения C в диапазоне от 32 до 127, которые соответствуют знакам кодируемого набора B, следующие отношения также верны, когда применяются к набору знаков B
S = (D - 160),
где S - значение знака символа по таблице 1 (кодируемый набор B);
D - значение знака данных по таблице K.1.
Таблица K.1
Вторая часть набора знаков по [9]
160
161
162
163
164
165
166
167
168
169
170
171
NBSP
Ё
S
I
J
172
173
174
175
176
177
178
179
180
181
182
183
SHY
А
Б
В
Г
Д
Е
Ж
З
184
185
186
187
188
189
190
191
192
193
194
195
И
Й
К
Л
М
Н
О
П
С
Т
У
196
197
198
199
200
201
202
203
204
205
206
207
Ф
Х
Ц
Ч
Ш
Щ
Ъ
Ы
Ь
Э
Ю
Я
208
209
210
211
212
213
214
215
216
217
218
219
а
б
в
г
д
е
ж
з
и
й
к
л
220
221
222
223
224
225
226
227
228
229
230
231
м
н
о
п
р
с
т
у
ф
х
ц
ч
232
233
234
235
236
237
238
239
240
241
242
243
ш
щ
ъ
ы
ь
э
ю
я
ё
244
245
246
247
248
249
250
251
252
253
254
255
s
i
j
§
Примечание - Международные и русские наименования знаков NBSP, SHY, N и § - в соответствии с приложением L.
Приложение L
(справочное)
НАИМЕНОВАНИЯ И ОБОЗНАЧЕНИЯ ВСПОМОГАТЕЛЬНЫХ, УПРАВЛЯЮЩИХ
И СПЕЦИАЛЬНЫХ ГРАФИЧЕСКИХ ЗНАКОВ
В таблице L.1 приведено соответствие международных и русских наименований и обозначений вспомогательных знаков, приведенных в настоящем стандарте.
Таблица L.1
Соответствие международных и русских наименований
и обозначений вспомогательных знаков
Обозначения знака
Наименование знака
международное
русское
международное
русское
FNC1
ФНК1
FUNCTION CODE ONE
ФУНКЦИОНАЛЬНЫЙ КОД ОДИН
FNC2
ФНК2
FUNCTION CODE TWO
ФУНКЦИОНАЛЬНЫЙ КОД ДВА
FNC3
ФНК3
FUNCTION CODE THREE
ФУНКЦИОНАЛЬНЫЙ КОД ТРИ
FNC4
ФНК4
FUNCTION CODE FOUR
ФУНКЦИОНАЛЬНЫЙ КОД ЧЕТЫРЕ
SHIFT
РЕГИСТР
SHIFT
РЕГИСТР
CODE A
КОД A
CODE SET A
КОДИРУЕМЫЙ НАБОР Эй
CODE B
КОД B
CODE SET B
КОДИРУЕМЫЙ НАБОР Би
CODE C
КОД C
CODE SET C
КОДИРУЕМЫЙ НАБОР Си
START A
СТАРТ A
START A
СТАРТ Эй
START B
СТАРТ B
START B
СТАРТ Би
START C
СТАРТ C
START C
СТАРТ Си
STOP
СТОП
STOP
СТОП
В таблице L.2 приведено соответствие международных и русских наименований и обозначений управляющих знаков, указанных в настоящем стандарте.
Таблица L.2
Соответствие международных и русских наименований
и обозначений управляющих знаков
Обозначения знака
Наименование знака
международное
русское
международное
русское
NUL
ПУС
NULL
ПУСТО
SOH
Н3
START OF HEADING
НАЧАЛО ЗАГОЛОВКА
STX
НТ
START OF TEXT
НАЧАЛО ТЕКСТА
ETX
КТ
END OF TEXT
КОНЕЦ ТЕКСТА
EOT
КП
END OF TRANSMISSION
КОНЕЦ ПЕРЕДАЧИ
ENQ
КТМ
ENQUIRY
КТО ТАМ?
ACK
ДА
ACKNOWLEDGE
ПОДТВЕРЖДЕНИЕ
BEL
ЗВ
BELL
ЗВОНОК
BS
ВШ
BACKSPACE
ВОЗВРАТ НА ШАГ
HT
ГТ
HORIZONTAL TABULATION
ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ
LF
ПС
LINE FEED
ПЕРЕВОД СТРЕЛКИ
VT
ВТ
VERTICAL TABULATION
ВЕРТИКАЛЬНАЯ ТАБУЛЯЦИЯ
FF
ПФ
FORM FEED
ПЕРЕВОД ФОРМАТА
CR
ВК
CARRIAGE RETURN
ВОЗВРАТ КАРЕТКИ
SO
ВЫХ
SHIFT-OUT
ВЫХОД
SI
ВХ
SHIFT-IN
ВХОД
DLE
АР1
DATA LINK ESCAPE
АВТОРЕГИСТР ОДИН
DC1
СУ1
DEVICE CONTROL ONE
СИМВОЛ УСТРОЙСТВА ОДИН
DC2
СУ2
DEVICE CONTROL TWO
СИМВОЛ УСТРОЙСТВА ДВА
DC3
СУ3
DEVICE CONTROL THREE
СИМВОЛ УСТРОЙСТВА ТРИ
DC4
СУ4
DEVICE CONTROL FOUR
СИМВОЛ УСТРОЙСТВА ЧЕТЫРЕ
NAK
НЕТ
NEGATIVE ACKNOWLEDGE
ОТРИЦАНИЕ
SYN
СИН
SYNCHRONOUS IDLE
СИНХРОНИЗАЦИЯ
ETB
КБ
END OF TRANSMISSION BLOCK
КОНЕЦ БЛОКА
CAN
АН
CANCEL
АННУЛИРОВАНИЕ
EM
КН
END OF MEDIUM
КОНЕЦ НОСИТЕЛЯ
SUB
ЗМ
SUBSTITUTE CHARACTER
ЗАМЕНА СИМВОЛА
ESC
АР2
ESCAPE
АВТОРЕГИСТР ДВА
FS
РФ
FILE SEPARATOR
РАЗДЕЛИТЕЛЬ ФАЙЛОВ
GS
РГ
GROUP SEPARATOR
РАЗДЕЛИТЕЛЬ ГРУПП
RS
РЗ
RECORD SEPARATOR
РАЗДЕЛИТЕЛЬ ЗАПИСЕЙ
US
РЭ
UNIT SEPARATOR
РАЗДЕЛИТЕЛЬ ЭЛЕМЕНТОВ
DEL
ЗБ
DELETE
ЗАБОЙ
NBSP
НПР
NO-BREAK SPACE
НЕПРЕРЫВАЮЩИЙ ПРОБЕЛ
SHY
ГД
SOFT HYPHEN
ГИБКИЙ ДЕФИС
Примечания
1 Русские наименования и обозначения знаков по ГОСТ 27465, кроме знаков NBSP и SHY.
2 Русские наименования и обозначения знаков NBSP и SHY по ГОСТ 34.302.2.
В таблице L.3 приведено соответствие международных и русских наименований специальных графических знаков, указанных в настоящем стандарте.
Таблица L.3
Соответствие международных и русских наименований
специальных графических знаков
Обозначение
Наименование
международное
русское
SPACE
ПРОБЕЛ
!
EXCLAMATION MARK
ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК
"
QUOTATION MARK
КАВЫЧКИ
#
NUMBER SIGN
НОМЕР
$
DOLLAR SIGH
ДЕНЕЖНЫЙ ЗНАК ДОЛЛАРА
%
PERCENT SIGH
ПРОЦЕНТЫ
&
AMPERSAND
КОММЕРЧЕСКОЕ И
'
APOSTROPHE
АПОСТРОФ
(
LEFT PARENTHESIS
КРУГЛАЯ СКОБКА ЛЕВАЯ
)
RIGHT PARENTHESIS
КРУГЛАЯ СКОБКА ПРАВАЯ
*
ASTERISK
ЗВЕЗДОЧКА
+
PLUS SIGH
ПЛЮС
,
COMMA
ЗАПЯТАЯ
-
HYPHEN
ДЕФИС
.
FULL STOP
ТОЧКА
/
SOLIDUS
ДРОБНАЯ ЧЕРТА
:
COLON
ДВОЕТОЧИЕ
;
SEMICOLON
ТОЧКА С ЗАПЯТОЙ
<
LESS THAN SIGN
МЕНЬШЕ
=
EQUALS SIGN
РАВНО
>
GREATER THAN SIGN
БОЛЬШЕ
?
QUESTION MARK
ВОПРОСИТЕЛЬНЫЙ ЗНАК
@
COMMERCIAL AT
КОММЕРЧЕСКОЕ ЭТ
[
LEFT SQUARE BRACKET
КВАДРАТНАЯ СКОБКА ЛЕВАЯ
\
REVERSE SOLIDUS
ОБРАТНАЯ ДРОБНАЯ ЧЕРТА
]
RIGHT SQUARE BRACKET
КВАДРАТНАЯ СКОБКА ПРАВАЯ
^
CIRCUMFLEX ACCENT
СИРКЮМФЛЕКС УДАРЕНИЕ
UNDERLINE
ПОДЧЕРКИВАНИЕ
GRAVE ACCENT
СЛАБОЕ УДАРЕНИЕ
{
LEFT CURLY BRACKET
ФИГУРНАЯ СКОБКА ЛЕВАЯ
|
VERTICAL LINE
ВЕРТИКАЛЬНАЯ ЧЕРТА
}
RIGHT CURLY BRACKET
ФИГУРНАЯ СКОБКА ПРАВАЯ
~
TILDE
ТИЛЬДА
NUMERO SIGN
ЗНАК НОМЕРА
§
PARAGRAPH SIGN
ПАРАГРАФ
Примечания
1 Русские наименования и обозначения знаков по ГОСТ 27465, кроме знаков и §.
2 Русские наименования и обозначения знака § - по ГОСТ 34.302.2.
Приложение M
(справочное)
БИБЛИОГРАФИЯ
[1]
ИСО 646-91 Информационная технология - 7-битный кодированный набор знаков ИСО для обмена информацией
[2]
ИСО/МЭК 8859-1-98 Информационная технология - 8-битное однобайтные наборы кодированных графических знаков. Часть 1. Латинский алфавит N 1
[3]
ИСО/МЭК 15417-2000 Информационная технология - Технологии автоматической идентификации и сбора данных - Спецификация символики штрихового кода - Code 128
[4]
EH 799-96 Штриховое кодирование. Спецификация символики Code 128
[5]
ИСО/МЭК 15416-2000 Информационная технология - Технологии автоматической идентификации и сбора данных - Спецификация качества печати штрихового кода - Линейные символы
[6]
"General EAN Specifications" EAN International, Brussels ("Общие спецификации ЕАН" ЕАН Интернешнл, Брюссель)
[7]
ИСО/МЭК 15424-2000 Информационная технология - Технологии автоматической идентификации и сбора данных - Кодирование штриховое - Идентификаторы носителей данных (включая идентификаторы символик)
[8]
ИСО/МЭК 10646-1-93 Информационная технология - Универсальный многооктетный набор знаков (UCS) - Часть 1. Архитектура и базовая многоязычная плоскость
[9]
ИСО/МЭК 8859-5-99 Информационная технология - 8-битное однобайтные наборы кодированных графических знаков. Часть 5. Латинский/Кирилловский алфавиты