Продукты

Все продукты

				17.06.2013
				

Конвертирование шрифтов из TTF в PHF формат

А. Докучаев

При разработке приложений в QNX4 может возникнуть необходимость использования дополнительных, отсутствующих в ОСРВ, шрифтов. Проще всего это решается добавлением в систему шрифтов в формате TTF. Осуществляется это достаточно просто: утилитой fontcfg -G.

Однако, если Вам понадобится использовать утилиты удаленного взаимодействия с Photon (Phindows и phrelay), Вы обнаружите, что весь текст в приложении отсутствует.

Решение данной проблемы освещено ниже.

Для преодоления обозначенного ограничения необходимо выполнить конвертирование True Type шрифтов (формат TTF разработан фирмой Apple, Inc в конце 1980-х) в стандартный дляPhoton формат (Photon Font - PHF). Однако, непосредственно переконвертировать TTF шрифты в формат PHF нельзя. Для этого необходимо выполнить последовательность преобразований форматов: TTF -> BDF -> PHF. Формат BDF (Adobe Glyph Bitmap Distribution Format) разработанAdobe Software и представляет собой текстовый файл, содержащий битовые маски символов (глифов), представленных в шрифте.

Порядок создания и установки PHF-шрифтов

  • Конвертирование TTF-шрифтов в формат BDF
  • Создание семейства PHF-шрифтов из BDF-шрифта
  • Установка семейства PHF-шрифтов
  • Создание правил для PHF-шрифтов
  • Проверка PHF-шрифтов

1. Конвертирование TTF-шрифтов в формат BDF

Для конвертирования TTF-шрифтов в формат BDF используется утилита ttf2bdf. Версии утилит для ОС Linux и Windows можно найти на форуме.

Для получения BDF-шрифта размера 72pt вводим следующую команду:

 # ./ttf2bdf -p 72 -l '32_255 1024_1279' -o arial72.bdf arial.ttf  

В итоге получаем файл BDF-шрифта – “arial72.bdf”.

Ключевые параметры утилиты ttf2bdf:
  • -p <размер> - размер шрифта (нас интересует 72pt);
  • -l - подмножество символов для извлечения;
  • -o <имя файла> - имя выходного файла BDF-шрифта;
  • <входной файл> - имя исходного файла TTF-шрифта (здесь: arial.ttf)
  • -r <разрешение> - разрешение выходного шрифта (этот параметр сильно влияет на размер выходного файла; по умолчанию – 100dpi). 
Дополнительные примеры перекодирования шрифтов можно найти на qnx4.narod.ru.

2. Создание семейства PHF-шрифтов из BDF-шрифта

Создание семейства PHF-шрифтов из BDF-шрифта производится при помощи стандартной утилиты bdf_2_phf, формат ее вызова приведен ниже.

 # bdf_2_phf -S <код> -N <макс.число> -O <вых. файл> <вх. файл> 
 
Утилита создает PHF-шрифт с выбранным из BDF-шрифта диапазоном символов.

Параметры утилиты:
  • -S <код> - код первого символа, с которого начинается диапазон; 
  • -N <макс.число> - максимальное число символов, составляющих диапазон выбранных символов; 
  • -O <вых. файл> - имя выходного файла PHF-шрифта; 
  • <вх. файл> - имя входного файла BDF-шрифта; 
Проанализировав или исходный TTF-шрифт или имеющийся BDF-шрифт можно подобрать диапазоны символов, которые необходимо извлечь при создании семейства PHF-шрифтов:

# bdf_2_phf -S0x20 -N0x60 -Oarial00-72.phf arial72.bdf
# bdf_2_phf -S0xA0 -N0x64 -Oarial01-72.phf arial72.bdf
# bdf_2_phf -S0x0401 -N0x60 -Oarial02-72.phf arial72.bdf
# bdf_2_phf -S0x045E -N0x20 -Oarial03-72.phf arial72.bdf

Разбиение на диапазоны обусловлены необходимостью ограничения размера файлов PHF-шрифтов 64Кб.

3. Установка семейства PHF-шрифтов

Копируем полученное семейство шрифтов в директорию “/qnx4/photon/font/” и запускаемконфигуратор шрифтов командой fontcfg -G.

В списке не установленных шрифтов (Uninstalled Fonts) появляется шрифт “Arial 72pt Regular”. Выбираем этот шрифт и нажимаем кнопку “Install”.


Для завершения установки, после создания правил (описано в следующем разделе), нажимаем кнопку “Save”.

4. Создание правил для PHF-шрифтов

Открываем вкладку конфигуратора шрифтов “Extensions” и создаем правило для нового шрифта:
  1. Arial;
  2. 72pt Regular;
  3. 72;
  4. 72.

Процесс создания правила для нового шрифта представлен на изображении:


Для завершения установки нажимаем “Install Before”, а затем “Save”.

5. Проверка PHF-шрифтов

Запускаем ped, вводим произвольный текст и выделяем его мышью. Далее открываем диалог выбора шрифта, выбираем шрифт “Arial” и вручную вводим размер шрифта – 72 (этот размер мы указали при создании правила).


В результате видим:


Заключение

Созданные PHF-шрифты будут отображаться и в Phindows и в phrelay. Изменение пользовательских приложений таким образом не потребовалось.



				

Возврат к списку