如何在JavaFX中使用True Type Collection(.ttc)?

时间:2015-06-08 02:22:47

标签: css javafx true-type-fonts richtextfx

我已经在我的应用程序中成功加载了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。

1 个答案:

答案 0 :(得分:1)

来自评论的复制粘贴解决方案:

在显示之前,您必须在代码中至少加载一次字体。如果你在css中使用它的事件。只需将加载线放在开头的某处,就可以了。

Font.loadFont(getClass().getResourceAsStream("/tsentsiu-sans-mono-regular.ttc")‌​, 20);