diff options
author | Behdad Esfahbod <behdad@google.com> | 2014-07-25 19:14:51 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-07-24 15:37:54 +0000 |
commit | 41b1aa18d7c32b4383993cd1b0a7e2e6648be14e (patch) | |
tree | f2980bc74dbd87b0bd45bab0d5479c16f15bd249 | |
parent | a5bb91190edbea0be0e78a8511b3c920b6e99c4e (diff) | |
parent | b8208bc19c178b73175f76323381a1eeb8059807 (diff) | |
download | android_frameworks_minikin-41b1aa18d7c32b4383993cd1b0a7e2e6648be14e.tar.gz android_frameworks_minikin-41b1aa18d7c32b4383993cd1b0a7e2e6648be14e.tar.bz2 android_frameworks_minikin-41b1aa18d7c32b4383993cd1b0a7e2e6648be14e.zip |
Merge "Don't get stuck on invalid UTF-16" into lmp-dev
-rw-r--r-- | libs/minikin/Layout.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libs/minikin/Layout.cpp b/libs/minikin/Layout.cpp index 6611f06..072ceda 100644 --- a/libs/minikin/Layout.cpp +++ b/libs/minikin/Layout.cpp @@ -396,11 +396,10 @@ static hb_codepoint_t decodeUtf16(const uint16_t* chars, size_t len, ssize_t* it const hb_codepoint_t delta = (0xd800 << 10) + 0xdc00 - 0x10000; return (((hb_codepoint_t)v) << 10) + v2 - delta; } - (*iter) -= 2; - return ~0u; + (*iter) -= 1; + return 0xFFFDu; } else { - (*iter)--; - return ~0u; + return 0xFFFDu; } } else { return v; |