我需要在JavaFX项目中使用一些变体(粗体,斜体等)嵌入本地.ttf文件,但css解析器似乎不支持 @ font-face 声明中的字体属性:
@font-face {
font-family: 'Open Sans', sans-serif;
src: url('fonts/OpenSans-Regular.ttf');
}
@font-face {
font-family: 'Open Sans', sans-serif;
src: url('fonts/OpenSans-Bold.ttf');
font-weight: bold;
}
@font-face {
font-family: 'Open Sans', sans-serif;
src: url('fonts/OpenSans-ExtraBoldItalic.ttf');
font-style: italic;
}
警告:解析CSS错误 罐子:文件:/home/test/dist/run736633436/test.jar /it/test/vending/css/application.css: 意外的TOKEN [:]在[8,15] mag 06,2015 3:40:15 PM com.sun.javafx.css.parser.CSSParser fontFace警告:CSS错误 解析 罐子:文件:/home/test/dist/run736633436/test.jar /it/test/vending/css/application.css: 意外的TOKEN [:]在[13,14]
我怎么能实现这个目标?
== EDIT ==
请注意,解析器会抱怨 font-weight:bold; 和 font-style:italic; 规则。
答案 0 :(得分:1)
我想我找到了解决方案。尝试将font-weight
和font-style
属性与src
属性进行交换。在您的情况下,您的CSS将如下所示:
@font-face {
font-family: 'Open Sans', sans-serif;
src: url('fonts/OpenSans-Regular.ttf');
}
@font-face {
font-family: 'Open Sans', sans-serif;
font-weight: bold;
src: url('fonts/OpenSans-Bold.ttf');
}
@font-face {
font-family: 'Open Sans', sans-serif;
font-style: italic;
src: url('fonts/OpenSans-ExtraBoldItalic.ttf');
}
我有同样的问题,交换属性完成了工作。我不知道为什么会这样,但它似乎解决了这个问题。