Outil pour créer une police bitmap à partir d'une police de type vrai [fermé]


26

Quel outil utilisez-vous pour convertir les polices ttf en polices bitmap?

Voici une liste des fonctionnalités que je recherche. Je serais vraiment content de n'importe quel outil, mais celui qui avait ces fonctionnalités serait mieux.

  • produit un atlas de texture de puissance de 2
  • fichier de configuration parsible (donc je n'ai pas à utiliser leur bibliothèque de rendu)
  • informations de crénage de sortie
  • plateforme croisée
  • une bibliothèque de rendu serait formidable si elle me permet de faire les appels OpenGL réels.

Alors, quel outil avez-vous utilisé? En étiez-vous satisfait?


J'ai mentionné la multiplicité des plates-formes lorsque je programme sur une machine Linux. Je fais un double démarrage Windows7 pour pouvoir jouer à des jeux, mais je n'y développe généralement pas.
deft_code

Réponses:


19

Générateur de polices

Font Builder fait presque tout ce dont j'ai besoin. Font Studio et BMFont d'Angel Code effectuent des tâches similaires. Voici quelques-unes des fonctionnalités de Font Builders.

  • Une application QT, et fonctionne donc aussi bien sur toutes les plateformes.
  • Open source pour étendre facilement l'application si nécessaire
  • Conçu pour permettre aux exportateurs d'images et de descriptions (mise en page) personnalisées, ce qui facilite encore l'extension
  • Charge les polices du système de fichiers au lieu du registre Windows. Cela facilite considérablement la génération de polices de texture à partir de mes propres TTF.
  • Redimensionne automatiquement l'image finale, donc je n'ai pas besoin de deviner (comme dans FontStudio). De plus, ces textures peuvent être contraintes à une puissance de 2 tailles.
  • Les paires de crénage sont prises en charge, de sorte que les informations peuvent être exportées si votre TTF les utilise.

Mais tout n'est pas parfait. Les plugins de mise en page par défaut sont nulles. L'outil de mise en page Boîte remplit simplement la texture de haut en bas à droite en utilisant les caractères par ordre alphabétique. Pas très efficace. Je l'ai changé pour trier d'abord les caractères par hauteur et j'ai rapidement amélioré son efficacité (un changement sur 2 lignes).


BmFont fait le travail, il avait de bonnes options et je peux utiliser une texture de plus de 128 x 128, merci La seule chose nécessaire était un bon paramètre d'exportation comme la texture png et le type de police 32 bits
Diljeet

10

Google a montré pas mal de ces bêtes. Cela pourrait être proche de ce que vous recherchez
http://www.angelcode.com/products/bmfont/

Vous mentionnez multiplateforme, mais voulez-vous dire l'outil ou la sortie? (ce qui pourrait être multiplateforme en dehors de l'endianité)


Excellent outil mais il ne générera que des bitmaps à partir de vos polices système. J'ai un fichier TTF particulier que j'aimerais utiliser. De plus, il n'aime pas beaucoup le vin.
deft_code

8
Ne pourriez-vous pas ajouter le TTF en tant que police système?
Kaj

4

Essayez FontStudio: http://www.ogre3d.org/forums/viewtopic.php?f=11&t=47802

Il est spécialement conçu pour créer des polices bitmap pour les jeux.

Je poste un lien vers le forum Ogre3D, car il n'a pas de maison pour le moment.

Trouvez un lien vers la dernière version dans le dernier message de ce sujet (page 2).


Excellent outil mais il ne générera que des bitmaps à partir de vos polices système. J'ai un fichier TTF particulier que j'aimerais utiliser.
deft_code

1
Hé, je suis le créateur de Font Studio, j'ai mis la source de Font Studio sur bitbucket. bitbucket.org/michael_pote/font-studio
Mikepote


2

Il existe de nombreux outils complexes et riches en fonctionnalités, mais mon outil préféré pour créer des polices bitmap est le générateur de polices bitmap (CBFG) de Codehead . C'est un outil simple qui fait très bien une chose. Il est clairement documenté avec des conseils pour la mise en œuvre.

Comme la plupart des créateurs de polices bitmap, il est bien sûr indépendant de l'API graphique car il exporte simplement une image (et une structure de données facile à lire). Cependant, l'implémentation de votre propre système de rendu de texte, dans OpenGL ou Direct3D, n'est pas trop difficile - restituez un quadruple pour chaque lettre et appliquez la texture de police bitmap avec les coordonnées appropriées.

J'espère que ça aide!

Remarque: Il s'agit uniquement d'une application Win32, mais je la recommande toujours!


2

Un excellent outil pour le mac est Glyph Designer et est devenu l'outil de choix parmi les utilisateurs Cocos2D. Il a de nombreuses fonctionnalités et a récemment été mis à jour pour inclure le support en ligne de commande!


9
Il est généralement considéré comme une mauvaise forme ici de ne pas divulguer clairement votre affiliation avec les produits que vous recommandez.
Josh

1

La dernière fois que je cherchais cela (pour un jeu iPhone), j'ai essayé différentes options mais je n'en ai pas trouvé qui faisait tout ce que je voulais. J'avais besoin de rendre une texture unique en utilisant de très petits caractères d'une police TTF commerciale. J'avais besoin de pouvoir spécifier des plages de caractères afin qu'il ne contienne que les caractères dont j'avais besoin. Je voulais qu'il emballe les glyphes aussi étroitement que possible. J'avais besoin de coordonnées de texture au moment de l'exécution. Je ne me souciais pas du crénage "réel", mais j'avais besoin de mesures de glyphes au moment de l'exécution pour qu'il soit espacé sensiblement. J'ai donc écrit une petite application Windows qui a rendu tous les caractères et enregistré les espacements ABC (tels que rapportés par Windows) ainsi que les coordonnées de texture.

BTW, si vous voulez rendre du texte très petit (comme moins de 16 pixels de haut) sous XP ou Vista, vous rencontrerez des lacunes avec l'anti-aliasing de Windows. Une solution facile pour moi était d'utiliser http://drwatson.nobody.jp/gdi++/index-en.html pour obtenir un suréchantillonnage transparent. Si je recommençais, je prendrais probablement la même approche, mais regardez FreeType2 au lieu du rendu de texte natif.

Si votre texte n'est pas mis à jour souvent, vous pouvez simplement utiliser le rendu de texte de la plate-forme (ou peut-être FreeType) pour rendre des morceaux entiers à la texture selon les besoins au moment de l'exécution. Ensuite, il vous suffit de rendre un seul quad pour chaque chaîne, mais l'allocation de texture devient plus compliquée. À la hausse, cependant, vous obtenez gratuitement un rendu et une mise en page du texte sans faille sur ces langues asiatiques difficiles avec votre code GL beaucoup plus rapide. Rendre beaucoup de personnages individuels coûte cher, même avec des tri-bandes dégénérées ou autres.


1

Sur Mac, vous ne pouvez utiliser Hiero ( http://slick.cokeandcode.com/demos/hiero.jnlp ) que je sache. Il n'est pas aussi puissant que ci-dessus, mais avec un peu de magie Photoshop, il fera l'affaire.


Je ne peux que décourager Hiero. Il était toujours à quelques pixels lorsque je l'ai utilisé. Testé avec plusieurs polices. Mais je pense qu'il n'y a pas d'autre solution OSX.
martinpi

0

Le mot-clé que vous recherchez est un "rasterizer". XNA en a un intégré. Une recherche rapide sur Google fait apparaître FreeType . Je ne sais pas quoi d'autre est là-bas.


2
FreeType est plus une "bibliothèque de tramage de polices". Ce n'est pas exactement une application qui crée des textures (avec une puissance de 2) à partir de polices. FreeType serait un bon choix si vous décidiez d'écrire un tel outil vous-même.
bummzack

0

Si vous voulez un outil interactif, vous voudrez peut-être jeter un œil à FontForge , qui est un éditeur de polices complet qui prend en charge une variété d'outils pour convertir les polices TTF en formats bitmap. Il prend en charge différents types de scripts, vous devriez donc également pouvoir l'intégrer dans un pipeline.


1
AFAIK FontForge peut créer des polices bitmap, mais celles-ci sont fondamentalement différentes de ce dont l'OP a besoin. Une police bitmap est comme un fichier de police mais contient des images bitmap (de préférence de différentes tailles) pour chaque caractère. Il a besoin d'une police pour être rendue dans une texture, donc le résultat ne sera pas une police bitmap mais une image.
bummzack


0

un nouveau générateur de polices bitmap a été publié pour OS X: bmGlyph (http://www.bmglyph.com). disponible uniquement sur le Mac App Store. ouputs atlas de polices et bitmaps (hd / sd) avec beaucoup de fonctionnalités.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.