edvin / tornadofx

Lightweight JavaFX Framework for Kotlin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Font not loading

codezan opened this issue · comments

I am having trouble loading a particular Font in my app.
The .ttf file is in the resources folder and the path to the file is also correct. This is the code I used to check:

val fontStr = "fonts/FiraCode-Regular.ttf".apply {
  val inputStream = MethodHandles.lookup().lookupClass().getResourceAsStream(this)
  val clazzPackage = MethodHandles.lookup().lookupClass().packageName

  println("FONT LOADING: $clazzPackage -> $inputStream -> ${loadFont("fonts/FiraCode-Regular.ttf", 14)}")
}

The output when I run the application is
FONT LOADING: me.blocky.logreader.style -> java.io.BufferedInputStream@6ebd22fa -> null
Clearly, the file is there since the inputStream is not null. But the loadFont method still returns null.
Does anybody know what's going on?

fonts/FiraCode-Regular.ttf - relative path
/fonts/FiraCode-Regular.ttf - absolute path

the first option will result in errors if your class is in the org.name package since the full path will be org/name/fons/FiraCode-Regular.ttf

see #1313