【发布时间】:2021-04-17 05:46:56
【问题描述】:
在处理 Java 中的 Swing 对象(以及 JFX,但我稍后会担心...)时,我遇到了一个让我非常摸不着头脑的问题。
这是我用来在程序中打开字体的代码。这很标准。
public static Font getFontFromFile(String filePath) throws FontFormatException, IOException {
File fontFile = new File(filePath);
return Font.createFont(Font.TRUETYPE_FONT, fontFile);
}
我的问题是,当我实际使用这些字体时,它们中的连字不被尊重。我的程序的核心功能之一是允许用户加载自定义字体,其中许多都有专门的连字。这些没有得到尊重,我不确定我做错了什么。如果用户键入两个字符,应该减少到一个连字,第二个字符会正常出现,不会发生任何转换。当我将字体加载到任何其他程序或文本编辑器中时,我看到连字完全符合我的预期。
我已经精简了代码,我实际上在几个地方将字体设置为绝对的裸骨,即使在我正在做一些简单的事情的地方,我也看到了(错误的)行为:
jTextField.setFont(myFont);
是否有一些我缺少的导入设置?还是需要在 2D 图形对象上进行全局翻转?任何帮助将不胜感激。谢谢,
【问题讨论】: