diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/QueryTTF.java b/app/src/main/java/io/legado/app/model/analyzeRule/QueryTTF.java index 027881ad5..a1948e6cc 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/QueryTTF.java +++ b/app/src/main/java/io/legado/app/model/analyzeRule/QueryTTF.java @@ -714,7 +714,7 @@ public class QueryTTF { if (idRangeOffset == 0) { unicodeToGlyphId.put(unicode, (unicode + idDelta) & 0xFFFF); } else { - int gIndex = (idRangeOffset / 2) + unicode - unicodeInclusive + segmentIndex; + int gIndex = (idRangeOffset / 2) + unicode - unicodeInclusive + segmentIndex - segCount; unicodeToGlyphId.put(unicode, gIndex < glyphIdArrayLength ? f.glyphIdArray[gIndex] + idDelta : 0); } }