Вход

Просмотр полной версии : Конвертер шрифта в картинку



shadwork
19.08.2010, 13:21
Для использования шрифтов Speccy в своих проектах встала необходимость конвертировать их в картинку. Пробежав по сети ничего подходящего не нашел, а использовать эмулятор и копию экрана показалось неудобно.
Написал консольную утилиту, которая из шрифта делает картинку в формате BMP. Работает под Windows/Linux в бинарниках.
Качать отсюда (http://www.shadowsshot.ho.ua/files/8bitFontToBMP.rar). Краткая справка здесь (http://www.shadowsshot.ho.ua/prog006.htm)
Пример результата конвертирования стандартного шрифта:
http://www.shadowsshot.ho.ua/image/prog006_01.gif

AAA
19.08.2010, 14:07
Пример результата конвертирования стандартного шрифта:

а пачему оно отличаеться от стандартной общепринятой демо раскладки принятой в бге и утвержденной кодерами мира ?

http://s004.radikal.ru/i206/1008/96/41601b1c3bce.png

shadwork
19.08.2010, 14:21
Это стандартный шрифт из ПЗУ 48k спектрума, установленый авторами ПЗУ в начале 80-х годов :). А кодерами мира наверное установлен шрифт с русскими буквами. Ну так никто не мешает конвертировать его, утилите все равно что конвертировать ;)

Vitamin
19.08.2010, 16:19
zxgfx2bmp умеет то же самое (в расширенном варианте правда) плюс еще 13 форматов:) Ссылка в http://zx.pk.ru/showthread.php?t=13524 (плагин gfxview, там эта тулза в комплекте).

PheeL
19.08.2010, 17:15
Если вам нужен именно оригинальный шрифт ZX Spectrum, то не проще-ли его скачать?
хинт - поиск в гугле по словам "ZX Spectrum ttf".

shadwork
19.08.2010, 17:24
Если бы меня интересовал оригинальный шрифт - я бы не писал, кроме того зачем мне True Type шрифт - для последующей конвертации в растр?.
Конвертировал шрифт zxgfx2bmp.exe, получил картинку как у ААА с мусором - дальше можно обрезать. Спасибо за подсказку.

Vitamin
19.08.2010, 18:10
Конвертировал шрифт zxgfx2bmp.exe, получил картинку как у ААА с мусором - дальше можно обрезать.
Это не мусор. Это отображение шрифта в альтернативном формате. 2048-байтовые шрифты бывают в двух форматах - обычном (8 последовательных байт образуют один символ) и в экранном (первые 256 байт образуют первый ряд всех 256 символов, обычный экранный формат в общем). Поскольку нельзя априори сказать, какой из форматов используется, выводятся оба формата. Конечно, это можно было бы реализовать через режим, но я решил сделать вот так.

shadwork
19.08.2010, 18:22
;)Для пользователя это мусор :p. Версия zxgfx2bmp существует под Linux?

Vitamin
19.08.2010, 18:34
Версия zxgfx2bmp существует под Linux?
Нет:) Писалась она ооооочень давно (когда я еще только под винду писал), плюс много ассемблерных вставок (грешен, каюсь:) ). Если моча в голову стукнет (мне), попробую портировать.

shadwork
19.08.2010, 18:50
Значит моя мелкая утилита имеет право на существование:), по крайней мере до портирования :rolleyes:

Vitamin
20.08.2010, 10:30
Значит моя мелкая утилита имеет право на существование, по крайней мере до портирования
Если есть желание поковыряться, могу скинуть свои исходники.

shadwork
20.08.2010, 18:28
Спасибо конечно, но там вроде mfc42 линковано (что усложняет порт:() и вообще чужой исходник с асмовыми вставками потемки:). Просто я сейчас вернулся к программированию и пишу мелкие проекты, чтобы как то наверстать упущенное. Сейчас это легко из-за обилия документации. Утилитка это результат разбора работы с bmp ;).

Vitamin
20.08.2010, 20:53
Спасибо конечно, но там вроде mfc42 линковано
Это там что-то левое тянет, я MFC в таких делах не использовал и не собираюсь.


и вообще чужой исходник с асмовыми вставками потемки
Это да, хотя там ассемблер в простых местах, где портировать на плюсы- нефиг баловаться. Сложные алгоритмы декодирования (laser compact, 8col etc) написаны лучше.