Java Code Examples for java.awt.font.NumericShaper

The following examples show how to use java.awt.font.NumericShaper. These examples are extracted from open source projects.
Example 1
Project: dragonwell8_jdk   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 2
Project: TencentKona-8   File: TextLayout.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm,
                           Map<? extends Attribute, ?> paragraphAttrs,
                           char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 3
Project: jdk8u_jdk   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 4
Project: TencentKona-8   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 5
Project: jdk8u60   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 6
Project: JDKSourceCode1.8   File: TextLayout.java    License: MIT License 6 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm,
                           Map<? extends Attribute, ?> paragraphAttrs,
                           char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 7
Project: openjdk-jdk8u   File: TextLayout.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm,
                           Map<? extends Attribute, ?> paragraphAttrs,
                           char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 8
Project: openjdk-jdk8u   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 9
Project: openjdk-jdk8u-backup   File: TextLayout.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm,
                           Map<? extends Attribute, ?> paragraphAttrs,
                           char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 10
Project: openjdk-jdk8u-backup   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 11
Project: Bytecoder   File: TextLayout.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm,
                           Map<? extends Attribute, ?> paragraphAttrs,
                           char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 12
Project: openjdk-8-source   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 13
Project: jdk8u-jdk   File: TextLayout.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm,
                           Map<? extends Attribute, ?> paragraphAttrs,
                           char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 14
Project: hottub   File: TextLayout.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm,
                           Map<? extends Attribute, ?> paragraphAttrs,
                           char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 15
Project: hottub   File: ShapingTest.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static void checkResult(String ranges, NumericShaper ns,
                                String given, String expected) {
    char[] text = given.toCharArray();
    ns.shape(text, 0, text.length);
    String got = new String(text);

    if (!expected.equals(got)) {
        err = true;
        System.err.println("Error with range(s) <" + ranges + ">.");
        System.err.println("  text     = " + given);
        System.err.println("  got      = " + got);
        System.err.println("  expected = " + expected);
    } else {
        System.out.println("OK with range(s) <" + ranges + ">.");
        System.out.println("  text     = " + given);
        System.out.println("  got      = " + got);
        System.out.println("  expected = " + expected);
    }
}
 
Example 16
Project: dragonwell8_jdk   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}
 
Example 17
Project: dragonwell8_jdk   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6903266() {
    NumericShaper ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_HORA));
    String given = "\u1a20 012";
    String expected = "\u1a20 \u1a80\u1a81\u1a82";
    checkResult("Range.TAI_THAM_HORA", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_HORA,
                                        Range.TAI_THAM_THAM));
    given = "\u1a20 012";
    expected = "\u1a20 \u1a90\u1a91\u1a92"; // Tham digits are prioritized.
    checkResult("Range.TAI_THAM_HORA, Range.TAI_THAM_THAM", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.JAVANESE));
    given = "\ua984 012";
    expected = "\ua984 \ua9d0\ua9d1\ua9d2";
    checkResult("Range.JAVANESE", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_THAM));
    given = "\u1a20 012";
    expected = "\u1a20 \u1a90\u1a91\u1a92";
    checkResult("Range.TAI_THAM_THAM", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.MEETEI_MAYEK));
    given = "\uabc0 012";
    expected = "\uabc0 \uabf0\uabf1\uabf2";
    checkResult("Range.MEETEI_MAYEK", ns, given, expected);
}
 
Example 18
Project: jdk8u-jdk   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6943963() {
    // Needed to reproduce this bug.
    NumericShaper ns_dummy = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    char[] c = "\u1200 1".toCharArray();
    ns_dummy.shape(c, 0, c.length);


    String given = "\u0627\u0628 456";
    String expected_ARABIC = "\u0627\u0628 \u0664\u0665\u0666";
    String expected_EASTERN_ARABIC = "\u0627\u0628 \u06f4\u06f5\u06f6";

    NumericShaper ns = getContextualShaper(ARABIC);
    checkResult("ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC));
    checkResult("Range.ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EASTERN_ARABIC);
    checkResult("EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.EASTERN_ARABIC));
    checkResult("Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(ARABIC | EASTERN_ARABIC);
    checkResult("ARABIC | EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC, Range.EASTERN_ARABIC));
    checkResult("Range.ARABIC, Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);
}
 
Example 19
Project: TencentKona-8   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}
 
Example 20
Project: TencentKona-8   File: EqualsTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static void main(String[] args) {
    NumericShaper ns1 = getContextualShaper(ARABIC | TAMIL, TAMIL);
    NumericShaper ns2 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns3 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns4 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.ARABIC);

    if (!ns1.equals(ns2)) {
        throw new RuntimeException("ns1 != ns2: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns1)) {
        throw new RuntimeException("ns2 != ns1: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns3)) {
        throw new RuntimeException("ns2 != ns3: ns2=" + ns2 + ", ns3=" + ns3);
    }
    if (ns1.equals(ns4)) {
        throw new RuntimeException("ns1 == ns4: ns1=" + ns1 + ", ns4=" + ns4);
    }
    if (ns2.equals(ns4)) {
        throw new RuntimeException("ns2 == ns4: ns2=" + ns2 + ", ns4=" + ns4);
    }
}
 
Example 21
Project: jdk8u_jdk   File: AttributeValues.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static NumericShaper getNumericShaping(Map<?, ?> map) {
    if (map != null) {
        if (map instanceof AttributeMap &&
            ((AttributeMap) map).getValues() != null) {
            return ((AttributeMap)map).getValues().numericShaping;
        }
        Object obj = map.get(TextAttribute.NUMERIC_SHAPING);
        if (obj != null && obj instanceof NumericShaper) {
            return (NumericShaper)obj;
        }
    }
    return DEFAULT.numericShaping;
}
 
Example 22
Project: openjdk-8   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6943963() {
    // Needed to reproduce this bug.
    NumericShaper ns_dummy = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    char[] c = "\u1200 1".toCharArray();
    ns_dummy.shape(c, 0, c.length);


    String given = "\u0627\u0628 456";
    String expected_ARABIC = "\u0627\u0628 \u0664\u0665\u0666";
    String expected_EASTERN_ARABIC = "\u0627\u0628 \u06f4\u06f5\u06f6";

    NumericShaper ns = getContextualShaper(ARABIC);
    checkResult("ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC));
    checkResult("Range.ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EASTERN_ARABIC);
    checkResult("EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.EASTERN_ARABIC));
    checkResult("Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(ARABIC | EASTERN_ARABIC);
    checkResult("ARABIC | EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC, Range.EASTERN_ARABIC));
    checkResult("Range.ARABIC, Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);
}
 
Example 23
Project: jdk8u60   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}
 
Example 24
Project: jdk8u60   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6903266() {
    NumericShaper ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_HORA));
    String given = "\u1a20 012";
    String expected = "\u1a20 \u1a80\u1a81\u1a82";
    checkResult("Range.TAI_THAM_HORA", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_HORA,
                                        Range.TAI_THAM_THAM));
    given = "\u1a20 012";
    expected = "\u1a20 \u1a90\u1a91\u1a92"; // Tham digits are prioritized.
    checkResult("Range.TAI_THAM_HORA, Range.TAI_THAM_THAM", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.JAVANESE));
    given = "\ua984 012";
    expected = "\ua984 \ua9d0\ua9d1\ua9d2";
    checkResult("Range.JAVANESE", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_THAM));
    given = "\u1a20 012";
    expected = "\u1a20 \u1a90\u1a91\u1a92";
    checkResult("Range.TAI_THAM_THAM", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.MEETEI_MAYEK));
    given = "\uabc0 012";
    expected = "\uabc0 \uabf0\uabf1\uabf2";
    checkResult("Range.MEETEI_MAYEK", ns, given, expected);
}
 
Example 25
Project: openjdk-8-source   File: EqualsTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static void main(String[] args) {
    NumericShaper ns1 = getContextualShaper(ARABIC | TAMIL, TAMIL);
    NumericShaper ns2 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns3 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns4 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.ARABIC);

    if (!ns1.equals(ns2)) {
        throw new RuntimeException("ns1 != ns2: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns1)) {
        throw new RuntimeException("ns2 != ns1: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns3)) {
        throw new RuntimeException("ns2 != ns3: ns2=" + ns2 + ", ns3=" + ns3);
    }
    if (ns1.equals(ns4)) {
        throw new RuntimeException("ns1 == ns4: ns1=" + ns1 + ", ns4=" + ns4);
    }
    if (ns2.equals(ns4)) {
        throw new RuntimeException("ns2 == ns4: ns2=" + ns2 + ", ns4=" + ns4);
    }
}
 
Example 26
Project: openjdk-8   File: AttributeValues.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static NumericShaper getNumericShaping(Map<?, ?> map) {
    if (map != null) {
        if (map instanceof AttributeMap &&
            ((AttributeMap) map).getValues() != null) {
            return ((AttributeMap)map).getValues().numericShaping;
        }
        Object obj = map.get(TextAttribute.NUMERIC_SHAPING);
        if (obj != null && obj instanceof NumericShaper) {
            return (NumericShaper)obj;
        }
    }
    return DEFAULT.numericShaping;
}
 
Example 27
Project: hottub   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}
 
Example 28
Project: openjdk-8-source   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6943963() {
    // Needed to reproduce this bug.
    NumericShaper ns_dummy = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    char[] c = "\u1200 1".toCharArray();
    ns_dummy.shape(c, 0, c.length);


    String given = "\u0627\u0628 456";
    String expected_ARABIC = "\u0627\u0628 \u0664\u0665\u0666";
    String expected_EASTERN_ARABIC = "\u0627\u0628 \u06f4\u06f5\u06f6";

    NumericShaper ns = getContextualShaper(ARABIC);
    checkResult("ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC));
    checkResult("Range.ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EASTERN_ARABIC);
    checkResult("EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.EASTERN_ARABIC));
    checkResult("Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(ARABIC | EASTERN_ARABIC);
    checkResult("ARABIC | EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC, Range.EASTERN_ARABIC));
    checkResult("Range.ARABIC, Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);
}
 
Example 29
Project: jdk8u_jdk   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6943963() {
    // Needed to reproduce this bug.
    NumericShaper ns_dummy = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    char[] c = "\u1200 1".toCharArray();
    ns_dummy.shape(c, 0, c.length);


    String given = "\u0627\u0628 456";
    String expected_ARABIC = "\u0627\u0628 \u0664\u0665\u0666";
    String expected_EASTERN_ARABIC = "\u0627\u0628 \u06f4\u06f5\u06f6";

    NumericShaper ns = getContextualShaper(ARABIC);
    checkResult("ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC));
    checkResult("Range.ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EASTERN_ARABIC);
    checkResult("EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.EASTERN_ARABIC));
    checkResult("Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(ARABIC | EASTERN_ARABIC);
    checkResult("ARABIC | EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC, Range.EASTERN_ARABIC));
    checkResult("Range.ARABIC, Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);
}
 
Example 30
Project: jdk8u-dev-jdk   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}
 
Example 31
Project: openjdk-jdk8u   File: EqualsTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static void main(String[] args) {
    NumericShaper ns1 = getContextualShaper(ARABIC | TAMIL, TAMIL);
    NumericShaper ns2 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns3 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns4 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.ARABIC);

    if (!ns1.equals(ns2)) {
        throw new RuntimeException("ns1 != ns2: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns1)) {
        throw new RuntimeException("ns2 != ns1: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns3)) {
        throw new RuntimeException("ns2 != ns3: ns2=" + ns2 + ", ns3=" + ns3);
    }
    if (ns1.equals(ns4)) {
        throw new RuntimeException("ns1 == ns4: ns1=" + ns1 + ", ns4=" + ns4);
    }
    if (ns2.equals(ns4)) {
        throw new RuntimeException("ns2 == ns4: ns2=" + ns2 + ", ns4=" + ns4);
    }
}
 
Example 32
Project: openjdk-8   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}
 
Example 33
Project: openjdk-jdk8u-backup   File: AttributeValues.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static NumericShaper getNumericShaping(Map<?, ?> map) {
    if (map != null) {
        if (map instanceof AttributeMap &&
            ((AttributeMap) map).getValues() != null) {
            return ((AttributeMap)map).getValues().numericShaping;
        }
        Object obj = map.get(TextAttribute.NUMERIC_SHAPING);
        if (obj != null && obj instanceof NumericShaper) {
            return (NumericShaper)obj;
        }
    }
    return DEFAULT.numericShaping;
}
 
Example 34
Project: jdk8u_jdk   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}
 
Example 35
Project: openjdk-jdk8u-backup   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6943963() {
    // Needed to reproduce this bug.
    NumericShaper ns_dummy = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    char[] c = "\u1200 1".toCharArray();
    ns_dummy.shape(c, 0, c.length);


    String given = "\u0627\u0628 456";
    String expected_ARABIC = "\u0627\u0628 \u0664\u0665\u0666";
    String expected_EASTERN_ARABIC = "\u0627\u0628 \u06f4\u06f5\u06f6";

    NumericShaper ns = getContextualShaper(ARABIC);
    checkResult("ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC));
    checkResult("Range.ARABIC", ns, given, expected_ARABIC);

    ns = getContextualShaper(EASTERN_ARABIC);
    checkResult("EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.EASTERN_ARABIC));
    checkResult("Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(ARABIC | EASTERN_ARABIC);
    checkResult("ARABIC | EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);

    ns = getContextualShaper(EnumSet.of(Range.ARABIC, Range.EASTERN_ARABIC));
    checkResult("Range.ARABIC, Range.EASTERN_ARABIC", ns, given, expected_EASTERN_ARABIC);
}
 
Example 36
Project: openjdk-jdk8u-backup   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6903266() {
    NumericShaper ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_HORA));
    String given = "\u1a20 012";
    String expected = "\u1a20 \u1a80\u1a81\u1a82";
    checkResult("Range.TAI_THAM_HORA", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_HORA,
                                        Range.TAI_THAM_THAM));
    given = "\u1a20 012";
    expected = "\u1a20 \u1a90\u1a91\u1a92"; // Tham digits are prioritized.
    checkResult("Range.TAI_THAM_HORA, Range.TAI_THAM_THAM", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.JAVANESE));
    given = "\ua984 012";
    expected = "\ua984 \ua9d0\ua9d1\ua9d2";
    checkResult("Range.JAVANESE", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.TAI_THAM_THAM));
    given = "\u1a20 012";
    expected = "\u1a20 \u1a90\u1a91\u1a92";
    checkResult("Range.TAI_THAM_THAM", ns, given, expected);

    ns = getContextualShaper(EnumSet.of(Range.MEETEI_MAYEK));
    given = "\uabc0 012";
    expected = "\uabc0 \uabf0\uabf1\uabf2";
    checkResult("Range.MEETEI_MAYEK", ns, given, expected);
}
 
Example 37
Project: jdk-1.7-annotated   File: TextLayout.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Initialize the paragraph-specific data.
 */
private void paragraphInit(byte aBaseline, CoreMetrics lm, Map paragraphAttrs, char[] text) {

    baseline = aBaseline;

    // normalize to current baseline
    baselineOffsets = TextLine.getNormalizedOffsets(lm.baselineOffsets, baseline);

    justifyRatio = AttributeValues.getJustification(paragraphAttrs);
    NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
    if (shaper != null) {
        shaper.shape(text, 0, text.length);
    }
}
 
Example 38
Project: Bytecoder   File: AttributeValues.java    License: Apache License 2.0 5 votes vote down vote up
public static NumericShaper getNumericShaping(Map<?, ?> map) {
    if (map != null) {
        if (map instanceof AttributeMap &&
            ((AttributeMap) map).getValues() != null) {
            return ((AttributeMap)map).getValues().numericShaping;
        }
        Object obj = map.get(TextAttribute.NUMERIC_SHAPING);
        if (obj != null && obj instanceof NumericShaper) {
            return (NumericShaper)obj;
        }
    }
    return DEFAULT.numericShaping;
}
 
Example 39
Project: jdk8u_jdk   File: EqualsTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
public static void main(String[] args) {
    NumericShaper ns1 = getContextualShaper(ARABIC | TAMIL, TAMIL);
    NumericShaper ns2 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns3 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.TAMIL);
    NumericShaper ns4 = getContextualShaper(
                            EnumSet.of(Range.ARABIC, Range.TAMIL),
                            Range.ARABIC);

    if (!ns1.equals(ns2)) {
        throw new RuntimeException("ns1 != ns2: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns1)) {
        throw new RuntimeException("ns2 != ns1: ns1=" + ns1 + ", ns2=" + ns2);
    }
    if (!ns2.equals(ns3)) {
        throw new RuntimeException("ns2 != ns3: ns2=" + ns2 + ", ns3=" + ns3);
    }
    if (ns1.equals(ns4)) {
        throw new RuntimeException("ns1 == ns4: ns1=" + ns1 + ", ns4=" + ns4);
    }
    if (ns2.equals(ns4)) {
        throw new RuntimeException("ns2 == ns4: ns2=" + ns2 + ", ns4=" + ns4);
    }
}
 
Example 40
Project: openjdk-jdk9   File: ShapingTest.java    License: GNU General Public License v2.0 5 votes vote down vote up
private static void test6842557() {
    NumericShaper ns_old = getContextualShaper(ARABIC | TAMIL | ETHIOPIC,
                               EUROPEAN);
    NumericShaper ns_new = getContextualShaper(EnumSet.of(
                               Range.ARABIC, Range.TAMIL, Range.ETHIOPIC),
                               Range.EUROPEAN);

    String[][] data = {
       // Arabic "October 10"
      {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
       "\u0623\u0643\u062a\u0648\u0628\u0631 \u0661\u0660"},

       // Tamil "Year 2009"
      {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
       "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
       // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
       //  included in Unicode 4.0.0.

       // Ethiopic "Syllable<HA> 2009"
      {"\u1200 2009",
       "\u1200 \u136a00\u1371"},
       // Ethiopic zero doesn't exist even in Unicode 5.1.0.
    };

    for (int i = 0; i < data.length; i++) {
        checkResult("ARABIC | TAMIL | ETHIOPIC",
                    ns_old, data[i][0], data[i][1]);

        checkResult("Range.ARABIC, Range.TAMIL, Range.ETHIOPIC",
                    ns_new, data[i][0], data[i][1]);
    }
}