Формат распределения растровых изображений глифа
Расширение имени файла |
.bdf |
---|---|
Тип интернет-СМИ |
приложение /x-font-bdf [1] |
Разработано | Adobe Inc. |
Первоначальный выпуск | 1987 год |
Последний выпуск | 2.2 22 марта 1993 г |
Тип формата | Формат растрового шрифта |
Открытый формат ? | да |
Веб-сайт | Спецификация формата распространения растровых изображений Adobe Glyph (BDF), версия 2.2 |
Формат распространения растровых изображений Glyph (BDF) от Adobe — это формат файлов для хранения растровых шрифтов . Содержимое имеет форму текстового файла, предназначенного для чтения человеком и компьютером. BDF обычно используется в средах Unix X Window . Он в значительной степени был заменен форматом шрифтов PCF , который несколько более эффективен, а также масштабируемыми шрифтами, такими как шрифты OpenType и TrueType .
Обзор
[ редактировать ]В 1988 году X Consortium принял BDF 2.1 в качестве стандарта для экранных шрифтов X Window. [2] но X Windows в значительной степени перешла на другие стандарты шрифтов, такие как PCF , Opentype и Truetype .
В версии 2.2 добавлена поддержка незападного письма. Например, глифы в определении шрифта BDF 2.2 могут определять рендеринг сверху вниз, а не просто слева направо.
Файл шрифта BDF содержит три раздела:
- глобальный раздел, который применяется ко всем глифам шрифта;
- раздел с отдельной записью для каждого глифа; и
- тот
ENDFONT
заявление.
Пример
[ редактировать ]Это пример шрифта, содержащего один глиф для заглавной буквы ASCII. Этот глиф взят из GNU Unifont .
STARTFONT 2.1 FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 SIZE 16 75 75 FONTBOUNDINGBOX 16 16 0 -2 STARTPROPERTIES 2 FONT_ASCENT 14 FONT_DESCENT 2 ENDPROPERTIES CHARS 1 STARTCHAR U+0041 ENCODING 65 SWIDTH 500 0 DWIDTH 8 0 BBX 8 16 0 -2 BITMAP 00 00 00 00 18 24 24 42 42 7E 42 42 42 42 00 00 ENDCHAR ENDFONT
В приведенном выше примере глобальные объявления начинаются с STARTFONT
линию и закончить CHARS
линия.
STARTFONT 2.1
определяет версию этого файла BDF как версию 2.1.
FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
определяет семейство шрифтов и названия шрифтов как логическое описание шрифта X.
SIZE 16 75 75
определяет это как шрифт размером 16 пунктов с разрешением по оси X 75 точек на дюйм (dpi) и разрешением по оси Y 75 точек на дюйм. Это норма для X Window.
FONTBOUNDINGBOX 16 16 0 -2
определяет ограничивающую рамку для шрифта шириной 16 пикселей и высотой 16 пикселей, причем нижний левый угол начинается с x = 0 и y = -2 . Обратите внимание: хотя ограничивающая рамка определена как ячейка размером 16 на 16, ее можно переопределить для отдельных глифов. Например, глиф «А» имеет ширину всего 8 пикселей.
STARTPROPERTIES 2
заявляет, что последуют два специальных свойства. STARTPROPERTIES
является необязательным в спецификации BDF. X Window позволяет использовать свойства FONT_ASCENT
и FONT_DESCENT
чтобы показать высоту выше и ниже базовой линии соответственно для всех глифов. FONT_ASCENT 14
заявляет, что 14 из 16 пикселей по высоте находятся над базовой линией. FONT_DESCENT 2
заявляет, что 2 из 16 пикселей по высоте находятся ниже базовой линии. ENDPROPERTIES
появляется в конце STARTPROPERTIES
раздел.
CHARS 1
заявляет, что последует один символ. Хотя Adobe теперь называет этот формат файла Glyph BDF, они сохранили ключевое слово CHARS
в окончательной версии спецификации.
Строки, начинающиеся со слова COMMENT
можно вставить в файл BDF. Все, что следует за COMMENT
Ключевое слово в строке игнорируется.
Следуя приведенным выше глобальным объявлениям, следующие записи могут повторяться для каждого глифа.
STARTCHAR U+0041
указывает начало символа в версии 2.1 и более ранних версий или глифа в версии 2.2. Строковое имя этого конкретного символа: U+0041
, выражающий в соглашении Unicode шестнадцатеричный код 41 (десятичный 65, символ ASCII «A»). В версии 2.1 и более ранних версиях строка имени персонажа была ограничена 14 символами. В версии 2.2 строка имени глифа может содержать до 65 535 символов.
ENCODING 65
объявляет десятичную кодовую точку для этого глифа в шрифте.
SWIDTH 500 0
объявляет масштабируемую ширину 500 по оси X и 0 (по умолчанию) по оси Y. Это приведет к смещению оси X к следующему глифу, но смещению по оси Y к следующему глифу не будет (т. е. глифы будут располагаться прямо поперек линии). Масштабируемая ширина в 1000 раз превышает фактический размер символа — та же единица измерения, которая используется в файле Adobe Font Metric (AFM). Количество пикселей рассчитывается как Пиксели = Масштабируемая ширина / 1000 * Разрешение / 72 , где масштабируемая ширина в этом примере равна 500, а разрешение для этого шрифта — 75 точек на дюйм. Поскольку 75 примерно равно 72, количество пикселей равно полной ширине глифа (определяемой глобально как 16 пикселей), умноженной на 500/1000 или, другими словами , . ширина этого глифа равна 8 пикселям
DWIDTH 8 0
объявляет ширину устройства глифа. В этом случае после визуализации глифа начало следующего глифа смещается на 8 пикселей по оси X и на 0 пикселей по оси Y от текущего начала координат глифа. Обратите внимание, что ширина устройства не обязательно равна ширине глифа. Это просто смещение по оси X для перемещения текущей точки к началу следующего глифа.
Масштабируемая ширина используется для расчета ширины глифа с высоким разрешением на принтере, тогда как ширина устройства используется для расчета ширины глифа на устройстве отображения. Таким образом, масштабируемая ширина указывается с большей точностью, чем ширина устройства.
BBX 8 16 0 -2
объявляет ограничивающую рамку шириной 8 пикселей и высотой 16 пикселей. Нижний левый угол символа смещен на 0 пикселей по оси X и на -2 пикселя по оси Y.
BITMAP
начинает растровое изображение текущего глифа. За этой линией должна следовать одна линия на пиксель по оси Y. В этом примере высота глифа составляет 16 пикселей, поэтому за ним следует 16 строк. Каждая строка содержит шестнадцатеричное представление пикселей подряд. Бит «1» указывает визуализированный пиксель. Каждая строка округляется до границы 8 бит (один байт) и дополняется нулями справа. В этом примере ширина глифа составляет ровно 8 пикселей, поэтому он занимает ровно 8 бит (один байт) на строку, так что заполнения нет. Самый старший бит строки растровых данных представляет собой самый левый пиксель.
ENDCHAR
завершает текущий глиф.
Декларации STARTCHAR
через ENDCHAR
повторяются для каждого глифа шрифта.
ENDFONT
отображается как последняя строка в файле после перечисления всех глифов шрифта.
Расширения версии 2.2
[ редактировать ]Версия 2.2 спецификации BDF добавляет поддержку незападных шрифтов. Эти дополнения позволяют перемещать начало координат положительным или отрицательным перемещением по осям X и Y. Это обеспечивает не только направление письма справа налево, но даже сверху вниз (например, для китайского языка). Следующие значения обеспечивают поддержку многонациональных шрифтов:
METRICSET
устанавливается в 0 для направления письма 0, 1 для направления письма 1 или 2 (в начальной глобальной области) для обоих направлений письма в одном и том же шрифте. Традиционные западные сценарии используют письмо слева направо. METRICSET 0
.
SWIDTH1
и DWIDTH1
имеют те же параметры, что и SWIDTH
и DWIDTH
, соответственно. DWIDTH1
должен присутствовать на METRICSET 1
глиф. Его смещения могут быть положительными или отрицательными.
VVECTOR
определяет смещение по оси X и смещение по оси Y для перехода от глифа режима 0 к глифу режима 1. Противоположное смещение применяется во время перехода глифа из режима 1 в режим 0.
Эта схема легко совмещает два направления письма. Исторически сложилось так, что шрифты имели 128 или 256 кодовых точек. Сегодня Unicode допускает более миллиона кодовых точек. Шрифты предположительно могут содержать тысячи глифов, некоторые из которых следует писать слева направо, некоторые — справа налево, а некоторые — сверху вниз. Такое разнонаправленное письмо требует творческого использования DWIDTH1
и SWIDTH1
для каждого глифа.
Помимо ключевых слов, добавленных для международной поддержки, в версии 2.2 добавлена CONTENTVERSION
декларация. За этим ключевым словом следует целое число, обозначающее номер версии шрифта.
Для получения более подробной информации обратитесь к спецификации версии 2.2.
Свойства X-окна
[ редактировать ]Утилиты шрифтов X Window поддерживают несколько свойств, которые можно указать в STARTPROPERTIES
раздел файла BDF. [3] Общий файл BDF имеет кодировку ASCII . Свойства X Window задаются с использованием кодировки ISO 8859-1 , которая является расширением ASCII. Эти свойства включают в себя:
CAP_HEIGHT
(целое число) Высота над базовой линией заглавной буквы (см. Высота прописной буквы ).COPYRIGHT
(нить) [4] Заявление об авторских правах.DEFAULT_CHAR
(целое число без знака) Символ (глиф) по умолчанию, отображаемый для неопределенного глифа.FACE_NAME
(нить [4] ) Название начертания этого шрифта.FONT
(нить) [4] Имя шрифта в X Window.FONT_ASCENT
(целое число) Высота над базовой линией для расчета межстрочного интервала.FONT_DESCENT
(целое число) Нижний элемент ниже базовой линии для расчета межстрочного интервала.FONT_VERSION
(нить) [4] Версия шрифта.FOUNDRY
(нить) [4] Название литейного завода.FAMILY_NAME
(нить) [4] Название семейства шрифтов.NOTICE
(нить) [4] Общий комментарий.POINT_SIZE
(целое число) См. Точка (типографика) . Если это не указано отдельно, EMspace = round(POINT_SIZE/10), ENspace = round(POINT_SIZE/20) и THINspace = round(POINT_SIZE/30).RESOLUTION_X
(беззнаковое целое число)RESOLUTION_Y
(беззнаковое целое число)SLANT
(нить) [4] «R» — прямой, «I» — курсив, «O» — наклонный, «RI» — обратный курсив, «RO» — обратный наклонный, «OT» — другой, а число указывает на возможность полиморфного наклона.WEIGHT_NAME
(нить) [4] Начертание этого шрифта («Жирный» и «Нормальный» являются типичными, хотя установленного перечисления нет).X_HEIGHT
(целое число) Высота над базовой линией строчной буквы «x» (см. x-height ).
Примечания
[ редактировать ]- ^ .bdf Тип MIME не зарегистрирован в IANA
- ^ «Система X Window, версия 11, выпуск 3» . Фонд X.Org . Октябрь 1988 года . Проверено 19 января 2016 г.
- ^ Флауэрс, Джим (1994) [1988]. «3.2 Свойства шрифта». X Соглашения об описании логических шрифтов (изд. версии 1.5). X Consortium, Inc. с. 13. Архивировано из оригинала 31 марта 2013 г. Проверено 8 января 2009 г.
- ^ Перейти обратно: а б с д и ж г час я ISO 8859-1 Строка символов .
Ссылки
[ редактировать ]- Стандарт Юникод, версия 5.0 . Консорциум Unicode (5-е изд.). Аддисон-Уэсли . Октябрь 2006 г. ISBN. 978-0-321-48091-0 .
{{cite book}}
: CS1 maint: другие ( ссылка )