我想在tornafeofx-app中使用typesafe css加载自定义字体,这可能吗? 谢谢和最好的问候。
答案 0 :(得分:4)
只要加载了一个字体,它就可以在CSS中使用,所以我们在TornadoFX中添加了一个loadFont
帮助器,可以这样使用:
class FontTest : App(Main::class, Styles::class) {
class Main : View("Font Test") {
override val root = stackpane {
label("This is my Label") {
addClass(Styles.custom)
}
}
}
class Styles : Stylesheet() {
companion object {
val custom by cssclass()
// Note that loadFont() returns Font?
val riesling = loadFont("/fonts/riesling.ttf", 48.0)
}
init {
custom {
padding = box(25.px)
riesling?.let { font = it }
// or if you just want to set the font family:
// riesling?.let { fontFamily = it.family }
}
}
}
}
如果你确定字体存在(例如你在你的构建中包含),可以简化为:
class Styles : Stylesheet() {
companion object {
val custom by cssclass()
val riesling = loadFont("/fonts/riesling.ttf", 48.0)!!
}
init {
custom {
padding = box(25.px)
font = riesling
// or if you just want to set the font family:
// fontFamily = riesling.family
}
}
}
答案 1 :(得分:1)
顺便说一句,因为Ruckus T-Boom回答了这个问题29天后,他添加了loadFont
函数:),可以用它来编写:
class Styles : Stylesheet() {
private val customFont = loadFont("/fonts/custom-font.ttf", 14)!!
init {
root {
font = customFont
fontSize = 11.px
}
}
}