Налоговая Украины решила освоить печать налоговых накладных и приложений к ним на спецбланках. Посему фирмы потихоньку приучают печатать нужную информацию для автоматического сканирования и распознавания в специально выделенных полях по принципу "один знак - одна ячейка".
Сидеть и рисовать "квадратики", подгоняя их размер под тип шрифта, выбираемый пользователем, драйвера принтера и масштаб страницы достаточно утомительно. Особенно через удаленное сопровождение. когда на экране одно - в окне просмотра - другое. а на принтере - третье.
Поэтому я выбрал достаточно простой (с моей точки зрения) способ - взять моноширинный шрифт (все символы имеют ячейки одного размера) и дорисовать окантовку. На все про все ушло менее получаса.
В моем случае за основу был взят ER Kurier 1251. Таблица символов расширена и для Unicode.
Примечание.
Поскольку это 1С, нельзя же совсем без кода. Следующие 2 функции рекомендую вставить в Глобальный модуль. А в тексте печатной формы вместо печати самой переменной вызывать функцию глРасширить(, новая_длина_дозаполняемая_символом_255). Почему не пробелом? А потому, что некоторые драйвера принтеров считают, что пробел - просто отступ, а не печатный символ.
// ===============================
Функция глМодуль(Чис)
Если Чис < 0 Тогда
Возврат (- Чис)
Иначе
Возврат Чис;
КонецЕсли;
КонецФункции
// ===============================
Функция глРасширить(Тек, Длина) Экспорт // если отрицательная длина - заполнение справа
Перем Текст;
Текст=СтрЗаменить(СокрЛП(Тек)," "," "); // замена пробелов на 255-й символ или Символ(160)
Пока СтрДлина(Текст) Если Длина Текст=Текст+" "; //Это не пробел, а Alt+255 или Символ(160)
Иначе
Текст=" " + Текст; //Это не пробел, а Alt+255 или Символ(160)
КонецЕсли;
КонецЦикла;
Возврат (Текст);
КонецФункции
// ===============================
Для тех, кто любит отправлять по электронной почте свои документы без встроенных шрифтов и без защиты (текстовый формат или в виде электронной таблицы), придется либо попросить установить у партнеров такой-же шрифт, либо рисовать "рамочку".
Желающие могут сами освоить процедуру создания собственного шрифта, благо ничего сложного в этом нет.
2011/02/04
Добавлен еще один вариант шрифта - с расширенной кодовой таблицей.
2011/02/05
Расширена клетка для шрифта BorderBold - теперь при печати в 2 ряда рамки сливаются. (Зато они стали чуть уже при печати в один ряд )
2011/02/07
То же самое сделано для Italic.
2011/02/08
Добавлен еще один вариант основного шрифта - с более узкой рамкой и точкой на I-украинское.