Добрый день
Есть необходимость перегнать шрифт из ttf в fixed формат, точнее, только кириллицу из него. Первое, что приходит в голову - взять FontForge и сделать в нем все необходимое. Но увы - разрешение в нем можно задать только одно, как для горизонтали, так и для вертикали, а мне требуется непременно разрешение 8х19, вот так:
UEFI: UEFI HII (Part 6): Simple Fonts
Второй вопрос - как сделать при конвертации заполнение строк, в которых нет пикселей, нулями? При конвертации в BDF нулевые строки попросту отбрасываются, и получается меньшее количество строк - а мне потом программно надо перегонять в другой формат , и как узнать, какая строка отброшена - сверху или снизу...
Третий вопрос - конвертер генерит в BDF строки в 16-битном формате, а мне надо в 8-битном: у меня 8 пикселов по горизонтали. Впрочем, это, наверное, автоматом пофиксится, как только я сделаю 8-пиксельное горизонтальное разрешение при конвертации.
Переходя к практике, суть такова: вот символ "W" в BDF файле, полученном при конвертации TTF Arial Narrow в BDF с разрешением 19 пикселей:
STARTCHAR $0057
ENCODING 87
SWIDTH 757 0
DWIDTH 15 0
BBX 14 14 0 0
BITMAP
830C
870C
C78C
4788
4788
4C88
4CC8
6C98
6CD0
6850
6850
3850
3070
3030
ENDCHAR
А вот он же в нужном мне формате:
{ 0x0057, 0x00, {0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0x6C,0x6C,0x00,0x00,0x00,0x00}}
Может быть, использовать что-то кроме FontForge? Линуксовая утилита ttf2bdf дает еще худшие результаты: хотя в ее чрезвычайно куцем хелпе говорится, что можно конвертировать с разным разрешением по горизонтали и вертикали, на практике установка там 8 пикселей по горизонтали превращает символ в палку, стоящую посредине глифа.
Подскажите, куда копать?
Есть необходимость перегнать шрифт из ttf в fixed формат, точнее, только кириллицу из него. Первое, что приходит в голову - взять FontForge и сделать в нем все необходимое. Но увы - разрешение в нем можно задать только одно, как для горизонтали, так и для вертикали, а мне требуется непременно разрешение 8х19, вот так:
UEFI: UEFI HII (Part 6): Simple Fonts
Второй вопрос - как сделать при конвертации заполнение строк, в которых нет пикселей, нулями? При конвертации в BDF нулевые строки попросту отбрасываются, и получается меньшее количество строк - а мне потом программно надо перегонять в другой формат , и как узнать, какая строка отброшена - сверху или снизу...
Третий вопрос - конвертер генерит в BDF строки в 16-битном формате, а мне надо в 8-битном: у меня 8 пикселов по горизонтали. Впрочем, это, наверное, автоматом пофиксится, как только я сделаю 8-пиксельное горизонтальное разрешение при конвертации.
Переходя к практике, суть такова: вот символ "W" в BDF файле, полученном при конвертации TTF Arial Narrow в BDF с разрешением 19 пикселей:
STARTCHAR $0057
ENCODING 87
SWIDTH 757 0
DWIDTH 15 0
BBX 14 14 0 0
BITMAP
830C
870C
C78C
4788
4788
4C88
4CC8
6C98
6CD0
6850
6850
3850
3070
3030
ENDCHAR
А вот он же в нужном мне формате:
{ 0x0057, 0x00, {0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0x6C,0x6C,0x00,0x00,0x00,0x00}}
Может быть, использовать что-то кроме FontForge? Линуксовая утилита ttf2bdf дает еще худшие результаты: хотя в ее чрезвычайно куцем хелпе говорится, что можно конвертировать с разным разрешением по горизонтали и вертикали, на практике установка там 8 пикселей по горизонтали превращает символ в палку, стоящую посредине глифа.
Подскажите, куда копать?