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

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

有帮助吗?

解决方案

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

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

编辑要光栅化整个文本字符串,你需要使用win32的DrawText,这意味着你需要得到你的手略显肮脏

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top