Предлагаемое решение, позволяющее формировать штрих-код в режиме вывод rtf базируется на разработке 2003 года. По форумам и статьям его можно часто встретить, но первоисточник похоже всё-таки здесь: [
code128.narod.ru]
Автор решил формировать средствами VBA специфическим образом строку, которая при отображении специальным шрифтом будет представлять собой валидный штрих-код.
Таким образом, мне лишь оставалось портировать предложенный автором алгоритм (code_128) с VBA на C, и любезно воспользоваться его шрифтом.
Итого, чтобы формировать штрих-коды в выходных формах, нужно:
установить на рабочем месте шрифт Barcode.ttf
поместить в корневой каталог barcode.dll
прописать в таблице стилей выходной формы шрифт barcode:
{\f2\fnil\fprq2\fcharset0 Barcode;}
вызвать unifor, с присвоенным шрифтом:
'\f2',&uf('+8barcode,code_128,v30)
Чтобы поиграться прямо в редакторе формата, можно воспользоваться следующим шаблоном:
'{\fonttbl{\f2\fnil\fprq2\fcharset0 Barcode;}}'
'\f2',&uf('+8barcode,code_128,1234567890')
В случае, когда нужно сформировать "высокий" штрих-код, предлагается просто вывод одного штрих-код под другим - так можно задать абсолютно любую высоту получившегося штрих-кода
Аналогично, любой желающий может портировать и другие алгоритмы формирования штрих-кода.
DLL поставляется как есть, и находится в статусе alpha, т.к. несмотря на кратное увеличение выходной строки, пока никакой проверки на переполнение нет. (что связано с тем, что ирбис щедро отводит 32000 символов на буфер пользовательской DLL).