呈现复杂字体的最佳选择是什么?
时间:2020-03-06 14:56:44 来源:igfitidea点击:
我正在开发一款游戏(使用Ruby),并计划将其提供几种语言版本。我想知道什么是呈现文本的最佳选择。特别是,无论我使用什么,都应该能够呈现复杂的字体(特别是阿拉伯和波斯)。
我一直在四处看看,偶然发现了自由字体,石墨,并使用Windows本机api函数(我很好,因为它不是跨平台的)仅举几例。我应该怎么做?有什么不同的取舍?
解决方案
查看www.freetype.org
它处理从左到右的字体。
它会为我们生成字形,但是我们必须将它们渲染到设备(OpenGL / DirectX等)。
如果我们正在寻找一种将字体光栅化为位图的方法,那么Freetype和Windows API都可以很好地解决这一问题。
如果我们正在寻找一种在屏幕上绘制文本的方法,请尽可能使用Window的本机API。双向文字和重音符号以及所有这些东西很难正确处理,而且很耗时,因此理想情况下,我们需要一个可以为我们处理的API。这对游戏是否可行取决于我们使用的图形API(未指定)。
编辑:要光栅化整个文本字符串,我们需要使用win32的DrawText,这意味着我们需要使手稍微变脏。
有关跨平台的解决方案,请查看Pango。