有没有一种方法可以列出Java中加载字体的所有目录?

3
我正在使用iText生成PDF文件,其中可能包含嵌入的字体。iText包括一个DefaultFontMapper类,允许我们指定一个目录,从中加载字体,然后根据需要将其嵌入到生成的PDF文件中。该程序在多种环境(Windows、Linux、Solaris等)下运行,手动指定目录过去曾导致错误(由于忽略了某些目录)。
我的问题是,“在Java中是否有一种方法可以获取所有加载字体的目录?”

很抱歉,我下面的回答只是一个部分解决方案,但问题很好,给你点赞。 - Wojciech Owczarczyk
1个回答

3

我认为只有列出当前使用的字体名称才是可能的(由于在无头环境中使用GraphicsEnvironment可能会很棘手)

GraphicsEnvironment.getLocalGraphicsEnvironment()
            .getAvailableFontFamilyNames();

1
谢谢回复。我想我试图得到 API 设计者 deliberate abstraction 中的某些东西。 - tofarr
请参考此示例 - Andrew Thompson
列出字体相当容易 - 不幸的是,字体不包括有关加载它们的文件的信息,因此似乎没有简单的方法来做到这一点。最终我设置了一个配置文件,可以用于指定其他字体目录 - 这并不完美,但现在只能这样做了。 - tofarr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接