aboutsummaryrefslogtreecommitdiffstats
path: root/tools/java/org
diff options
context:
space:
mode:
authorIgor Viarheichyk <viarheichyk@google.com>2017-04-21 00:43:13 +0000
committerFredrik Roubert <roubert@google.com>2018-05-23 13:28:27 +0200
commit6c1273732d25042047d07711a47a0b3899c0532c (patch)
tree92afbe6e7ee1a29f0323fa3ef4d964ed65a064af /tools/java/org
parent9e65a127e9bcbf80c5ea277f8222c5d09132826a (diff)
downloadandroid_external_cldr-6c1273732d25042047d07711a47a0b3899c0532c.tar.gz
android_external_cldr-6c1273732d25042047d07711a47a0b3899c0532c.tar.bz2
android_external_cldr-6c1273732d25042047d07711a47a0b3899c0532c.zip
Android patch: Replace RLM with ALM in pseudo-bidi pseudolocale.
ICU treats RLM as a space character and handles it specially in many (but not all) contexts. This inconsistency causes some of unit tests fail. Unlike RLM, ALM does not have a special meaning for ICU. Bug: 37512961 Change-Id: I395738f5ee98cf8633255fce2d4b4516afa1630b
Diffstat (limited to 'tools/java/org')
-rw-r--r--tools/java/org/unicode/cldr/tool/CLDRFilePseudolocalizer.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/tools/java/org/unicode/cldr/tool/CLDRFilePseudolocalizer.java b/tools/java/org/unicode/cldr/tool/CLDRFilePseudolocalizer.java
index 834ece5..ceb9fbc 100644
--- a/tools/java/org/unicode/cldr/tool/CLDRFilePseudolocalizer.java
+++ b/tools/java/org/unicode/cldr/tool/CLDRFilePseudolocalizer.java
@@ -26,7 +26,9 @@ public class CLDRFilePseudolocalizer {
private static final String PSEUDOLOCALES_DIRECTORY = ".";
// Android patch (b/37077221) end.
private static final String ORIGINAL_LOCALE = "en";
- private static final String EXEMPLARS_PATH = "/exemplarCharactersx";
+ // Android patch (b/37512961) begin.
+ private static final String NUMBERS_PATH = "//ldml/numbers/defaultNumberingSystem";
+ // Android patch (b/37512961) end.
private static final String EXEMPLAR_PATH = "//ldml/characters/exemplarCharacters";
private static final String EXEMPLAR_AUX_PATH =
"//ldml/characters/exemplarCharacters[@type=\"auxiliary\"]";
@@ -199,14 +201,16 @@ public class CLDRFilePseudolocalizer {
private static class PseudolocalizerXB extends Pseudolocalizer {
/** Right-to-left override character. */
private static final String RLO = "\u202e";
- /** Right-to-left mark character. */
- private static final String RLM = "\u200f";
+ // Android patch (b/37512961) begin.
+ /** Arabic letter mark character. */
+ private static final String ALM = "\u061C";
/** Pop direction formatting character. */
private static final String PDF = "\u202c";
/** Prefix to add before each LTR word */
- private static final String BIDI_PREFIX = RLM + RLO;
+ private static final String BIDI_PREFIX = ALM + RLO;
/** Postfix to add after each LTR word */
- private static final String BIDI_POSTFIX = PDF + RLM;
+ private static final String BIDI_POSTFIX = PDF + ALM;
+ // Android patch (b/37512961) end.
public String fragment(String text) {
StringBuilder output = new StringBuilder();
boolean wrapping = false;
@@ -352,6 +356,10 @@ public class CLDRFilePseudolocalizer {
// Create fake pseudolocales territories.
addTerritory(outputSource, "XA");
addTerritory(outputSource, "XB");
+ // Android patch (b/37512961) begin.
+ // Use latin numbers for pseudolocales.
+ outputSource.putValueAtPath(NUMBERS_PATH, "latn");
+ // Android patch (b/37512961) end.
return new CLDRFile(outputSource);
}
/**