LINUX.ORG.RU

[Ш] TTF -> PSF


0

1

Есть ли способ получить из векторного шрифта растровый? Нужен именно psf, bdf и pcf не подходят. Нужен этот шрифт для текстовых консолей, также планирую включить его в ядро.
Видел похожую тему здесь, но ответа там так и не нашел. Пробовал bdftopsf.pl, fail:

bdftopsf.pl: test.bdf: CHARS 3175 zero or too big

★★★★★

Ответ на: комментарий от tiandrey

Сейчас ещё раз вспомнил всё и более-менее разобрался.

0) Установил из репозитория Debian утилиты otf2bdf и bdftopsf.

Дубль 1:
1) Посчитал, чему должно равняться произведение DPI на кегль, чтобы размер шрифта по высоте был равен 16 (DPI*(размер в пунктах)*(1/72 пикселей/дюйм*пункт = размер в пикселях)
2) Переделал шрифт в BDF при помощи otf2bdf -p 12 -r 96 -o gt.bdf Glass_TTY_VT220.ttf
3) (Грязный хак) открыл BDF текстовым редактором и заменил AVERAGE_WIDTH 59 на AVERAGE_WIDTH 60, чтобы bdf2psf не ругался на «некруглый» размер шрифта
3) Переделал BDF в PSF при помощи bdf2psf --fb gt.bdf /usr/share/bdf2psf/standard.equivalents /usr/share/bdf2psf/required.set 256 gt.psf
4) Полученный файл gt.psf удалось скормить setfont со следующим результатом: http://ompldr.org/vYjBxMw
Видно, что DPI не хватает для нормальной работы с текстом (нужно было сделать побольше, и не обязательно было так уменьшать шрифт).

Дубль 2:
1) Увеличил желаемый размер шрифта: otf2bdf -p 20 -o gt.bdf Glass_TTY_VT220.ttf
2) Грязный хак всё ещё нужен. Увеличиваю в бОльшую сторону. На конечный результат это слабо влияет (символов со странным начертанием не прибавляется и не убавляется).
3) bdf2psf --fb gt.bdf /usr/share/bdf2psf/standard.equivalents /usr/share/bdf2psf/required.set 256 gt.psf
4) Работать уже можно, но всё равно неудобно: http://ompldr.org/vYjBxOQ

Возможно, проблема в файле *.set (в комплекте идёт другой файл - useful.set - но с ним не получается символа «пробел»).

Что делать в этом случае, не знаю. Поищите в bdftopsf.pl это сообщение об ошибке, посмотрите, при каких условиях оно возникает, и попытайтесь исправить эти условия.

AITap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.