我在系统上安装了一些 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/