Файлы форм и шрифтов AutoCAD (SHX) - это результат компиляции исходных файлов описаний форм (SHP). Для создания и модификации файлов описаний можно использовать любой текстовый редактор или текстовый процессор, который сохраняет тексты в формате ASCII.
Синтаксис в файлах описаний не зависит от того, как будут эти описания использоваться как формы или как текстовые шрифты. Но для тех описаний, которые относятся к шрифтам, первым элементом файла должно быть описание шрифта, а не формы. Если же файл начинается с обычного описания формы, AutoCAD считает, что это — файл форм, а не шрифта.
Умение пользователя создавать собственные описания форм является весьма ценным навыком. Однако, следует помнить, что этот предмет очень сложен, и его изучение требует наличия терпения.
Каждая строка в файле описания форм может содержать до 128 символов. Более длинные строки не могут быть откомпилированы. Так как AutoCAD игнорирует в описаниях пустые строки и текст справа от точки с запятой, в файлы описания форм можно включать комментарии.
У каждого описания формы имеется строка заголовка, за которой следуют одна или несколько строк с байтами описания. Байты разделяются запятыми; в конце описания должен стоять нуль.
*номер_формы,число_байт,имя_формы
байт1,байт2,байт3,...,0
В следующем списке рассматриваются поля описаний форм:
Уникальный в пределах файла номер от 1 до 258 (для шрифтов Unicode до 32768). Перед номером должна следовать звездочка (*). В обычных (не Unicode) шрифтах номера 256, 257 и 258 предназначены для хранения символов градуса, плюса-минуса и диаметра. В шрифтах Unicode эти символы имеют коды соответственно U+00B0, U+00B1 и U+2205 и являются частью набора “Расширенная латиница-А”.
Для описаний текстовых шрифтов (файлов, содержащих описания форм для каждого символа) номерами форм должны являться коды ASCII символов, которым эти формы соответствуют. Для описаний форм номера могут быть произвольными.
Количество байт, которыми описывается форма (включая завершающий нуль). Длина каждого описания не должна превышать 2000 байт.
Имя формы. Оно должно быть написано в верхнем регистре. Имена в нижнем регистре игнорируются. Они обычно используются для кратких пояснений к символам шрифта.
Байт описания формы. Он содержит либо длину и направление вектора, либо один из специальных кодов. Байты описания могут представляться как десятичными, так и шестнадцатеричными значениями. В приведенных в данном разделе примерах (как и в реальных описаниях) используются и те, и другие. Если первым символом байта описания является 0 (нуль), то два следующих символа интерпретируются как шестнадцатеричное число.