Одного шрифта Unicode, вследствие гораздо большего количества символов в нем, достаточно для поддержки всех языков и платформ. Формат и синтаксис файлов описания шрифтов Unicode практически идентичны формату и синтаксису файлов описания обычных форм AutoCAD.
Основное различие заключается в синтаксисе заголовка шрифта, который выглядит так:
*UNIFONT,6,имя_шрифта
сверху,снизу,режимы,кодировка,тип,0
имя_шрифта, сверху, снизу и режимы задаются так же, как и для обычных шрифтов. Смысл двух остальных параметров описан ниже:
ПараметрыКодировка шрифта. Может иметь одно из следующих целых значений:
0 Unicode
1 Упакованный многобайтовый 1
2 Файл формы
Информация о способе внедрения шрифта. Определяет, является ли шрифт лицензионным. Лицензионные шрифты нельзя ни модифицировать, ни распространять. Возможные значения:
0?Шрифт может быть внедрен
1?Шрифт не может быть внедрен
2?Внедрение осуществляется без возможности модификации
число_байт), записанное в заголовке описания формы. Например, в файле romans.shp можно найти такое описание формы:
Другим важным различием является способ обработки ссылок на субформы (код 7). Если в описании шрифта присутствует такая ссылка, следующие за кодом 7 данные интерпретируются как 2-байтовое значение. Это влияет на общее количество байт данных (*00080,4,keuroRef
7,020AC,0
Второе поле в заголовке показывает, сколько байт занимает данное описание. Тем, кто ранее не работал со шрифтами Unicode, может показаться, в этом случае длина должна равняться 3 байтам, а не 4, но если изменить таким образом значение длины, возникнет ошибка компиляции SHP-файла. Даже если номер формы, на которую выполняется ссылка, занимает всего один байт (т.е. меньше или равен 255), компилятор всегда отводит под данное поле 2 байта, так что это необходимо учесть в заголовке.
\U+).
Еще одно видимое различие между шрифтами Unicode и обычными шрифтами относится к формату записи номеров форм. В описаниях форм шрифтов Unifont, поставляемых с AutoCAD, используются шестнадцатеричные, а не десятичные номера шрифтов. Хотя это и не обязательно, соблюдение данного соглашения намного упрощает ориентацию в файле (особенно при обращении к символам-формам с помощью кода