http://www.gamedev.ru/download/?id=4997 История появления
В один прекрасный момент мне понадобилось вставить в игру шрифты. Желания писать свой генератор шрифтов не было, и я посмотрел, что есть в свободном наличии. Требования были простые:
1. Генерация юникодовых шрифтов (это самое главное).
2. Символы не одинаковой ширины (многие шрифтогенерилки грешат этим, как ни странно).
3. Поддержка кернинга (без него надписи зачастую некрасиво смотрятся)
4. Экспорт в xml (лень делать свой или адаптировать имеющийся парзер).
Первые 3 требования были обязательными, последнее требование опционально.
И я среди многочисленных фонторисовалок не нашел ни одной, что удовлетворяла бы этим требованиям. В основном используются в качестве образца для подражания фантастичесие в совей убогости «шрифты NeHe», которые даже не держат юникод! Или, что вообще преступление, генерят по целой текстуре на каждую буковку! Причем такое безобразие творится и в готовых, неплохо себя зарекомендовавших, движках вроде PopCap и HGE (в первом, правда, все более-менее со шрифтами в порядке, если не считать отсутствия юникода, да и общей убогости кода)
Как результат был мною взят FreeType и сооружена программка, которую я и представляю.
Darth’s FontGen v. 0.1
Программа работает с xml-описаниями требуемых шрифтов (туда помещается название, путь до исходного файла, размер и требуемые диапазоны символов). В одном файле может быть произвольное число описаний, программа работает с произвольным числом файлов, указываемых в командной строке.
На выходе генерируется файл [имя_шрифта].jpg с grayscale-картинкой с шрифтом и [имя_шрифта].xml с предельно тупым форматом, разобраться с которым труда не составляет. Содержит описания всех символов, базовое смещение от верхнего левого угла, смещение для базовых координат до следующего символа, высота, ширина и текстурные координаты в готовом к употреблению виде. Если шрифт содержит информацию о кернинге, то после раздела с символами будут все варианты кернинга – левый символ, правый символ и значение, насколько нужно продвинуть указатель.
Рисуется примерно так (псевдокод)
В комплект входит программа и пример использования – 2 шрифта с описанием. Разобраться с ней будет несложно, я надеюсь.
Запускается просто: fontgen test.xml – и через секунду число файлов в папке увеличится.
Если вы нашли программу полезной – мне будет очень интересно узнать об этом.
Ну и обычная критика приветствуется.
Если автору интересно почему нету отзывов, то отвечу: здесь большинство обитателей delphi'сты, а не сишники... да и скажи мне не образованному что такое кернинг! {:
2Darthman
Не в твою, у меня один из ников - Darth 2Beisik
Распарзить XML можно чем угодно, как и прочитать jpeg.
Кернинг - когда буковка немного "наезжает" на другую, чобы лучше выглядеть/ (VA паример)
Эта, а можно прогу ещё куда-нить залить? И ваще, хотелось бы получить консультацию по всему этому делу.
А-то возникла острая необходимость прикрутить к игре японский язык - теперь вот маюсь.
Двиган HGE.
Заранее спасибо.