SWT 有没有一种方法可以简单地获得跨各种操作系统的等宽字体?
例如。这适用于 Linux,但不适用于 Windows:
Font mono = new Font(parent.getDisplay(), "Mono", 10, SWT.NONE);
或者我是否需要一种方法来尝试加载不同的字体(Consolas、Terminal、Monaco、Mono)直到其中一个不为空?或者,我可以在启动时在属性文件中指定它。
我尝试从 Display 获取系统字体,但它不是等宽的。
我花了一段时间对这个问题进行了猛烈的攻击,直到我意识到 Eclipse 显然必须能够访问等宽字体才能在其文本字段、控制台等中使用。有一点挖掘出现了:
Font terminalFont = JFaceResources.getFont(JFaceResources.TEXT_FONT);
如果您感兴趣的只是获取某种等宽字体,那么这很有效。
Edit:或者根据@ctron的评论:
Font font = JFaceResources.getTextFont();
Edit:注意(基于@Lii的评论):这将为您提供配置的文本字体,该字体可以由用户覆盖,并且可能不是等宽字体。但是,它将与编辑器和控制台中使用的字体一致,例如probably你想要什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)