Инструмент для создания растрового шрифта из шрифта истинного типа [закрыто]


26

Какой инструмент вы используете для преобразования шрифтов TTF в растровые шрифты?

Ниже приведен список функций, которые я ищу. Я был бы счастлив с любым инструментом на самом деле, но тот, который имел эти функции, был бы лучше.

  • выводит текстурный атлас power-of-2
  • разбираемый файл конфигурации (поэтому мне не нужно использовать их библиотеку рендеринга)
  • вывод информации о кернинге
  • кроссплатформенный
  • библиотека рендеринга была бы хороша, если бы она позволяла мне делать реальные вызовы OpenGL.

Так какой инструмент вы использовали? Вы были счастливы с этим?


Я упоминал о кроссплатформенности, когда я программирую на машине с Linux. Я делаю двойную загрузку Windows7, чтобы я мог играть в игры, но я обычно там не развиваюсь.
deft_code

Ответы:


19

Font Builder

Font Builder делает почти все, что мне нужно. И Font Studio, и BMFont от Angel Code выполняют аналогичные задачи. Вот некоторые из функций Font Builders.

  • Приложение QT и так одинаково хорошо работает на всех платформах.
  • Открытый исходный код, так что он может легко расширить приложение при необходимости
  • Предназначен для экспортеров пользовательских изображений и описаний (макетов), что делает его еще проще
  • Загружает шрифты из файловой системы вместо реестра Windows. Это значительно упрощает генерацию текстурных шрифтов из моих собственных TTF.
  • Авто размеры конечного изображения, поэтому мне не нужно угадывать (как в FontStudio). Кроме того, эти текстуры могут быть ограничены степенью 2 размера.
  • Поддерживаются пары кернинга, так что информация может быть экспортирована, если ваш TTF использует их.

Однако не все идеально. Плагины макета по умолчанию - отстой. Инструмент «Разметка Box» просто заполняет текстуру сверху вниз слева направо, используя символы в алфавитном порядке. Не очень эффективно. Я изменил его, чтобы сначала отсортировать символы по высоте, и быстро улучшил его эффективность (изменение в 2 строки).


BmFont делает свою работу, у него были хорошие опции, и я могу использовать текстуру размером более 128x128, спасибо. Единственное, что было нужно, это правильные настройки экспорта, такие как текстура png и 32-битный тип шрифта
Diljeet

10

Google показал довольно много таких зверей. Это может быть близко к тому, что вы ищете
http://www.angelcode.com/products/bmfont/

Вы упомянули о кроссплатформенности, но имеете ли вы в виду инструмент или результат? (который мог бы быть кросс-платформенным, возможно, кроме порядка байтов)


Отличный инструмент, но он будет генерировать только растровые изображения из ваших системных шрифтов. У меня есть определенный файл TTF, который я хотел бы использовать. Кроме того, оно не очень любит вино.
deft_code

8
Не могли бы вы добавить TTF в качестве системного шрифта?
Кай

4

Попробуйте FontStudio: http://www.ogre3d.org/forums/viewtopic.php?f=11&t=47802

Это сделано специально для создания растровых шрифтов для игр.

Я публикую ссылку на форум Ogre3D, потому что в настоящее время у него нет собственного дома.

Найдите ссылку на последнюю версию в последнем сообщении этой темы (стр. 2).


Отличный инструмент, но он будет генерировать только растровые изображения из ваших системных шрифтов. У меня есть определенный файл TTF, который я хотел бы использовать.
deft_code

1
Привет, я создатель Font Studio, я поместил исходный код Font Studio на bitbucket. bitbucket.org/michael_pote/font-studio
Mikepote

2

Я использовал этот инструмент в прошлом: http://www.lmnopc.com/bitmapfontbuilder/ . Он работает очень хорошо и имеет много вариантов


1
Это выглядит многообещающе. Тем не менее, это не бесплатно для коммерческого использования. Коммерческая версия может стоить 20-30 долларов.
deft_code

2

Существует множество сложных и многофункциональных инструментов, но мой любимый инструмент для создания растровых шрифтов - это Bithead Font Generator (CBFG) Codehead . Это простой инструмент, который делает одну вещь очень хорошо. Это четко задокументировано с советами по реализации.

Как и большинство создателей растровых шрифтов, он, конечно, не зависит от графического API, потому что он просто экспортирует изображение (и легко читаемую структуру данных). Однако реализовать собственную систему рендеринга текста, в OpenGL или Direct3D, не так уж и сложно - отрисовать квадрат для каждой буквы и применить текстуру растрового шрифта с соответствующими координатами.

Надеюсь, это поможет!

Примечание: это только приложение Win32, но я все еще рекомендую его!


2

Отличным инструментом для Mac является Glyph Designer, который стал инструментом выбора среди пользователей Cocos2D. Он имеет много функций и недавно был обновлен, чтобы включить поддержку командной строки!


9
Обычно считается плохой формой, чтобы не раскрывать свою принадлежность к продуктам, которые вы рекомендуете.
Джош

1

В последний раз, когда я искал это (для игры для iPhone), я пробовал разные варианты, но не мог найти тот, который делал все, что я хотел. Мне нужно было визуализировать одну текстуру, используя очень маленькие символы из коммерческого шрифта TTF. Мне нужно было иметь возможность указывать диапазоны символов, чтобы он содержал только те символы, которые мне нужны. Я хотел, чтобы он упаковывал глифы так плотно, как мог. Мне нужны были координаты текстуры во время выполнения. Я не заботился о «реальном» кернинге, но мне нужно было измерять глифы во время выполнения, чтобы они были разумно разнесены. Поэтому я написал небольшое приложение для Windows, которое отображало все символы и сохраняло интервалы ABC (как сообщалось в Windows) вместе с координатами текстуры.

Кстати, если вы хотите визуализировать очень маленький текст (например, менее 16 пикселей в высоту) под XP или Vista, вы столкнетесь с недостатками сглаживания Windows. Простым решением для меня было использование http://drwatson.nobody.jp/gdi++/index-en.html для получения прозрачной суперсэмплинга. Если бы я начинал все сначала, я бы, вероятно, использовал тот же подход, но взглянул бы на FreeType2, а не на рендеринг собственного текста.

Если ваш текст не обновляется часто, вы можете просто использовать визуализацию текста платформы (или, возможно, FreeType), чтобы визуализировать целые куски в текстуру по мере необходимости во время выполнения. Тогда вам просто нужно визуализировать один квад для каждой строки, но распределение текстур становится более сложным. С другой стороны, вы получаете безупречный рендеринг и разметку текста на этих сложных азиатских языках вместе со значительно более быстрым кодом GL. Рендеринг множества отдельных персонажей стоит дорого, даже с вырожденными трип-полосами или еще чем-то.


1

На Mac вы можете использовать только Hiero ( http://slick.cokeandcode.com/demos/hiero.jnlp ), насколько я знаю. Это не так мощно, как выше, но с небольшим количеством волшебства Photoshop, которое это сделает.


Я могу только отговорить от Hiero. Когда я его использовал, всегда было несколько пикселей. Протестировано с несколькими шрифтами. Но я думаю, что нет другого решения OSX.
Мартинпи

0

Ключевое слово, которое вы ищете, это "растеризатор". XNA имеет один встроенный. Быстрый поиск Google вызывает FreeType . Я не уверен, что еще там.


2
FreeType - это скорее "библиотека шрифтов-растеризации". Это не совсем приложение, которое создает текстуры (со степенью 2) из ​​шрифтов. FreeType был бы хорошим выбором, если бы вы решили написать такой инструмент самостоятельно.
bummzack

0

Если вам нужен интерактивный инструмент, вы можете взглянуть на FontForge , полноценный редактор шрифтов, который поддерживает различные инструменты для преобразования шрифтов TTF в растровые форматы. Он поддерживает различные типы сценариев, поэтому вы также сможете интегрировать его в конвейер.


1
AFAIK FontForge может создавать растровые шрифты, но они принципиально отличаются от того, что нужно OP. Битовый шрифт похож на файл шрифта, но содержит растровые изображения (предпочтительно разных размеров) для каждого символа. Ему нужно, чтобы шрифт отображался в текстуре, поэтому результатом будет не растровый шрифт, а изображение.
bummzack


0

для OS X был выпущен новый генератор растровых шрифтов: bmGlyph (http://www.bmglyph.com). доступно только в магазине приложений Mac. выводит атлас шрифтов и растровые изображения (hd / sd) с большим количеством функций.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.