diff options
author | Igor Viarheichyk <viarheichyk@google.com> | 2017-04-21 00:43:13 +0000 |
---|---|---|
committer | Fredrik Roubert <roubert@google.com> | 2018-05-23 13:28:27 +0200 |
commit | 6c1273732d25042047d07711a47a0b3899c0532c (patch) | |
tree | 92afbe6e7ee1a29f0323fa3ef4d964ed65a064af /tools/java/org | |
parent | 9e65a127e9bcbf80c5ea277f8222c5d09132826a (diff) | |
download | android_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.java | 18 |
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); } /** |