Інструмент для створення шрифту растрового зображення з шрифту справжнього типу [закрито]


26

Який інструмент ви використовуєте для перетворення шрифтів ttf у растрові шрифти?

Далі йде список функцій, які я шукаю. Я був би задоволений будь-яким інструментом насправді, але той, хто мав би ці функції, був би кращим.

  • виводить атлас текстури потужності-2
  • розбірливий конфігураційний файл (тому мені не потрібно використовувати їх бібліотеку візуалізації)
  • вивести інформацію про кернінг
  • поперечна платформа
  • бібліотека візуалізації була б чудовою, якщо вона дозволить мені робити фактичні виклики OpenGL.

То який інструмент ви використовували? Ви були задоволені цим?


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

Відповіді:


19

Шрифт Builder

Шрифт Builder робить майже все, що мені потрібно. Як Font Studio, так і ангел-код BMFont і виконують подібні завдання. Ось деякі функції конструкторів шрифтів.

  • Додаток QT і так працює однаково добре на всіх платформах.
  • Відкритий код, щоб він міг легко розширити додаток у разі потреби
  • Розроблений, щоб дозволити експортерам зображень та описів (макетів), що спрощує їх розширення
  • Завантажує шрифти з файлової системи замість реєстру Windows. Це полегшує генерування текстурних шрифтів із моїх власних TTF.
  • Автоматично розмір кінцевого зображення, тому мені не потрібно гадати (як у FontStudio). Крім того, ці текстури можуть бути обмежені потужністю 2 розміри.
  • Підтримуються пари кернінгу, щоб інформація могла експортуватися, якщо ваш TTF використовує їх.

Однак не все ідеально. Плагіни для макета за замовчуванням смокчуть. Інструмент "Розмітка коробки" просто заповнює текстуру зверху зліва вниз праворуч, використовуючи символи в алфавітному порядку. Не дуже ефективно. Я змінив її, щоб спершу сортувати символи за висотою і швидко підвищив її ефективність (зміна в 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.org/michael_pote/font-studio
Mikepote

2

Я раніше використовував цей інструмент: http://www.lmnopc.com/bitmapfontbuilder/ . Це працює дуже приємно і має безліч варіантів


1
Це виглядає перспективно. Однак він не є безкоштовним для комерційного використання. Комерційна версія може бути 20-30 баксів.
deft_code

2

Існує безліч складних і багатих на функцій інструментів, але моїм улюбленим інструментом для створення растрових шрифтів є генератор шрифтів Bitmap шрифту Codehead (CBFG) . Це простий інструмент, який дуже добре робить одне. Це чітко задокументовано з порадами щодо впровадження.

Як і більшість творців шрифту растрових зображень, звичайно, графічний API не залежить, оскільки він просто експортує зображення (і зручну для читання структуру даних). Однак реалізувати власну систему візуалізації тексту в OpenGL або Direct3D не надто складно - візуалізуйте квадратик для кожної літери та застосуйте текстуру растрового шрифту з відповідними координатами.

Я сподіваюся, що це допомагає!

Примітка. Це лише програма Win32, але я все ж рекомендую!


2

Чудовим інструментом для Mac є Glyph Designer і став інструментом вибору серед користувачів Cocos2D. Він має багато функцій і нещодавно оновлений, щоб включити підтримку командного рядка!


9
Тут зазвичай вважається поганою формою не чітко розкривати свою приналежність до продуктів, які ви рекомендуєте.
Джош

1

Востаннє, коли я шукав це (для гри на iPhone), я спробував різні варіанти, але не зміг знайти жодного, який зробив би все, що я хотів. Мені потрібно було зобразити одну текстуру, використовуючи дуже маленькі символи з комерційного шрифту TTF. Мені потрібно було вміти задавати діапазони символів, щоб він містив лише потрібні мені символи. Я хотів, щоб він запакував гліфи якомога міцніше. Мені потрібні текстурні координати під час виконання. Мене не хвилювало "справжнє" кернінг, але мені потрібні вимірювання гліфів під час виконання, щоб це було розумно розподілено. Тому я написав невеликий додаток для Windows, який виводив усі символи та зберігав проміжки ABC (як повідомляє Windows) разом із текстурними координатами.

BTW, якщо ви хочете вивести дуже невеликий текст (наприклад, менше 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 це зробить.


Я можу відвернути лише Ієро. Завжди було вимкнено кілька пікселів, коли я ним користувався. Тестується за допомогою декількох шрифтів. Але я думаю, що іншого рішення для OSX немає.
мартінпі

0

Ключове слово, яке ви шукаєте, - це "растризатор". У XNA є вбудований. Швидкий пошук у Google відкриває FreeType . Я не впевнений, що ще там.


2
FreeType - це більше "бібліотека шрифтів-растерізацій". Це не зовсім програма, яка створює текстури (потужністю 2) із шрифтів. FreeType був би хорошим вибором, якби ви вирішили написати такий інструмент самостійно.
bummzack

0

Якщо ви хочете інтерактивний інструмент, ви можете поглянути на FontForge , який є повноцінним редактором шрифтів, який підтримує різноманітні інструменти для перетворення шрифтів TTF у формати растрових зображень. Він підтримує різні типи сценаріїв, тому ви також зможете інтегрувати його в конвеєр.


1
AFAIK FontForge може створювати Bitmap-Fonts, але вони принципово відрізняються від необхідних ОП. Bitmap-Font - це як файл шрифту, але містить растрові карти (бажано різного розміру) для кожного символу. Йому потрібен шрифт, щоб він став текстурою, тому результат буде не растровим шрифтом, а зображенням.
bummzack


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.