什么是渲染复杂字体的最佳选择?

时间:2008-09-30 20:14:19

标签: fonts rendering arabic persian

我正在开发一款游戏(使用Ruby),并计划以多种语言提供游戏。我想知道什么是渲染文本的最佳选择。特别是,无论我使用什么,都应该能够渲染复杂的字体(特别是阿拉伯语和波斯语)。

我一直在环顾四周,偶然发现了freetype,石墨,以及使用windows native api函数(我很好,因为它不是跨平台的),仅举几例。我该怎么做以及有什么不同的权衡取舍?

3 个答案:

答案 0 :(得分:2)

对于跨平台解决方案,请查看Pango

答案 1 :(得分:1)

查看www.freetype.org 它处理非从左到右的字体。 它会为您生成字形,但您必须将它们渲染到设备(OpenGL / DirectX等)。

答案 2 :(得分:1)

如果您正在寻找一种将字体光栅化为位图的方法,那么Freetype和Windows API都可以很好地处理它。

如果您正在寻找一种在屏幕上绘制文字的方法,请尽可能使用Window的原生API;双向文本和重音以及所有这些都是非常困难和耗时的,所以你理想地想要一个为你处理它的API。这对您的游戏是否可行取决于您使用的图形API,您没有指定。

编辑要光栅化整个文本字符串,您需要使用win32的DrawText,这意味着您需要亲自动手slightly dirty