2008-09-30 7 views
0

Je travaille sur un jeu (en utilisant Ruby) et envisage de le rendre disponible en plusieurs langues. Je me demandais quelle est la meilleure option pour le rendu du texte. En particulier, tout ce que j'utilise devrait être capable de rendre des polices complexes (arabe et persan en particulier). J'ai regardé autour de moi et je suis tombé sur le freetype, le graphite, et l'utilisation des fonctions natives de l'API de Windows (ça ne me gêne pas d'être multiplate-forme) pour n'en nommer que quelques-unes. Avec quoi devrais-je aller et quels sont les différents compromis?Quelle est la meilleure option pour rendre les polices complexes?

Répondre

1

Si vous cherchez un moyen de pixelliser les polices en bitmaps, Freetype et l'API Windows vont gérer cela bien.

Si vous cherchez un moyen de dessiner du texte à l'écran, utilisez les API natives de Windows si vous le pouvez; le texte et les accents bidirectionnels et tout ce genre de choses sont assez difficiles et chronophages pour bien fonctionner, alors vous voulez idéalement une API qui le gère pour vous. Que cela soit ou non viable pour votre jeu dépend des API graphiques que vous utilisez, que vous n'avez pas spécifiées. Pour pixelliser des chaînes entières de texte, vous devez utiliser le DrawText de win32, ce qui signifie que vous devez mettre la main sur slightly dirty.

+0

Y at-il une API qui rendrait simplement une chaîne dans la langue désirée à un bitmap (comme il serait rendu à l'écran) que je simplement blit à l'écran? J'utilise une API d'abstraction au-dessus de DirectX et je n'ai que des routines drawPixel et drawImage. –

+0

Windows API le fait assez facilement –

1

Découvrez www.freetype.org Il gère les polices non-de-gauche à droite. Il génère les glyphes pour vous, mais vous devez les rendre à l'appareil (OpenGL/DirectX, etc).

2

Pour une solution multiplateforme, consultez Pango.

Questions connexes