根据国际化支持相关API
的JDK文档中有关字体配置文件的部分,
逻辑字体
的概念用于定义某些平台无关的字体,这些字体映射到默认字体配置文件中的物理字体:
Java平台定义了每个实现都必须支持的五个逻辑字体名称:Serif,SansSerif,Monospaced,Dialog和DialogInput。这些逻辑字体名称以实现相关的方式映射到物理字体。
所以在你的情况下,我会尽力
Font mono = new Font(parent.getDisplay(), "Monospaced", 10, SWT.NONE);
获取当前代码运行平台的物理等宽字体的句柄。
编辑 :似乎SWT对逻辑字体一无所知(eclipse.org上的Bug
48055对此进行了详细描述)。在此错误报告中,提出了一种变通方法,其中可以从AWT字体中检索物理字体的名称…



