我有一个带有 JLabel、JTextField 和其他 Java Swing 组件的小程序。另一方面,我有 .ttf 文件的 unicode 字体“AR”、“AR-ExtB”(扩展 B 区域)和“AR-Plus”(补充私人使用区域-A)。我希望小程序在每个 GUI 组件上使用三个 .ttf 文件,具体取决于用户输入的代码点。
1) 我知道这些组件无法使用多种字体。因此,将字体设置为组件的显式方法不是一种选择。
2)好吧,有一种方法可以通过修改 $JAVA_HOME/lib 目录中的 fontconfig.properties 文件来完成此操作,例如,“Dialog”(逻辑)字体已将三个 .ttf 文件映射为一种逻辑字体,但问题是所有其他 java 应用程序也会有这些字体,这不是想要的场景。
3) “Fallback fonts”,当没有其他字体可以在屏幕上显示字形时使用。这也不是一个解决方案,因为它只会显示 JAVA 默认字体未覆盖的字符。
问题是:
有谁知道如何在每个 GUI Swing 组件中使用这些 .ttf 文件作为字体,但仅限于 Applet 中,而不是全局用于在 JVM 上运行的所有应用程序?