diff --git a/FontTestGDX/lib/TerrarumSansBitmap.jar b/FontTestGDX/lib/TerrarumSansBitmap.jar index 0aea783..936a19c 100644 Binary files a/FontTestGDX/lib/TerrarumSansBitmap.jar and b/FontTestGDX/lib/TerrarumSansBitmap.jar differ diff --git a/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt b/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt index 716c94b..799d199 100755 --- a/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt @@ -891,8 +891,14 @@ class GameFontBase( // shoehorn the wider-hangul-width thingamajig - if (toHangulJungseongIndex(thisChar) in hangulPeaksWithExtraWidth) { + // widen only when the next hangul char is not "jungseongWide" + // (애 in "애슬론" should not be widened) + if (hangulPeaksWithExtraWidth.binarySearch(toHangulJungseongIndex(thisChar)) >= 0 && ( + jungseongWide.binarySearch(toHangulJungseongIndex(str.getOrElse(charIndex + 2) { 0 })) < 0 && + jungseongWide.binarySearch(toHangulJungseongIndex(str.getOrElse(charIndex + 3) { 0 })) < 0 + )) { //println("char: ${thisChar.charInfo()}\nproperties: $thisProp") + println("${thisChar.charInfo()} ${str.getOrNull(charIndex + 2)?.charInfo()} ${str.getOrNull(charIndex + 3)?.charInfo()}") extraWidth += 1 } @@ -1504,6 +1510,9 @@ class GameFontBase( private val jungseongEU: Array = arrayOf(19,62,66) // ㅢ private val jungseongYI: Array = arrayOf(20,60,65) + + private val jungseongWide: Array = (jungseongOU + jungseongEU).sortedArray() + // index of the peak, 0 being blank, 1 being ㅏ // indices of peaks that number of lit pixels (vertically counted) on x=11 is greater than 7 private val hangulPeaksWithExtraWidth = arrayOf(2,4,6,8,11,16,32,33,37,42,44,48,50,71,75,78,79,83,86,87,88,94) diff --git a/testing.PNG b/testing.PNG index 3456b4e..82cd421 100755 Binary files a/testing.PNG and b/testing.PNG differ