kunfei 4 anni fa
parent
commit
264a27f99d

+ 4 - 4
app/src/main/java/io/legado/app/help/JsExtensions.kt

@@ -496,14 +496,14 @@ interface JsExtensions {
         correctQueryTTF: QueryTTF?
     ): String {
         if (errorQueryTTF == null || correctQueryTTF == null) return text
-        val contentArray = text.toCharArray()
+        val contentArray = text.toStringArray()
         contentArray.forEachIndexed { index, s ->
-            val oldCode = s.code
-            if (errorQueryTTF.inLimit(s)) {
+            val oldCode = s.codePointAt(0)
+            if (errorQueryTTF.inLimit(oldCode)) {
                 val glyf = errorQueryTTF.getGlyfByCode(oldCode)
                 val code = correctQueryTTF.getCodeByGlyf(glyf)
                 if (code != 0) {
-                    contentArray[index] = code.toChar()
+                    contentArray[index] = code.toChar().toString()
                 }
             }
         }

+ 3 - 1
app/src/main/java/io/legado/app/model/analyzeRule/QueryTTF.java

@@ -479,6 +479,8 @@ public class QueryTTF {
             for (short b : glyf.get(gid).yCoordinates) sb.append(b);
             String val = sb.toString();
             if (limitMix == 0) limitMix = key;
+            if (limitMix > key) limitMix = key;
+            if (limitMax < key) limitMax = key;
             limitMax = key;
             codeToGlyph.put(key, val);
             if (glyphToCode.containsKey(val)) continue;
@@ -576,7 +578,7 @@ public class QueryTTF {
      * @param code 传入Unicode十进制值
      * @return 返回bool查询结果
      */
-    public boolean inLimit(char code) {
+    public boolean inLimit(int code) {
         return (limitMix <= code) && (code < limitMax);
     }