Java 在HTMLEditor中输入中文时,斜体功能无法工作

Java 在HTMLEditor中输入中文时,斜体功能无法工作,java,javafx,javafx-8,javafx-2,Java,Javafx,Javafx 8,Javafx 2,我正在使用JAVAFX来开发这个工具。 我想显示中文斜体文本,但我失败了。我搜索答案并找到。它显示 在JFX中,我们不合成字体变体,因此如果给定字体不支持粗体(或斜体),则使用常规变体 所以,我想知道如何通过编程将字体转换为斜体 谢谢 只需将所需的斜体字体文件(.ttf或.otf)与应用程序捆绑在一起即可 然后使用Font.loadFont()加载,并在适用的情况下使用-fx Font-family或.setFont() 只记得检查真正创建的字体名称,因为如果出现错误,字体创建将返回到“系统”。

我正在使用JAVAFX来开发这个工具。 我想显示中文斜体文本,但我失败了。我搜索答案并找到。它显示

在JFX中,我们不合成字体变体,因此如果给定字体不支持粗体(或斜体),则使用常规变体

所以,我想知道如何通过编程将字体转换为斜体


谢谢

只需将所需的斜体字体文件(.ttf或.otf)与应用程序捆绑在一起即可

然后使用
Font.loadFont()
加载,并在适用的情况下使用
-fx Font-family
.setFont()

只记得检查真正创建的字体名称,因为如果出现错误,字体创建将返回到“系统”。例如:

Font font = Font.font("Baltica TYGRA", FontWeight.BOLD, 20);
System.out.println(font.getName());
如果一切正常,则应输出
“Baltica Bold TYGRA”

如果未创建所需的字体,并且默认替换了该字体,则它将打印
“System Bold”
,不会引发任何异常(请注意,即使
System
字体在使用的环境中不支持粗体,它也不会打印
System


还有另一种方法-您可以通过变换生成倾斜文本:

@FXML
private Text textNode;

    textNode.setText("Tattoo battle: 味噌 vs. Борщ!");
    textNode.getTransforms().add(new Shear(-0.35, 0));

不幸的是,没有支持中文斜体的字体,因为中国没有意大利。我想“斜体”的中文字体和“书法”的意思是一样的。有许多中国书法字体,其中一些是免费的。@huangjs另一方面,你可以通过
转换
使文本倾斜(字体创建者看到这一点会哭…)。几分钟后我会试试的。