From 0310c71c742608919e9f3033d373f495ed8374a0 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Tue, 30 Aug 2022 15:02:01 +0900 Subject: [PATCH] fixed a bug where IME candidate window is rendered too tall for its contents; added QWERTZ layout --- assets/keylayout/en_intl_qwertz.key | 256 ++++++++++++++++++ .../terrarum/ui/UIItemTextLineInput.kt | 4 +- 2 files changed, 258 insertions(+), 2 deletions(-) create mode 100644 assets/keylayout/en_intl_qwertz.key diff --git a/assets/keylayout/en_intl_qwertz.key b/assets/keylayout/en_intl_qwertz.key new file mode 100644 index 000000000..58dd0173a --- /dev/null +++ b/assets/keylayout/en_intl_qwertz.key @@ -0,0 +1,256 @@ +{"n":"US-Intl. Qwertz","capslock":"caps","t":[[""],[undefined], +[undefined], +[""], +[undefined], +[""], +[""], +["0",")","’","”"], +["1","!","¡","¹"], +["2","@","º","²"], +["3","#","ª","³"], +["4","$","¤","£"], +["5","%","€","€"], +["6","^","¼","\u0302"], +["7","&","½","½"], +["8","*","¾","¾"], +["9","(","‘","“"], +["*"], +["#"], +[""], +[""], +[""], +[""], +["
"], +[""], +[""], +[""], +[""], +[""], +["a","A","á","Á"], +["b","B"], +["c","C","¢","©"], +["d","D","ð","Ð"], +["e","E","é","É"], +["f","F"], +["g","G"], +["h","H"], +["i","I","í","Í"], +["j","J"], +["k","K"], +["l","L","ø","Ø"], +["m","M","µ","µ"], +["n","N","ñ","Ñ"], +["o","O","ó","Ó"], +["p","P","ö","Ö"], +["q","Q","ä","Ä"], +["r","R","®","®"], +["s","S","ß","§"], +["t","T","þ","Þ"], +["u","U","ú","Ú"], +["v","V"], +["w","W","å","Å"], +["x","X","¤","¤"], +["z","Z","æ","Æ"], +["y","Y","ü","Ü"], +[",","<","ç","Ç"], +[".",">"], +[""], +[""], +[""], +[""], +[""], +[" "," ","\u00A0","\u00A0"], +[""], +[""], +[""], +["\n"], +["\x08"], +["`","~","\u0300","\u0303"], +["-","_","–","—"], +["=","+","×","÷"], +["[","{","«","‹"], +["]","}","»","›"], +["\\","|","¬","¦"], +[";",":","¶","°"], +["'",'"',"\u0301","\u0308"], +["/","?","¿","¿"], +[""], +[""], +[""], +[""], +["+"], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +["<:A:>"], +["<:B:>"], +["<:C:>"], +["<:X:>"], +["<:Y:>"], +["<:Z:>"], +["<:L1:>"], +["<:R1:>"], +["<:L2:>"], +["<:R2:>"], +["<:TL:>"], +["<:TR:>"], +["<:START:>"], +["<:SELECT:>"], +["<:MODE:>"], +[""], +[""], +[undefined], +[undefined], +[""], +[""], +[undefined], +[undefined], +[undefined], +[""], +[""], +[undefined], +[""], +[""], +[undefined], +[undefined], +[undefined], +[undefined], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +[""], +["0"], +["1"], +["2"], +["3"], +["4"], +["5"], +["6"], +["7"], +["8"], +["9"], +["/"], +["*"], +["-"], +["+"], +["."], +["."], +["\n"], +["="], +["("], +[")"], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +[undefined], +["<:CIRCLE:>"] +]} diff --git a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt index d9756a608..44b217d88 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt @@ -575,7 +575,7 @@ class UIItemTextLineInput( val candidatesCount = minOf(candidatesMax, localCandidates.size) val isOnecolumn = (candidatesCount <= 3) val halfcount = if (isOnecolumn) candidatesCount else FastMath.ceil(candidatesCount / 2f) - val candidateWinH = App.fontGame.lineHeight.toInt() * halfcount + val candidateWinH = halfcount * 20 // using hard-coded 20 instead of the actual font height of 24 val candidatePosX = cursorXOnScreen + 4 val candidatePosY = posY + 2 @@ -596,7 +596,7 @@ class UIItemTextLineInput( val candidateNum = listOf(i+48,46,32) App.fontGame.draw(batch, CodepointSequence(candidateNum + localCandidates[i]), candidatePosX + (i / halfcount) * (longestCandidateW + 3) + 2, - candidatePosY + (i % halfcount) * 20 + candidatePosY + (i % halfcount) * 20 // using hard-coded 20 instead of the actual font height of 24 ) }