我已经在我的应用程序中成功加载了CSS中的.ttf字体。当我尝试加载.ttc以获得国际语言支持时,我得到了这个
Jun 08, 2015 10:12:44 AM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
INFO: Could not load @font-face font [file:/E:/DanIDE/out/production/DanIDE/font/tsentsiu-sans-mono-regular.ttc]
所以我的问题是如何在我的JavaFX项目中使用.ttc?非常感谢!
编辑: 在我的CSS中我加载了这样的字体:
@font-face {
font-family: 'Tsentsiu Sans Mono HC';
src: url('/font/tsentsiu-sans-mono-regular.ttc');
}
@font-face {
font-family: 'Tsentsiu Sans Mono HC Bold';
src: url('/font/tsentsiu-sans-mono-bold.ttc');
}
.code {
-fx-font-family: "Tsentsiu Sans Mono HC";
-fx-fill: green;
}
.variable {
-fx-font-family: 'Tsentsiu Sans Mono HC Bold';
-fx-fill: red;
}
并且RichTextFX
项目为我加载了CSS。
答案 0 :(得分:1)
来自评论的复制粘贴解决方案:
在显示之前,您必须在代码中至少加载一次字体。如果你在css中使用它的事件。只需将加载线放在开头的某处,就可以了。
Font.loadFont(getClass().getResourceAsStream("/tsentsiu-sans-mono-regular.ttc"), 20);