Answers:
字体生成器几乎可以满足我的所有需求。Font Studio和Angel Code的BMFont都执行类似的任务。这是一些Font Builders功能。
然而,这还不是完美的。默认的布局插件很烂。框布局工具仅使用字母按字母顺序从左上到右下填充纹理。不是很有效。我将其更改为首先按高度对字符进行排序,并迅速提高了效率(更改了2行)。
Google展示了其中的许多野兽。这可能与您追求的
http://www.angelcode.com/products/bmfont/
差不多。您提到的是跨平台的,但是您指的是工具还是输出?(这可能是跨平台的,除了字节顺序之外)
试用FontStudio:http ://www.ogre3d.org/forums/viewtopic.php?f =11& t = 47802
它专门用于创建游戏的位图字体。
我发布了一个指向Ogre3D论坛的链接,因为它目前还没有自己的主页。
在该主题的最后一篇文章(第2页)中找到最新版本的链接。
我过去曾经使用过此工具:http : //www.lmnopc.com/bitmapfontbuilder/。它真的很好用,有很多选择
那里有许多复杂且功能丰富的工具,但我最喜欢的用于构建位图字体的工具是Codehead的位图字体生成器(CBFG)。这是一个简单的工具,可以很好地完成一件事。明确记录了实施技巧。
像大多数位图字体创建者一样,它当然独立于图形API,因为它仅导出图像(并且易于读取数据结构)。但是,在OpenGL或Direct3D中实现自己的文本渲染系统并不是一件容易的事-为每个字母渲染一个四边形,并使用适当的坐标应用位图字体纹理。
我希望这有帮助!
注意:这仅是Win32应用程序,但我还是推荐它!
Glyph Designer是Mac上的绝佳工具,已成为Cocos2D用户的首选工具。它具有许多功能,最近已更新为包括命令行支持!
上一次我(针对iPhone游戏)寻找该商品时,尝试了多种选择,但找不到能满足我需求的商品。我需要使用来自商业TTF字体的非常小的字符来渲染单个纹理。我需要能够指定字符范围,以便它仅包含我需要的字符。我希望它尽可能紧密地包装字形。我在运行时需要纹理坐标。我并不关心“真正的”字距调整,但我需要在运行时测量字形,以便合理地进行间距。因此,我编写了一个小型Windows应用程序,该应用程序渲染了所有字符并保存了ABC间距(如Windows所报告的)以及纹理坐标。
顺便说一句,如果您想在XP或Vista下呈现非常小的文本(例如小于16像素高的文字),则Windows的抗锯齿功能会带来缺点。对我来说,一个简单的解决方法是使用http://drwatson.nobody.jp/gdi++/index-en.html进行透明的超级采样。如果我从头开始,我可能会采用相同的方法,但是要看FreeType2而不是本机文本呈现。
如果您的文本不经常更新,则可以在运行时根据需要使用平台的文本呈现(或可能是FreeType)将整个块呈现为纹理。然后,您只需要为每个字符串渲染一个四边形,但是纹理分配就变得更加复杂。不过,从好的方面来说,您可以免费使用那些困难的亚洲语言进行完美的文本渲染和布局,以及更快的GL代码。渲染大量的单个字符是昂贵的,即使使用退化的三连带或诸如此类。
在Mac上,就我所知,您只能使用Hiero(http://slick.cokeandcode.com/demos/hiero.jnlp)。它不像上面那样强大,但是只要一点点Photoshop魔术就能做到。
您要查找的关键字是“光栅化器”。XNA具有内置功能。快速Google搜索会显示FreeType。我不确定还有什么。
如果需要交互式工具,则可能需要看一下FontForge,它是一个完整的字体编辑器,它支持将TTF字体转换为位图格式的各种工具。它支持各种类型的脚本,因此您也应该能够将其集成到管道中。
http://creators.xna.com/zh-CN/utilities/bitmapfontmaker是其中之一,但它并不是跨平台的工具。