java - 如何从java中的系统字体获取ttf字体数据

标签 java fonts libgdx truetype

我在系统上安装了一些 ttf 字体。

我使用

获取该列表
GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()

这不仅是ttf字体,而且我猜是所有字体。 最终如果我使用:

Font.decode(fontName)

我可以获得awt.Font实例。

据我所知,Font 没有连接到实际的 PhysicalFont,所以 如何从该 ttf 文件中检索 ttf 字体文件或字节数据以获取该列表或 awt.Font 中的字体?我正在尝试检索物理字体数据或类似内容。该数据应该位于正确的位置?

我需要它的原因是最终与 libGDX 一起使用 FreeTypeFontGenerator 用于生成 BitmapFont

这必须在 windows、osx 和 linux 上工作。

最佳答案

这是不可能的。你能做的最好的是using reflection ,但它只能与 Oracle JRE 一起使用并访问私有(private) API,因此可能会与任何新的 Oracle 版本一起中断。

你可能会写一个 native lib枚举字体及其文件。

关于java - 如何从java中的系统字体获取ttf字体数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805153/

相关文章:

Java SQLite 删除

css - Lato 字体在 IE 和 Firefox 中丢失字母

android - libgdx vector3 转换错误

java - Scene2d适合非UI显示吗?

WPF 同一系列的多个字体文件

android - 错误 :Failed to find Build Tools revision 22. 0.1

java - Junit 5,Spring 应用程序上下文未在 @DirtiesContext 上关闭

java - 安卓 |充气按钮不起作用

java - 迭代反射的子类,变量似乎没有阴影,IntelliJ 似乎有冲突

css - 如何在 Firefox 中跨域加载字体