diff --git a/.idea/libraries/ibm_icu_icu4j.xml b/.idea/libraries/ibm_icu_icu4j.xml new file mode 100644 index 000000000..15026b6c7 --- /dev/null +++ b/.idea/libraries/ibm_icu_icu4j.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/icu4j-70.1-javadoc.jar b/lib/icu4j-70.1-javadoc.jar new file mode 100644 index 000000000..3ca30e212 Binary files /dev/null and b/lib/icu4j-70.1-javadoc.jar differ diff --git a/lib/icu4j-70.1-sources.jar b/lib/icu4j-70.1-sources.jar new file mode 100644 index 000000000..03348fd70 Binary files /dev/null and b/lib/icu4j-70.1-sources.jar differ diff --git a/lib/icu4j-70.1.jar b/lib/icu4j-70.1.jar new file mode 100644 index 000000000..9f0747378 Binary files /dev/null and b/lib/icu4j-70.1.jar differ diff --git a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt index 57fe40d1e..f6aea9b5f 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt @@ -7,6 +7,7 @@ import com.badlogic.gdx.graphics.OrthographicCamera import com.badlogic.gdx.graphics.Pixmap import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.graphics.glutils.FrameBuffer +import com.ibm.icu.text.Normalizer2 import com.jme3.math.FastMath import net.torvald.terrarum.* import net.torvald.terrarum.gamecontroller.* @@ -433,9 +434,11 @@ class UIItemTextLineInput( } private fun textbufToString(): String { - return textbuf.toJavaString() + return textbuf.toJavaString().toUnicodeNFC() } + private fun String.toUnicodeNFC() = Normalizer2.getNFCInstance().normalize(this) + private fun moveCursorToEnd(stride: Int) { try { cursorX += stride diff --git a/terrarum.terrarum.iml b/terrarum.terrarum.iml index 53e6f65b1..a89b041ee 100644 --- a/terrarum.terrarum.iml +++ b/terrarum.terrarum.iml @@ -23,5 +23,6 @@ + \ No newline at end of file