From 52a2885e28309631edab2fe653c956600107394b Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 25 Jun 2022 15:57:04 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Fix=20issue=20with=20=E3=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 3 +-- .idea/runConfigurations.xml | 12 ---------- .../java/eu/lepiller/nani/result/Result.java | 23 +++++++++++++------ 3 files changed, 17 insertions(+), 21 deletions(-) delete mode 100644 .idea/runConfigurations.xml diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 91df564..dffceeb 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,7 +4,7 @@ diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 7f68460..0000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/java/eu/lepiller/nani/result/Result.java b/app/src/main/java/eu/lepiller/nani/result/Result.java index ed1cfb5..ff7e87c 100644 --- a/app/src/main/java/eu/lepiller/nani/result/Result.java +++ b/app/src/main/java/eu/lepiller/nani/result/Result.java @@ -1,5 +1,6 @@ package eu.lepiller.nani.result; +import android.os.Build; import android.util.Log; import com.moji4j.MojiConverter; @@ -9,8 +10,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static java.lang.Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS; -import static java.lang.Character.UnicodeBlock.KATAKANA; +import static java.lang.Character.UnicodeBlock.*; public class Result { public static class Source { @@ -133,6 +133,16 @@ public class Result { return null; } + private static boolean isKanji(char c) { + Character.UnicodeBlock b = of(c); + return b == CJK_UNIFIED_IDEOGRAPHS || + b == CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || + b == CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || + (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && b == CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C) || + (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && b == CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D) || + b == CJK_SYMBOLS_AND_PUNCTUATION; + } + public String getKanjiFurigana() { String txt = getKanji(); String reading = getReading(); @@ -142,12 +152,12 @@ public class Result { ArrayList portions = new ArrayList<>(); StringBuilder current = new StringBuilder(); - Character.UnicodeBlock b = CJK_UNIFIED_IDEOGRAPHS; + boolean currentBlockIsKanji = true; MojiConverter converter = new MojiConverter(); for(int i=0; i