Кураев А

ХРИСТИАНСТВО НА ПРЕДЕЛЕ ИСТОРИИ

обоих штрихов знака и пробела между ними. Все пробелы, подчеркиваем - все, находящиеся за пределами этих двух штрихов, составляющих знак, просто игнорируются алгоритмом распознавания! Следуя ГОСТу..., подсчитывается параметр el, равный расстоянию от передней кромки первого штриха до передней кромки второго штриха знака; параметр е2, равный расстоянию от задней кромки первого штриха до задней кромки второго штриха; иногда еще требуется сумма ширин первого и второго штрихов"; и что имеет значение только "знак "штрих-пробел-штрих" (все - шириной в один "модуль"950); количество пробелов справа и слева от знака - по вкусу (они все равно не участвуют в декодировании)".

Далее авторы для знака цифры "6" и для вспомогательных знаков при m=1 (не объяснив, как они получили это значение) выполнили все действия, предусмотренные Алгоритмом, начиная с п.З, и получили для всех знаков: e1=2; e2=2; Е1=2; Е2=2. По табл. 4.10 определили значение знака данных: "6" - одно и то же и для всех знаков, и сделали вывод: алгоритм декодирования ГОСТа единственным образом распознает вспомогательные знаки как цифру "6". Этот результат они и ожидали получить в соответствии со своим общим (и ошибочным) выводом: "все пробелы, лежащие за пределами трех элементов знака Ш П Ш игнорируются алгоритмом декодирования".

В чем же ошибка приведенных выше рассуждений?

Авторы упоминают только e1 и е2, но ведь для декодирования необходимо знать их относительные значения: e1/m и е2/m. А для их определения необходимо знать значение ширины модуля m. Но как его узнать? Это же не универсальная константа вроде постоянной Планка. Ширина модуля разная не только для разных этикеток со штрих-кодом - она меняется даже в пределах одного и того же символа за счет искажений, возникающих при считывании его сканером (например, если этикетка находится на цилиндрической поверхности), и даже в пределах одного и того же знака символа. Но в этом последнем случае считают, что на протяжении знака она меняется незначительно, и полагают m=S/7, где S - ширина информационного знака символа, состоящего из 7 модулей. И такое определение m в реальных считывающих устройствах проводится для каждого знака символа951. Оно предусмотрено и алгоритмом декодирования ГОСТа (при вычислении базовых пороговых значений). Таким образом, для декодирования информационного знака символа существенно необходимо знать общую ширину знака, которая определяется всеми штрихами и пробелами, образующими знак.

Приведем пример. Пусть нам встретился знак из трех элементов "штрих-пробел-штрих",