Не всегда существуют русские шрифты для конкретной модели принтера, а существующие могут не подходить по размеру. В таком случае можно воспользоваться альтернативным вариантом с помощью печати текста как изображения.
Это устаревшая статья о печати, см. новый раздел по печати и шаблонам этикеток.
Для вывода русских текстов на CPCL в Mobile SMARTS добавлена возможность вставки в этикету кода, который преобразует текст в картинку. Для этого необходимо открыть этикетку в простом текстовом редакторе и написать следующее:
{global::Zebra.CPCL.Text([<название шрифта>, <высота шрифта в миллиметрах>,] [, ,] <текст>, <доступная ширина>)}
Координаты <x>, <y> задаются в единицах, которые в данный момент выбраны текущими (см. руководство по CPCL).
Метод global:Zebra.CPCL.Text возвращает команду UG и соответствующую картинку. Из шрифтов доступны «Tahoma» и «Courier New».
Например:
{global::Zebra.CPCL.Text("Tahoma", 3, 0, 26, "Русский текст", 360)} {global::Zebra.CPCL.Text("Tahoma", 3, "Русский текст", 360)}
Также можно координаты текста пропускать, и указывать следующее:
[CPCL]
! 0 200 200 290 1
PAGE-WIDTH 390 ; SetFont(<название шрифта>, <высота в шрифта миллиметрах>). {global::Zebra.CPCL.SetFont("Tahoma", 4)} {global::Zebra.CPCL.Text("Русский текст", 360)} {global::Zebra.CPCL.Text("Ещё текст", 360)}
{global::Zebra.CPCL.Text("Tahoma", 1.7, "мелкий текст", 360)}
{global::Zebra.CPCL.Text("Tahoma", 1.7, "мелкий текст", 360)}
{global::Zebra.CPCL.Text("Tahoma", 1.7, "мелкий текст", 360)}
{global::Zebra.CPCL.Text("Tahoma", 1.7, "мелкий текст", 360)}
; SetLP(<отступ до> [, отступ после]) в миллиметрах.
{global::Zebra.CPCL.SetLP(10, 0)}
{global::Zebra.CPCL.Text("Tahoma", 1.7, "мелкий текст с отступом 10 мм", 360)}
POSTFEED 20
Итог:
Параметры, для которых указано «в миллиметрах», работают правильно только при разрешении 200dpi, т. е. только если этикетка начинается на «! X 200 200 .»
Важное замечание: код global:Zebra не является расширением языка печати и совершенно ничего не знает о том, что мы там пишем на CPCL. То есть вызовы SetLP, выравнивания текста Left|Right/CenterAlign и прочие вещи никак не связаны с SETLP, LEFT/RIGHT/CENTER и прочим в языке CPCL, т. е. одно о другом ничего не знает и друг на друга они не влияют.
Еще одно важное замечание: прямые («), косые («) и русские («) кавычки — фактически являются различными символами и не взаимозаменяемы! В качестве «кавычек» для обрамления строк в вызовах Zebra.CPCL следует использовать только прямые («) кавычки. За этим следует следить отдельно, т.к. такую ошибку легко пропустить.