From 8bf0642b3f0e0034b2055af1bb0b63dcb1c9cbb2 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 29 Apr 2024 01:40:02 +0900 Subject: [PATCH] fix: space before hyphen gets ignored --- .../torvald/terrarumsansbitmap/MovableType.kt | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/net/torvald/terrarumsansbitmap/MovableType.kt b/src/net/torvald/terrarumsansbitmap/MovableType.kt index aeda203..d6ba5a1 100644 --- a/src/net/torvald/terrarumsansbitmap/MovableType.kt +++ b/src/net/torvald/terrarumsansbitmap/MovableType.kt @@ -497,42 +497,32 @@ class MovableType( val c0 = it if (c0.isColourCode()) { - if (glue != 0) - sendoutGlue() - + if (glue > 0) sendoutGlue() addControlChar(c0) - appendToBuffer(c0) } else if (c0 == 0x100000) { requestControlCharRemovalIf { (it.first in 0x10F000..0x10FFFF) } - - if (glue != 0) - sendoutGlue() - + if (glue > 0) sendoutGlue() appendToBuffer(c0) } else if (c0.isControlIn()) { - if (glue != 0) - sendoutGlue() - + if (glue > 0) sendoutGlue() addControlChar(c0) - appendToBuffer(c0) } else if (c0.isControlOut()) { - if (glue != 0) - sendoutGlue() - + if (glue > 0) sendoutGlue() requestControlCharRemovalPop() - appendToBuffer(c0) } else if (c0 == 0x0A) { // \n + glue = 0 sendoutBox() proceedToNextLine() } else if (c0 == 0x2D) { // hyphen + if (glue > 0) sendoutGlue() appendToBuffer(c0) sendoutBox() } @@ -646,6 +636,7 @@ class MovableType( } // tokenise camelCase else if (cM.isMiniscule() && c0.isMajuscule()) { + if (glue > 0) sendoutGlue() sendoutBox() appendToBuffer(c0) }