diff options
author | 2012-09-26 08:26:55 -0700 | |
---|---|---|
committer | 2012-09-26 08:26:55 -0700 | |
commit | 3e38be0845d8138f9a1bae76cb4cb42a726055de (patch) | |
tree | 4baccb3f21c66a71160a49222af25fcad9a0157e /java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java | |
parent | 2aa1a4d2728f64c70f02e1226b5200f2a2a15008 (diff) | |
parent | 5cce1516662aa4a8b5459e352d7688865080da5e (diff) | |
download | latinime-3e38be0845d8138f9a1bae76cb4cb42a726055de.tar.gz latinime-3e38be0845d8138f9a1bae76cb4cb42a726055de.tar.xz latinime-3e38be0845d8138f9a1bae76cb4cb42a726055de.zip |
am 5cce1516: am 2ee70804: Add moved char groups.
* commit '5cce1516662aa4a8b5459e352d7688865080da5e':
Add moved char groups.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java index 19da5124a..e2c1254ce 100644 --- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java +++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java @@ -85,7 +85,10 @@ public class BinaryDictIOUtils { } p.mPosition++; - if (info.mFrequency != FusionDictionary.CharGroup.NOT_A_TERMINAL) { // found word + final boolean isMovedGroup = BinaryDictInputOutput.isMovedGroup(info.mFlags, + formatOptions); + if (!isMovedGroup + && info.mFrequency != FusionDictionary.CharGroup.NOT_A_TERMINAL) {// found word words.put(info.mOriginalAddress, new String(pushedChars, 0, index)); frequencies.put(info.mOriginalAddress, info.mFrequency); if (info.mBigrams != null) bigrams.put(info.mOriginalAddress, info.mBigrams); @@ -109,7 +112,7 @@ public class BinaryDictIOUtils { p.mAddress = buffer.position(); } - if (BinaryDictInputOutput.hasChildrenAddress(info.mChildrenAddress)) { + if (!isMovedGroup && BinaryDictInputOutput.hasChildrenAddress(info.mChildrenAddress)) { Position childrenPos = new Position(info.mChildrenAddress + headerSize, index); stack.push(childrenPos); } @@ -168,6 +171,10 @@ public class BinaryDictIOUtils { final int charGroupPos = buffer.position(); final CharGroupInfo currentInfo = BinaryDictInputOutput.readCharGroup(buffer, buffer.position(), header.mFormatOptions); + if (BinaryDictInputOutput.isMovedGroup(currentInfo.mFlags, + header.mFormatOptions)) { + continue; + } boolean same = true; for (int p = 0, j = word.offsetByCodePoints(0, wordPos); p < currentInfo.mCharacters.length; |