Официальный форум СВД Встраиваемые Системы
19 Апрель, 2024, 20:31:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Конвертирование шрифтов из TTF в PHF формат  (Прочитано 8365 раз)
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« : 02 Ноябрь, 2009, 12:59:48 »

Конвертирование шрифтов из 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

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

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

Дополнительные примеры перекодирования шрифтов можно найти тут http://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 (этот размер мы указали при создании правила).



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




ttf2bdf для Windows
ttf2bdf для Linux
ttf2bdf для QNX4
« Последнее редактирование: 04 Ноябрь, 2009, 19:19:30 от Олег Большаков » Записан

Олег Большаков
Легенда

Сообщений: 3140



« Ответ #1 : 04 Ноябрь, 2009, 14:09:35 »

Обсуждение ttf2bdf для QNX 4.25.
« Последнее редактирование: 04 Ноябрь, 2009, 19:20:02 от Олег Большаков » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 31 Март, 2024, 00:19:04