[orx-text-writer] Handle nullable fontMap
This commit is contained in:
@@ -346,7 +346,7 @@ class TextWriter(val drawerRef: Drawer?) {
|
|||||||
|
|
||||||
// Triggers loading the default font (if needed) by accessing .fontMap
|
// Triggers loading the default font (if needed) by accessing .fontMap
|
||||||
// otherwise makeRenderTokens() is not aware of the default font.
|
// otherwise makeRenderTokens() is not aware of the default font.
|
||||||
val fontMap = drawerRef?.fontMap ?: error("no fontmap")
|
val fontMap = drawerRef?.fontMap
|
||||||
|
|
||||||
var renderTokens = makeTextTokens(text, false)
|
var renderTokens = makeTextTokens(text, false)
|
||||||
|
|
||||||
@@ -380,11 +380,11 @@ class TextWriter(val drawerRef: Drawer?) {
|
|||||||
val first = renderTokens.filter { it != TextToken.END_OF_LINE }.first()
|
val first = renderTokens.filter { it != TextToken.END_OF_LINE }.first()
|
||||||
val last = renderTokens.last()
|
val last = renderTokens.last()
|
||||||
renderTokens.split().flatMap {
|
renderTokens.split().flatMap {
|
||||||
val sy = first.y - fontMap.ascenderLength
|
val sy = first.y - (fontMap?.ascenderLength ?: 0.0)
|
||||||
val ey = last.y + fontMap.descenderLength
|
val ey = last.y + (fontMap?.descenderLength ?: 0.0)
|
||||||
|
|
||||||
val th = ey - sy
|
val th = ey - sy
|
||||||
it.map { it.shift(0.0, fontMap.height + (box.height - th) * align) }
|
it.map { it.shift(0.0, (fontMap?.height ?: 0.0) + (box.height - th) * align) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user