summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorRaph Levien <raph@google.com>2015-07-09 20:55:54 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-07-09 20:55:54 +0000
commit756b5ff6a9eaff9fc3d933fe889bf2ed4fb65060 (patch)
tree3ba27c6ae62d587eed6c5fadbf2c832184b876fd /core/java/android
parent46e30763df273ea1ba6f102c8a8557b36ba5cc8a (diff)
parent5ab41065ebfa87a6d44015799bedfe6186d8e784 (diff)
am 5ab41065: am 0d18477a: am 75d6197e: am 968f9fdf: Merge "Slightly more precise RTL check in BoringLayout.isBoring()" into mnc-dev
* commit '5ab41065ebfa87a6d44015799bedfe6186d8e784': Slightly more precise RTL check in BoringLayout.isBoring()
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/text/BoringLayout.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/text/BoringLayout.java b/core/java/android/text/BoringLayout.java
index e78cf8fec947..aa8b71c5ea42 100644
--- a/core/java/android/text/BoringLayout.java
+++ b/core/java/android/text/BoringLayout.java
@@ -269,7 +269,15 @@ public class BoringLayout extends Layout implements TextUtils.EllipsizeCallback
for (int a = 0; a < n; a++) {
char c = temp[a];
- if (c == '\n' || c == '\t' || c >= FIRST_RIGHT_TO_LEFT) {
+ if (c == '\n' || c == '\t' ||
+ (c >= 0x0590 && c <= 0x08FF) || // RTL scripts
+ c == 0x200F || // Bidi format character
+ (c >= 0x202A && c <= 0x202E) || // Bidi format characters
+ (c >= 0x2066 && c <= 0x2069) || // Bidi format characters
+ (c >= 0xD800 && c <= 0xDFFF) || // surrogate pairs
+ (c >= 0xFB1D && c <= 0xFDFF) || // Hebrew and Arabic presentation forms
+ (c >= 0xFE70 && c <= 0xFEFE) // Arabic presentation forms
+ ) {
boring = false;
break outer;
}