我在处理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图形对象上进行全局翻转?非常感谢您的任何帮助。谢谢。