Как работать с новыми шрифтами? Перечислим средства для разработки. * 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 - это ж надо понимать :)