Генератор штрих-кода Interleaved 2 of 5

Interleaved 2 of 5 упаковывает цифры парами: первую несут пять штрихов, вторую — пять промежутков между ними. Из этого перемежения и берётся плотность — среди чисто числовых символик она одна из самых компактных, — из него же растёт единственная опасность, которая здесь по-настоящему важна. Код непрерывный и структурно себя не проверяет, поэтому луч, вошедший в символ или вышедший из него на середине, вернёт более короткое число, безупречное по форме. Считыватель никак не узнает, что видел половину. Всё дальнейшее — про то, как эту дверь закрыть.

Оформление
Размеры
Подпись
Положение подписи
Выключка подписи
Цвета

304 × 237 px в PNG

Единицы размера

Спецификация

Набор символов
цифры
Длина
от 2 до 30 символов
Контрольная цифра
в этой символике не используется

Где применяется

  • Складская и распределительная маркировка, где номер длинный, места мало, а данные только числовые
  • Промышленная маркировка по грубым поверхностям — гофрокартон, литой пластик, крашеный металл, — где крупный модуль выживает, а мелкий нет
  • Внутренняя нумерация деталей и мест хранения в системах, сложившихся до правил GS1 и переписываться не собирающихся
  • Фотопечать, билеты и нумерация плёнки, где символика встроена в оборудование десятилетиями

Чем отличается

ITF-14 — это тот же Interleaved 2 of 5, у которого опасные места прибиты гвоздями: ровно четырнадцать цифр, обязательный контрольный разряд и обязательная рамка. Всё, что делает голый ITF рискованным — свободная длина, необязательная проверка, необязательная рамка, — там закреплено стандартом, и потому код короба это ITF-14, а не просто ITF. С Code 128 размен другой: плотность против безопасности. Code 128 в числовом режиме почти так же компактен, кодирует ещё и буквы, и прочитать его наполовину куда труднее — структура себя проверяет. Если символику выбирают сегодня и под новое, а не под уже стоящее оборудование, ответом обычно оказывается Code 128. Голый ITF оправдан там, где его ждёт существующая система, или там, где поверхность настолько груба, что выживают только самые широкие модули.

Типичные ошибки

  • Кодировать нечётное число цифр. Цифры идут парами по устройству символики, поэтому нечётное количество не кодируется вовсе. Большинство программ молча дописывает ноль спереди, а это меняет число: 12345 превращается в 012345, и важно это или нет, решает принимающая система, а не вы. Решите заранее, с какой стороны идёт дополняющий ноль, вместо того чтобы узнать потом, что он ушёл не туда.
  • Обойтись без рамки. Рамка вокруг символа — не украшение. Она не даёт лучу, пересекающему код под углом, начать или закончить чтение между двумя парами цифр, а именно так и получается короткое чтение. На длинном символе рамка — это разница между отказом сканирования и враньём.
  • Не ставить контрольный разряд, раз символика его не требует. Не требует — в этом и беда. Без него обрезанное чтение даёт число, безупречное по структуре и неверное по существу. Контрольный разряд по модулю 10 — самая дешёвая защита, какая тут есть, и на любом символе с незакреплённой длиной он практически обязателен.
  • Печатать в розничных размерах. Interleaved 2 of 5 обычно и выбирают ради плохо печатающих поверхностей, а потом уменьшают под макет. Расплыв краски утолщает каждый штрих и утончает каждый промежуток на одну и ту же величину, а декодер различает элементы только по ширине — и с какого-то момента широкий промежуток читается как узкий. Выходит код, который сканируется с третьего раза, и винят в этом обычно сканер.
  • Не ограничивать длину на считывателе. Многие сканеры по умолчанию принимают ITF любой чётной длины — из-за этого короткое чтение и опасно. Если система работает, скажем, только с шестнадцатизначными номерами, настройка считывателя на приём ровно шестнадцати цифр убирает весь этот класс отказов даром.

Вопросы и ответы

Почему число цифр обязано быть чётным?
Потому что цифры кодируются парами: одна в штрихах, следующая в промежутках между ними, — и одинокой цифре не с чем перемежаться. Если номер нечётной длины, добавляется дополняющий ноль; с какой стороны он встанет, решаете вы, и это должно быть решением, а не умолчанием, которое никто не проверил.
Есть ли у Interleaved 2 of 5 контрольный разряд?
По определению нет. Символика допускает контрольный разряд по модулю 10, а ITF-14 делает его обязательным, но голый символ не несёт никакого, пока вы его туда не поставите. Учитывая, что главный риск — короткое чтение, дающее правдоподобное число, ставить его стоит на всём, что покидает ваше собственное оборудование.
Зачем полосы сверху и снизу символа?
Это опорные полосы, и нужны они, чтобы частичное сканирование заканчивалось отказом, а не обманом. Луч, идущий через символ по диагонали, иначе может войти или выйти на середине кода и вернуть укороченное число; рамка заставляет его пересечь либо весь символ, либо ничего. При флексопечати она вдобавок выравнивает давление формы по краям запечатываемого поля.
Что ставить на транспортный короб — это или ITF-14?
ITF-14, без колебаний. Это та же символика с закреплённой длиной в четырнадцать цифр, обязательной проверкой и обязательной рамкой, и именно её ждут на коробе принимающие системы. Голый ITF на коробке — приглашение прочитать номер укороченным чужим сканером.
Это то же самое, что Code 2 of 5?
Нет. Обычный Code 2 of 5 кодирует каждую цифру только штрихами, оставляя промежутки разделителями, и оттого примерно вдвое шире при том же числе. Interleaved 2 of 5 нагружает данными и промежутки — отсюда его плотность и отсюда же требование чётности.