MH1*_*114 6 java fonts java-2d freetype kerning
我正在使用Java和LWJGL制作OpenGL游戏.我编写了一个TextRenderer使用缓存的字形页面呈现文本的类.字形本身在Java2D中呈现为BufferedImages,并与字形测量一起打包到纹理页面中.TextRenderer使用缓存的信息将字符绘制为纹理四边形.
所有这一切都运作良好,除了一件事:缺少字距.当然,没有必要让文本看起来很好,但如果我可以访问字体字距信息,它会提高质量.
是否可以使用普通Java获取字距调整信息,以便可以跨Windows,Linux和MacOS X移植?回到我写的时候,TextRenderer我简单地环顾四周但却找不到这样的方式..
如果在纯Java中没有办法做到这一点,我正在考虑使用Freetype编写一个单独的工具.如其功能页面中所列:
FreeType 2提供了其他类似字体引擎通常无法提供的信息,如字距调整,字形名称,垂直度量等.
该工具会将常用字符的字距调整对存储到我的文本渲染器将加载并使用的文件中.所以如果你们没有提出更好的选择,这可能就是我要做的.:)
据我所知,唯一能正确读取字距调整信息的库是Apache 的iText和FOP 。
http://www.1t3xt.info/api/com/lowagie/text/pdf/BaseFont.html http://svn.apache.org/viewvc/xmlgraphics/fop/tags/fop-0_95/src/java/org /apache/fop/fonts/(指向 svn 的链接,因为似乎没有在线 api)