diff options
| author | Victoria Lease <violets@google.com> | 2013-11-01 13:30:51 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2013-11-01 13:30:51 -0700 |
| commit | 24aecc3fb609ce999a7fef7a610891d5a32eb92c (patch) | |
| tree | c1805e3f7c2ea5912ff28466a4469af9bea3fb42 /core/java | |
| parent | d35e94a3cbd27f08430c593930c989a36f17a833 (diff) | |
| parent | 24a24b27903785dedb507b11583b70975fe9f8e4 (diff) | |
am 24a24b27: am ee4c8464: Merge "Handle surrogate pairs in Html.toHtml()" into klp-dev
* commit '24a24b27903785dedb507b11583b70975fe9f8e4':
Handle surrogate pairs in Html.toHtml()
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/text/Html.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java index 160c630bf527..f839d52b0126 100644 --- a/core/java/android/text/Html.java +++ b/core/java/android/text/Html.java @@ -391,6 +391,15 @@ public class Html { out.append(">"); } else if (c == '&') { out.append("&"); + } else if (c >= 0xD800 && c <= 0xDFFF) { + if (c < 0xDC00 && i + 1 < end) { + char d = text.charAt(i + 1); + if (d >= 0xDC00 && d <= 0xDFFF) { + i++; + int codepoint = 0x010000 | (int) c - 0xD800 << 10 | (int) d - 0xDC00; + out.append("&#").append(codepoint).append(";"); + } + } } else if (c > 0x7E || c < ' ') { out.append("&#").append((int) c).append(";"); } else if (c == ' ') { |
