hidensityfonttools
Как работать с новыми шрифтами? Перечислим средства для разработки.
- Fextract Сергея Вакуленко. http://www.vak.ru/pub/palm/fextract13.zip . Инструмент для декомпиляции чужих шрифтов. Единственное замечание - программа забывает добавить в конец получаемого исходного файла отсутствующий глиф.
- Pilrc. Компилятор ресурсов, в том числе шрифтов из текстового формата. Я рекомендую взять откомпилированную бету 3.0, которая поддерживает новые шрифты лучше, чем существующая стабильная версия 2.9. http://yahm.palmoid.com/pilrc.zip
- Par. http://www.djw.org/product/palm/par/ . Замечательный инструмент для работы с пальмовыми базами на десктопе.
- Любой стандартный редактор старых шрифтов.
- PalmFontConv от Александр Р. Прусс aka arpruss. http://palmfontconv.sourceforge.net/ . Хороший конвертор из любого вида пальмовых шрифтов в любые. Программа подсказана Василием Парфеновым.
Перечислим операции, которые мы можем произвести с помощью перечисленных средств:
- Создать старый бинарный шрифт можно редактором шрифтов
- Из старого бинарного шрифта можно получить текстовый с помощью fextract
- Откомпилировать несколько текстовых шрифтов в новый шрифт можно с помощью pilrc
- Создать из нового шрифта базу можно с помощью pilrc
- Заменить шрифт в существующей программе можно с помощью par.
Новые шрифты собираются из двух старых. Один старый шрифт должен быть строго в два раза раза больше другого по всем измерения. Это правило должно соблюдаться для всех глифов. Пример:
шрифт 11x11 и 22x22 буква "я" из одинарного набора. ее размеры 4x11 ---- ---- ---- ---- -##- #-#- -##- #-#- #-#- ---- ---- буква "я" из двойного набора. ее размеры 8x22 -------- -------- -------- -------- -------- -------- -------- -------- -------- ---####- --#---#- -#----#- -#----#- --#---#- ---####- ---#--#- --#---#- -#----#- -------- -------- -------- --------
Если двойная буква получается уже или ниже, то необходимо добить глиф пустыми строками и колонками.
Шрифты после создания следует перевести в текстовый вид. Также нужно создать файл описания ресурсов следующего вида
// font.rc file FONTFAMILY ID 0x232e BEGIN FONT "a-6x6.pfn" DENSITY 72 FONT "a-22x22.pfn" DENSITY 144 END FONTFAMILY ID 0x2330 BEGIN FONT "a-7x7.pfn" DENSITY 72 FONT "a-14x14.pfn" DENSITY 144 END
Запуском
pilrc font.rc
мы получим откомпилированный новый шрифт. Для получения little endian шрифтов используйте опцию -LE32:
pilrc -LE32 font.rc
.
Отзывы о PalmFontConv от wasly:
Передо мной стояла обратная задача: Перевести шрифт для PalmOS5(afnx) в шрифт для PalmOS4(nfnt). Обладая на тот момент абсолютно нулевыми знаниями об шрифтах для PalmOS5, тем не менее выполнил эту задачу в течении 10-20 минут с помощью программы PalmFontConv (http://palmfontconv.sourceforge.net/). Правда сей продукт тоже при конвертировании в txt-формат “забывает“ извлекать дефолтовый фонт. Советую глянуть - программа умеет многое приментельно к шрифтам под PalmOS5. Плюс проект OpenSource, так что всегда можно подкорректировать код или подглядеть что-то о формате шрифта. Есть версия под Win32-консоль, работающая через cygwin(http://www.cygwin.com). Но перекомпилить под винду его не составит особого труда. ;) P.S. PilFont тоже “забывал“ извлекать дефолтовый фонт из шрифта - ничего, я его научил. PilRC пользую версии 2.9p10 - в этой версии почему-то _снова_ “пропала“ строка вставляющая FFFF в конце шрифта - тоже научили. Вот в чем прелесть OpenSource - это ж надо понимать :)
hidensityfonttools.txt · Last modified: 2003/08/18 12:31 by 127.0.0.1