【发布时间】:2011-12-19 05:24:51
【问题描述】:
我希望能够将java.awt.Font 的列表合并到一个Font 中,这样如果在列表中较早的字体中找不到给定char 的字形,则将下降返回列表后面的字体以提供字形。有什么方法可以做到这一点而不必乱用sun.font 包?如果sun.font 是唯一的方法,那我该怎么做呢?
【问题讨论】:
我希望能够将java.awt.Font 的列表合并到一个Font 中,这样如果在列表中较早的字体中找不到给定char 的字形,则将下降返回列表后面的字体以提供字形。有什么方法可以做到这一点而不必乱用sun.font 包?如果sun.font 是唯一的方法,那我该怎么做呢?
【问题讨论】:
逻辑字体不应该在运行时由应用程序操作它们打算由 Java 运行时实现配置,为程序员提供一组可以被应用程序 GUI 安全使用的跨平台字体名称。
请参阅 Sun 关于 Physical and Logical Fonts 的教程。
因此,配置逻辑字体是在运行时实现端完成的,并且依赖于实现。
例如,引用 Sun 的 Font Configuration Files 指南:
Sun 的 Java SE 运行时环境使用字体配置文件将逻辑字体名称映射到物理字体。有几个文件支持不同的映射,具体取决于主机操作系统版本。这些文件位于 JRE 安装中的 lib 目录中。用户可以编辑或创建他们自己的字体配置文件,以调整映射到他们特定的系统设置。但请注意,这是对 JRE 的修改,Sun 不支持修改后的 JRE。
【讨论】: