diff options
author | Glenn Adams <gadams@apache.org> | 2016-03-03 09:49:26 +0000 |
---|---|---|
committer | Glenn Adams <gadams@apache.org> | 2016-03-03 09:49:26 +0000 |
commit | c8cde713f54ca731f4a7f3bfaef8af9e8a1b9262 (patch) | |
tree | f553e13b28bd90fd2067bf390509f9290260d330 /test/java/org/apache/fop/complexscripts | |
parent | 82804d6ffcb68841cd7adf9740469f3a79c372c8 (diff) | |
download | xmlgraphics-fop-c8cde713f54ca731f4a7f3bfaef8af9e8a1b9262.tar.gz xmlgraphics-fop-c8cde713f54ca731f4a7f3bfaef8af9e8a1b9262.zip |
Transition source to standard maven hierarchy (initial).
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/maven@1733433 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/java/org/apache/fop/complexscripts')
661 files changed, 0 insertions, 12511 deletions
diff --git a/test/java/org/apache/fop/complexscripts/ComplexScriptsTestSuite.java b/test/java/org/apache/fop/complexscripts/ComplexScriptsTestSuite.java deleted file mode 100644 index 1dc0610b9..000000000 --- a/test/java/org/apache/fop/complexscripts/ComplexScriptsTestSuite.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -import org.apache.fop.complexscripts.bidi.BidiTestSuite; -import org.apache.fop.complexscripts.fonts.FontsTestSuite; -import org.apache.fop.complexscripts.scripts.ScriptsTestSuite; -import org.apache.fop.complexscripts.util.UtilTestSuite; - -/** - * Test suite for complex scripts functionality. - */ -@RunWith(Suite.class) -@SuiteClasses({ - BidiTestSuite.class, - FontsTestSuite.class, - ScriptsTestSuite.class, - UtilTestSuite.class -}) -public class ComplexScriptsTestSuite { -} diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java b/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java deleted file mode 100644 index 8ed1af217..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.bidi; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * <p>Test case for Unicode Bidi Algorithm.</p> - */ -public class BidiAlgorithmTestCase { - - /** - * logging instance - */ - private static final Log log = LogFactory.getLog(BidiAlgorithmTestCase.class); - - /** - * Concatenated array of <test-set,test-sequence> tuples - * specifying which sequences are to be excluded from testing, - * where -1 for either component is a wildcard. - */ - private static final int[] EXCLUSIONS = { - // no exclusions - }; - - /** - * Concatenated array of <test-set,test-sequence> tuples - * specifying which sequences are to be included in testing, where - * -1 for either component is a wildcard. - */ - private static final int[] INCLUSIONS = { - -1, -1 // all sequences - }; - - /** - * Concatenated array of <start,end> tuples expressing ranges of - * test sets to be tested, where -1 in the end position signifies - * all remaining test sets. - */ - private static final int[] TEST_SET_RANGES = { - 0, -1 // all test sets - }; - - // instrumentation - private int includedSequences; - private int excludedSequences; - private int passedSequences; - - @Test - public void testBidiAlgorithm() throws Exception { - String ldPfx = BidiTestData.LD_PFX; - int ldCount = BidiTestData.LD_CNT; - for (int i = 0; i < ldCount; i++) { - int[] da = BidiTestData.readTestData(ldPfx, i); - if (da != null) { - testBidiAlgorithm(i, da); - } else { - fail("unable to read bidi test data for resource at index " + i); - } - } - // ensure we passed all test sequences - assertEquals("did not pass all test sequences", BidiTestData.NUM_TEST_SEQUENCES, passedSequences); - if (log.isDebugEnabled()) { - log.debug("Included Sequences : " + includedSequences); - log.debug("Excluded Sequences : " + excludedSequences); - log.debug("Passed Sequences : " + passedSequences); - } - } - - private void testBidiAlgorithm(int testSet, int[] da) throws Exception { - if (da.length < 1) { - fail("test data is empty"); - } else if (da.length < ((da[0] * 2) + 1)) { - fail("test data is truncated"); - } else { - int k = 0; - // extract level count - int n = da[k++]; - // extract level array - int[] la = new int [ n ]; - for (int i = 0; i < n; i++) { - la[i] = da[k++]; - } - // extract reorder array - int[] ra = new int [ n ]; - for (int i = 0; i < n; i++) { - ra[i] = da[k++]; - } - // extract and test each test sequence - int testSequence = 0; - int[] ta = new int [ n ]; - while ((k + (1 + n)) <= da.length) { - int bs = da[k++]; - for (int i = 0; i < n; i++) { - ta[i] = da[k++]; - } - if (includeSequence(testSet, testSequence)) { - includedSequences++; - if (!excludeSequence(testSet, testSequence)) { - if (testBidiAlgorithm(testSet, testSequence, la, ra, ta, bs)) { - passedSequences++; - } - } else { - excludedSequences++; - } - } - testSequence++; - } - // ensure we exhausted test data - assertEquals("extraneous test data", da.length, k); - } - } - - private boolean includeTestSet(int testSet) { - for (int i = 0, n = TEST_SET_RANGES.length / 2; i < n; i++) { - int s = TEST_SET_RANGES [ (i * 2) + 0 ]; - int e = TEST_SET_RANGES [ (i * 2) + 1 ]; - if (testSet >= s) { - if ((e < 0) || (testSet <= e)) { - return true; - } - } - } - return false; - } - - private boolean includeSequence(int testSet, int testSequence) { - if (!includeTestSet(testSet)) { - return false; - } else { - for (int i = 0, n = INCLUSIONS.length / 2; i < n; i++) { - int setno = INCLUSIONS [ (i * 2) + 0 ]; - int seqno = INCLUSIONS [ (i * 2) + 1 ]; - if (setno < 0) { - if (seqno < 0) { - return true; - } else if (seqno == testSequence) { - return true; - } - } else if (setno == testSet) { - if (seqno < 0) { - return true; - } else if (seqno == testSequence) { - return true; - } - } - } - return false; - } - } - - private boolean excludeSequence(int testSet, int testSequence) { - for (int i = 0, n = EXCLUSIONS.length / 2; i < n; i++) { - int setno = EXCLUSIONS [ (i * 2) + 0 ]; - int seqno = EXCLUSIONS [ (i * 2) + 1 ]; - if (setno < 0) { - if (seqno < 0) { - return true; - } else if (seqno == testSequence) { - return true; - } - } else if (setno == testSet) { - if (seqno < 0) { - return true; - } else if (seqno == testSequence) { - return true; - } - } - } - return false; - } - - private boolean testBidiAlgorithm(int testSet, int testSequence, int[] la, int[] ra, int[] ta, int bs) - throws Exception { - boolean passed = true; - int n = la.length; - if (ra.length != n) { - fail("bad reorder array length, expected " + n + ", got " + ra.length); - } else if (ta.length != n) { - fail("bad test array length, expected " + n + ", got " + ta.length); - } else { - // auto-LTR - if ((bs & 1) != 0) { - // auto-LTR is performed at higher level - } - // LTR - if ((bs & 2) != 0) { - int[] levels = UnicodeBidiAlgorithm.resolveLevels(null, ta, 0, new int [ n ], true); - if (!verifyResults(la, levels, ta, 0, testSet, testSequence)) { - passed = false; - } - } - // RTL - if ((bs & 4) != 0) { - int[] levels = UnicodeBidiAlgorithm.resolveLevels(null, ta, 1, new int [ n ], true); - if (!verifyResults(la, levels, ta, 1, testSet, testSequence)) { - passed = false; - } - } - } - return passed; - } - - private boolean verifyResults(int[] laExp, int[] laOut, int[] ta, int dl, int testSet, int testSequence) { - if (laOut.length != laExp.length) { - fail("output levels array length mismatch, expected " + laExp.length + ", got " + laOut.length); - return false; - } else { - int numMatch = 0; - for (int i = 0, n = laExp.length; i < n; i++) { - if (laExp[i] >= 0) { - int lo = laOut[i]; - int le = laExp[i]; - if (lo != le) { - assertEquals(getMismatchMessage(testSet, testSequence, i, dl), le, lo); - } else { - numMatch++; - } - } else { - numMatch++; - } - } - return numMatch == laExp.length; - } - } - - private String getMismatchMessage(int testSet, int testSequence, int seqIndex, int defaultLevel) { - StringBuffer sb = new StringBuffer(); - sb.append("level mismatch for default level "); - sb.append(defaultLevel); - sb.append(" at sequence index "); - sb.append(seqIndex); - sb.append(" in test sequence "); - sb.append(testSequence); - sb.append(" of test set "); - sb.append(testSet); - return sb.toString(); - } - -} diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java b/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java deleted file mode 100644 index f393e5b70..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.bidi; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import org.apache.fop.util.CharUtilities; - -public class BidiClassTestCase { - - @Test - public void testBidiClasses() throws Exception { - String tdPfx = BidiTestData.TD_PFX; - int tdCount = BidiTestData.TD_CNT; - for (int i = 0; i < tdCount; i++) { - int[] da = BidiTestData.readTestData(tdPfx, i); - if (da != null) { - testBidiClass(da); - } else { - fail("unable to read bidi test data for resource at index " + i); - } - } - } - - private void testBidiClass(int[] da) throws Exception { - int bc = da[0]; - for (int i = 1, n = da.length; i < n; i += 2) { - int s = da[i + 0]; - int e = da[i + 1]; - for (int c = s; c < e; c++) { - int cbc = BidiClass.getBidiClass(c); - assertEquals("bad bidi class for CH(" + CharUtilities.format(c) + ")", bc, cbc); - } - } - } - -} diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.ser Binary files differdeleted file mode 100644 index 6eccb4b6f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser Binary files differdeleted file mode 100644 index 8a7a802d2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser Binary files differdeleted file mode 100644 index 74a52f212..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser Binary files differdeleted file mode 100644 index 4058da121..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser Binary files differdeleted file mode 100644 index 321ed2682..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser Binary files differdeleted file mode 100644 index f5e3973dd..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser Binary files differdeleted file mode 100644 index 0235952c9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser Binary files differdeleted file mode 100644 index 00d9ff6b4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser Binary files differdeleted file mode 100644 index b924c8d19..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser Binary files differdeleted file mode 100644 index 2cdabbf17..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser Binary files differdeleted file mode 100644 index 24e41ceab..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser Binary files differdeleted file mode 100644 index 8c9d014f2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser Binary files differdeleted file mode 100644 index fc2fc255e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser Binary files differdeleted file mode 100644 index 2a40fe758..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser Binary files differdeleted file mode 100644 index 89ef3a341..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser Binary files differdeleted file mode 100644 index 0691f5f96..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser Binary files differdeleted file mode 100644 index c3bd6103e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser Binary files differdeleted file mode 100644 index 54d27e213..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser Binary files differdeleted file mode 100644 index 0ba52993a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser Binary files differdeleted file mode 100644 index 0b95e6283..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser Binary files differdeleted file mode 100644 index ca1111447..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser Binary files differdeleted file mode 100644 index fbce0f949..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser Binary files differdeleted file mode 100644 index c7bee5162..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser Binary files differdeleted file mode 100644 index 83ad166ef..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser Binary files differdeleted file mode 100644 index 81ff5dcbd..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser Binary files differdeleted file mode 100644 index 2a84369ef..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser Binary files differdeleted file mode 100644 index 3c3f08edf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser Binary files differdeleted file mode 100644 index 81a342bc0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser Binary files differdeleted file mode 100644 index f2fdba316..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser Binary files differdeleted file mode 100644 index 5bebb054f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser Binary files differdeleted file mode 100644 index 1292a8a01..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser Binary files differdeleted file mode 100644 index f7c910fb0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser Binary files differdeleted file mode 100644 index bb2d2353a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser Binary files differdeleted file mode 100644 index 4ef886527..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser Binary files differdeleted file mode 100644 index 7538307f8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser Binary files differdeleted file mode 100644 index 5a81f8f76..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser Binary files differdeleted file mode 100644 index dfa56bb42..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser Binary files differdeleted file mode 100644 index 04c0e6b02..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser Binary files differdeleted file mode 100644 index 5389ec53c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser Binary files differdeleted file mode 100644 index 6ec49f1c7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser Binary files differdeleted file mode 100644 index 381b6b741..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser Binary files differdeleted file mode 100644 index e991a278f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser Binary files differdeleted file mode 100644 index 84eb27fa3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser Binary files differdeleted file mode 100644 index 3e3ceb4f0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser Binary files differdeleted file mode 100644 index 52f01ebbf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser Binary files differdeleted file mode 100644 index 54a66ac43..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser Binary files differdeleted file mode 100644 index 5bad9fe23..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser Binary files differdeleted file mode 100644 index 7e58aea97..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser Binary files differdeleted file mode 100644 index 60811580c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser Binary files differdeleted file mode 100644 index bfa39bf75..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser Binary files differdeleted file mode 100644 index 5df598aa7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser Binary files differdeleted file mode 100644 index f46f6a289..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser Binary files differdeleted file mode 100644 index 825930ea8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser Binary files differdeleted file mode 100644 index 3d2efe600..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser Binary files differdeleted file mode 100644 index 5e3667df8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser Binary files differdeleted file mode 100644 index 4a04343a5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser Binary files differdeleted file mode 100644 index 85260e0f8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser Binary files differdeleted file mode 100644 index c1cb2878d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser Binary files differdeleted file mode 100644 index ab5dd0c00..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser Binary files differdeleted file mode 100644 index df304a84b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser Binary files differdeleted file mode 100644 index 887699163..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser Binary files differdeleted file mode 100644 index fa70ead76..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser Binary files differdeleted file mode 100644 index 73402d898..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser Binary files differdeleted file mode 100644 index c611d952e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser Binary files differdeleted file mode 100644 index a5a70cf81..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser Binary files differdeleted file mode 100644 index 736576c15..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser Binary files differdeleted file mode 100644 index 4667a5a4a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser Binary files differdeleted file mode 100644 index 9a07236c3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser Binary files differdeleted file mode 100644 index 6a8e667fb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser Binary files differdeleted file mode 100644 index abfeac3ec..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser Binary files differdeleted file mode 100644 index 1b225c825..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser Binary files differdeleted file mode 100644 index 36aab1fd1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser Binary files differdeleted file mode 100644 index 77a744263..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser Binary files differdeleted file mode 100644 index 6f340e971..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser Binary files differdeleted file mode 100644 index 92ab48e50..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser Binary files differdeleted file mode 100644 index 412885433..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser Binary files differdeleted file mode 100644 index 3b4b83607..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser Binary files differdeleted file mode 100644 index 3e04f60f7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser Binary files differdeleted file mode 100644 index 5e58d00f8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser Binary files differdeleted file mode 100644 index 290d0e5b4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser Binary files differdeleted file mode 100644 index fb1f6b7ae..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser Binary files differdeleted file mode 100644 index 7ba80984d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser Binary files differdeleted file mode 100644 index 594645bdc..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser Binary files differdeleted file mode 100644 index 5d995d076..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser Binary files differdeleted file mode 100644 index e57c46d8e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser Binary files differdeleted file mode 100644 index ad4317529..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser Binary files differdeleted file mode 100644 index 52cdcd567..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser Binary files differdeleted file mode 100644 index e786ab17e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser Binary files differdeleted file mode 100644 index 2f9e41f08..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser Binary files differdeleted file mode 100644 index 94f739223..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser Binary files differdeleted file mode 100644 index 53073211e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser Binary files differdeleted file mode 100644 index 172498f80..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser Binary files differdeleted file mode 100644 index c5a9b434d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser Binary files differdeleted file mode 100644 index 1c98e34a4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser Binary files differdeleted file mode 100644 index 4e8c8e30c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser Binary files differdeleted file mode 100644 index 824fad23d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser Binary files differdeleted file mode 100644 index 969e34a37..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser Binary files differdeleted file mode 100644 index 0867d2e55..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser Binary files differdeleted file mode 100644 index dd052d7a1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser Binary files differdeleted file mode 100644 index d52c97d1d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser Binary files differdeleted file mode 100644 index 2bdb9dab4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser Binary files differdeleted file mode 100644 index 21128bf86..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser Binary files differdeleted file mode 100644 index d153d3442..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser Binary files differdeleted file mode 100644 index 5019d6fea..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser Binary files differdeleted file mode 100644 index e726e2651..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser Binary files differdeleted file mode 100644 index c37e1cdd0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser Binary files differdeleted file mode 100644 index 1ba7b2877..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser Binary files differdeleted file mode 100644 index 62215ed07..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser Binary files differdeleted file mode 100644 index 709279994..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser Binary files differdeleted file mode 100644 index 788ac372f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser Binary files differdeleted file mode 100644 index 9d4a14249..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser Binary files differdeleted file mode 100644 index 6cbb79535..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser Binary files differdeleted file mode 100644 index 05cf07859..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser Binary files differdeleted file mode 100644 index 9c10e367c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser Binary files differdeleted file mode 100644 index 583084f0b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser Binary files differdeleted file mode 100644 index d8ed032c6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser Binary files differdeleted file mode 100644 index 21e97fff0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser Binary files differdeleted file mode 100644 index 5e3e01293..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser Binary files differdeleted file mode 100644 index eba9874c5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser Binary files differdeleted file mode 100644 index 182c5fc35..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser Binary files differdeleted file mode 100644 index 47ed04ba6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser Binary files differdeleted file mode 100644 index b56f3ee7c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser Binary files differdeleted file mode 100644 index 302b20c39..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser Binary files differdeleted file mode 100644 index c97cbbe12..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser Binary files differdeleted file mode 100644 index e7eb886be..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser Binary files differdeleted file mode 100644 index 4da33f6c0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser Binary files differdeleted file mode 100644 index 46f29b71a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser Binary files differdeleted file mode 100644 index b84d2efaa..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser Binary files differdeleted file mode 100644 index 2d0995a6f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser Binary files differdeleted file mode 100644 index 66a505aae..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser Binary files differdeleted file mode 100644 index cbd99924e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser Binary files differdeleted file mode 100644 index 46b5315a0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser Binary files differdeleted file mode 100644 index 4afc67dbc..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser Binary files differdeleted file mode 100644 index 992177ded..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser Binary files differdeleted file mode 100644 index e75b1d344..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser Binary files differdeleted file mode 100644 index ca7478b6c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser Binary files differdeleted file mode 100644 index 3f754847c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser Binary files differdeleted file mode 100644 index 02efa8786..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser Binary files differdeleted file mode 100644 index 1897b09f8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser Binary files differdeleted file mode 100644 index cd24d1101..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser Binary files differdeleted file mode 100644 index aba011dba..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser Binary files differdeleted file mode 100644 index dad463960..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser Binary files differdeleted file mode 100644 index 6430967e4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser Binary files differdeleted file mode 100644 index 4f2bde014..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser Binary files differdeleted file mode 100644 index 7be09ec92..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser Binary files differdeleted file mode 100644 index 6ffa285db..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser Binary files differdeleted file mode 100644 index d6c532596..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser Binary files differdeleted file mode 100644 index 3519adb5e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser Binary files differdeleted file mode 100644 index 7540663aa..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser Binary files differdeleted file mode 100644 index 788e4c7e1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser Binary files differdeleted file mode 100644 index c36265614..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser Binary files differdeleted file mode 100644 index 772b72aef..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser Binary files differdeleted file mode 100644 index e5fa50b85..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser Binary files differdeleted file mode 100644 index 13fdb364c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser Binary files differdeleted file mode 100644 index c600524d6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser Binary files differdeleted file mode 100644 index 6043e0155..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser Binary files differdeleted file mode 100644 index 14250a315..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser Binary files differdeleted file mode 100644 index 209e8179e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser Binary files differdeleted file mode 100644 index bdbc02f69..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser Binary files differdeleted file mode 100644 index d3f40a8de..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser Binary files differdeleted file mode 100644 index 03b94bc76..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser Binary files differdeleted file mode 100644 index cb0321933..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser Binary files differdeleted file mode 100644 index 3cdc87c9c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser Binary files differdeleted file mode 100644 index 7c50f1284..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser Binary files differdeleted file mode 100644 index b04164e4c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser Binary files differdeleted file mode 100644 index bdce40f9c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser Binary files differdeleted file mode 100644 index e50ed7988..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser Binary files differdeleted file mode 100644 index 14ac62043..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser Binary files differdeleted file mode 100644 index c1b31fcce..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser Binary files differdeleted file mode 100644 index d96343972..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser Binary files differdeleted file mode 100644 index 7b3168b23..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser Binary files differdeleted file mode 100644 index 7f9b9056d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser Binary files differdeleted file mode 100644 index d5849ec9d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser Binary files differdeleted file mode 100644 index 00a2b4a0e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser Binary files differdeleted file mode 100644 index 5cc330f12..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser Binary files differdeleted file mode 100644 index 23e032ac9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser Binary files differdeleted file mode 100644 index 7ba16c21a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser Binary files differdeleted file mode 100644 index 334737ecd..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser Binary files differdeleted file mode 100644 index 26defabff..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser Binary files differdeleted file mode 100644 index 09dc4ca08..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser Binary files differdeleted file mode 100644 index 03cb82426..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser Binary files differdeleted file mode 100644 index 6d00960cf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser Binary files differdeleted file mode 100644 index 920e4c5b1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser Binary files differdeleted file mode 100644 index dbbee5d7f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser Binary files differdeleted file mode 100644 index 716661a75..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser Binary files differdeleted file mode 100644 index b418d9b9f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser Binary files differdeleted file mode 100644 index bc16ddcff..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser Binary files differdeleted file mode 100644 index a105347f0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser Binary files differdeleted file mode 100644 index f75552dc3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser Binary files differdeleted file mode 100644 index a3f6eab8f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser Binary files differdeleted file mode 100644 index 604170dcc..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser Binary files differdeleted file mode 100644 index 755d6cd60..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser Binary files differdeleted file mode 100644 index 9b29a7d1e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser Binary files differdeleted file mode 100644 index 5685e40b8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser Binary files differdeleted file mode 100644 index 49a7c0739..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser Binary files differdeleted file mode 100644 index 1697a421b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser Binary files differdeleted file mode 100644 index ea0d9adf1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser Binary files differdeleted file mode 100644 index 067dca228..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser Binary files differdeleted file mode 100644 index 9f9078678..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser Binary files differdeleted file mode 100644 index 9cd498c3c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser Binary files differdeleted file mode 100644 index c5c4c6ab0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser Binary files differdeleted file mode 100644 index 890ce30bb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser Binary files differdeleted file mode 100644 index fac475452..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser Binary files differdeleted file mode 100644 index 4711e4586..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser Binary files differdeleted file mode 100644 index 1fcea5dbf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser Binary files differdeleted file mode 100644 index bf2a0bcc5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser Binary files differdeleted file mode 100644 index 29a3c23d4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser Binary files differdeleted file mode 100644 index fea28c7d2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser Binary files differdeleted file mode 100644 index 48663053e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser Binary files differdeleted file mode 100644 index 43f440cf7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser Binary files differdeleted file mode 100644 index 385ac7184..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser Binary files differdeleted file mode 100644 index 8a032f261..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser Binary files differdeleted file mode 100644 index fdc27290b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser Binary files differdeleted file mode 100644 index 264c28e08..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser Binary files differdeleted file mode 100644 index daf236abf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser Binary files differdeleted file mode 100644 index 8f972bf5a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser Binary files differdeleted file mode 100644 index 647424ee0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser Binary files differdeleted file mode 100644 index 9e8b99773..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser Binary files differdeleted file mode 100644 index 486bcf475..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser Binary files differdeleted file mode 100644 index 856d72fd1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser Binary files differdeleted file mode 100644 index ce0b5bf4c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser Binary files differdeleted file mode 100644 index cad0d5049..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser Binary files differdeleted file mode 100644 index b14aa4597..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser Binary files differdeleted file mode 100644 index 6657a3593..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser Binary files differdeleted file mode 100644 index b30faf809..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser Binary files differdeleted file mode 100644 index 4baca2704..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser Binary files differdeleted file mode 100644 index 630a13467..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser Binary files differdeleted file mode 100644 index 0f8e3d7d8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser Binary files differdeleted file mode 100644 index 42a05ced7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser Binary files differdeleted file mode 100644 index 13ba94a7e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser Binary files differdeleted file mode 100644 index e5a3a925e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser Binary files differdeleted file mode 100644 index 1ada57413..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser Binary files differdeleted file mode 100644 index a14a0bebf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser Binary files differdeleted file mode 100644 index c66ae933f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser Binary files differdeleted file mode 100644 index fd1e62ca8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser Binary files differdeleted file mode 100644 index 4914c3b65..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser Binary files differdeleted file mode 100644 index e8aad8cad..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser Binary files differdeleted file mode 100644 index 0d8f4cf1e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser Binary files differdeleted file mode 100644 index 54d856156..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser Binary files differdeleted file mode 100644 index 5bd0e8286..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser Binary files differdeleted file mode 100644 index 37a4d8c68..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser Binary files differdeleted file mode 100644 index a16a7b8f9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser Binary files differdeleted file mode 100644 index 6e5747ed9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser Binary files differdeleted file mode 100644 index 3ee6650ed..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser Binary files differdeleted file mode 100644 index 8c6f200a2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser Binary files differdeleted file mode 100644 index 4774611b5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser Binary files differdeleted file mode 100644 index 09332a05e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser Binary files differdeleted file mode 100644 index 88327e077..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser Binary files differdeleted file mode 100644 index 600eb2ac3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser Binary files differdeleted file mode 100644 index eed01d875..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser Binary files differdeleted file mode 100644 index cc2db9896..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser Binary files differdeleted file mode 100644 index d0ae70999..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser Binary files differdeleted file mode 100644 index eb2a30d19..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser Binary files differdeleted file mode 100644 index 5825c9571..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser Binary files differdeleted file mode 100644 index c1b927a19..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser Binary files differdeleted file mode 100644 index 5d7eb7f7e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser Binary files differdeleted file mode 100644 index a78094615..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser Binary files differdeleted file mode 100644 index efb28b562..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser Binary files differdeleted file mode 100644 index 686c66e20..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser Binary files differdeleted file mode 100644 index b210f7896..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser Binary files differdeleted file mode 100644 index da93f81fc..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser Binary files differdeleted file mode 100644 index 8a0f567f1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser Binary files differdeleted file mode 100644 index 622bdd1e1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser Binary files differdeleted file mode 100644 index 4baa13941..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser Binary files differdeleted file mode 100644 index 1d40b0818..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser Binary files differdeleted file mode 100644 index ef0b76e42..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser Binary files differdeleted file mode 100644 index bd0a0456f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser Binary files differdeleted file mode 100644 index 73ee20cbe..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser Binary files differdeleted file mode 100644 index 9e33d39e9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser Binary files differdeleted file mode 100644 index 6afa6bf7c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser Binary files differdeleted file mode 100644 index 84782b980..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser Binary files differdeleted file mode 100644 index fdde6d7a5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser Binary files differdeleted file mode 100644 index 2654a884a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser Binary files differdeleted file mode 100644 index b24a2a444..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser Binary files differdeleted file mode 100644 index 613d80bee..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser Binary files differdeleted file mode 100644 index df1df5fbf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser Binary files differdeleted file mode 100644 index 3f68bd344..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser Binary files differdeleted file mode 100644 index 361734a3c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser Binary files differdeleted file mode 100644 index 009e2419c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser Binary files differdeleted file mode 100644 index 7c142c3e3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser Binary files differdeleted file mode 100644 index 6e14a51a4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser Binary files differdeleted file mode 100644 index ed8f2450d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser Binary files differdeleted file mode 100644 index 80489aa41..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser Binary files differdeleted file mode 100644 index ede61bef1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser Binary files differdeleted file mode 100644 index e837ec5a6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser Binary files differdeleted file mode 100644 index 0dbeb4a18..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser Binary files differdeleted file mode 100644 index fdbc6a8f2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser Binary files differdeleted file mode 100644 index 47665da0c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser Binary files differdeleted file mode 100644 index aae718782..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser Binary files differdeleted file mode 100644 index 5bc6e4083..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser Binary files differdeleted file mode 100644 index 07d3b8d15..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser Binary files differdeleted file mode 100644 index 81af1c964..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser Binary files differdeleted file mode 100644 index 4abfa7c14..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser Binary files differdeleted file mode 100644 index aec3af860..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser Binary files differdeleted file mode 100644 index ac1eecb96..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser Binary files differdeleted file mode 100644 index 1f1367be6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser Binary files differdeleted file mode 100644 index 3cf337cda..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser Binary files differdeleted file mode 100644 index 19f7fd9e9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser Binary files differdeleted file mode 100644 index 8c92df043..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser Binary files differdeleted file mode 100644 index dad7f014b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser Binary files differdeleted file mode 100644 index b0022c672..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser Binary files differdeleted file mode 100644 index bfbb586fb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser Binary files differdeleted file mode 100644 index b435feea0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser Binary files differdeleted file mode 100644 index dafe64d04..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser Binary files differdeleted file mode 100644 index 973fcdc92..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser Binary files differdeleted file mode 100644 index a49d73cfe..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser Binary files differdeleted file mode 100644 index 892a50d1b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser Binary files differdeleted file mode 100644 index 0fa29c84b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser Binary files differdeleted file mode 100644 index a29b52179..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser Binary files differdeleted file mode 100644 index e7c2a5a36..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser Binary files differdeleted file mode 100644 index 0ec361014..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser Binary files differdeleted file mode 100644 index bca795879..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser Binary files differdeleted file mode 100644 index 49ca3d106..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser Binary files differdeleted file mode 100644 index 0a340e65e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser Binary files differdeleted file mode 100644 index 2e73aff87..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser Binary files differdeleted file mode 100644 index d3a437077..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser Binary files differdeleted file mode 100644 index 963e0a877..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser Binary files differdeleted file mode 100644 index 092300f46..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser Binary files differdeleted file mode 100644 index 0c4c00312..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser Binary files differdeleted file mode 100644 index 9abf70ed9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser Binary files differdeleted file mode 100644 index 7e518db09..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser Binary files differdeleted file mode 100644 index 797d08f9c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser Binary files differdeleted file mode 100644 index 672e36e4a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser Binary files differdeleted file mode 100644 index de9d5aadb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser Binary files differdeleted file mode 100644 index 44c076196..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser Binary files differdeleted file mode 100644 index 2706725f7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser Binary files differdeleted file mode 100644 index 1cc61a4ed..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser Binary files differdeleted file mode 100644 index 33305fe62..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser Binary files differdeleted file mode 100644 index 278fb38d7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser Binary files differdeleted file mode 100644 index 3d2ff817c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser Binary files differdeleted file mode 100644 index 45833bacc..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser Binary files differdeleted file mode 100644 index 54e88ffc0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser Binary files differdeleted file mode 100644 index 751b118a7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser Binary files differdeleted file mode 100644 index 4acd804ca..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser Binary files differdeleted file mode 100644 index c65761df1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser Binary files differdeleted file mode 100644 index d6759145b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser Binary files differdeleted file mode 100644 index 4c9b21368..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser Binary files differdeleted file mode 100644 index e3e6c6ec2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser Binary files differdeleted file mode 100644 index 92e5a6187..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser Binary files differdeleted file mode 100644 index 873595ead..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser Binary files differdeleted file mode 100644 index 1709012da..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser Binary files differdeleted file mode 100644 index 5ad6315e3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser Binary files differdeleted file mode 100644 index aa04c95e2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser Binary files differdeleted file mode 100644 index 12edd65ab..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser Binary files differdeleted file mode 100644 index 40290ec4c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser Binary files differdeleted file mode 100644 index b59671610..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser Binary files differdeleted file mode 100644 index 5d664e82c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser Binary files differdeleted file mode 100644 index 9c5866504..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser Binary files differdeleted file mode 100644 index 01fe69955..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser Binary files differdeleted file mode 100644 index b71d6c546..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser Binary files differdeleted file mode 100644 index 5ad3f0613..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser Binary files differdeleted file mode 100644 index b89491a41..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser Binary files differdeleted file mode 100644 index 289f9b48d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser Binary files differdeleted file mode 100644 index 24d1e1cbe..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser Binary files differdeleted file mode 100644 index 927349572..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser Binary files differdeleted file mode 100644 index 8208a5005..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser Binary files differdeleted file mode 100644 index 346fb131d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser Binary files differdeleted file mode 100644 index 28c0e15e1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser Binary files differdeleted file mode 100644 index 53d6b158d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser Binary files differdeleted file mode 100644 index c324000e4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser Binary files differdeleted file mode 100644 index d99423cbb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser Binary files differdeleted file mode 100644 index d78b800db..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser Binary files differdeleted file mode 100644 index eabb33cc3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser Binary files differdeleted file mode 100644 index 571728da3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser Binary files differdeleted file mode 100644 index 25d9cb0aa..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser Binary files differdeleted file mode 100644 index d493f3859..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser Binary files differdeleted file mode 100644 index 06b90d501..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser Binary files differdeleted file mode 100644 index 5b97f90ca..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser Binary files differdeleted file mode 100644 index 22b1b8d9b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser Binary files differdeleted file mode 100644 index db3749949..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser Binary files differdeleted file mode 100644 index 272364c6f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser Binary files differdeleted file mode 100644 index 078a31f84..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser Binary files differdeleted file mode 100644 index b4aaf015b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser Binary files differdeleted file mode 100644 index 52c01f7e9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser Binary files differdeleted file mode 100644 index 626e52df0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser Binary files differdeleted file mode 100644 index 2de03dae5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser Binary files differdeleted file mode 100644 index 041c1a4cf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser Binary files differdeleted file mode 100644 index c8da3b083..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser Binary files differdeleted file mode 100644 index 74f71d784..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser Binary files differdeleted file mode 100644 index d1321181b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser Binary files differdeleted file mode 100644 index bcf11b73c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser Binary files differdeleted file mode 100644 index a9ba2dea1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser Binary files differdeleted file mode 100644 index fe728d89c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser Binary files differdeleted file mode 100644 index 23d7eb22b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser Binary files differdeleted file mode 100644 index 58f06cbce..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser Binary files differdeleted file mode 100644 index bd56f8524..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser Binary files differdeleted file mode 100644 index 54d14da06..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser Binary files differdeleted file mode 100644 index ee6f83422..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser Binary files differdeleted file mode 100644 index f94d24f69..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser Binary files differdeleted file mode 100644 index feef36694..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser Binary files differdeleted file mode 100644 index 93720aeac..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser Binary files differdeleted file mode 100644 index d1a58aaa5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser Binary files differdeleted file mode 100644 index 11f0d14b3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser Binary files differdeleted file mode 100644 index 2aef6789e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser Binary files differdeleted file mode 100644 index e60e00a75..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser Binary files differdeleted file mode 100644 index e7ed6f17e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser Binary files differdeleted file mode 100644 index 49062bd27..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser Binary files differdeleted file mode 100644 index 5b4049240..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser Binary files differdeleted file mode 100644 index c051bb336..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser Binary files differdeleted file mode 100644 index bb781c485..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser Binary files differdeleted file mode 100644 index 289e7e587..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser Binary files differdeleted file mode 100644 index c4b5db34b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser Binary files differdeleted file mode 100644 index bacc29cf6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser Binary files differdeleted file mode 100644 index d791c7d59..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser Binary files differdeleted file mode 100644 index eac181fa5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser Binary files differdeleted file mode 100644 index 4d4c36621..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser Binary files differdeleted file mode 100644 index ab10d3c9d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser Binary files differdeleted file mode 100644 index ada0cfb53..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser Binary files differdeleted file mode 100644 index b2f924cb4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser Binary files differdeleted file mode 100644 index 4965ccab3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser Binary files differdeleted file mode 100644 index f04ae6182..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser Binary files differdeleted file mode 100644 index 27fc5e31f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser Binary files differdeleted file mode 100644 index dd2f2f73d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser Binary files differdeleted file mode 100644 index 868c0718f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser Binary files differdeleted file mode 100644 index 95ba064e9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser Binary files differdeleted file mode 100644 index ec1bcb735..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser Binary files differdeleted file mode 100644 index d4bfab753..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser Binary files differdeleted file mode 100644 index bf4de5393..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser Binary files differdeleted file mode 100644 index b01e493df..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser Binary files differdeleted file mode 100644 index 247977216..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser Binary files differdeleted file mode 100644 index 0a4655675..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser Binary files differdeleted file mode 100644 index 7847c8b34..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser Binary files differdeleted file mode 100644 index 6ac093714..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser Binary files differdeleted file mode 100644 index 1fb8a568a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser Binary files differdeleted file mode 100644 index 4f5ce8e37..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser Binary files differdeleted file mode 100644 index b9cf2310e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser Binary files differdeleted file mode 100644 index d8cc78a39..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser Binary files differdeleted file mode 100644 index 44438e065..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser Binary files differdeleted file mode 100644 index a6227255a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser Binary files differdeleted file mode 100644 index 415f6c049..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser Binary files differdeleted file mode 100644 index 8ea2f93ad..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser Binary files differdeleted file mode 100644 index ca7f77129..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser Binary files differdeleted file mode 100644 index 5aaf07824..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser Binary files differdeleted file mode 100644 index 655516191..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser Binary files differdeleted file mode 100644 index 3cc2d4a75..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser Binary files differdeleted file mode 100644 index 94f1d83fd..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser Binary files differdeleted file mode 100644 index 14b49f0a4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser Binary files differdeleted file mode 100644 index adb3d3737..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser Binary files differdeleted file mode 100644 index b2c4902eb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser Binary files differdeleted file mode 100644 index 8b28deac8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser Binary files differdeleted file mode 100644 index 5d238271b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser Binary files differdeleted file mode 100644 index ab8f4d6d1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser Binary files differdeleted file mode 100644 index 901e4173d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser Binary files differdeleted file mode 100644 index d6fd495bb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser Binary files differdeleted file mode 100644 index 52400b507..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser Binary files differdeleted file mode 100644 index 4d03b7211..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser Binary files differdeleted file mode 100644 index 975618522..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser Binary files differdeleted file mode 100644 index 33e7b0c7d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser Binary files differdeleted file mode 100644 index 8e101db57..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser Binary files differdeleted file mode 100644 index f8246c2d2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser Binary files differdeleted file mode 100644 index c8707cd48..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser Binary files differdeleted file mode 100644 index 41e6c694a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser Binary files differdeleted file mode 100644 index 595e24ff2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser Binary files differdeleted file mode 100644 index 731b47fd2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser Binary files differdeleted file mode 100644 index 8bf1d99fa..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser Binary files differdeleted file mode 100644 index bc63d7e97..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser Binary files differdeleted file mode 100644 index d7415c13a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser Binary files differdeleted file mode 100644 index e8d28148e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser Binary files differdeleted file mode 100644 index b94811af6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser Binary files differdeleted file mode 100644 index 91a3bd4ea..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser Binary files differdeleted file mode 100644 index 2e31b49d8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser Binary files differdeleted file mode 100644 index 2cef55911..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser Binary files differdeleted file mode 100644 index 84c1bdeb8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser Binary files differdeleted file mode 100644 index 431fe2dd8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser Binary files differdeleted file mode 100644 index 37c17f168..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser Binary files differdeleted file mode 100644 index 087847d57..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser Binary files differdeleted file mode 100644 index 8bd76318d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser Binary files differdeleted file mode 100644 index 318fc84a7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser Binary files differdeleted file mode 100644 index 5e853ec29..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser Binary files differdeleted file mode 100644 index e72f8d30e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser Binary files differdeleted file mode 100644 index cbd161b83..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser Binary files differdeleted file mode 100644 index a2c4ccff7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser Binary files differdeleted file mode 100644 index cbd7fa3b8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser Binary files differdeleted file mode 100644 index b876b1b27..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser Binary files differdeleted file mode 100644 index 64e50de82..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser Binary files differdeleted file mode 100644 index e5f094eeb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser Binary files differdeleted file mode 100644 index 537459e7f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser Binary files differdeleted file mode 100644 index 577b66158..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser Binary files differdeleted file mode 100644 index 4679568f4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser Binary files differdeleted file mode 100644 index 389261a05..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser Binary files differdeleted file mode 100644 index 635151fa9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser Binary files differdeleted file mode 100644 index 69e85f02b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser Binary files differdeleted file mode 100644 index c28ba450a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser Binary files differdeleted file mode 100644 index fe26705e5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser Binary files differdeleted file mode 100644 index 19595d9e3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser Binary files differdeleted file mode 100644 index 95e9836b4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser Binary files differdeleted file mode 100644 index d179f7c8c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser Binary files differdeleted file mode 100644 index 1b91641ad..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser Binary files differdeleted file mode 100644 index fc83f4562..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser Binary files differdeleted file mode 100644 index ea2af6364..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser Binary files differdeleted file mode 100644 index 0f76396bb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser Binary files differdeleted file mode 100644 index 143d5894a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser Binary files differdeleted file mode 100644 index 671cf26d1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser Binary files differdeleted file mode 100644 index 1a7fda27b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser Binary files differdeleted file mode 100644 index 5aee466d8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser Binary files differdeleted file mode 100644 index 37f124113..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser Binary files differdeleted file mode 100644 index 8bc00e144..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser Binary files differdeleted file mode 100644 index 9d9b9c119..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser Binary files differdeleted file mode 100644 index 88411a216..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser Binary files differdeleted file mode 100644 index f8324788b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser Binary files differdeleted file mode 100644 index 2d3118a56..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser Binary files differdeleted file mode 100644 index 51a8b7095..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser Binary files differdeleted file mode 100644 index e939d4754..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser Binary files differdeleted file mode 100644 index 61e5e3f3c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser Binary files differdeleted file mode 100644 index 496e6912a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser Binary files differdeleted file mode 100644 index 0fc2f1a23..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser Binary files differdeleted file mode 100644 index dc5183342..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser Binary files differdeleted file mode 100644 index de477db15..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser Binary files differdeleted file mode 100644 index 6a4e51c29..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser Binary files differdeleted file mode 100644 index fccb593ae..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser Binary files differdeleted file mode 100644 index 828b3a72e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser Binary files differdeleted file mode 100644 index 3b14d4a8f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser Binary files differdeleted file mode 100644 index 373392279..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser Binary files differdeleted file mode 100644 index a91b8512a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser Binary files differdeleted file mode 100644 index 639a7be49..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser Binary files differdeleted file mode 100644 index 68dd4089b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser Binary files differdeleted file mode 100644 index 2908e3f63..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser Binary files differdeleted file mode 100644 index 391e3e14a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser Binary files differdeleted file mode 100644 index 5bd9c1e71..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser Binary files differdeleted file mode 100644 index d4ecb3a88..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser Binary files differdeleted file mode 100644 index d68ca24ac..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser Binary files differdeleted file mode 100644 index 73cd97bf6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser Binary files differdeleted file mode 100644 index a6d766289..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser Binary files differdeleted file mode 100644 index d0af60722..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser Binary files differdeleted file mode 100644 index 231290df6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser Binary files differdeleted file mode 100644 index 21e85e747..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser Binary files differdeleted file mode 100644 index e99365766..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser Binary files differdeleted file mode 100644 index 4f844be2e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser Binary files differdeleted file mode 100644 index ccb6d70f1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser Binary files differdeleted file mode 100644 index aa3909601..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser Binary files differdeleted file mode 100644 index 5d1bb4981..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser Binary files differdeleted file mode 100644 index 64823ec47..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser Binary files differdeleted file mode 100644 index 09d6843e8..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser Binary files differdeleted file mode 100644 index 59f2572ad..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser Binary files differdeleted file mode 100644 index cb600cfca..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser Binary files differdeleted file mode 100644 index b1faa848b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser Binary files differdeleted file mode 100644 index 1e057fdf4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser Binary files differdeleted file mode 100644 index cdd3cbec1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser Binary files differdeleted file mode 100644 index 84eed41fe..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser Binary files differdeleted file mode 100644 index 7b91077fc..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser Binary files differdeleted file mode 100644 index 259194e4e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser Binary files differdeleted file mode 100644 index 0616c3c12..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser Binary files differdeleted file mode 100644 index 22430bd97..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser Binary files differdeleted file mode 100644 index b583a1a1b..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser Binary files differdeleted file mode 100644 index 841747bdf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser Binary files differdeleted file mode 100644 index 23521f3cd..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser Binary files differdeleted file mode 100644 index 168552d3c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser Binary files differdeleted file mode 100644 index c0da95a76..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser Binary files differdeleted file mode 100644 index 276e0ffed..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser Binary files differdeleted file mode 100644 index 363f4f695..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser Binary files differdeleted file mode 100644 index a0f6639ba..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser Binary files differdeleted file mode 100644 index cdc9eb94a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser Binary files differdeleted file mode 100644 index c6223a7ce..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser Binary files differdeleted file mode 100644 index 74f023e83..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser Binary files differdeleted file mode 100644 index 9755e4a3c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser Binary files differdeleted file mode 100644 index 986a332f3..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser Binary files differdeleted file mode 100644 index edc35abdc..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser Binary files differdeleted file mode 100644 index 6ed639c5e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser Binary files differdeleted file mode 100644 index d2c52eba1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser Binary files differdeleted file mode 100644 index f34830970..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser Binary files differdeleted file mode 100644 index 7cea4a6c6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser Binary files differdeleted file mode 100644 index e2c08df91..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser Binary files differdeleted file mode 100644 index 7a37cd019..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser Binary files differdeleted file mode 100644 index 85f679da2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser Binary files differdeleted file mode 100644 index 8f1d6966d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser Binary files differdeleted file mode 100644 index f82e37287..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser Binary files differdeleted file mode 100644 index f22902dd5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser Binary files differdeleted file mode 100644 index bb7f98e41..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser Binary files differdeleted file mode 100644 index d25cb04c7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser Binary files differdeleted file mode 100644 index 8ddaeb744..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser Binary files differdeleted file mode 100644 index b11de6c32..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser Binary files differdeleted file mode 100644 index 2b1ea8898..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser Binary files differdeleted file mode 100644 index 1d2ea017c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser Binary files differdeleted file mode 100644 index ae74ca063..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser Binary files differdeleted file mode 100644 index fed68df6e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser Binary files differdeleted file mode 100644 index 94b09c1e1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser Binary files differdeleted file mode 100644 index 0af062be1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser Binary files differdeleted file mode 100644 index bd93b288c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser Binary files differdeleted file mode 100644 index ea7a544bf..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser Binary files differdeleted file mode 100644 index c3510ec9e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser Binary files differdeleted file mode 100644 index c02164344..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser Binary files differdeleted file mode 100644 index 16cf973f2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser Binary files differdeleted file mode 100644 index f827db274..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser Binary files differdeleted file mode 100644 index c079752d6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser Binary files differdeleted file mode 100644 index 18d091c4a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser Binary files differdeleted file mode 100644 index 2628ac645..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser Binary files differdeleted file mode 100644 index e0a656874..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser Binary files differdeleted file mode 100644 index cd908264a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser Binary files differdeleted file mode 100644 index da9a56794..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser Binary files differdeleted file mode 100644 index 1eec94eeb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser Binary files differdeleted file mode 100644 index 1458485b6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser Binary files differdeleted file mode 100644 index 0bb894af9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser Binary files differdeleted file mode 100644 index 596af011c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser Binary files differdeleted file mode 100644 index adac3305c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser Binary files differdeleted file mode 100644 index 1440bb78a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser Binary files differdeleted file mode 100644 index 2a1091e9c..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser Binary files differdeleted file mode 100644 index a519dc078..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser Binary files differdeleted file mode 100644 index 533579a8f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser Binary files differdeleted file mode 100644 index cd8bea1c7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser Binary files differdeleted file mode 100644 index 16635b605..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser Binary files differdeleted file mode 100644 index 05616a937..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser Binary files differdeleted file mode 100644 index 44ce6375e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser Binary files differdeleted file mode 100644 index cfd698d7d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser Binary files differdeleted file mode 100644 index 415f1bf8e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser Binary files differdeleted file mode 100644 index 2fc94de93..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser Binary files differdeleted file mode 100644 index a7e226ec1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser Binary files differdeleted file mode 100644 index 573c8ce87..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser Binary files differdeleted file mode 100644 index e8df233a5..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser Binary files differdeleted file mode 100644 index abcad78d0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser Binary files differdeleted file mode 100644 index e702881e7..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser Binary files differdeleted file mode 100644 index 1b76a8499..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser Binary files differdeleted file mode 100644 index 13edb5406..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser Binary files differdeleted file mode 100644 index da2ee39ec..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser Binary files differdeleted file mode 100644 index 7f9f0a3fd..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser Binary files differdeleted file mode 100644 index 6cbe89840..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser Binary files differdeleted file mode 100644 index 423f92310..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser Binary files differdeleted file mode 100644 index 331ba261f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser Binary files differdeleted file mode 100644 index 0c4e54135..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser Binary files differdeleted file mode 100644 index 20afc295a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser Binary files differdeleted file mode 100644 index e801916f4..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser Binary files differdeleted file mode 100644 index 7fc398de9..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser Binary files differdeleted file mode 100644 index 5c7a0de21..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser Binary files differdeleted file mode 100644 index f7b1fbed1..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser Binary files differdeleted file mode 100644 index dc3634dec..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser Binary files differdeleted file mode 100644 index a3108b43e..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser Binary files differdeleted file mode 100644 index f561c2d2f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser Binary files differdeleted file mode 100644 index 1dc99e434..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser Binary files differdeleted file mode 100644 index e1b97d053..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser Binary files differdeleted file mode 100644 index 5600cbfa2..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser Binary files differdeleted file mode 100644 index fe4068c42..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser Binary files differdeleted file mode 100644 index 59ad5e462..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser Binary files differdeleted file mode 100644 index b11600cd0..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser Binary files differdeleted file mode 100644 index 5abc2b1b6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser Binary files differdeleted file mode 100644 index 37814223f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser Binary files differdeleted file mode 100644 index 58bb75a7f..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser Binary files differdeleted file mode 100644 index f905fc364..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser Binary files differdeleted file mode 100644 index 0c1e74beb..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser Binary files differdeleted file mode 100644 index 1032043be..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser Binary files differdeleted file mode 100644 index d0e34603a..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser Binary files differdeleted file mode 100644 index 4d47ada2d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser Binary files differdeleted file mode 100644 index eb522634d..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser +++ /dev/null diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java deleted file mode 100644 index 49a5c9455..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id: License.java 1039179 2010-11-25 21:04:09Z vhennebert $ */ - -package org.apache.fop.complexscripts.bidi; - -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; - - -/* - * !!! THIS IS A GENERATED FILE !!! - * If updates to the source are needed, then: - * - apply the necessary modifications to - * 'src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiTestData.java' - * - run 'ant codegen-unicode', which will generate a new BidiTestData.java - * in 'test/java/org/apache/fop/complexscripts/bidi' - * - commit BOTH changed files - */ - -/** Bidirectional test data. */ -public final class BidiTestData { - - private BidiTestData() { - } - - public static final String TD_PFX = "TD"; - public static final int TD_CNT = 19; - - public static final String LD_PFX = "LD"; - public static final int LD_CNT = 622; - - public static final int NUM_TEST_SEQUENCES = 216357; - - public static int[] readTestData(String prefix, int index) { - int[] data = null; - InputStream is = null; - Class btc = BidiTestData.class; - String name = btc.getSimpleName() + "$" + prefix + index + ".ser"; - try { - if ((is = btc.getResourceAsStream(name)) != null) { - ObjectInputStream ois = new ObjectInputStream(is); - data = (int[]) ois.readObject(); - ois.close(); - } - } catch (IOException e) { - data = null; - } catch (ClassNotFoundException e) { - data = null; - } finally { - if (is != null) { - try { is.close(); } catch (Exception e) { /* NOP */ } - } - } - return data; - } -} diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestSuite.java b/test/java/org/apache/fop/complexscripts/bidi/BidiTestSuite.java deleted file mode 100644 index 7a6a095c6..000000000 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestSuite.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.bidi; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -/** - * Test suite for bidirectional functionality. - */ -@RunWith(Suite.class) -@SuiteClasses({ - BidiClassTestCase.class, - BidiAlgorithmTestCase.class -}) -public class BidiTestSuite { -} diff --git a/test/java/org/apache/fop/complexscripts/fonts/FontsTestSuite.java b/test/java/org/apache/fop/complexscripts/fonts/FontsTestSuite.java deleted file mode 100644 index a7e4b0615..000000000 --- a/test/java/org/apache/fop/complexscripts/fonts/FontsTestSuite.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.fonts; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -import org.apache.fop.complexscripts.fonts.ttx.TTXFileTestCase; - -/** - * Test suite for fonts functionality related to complex scripts. - */ -@RunWith(Suite.class) -@SuiteClasses({ - TTXFileTestCase.class, - GDEFTestCase.class, - GSUBTestCase.class, - GPOSTestCase.class -}) -public class FontsTestSuite { -} diff --git a/test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java deleted file mode 100644 index f1512903c..000000000 --- a/test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java +++ /dev/null @@ -1,3170 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.fonts; - -import java.io.File; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.apache.fop.complexscripts.fonts.ttx.TTXFile; - -public class GDEFTestCase { - - private static String ttxFilesRoot = "test/resources/complexscripts"; - - private static String[][] ttxFonts = { - { "f0", "arab/ttx/arab-001.ttx" }, // simplified arabic - { "f1", "arab/ttx/arab-002.ttx" }, // traditional arabic - { "f2", "arab/ttx/arab-003.ttx" }, // lateef - { "f3", "arab/ttx/arab-004.ttx" }, // scheherazade - }; - - private static Object[][] ltGlyphClass = { - { GlyphDefinitionTable.GDEF_LOOKUP_TYPE_GLYPH_CLASS }, - // arab-001.ttx - { "f0", "lu0", - new String[][] { - { "a", "1" }, - { "aacute", "1" }, - { "acircumflex", "1" }, - { "acute", "1" }, - { "adieresis", "1" }, - { "ae", "1" }, - { "agrave", "1" }, - { "ain", "1" }, - { "ainfinal", "1" }, - { "aininitial", "1" }, - { "ainisolated", "1" }, - { "ainmedial", "1" }, - { "aleffinal", "1" }, - { "alefisolated", "1" }, - { "alefmaksura", "1" }, - { "alefmaksurafinal", "1" }, - { "alefmaksuraisolated", "1" }, - { "alefwasla", "1" }, - { "alefwaslafinal", "1" }, - { "alefwaslaisolated", "1" }, - { "alefwithfathatanfinal", "1" }, - { "alefwithfathatanisolated", "1" }, - { "alefwithhamzaabove", "1" }, - { "alefwithhamzaabovefinal", "1" }, - { "alefwithhamzaaboveisolated", "1" }, - { "alefwithhamzabelow", "1" }, - { "alefwithhamzabelowfinal", "1" }, - { "alefwithhamzabelowisolated", "1" }, - { "alefwithmaddaabove", "1" }, - { "alefwithmaddaabovefinal", "1" }, - { "alefwithmaddaaboveisolated", "1" }, - { "allahisolated", "2" }, - { "ampersand", "1" }, - { "arabicae", "1" }, - { "arabicalef", "1" }, - { "arabiccomma", "1" }, - { "arabicfivepointedstar", "1" }, - { "arabicindicdigiteight", "1" }, - { "arabicindicdigitfive", "1" }, - { "arabicindicdigitfour", "1" }, - { "arabicindicdigitnine", "1" }, - { "arabicindicdigitone", "1" }, - { "arabicindicdigitseven", "1" }, - { "arabicindicdigitsix", "1" }, - { "arabicindicdigitthree", "1" }, - { "arabicindicdigittwo", "1" }, - { "arabicindicdigitzero", "1" }, - { "arabickaf", "1" }, - { "arabicpercentsign", "1" }, - { "arabicquestionmark", "1" }, - { "arabicsemicolon", "1" }, - { "aring", "1" }, - { "asciicircum", "1" }, - { "asciitilde", "1" }, - { "asterisk", "1" }, - { "at", "1" }, - { "atilde", "1" }, - { "b", "1" }, - { "backslash", "1" }, - { "bar", "1" }, - { "beh", "1" }, - { "behisolated", "1" }, - { "behmedial", "1" }, - { "braceleft", "1" }, - { "braceright", "1" }, - { "bracketleft", "1" }, - { "bracketright", "1" }, - { "brokenbar", "1" }, - { "bullet", "1" }, - { "c", "1" }, - { "caron", "1" }, - { "ccedilla", "1" }, - { "cedilla", "1" }, - { "cent", "1" }, - { "circumflex", "1" }, - { "colon", "1" }, - { "comma", "1" }, - { "copyright", "1" }, - { "currency", "1" }, - { "d", "1" }, - { "dad", "1" }, - { "dadisolated", "1" }, - { "dadmedial", "1" }, - { "dagger", "1" }, - { "daggerdbl", "1" }, - { "dal", "1" }, - { "dalisolated", "1" }, - { "damma", "3" }, - { "dammahontatweel", "3" }, - { "dammaisolated", "3" }, - { "dammalow", "1" }, - { "dammaonhamza", "3" }, - { "dammatan", "3" }, - { "dammatanisolated", "3" }, - { "dammatanlow", "1" }, - { "dammatanonhamza", "3" }, - { "degree", "1" }, - { "delete", "1" }, - { "dieresis", "1" }, - { "divide", "1" }, - { "dollar", "1" }, - { "dotlessi", "1" }, - { "e", "1" }, - { "eacute", "1" }, - { "ecircumflex", "1" }, - { "edieresis", "1" }, - { "egrave", "1" }, - { "eight", "1" }, - { "ellipsis", "1" }, - { "endash", "1" }, - { "equal", "1" }, - { "eth", "1" }, - { "exclam", "1" }, - { "exclamdown", "1" }, - { "extendedarabicindicdigiteight", "1" }, - { "extendedarabicindicdigitfive", "1" }, - { "extendedarabicindicdigitfour", "1" }, - { "extendedarabicindicdigitnine", "1" }, - { "extendedarabicindicdigitone", "1" }, - { "extendedarabicindicdigitseven", "1" }, - { "extendedarabicindicdigitsix", "1" }, - { "extendedarabicindicdigitthree", "1" }, - { "extendedarabicindicdigittwo", "1" }, - { "extendedarabicindicdigitzero", "1" }, - { "f", "1" }, - { "farsiyeh", "1" }, - { "farsiyehfinal", "1" }, - { "farsiyehisolated", "1" }, - { "fatha", "3" }, - { "fathahontatweel", "3" }, - { "fathaisolated", "3" }, - { "fathalow", "1" }, - { "fathaonhamza", "3" }, - { "fathatan", "3" }, - { "fathatanisolated", "3" }, - { "fathatanlow", "1" }, - { "fathatanonhamza", "3" }, - { "fathatanontatweel", "1" }, - { "feh", "1" }, - { "fehinitial", "1" }, - { "fehisolated", "1" }, - { "fehmedial", "1" }, - { "five", "1" }, - { "florin", "1" }, - { "four", "1" }, - { "g", "1" }, - { "gaf", "1" }, - { "gaffinal", "1" }, - { "gafinitial", "1" }, - { "gafisolated", "1" }, - { "gafmedial", "1" }, - { "germandbls", "1" }, - { "ghain", "1" }, - { "ghainfinal", "1" }, - { "ghaininitial", "1" }, - { "ghainisolated", "1" }, - { "ghainmedial", "1" }, - { "glyph1", "1" }, - { "glyph2", "1" }, - { "glyph99", "1" }, - { "grave", "1" }, - { "greater", "1" }, - { "guillemotleft", "1" }, - { "guillemotright", "1" }, - { "guilsinglleft", "1" }, - { "guilsinglright", "1" }, - { "h", "1" }, - { "hah", "1" }, - { "hahfinal", "1" }, - { "hahisolated", "1" }, - { "hahmedial", "1" }, - { "hamza", "1" }, - { "hamzaisolated", "3" }, - { "heh", "1" }, - { "hehfinal", "1" }, - { "hehinitial", "1" }, - { "hehisolated", "1" }, - { "hehmedial", "1" }, - { "highhamza", "1" }, - { "hyphenminus", "1" }, - { "i", "1" }, - { "iacute", "1" }, - { "icircumflex", "1" }, - { "idieresis", "1" }, - { "igrave", "1" }, - { "j", "1" }, - { "jeem", "1" }, - { "jeemfinal", "1" }, - { "jeemisolated", "1" }, - { "jeemmedial", "1" }, - { "jeh", "1" }, - { "jehisolated", "1" }, - { "k", "1" }, - { "kafisolated", "1" }, - { "kafmedial", "1" }, - { "kasra", "3" }, - { "kasrahontatweel", "3" }, - { "kasraisolated", "3" }, - { "kasralow", "1" }, - { "kasratan", "3" }, - { "kasratanisolated", "3" }, - { "kasratanlow", "1" }, - { "keheh", "1" }, - { "kehehfinal", "1" }, - { "kehehinitial", "1" }, - { "kehehisolated", "1" }, - { "kehehmedial", "1" }, - { "khah", "1" }, - { "khahfinal", "1" }, - { "khahisolated", "1" }, - { "khahmedial", "1" }, - { "l", "1" }, - { "lam", "1" }, - { "lamisolated", "1" }, - { "lammedial", "1" }, - { "lamwithaleffinal", "2" }, - { "lamwithalefhamzaabovefinal", "2" }, - { "lamwithalefhamzaaboveisolatedd", "2" }, - { "lamwithalefhamzabelowfinal", "2" }, - { "lamwithalefhamzabelowisolated", "2" }, - { "lamwithalefisolated", "2" }, - { "lamwithalefmaddaabovefinal", "2" }, - { "lamwithalefmaddaaboveisolatedd", "2" }, - { "lamwithmeemwithjeeminitial", "1" }, - { "lefttoright", "1" }, - { "less", "1" }, - { "logicalnot", "1" }, - { "m", "1" }, - { "macron", "1" }, - { "meem", "1" }, - { "meemisolated", "1" }, - { "meemmedial", "1" }, - { "micro", "1" }, - { "multiply", "1" }, - { "n", "1" }, - { "nbspace", "1" }, - { "nine", "1" }, - { "noon", "1" }, - { "noonisolated", "1" }, - { "noonmedial", "1" }, - { "ntilde", "1" }, - { "numbersign", "1" }, - { "o", "1" }, - { "oacute", "1" }, - { "ocircumflex", "1" }, - { "odieresis", "1" }, - { "oe", "1" }, - { "ograve", "1" }, - { "one", "1" }, - { "onehalf", "1" }, - { "onequarter", "1" }, - { "onesuperior", "1" }, - { "ordfeminine", "1" }, - { "ordmasculine", "1" }, - { "ornateleftparenthesis", "1" }, - { "ornaterightparenthesis", "1" }, - { "oslash", "1" }, - { "otilde", "1" }, - { "p", "1" }, - { "paragraph", "1" }, - { "parenleft", "1" }, - { "parenright", "1" }, - { "peh", "1" }, - { "pehisolated", "1" }, - { "pehmedial", "1" }, - { "percent", "1" }, - { "period", "1" }, - { "periodcentered", "1" }, - { "perthousand", "1" }, - { "plus", "1" }, - { "plusminus", "1" }, - { "q", "1" }, - { "qaf", "1" }, - { "qafinitial", "1" }, - { "qafisolated", "1" }, - { "qafmedial", "1" }, - { "question", "1" }, - { "questiondown", "1" }, - { "quotedash", "1" }, - { "quotedbl", "1" }, - { "quotedblbase", "1" }, - { "quotedblleft", "1" }, - { "quotedblright", "1" }, - { "quoteleft", "1" }, - { "quoteright", "1" }, - { "quotesinglbase", "1" }, - { "quotesingle", "1" }, - { "r", "1" }, - { "rayaleflam", "2" }, - { "registered", "1" }, - { "reh", "1" }, - { "rehisolated", "1" }, - { "righttoleft", "1" }, - { "s", "1" }, - { "sad", "1" }, - { "sadisolated", "1" }, - { "sadmedial", "1" }, - { "scaron", "1" }, - { "section", "1" }, - { "seen", "1" }, - { "seenisolated", "1" }, - { "seenmedial", "1" }, - { "semicolon", "1" }, - { "seven", "1" }, - { "sfthyphen", "1" }, - { "shadda", "3" }, - { "shaddahontatweel", "3" }, - { "shaddaisolated", "3" }, - { "shaddalow", "1" }, - { "shaddawithdammaisolated", "3" }, - { "shaddawithdammalow", "3" }, - { "shaddawithdammamedial", "1" }, - { "shaddawithdammatanisolated", "1" }, - { "shaddawithdammatanlow", "3" }, - { "shaddawithfathaisolated", "3" }, - { "shaddawithfathalow", "3" }, - { "shaddawithfathamedial", "1" }, - { "shaddawithfathatanisolated", "1" }, - { "shaddawithfathatanlow", "3" }, - { "shaddawithkasraisolated", "3" }, - { "shaddawithkasralow", "3" }, - { "shaddawithkasramedial", "1" }, - { "shaddawithkasratanisolated", "1" }, - { "shaddawithkasratanlow", "3" }, - { "sheen", "1" }, - { "sheenisolated", "1" }, - { "sheenmedial", "1" }, - { "six", "1" }, - { "slash", "1" }, - { "smallhighmadda", "3" }, - { "space", "1" }, - { "sterling", "1" }, - { "sukun", "3" }, - { "sukunisolated", "3" }, - { "sukunlow", "1" }, - { "sukunonhamza", "3" }, - { "sukunontatweel", "3" }, - { "superscriptalef", "3" }, - { "t", "1" }, - { "tah", "1" }, - { "tahisolated", "1" }, - { "tatweel", "1" }, - { "tcheh", "1" }, - { "tchehfinal", "1" }, - { "tchehisolated", "1" }, - { "tchehmedial", "1" }, - { "teh", "1" }, - { "tehisolated", "1" }, - { "tehmarbuta", "1" }, - { "tehmarbutafinal", "1" }, - { "tehmarbutaisolated", "1" }, - { "tehmedial", "1" }, - { "thal", "1" }, - { "thalisolated", "1" }, - { "theh", "1" }, - { "thehisolated", "1" }, - { "thehmedial", "1" }, - { "thorn", "1" }, - { "three", "1" }, - { "threequarters", "1" }, - { "threesuperior", "1" }, - { "tilde", "1" }, - { "trademark", "1" }, - { "two", "1" }, - { "twosuperior", "1" }, - { "u", "1" }, - { "uacute", "1" }, - { "ucircumflex", "1" }, - { "udieresis", "1" }, - { "ugrave", "1" }, - { "underscore", "1" }, - { "uni000D", "1" }, - { "uni0649.init", "1" }, - { "uni0654", "3" }, - { "uni0655", "3" }, - { "uni0655064D", "3" }, - { "uni06550650", "3" }, - { "uni06A5.init", "1" }, - { "uni25CC", "1" }, - { "v", "1" }, - { "veh", "1" }, - { "vehisolated", "1" }, - { "vehmedial", "1" }, - { "w", "1" }, - { "waw", "1" }, - { "wawisolated", "1" }, - { "wawwithhamzaabove", "1" }, - { "wawwithhamzaaboveisolated", "1" }, - { "x", "1" }, - { "y", "1" }, - { "yacute", "1" }, - { "ydieresis", "1" }, - { "yeh", "1" }, - { "yehfinal", "1" }, - { "yehisolated", "1" }, - { "yehmedial", "1" }, - { "yehwithhamzaabove", "1" }, - { "yehwithhamzaabovefinal", "1" }, - { "yehwithhamzaaboveisolated", "1" }, - { "yehwithhamzaabovemedial", "1" }, - { "yen", "1" }, - { "z", "1" }, - { "zah", "1" }, - { "zahisolated", "1" }, - { "zain", "1" }, - { "zainisolated", "1" }, - { "zcaron", "1" }, - { "zero", "1" }, - { "zerojoin", "1" }, - { "zeronojoin", "1" }, - { "zerowidthnobreakspace", "1" }, - }, - }, - // arab-002.ttx - { "f1", "lu0", - new String[][] { - { "a", "1" }, - { "aacute", "1" }, - { "acircumflex", "1" }, - { "acute", "1" }, - { "adieresis", "1" }, - { "ae", "1" }, - { "agrave", "1" }, - { "ain", "1" }, - { "ainfinal", "1" }, - { "aininitial", "1" }, - { "ainisolated", "1" }, - { "ainmedial", "1" }, - { "aleffinal", "1" }, - { "alefisolated", "1" }, - { "alefmaksura", "1" }, - { "alefmaksurafinal", "1" }, - { "alefmaksuraisolated", "1" }, - { "alefwasla", "1" }, - { "alefwaslafinal", "1" }, - { "alefwaslaisolated", "1" }, - { "alefwithfathatanfinal", "1" }, - { "alefwithfathatanisolated", "1" }, - { "alefwithhamzaabove", "1" }, - { "alefwithhamzaabovefinal", "1" }, - { "alefwithhamzaaboveisolated", "1" }, - { "alefwithhamzabelow", "1" }, - { "alefwithhamzabelowfinal", "1" }, - { "alefwithhamzabelowisolated", "1" }, - { "alefwithmaddaabove", "1" }, - { "alefwithmaddaabovefinal", "1" }, - { "alefwithmaddaaboveisolated", "1" }, - { "allahisolated", "2" }, - { "ampersand", "1" }, - { "arabicae", "1" }, - { "arabicalef", "1" }, - { "arabiccomma", "1" }, - { "arabicfivepointedstar", "3" }, - { "arabicindicdigiteight", "1" }, - { "arabicindicdigitfive", "1" }, - { "arabicindicdigitfour", "1" }, - { "arabicindicdigitnine", "1" }, - { "arabicindicdigitone", "1" }, - { "arabicindicdigitseven", "1" }, - { "arabicindicdigitsix", "1" }, - { "arabicindicdigitthree", "1" }, - { "arabicindicdigittwo", "1" }, - { "arabicindicdigitzero", "1" }, - { "arabickaf", "1" }, - { "arabickaffinal", "1" }, - { "arabicpercentsign", "1" }, - { "arabicquestionmark", "1" }, - { "arabicsemicolon", "1" }, - { "aring", "1" }, - { "asciicircum", "1" }, - { "asciitilde", "1" }, - { "asterisk", "1" }, - { "at", "1" }, - { "atilde", "1" }, - { "b", "1" }, - { "backslash", "1" }, - { "bar", "1" }, - { "beh", "1" }, - { "behfinal", "1" }, - { "behinitial", "1" }, - { "behisolated", "1" }, - { "behmedial", "1" }, - { "behwithalefmaksurafinal", "2" }, - { "behwithalefmaksuraisolated", "2" }, - { "behwithhahinitial", "2" }, - { "behwithhehinitial", "2" }, - { "behwithjeeminitial", "2" }, - { "behwithkhahinitial", "2" }, - { "behwithmeeminitial", "2" }, - { "behwithmeemisolated", "2" }, - { "behwithnoonfinal", "2" }, - { "behwithrehfinal", "2" }, - { "behwithyehfinal", "2" }, - { "behwithyehisolated", "2" }, - { "braceleft", "1" }, - { "braceright", "1" }, - { "bracketleft", "1" }, - { "bracketright", "1" }, - { "brokenbar", "1" }, - { "bullet", "1" }, - { "c", "1" }, - { "caron", "1" }, - { "ccedilla", "1" }, - { "cedilla", "1" }, - { "cent", "1" }, - { "circumflex", "1" }, - { "colon", "1" }, - { "comma", "1" }, - { "copyright", "1" }, - { "currency", "1" }, - { "d", "1" }, - { "dad", "1" }, - { "dadfinal", "1" }, - { "dadinitial", "1" }, - { "dadisolated", "1" }, - { "dadmedial", "1" }, - { "dagger", "1" }, - { "daggerdbl", "1" }, - { "dal", "1" }, - { "dalfinal", "1" }, - { "dalisolated", "1" }, - { "damma", "3" }, - { "dammahontatweel", "1" }, - { "dammaisolated", "1" }, - { "dammalow", "1" }, - { "dammaonhamza", "3" }, - { "dammatan", "3" }, - { "dammatanisolated", "1" }, - { "dammatanlow", "1" }, - { "dammatanonhamza", "3" }, - { "degree", "1" }, - { "delete", "1" }, - { "dieresis", "1" }, - { "divide", "1" }, - { "dollar", "1" }, - { "dotlessi", "1" }, - { "e", "1" }, - { "eacute", "1" }, - { "ecircumflex", "1" }, - { "edieresis", "1" }, - { "egrave", "1" }, - { "eight", "1" }, - { "ellipsis", "1" }, - { "endash", "1" }, - { "equal", "1" }, - { "eth", "1" }, - { "exclam", "1" }, - { "exclamdown", "1" }, - { "extendedarabicindicdigiteight", "1" }, - { "extendedarabicindicdigitfive", "1" }, - { "extendedarabicindicdigitfour", "1" }, - { "extendedarabicindicdigitnine", "1" }, - { "extendedarabicindicdigitone", "1" }, - { "extendedarabicindicdigitseven", "1" }, - { "extendedarabicindicdigitsix", "1" }, - { "extendedarabicindicdigitthree", "1" }, - { "extendedarabicindicdigittwo", "1" }, - { "extendedarabicindicdigitzero", "1" }, - { "f", "1" }, - { "farsiyeh", "1" }, - { "farsiyehfinal", "1" }, - { "farsiyehisolated", "1" }, - { "fatha", "3" }, - { "fathahontatweel", "1" }, - { "fathaisolated", "1" }, - { "fathalow", "1" }, - { "fathaonhamza", "3" }, - { "fathatan", "3" }, - { "fathatanisolated", "1" }, - { "fathatanlow", "1" }, - { "fathatanonhamza", "3" }, - { "fathatanontatweel", "1" }, - { "feh", "1" }, - { "fehfinal", "1" }, - { "fehinitial", "1" }, - { "fehisolated", "1" }, - { "fehmedial", "1" }, - { "fehwithalefmaksuraisolated", "2" }, - { "fehwithyehisolated", "2" }, - { "five", "1" }, - { "florin", "1" }, - { "four", "1" }, - { "g", "1" }, - { "gaf", "1" }, - { "gaffinal", "1" }, - { "gafinitial", "1" }, - { "gafisolated", "1" }, - { "gafmedial", "1" }, - { "germandbls", "1" }, - { "ghain", "1" }, - { "ghainfinal", "1" }, - { "ghaininitial", "1" }, - { "ghainisolated", "1" }, - { "ghainmedial", "1" }, - { "grave", "1" }, - { "greater", "1" }, - { "guillemotleft", "1" }, - { "guillemotright", "1" }, - { "guilsinglleft", "1" }, - { "guilsinglright", "1" }, - { "h", "1" }, - { "hah", "1" }, - { "hahfinal", "1" }, - { "hahinitial", "1" }, - { "hahisolated", "1" }, - { "hahmedial", "1" }, - { "hahwithmeeminitial", "2" }, - { "hamza", "1" }, - { "hamzaisolated", "1" }, - { "heh", "1" }, - { "hehfinal", "1" }, - { "hehinitial", "1" }, - { "hehisolated", "1" }, - { "hehmedial", "1" }, - { "hehwithmeeminitial", "2" }, - { "highhamza", "1" }, - { "hyphenminus", "1" }, - { "i", "1" }, - { "iacute", "1" }, - { "icircumflex", "1" }, - { "idieresis", "1" }, - { "igrave", "1" }, - { "j", "1" }, - { "jeem", "1" }, - { "jeemfinal", "1" }, - { "jeeminitial", "1" }, - { "jeemisolated", "1" }, - { "jeemmedial", "1" }, - { "jeemwithmeeminitial", "2" }, - { "jeh", "1" }, - { "jehfinal", "1" }, - { "jehisolated", "1" }, - { "k", "1" }, - { "kafinitial", "1" }, - { "kafisolated", "1" }, - { "kafmedial", "1" }, - { "kasra", "3" }, - { "kasrahontatweel", "1" }, - { "kasraisolated", "1" }, - { "kasralow", "1" }, - { "kasratan", "3" }, - { "kasratanisolated", "1" }, - { "kasratanlow", "1" }, - { "keheh", "1" }, - { "kehehfinal", "1" }, - { "kehehinitial", "1" }, - { "kehehisolated", "1" }, - { "kehehmedial", "1" }, - { "khah", "1" }, - { "khahfinal", "1" }, - { "khahinitial", "1" }, - { "khahisolated", "1" }, - { "khahmedial", "1" }, - { "khahwithmeeminitial", "2" }, - { "l", "1" }, - { "lam", "1" }, - { "lamfinal", "1" }, - { "laminitial", "1" }, - { "lamisolated", "1" }, - { "lammedial", "1" }, - { "lamwithaleffinal", "2" }, - { "lamwithalefhamzaabovefinal", "2" }, - { "lamwithalefhamzaaboveisolatedd", "2" }, - { "lamwithalefhamzabelowfinal", "2" }, - { "lamwithalefhamzabelowisolated", "2" }, - { "lamwithalefisolated", "2" }, - { "lamwithalefmaddaabovefinal", "2" }, - { "lamwithalefmaddaaboveisolatedd", "2" }, - { "lamwithalefmaksuraisolated", "2" }, - { "lamwithhahinitial", "2" }, - { "lamwithhahisolated", "2" }, - { "lamwithhehinitial", "2" }, - { "lamwithjeeminitial", "2" }, - { "lamwithjeemisolated", "2" }, - { "lamwithkhahinitial", "2" }, - { "lamwithkhahisolated", "2" }, - { "lamwithmeeminitial", "2" }, - { "lamwithmeemisolated", "2" }, - { "lamwithmeemwithhahinitial", "2" }, - { "lamwithmeemwithjeeminitial", "2" }, - { "lamwithyehisolated", "2" }, - { "lefttoright", "1" }, - { "less", "1" }, - { "logicalnot", "1" }, - { "m", "1" }, - { "macron", "1" }, - { "meem", "1" }, - { "meemfinal", "1" }, - { "meeminitial", "1" }, - { "meemisolated", "1" }, - { "meemmedial", "1" }, - { "meemwithhahinitial", "2" }, - { "meemwithjeeminitial", "2" }, - { "meemwithkhahinitial", "2" }, - { "meemwithmeeminitial", "2" }, - { "micro", "1" }, - { "multiply", "1" }, - { "n", "1" }, - { "nine", "1" }, - { "nonbreakingspace", "1" }, - { "nonmarkingreturn", "1" }, - { "noon", "1" }, - { "noonfinal", "1" }, - { "nooninitial", "1" }, - { "noonisolated", "1" }, - { "noonmedial", "1" }, - { "noonwithalefmaksurafinal", "2" }, - { "noonwithalefmaksuraisolated", "2" }, - { "noonwithhahinitial", "2" }, - { "noonwithhehinitial", "2" }, - { "noonwithjeeminitial", "2" }, - { "noonwithkhahinitial", "2" }, - { "noonwithmeeminitial", "2" }, - { "noonwithmeemisolated", "2" }, - { "noonwithyehfinal", "2" }, - { "noonwithyehisolated", "2" }, - { "noonwithzainfinal", "2" }, - { "ntilde", "1" }, - { "numbersign", "1" }, - { "o", "1" }, - { "oacute", "1" }, - { "ocircumflex", "1" }, - { "odieresis", "1" }, - { "oe", "1" }, - { "ograve", "1" }, - { "one", "1" }, - { "onehalf", "1" }, - { "onequarter", "1" }, - { "onesuperior", "1" }, - { "ordfeminine", "1" }, - { "ordmasculine", "1" }, - { "ornateleftparenthesis", "1" }, - { "ornaterightparenthesis", "1" }, - { "oslash", "1" }, - { "otilde", "1" }, - { "p", "1" }, - { "paragraph", "1" }, - { "parenleft", "1" }, - { "parenright", "1" }, - { "peh", "1" }, - { "pehfinal", "1" }, - { "pehinitial", "1" }, - { "pehisolated", "1" }, - { "pehmedial", "1" }, - { "pehwithhehinitial", "2" }, - { "percent", "1" }, - { "period", "1" }, - { "periodcentered", "1" }, - { "perthousand", "1" }, - { "plus", "1" }, - { "plusminus", "1" }, - { "q", "1" }, - { "qaf", "1" }, - { "qaffinal", "1" }, - { "qafinitial", "1" }, - { "qafisolated", "1" }, - { "qafmedial", "1" }, - { "question", "1" }, - { "questiondown", "1" }, - { "quotedash", "1" }, - { "quotedbl", "1" }, - { "quotedblbase", "1" }, - { "quotedblleft", "1" }, - { "quotedblright", "1" }, - { "quoteleft", "1" }, - { "quoteright", "1" }, - { "quotesinglbase", "1" }, - { "quotesingle", "1" }, - { "r", "1" }, - { "rayaleflam", "2" }, - { "registered", "1" }, - { "reh", "1" }, - { "rehfinal", "1" }, - { "rehisolated", "1" }, - { "righttoleft", "1" }, - { "s", "1" }, - { "sad", "1" }, - { "sadfinal", "1" }, - { "sadinitial", "1" }, - { "sadisolated", "1" }, - { "sadmedial", "1" }, - { "scaron", "1" }, - { "section", "1" }, - { "seen", "1" }, - { "seenfinal", "1" }, - { "seeninitial", "1" }, - { "seenisolated", "1" }, - { "seenmedial", "1" }, - { "seenwithmeeminitial", "2" }, - { "semicolon", "1" }, - { "seven", "1" }, - { "sfthyphen", "1" }, - { "shadda", "3" }, - { "shaddahontatweel", "1" }, - { "shaddaisolated", "1" }, - { "shaddalow", "1" }, - { "shaddawithdammaisolated", "1" }, - { "shaddawithdammaisolatedlow", "3" }, - { "shaddawithdammamedial", "1" }, - { "shaddawithdammatanisolated", "1" }, - { "shaddawithdammatanisolatedlow", "3" }, - { "shaddawithfathaisolated", "1" }, - { "shaddawithfathaisolatedlow", "3" }, - { "shaddawithfathamedial", "1" }, - { "shaddawithfathatanisolated", "3" }, - { "shaddawithfathatanisolatedlow", "3" }, - { "shaddawithkasraisolated", "1" }, - { "shaddawithkasraisolatedlow", "3" }, - { "shaddawithkasramedial", "1" }, - { "shaddawithkasratanisolated", "1" }, - { "shaddawithkasratanisolatedlow", "3" }, - { "sheen", "1" }, - { "sheenfinal", "1" }, - { "sheeninitial", "1" }, - { "sheenisolated", "1" }, - { "sheenmedial", "1" }, - { "sheenwithmeeminitial", "2" }, - { "six", "1" }, - { "slash", "1" }, - { "smallhighmadda", "3" }, - { "space", "1" }, - { "sterling", "1" }, - { "sukun", "3" }, - { "sukunisolated", "1" }, - { "sukunlow", "1" }, - { "sukunonhamza", "3" }, - { "sukunontatweel", "1" }, - { "superscriptalef", "3" }, - { "t", "1" }, - { "tah", "1" }, - { "tahfinal", "1" }, - { "tahinitial", "1" }, - { "tahisolated", "1" }, - { "tahmedial", "1" }, - { "tatweel", "1" }, - { "tcheh", "1" }, - { "tchehfinal", "1" }, - { "tchehinitial", "1" }, - { "tchehisolated", "1" }, - { "tchehmedial", "1" }, - { "teh", "1" }, - { "tehfinal", "1" }, - { "tehinitial", "1" }, - { "tehisolated", "1" }, - { "tehmarbuta", "1" }, - { "tehmarbutafinal", "1" }, - { "tehmarbutaisolated", "1" }, - { "tehmedial", "1" }, - { "tehwithalefmaksurafinal", "2" }, - { "tehwithhahinitial", "2" }, - { "tehwithhehinitial", "2" }, - { "tehwithjeeminitial", "2" }, - { "tehwithkhahinitial", "2" }, - { "tehwithmeeminitial", "2" }, - { "tehwithmeemisolated", "2" }, - { "tehwithnoonfinal", "2" }, - { "tehwithyehfinal", "2" }, - { "tehwithyehisolated", "2" }, - { "thal", "1" }, - { "thalfinal", "1" }, - { "thalisolated", "1" }, - { "theh", "1" }, - { "thehfinal", "1" }, - { "thehinitial", "1" }, - { "thehisolated", "1" }, - { "thehmedial", "1" }, - { "thehwithmeeminitial", "2" }, - { "thehwithmeemisolated", "2" }, - { "thorn", "1" }, - { "three", "1" }, - { "threequarters", "1" }, - { "threesuperior", "1" }, - { "tilde", "1" }, - { "trademark", "1" }, - { "two", "1" }, - { "twosuperior", "1" }, - { "u", "1" }, - { "uacute", "1" }, - { "ucircumflex", "1" }, - { "udieresis", "1" }, - { "ugrave", "1" }, - { "underscore", "1" }, - { "uni000D", "1" }, - { "uni0649.init", "1" }, - { "uni0649.medi", "1" }, - { "uni0654", "3" }, - { "uni0655", "3" }, - { "uni0655064D", "3" }, - { "uni06550650", "3" }, - { "uni25CC", "1" }, - { "uniE817", "2" }, - { "v", "1" }, - { "veh", "1" }, - { "vehfinal", "1" }, - { "vehinitial", "1" }, - { "vehisolated", "1" }, - { "vehmedial", "1" }, - { "w", "1" }, - { "waw", "1" }, - { "wawfinal", "1" }, - { "wawisolated", "1" }, - { "wawwithhamzaabove", "1" }, - { "wawwithhamzaabovefinal", "1" }, - { "wawwithhamzaaboveisolated", "1" }, - { "x", "1" }, - { "y", "1" }, - { "yacute", "1" }, - { "ydieresis", "1" }, - { "yeh", "1" }, - { "yehfinal", "1" }, - { "yehinitial", "1" }, - { "yehisolated", "1" }, - { "yehmedial", "1" }, - { "yehwithalefmaksurafinal", "2" }, - { "yehwithalefmaksuraisolated", "2" }, - { "yehwithhahinitial", "2" }, - { "yehwithhamzaabove", "1" }, - { "yehwithhamzaabovefinal", "1" }, - { "yehwithhamzaaboveinitial", "1" }, - { "yehwithhamzaaboveisolated", "1" }, - { "yehwithhamzaabovemedial", "1" }, - { "yehwithjeeminitial", "2" }, - { "yehwithkhahinitial", "2" }, - { "yehwithmeeminitial", "2" }, - { "yehwithmeemisolated", "2" }, - { "yehwithnoonfinal", "2" }, - { "yehwithrehfinal", "2" }, - { "yen", "1" }, - { "z", "1" }, - { "zah", "1" }, - { "zahfinal", "1" }, - { "zahinitial", "1" }, - { "zahisolated", "1" }, - { "zahmedial", "1" }, - { "zain", "1" }, - { "zainfinal", "1" }, - { "zainisolated", "1" }, - { "zcaron", "1" }, - { "zero", "1" }, - { "zerojoin", "1" }, - { "zeronojoin", "1" }, - { "zerowidthnobreakspace", "1" }, - }, - }, - // arab-003.ttx - { "f2", "lu0", - new String[][] { - { "_bar", "1" }, - { "_damma", "1" }, - { "_dot1", "1" }, - { "_dot1_hat", "1" }, - { "_dot1_smallV", "1" }, - { "_dot1_tah", "1" }, - { "_dot2h", "1" }, - { "_dot2h_tah", "1" }, - { "_dot2v", "1" }, - { "_dot3d", "1" }, - { "_dot3h", "1" }, - { "_dot3u", "1" }, - { "_dot3u_tah", "1" }, - { "_dot4", "1" }, - { "_gafBar", "1" }, - { "_gafBar_dot2h", "1" }, - { "_gafBar_dot3u", "1" }, - { "_hamza", "1" }, - { "_hamzaDamma", "1" }, - { "_hat", "1" }, - { "_highHamza", "1" }, - { "_hook", "1" }, - { "_invSmallV", "1" }, - { "_lines", "1" }, - { "_madda", "1" }, - { "_ring", "1" }, - { "_smallV", "1" }, - { "_tah", "1" }, - { "_vline", "1" }, - { "_wasla", "1" }, - { "_wavyHamza", "1" }, - { "_wavyHamza.b", "1" }, - { "a", "1" }, - { "absAutoKashida", "1" }, - { "absJeemRetro1", "1" }, - { "absJeemRetro1Fin", "1" }, - { "absJeemRetro1Ini", "1" }, - { "absJeemRetro1Med", "1" }, - { "absJeemRetro2", "1" }, - { "absJeemRetro2Fin", "1" }, - { "absJeemRetro2Ini", "1" }, - { "absJeemRetro2Med", "1" }, - { "absJeemRetro3", "1" }, - { "absJeemRetro3Fin", "1" }, - { "absJeemRetro3Ini", "1" }, - { "absJeemRetro3Med", "1" }, - { "absJehRetro1", "1" }, - { "absJehRetro1Fin", "1" }, - { "absJehRetro2", "1" }, - { "absJehRetro2Fin", "1" }, - { "absLamRetro", "1" }, - { "absLamRetroAlef", "2" }, - { "absLamRetroAlefFin", "2" }, - { "absLamRetroFin", "1" }, - { "absLamRetroIni", "1" }, - { "absLamRetroIni.preAlef", "1" }, - { "absLamRetroMed", "1" }, - { "absLamRetroMed.preAlef", "1" }, - { "absShaddaAlef", "3" }, - { "absSheenRetro1", "1" }, - { "absSheenRetro1Fin", "1" }, - { "absSheenRetro1Ini", "1" }, - { "absSheenRetro1Med", "1" }, - { "absSheenRetro2", "1" }, - { "absSheenRetro2Fin", "1" }, - { "absSheenRetro2Ini", "1" }, - { "absSheenRetro2Med", "1" }, - { "absTchehRetro1", "1" }, - { "absTchehRetro1Fin", "1" }, - { "absTchehRetro1Ini", "1" }, - { "absTchehRetro1Med", "1" }, - { "absTchehRetro2", "1" }, - { "absTchehRetro2Fin", "1" }, - { "absTchehRetro2Ini", "1" }, - { "absTchehRetro2Med", "1" }, - { "absWawDotBelow", "1" }, - { "absWawDotBelowFin", "1" }, - { "ampersand", "1" }, - { "asciicircum", "1" }, - { "asciitilde", "1" }, - { "asterisk", "1" }, - { "asterisk.arab", "1" }, - { "at", "1" }, - { "b", "1" }, - { "backslash", "1" }, - { "bar", "1" }, - { "braceleft", "1" }, - { "braceright", "1" }, - { "bracketleft", "1" }, - { "bracketright", "1" }, - { "c", "1" }, - { "colon", "1" }, - { "colon.arab", "1" }, - { "comma", "1" }, - { "d", "1" }, - { "dollar", "1" }, - { "e", "1" }, - { "eight", "1" }, - { "eightMedium", "3" }, - { "eightSmall", "3" }, - { "equal", "1" }, - { "exclam", "1" }, - { "exclam.arab", "1" }, - { "f", "1" }, - { "five", "1" }, - { "fiveMedium", "3" }, - { "fiveSmall", "3" }, - { "four", "1" }, - { "fourMedium", "3" }, - { "fourSmall", "3" }, - { "g", "1" }, - { "grave", "1" }, - { "greater", "1" }, - { "h", "1" }, - { "hyphen", "1" }, - { "i", "1" }, - { "j", "1" }, - { "k", "1" }, - { "l", "1" }, - { "less", "1" }, - { "m", "1" }, - { "n", "1" }, - { "nine", "1" }, - { "nineMedium", "3" }, - { "nineSmall", "3" }, - { "nonmarkingreturn", "1" }, - { "numbersign", "1" }, - { "o", "1" }, - { "one", "1" }, - { "oneMedium", "3" }, - { "oneSmall", "3" }, - { "p", "1" }, - { "parenleft", "1" }, - { "parenleft.arab", "1" }, - { "parenright", "1" }, - { "parenright.arab", "1" }, - { "percent", "1" }, - { "period", "1" }, - { "plus", "1" }, - { "q", "1" }, - { "question", "1" }, - { "quotedbl", "1" }, - { "quotedblleft.arab", "1" }, - { "quotedblright.arab", "1" }, - { "quoteleft.arab", "1" }, - { "quoteright.arab", "1" }, - { "quotesingle", "1" }, - { "r", "1" }, - { "s", "1" }, - { "semicolon", "1" }, - { "seven", "1" }, - { "sevenMedium", "3" }, - { "sevenSmall", "3" }, - { "six", "1" }, - { "sixMedium", "3" }, - { "sixSmall", "3" }, - { "slash", "1" }, - { "space", "1" }, - { "t", "1" }, - { "three", "1" }, - { "threeMedium", "3" }, - { "threeSmall", "3" }, - { "two", "1" }, - { "twoMedium", "3" }, - { "twoSmall", "3" }, - { "u", "1" }, - { "underscore", "1" }, - { "uni060C", "1" }, - { "uni060C.downward", "1" }, - { "uni0614", "3" }, - { "uni061B", "1" }, - { "uni061B.downward", "1" }, - { "uni061E", "1" }, - { "uni061F", "1" }, - { "uni0621", "1" }, - { "uni0622", "1" }, - { "uni0622.fina", "1" }, - { "uni0622.fina.postLamIni", "1" }, - { "uni0622.fina.postLamMed", "1" }, - { "uni0623", "1" }, - { "uni0623.fina", "1" }, - { "uni0623.fina.postLamIni", "1" }, - { "uni0623.fina.postLamMed", "1" }, - { "uni0624", "1" }, - { "uni0624.fina", "1" }, - { "uni0625", "1" }, - { "uni0625.fina", "1" }, - { "uni0625.fina.postLamIni", "1" }, - { "uni0625.fina.postLamMed", "1" }, - { "uni0626", "1" }, - { "uni0626.fina", "1" }, - { "uni0626.init", "1" }, - { "uni0626.medi", "1" }, - { "uni0627", "1" }, - { "uni0627.fina", "1" }, - { "uni0627.fina.postLamIni", "1" }, - { "uni0627.fina.postLamMed", "1" }, - { "uni0628", "1" }, - { "uni0628.fina", "1" }, - { "uni0628.init", "1" }, - { "uni0628.medi", "1" }, - { "uni0629", "1" }, - { "uni0629.fina", "1" }, - { "uni062A", "1" }, - { "uni062A.fina", "1" }, - { "uni062A.init", "1" }, - { "uni062A.medi", "1" }, - { "uni062B", "1" }, - { "uni062B.fina", "1" }, - { "uni062B.init", "1" }, - { "uni062B.medi", "1" }, - { "uni062C", "1" }, - { "uni062C.fina", "1" }, - { "uni062C.init", "1" }, - { "uni062C.medi", "1" }, - { "uni062D", "1" }, - { "uni062D.fina", "1" }, - { "uni062D.init", "1" }, - { "uni062D.medi", "1" }, - { "uni062E", "1" }, - { "uni062E.fina", "1" }, - { "uni062E.init", "1" }, - { "uni062E.medi", "1" }, - { "uni062F", "1" }, - { "uni062F.fina", "1" }, - { "uni0630", "1" }, - { "uni0630.fina", "1" }, - { "uni0631", "1" }, - { "uni0631.fina", "1" }, - { "uni0632", "1" }, - { "uni0632.fina", "1" }, - { "uni0633", "1" }, - { "uni0633.fina", "1" }, - { "uni0633.init", "1" }, - { "uni0633.medi", "1" }, - { "uni0634", "1" }, - { "uni0634.fina", "1" }, - { "uni0634.init", "1" }, - { "uni0634.medi", "1" }, - { "uni0635", "1" }, - { "uni0635.fina", "1" }, - { "uni0635.init", "1" }, - { "uni0635.medi", "1" }, - { "uni0636", "1" }, - { "uni0636.fina", "1" }, - { "uni0636.init", "1" }, - { "uni0636.medi", "1" }, - { "uni0637", "1" }, - { "uni0637.fina", "1" }, - { "uni0637.init", "1" }, - { "uni0637.medi", "1" }, - { "uni0638", "1" }, - { "uni0638.fina", "1" }, - { "uni0638.init", "1" }, - { "uni0638.medi", "1" }, - { "uni0639", "1" }, - { "uni0639.fina", "1" }, - { "uni0639.init", "1" }, - { "uni0639.medi", "1" }, - { "uni063A", "1" }, - { "uni063A.fina", "1" }, - { "uni063A.init", "1" }, - { "uni063A.medi", "1" }, - { "uni0640", "1" }, - { "uni0641", "1" }, - { "uni0641.fina", "1" }, - { "uni0641.init", "1" }, - { "uni0641.medi", "1" }, - { "uni0642", "1" }, - { "uni0642.fina", "1" }, - { "uni0642.init", "1" }, - { "uni0642.medi", "1" }, - { "uni0643", "1" }, - { "uni0643.fina", "1" }, - { "uni0643.init", "1" }, - { "uni0643.medi", "1" }, - { "uni0644", "1" }, - { "uni0644.fina", "1" }, - { "uni0644.init", "1" }, - { "uni0644.init.preAlef", "1" }, - { "uni0644.medi", "1" }, - { "uni0644.medi.preAlef", "1" }, - { "uni06440627", "2" }, - { "uni06440627.fina", "2" }, - { "uni0645", "1" }, - { "uni0645.fina", "1" }, - { "uni0645.fina.sindhi", "1" }, - { "uni0645.init", "1" }, - { "uni0645.medi", "1" }, - { "uni0645.sindhi", "1" }, - { "uni0646", "1" }, - { "uni0646.fina", "1" }, - { "uni0646.init", "1" }, - { "uni0646.medi", "1" }, - { "uni0647", "1" }, - { "uni0647.fina", "1" }, - { "uni0647.fina.hooked", "1" }, - { "uni0647.fina.knottedFlat", "1" }, - { "uni0647.fina.knottedHigh", "1" }, - { "uni0647.init", "1" }, - { "uni0647.init.hooked", "1" }, - { "uni0647.knotted", "1" }, - { "uni0647.medi", "1" }, - { "uni0647.medi.hooked", "1" }, - { "uni0647.medi.knottedHigh", "1" }, - { "uni0648", "1" }, - { "uni0648.fina", "1" }, - { "uni0649", "1" }, - { "uni0649.fina", "1" }, - { "uni0649.init", "1" }, - { "uni0649.medi", "1" }, - { "uni064A", "1" }, - { "uni064A.fina", "1" }, - { "uni064A.fina.noDots", "1" }, - { "uni064A.init", "1" }, - { "uni064A.init.noDots", "1" }, - { "uni064A.medi", "1" }, - { "uni064A.medi.noDots", "1" }, - { "uni064A.noDots", "1" }, - { "uni064B", "3" }, - { "uni064C", "3" }, - { "uni064C.sixNine", "3" }, - { "uni064D", "3" }, - { "uni064E", "3" }, - { "uni064F", "3" }, - { "uni0650", "3" }, - { "uni0651", "3" }, - { "uni0651064B", "3" }, - { "uni0651064C", "3" }, - { "uni0651064D", "3" }, - { "uni0651064E", "3" }, - { "uni0651064F", "3" }, - { "uni06510650", "3" }, - { "uni0652", "3" }, - { "uni0652.downOpen", "3" }, - { "uni0652.leftOpen", "3" }, - { "uni0653", "3" }, - { "uni0654", "3" }, - { "uni0654064E", "3" }, - { "uni0654064F", "3" }, - { "uni0655", "3" }, - { "uni0656", "3" }, - { "uni0657", "3" }, - { "uni0658", "3" }, - { "uni0659", "3" }, - { "uni065A", "3" }, - { "uni065B", "3" }, - { "uni065C", "3" }, - { "uni065D", "3" }, - { "uni065E", "3" }, - { "uni0660", "1" }, - { "uni0660.Medium", "3" }, - { "uni0660.Small", "3" }, - { "uni0661", "1" }, - { "uni0661.Medium", "3" }, - { "uni0661.Small", "3" }, - { "uni0662", "1" }, - { "uni0662.Medium", "3" }, - { "uni0662.Small", "3" }, - { "uni0663", "1" }, - { "uni0663.Medium", "3" }, - { "uni0663.Small", "3" }, - { "uni0664", "1" }, - { "uni0664.Medium", "3" }, - { "uni0664.Small", "3" }, - { "uni0665", "1" }, - { "uni0665.Medium", "3" }, - { "uni0665.Small", "3" }, - { "uni0666", "1" }, - { "uni0666.Medium", "3" }, - { "uni0666.Small", "3" }, - { "uni0667", "1" }, - { "uni0667.Medium", "3" }, - { "uni0667.Small", "3" }, - { "uni0668", "1" }, - { "uni0668.Medium", "3" }, - { "uni0668.Small", "3" }, - { "uni0669", "1" }, - { "uni0669.Medium", "3" }, - { "uni0669.Small", "3" }, - { "uni066A", "1" }, - { "uni066B", "1" }, - { "uni066C", "1" }, - { "uni066D", "1" }, - { "uni066E", "1" }, - { "uni066E.fina", "1" }, - { "uni066E.init", "1" }, - { "uni066E.medi", "1" }, - { "uni066F", "1" }, - { "uni066F.fina", "1" }, - { "uni066F.init", "1" }, - { "uni066F.medi", "1" }, - { "uni0670", "3" }, - { "uni0670.large", "3" }, - { "uni0671", "1" }, - { "uni0671.fina", "1" }, - { "uni0671.fina.postLamIni", "1" }, - { "uni0671.fina.postLamMed", "1" }, - { "uni0672", "1" }, - { "uni0672.fina", "1" }, - { "uni0672.fina.postLamIni", "1" }, - { "uni0672.fina.postLamMed", "1" }, - { "uni0673", "1" }, - { "uni0673.fina", "1" }, - { "uni0673.fina.postLamIni", "1" }, - { "uni0673.fina.postLamMed", "1" }, - { "uni0674", "3" }, - { "uni0675", "1" }, - { "uni0675.fina", "1" }, - { "uni0675.fina.postLamIni", "1" }, - { "uni0675.fina.postLamMed", "1" }, - { "uni0676", "1" }, - { "uni0676.fina", "1" }, - { "uni0677", "1" }, - { "uni0677.fina", "1" }, - { "uni0678", "1" }, - { "uni0678.fina", "1" }, - { "uni0678.init", "1" }, - { "uni0678.medi", "1" }, - { "uni0679", "1" }, - { "uni0679.fina", "1" }, - { "uni0679.init", "1" }, - { "uni0679.medi", "1" }, - { "uni067A", "1" }, - { "uni067A.fina", "1" }, - { "uni067A.init", "1" }, - { "uni067A.medi", "1" }, - { "uni067B", "1" }, - { "uni067B.fina", "1" }, - { "uni067B.init", "1" }, - { "uni067B.medi", "1" }, - { "uni067C", "1" }, - { "uni067C.fina", "1" }, - { "uni067C.init", "1" }, - { "uni067C.medi", "1" }, - { "uni067D", "1" }, - { "uni067D.fina", "1" }, - { "uni067D.init", "1" }, - { "uni067D.medi", "1" }, - { "uni067E", "1" }, - { "uni067E.fina", "1" }, - { "uni067E.init", "1" }, - { "uni067E.medi", "1" }, - { "uni067F", "1" }, - { "uni067F.fina", "1" }, - { "uni067F.init", "1" }, - { "uni067F.medi", "1" }, - { "uni0680", "1" }, - { "uni0680.fina", "1" }, - { "uni0680.init", "1" }, - { "uni0680.medi", "1" }, - { "uni0681", "1" }, - { "uni0681.fina", "1" }, - { "uni0681.init", "1" }, - { "uni0681.medi", "1" }, - { "uni0682", "1" }, - { "uni0682.fina", "1" }, - { "uni0682.init", "1" }, - { "uni0682.medi", "1" }, - { "uni0683", "1" }, - { "uni0683.fina", "1" }, - { "uni0683.init", "1" }, - { "uni0683.medi", "1" }, - { "uni0684", "1" }, - { "uni0684.fina", "1" }, - { "uni0684.init", "1" }, - { "uni0684.medi", "1" }, - { "uni0685", "1" }, - { "uni0685.fina", "1" }, - { "uni0685.init", "1" }, - { "uni0685.medi", "1" }, - { "uni0686", "1" }, - { "uni0686.fina", "1" }, - { "uni0686.init", "1" }, - { "uni0686.medi", "1" }, - { "uni0687", "1" }, - { "uni0687.fina", "1" }, - { "uni0687.init", "1" }, - { "uni0687.medi", "1" }, - { "uni0688", "1" }, - { "uni0688.fina", "1" }, - { "uni0689", "1" }, - { "uni0689.fina", "1" }, - { "uni068A", "1" }, - { "uni068A.fina", "1" }, - { "uni068B", "1" }, - { "uni068B.fina", "1" }, - { "uni068C", "1" }, - { "uni068C.fina", "1" }, - { "uni068D", "1" }, - { "uni068D.fina", "1" }, - { "uni068E", "1" }, - { "uni068E.fina", "1" }, - { "uni068F", "1" }, - { "uni068F.fina", "1" }, - { "uni0690", "1" }, - { "uni0690.fina", "1" }, - { "uni0691", "1" }, - { "uni0691.fina", "1" }, - { "uni0692", "1" }, - { "uni0692.fina", "1" }, - { "uni0693", "1" }, - { "uni0693.fina", "1" }, - { "uni0694", "1" }, - { "uni0694.fina", "1" }, - { "uni0695", "1" }, - { "uni0695.fina", "1" }, - { "uni0696", "1" }, - { "uni0696.fina", "1" }, - { "uni0697", "1" }, - { "uni0697.fina", "1" }, - { "uni0698", "1" }, - { "uni0698.dotHat", "1" }, - { "uni0698.fina", "1" }, - { "uni0698.fina.dotHat", "1" }, - { "uni0699", "1" }, - { "uni0699.fina", "1" }, - { "uni069A", "1" }, - { "uni069A.fina", "1" }, - { "uni069A.init", "1" }, - { "uni069A.medi", "1" }, - { "uni069B", "1" }, - { "uni069B.fina", "1" }, - { "uni069B.init", "1" }, - { "uni069B.medi", "1" }, - { "uni069C", "1" }, - { "uni069C.fina", "1" }, - { "uni069C.init", "1" }, - { "uni069C.medi", "1" }, - { "uni069D", "1" }, - { "uni069D.fina", "1" }, - { "uni069D.init", "1" }, - { "uni069D.medi", "1" }, - { "uni069E", "1" }, - { "uni069E.fina", "1" }, - { "uni069E.init", "1" }, - { "uni069E.medi", "1" }, - { "uni069F", "1" }, - { "uni069F.fina", "1" }, - { "uni069F.init", "1" }, - { "uni069F.medi", "1" }, - { "uni06A0", "1" }, - { "uni06A0.fina", "1" }, - { "uni06A0.init", "1" }, - { "uni06A0.medi", "1" }, - { "uni06A1", "1" }, - { "uni06A1.fina", "1" }, - { "uni06A1.init", "1" }, - { "uni06A1.medi", "1" }, - { "uni06A2", "1" }, - { "uni06A2.fina", "1" }, - { "uni06A2.init", "1" }, - { "uni06A2.medi", "1" }, - { "uni06A3", "1" }, - { "uni06A3.fina", "1" }, - { "uni06A3.init", "1" }, - { "uni06A3.medi", "1" }, - { "uni06A4", "1" }, - { "uni06A4.fina", "1" }, - { "uni06A4.init", "1" }, - { "uni06A4.medi", "1" }, - { "uni06A5", "1" }, - { "uni06A5.fina", "1" }, - { "uni06A5.init", "1" }, - { "uni06A5.medi", "1" }, - { "uni06A6", "1" }, - { "uni06A6.fina", "1" }, - { "uni06A6.init", "1" }, - { "uni06A6.medi", "1" }, - { "uni06A7", "1" }, - { "uni06A7.fina", "1" }, - { "uni06A7.init", "1" }, - { "uni06A7.medi", "1" }, - { "uni06A8", "1" }, - { "uni06A8.fina", "1" }, - { "uni06A8.init", "1" }, - { "uni06A8.medi", "1" }, - { "uni06A9", "1" }, - { "uni06A9.fina", "1" }, - { "uni06A9.init", "1" }, - { "uni06A9.medi", "1" }, - { "uni06AA", "1" }, - { "uni06AA.fina", "1" }, - { "uni06AA.init", "1" }, - { "uni06AA.medi", "1" }, - { "uni06AB", "1" }, - { "uni06AB.fina", "1" }, - { "uni06AB.init", "1" }, - { "uni06AB.medi", "1" }, - { "uni06AC", "1" }, - { "uni06AC.fina", "1" }, - { "uni06AC.init", "1" }, - { "uni06AC.medi", "1" }, - { "uni06AD", "1" }, - { "uni06AD.fina", "1" }, - { "uni06AD.init", "1" }, - { "uni06AD.medi", "1" }, - { "uni06AE", "1" }, - { "uni06AE.fina", "1" }, - { "uni06AE.init", "1" }, - { "uni06AE.medi", "1" }, - { "uni06AF", "1" }, - { "uni06AF.fina", "1" }, - { "uni06AF.init", "1" }, - { "uni06AF.medi", "1" }, - { "uni06B0", "1" }, - { "uni06B0.fina", "1" }, - { "uni06B0.init", "1" }, - { "uni06B0.medi", "1" }, - { "uni06B1", "1" }, - { "uni06B1.fina", "1" }, - { "uni06B1.init", "1" }, - { "uni06B1.medi", "1" }, - { "uni06B2", "1" }, - { "uni06B2.fina", "1" }, - { "uni06B2.init", "1" }, - { "uni06B2.medi", "1" }, - { "uni06B3", "1" }, - { "uni06B3.fina", "1" }, - { "uni06B3.init", "1" }, - { "uni06B3.medi", "1" }, - { "uni06B4", "1" }, - { "uni06B4.fina", "1" }, - { "uni06B4.init", "1" }, - { "uni06B4.medi", "1" }, - { "uni06B5", "1" }, - { "uni06B5.fina", "1" }, - { "uni06B5.init", "1" }, - { "uni06B5.init.preAlef", "1" }, - { "uni06B5.medi", "1" }, - { "uni06B5.medi.preAlef", "1" }, - { "uni06B50627", "2" }, - { "uni06B50627.fina", "2" }, - { "uni06B6", "1" }, - { "uni06B6.fina", "1" }, - { "uni06B6.init", "1" }, - { "uni06B6.init.preAlef", "1" }, - { "uni06B6.medi", "1" }, - { "uni06B6.medi.preAlef", "1" }, - { "uni06B60627", "2" }, - { "uni06B60627.fina", "2" }, - { "uni06B7", "1" }, - { "uni06B7.fina", "1" }, - { "uni06B7.init", "1" }, - { "uni06B7.init.preAlef", "1" }, - { "uni06B7.medi", "1" }, - { "uni06B7.medi.preAlef", "1" }, - { "uni06B70627", "2" }, - { "uni06B70627.fina", "2" }, - { "uni06B8", "1" }, - { "uni06B8.fina", "1" }, - { "uni06B8.init", "1" }, - { "uni06B8.init.preAlef", "1" }, - { "uni06B8.medi", "1" }, - { "uni06B8.medi.preAlef", "1" }, - { "uni06B80627", "2" }, - { "uni06B80627.fina", "2" }, - { "uni06B9", "1" }, - { "uni06B9.fina", "1" }, - { "uni06B9.init", "1" }, - { "uni06B9.medi", "1" }, - { "uni06BA", "1" }, - { "uni06BA.fina", "1" }, - { "uni06BA.init", "1" }, - { "uni06BA.medi", "1" }, - { "uni06BB", "1" }, - { "uni06BB.fina", "1" }, - { "uni06BB.init", "1" }, - { "uni06BB.medi", "1" }, - { "uni06BC", "1" }, - { "uni06BC.fina", "1" }, - { "uni06BC.init", "1" }, - { "uni06BC.medi", "1" }, - { "uni06BD", "1" }, - { "uni06BD.fina", "1" }, - { "uni06BD.init", "1" }, - { "uni06BD.medi", "1" }, - { "uni06BE", "1" }, - { "uni06BE.fina", "1" }, - { "uni06BE.init", "1" }, - { "uni06BE.medi", "1" }, - { "uni06BF", "1" }, - { "uni06BF.fina", "1" }, - { "uni06BF.init", "1" }, - { "uni06BF.medi", "1" }, - { "uni06C0", "1" }, - { "uni06C0.fina", "1" }, - { "uni06C0.init", "1" }, - { "uni06C0.medi", "1" }, - { "uni06C1", "1" }, - { "uni06C1.fina", "1" }, - { "uni06C1.init", "1" }, - { "uni06C1.medi", "1" }, - { "uni06C2", "1" }, - { "uni06C2.fina", "1" }, - { "uni06C2.init", "1" }, - { "uni06C2.medi", "1" }, - { "uni06C3", "1" }, - { "uni06C3.fina", "1" }, - { "uni06C4", "1" }, - { "uni06C4.fina", "1" }, - { "uni06C5", "1" }, - { "uni06C5.fina", "1" }, - { "uni06C6", "1" }, - { "uni06C6.fina", "1" }, - { "uni06C7", "1" }, - { "uni06C7.fina", "1" }, - { "uni06C8", "1" }, - { "uni06C8.fina", "1" }, - { "uni06C9", "1" }, - { "uni06C9.fina", "1" }, - { "uni06CA", "1" }, - { "uni06CA.fina", "1" }, - { "uni06CB", "1" }, - { "uni06CB.fina", "1" }, - { "uni06CC", "1" }, - { "uni06CC.fina", "1" }, - { "uni06CC.init", "1" }, - { "uni06CC.medi", "1" }, - { "uni06CD", "1" }, - { "uni06CD.fina", "1" }, - { "uni06CE", "1" }, - { "uni06CE.fina", "1" }, - { "uni06CE.init", "1" }, - { "uni06CE.medi", "1" }, - { "uni06CF", "1" }, - { "uni06CF.fina", "1" }, - { "uni06D0", "1" }, - { "uni06D0.fina", "1" }, - { "uni06D0.init", "1" }, - { "uni06D0.medi", "1" }, - { "uni06D1", "1" }, - { "uni06D1.fina", "1" }, - { "uni06D1.init", "1" }, - { "uni06D1.medi", "1" }, - { "uni06D2", "1" }, - { "uni06D2.fina", "1" }, - { "uni06D3", "1" }, - { "uni06D3.fina", "1" }, - { "uni06D4", "1" }, - { "uni06D5", "1" }, - { "uni06D6", "3" }, - { "uni06D7", "3" }, - { "uni06D8", "3" }, - { "uni06D9", "3" }, - { "uni06DA", "3" }, - { "uni06DB", "3" }, - { "uni06DC", "3" }, - { "uni06DD", "1" }, - { "uni06DD.2", "1" }, - { "uni06DD.3", "1" }, - { "uni06DD.aat1", "1" }, - { "uni06DD.aat2", "1" }, - { "uni06DD.aat3", "1" }, - { "uni06DD.sp1", "1" }, - { "uni06DD.sp2", "1" }, - { "uni06DD.sp3", "1" }, - { "uni06DE", "1" }, - { "uni06DF", "3" }, - { "uni06E0", "3" }, - { "uni06E1", "3" }, - { "uni06E2", "3" }, - { "uni06E3", "3" }, - { "uni06E4", "3" }, - { "uni06E5", "3" }, - { "uni06E6", "3" }, - { "uni06E7", "3" }, - { "uni06E8", "3" }, - { "uni06E9", "1" }, - { "uni06EA", "3" }, - { "uni06EB", "3" }, - { "uni06EC", "3" }, - { "uni06ED", "3" }, - { "uni06EE", "1" }, - { "uni06EE.fina", "1" }, - { "uni06EF", "1" }, - { "uni06EF.fina", "1" }, - { "uni06F0", "1" }, - { "uni06F0.Medium", "3" }, - { "uni06F0.Small", "3" }, - { "uni06F1", "1" }, - { "uni06F1.Medium", "3" }, - { "uni06F1.Small", "3" }, - { "uni06F2", "1" }, - { "uni06F2.Medium", "3" }, - { "uni06F2.Small", "3" }, - { "uni06F3", "1" }, - { "uni06F3.Medium", "3" }, - { "uni06F3.Small", "3" }, - { "uni06F4", "1" }, - { "uni06F4.Medium", "3" }, - { "uni06F4.Medium.urdu", "3" }, - { "uni06F4.Small", "3" }, - { "uni06F4.Small.urdu", "3" }, - { "uni06F4.urdu", "1" }, - { "uni06F5", "1" }, - { "uni06F5.Medium", "3" }, - { "uni06F5.Small", "3" }, - { "uni06F6", "1" }, - { "uni06F6.Medium", "3" }, - { "uni06F6.Medium.urdu", "3" }, - { "uni06F6.Small", "3" }, - { "uni06F6.Small.urdu", "3" }, - { "uni06F6.urdu", "1" }, - { "uni06F7", "1" }, - { "uni06F7.Medium", "3" }, - { "uni06F7.Medium.urdu", "3" }, - { "uni06F7.Small", "3" }, - { "uni06F7.Small.urdu", "3" }, - { "uni06F7.urdu", "1" }, - { "uni06F8", "1" }, - { "uni06F8.Medium", "3" }, - { "uni06F8.Small", "3" }, - { "uni06F9", "1" }, - { "uni06F9.Medium", "3" }, - { "uni06F9.Small", "3" }, - { "uni06FA", "1" }, - { "uni06FA.fina", "1" }, - { "uni06FA.init", "1" }, - { "uni06FA.medi", "1" }, - { "uni06FB", "1" }, - { "uni06FB.fina", "1" }, - { "uni06FB.init", "1" }, - { "uni06FB.medi", "1" }, - { "uni06FC", "1" }, - { "uni06FC.fina", "1" }, - { "uni06FC.init", "1" }, - { "uni06FC.medi", "1" }, - { "uni06FD", "1" }, - { "uni06FE", "1" }, - { "uni06FF", "1" }, - { "uni06FF.fina", "1" }, - { "uni06FF.init", "1" }, - { "uni06FF.medi", "1" }, - { "uni0750", "1" }, - { "uni0750.fina", "1" }, - { "uni0750.init", "1" }, - { "uni0750.medi", "1" }, - { "uni0751", "1" }, - { "uni0751.fina", "1" }, - { "uni0751.init", "1" }, - { "uni0751.medi", "1" }, - { "uni0752", "1" }, - { "uni0752.fina", "1" }, - { "uni0752.init", "1" }, - { "uni0752.medi", "1" }, - { "uni0753", "1" }, - { "uni0753.fina", "1" }, - { "uni0753.init", "1" }, - { "uni0753.medi", "1" }, - { "uni0754", "1" }, - { "uni0754.fina", "1" }, - { "uni0754.init", "1" }, - { "uni0754.medi", "1" }, - { "uni0755", "1" }, - { "uni0755.fina", "1" }, - { "uni0755.init", "1" }, - { "uni0755.medi", "1" }, - { "uni0756", "1" }, - { "uni0756.fina", "1" }, - { "uni0756.init", "1" }, - { "uni0756.medi", "1" }, - { "uni0757", "1" }, - { "uni0757.fina", "1" }, - { "uni0757.init", "1" }, - { "uni0757.medi", "1" }, - { "uni0758", "1" }, - { "uni0758.fina", "1" }, - { "uni0758.init", "1" }, - { "uni0758.medi", "1" }, - { "uni0759", "1" }, - { "uni0759.fina", "1" }, - { "uni075A", "1" }, - { "uni075A.fina", "1" }, - { "uni075B", "1" }, - { "uni075B.fina", "1" }, - { "uni075C", "1" }, - { "uni075C.fina", "1" }, - { "uni075C.init", "1" }, - { "uni075C.medi", "1" }, - { "uni075D", "1" }, - { "uni075D.fina", "1" }, - { "uni075D.init", "1" }, - { "uni075D.medi", "1" }, - { "uni075E", "1" }, - { "uni075E.fina", "1" }, - { "uni075E.init", "1" }, - { "uni075E.medi", "1" }, - { "uni075F", "1" }, - { "uni075F.fina", "1" }, - { "uni075F.init", "1" }, - { "uni075F.medi", "1" }, - { "uni0760", "1" }, - { "uni0760.fina", "1" }, - { "uni0760.init", "1" }, - { "uni0760.medi", "1" }, - { "uni0761", "1" }, - { "uni0761.fina", "1" }, - { "uni0761.init", "1" }, - { "uni0761.medi", "1" }, - { "uni0762", "1" }, - { "uni0762.fina", "1" }, - { "uni0762.init", "1" }, - { "uni0762.medi", "1" }, - { "uni0763", "1" }, - { "uni0763.fina", "1" }, - { "uni0763.init", "1" }, - { "uni0763.medi", "1" }, - { "uni0764", "1" }, - { "uni0764.fina", "1" }, - { "uni0764.init", "1" }, - { "uni0764.medi", "1" }, - { "uni0765", "1" }, - { "uni0765.fina", "1" }, - { "uni0765.init", "1" }, - { "uni0765.medi", "1" }, - { "uni0766", "1" }, - { "uni0766.fina", "1" }, - { "uni0766.init", "1" }, - { "uni0766.medi", "1" }, - { "uni0767", "1" }, - { "uni0767.fina", "1" }, - { "uni0767.init", "1" }, - { "uni0767.medi", "1" }, - { "uni0768", "1" }, - { "uni0768.fina", "1" }, - { "uni0768.init", "1" }, - { "uni0768.medi", "1" }, - { "uni0769", "1" }, - { "uni0769.fina", "1" }, - { "uni0769.init", "1" }, - { "uni0769.medi", "1" }, - { "uni076A", "1" }, - { "uni076A.fina", "1" }, - { "uni076A.init", "1" }, - { "uni076A.init.preAlef", "1" }, - { "uni076A.medi", "1" }, - { "uni076A.medi.preAlef", "1" }, - { "uni076A0627", "2" }, - { "uni076A0627.fina", "2" }, - { "uni076B", "1" }, - { "uni076B.fina", "1" }, - { "uni076C", "1" }, - { "uni076C.fina", "1" }, - { "uni076D", "1" }, - { "uni076D.fina", "1" }, - { "uni076D.init", "1" }, - { "uni076D.medi", "1" }, - { "uni2000", "1" }, - { "uni2001", "1" }, - { "uni2002", "1" }, - { "uni2003", "1" }, - { "uni2004", "1" }, - { "uni2005", "1" }, - { "uni2006", "1" }, - { "uni2007", "1" }, - { "uni2008", "1" }, - { "uni2009", "1" }, - { "uni200A", "1" }, - { "uni200B", "1" }, - { "uni200C", "1" }, - { "uni200D", "1" }, - { "uni200E", "1" }, - { "uni200F", "1" }, - { "uni202A", "1" }, - { "uni202B", "1" }, - { "uni202C", "1" }, - { "uni202D", "1" }, - { "uni202E", "1" }, - { "uni2060", "1" }, - { "uni206C", "1" }, - { "uni206D", "1" }, - { "uni25CC", "1" }, - { "uniFD3E", "1" }, - { "uniFD3F", "1" }, - { "uniFDF2", "1" }, - { "uniFDFC", "1" }, - { "uniFEFF", "1" }, - { "v", "1" }, - { "w", "1" }, - { "x", "1" }, - { "y", "1" }, - { "z", "1" }, - { "zero", "1" }, - { "zeroMedium", "3" }, - { "zeroSmall", "3" }, - }, - }, - // arab-004.ttx - { "f3", "lu0", - new String[][] { - { "_bar", "1" }, - { "_damma", "1" }, - { "_dot1", "1" }, - { "_dot1_hat", "1" }, - { "_dot1_smallV", "1" }, - { "_dot1_tah", "1" }, - { "_dot2h", "1" }, - { "_dot2h_tah", "1" }, - { "_dot2v", "1" }, - { "_dot3d", "1" }, - { "_dot3h", "1" }, - { "_dot3u", "1" }, - { "_dot3u_tah", "1" }, - { "_dot4", "1" }, - { "_gafBar", "1" }, - { "_gafBarShort", "1" }, - { "_gafBarShort_dot2h", "1" }, - { "_gafBarShort_dot3u", "1" }, - { "_gafBar_dot2h", "1" }, - { "_gafBar_dot3u", "1" }, - { "_hamza", "1" }, - { "_hamzaDamma", "1" }, - { "_hat", "1" }, - { "_highHamza", "1" }, - { "_invSmallV", "1" }, - { "_lines", "1" }, - { "_madda", "1" }, - { "_ring", "1" }, - { "_smallV", "1" }, - { "_tah", "1" }, - { "_vline", "1" }, - { "_wasla", "1" }, - { "_wavyHamza", "1" }, - { "_wavyHamza.b", "1" }, - { "a", "1" }, - { "absAutoKashida", "1" }, - { "absJeemRetro1", "1" }, - { "absJeemRetro1Fin", "1" }, - { "absJeemRetro1Ini", "1" }, - { "absJeemRetro1Med", "1" }, - { "absJeemRetro2", "1" }, - { "absJeemRetro2Fin", "1" }, - { "absJeemRetro2Ini", "1" }, - { "absJeemRetro2Med", "1" }, - { "absJeemRetro3", "1" }, - { "absJeemRetro3Fin", "1" }, - { "absJeemRetro3Ini", "1" }, - { "absJeemRetro3Med", "1" }, - { "absJehRetro1", "1" }, - { "absJehRetro1Fin", "1" }, - { "absJehRetro2", "1" }, - { "absJehRetro2Fin", "1" }, - { "absLamRetro", "1" }, - { "absLamRetroAlef", "2" }, - { "absLamRetroAlefFin", "2" }, - { "absLamRetroFin", "1" }, - { "absLamRetroIni", "1" }, - { "absLamRetroIni.preAlef", "1" }, - { "absLamRetroMed", "1" }, - { "absLamRetroMed.preAlef", "1" }, - { "absShaddaAlef", "3" }, - { "absSheenRetro1", "1" }, - { "absSheenRetro1Fin", "1" }, - { "absSheenRetro1Ini", "1" }, - { "absSheenRetro1Med", "1" }, - { "absSheenRetro2", "1" }, - { "absSheenRetro2Fin", "1" }, - { "absSheenRetro2Ini", "1" }, - { "absSheenRetro2Med", "1" }, - { "absTchehRetro1", "1" }, - { "absTchehRetro1Fin", "1" }, - { "absTchehRetro1Ini", "1" }, - { "absTchehRetro1Med", "1" }, - { "absTchehRetro2", "1" }, - { "absTchehRetro2Fin", "1" }, - { "absTchehRetro2Ini", "1" }, - { "absTchehRetro2Med", "1" }, - { "absWawDotBelow", "1" }, - { "absWawDotBelowFin", "1" }, - { "ampersand", "1" }, - { "asciicircum", "1" }, - { "asciitilde", "1" }, - { "asterisk", "1" }, - { "at", "1" }, - { "b", "1" }, - { "backslash", "1" }, - { "bar", "1" }, - { "braceleft", "1" }, - { "braceright", "1" }, - { "bracketleft", "1" }, - { "bracketright", "1" }, - { "c", "1" }, - { "colon", "1" }, - { "comma", "1" }, - { "d", "1" }, - { "dollar", "1" }, - { "e", "1" }, - { "eight", "1" }, - { "eightMedium", "3" }, - { "eightSmall", "3" }, - { "equal", "1" }, - { "exclam", "1" }, - { "f", "1" }, - { "five", "1" }, - { "fiveMedium", "3" }, - { "fiveSmall", "3" }, - { "four", "1" }, - { "fourMedium", "3" }, - { "fourSmall", "3" }, - { "g", "1" }, - { "grave", "1" }, - { "greater", "1" }, - { "h", "1" }, - { "hyphen", "1" }, - { "i", "1" }, - { "j", "1" }, - { "k", "1" }, - { "l", "1" }, - { "less", "1" }, - { "m", "1" }, - { "n", "1" }, - { "nine", "1" }, - { "nineMedium", "3" }, - { "nineSmall", "3" }, - { "nonmarkingreturn", "1" }, - { "numbersign", "1" }, - { "o", "1" }, - { "one", "1" }, - { "oneMedium", "3" }, - { "oneSmall", "3" }, - { "p", "1" }, - { "parenleft", "1" }, - { "parenright", "1" }, - { "percent", "1" }, - { "period", "1" }, - { "plus", "1" }, - { "q", "1" }, - { "question", "1" }, - { "quotedbl", "1" }, - { "quotesingle", "1" }, - { "r", "1" }, - { "s", "1" }, - { "semicolon", "1" }, - { "seven", "1" }, - { "sevenMedium", "3" }, - { "sevenSmall", "3" }, - { "six", "1" }, - { "sixMedium", "3" }, - { "sixSmall", "3" }, - { "slash", "1" }, - { "space", "1" }, - { "t", "1" }, - { "three", "1" }, - { "threeMedium", "3" }, - { "threeSmall", "3" }, - { "two", "1" }, - { "twoMedium", "3" }, - { "twoSmall", "3" }, - { "u", "1" }, - { "underscore", "1" }, - { "uni0600", "1" }, - { "uni0600.2", "1" }, - { "uni0600.3", "1" }, - { "uni0600.aat1", "1" }, - { "uni0600.aat2", "1" }, - { "uni0600.aat3", "1" }, - { "uni0600.sp1", "1" }, - { "uni0600.sp2", "1" }, - { "uni0600.sp3", "1" }, - { "uni0601", "1" }, - { "uni0601.2", "1" }, - { "uni0601.3", "1" }, - { "uni0601.4", "1" }, - { "uni0601.aat1", "1" }, - { "uni0601.aat2", "1" }, - { "uni0601.aat3", "1" }, - { "uni0601.aat4", "1" }, - { "uni0601.sp1", "1" }, - { "uni0601.sp2", "1" }, - { "uni0601.sp3", "1" }, - { "uni0601.sp4", "1" }, - { "uni0602", "1" }, - { "uni0602.2", "1" }, - { "uni0602.aat1", "1" }, - { "uni0602.aat2", "1" }, - { "uni0602.sp1", "1" }, - { "uni0602.sp2", "1" }, - { "uni0603", "1" }, - { "uni0603.2", "1" }, - { "uni0603.3", "1" }, - { "uni0603.aat1", "1" }, - { "uni0603.aat2", "1" }, - { "uni0603.aat3", "1" }, - { "uni0603.sp1", "1" }, - { "uni0603.sp2", "1" }, - { "uni0603.sp3", "1" }, - { "uni060B", "1" }, - { "uni060C", "1" }, - { "uni060C.downward", "1" }, - { "uni060D", "1" }, - { "uni060E", "1" }, - { "uni060F", "1" }, - { "uni0610", "3" }, - { "uni0611", "3" }, - { "uni0612", "3" }, - { "uni0613", "3" }, - { "uni0614", "3" }, - { "uni0615", "3" }, - { "uni061B", "1" }, - { "uni061B.downward", "1" }, - { "uni061E", "1" }, - { "uni061F", "1" }, - { "uni0621", "1" }, - { "uni0622", "1" }, - { "uni0622.fina", "1" }, - { "uni0622.fina.postLamIni", "1" }, - { "uni0622.fina.postLamMed", "1" }, - { "uni0623", "1" }, - { "uni0623.fina", "1" }, - { "uni0623.fina.postLamIni", "1" }, - { "uni0623.fina.postLamMed", "1" }, - { "uni0624", "1" }, - { "uni0624.fina", "1" }, - { "uni0625", "1" }, - { "uni0625.fina", "1" }, - { "uni0625.fina.postLamIni", "1" }, - { "uni0625.fina.postLamMed", "1" }, - { "uni0626", "1" }, - { "uni0626.fina", "1" }, - { "uni0626.init", "1" }, - { "uni0626.medi", "1" }, - { "uni0627", "1" }, - { "uni0627.fina", "1" }, - { "uni0627.fina.postLamIni", "1" }, - { "uni0627.fina.postLamMed", "1" }, - { "uni0628", "1" }, - { "uni0628.fina", "1" }, - { "uni0628.init", "1" }, - { "uni0628.medi", "1" }, - { "uni0629", "1" }, - { "uni0629.fina", "1" }, - { "uni062A", "1" }, - { "uni062A.fina", "1" }, - { "uni062A.init", "1" }, - { "uni062A.medi", "1" }, - { "uni062B", "1" }, - { "uni062B.fina", "1" }, - { "uni062B.init", "1" }, - { "uni062B.medi", "1" }, - { "uni062C", "1" }, - { "uni062C.fina", "1" }, - { "uni062C.init", "1" }, - { "uni062C.medi", "1" }, - { "uni062D", "1" }, - { "uni062D.fina", "1" }, - { "uni062D.init", "1" }, - { "uni062D.medi", "1" }, - { "uni062E", "1" }, - { "uni062E.fina", "1" }, - { "uni062E.init", "1" }, - { "uni062E.medi", "1" }, - { "uni062F", "1" }, - { "uni062F.fina", "1" }, - { "uni0630", "1" }, - { "uni0630.fina", "1" }, - { "uni0631", "1" }, - { "uni0631.fina", "1" }, - { "uni0632", "1" }, - { "uni0632.fina", "1" }, - { "uni0633", "1" }, - { "uni0633.fina", "1" }, - { "uni0633.init", "1" }, - { "uni0633.medi", "1" }, - { "uni0634", "1" }, - { "uni0634.fina", "1" }, - { "uni0634.init", "1" }, - { "uni0634.medi", "1" }, - { "uni0635", "1" }, - { "uni0635.fina", "1" }, - { "uni0635.init", "1" }, - { "uni0635.medi", "1" }, - { "uni0636", "1" }, - { "uni0636.fina", "1" }, - { "uni0636.init", "1" }, - { "uni0636.medi", "1" }, - { "uni0637", "1" }, - { "uni0637.fina", "1" }, - { "uni0637.init", "1" }, - { "uni0637.medi", "1" }, - { "uni0638", "1" }, - { "uni0638.fina", "1" }, - { "uni0638.init", "1" }, - { "uni0638.medi", "1" }, - { "uni0639", "1" }, - { "uni0639.fina", "1" }, - { "uni0639.init", "1" }, - { "uni0639.medi", "1" }, - { "uni063A", "1" }, - { "uni063A.fina", "1" }, - { "uni063A.init", "1" }, - { "uni063A.medi", "1" }, - { "uni0640", "1" }, - { "uni0641", "1" }, - { "uni0641.fina", "1" }, - { "uni0641.init", "1" }, - { "uni0641.medi", "1" }, - { "uni0642", "1" }, - { "uni0642.fina", "1" }, - { "uni0642.init", "1" }, - { "uni0642.medi", "1" }, - { "uni0643", "1" }, - { "uni0643.fina", "1" }, - { "uni0643.init", "1" }, - { "uni0643.medi", "1" }, - { "uni0644", "1" }, - { "uni0644.fina", "1" }, - { "uni0644.init", "1" }, - { "uni0644.init.preAlef", "1" }, - { "uni0644.medi", "1" }, - { "uni0644.medi.preAlef", "1" }, - { "uni06440627", "2" }, - { "uni06440627.fina", "2" }, - { "uni0645", "1" }, - { "uni0645.fina", "1" }, - { "uni0645.fina.sindhi", "1" }, - { "uni0645.init", "1" }, - { "uni0645.medi", "1" }, - { "uni0645.sindhi", "1" }, - { "uni0646", "1" }, - { "uni0646.fina", "1" }, - { "uni0646.init", "1" }, - { "uni0646.medi", "1" }, - { "uni0647", "1" }, - { "uni0647.fina", "1" }, - { "uni0647.fina.hooked", "1" }, - { "uni0647.fina.knottedFlat", "1" }, - { "uni0647.fina.knottedHigh", "1" }, - { "uni0647.init", "1" }, - { "uni0647.init.hooked", "1" }, - { "uni0647.knotted", "1" }, - { "uni0647.medi", "1" }, - { "uni0647.medi.hooked", "1" }, - { "uni0647.medi.knottedHigh", "1" }, - { "uni0648", "1" }, - { "uni0648.fina", "1" }, - { "uni0649", "1" }, - { "uni0649.fina", "1" }, - { "uni0649.init", "1" }, - { "uni0649.medi", "1" }, - { "uni064A", "1" }, - { "uni064A.fina", "1" }, - { "uni064A.fina.noDots", "1" }, - { "uni064A.init", "1" }, - { "uni064A.init.noDots", "1" }, - { "uni064A.medi", "1" }, - { "uni064A.medi.noDots", "1" }, - { "uni064A.noDots", "1" }, - { "uni064B", "3" }, - { "uni064C", "3" }, - { "uni064C.sixNine", "3" }, - { "uni064D", "3" }, - { "uni064E", "3" }, - { "uni064F", "3" }, - { "uni0650", "3" }, - { "uni0651", "3" }, - { "uni0651064B", "3" }, - { "uni0651064C", "3" }, - { "uni0651064D", "3" }, - { "uni0651064E", "3" }, - { "uni0651064F", "3" }, - { "uni06510650", "3" }, - { "uni0652", "3" }, - { "uni0652.downOpen", "3" }, - { "uni0652.leftOpen", "3" }, - { "uni0653", "3" }, - { "uni0654", "3" }, - { "uni0654064E", "3" }, - { "uni0654064F", "3" }, - { "uni0655", "3" }, - { "uni0656", "3" }, - { "uni0657", "3" }, - { "uni0658", "3" }, - { "uni0659", "3" }, - { "uni065A", "3" }, - { "uni065B", "3" }, - { "uni065C", "3" }, - { "uni065D", "3" }, - { "uni065E", "3" }, - { "uni0660", "1" }, - { "uni0660.Medium", "3" }, - { "uni0660.Small", "3" }, - { "uni0661", "1" }, - { "uni0661.Medium", "3" }, - { "uni0661.Small", "3" }, - { "uni0662", "1" }, - { "uni0662.Medium", "3" }, - { "uni0662.Small", "3" }, - { "uni0663", "1" }, - { "uni0663.Medium", "3" }, - { "uni0663.Small", "3" }, - { "uni0664", "1" }, - { "uni0664.Medium", "3" }, - { "uni0664.Small", "3" }, - { "uni0665", "1" }, - { "uni0665.Medium", "3" }, - { "uni0665.Small", "3" }, - { "uni0666", "1" }, - { "uni0666.Medium", "3" }, - { "uni0666.Small", "3" }, - { "uni0667", "1" }, - { "uni0667.Medium", "3" }, - { "uni0667.Small", "3" }, - { "uni0668", "1" }, - { "uni0668.Medium", "3" }, - { "uni0668.Small", "3" }, - { "uni0669", "1" }, - { "uni0669.Medium", "3" }, - { "uni0669.Small", "3" }, - { "uni066A", "1" }, - { "uni066B", "1" }, - { "uni066C", "1" }, - { "uni066D", "1" }, - { "uni066E", "1" }, - { "uni066E.fina", "1" }, - { "uni066E.init", "1" }, - { "uni066E.medi", "1" }, - { "uni066F", "1" }, - { "uni066F.fina", "1" }, - { "uni066F.init", "1" }, - { "uni066F.medi", "1" }, - { "uni0670", "3" }, - { "uni0670.large", "3" }, - { "uni0671", "1" }, - { "uni0671.fina", "1" }, - { "uni0671.fina.postLamIni", "1" }, - { "uni0671.fina.postLamMed", "1" }, - { "uni0672", "1" }, - { "uni0672.fina", "1" }, - { "uni0672.fina.postLamIni", "1" }, - { "uni0672.fina.postLamMed", "1" }, - { "uni0673", "1" }, - { "uni0673.fina", "1" }, - { "uni0673.fina.postLamIni", "1" }, - { "uni0673.fina.postLamMed", "1" }, - { "uni0674", "3" }, - { "uni0675", "1" }, - { "uni0675.fina", "1" }, - { "uni0675.fina.postLamIni", "1" }, - { "uni0675.fina.postLamMed", "1" }, - { "uni0676", "1" }, - { "uni0676.fina", "1" }, - { "uni0677", "1" }, - { "uni0677.fina", "1" }, - { "uni0678", "1" }, - { "uni0678.fina", "1" }, - { "uni0678.init", "1" }, - { "uni0678.medi", "1" }, - { "uni0679", "1" }, - { "uni0679.fina", "1" }, - { "uni0679.init", "1" }, - { "uni0679.medi", "1" }, - { "uni067A", "1" }, - { "uni067A.fina", "1" }, - { "uni067A.init", "1" }, - { "uni067A.medi", "1" }, - { "uni067B", "1" }, - { "uni067B.fina", "1" }, - { "uni067B.init", "1" }, - { "uni067B.medi", "1" }, - { "uni067C", "1" }, - { "uni067C.fina", "1" }, - { "uni067C.init", "1" }, - { "uni067C.medi", "1" }, - { "uni067D", "1" }, - { "uni067D.fina", "1" }, - { "uni067D.init", "1" }, - { "uni067D.medi", "1" }, - { "uni067E", "1" }, - { "uni067E.fina", "1" }, - { "uni067E.init", "1" }, - { "uni067E.medi", "1" }, - { "uni067F", "1" }, - { "uni067F.fina", "1" }, - { "uni067F.init", "1" }, - { "uni067F.medi", "1" }, - { "uni0680", "1" }, - { "uni0680.fina", "1" }, - { "uni0680.init", "1" }, - { "uni0680.medi", "1" }, - { "uni0681", "1" }, - { "uni0681.fina", "1" }, - { "uni0681.init", "1" }, - { "uni0681.medi", "1" }, - { "uni0682", "1" }, - { "uni0682.fina", "1" }, - { "uni0682.init", "1" }, - { "uni0682.medi", "1" }, - { "uni0683", "1" }, - { "uni0683.fina", "1" }, - { "uni0683.init", "1" }, - { "uni0683.medi", "1" }, - { "uni0684", "1" }, - { "uni0684.fina", "1" }, - { "uni0684.init", "1" }, - { "uni0684.medi", "1" }, - { "uni0685", "1" }, - { "uni0685.fina", "1" }, - { "uni0685.init", "1" }, - { "uni0685.medi", "1" }, - { "uni0686", "1" }, - { "uni0686.fina", "1" }, - { "uni0686.init", "1" }, - { "uni0686.medi", "1" }, - { "uni0687", "1" }, - { "uni0687.fina", "1" }, - { "uni0687.init", "1" }, - { "uni0687.medi", "1" }, - { "uni0688", "1" }, - { "uni0688.fina", "1" }, - { "uni0689", "1" }, - { "uni0689.fina", "1" }, - { "uni068A", "1" }, - { "uni068A.fina", "1" }, - { "uni068B", "1" }, - { "uni068B.fina", "1" }, - { "uni068C", "1" }, - { "uni068C.fina", "1" }, - { "uni068D", "1" }, - { "uni068D.fina", "1" }, - { "uni068E", "1" }, - { "uni068E.fina", "1" }, - { "uni068F", "1" }, - { "uni068F.fina", "1" }, - { "uni0690", "1" }, - { "uni0690.fina", "1" }, - { "uni0691", "1" }, - { "uni0691.fina", "1" }, - { "uni0692", "1" }, - { "uni0692.fina", "1" }, - { "uni0693", "1" }, - { "uni0693.fina", "1" }, - { "uni0694", "1" }, - { "uni0694.fina", "1" }, - { "uni0695", "1" }, - { "uni0695.fina", "1" }, - { "uni0696", "1" }, - { "uni0696.fina", "1" }, - { "uni0697", "1" }, - { "uni0697.fina", "1" }, - { "uni0698", "1" }, - { "uni0698.dotHat", "1" }, - { "uni0698.fina", "1" }, - { "uni0698.fina.dotHat", "1" }, - { "uni0699", "1" }, - { "uni0699.fina", "1" }, - { "uni069A", "1" }, - { "uni069A.fina", "1" }, - { "uni069A.init", "1" }, - { "uni069A.medi", "1" }, - { "uni069B", "1" }, - { "uni069B.fina", "1" }, - { "uni069B.init", "1" }, - { "uni069B.medi", "1" }, - { "uni069C", "1" }, - { "uni069C.fina", "1" }, - { "uni069C.init", "1" }, - { "uni069C.medi", "1" }, - { "uni069D", "1" }, - { "uni069D.fina", "1" }, - { "uni069D.init", "1" }, - { "uni069D.medi", "1" }, - { "uni069E", "1" }, - { "uni069E.fina", "1" }, - { "uni069E.init", "1" }, - { "uni069E.medi", "1" }, - { "uni069F", "1" }, - { "uni069F.fina", "1" }, - { "uni069F.init", "1" }, - { "uni069F.medi", "1" }, - { "uni06A0", "1" }, - { "uni06A0.fina", "1" }, - { "uni06A0.init", "1" }, - { "uni06A0.medi", "1" }, - { "uni06A1", "1" }, - { "uni06A1.fina", "1" }, - { "uni06A1.init", "1" }, - { "uni06A1.medi", "1" }, - { "uni06A2", "1" }, - { "uni06A2.fina", "1" }, - { "uni06A2.init", "1" }, - { "uni06A2.medi", "1" }, - { "uni06A3", "1" }, - { "uni06A3.fina", "1" }, - { "uni06A3.init", "1" }, - { "uni06A3.medi", "1" }, - { "uni06A4", "1" }, - { "uni06A4.fina", "1" }, - { "uni06A4.init", "1" }, - { "uni06A4.medi", "1" }, - { "uni06A5", "1" }, - { "uni06A5.fina", "1" }, - { "uni06A5.init", "1" }, - { "uni06A5.medi", "1" }, - { "uni06A6", "1" }, - { "uni06A6.fina", "1" }, - { "uni06A6.init", "1" }, - { "uni06A6.medi", "1" }, - { "uni06A7", "1" }, - { "uni06A7.fina", "1" }, - { "uni06A7.init", "1" }, - { "uni06A7.medi", "1" }, - { "uni06A8", "1" }, - { "uni06A8.fina", "1" }, - { "uni06A8.init", "1" }, - { "uni06A8.medi", "1" }, - { "uni06A9", "1" }, - { "uni06A9.fina", "1" }, - { "uni06A9.init", "1" }, - { "uni06A9.medi", "1" }, - { "uni06AA", "1" }, - { "uni06AA.fina", "1" }, - { "uni06AA.init", "1" }, - { "uni06AA.medi", "1" }, - { "uni06AB", "1" }, - { "uni06AB.fina", "1" }, - { "uni06AB.init", "1" }, - { "uni06AB.medi", "1" }, - { "uni06AC", "1" }, - { "uni06AC.fina", "1" }, - { "uni06AC.init", "1" }, - { "uni06AC.medi", "1" }, - { "uni06AD", "1" }, - { "uni06AD.fina", "1" }, - { "uni06AD.init", "1" }, - { "uni06AD.medi", "1" }, - { "uni06AE", "1" }, - { "uni06AE.fina", "1" }, - { "uni06AE.init", "1" }, - { "uni06AE.medi", "1" }, - { "uni06AF", "1" }, - { "uni06AF.fina", "1" }, - { "uni06AF.init", "1" }, - { "uni06AF.medi", "1" }, - { "uni06B0", "1" }, - { "uni06B0.fina", "1" }, - { "uni06B0.init", "1" }, - { "uni06B0.medi", "1" }, - { "uni06B1", "1" }, - { "uni06B1.fina", "1" }, - { "uni06B1.init", "1" }, - { "uni06B1.medi", "1" }, - { "uni06B2", "1" }, - { "uni06B2.fina", "1" }, - { "uni06B2.init", "1" }, - { "uni06B2.medi", "1" }, - { "uni06B3", "1" }, - { "uni06B3.fina", "1" }, - { "uni06B3.init", "1" }, - { "uni06B3.medi", "1" }, - { "uni06B4", "1" }, - { "uni06B4.fina", "1" }, - { "uni06B4.init", "1" }, - { "uni06B4.medi", "1" }, - { "uni06B5", "1" }, - { "uni06B5.fina", "1" }, - { "uni06B5.init", "1" }, - { "uni06B5.init.preAlef", "1" }, - { "uni06B5.medi", "1" }, - { "uni06B5.medi.preAlef", "1" }, - { "uni06B50627", "2" }, - { "uni06B50627.fina", "2" }, - { "uni06B6", "1" }, - { "uni06B6.fina", "1" }, - { "uni06B6.init", "1" }, - { "uni06B6.init.preAlef", "1" }, - { "uni06B6.medi", "1" }, - { "uni06B6.medi.preAlef", "1" }, - { "uni06B60627", "2" }, - { "uni06B60627.fina", "2" }, - { "uni06B7", "1" }, - { "uni06B7.fina", "1" }, - { "uni06B7.init", "1" }, - { "uni06B7.init.preAlef", "1" }, - { "uni06B7.medi", "1" }, - { "uni06B7.medi.preAlef", "1" }, - { "uni06B70627", "2" }, - { "uni06B70627.fina", "2" }, - { "uni06B8", "1" }, - { "uni06B8.fina", "1" }, - { "uni06B8.init", "1" }, - { "uni06B8.init.preAlef", "1" }, - { "uni06B8.medi", "1" }, - { "uni06B8.medi.preAlef", "1" }, - { "uni06B80627", "2" }, - { "uni06B80627.fina", "2" }, - { "uni06B9", "1" }, - { "uni06B9.fina", "1" }, - { "uni06B9.init", "1" }, - { "uni06B9.medi", "1" }, - { "uni06BA", "1" }, - { "uni06BA.fina", "1" }, - { "uni06BA.init", "1" }, - { "uni06BA.medi", "1" }, - { "uni06BB", "1" }, - { "uni06BB.fina", "1" }, - { "uni06BB.init", "1" }, - { "uni06BB.medi", "1" }, - { "uni06BC", "1" }, - { "uni06BC.fina", "1" }, - { "uni06BC.init", "1" }, - { "uni06BC.medi", "1" }, - { "uni06BD", "1" }, - { "uni06BD.fina", "1" }, - { "uni06BD.init", "1" }, - { "uni06BD.medi", "1" }, - { "uni06BE", "1" }, - { "uni06BE.fina", "1" }, - { "uni06BE.init", "1" }, - { "uni06BE.medi", "1" }, - { "uni06BF", "1" }, - { "uni06BF.fina", "1" }, - { "uni06BF.init", "1" }, - { "uni06BF.medi", "1" }, - { "uni06C0", "1" }, - { "uni06C0.fina", "1" }, - { "uni06C0.init", "1" }, - { "uni06C0.medi", "1" }, - { "uni06C1", "1" }, - { "uni06C1.fina", "1" }, - { "uni06C1.init", "1" }, - { "uni06C1.medi", "1" }, - { "uni06C2", "1" }, - { "uni06C2.fina", "1" }, - { "uni06C2.init", "1" }, - { "uni06C2.medi", "1" }, - { "uni06C3", "1" }, - { "uni06C3.fina", "1" }, - { "uni06C4", "1" }, - { "uni06C4.fina", "1" }, - { "uni06C5", "1" }, - { "uni06C5.fina", "1" }, - { "uni06C6", "1" }, - { "uni06C6.fina", "1" }, - { "uni06C7", "1" }, - { "uni06C7.fina", "1" }, - { "uni06C8", "1" }, - { "uni06C8.fina", "1" }, - { "uni06C9", "1" }, - { "uni06C9.fina", "1" }, - { "uni06CA", "1" }, - { "uni06CA.fina", "1" }, - { "uni06CB", "1" }, - { "uni06CB.fina", "1" }, - { "uni06CC", "1" }, - { "uni06CC.fina", "1" }, - { "uni06CC.init", "1" }, - { "uni06CC.medi", "1" }, - { "uni06CD", "1" }, - { "uni06CD.fina", "1" }, - { "uni06CE", "1" }, - { "uni06CE.fina", "1" }, - { "uni06CE.init", "1" }, - { "uni06CE.medi", "1" }, - { "uni06CF", "1" }, - { "uni06CF.fina", "1" }, - { "uni06D0", "1" }, - { "uni06D0.fina", "1" }, - { "uni06D0.init", "1" }, - { "uni06D0.medi", "1" }, - { "uni06D1", "1" }, - { "uni06D1.fina", "1" }, - { "uni06D1.init", "1" }, - { "uni06D1.medi", "1" }, - { "uni06D2", "1" }, - { "uni06D2.fina", "1" }, - { "uni06D3", "1" }, - { "uni06D3.fina", "1" }, - { "uni06D4", "1" }, - { "uni06D5", "1" }, - { "uni06D6", "3" }, - { "uni06D7", "3" }, - { "uni06D8", "3" }, - { "uni06D9", "3" }, - { "uni06DA", "3" }, - { "uni06DB", "3" }, - { "uni06DC", "3" }, - { "uni06DD", "1" }, - { "uni06DD.2", "1" }, - { "uni06DD.3", "1" }, - { "uni06DD.aat1", "1" }, - { "uni06DD.aat2", "1" }, - { "uni06DD.aat3", "1" }, - { "uni06DD.alt", "1" }, - { "uni06DD.alt.2", "1" }, - { "uni06DD.alt.3", "1" }, - { "uni06DD.alt.aat1", "1" }, - { "uni06DD.alt.aat2", "1" }, - { "uni06DD.alt.aat3", "1" }, - { "uni06DD.altB", "1" }, - { "uni06DD.altB.2", "1" }, - { "uni06DD.altB.3", "1" }, - { "uni06DD.altB.aat1", "1" }, - { "uni06DD.altB.aat2", "1" }, - { "uni06DD.altB.aat3", "1" }, - { "uni06DD.sp1", "1" }, - { "uni06DD.sp2", "1" }, - { "uni06DD.sp3", "1" }, - { "uni06DE", "1" }, - { "uni06DF", "3" }, - { "uni06E0", "3" }, - { "uni06E1", "3" }, - { "uni06E2", "3" }, - { "uni06E3", "3" }, - { "uni06E4", "3" }, - { "uni06E5", "3" }, - { "uni06E6", "3" }, - { "uni06E7", "3" }, - { "uni06E8", "3" }, - { "uni06E9", "1" }, - { "uni06EA", "3" }, - { "uni06EB", "3" }, - { "uni06EC", "3" }, - { "uni06ED", "3" }, - { "uni06EE", "1" }, - { "uni06EE.fina", "1" }, - { "uni06EF", "1" }, - { "uni06EF.fina", "1" }, - { "uni06F0", "1" }, - { "uni06F0.Medium", "3" }, - { "uni06F0.Small", "3" }, - { "uni06F1", "1" }, - { "uni06F1.Medium", "3" }, - { "uni06F1.Small", "3" }, - { "uni06F2", "1" }, - { "uni06F2.Medium", "3" }, - { "uni06F2.Small", "3" }, - { "uni06F3", "1" }, - { "uni06F3.Medium", "3" }, - { "uni06F3.Small", "3" }, - { "uni06F4", "1" }, - { "uni06F4.Medium", "3" }, - { "uni06F4.Medium.urdu", "3" }, - { "uni06F4.Small", "3" }, - { "uni06F4.Small.urdu", "3" }, - { "uni06F4.urdu", "1" }, - { "uni06F5", "1" }, - { "uni06F5.Medium", "3" }, - { "uni06F5.Small", "3" }, - { "uni06F6", "1" }, - { "uni06F6.Medium", "3" }, - { "uni06F6.Medium.urdu", "3" }, - { "uni06F6.Small", "3" }, - { "uni06F6.Small.urdu", "3" }, - { "uni06F6.urdu", "1" }, - { "uni06F7", "1" }, - { "uni06F7.Medium", "3" }, - { "uni06F7.Medium.urdu", "3" }, - { "uni06F7.Small", "3" }, - { "uni06F7.Small.urdu", "3" }, - { "uni06F7.urdu", "1" }, - { "uni06F8", "1" }, - { "uni06F8.Medium", "3" }, - { "uni06F8.Small", "3" }, - { "uni06F9", "1" }, - { "uni06F9.Medium", "3" }, - { "uni06F9.Small", "3" }, - { "uni06FA", "1" }, - { "uni06FA.fina", "1" }, - { "uni06FA.init", "1" }, - { "uni06FA.medi", "1" }, - { "uni06FB", "1" }, - { "uni06FB.fina", "1" }, - { "uni06FB.init", "1" }, - { "uni06FB.medi", "1" }, - { "uni06FC", "1" }, - { "uni06FC.fina", "1" }, - { "uni06FC.init", "1" }, - { "uni06FC.medi", "1" }, - { "uni06FD", "1" }, - { "uni06FE", "1" }, - { "uni06FF", "1" }, - { "uni06FF.fina", "1" }, - { "uni06FF.init", "1" }, - { "uni06FF.medi", "1" }, - { "uni0750", "1" }, - { "uni0750.fina", "1" }, - { "uni0750.init", "1" }, - { "uni0750.medi", "1" }, - { "uni0751", "1" }, - { "uni0751.fina", "1" }, - { "uni0751.init", "1" }, - { "uni0751.medi", "1" }, - { "uni0752", "1" }, - { "uni0752.fina", "1" }, - { "uni0752.init", "1" }, - { "uni0752.medi", "1" }, - { "uni0753", "1" }, - { "uni0753.fina", "1" }, - { "uni0753.init", "1" }, - { "uni0753.medi", "1" }, - { "uni0754", "1" }, - { "uni0754.fina", "1" }, - { "uni0754.init", "1" }, - { "uni0754.medi", "1" }, - { "uni0755", "1" }, - { "uni0755.fina", "1" }, - { "uni0755.init", "1" }, - { "uni0755.medi", "1" }, - { "uni0756", "1" }, - { "uni0756.fina", "1" }, - { "uni0756.init", "1" }, - { "uni0756.medi", "1" }, - { "uni0757", "1" }, - { "uni0757.fina", "1" }, - { "uni0757.init", "1" }, - { "uni0757.medi", "1" }, - { "uni0758", "1" }, - { "uni0758.fina", "1" }, - { "uni0758.init", "1" }, - { "uni0758.medi", "1" }, - { "uni0759", "1" }, - { "uni0759.fina", "1" }, - { "uni075A", "1" }, - { "uni075A.fina", "1" }, - { "uni075B", "1" }, - { "uni075B.fina", "1" }, - { "uni075C", "1" }, - { "uni075C.fina", "1" }, - { "uni075C.init", "1" }, - { "uni075C.medi", "1" }, - { "uni075D", "1" }, - { "uni075D.fina", "1" }, - { "uni075D.init", "1" }, - { "uni075D.medi", "1" }, - { "uni075E", "1" }, - { "uni075E.fina", "1" }, - { "uni075E.init", "1" }, - { "uni075E.medi", "1" }, - { "uni075F", "1" }, - { "uni075F.fina", "1" }, - { "uni075F.init", "1" }, - { "uni075F.medi", "1" }, - { "uni0760", "1" }, - { "uni0760.fina", "1" }, - { "uni0760.init", "1" }, - { "uni0760.medi", "1" }, - { "uni0761", "1" }, - { "uni0761.fina", "1" }, - { "uni0761.init", "1" }, - { "uni0761.medi", "1" }, - { "uni0762", "1" }, - { "uni0762.fina", "1" }, - { "uni0762.init", "1" }, - { "uni0762.medi", "1" }, - { "uni0763", "1" }, - { "uni0763.fina", "1" }, - { "uni0763.init", "1" }, - { "uni0763.medi", "1" }, - { "uni0764", "1" }, - { "uni0764.fina", "1" }, - { "uni0764.init", "1" }, - { "uni0764.medi", "1" }, - { "uni0765", "1" }, - { "uni0765.fina", "1" }, - { "uni0765.init", "1" }, - { "uni0765.medi", "1" }, - { "uni0766", "1" }, - { "uni0766.fina", "1" }, - { "uni0766.init", "1" }, - { "uni0766.medi", "1" }, - { "uni0767", "1" }, - { "uni0767.fina", "1" }, - { "uni0767.init", "1" }, - { "uni0767.medi", "1" }, - { "uni0768", "1" }, - { "uni0768.fina", "1" }, - { "uni0768.init", "1" }, - { "uni0768.medi", "1" }, - { "uni0769", "1" }, - { "uni0769.fina", "1" }, - { "uni0769.init", "1" }, - { "uni0769.medi", "1" }, - { "uni076A", "1" }, - { "uni076A.fina", "1" }, - { "uni076A.init", "1" }, - { "uni076A.init.preAlef", "1" }, - { "uni076A.medi", "1" }, - { "uni076A.medi.preAlef", "1" }, - { "uni076A0627", "2" }, - { "uni076A0627.fina", "2" }, - { "uni076B", "1" }, - { "uni076B.fina", "1" }, - { "uni076C", "1" }, - { "uni076C.fina", "1" }, - { "uni076D", "1" }, - { "uni076D.fina", "1" }, - { "uni076D.init", "1" }, - { "uni076D.medi", "1" }, - { "uni2000", "1" }, - { "uni2001", "1" }, - { "uni2002", "1" }, - { "uni2003", "1" }, - { "uni2004", "1" }, - { "uni2005", "1" }, - { "uni2006", "1" }, - { "uni2007", "1" }, - { "uni2008", "1" }, - { "uni2009", "1" }, - { "uni200A", "1" }, - { "uni200B", "1" }, - { "uni200C", "1" }, - { "uni200D", "1" }, - { "uni200E", "1" }, - { "uni200F", "1" }, - { "uni202A", "1" }, - { "uni202B", "1" }, - { "uni202C", "1" }, - { "uni202D", "1" }, - { "uni202E", "1" }, - { "uni2060", "1" }, - { "uni206C", "1" }, - { "uni206D", "1" }, - { "uni25CC", "1" }, - { "uniFD3E", "1" }, - { "uniFD3F", "1" }, - { "uniFDF2", "1" }, - { "uniFDFC", "1" }, - { "uniFEFF", "1" }, - { "v", "1" }, - { "w", "1" }, - { "x", "1" }, - { "y", "1" }, - { "z", "1" }, - { "zero", "1" }, - { "zeroMedium", "3" }, - { "zeroSmall", "3" }, - }, - }, - }; - - private static Object[][] ltAttachmentPoint = { - { GlyphDefinitionTable.GDEF_LOOKUP_TYPE_ATTACHMENT_POINT }, - // arab-001.ttx - not present - // arab-002.ttx - maybe add tests - // arab-003.ttx - maybe add tests - // arab-004.ttx - maybe add tests - }; - - private static Object[][] ltLigatureCaret = { - { GlyphDefinitionTable.GDEF_LOOKUP_TYPE_LIGATURE_CARET }, - // arab-001.ttx - not present - // arab-002.ttx - maybe add tests - // arab-003.ttx - maybe add tests - // arab-004.ttx - maybe add tests - }; - - private static Object[][] ltMarkAttachment = { - { GlyphDefinitionTable.GDEF_LOOKUP_TYPE_MARK_ATTACHMENT }, - // arab-001.ttx - not present - // arab-002.ttx - maybe add tests - // arab-003.ttx - maybe add tests - // arab-004.ttx - maybe add tests - }; - - @Test - public void testGDEFGlyphClass() throws Exception { - performLookups(ltGlyphClass); - } - - @Test - public void testGDEFAttachmentPoint() throws Exception { - performLookups(ltAttachmentPoint); - } - - @Test - public void testGDEFLigatureCaret() throws Exception { - performLookups(ltLigatureCaret); - } - - @Test - public void testGDEFMarkAttachment() throws Exception { - performLookups(ltMarkAttachment); - } - - /** - * Perform lookups on all test data in test specification TS. - * @param ts test specification - */ - private void performLookups(Object[][] ts) { - assert ts.length > 0; - Object[] tp = ts[0]; - for (int i = 1; i < ts.length; i++) { - performLookups(tp, ts[i]); - } - } - - /** - * Perform lookups on all test data TD using test parameters TP. - * @param tp test parameters - * @param td test data - */ - private void performLookups(Object[] tp, Object[] td) { - assert tp.length > 0; - if (td.length > 1) { - String fid = (String) td[0]; - String lid = (String) td[1]; - TTXFile tf = findTTX(fid); - assertTrue(tf != null); - GlyphDefinitionTable gdef = tf.getGDEF(); - assertTrue(gdef != null); - String[][] tia = (String[][]) td[2]; - switch ((int) ((Integer) tp[0])) { - case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_GLYPH_CLASS: - performGlyphClassLookups(tf, lid, tia); - break; - case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_ATTACHMENT_POINT: - performAttachmentPointLookups(tf, lid, tia); - break; - case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_LIGATURE_CARET: - performLigatureCaretLookups(tf, lid, tia); - break; - case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_MARK_ATTACHMENT: - performMarkAttachmentLookups(tf, lid, tia); - break; - default: - assertTrue("bad lookup type", false); - break; - } - } - } - - private void performGlyphClassLookups(TTXFile tf, String lid, String[][] tia) { - GlyphDefinitionTable gdef = tf.getGDEF(); - assert gdef != null; - for (String[] ti : tia) { - assert ti != null; - assert ti.length > 1; - String gn = ti[0]; - assert gn != null; - String cn = ti[1]; - assert cn != null; - int g = tf.getGlyph(gn); - assertTrue(g >= 0); - int oc = Integer.parseInt(cn); - int tc = gdef.getGlyphClass(g); - assertEquals("bad glyph class for glyph \'" + gn + "\', gid(" + g + ")", oc, tc); - } - } - - private void performAttachmentPointLookups(TTXFile tf, String lid, String[][] tia) { - // not yet supported by GDEF or test TTX files - } - - private void performLigatureCaretLookups(TTXFile tf, String lid, String[][] tia) { - // not yet supported by GDEF or test TTX files - } - - private void performMarkAttachmentLookups(TTXFile tf, String lid, String[][] tia) { - // not yet supported by GDEF or test TTX files - } - - private String findTTXPath(String fid) { - for (String[] fs : ttxFonts) { - if ((fs != null) && (fs.length > 1)) { - if (fs[0].equals(fid)) { - return ttxFilesRoot + File.separator + fs[1]; - } - } - } - return null; - } - - private TTXFile findTTX(String fid) { - String pn = findTTXPath(fid); - assertTrue(pn != null); - try { - TTXFile tf = TTXFile.getFromCache(pn); - return tf; - } catch (Exception e) { - fail(e.getMessage()); - return null; - } - } - -} diff --git a/test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java deleted file mode 100644 index cf63b4eff..000000000 --- a/test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java +++ /dev/null @@ -1,469 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.fonts; - -import java.io.File; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.apache.fop.complexscripts.fonts.GlyphTable.LookupTable; -import org.apache.fop.complexscripts.fonts.ttx.TTXFile; -import org.apache.fop.complexscripts.util.GlyphContextTester; -import org.apache.fop.complexscripts.util.GlyphSequence; -import org.apache.fop.complexscripts.util.ScriptContextTester; - -// CSOFF: LineLength - -public class GPOSTestCase implements ScriptContextTester, GlyphContextTester { - - private static String ttxFilesRoot = "test/resources/complexscripts"; - - private static String[][] ttxFonts = { - { "f0", "arab/ttx/arab-001.ttx" }, // simplified arabic - { "f1", "arab/ttx/arab-002.ttx" }, // traditional arabic - { "f2", "arab/ttx/arab-003.ttx" }, // lateef - { "f3", "arab/ttx/arab-004.ttx" }, // scheherazade - }; - - private static Object[][] ltSingle = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_SINGLE }, - // arab-001.ttx - { "f0", "lu1", "arab", "dflt", "mark", - new Object[][] { - { - new String[] { "fathatan" }, - new int[][] { - { 0, 0, -412, 0 } - } - }, - { - new String[] { "fatha" }, - new int[][] { - { 0, 0, -410, 0 } - } - }, - }, - }, - { "f0", "lu9", "arab", "*", "*", - new Object[][] { - { - new String[] { "fathatan" }, - new int[][] { - { 50, 0, 0, 0 } - } - }, - { - new String[] { "fatha" }, - new int[][] { - { 50, 0, 0, 0 } - } - }, - }, - }, - { "f0", "lu10", "arab", "*", "*", - new Object[][] { - { - new String[] { "kasratan" }, - new int[][] { - { 0, -200, 0, 0 } - } - }, - { - new String[] { "kasra" }, - new int[][] { - { 0, -200, 0, 0 } - } - }, - }, - }, - { "f0", "lu11", "arab", "*", "*", - new Object[][] { - { - new String[] { "kasratan" }, - new int[][] { - { 0, -300, 0, 0 } - } - }, - { - new String[] { "kasra" }, - new int[][] { - { 0, -300, 0, 0 } - } - }, - { - new String[] { "uni0655" }, - new int[][] { - { 0, -250, 0, 0 } - } - }, - }, - }, - // arab-002.ttx - maybe add tests - // arab-003.ttx - maybe add tests - // arab-004.ttx - maybe add tests - }; - - private static Object[][] ltPair = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_PAIR }, - // arab-001.ttx - { "f0", "lu0", "arab", "dflt", "kern", - new Object[][] { - { - new String[] { "wawwithhamzaabove", "hamza" }, - new int[][] { - { -300, 0, -300, 0 }, { 0, 0, 0, 0 } - } - }, - { - new String[] { "reh", "alefwithmaddaabove" }, - new int[][] { - { -500, 0, -500, 0 }, { 0, 0, 0, 0 } - } - }, - { - new String[] { "zain", "zain" }, - new int[][] { - { -190, 0, -190, 0 }, { 0, 0, 0, 0 } - } - }, - { - new String[] { "waw", "uni0649.init" }, - new int[][] { - { -145, 0, -145, 0 }, { 0, 0, 0, 0 } - } - }, - { - new String[] { "jeh", "uni06A5.init" }, - new int[][] { - { -345, 0, -345, 0 }, { 0, 0, 0, 0 } - } - }, - }, - }, - // arab-002.ttx - maybe add tests - // arab-003.ttx - maybe add tests - // arab-004.ttx - maybe add tests - }; - - private static Object[][] ltCursive = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_CURSIVE }, - // arab-001.ttx - none used - // arab-002.ttx - none used - // arab-003.ttx - maybe add tests - { "f2", "lu0", "arab", "dflt", "curs", - new Object[][] { - { - new String[] { "uni0644.init.preAlef", "uni0622.fina.postLamIni" }, - new int[][] { - // { 576, 0, 0, 0 }, { 0, 0, 0, 0 } - with zero widths - { 295, 0, 0, 0 }, { 0, 0, 0, 0 } - } - }, - { - new String[] { "uni0644.medi.preAlef", "uni0622.fina.postLamMed" }, - new int[][] { - // { 550, 0, 0, 0 }, { 0, 0, 0, 0 } - with zero widths - { 282, 0, 0, 0 }, { 0, 0, 0, 0 } - } - }, - }, - }, - // arab-004.ttx - none used - }; - - private static Object[][] ltMarkToBase = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_BASE }, - // arab-001.ttx - maybe add tests - // arab-002.ttx - { "f1", "lu4", "arab", "dflt", "mark", - new Object[][] { - { - new String[] { "beh", "fatha" }, - new int[][] { - // { 0, 0, 0, 0 }, { 266, -672, 0, 0 } - with zero widths - { 0, 0, 0, 0 }, { 266, -672, -199, 0 } - } - }, - { - new String[] { "alefwithhamzabelow", "kasra" }, - new int[][] { - // { 0, 0, 0, 0 }, { -48, 344, 0, 0 } - with zero widths - { 0, 0, 0, 0 }, { -48, 344, -199, 0 } - } - }, - }, - }, - // arab-003.ttx - maybe add tests - // arab-004.ttx - maybe add tests - }; - - private static Object[][] ltMarkToLigature = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE }, - // arab-001.ttx - { "f0", "lu4", "arab", "dflt", "mark", - new Object[][] { - { - new String[] { "rayaleflam", "fatha", "fatha", "fatha", "fatha" }, - new int[][] { - { 0, 0, 0, 0 }, { 1260, -1150, 0, 0 }, { 910, -1020, 0, 0 }, { 590, -630, 0, 0 }, { 110, -720, 0, 0 } - } - }, - { - new String[] { "rayaleflam", "kasra", "kasra", "kasra", "kasra" }, - new int[][] { - { 0, 0, 0, 0 }, { 1110 , 225, 0, 0 }, { 760, 275, 0, 0 }, { 520, 475, 0, 0 }, { 110, 425, 0, 0 } - } - }, - }, - }, - // arab-002.ttx - maybe add tests - // arab-003.ttx - maybe add tests - // arab-004.ttx - maybe add tests - }; - - private static Object[][] ltMarkToMark = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_MARK }, - // arab-001.ttx - maybe add tests - // arab-002.ttx - maybe add tests - // arab-003.ttx - maybe add tests - // arab-004.ttx - { "f3", "lu3", "arab", "dflt", "mkmk", - new Object[][] { - { - new String[] { "uni064F", "uni064E" }, - new int[][] { - { 0, 0, 0, 0 }, { -15, 495, 0, 0 } - } - }, - { - new String[] { "uni0651", "uni0670" }, - new int[][] { - { 0, 0, 0, 0 }, { -30, 705, 0, 0 } - } - }, - }, - }, - }; - - private static Object[][] ltContextual = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_CONTEXTUAL }, - // arab-001.ttx - none used - // arab-002.ttx - none used - // arab-003.ttx - none used - // arab-004.ttx - none used - }; - - private static Object[][] ltChainedContextual = { - { GlyphPositioningTable.GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL }, - // arab-001.ttx - { "f0", "lu3", "arab", "dflt", "mark", - new Object[][] { - { - new String[] { "behmedial", "fatha", "lam" }, - new int[][] { - { 0, 0, 0, 0 }, { 50, 0, 0, 0 }, { 0, 0, 0, 0 } - } - }, - }, - }, - // arab-002.ttx - { "f1", "lu6", "arab", "dflt", "mark", - new Object[][] { - { - new String[] { "zain", "fatha", "kafinitial" }, - new int[][] { - { 0, 250, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } - } - }, - }, - }, - // arab-003.ttx - none used - // arab-004.ttx - { "f3", "lu5", "arab", "dflt", "mark", - new Object[][] { - { - new String[] { "uni064D", "uni0622.fina.postLamIni", "uni0650" }, - new int[][] { - { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 55, 424, 0, 0 } - } - }, - }, - }, - }; - - @Test - public void testGPOSSingle() throws Exception { - performPositioning(ltSingle); - } - - @Test - public void testGPOSPair() throws Exception { - performPositioning(ltPair); - } - - @Test - public void testGPOSCursive() throws Exception { - performPositioning(ltCursive); - } - - @Test - public void testGPOSMarkToBase() throws Exception { - performPositioning(ltMarkToBase); - } - - @Test - public void testGPOSMarkToLigature() throws Exception { - performPositioning(ltMarkToLigature); - } - - @Test - public void testGPOSMarkToMark() throws Exception { - performPositioning(ltMarkToMark); - } - - @Test - public void testGPOSContextual() throws Exception { - performPositioning(ltContextual); - } - - @Test - public void testGPOSChainedContextual() throws Exception { - performPositioning(ltChainedContextual); - } - - /** - * Perform positioning on all test data in test specification TS. - * @param ts test specification - */ - private void performPositioning(Object[][] ts) { - assert ts.length > 0; - Object[] tp = ts[0]; - for (int i = 1; i < ts.length; i++) { - performPositioning(tp, ts[i]); - } - } - - /** - * Perform positioning on all test data TD using test parameters TP. - * @param tp test parameters - * @param td test data - */ - private void performPositioning(Object[] tp, Object[] td) { - assert tp.length > 0; - if (td.length > 5) { - String fid = (String) td[0]; - String lid = (String) td[1]; - String script = (String) td[2]; - String language = (String) td[3]; - String feature = (String) td[4]; - TTXFile tf = findTTX(fid); - assertTrue(tf != null); - GlyphPositioningTable gpos = tf.getGPOS(); - assertTrue(gpos != null); - GlyphPositioningSubtable[] sta = findGPOSSubtables(gpos, script, language, feature, lid); - assertTrue(sta != null); - assertTrue(sta.length > 0); - ScriptContextTester sct = findScriptContextTester(script, language, feature); - Object[][] tia = (Object[][]) td[5]; // test instance array - for (Object[] ti : tia) { // test instance - if (ti != null) { - if (ti.length > 0) { // must have at least input glyphs - String[] igia = (String[]) ti[0]; // input glyph id array - int[][] ogpa = (int[][]) ti[1]; // output glyph positioning array - GlyphSequence igs = tf.getGlyphSequence(igia); - int[] widths = tf.getWidths(); - int[][] tgpa = new int [ igia.length ] [ 4 ]; - boolean adjusted = GlyphPositioningSubtable.position(igs, script, language, feature, 1000, sta, widths, tgpa, sct); - assertTrue(adjusted); - assertSamePositions(ogpa, tgpa); - } - } - } - } - } - - private String findTTXPath(String fid) { - for (String[] fs : ttxFonts) { - if ((fs != null) && (fs.length > 1)) { - if (fs[0].equals(fid)) { - return ttxFilesRoot + File.separator + fs[1]; - } - } - } - return null; - } - - private TTXFile findTTX(String fid) { - String pn = findTTXPath(fid); - assertTrue(pn != null); - try { - TTXFile tf = TTXFile.getFromCache(pn); - return tf; - } catch (Exception e) { - fail(e.getMessage()); - return null; - } - } - - private GlyphPositioningSubtable[] findGPOSSubtables(GlyphPositioningTable gpos, String script, String language, String feature, String lid) { - LookupTable lt = gpos.getLookupTable(lid); - if (lt != null) { - return (GlyphPositioningSubtable[]) lt.getSubtables(); - } else { - return null; - } - } - - private ScriptContextTester findScriptContextTester(String script, String language, String feature) { - return this; - } - - public GlyphContextTester getTester(String feature) { - return this; - } - - public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) { - return true; - } - - private void assertSamePositions(int[][] pa1, int[][] pa2) { - assertNotNull(pa1); - assertNotNull(pa2); - assertEquals("unequal adjustment count", pa1.length, pa2.length); - for (int i = 0; i < pa1.length; i++) { - int[] a1 = pa1 [ i ]; - int[] a2 = pa2 [ i ]; - assertNotNull(a1); - assertNotNull(a2); - assertEquals("bad adjustment array length", 4, a1.length); - assertEquals("bad adjustment array length", 4, a2.length); - for (int k = 0; k < a1.length; k++) { - int p1 = a1[k]; - int p2 = a2[k]; - assertEquals("bad adjustment", p1, p2); - } - } - } -} diff --git a/test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java deleted file mode 100644 index 3f23d9ab3..000000000 --- a/test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java +++ /dev/null @@ -1,2262 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.fonts; - -import java.io.File; -import java.nio.IntBuffer; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.apache.fop.complexscripts.fonts.GlyphTable.LookupTable; -import org.apache.fop.complexscripts.fonts.ttx.TTXFile; -import org.apache.fop.complexscripts.util.GlyphContextTester; -import org.apache.fop.complexscripts.util.GlyphSequence; -import org.apache.fop.complexscripts.util.ScriptContextTester; - -// CSOFF: LineLength - -public class GSUBTestCase implements ScriptContextTester, GlyphContextTester { - - private static String ttxFilesRoot = "test/resources/complexscripts"; - - private static String[][] ttxFonts = { - { "f0", "arab/ttx/arab-001.ttx" }, // simplified arabic - { "f1", "arab/ttx/arab-002.ttx" }, // traditional arabic - { "f2", "arab/ttx/arab-003.ttx" }, // lateef - { "f3", "arab/ttx/arab-004.ttx" }, // scheherazade - }; - - private static Object[][] ltSingle = { - { GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_SINGLE }, - // arab-001.ttx - { "f0", "lu2", "arab", "dflt", "isol", - new String[][][] { - { { "ainisolated" }, { "ain" } }, - { { "alefmaksuraisolated" }, { "alefmaksura" } }, - { { "behisolated" }, { "beh" } }, - { { "dadisolated" }, { "dad" } }, - { { "dalisolated" }, { "dal" } }, - { { "farsiyehisolated" }, { "farsiyeh" } }, - { { "fehisolated" }, { "feh" } }, - { { "gafisolated" }, { "gaf" } }, - { { "ghainisolated" }, { "ghain" } }, - { { "hahisolated" }, { "hah" } }, - { { "jeemisolated" }, { "jeem" } }, - { { "jehisolated" }, { "jeh" } }, - { { "kafisolated" }, { "arabickaf" } }, - { { "kehehisolated" }, { "keheh" } }, - { { "khahisolated" }, { "khah" } }, - { { "meemisolated" }, { "meem" } }, - { { "noonisolated" }, { "noon" } }, - { { "pehisolated" }, { "peh" } }, - { { "qafisolated" }, { "qaf" } }, - { { "rehisolated" }, { "reh" } }, - { { "sadisolated" }, { "sad" } }, - { { "seenisolated" }, { "seen" } }, - { { "sheenisolated" }, { "sheen" } }, - { { "tahisolated" }, { "tah" } }, - { { "tchehisolated" }, { "tcheh" } }, - { { "tehisolated" }, { "teh" } }, - { { "tehmarbutaisolated" }, { "tehmarbuta" } }, - { { "thalisolated" }, { "thal" } }, - { { "thehisolated" }, { "theh" } }, - { { "vehisolated" }, { "veh" } }, - { { "wawisolated" }, { "waw" } }, - { { "yehisolated" }, { "yeh" } }, - { { "yehwithhamzaaboveisolated" }, { "yehwithhamzaabove" } }, - { { "zahisolated" }, { "zah" } }, - { { "zainisolated" }, { "zain" } }, - }, - }, - { "f0", "lu4", "arab", "dflt", "fina", - new String[][][] { - { { "ain" }, { "ainfinal" } }, - { { "alefmaksura" }, { "alefmaksurafinal" } }, - { { "alefwasla" }, { "alefwaslafinal" } }, - { { "alefwithhamzaabove" }, { "alefwithhamzaabovefinal" } }, - { { "alefwithhamzabelow" }, { "alefwithhamzabelowfinal" } }, - { { "alefwithmaddaabove" }, { "alefwithmaddaabovefinal" } }, - { { "arabicae" }, { "hehfinal" } }, - { { "arabicalef" }, { "aleffinal" } }, - { { "arabickaf" }, { "arabickaf" } }, - { { "beh" }, { "beh" } }, - { { "dad" }, { "dad" } }, - { { "dal" }, { "dal" } }, - { { "farsiyeh" }, { "farsiyehfinal" } }, - { { "feh" }, { "feh" } }, - { { "gaf" }, { "gaffinal" } }, - { { "ghain" }, { "ghainfinal" } }, - { { "hah" }, { "hahfinal" } }, - { { "heh" }, { "hehfinal" } }, - { { "jeem" }, { "jeemfinal" } }, - { { "jeh" }, { "jeh" } }, - { { "keheh" }, { "kehehfinal" } }, - { { "khah" }, { "khahfinal" } }, - { { "lam" }, { "lam" } }, - { { "meem" }, { "meem" } }, - { { "noon" }, { "noon" } }, - { { "peh" }, { "peh" } }, - { { "qaf" }, { "qaf" } }, - { { "reh" }, { "reh" } }, - { { "sad" }, { "sad" } }, - { { "seen" }, { "seen" } }, - { { "sheen" }, { "sheen" } }, - { { "tah" }, { "tah" } }, - { { "tcheh" }, { "tchehfinal" } }, - { { "teh" }, { "teh" } }, - { { "tehmarbuta" }, { "tehmarbutafinal" } }, - { { "thal" }, { "thal" } }, - { { "theh" }, { "theh" } }, - { { "veh" }, { "veh" } }, - { { "waw" }, { "waw" } }, - { { "wawwithhamzaabove" }, { "wawwithhamzaabove" } }, - { { "yeh" }, { "yehfinal" } }, - { { "yehwithhamzaabove" }, { "yehwithhamzaabovefinal" } }, - { { "zah" }, { "zah" } }, - { { "zain" }, { "zain" } }, - } - }, - { "f0", "lu5", "arab", "dflt", "init", - new String[][][] { - { { "ain" }, { "aininitial" } }, - { { "alefmaksura" }, { "uni0649.init" } }, - { { "arabickaf" }, { "kafmedial" } }, - { { "beh" }, { "behmedial" } }, - { { "dad" }, { "dadmedial" } }, - { { "farsiyeh" }, { "yehmedial" } }, - { { "feh" }, { "fehinitial" } }, - { { "gaf" }, { "gafinitial" } }, - { { "ghain" }, { "ghaininitial" } }, - { { "hah" }, { "hahmedial" } }, - { { "heh" }, { "hehinitial" } }, - { { "jeem" }, { "jeemmedial" } }, - { { "keheh" }, { "kehehinitial" } }, - { { "khah" }, { "khahmedial" } }, - { { "lam" }, { "lamisolated" } }, - { { "meem" }, { "meemmedial" } }, - { { "noon" }, { "noonmedial" } }, - { { "peh" }, { "pehmedial" } }, - { { "qaf" }, { "qafinitial" } }, - { { "sad" }, { "sadmedial" } }, - { { "seen" }, { "seenmedial" } }, - { { "sheen" }, { "sheenmedial" } }, - { { "tah" }, { "tah" } }, - { { "tcheh" }, { "tchehmedial" } }, - { { "teh" }, { "tehmedial" } }, - { { "theh" }, { "thehmedial" } }, - { { "veh" }, { "uni06A5.init" } }, - { { "yeh" }, { "yehmedial" } }, - { { "yehwithhamzaabove" }, { "yehwithhamzaabovemedial" } }, - { { "zah" }, { "zah" } }, - } - }, - { "f0", "lu6", "arab", "dflt", "medi", - new String[][][] { - { { "ain" }, { "ainmedial" } }, - { { "alefmaksura" }, { "uni0649.init" } }, - { { "arabickaf" }, { "kafmedial" } }, - { { "beh" }, { "behmedial" } }, - { { "dad" }, { "dadmedial" } }, - { { "farsiyeh" }, { "yehmedial" } }, - { { "feh" }, { "fehmedial" } }, - { { "gaf" }, { "gafmedial" } }, - { { "ghain" }, { "ghainmedial" } }, - { { "hah" }, { "hahmedial" } }, - { { "heh" }, { "hehmedial" } }, - { { "jeem" }, { "jeemmedial" } }, - { { "keheh" }, { "kehehmedial" } }, - { { "khah" }, { "khahmedial" } }, - { { "lam" }, { "lammedial" } }, - { { "meem" }, { "meemmedial" } }, - { { "noon" }, { "noonmedial" } }, - { { "peh" }, { "pehmedial" } }, - { { "qaf" }, { "qafmedial" } }, - { { "sad" }, { "sadmedial" } }, - { { "seen" }, { "seenmedial" } }, - { { "sheen" }, { "sheenmedial" } }, - { { "tah" }, { "tah" } }, - { { "tcheh" }, { "tchehmedial" } }, - { { "teh" }, { "tehmedial" } }, - { { "theh" }, { "thehmedial" } }, - { { "veh" }, { "vehmedial" } }, - { { "yeh" }, { "yehmedial" } }, - { { "yehwithhamzaabove" }, { "yehwithhamzaabovemedial" } }, - { { "zah" }, { "zah" } }, - } - }, - // arab-002.ttx - { "f1", "lu1", "arab", "*", "isol", - new String[][][] { - { { "ainisolated" }, { "ain" } }, - { { "alefmaksuraisolated" }, { "alefmaksura" } }, - { { "behisolated" }, { "beh" } }, - { { "dadisolated" }, { "dad" } }, - { { "dalisolated" }, { "dal" } }, - { { "farsiyehisolated" }, { "farsiyeh" } }, - { { "fehisolated" }, { "feh" } }, - { { "gafisolated" }, { "gaf" } }, - { { "ghainisolated" }, { "ghain" } }, - { { "hahisolated" }, { "hah" } }, - { { "jeemisolated" }, { "jeem" } }, - { { "jehisolated" }, { "jeh" } }, - { { "kafisolated" }, { "arabickaf" } }, - { { "kehehisolated" }, { "keheh" } }, - { { "khahisolated" }, { "khah" } }, - { { "meemisolated" }, { "meem" } }, - { { "noonisolated" }, { "noon" } }, - { { "pehisolated" }, { "peh" } }, - { { "qafisolated" }, { "qaf" } }, - { { "rehisolated" }, { "reh" } }, - { { "sadisolated" }, { "sad" } }, - { { "seenisolated" }, { "seen" } }, - { { "sheenisolated" }, { "sheen" } }, - { { "tahisolated" }, { "tah" } }, - { { "tchehisolated" }, { "tcheh" } }, - { { "tehisolated" }, { "teh" } }, - { { "tehmarbutaisolated" }, { "tehmarbuta" } }, - { { "thalisolated" }, { "thal" } }, - { { "thehisolated" }, { "theh" } }, - { { "vehisolated" }, { "veh" } }, - { { "wawisolated" }, { "waw" } }, - { { "yehisolated" }, { "yeh" } }, - { { "yehwithhamzaaboveisolated" }, { "yehwithhamzaabove" } }, - { { "zahisolated" }, { "zah" } }, - { { "zainisolated" }, { "zain" } }, - } - }, - { "f1", "lu3", "arab", "*", "fina", - new String[][][] { - { { "ain" }, { "ainfinal" } }, - { { "alefmaksura" }, { "alefmaksurafinal" } }, - { { "alefwasla" }, { "alefwaslafinal" } }, - { { "alefwithhamzaabove" }, { "alefwithhamzaabovefinal" } }, - { { "alefwithhamzabelow" }, { "alefwithhamzabelowfinal" } }, - { { "alefwithmaddaabove" }, { "alefwithmaddaabovefinal" } }, - { { "arabicae" }, { "hehfinal" } }, - { { "arabicalef" }, { "aleffinal" } }, - { { "arabickaf" }, { "arabickaffinal" } }, - { { "beh" }, { "behfinal" } }, - { { "dad" }, { "dadfinal" } }, - { { "dal" }, { "dalfinal" } }, - { { "farsiyeh" }, { "farsiyehfinal" } }, - { { "feh" }, { "fehfinal" } }, - { { "gaf" }, { "gaffinal" } }, - { { "ghain" }, { "ghainfinal" } }, - { { "hah" }, { "hahfinal" } }, - { { "heh" }, { "hehfinal" } }, - { { "jeem" }, { "jeemfinal" } }, - { { "jeh" }, { "jehfinal" } }, - { { "keheh" }, { "kehehfinal" } }, - { { "khah" }, { "khahfinal" } }, - { { "lam" }, { "lamfinal" } }, - { { "meem" }, { "meemfinal" } }, - { { "noon" }, { "noonfinal" } }, - { { "peh" }, { "pehfinal" } }, - { { "qaf" }, { "qaffinal" } }, - { { "reh" }, { "rehfinal" } }, - { { "sad" }, { "sadfinal" } }, - { { "seen" }, { "seenfinal" } }, - { { "sheen" }, { "sheenfinal" } }, - { { "tah" }, { "tahfinal" } }, - { { "tcheh" }, { "tchehfinal" } }, - { { "teh" }, { "tehfinal" } }, - { { "tehmarbuta" }, { "tehmarbutafinal" } }, - { { "thal" }, { "thalfinal" } }, - { { "theh" }, { "thehfinal" } }, - { { "veh" }, { "vehfinal" } }, - { { "waw" }, { "wawfinal" } }, - { { "wawwithhamzaabove" }, { "wawwithhamzaabovefinal" } }, - { { "yeh" }, { "yehfinal" } }, - { { "yehwithhamzaabove" }, { "yehwithhamzaabovefinal" } }, - { { "zah" }, { "zahfinal" } }, - { { "zain" }, { "zainfinal" } }, - } - }, - { "f1", "lu4", "arab", "*", "init", - new String[][][] { - { { "ain" }, { "aininitial" } }, - { { "alefmaksura" }, { "uni0649.init" } }, - { { "arabickaf" }, { "kafinitial" } }, - { { "beh" }, { "behinitial" } }, - { { "dad" }, { "dadinitial" } }, - { { "farsiyeh" }, { "yehinitial" } }, - { { "feh" }, { "fehinitial" } }, - { { "gaf" }, { "gafinitial" } }, - { { "ghain" }, { "ghaininitial" } }, - { { "hah" }, { "hahinitial" } }, - { { "heh" }, { "hehinitial" } }, - { { "jeem" }, { "jeeminitial" } }, - { { "keheh" }, { "kehehinitial" } }, - { { "khah" }, { "khahinitial" } }, - { { "lam" }, { "laminitial" } }, - { { "meem" }, { "meeminitial" } }, - { { "noon" }, { "nooninitial" } }, - { { "peh" }, { "pehinitial" } }, - { { "qaf" }, { "qafinitial" } }, - { { "sad" }, { "sadinitial" } }, - { { "seen" }, { "seeninitial" } }, - { { "sheen" }, { "sheeninitial" } }, - { { "tah" }, { "tahinitial" } }, - { { "tcheh" }, { "tchehinitial" } }, - { { "teh" }, { "tehinitial" } }, - { { "theh" }, { "thehinitial" } }, - { { "veh" }, { "vehinitial" } }, - { { "yeh" }, { "yehinitial" } }, - { { "yehwithhamzaabove" }, { "yehwithhamzaaboveinitial" } }, - { { "zah" }, { "zahinitial" } }, - } - }, - { "f1", "lu5", "arab", "*", "medi", - new String[][][] { - { { "ain" }, { "ainmedial" } }, - { { "alefmaksura" }, { "uni0649.medi" } }, - { { "arabickaf" }, { "kafmedial" } }, - { { "beh" }, { "behmedial" } }, - { { "dad" }, { "dadmedial" } }, - { { "farsiyeh" }, { "yehmedial" } }, - { { "feh" }, { "fehmedial" } }, - { { "gaf" }, { "gafmedial" } }, - { { "ghain" }, { "ghainmedial" } }, - { { "hah" }, { "hahmedial" } }, - { { "heh" }, { "hehmedial" } }, - { { "jeem" }, { "jeemmedial" } }, - { { "keheh" }, { "kehehmedial" } }, - { { "khah" }, { "khahmedial" } }, - { { "lam" }, { "lammedial" } }, - { { "meem" }, { "meemmedial" } }, - { { "noon" }, { "noonmedial" } }, - { { "peh" }, { "pehmedial" } }, - { { "qaf" }, { "qafmedial" } }, - { { "sad" }, { "sadmedial" } }, - { { "seen" }, { "seenmedial" } }, - { { "sheen" }, { "sheenmedial" } }, - { { "tah" }, { "tahmedial" } }, - { { "tcheh" }, { "tchehmedial" } }, - { { "teh" }, { "tehmedial" } }, - { { "theh" }, { "thehmedial" } }, - { { "veh" }, { "vehmedial" } }, - { { "yeh" }, { "yehmedial" } }, - { { "yehwithhamzaabove" }, { "yehwithhamzaabovemedial" } }, - { { "zah" }, { "zahmedial" } }, - } - }, - { "f1", "lu13", "arab", "*", "*", - new String[][][] { - { { "heh" }, { "hehisolated" } }, - } - }, - // arab-003.ttx - { "f2", "lu1", "arab", "dflt", "init", - new String[][][] { - { { "absJeemRetro1" }, { "absJeemRetro1Ini" } }, - { { "absJeemRetro2" }, { "absJeemRetro2Ini" } }, - { { "absJeemRetro3" }, { "absJeemRetro3Ini" } }, - { { "absLamRetro" }, { "absLamRetroIni" } }, - { { "absSheenRetro1" }, { "absSheenRetro1Ini" } }, - { { "absSheenRetro2" }, { "absSheenRetro2Ini" } }, - { { "absTchehRetro1" }, { "absTchehRetro1Ini" } }, - { { "absTchehRetro2" }, { "absTchehRetro2Ini" } }, - { { "uni0626" }, { "uni0626.init" } }, - { { "uni0628" }, { "uni0628.init" } }, - { { "uni062A" }, { "uni062A.init" } }, - { { "uni062B" }, { "uni062B.init" } }, - { { "uni062C" }, { "uni062C.init" } }, - { { "uni062D" }, { "uni062D.init" } }, - { { "uni062E" }, { "uni062E.init" } }, - { { "uni0633" }, { "uni0633.init" } }, - { { "uni0634" }, { "uni0634.init" } }, - { { "uni0635" }, { "uni0635.init" } }, - { { "uni0636" }, { "uni0636.init" } }, - { { "uni0637" }, { "uni0637.init" } }, - { { "uni0638" }, { "uni0638.init" } }, - { { "uni0639" }, { "uni0639.init" } }, - { { "uni063A" }, { "uni063A.init" } }, - { { "uni0641" }, { "uni0641.init" } }, - { { "uni0642" }, { "uni0642.init" } }, - { { "uni0643" }, { "uni0643.init" } }, - { { "uni0644" }, { "uni0644.init" } }, - { { "uni0645" }, { "uni0645.init" } }, - { { "uni0646" }, { "uni0646.init" } }, - { { "uni0647" }, { "uni0647.init" } }, - { { "uni0649" }, { "uni0649.init" } }, - { { "uni064A" }, { "uni064A.init" } }, - { { "uni064A.noDots" }, { "uni064A.init.noDots" } }, - { { "uni066E" }, { "uni066E.init" } }, - { { "uni066F" }, { "uni066F.init" } }, - { { "uni0678" }, { "uni0678.init" } }, - { { "uni0679" }, { "uni0679.init" } }, - { { "uni067A" }, { "uni067A.init" } }, - { { "uni067B" }, { "uni067B.init" } }, - { { "uni067C" }, { "uni067C.init" } }, - { { "uni067D" }, { "uni067D.init" } }, - { { "uni067E" }, { "uni067E.init" } }, - { { "uni067F" }, { "uni067F.init" } }, - { { "uni0680" }, { "uni0680.init" } }, - { { "uni0681" }, { "uni0681.init" } }, - { { "uni0682" }, { "uni0682.init" } }, - { { "uni0683" }, { "uni0683.init" } }, - { { "uni0684" }, { "uni0684.init" } }, - { { "uni0685" }, { "uni0685.init" } }, - { { "uni0686" }, { "uni0686.init" } }, - { { "uni0687" }, { "uni0687.init" } }, - { { "uni069A" }, { "uni069A.init" } }, - { { "uni069B" }, { "uni069B.init" } }, - { { "uni069C" }, { "uni069C.init" } }, - { { "uni069D" }, { "uni069D.init" } }, - { { "uni069E" }, { "uni069E.init" } }, - { { "uni069F" }, { "uni069F.init" } }, - { { "uni06A0" }, { "uni06A0.init" } }, - { { "uni06A1" }, { "uni06A1.init" } }, - { { "uni06A2" }, { "uni06A2.init" } }, - { { "uni06A3" }, { "uni06A3.init" } }, - { { "uni06A4" }, { "uni06A4.init" } }, - { { "uni06A5" }, { "uni06A5.init" } }, - { { "uni06A6" }, { "uni06A6.init" } }, - { { "uni06A7" }, { "uni06A7.init" } }, - { { "uni06A8" }, { "uni06A8.init" } }, - { { "uni06A9" }, { "uni06A9.init" } }, - { { "uni06AA" }, { "uni06AA.init" } }, - { { "uni06AB" }, { "uni06AB.init" } }, - { { "uni06AC" }, { "uni06AC.init" } }, - { { "uni06AD" }, { "uni06AD.init" } }, - { { "uni06AE" }, { "uni06AE.init" } }, - { { "uni06AF" }, { "uni06AF.init" } }, - { { "uni06B0" }, { "uni06B0.init" } }, - { { "uni06B1" }, { "uni06B1.init" } }, - { { "uni06B2" }, { "uni06B2.init" } }, - { { "uni06B3" }, { "uni06B3.init" } }, - { { "uni06B4" }, { "uni06B4.init" } }, - { { "uni06B5" }, { "uni06B5.init" } }, - { { "uni06B6" }, { "uni06B6.init" } }, - { { "uni06B7" }, { "uni06B7.init" } }, - { { "uni06B8" }, { "uni06B8.init" } }, - { { "uni06B9" }, { "uni06B9.init" } }, - { { "uni06BA" }, { "uni06BA.init" } }, - { { "uni06BB" }, { "uni06BB.init" } }, - { { "uni06BC" }, { "uni06BC.init" } }, - { { "uni06BD" }, { "uni06BD.init" } }, - { { "uni06BE" }, { "uni06BE.init" } }, - { { "uni06BF" }, { "uni06BF.init" } }, - { { "uni06C1" }, { "uni06C1.init" } }, - { { "uni06C2" }, { "uni06C2.init" } }, - { { "uni06CC" }, { "uni06CC.init" } }, - { { "uni06CE" }, { "uni06CE.init" } }, - { { "uni06D0" }, { "uni06D0.init" } }, - { { "uni06D1" }, { "uni06D1.init" } }, - { { "uni06FA" }, { "uni06FA.init" } }, - { { "uni06FB" }, { "uni06FB.init" } }, - { { "uni06FC" }, { "uni06FC.init" } }, - { { "uni06FF" }, { "uni06FF.init" } }, - { { "uni0750" }, { "uni0750.init" } }, - { { "uni0751" }, { "uni0751.init" } }, - { { "uni0752" }, { "uni0752.init" } }, - { { "uni0753" }, { "uni0753.init" } }, - { { "uni0754" }, { "uni0754.init" } }, - { { "uni0755" }, { "uni0755.init" } }, - { { "uni0756" }, { "uni0756.init" } }, - { { "uni0757" }, { "uni0757.init" } }, - { { "uni0758" }, { "uni0758.init" } }, - { { "uni075C" }, { "uni075C.init" } }, - { { "uni075D" }, { "uni075D.init" } }, - { { "uni075E" }, { "uni075E.init" } }, - { { "uni075F" }, { "uni075F.init" } }, - { { "uni0760" }, { "uni0760.init" } }, - { { "uni0761" }, { "uni0761.init" } }, - { { "uni0762" }, { "uni0762.init" } }, - { { "uni0763" }, { "uni0763.init" } }, - { { "uni0764" }, { "uni0764.init" } }, - { { "uni0765" }, { "uni0765.init" } }, - { { "uni0766" }, { "uni0766.init" } }, - { { "uni0767" }, { "uni0767.init" } }, - { { "uni0768" }, { "uni0768.init" } }, - { { "uni0769" }, { "uni0769.init" } }, - { { "uni076A" }, { "uni076A.init" } }, - { { "uni076D" }, { "uni076D.init" } }, - } - }, - { "f2", "lu2", "arab", "dflt", "fina", - new String[][][] { - { { "absJeemRetro1" }, { "absJeemRetro1Fin" } }, - { { "absJeemRetro2" }, { "absJeemRetro2Fin" } }, - { { "absJeemRetro3" }, { "absJeemRetro3Fin" } }, - { { "absJehRetro1" }, { "absJehRetro1Fin" } }, - { { "absJehRetro2" }, { "absJehRetro2Fin" } }, - { { "absLamRetro" }, { "absLamRetroFin" } }, - { { "absSheenRetro1" }, { "absSheenRetro1Fin" } }, - { { "absSheenRetro2" }, { "absSheenRetro2Fin" } }, - { { "absTchehRetro1" }, { "absTchehRetro1Fin" } }, - { { "absTchehRetro2" }, { "absTchehRetro2Fin" } }, - { { "absWawDotBelow" }, { "absWawDotBelowFin" } }, - { { "uni0622" }, { "uni0622.fina" } }, - { { "uni0623" }, { "uni0623.fina" } }, - { { "uni0624" }, { "uni0624.fina" } }, - { { "uni0625" }, { "uni0625.fina" } }, - { { "uni0626" }, { "uni0626.fina" } }, - { { "uni0627" }, { "uni0627.fina" } }, - { { "uni0628" }, { "uni0628.fina" } }, - { { "uni0629" }, { "uni0629.fina" } }, - { { "uni062A" }, { "uni062A.fina" } }, - { { "uni062B" }, { "uni062B.fina" } }, - { { "uni062C" }, { "uni062C.fina" } }, - { { "uni062D" }, { "uni062D.fina" } }, - { { "uni062E" }, { "uni062E.fina" } }, - { { "uni062F" }, { "uni062F.fina" } }, - { { "uni0630" }, { "uni0630.fina" } }, - { { "uni0631" }, { "uni0631.fina" } }, - { { "uni0632" }, { "uni0632.fina" } }, - { { "uni0633" }, { "uni0633.fina" } }, - { { "uni0634" }, { "uni0634.fina" } }, - { { "uni0635" }, { "uni0635.fina" } }, - { { "uni0636" }, { "uni0636.fina" } }, - { { "uni0637" }, { "uni0637.fina" } }, - { { "uni0638" }, { "uni0638.fina" } }, - { { "uni0639" }, { "uni0639.fina" } }, - { { "uni063A" }, { "uni063A.fina" } }, - { { "uni0641" }, { "uni0641.fina" } }, - { { "uni0642" }, { "uni0642.fina" } }, - { { "uni0643" }, { "uni0643.fina" } }, - { { "uni0644" }, { "uni0644.fina" } }, - { { "uni0645" }, { "uni0645.fina" } }, - { { "uni0646" }, { "uni0646.fina" } }, - { { "uni0647" }, { "uni0647.fina" } }, - { { "uni0648" }, { "uni0648.fina" } }, - { { "uni0649" }, { "uni0649.fina" } }, - { { "uni064A" }, { "uni064A.fina" } }, - { { "uni064A.noDots" }, { "uni064A.fina.noDots" } }, - { { "uni066E" }, { "uni066E.fina" } }, - { { "uni066F" }, { "uni066F.fina" } }, - { { "uni0671" }, { "uni0671.fina" } }, - { { "uni0672" }, { "uni0672.fina" } }, - { { "uni0673" }, { "uni0673.fina" } }, - { { "uni0675" }, { "uni0675.fina" } }, - { { "uni0676" }, { "uni0676.fina" } }, - { { "uni0677" }, { "uni0677.fina" } }, - { { "uni0678" }, { "uni0678.fina" } }, - { { "uni0679" }, { "uni0679.fina" } }, - { { "uni067A" }, { "uni067A.fina" } }, - { { "uni067B" }, { "uni067B.fina" } }, - { { "uni067C" }, { "uni067C.fina" } }, - { { "uni067D" }, { "uni067D.fina" } }, - { { "uni067E" }, { "uni067E.fina" } }, - { { "uni067F" }, { "uni067F.fina" } }, - { { "uni0680" }, { "uni0680.fina" } }, - { { "uni0681" }, { "uni0681.fina" } }, - { { "uni0682" }, { "uni0682.fina" } }, - { { "uni0683" }, { "uni0683.fina" } }, - { { "uni0684" }, { "uni0684.fina" } }, - { { "uni0685" }, { "uni0685.fina" } }, - { { "uni0686" }, { "uni0686.fina" } }, - { { "uni0687" }, { "uni0687.fina" } }, - { { "uni0688" }, { "uni0688.fina" } }, - { { "uni0689" }, { "uni0689.fina" } }, - { { "uni068A" }, { "uni068A.fina" } }, - { { "uni068B" }, { "uni068B.fina" } }, - { { "uni068C" }, { "uni068C.fina" } }, - { { "uni068D" }, { "uni068D.fina" } }, - { { "uni068E" }, { "uni068E.fina" } }, - { { "uni068F" }, { "uni068F.fina" } }, - { { "uni0690" }, { "uni0690.fina" } }, - { { "uni0691" }, { "uni0691.fina" } }, - { { "uni0692" }, { "uni0692.fina" } }, - { { "uni0693" }, { "uni0693.fina" } }, - { { "uni0694" }, { "uni0694.fina" } }, - { { "uni0695" }, { "uni0695.fina" } }, - { { "uni0696" }, { "uni0696.fina" } }, - { { "uni0697" }, { "uni0697.fina" } }, - { { "uni0698" }, { "uni0698.fina" } }, - { { "uni0698.dotHat" }, { "uni0698.fina.dotHat" } }, - { { "uni0699" }, { "uni0699.fina" } }, - { { "uni069A" }, { "uni069A.fina" } }, - { { "uni069B" }, { "uni069B.fina" } }, - { { "uni069C" }, { "uni069C.fina" } }, - { { "uni069D" }, { "uni069D.fina" } }, - { { "uni069E" }, { "uni069E.fina" } }, - { { "uni069F" }, { "uni069F.fina" } }, - { { "uni06A0" }, { "uni06A0.fina" } }, - { { "uni06A1" }, { "uni06A1.fina" } }, - { { "uni06A2" }, { "uni06A2.fina" } }, - { { "uni06A3" }, { "uni06A3.fina" } }, - { { "uni06A4" }, { "uni06A4.fina" } }, - { { "uni06A5" }, { "uni06A5.fina" } }, - { { "uni06A6" }, { "uni06A6.fina" } }, - { { "uni06A7" }, { "uni06A7.fina" } }, - { { "uni06A8" }, { "uni06A8.fina" } }, - { { "uni06A9" }, { "uni06A9.fina" } }, - { { "uni06AA" }, { "uni06AA.fina" } }, - { { "uni06AB" }, { "uni06AB.fina" } }, - { { "uni06AC" }, { "uni06AC.fina" } }, - { { "uni06AD" }, { "uni06AD.fina" } }, - { { "uni06AE" }, { "uni06AE.fina" } }, - { { "uni06AF" }, { "uni06AF.fina" } }, - { { "uni06B0" }, { "uni06B0.fina" } }, - { { "uni06B1" }, { "uni06B1.fina" } }, - { { "uni06B2" }, { "uni06B2.fina" } }, - { { "uni06B3" }, { "uni06B3.fina" } }, - { { "uni06B4" }, { "uni06B4.fina" } }, - { { "uni06B5" }, { "uni06B5.fina" } }, - { { "uni06B6" }, { "uni06B6.fina" } }, - { { "uni06B7" }, { "uni06B7.fina" } }, - { { "uni06B8" }, { "uni06B8.fina" } }, - { { "uni06B9" }, { "uni06B9.fina" } }, - { { "uni06BA" }, { "uni06BA.fina" } }, - { { "uni06BB" }, { "uni06BB.fina" } }, - { { "uni06BC" }, { "uni06BC.fina" } }, - { { "uni06BD" }, { "uni06BD.fina" } }, - { { "uni06BE" }, { "uni06BE.fina" } }, - { { "uni06BF" }, { "uni06BF.fina" } }, - { { "uni06C0" }, { "uni06C0.fina" } }, - { { "uni06C1" }, { "uni06C1.fina" } }, - { { "uni06C2" }, { "uni06C2.fina" } }, - { { "uni06C3" }, { "uni06C3.fina" } }, - { { "uni06C4" }, { "uni06C4.fina" } }, - { { "uni06C5" }, { "uni06C5.fina" } }, - { { "uni06C6" }, { "uni06C6.fina" } }, - { { "uni06C7" }, { "uni06C7.fina" } }, - { { "uni06C8" }, { "uni06C8.fina" } }, - { { "uni06C9" }, { "uni06C9.fina" } }, - { { "uni06CA" }, { "uni06CA.fina" } }, - { { "uni06CB" }, { "uni06CB.fina" } }, - { { "uni06CC" }, { "uni06CC.fina" } }, - { { "uni06CD" }, { "uni06CD.fina" } }, - { { "uni06CE" }, { "uni06CE.fina" } }, - { { "uni06CF" }, { "uni06CF.fina" } }, - { { "uni06D0" }, { "uni06D0.fina" } }, - { { "uni06D1" }, { "uni06D1.fina" } }, - { { "uni06D2" }, { "uni06D2.fina" } }, - { { "uni06D3" }, { "uni06D3.fina" } }, - { { "uni06D5" }, { "uni06D5.fina" } }, - { { "uni06EE" }, { "uni06EE.fina" } }, - { { "uni06EF" }, { "uni06EF.fina" } }, - { { "uni06FA" }, { "uni06FA.fina" } }, - { { "uni06FB" }, { "uni06FB.fina" } }, - { { "uni06FC" }, { "uni06FC.fina" } }, - { { "uni06FF" }, { "uni06FF.fina" } }, - { { "uni0750" }, { "uni0750.fina" } }, - { { "uni0751" }, { "uni0751.fina" } }, - { { "uni0752" }, { "uni0752.fina" } }, - { { "uni0753" }, { "uni0753.fina" } }, - { { "uni0754" }, { "uni0754.fina" } }, - { { "uni0755" }, { "uni0755.fina" } }, - { { "uni0756" }, { "uni0756.fina" } }, - { { "uni0757" }, { "uni0757.fina" } }, - { { "uni0758" }, { "uni0758.fina" } }, - { { "uni0759" }, { "uni0759.fina" } }, - { { "uni075A" }, { "uni075A.fina" } }, - { { "uni075B" }, { "uni075B.fina" } }, - { { "uni075C" }, { "uni075C.fina" } }, - { { "uni075D" }, { "uni075D.fina" } }, - { { "uni075E" }, { "uni075E.fina" } }, - { { "uni075F" }, { "uni075F.fina" } }, - { { "uni0760" }, { "uni0760.fina" } }, - { { "uni0761" }, { "uni0761.fina" } }, - { { "uni0762" }, { "uni0762.fina" } }, - { { "uni0763" }, { "uni0763.fina" } }, - { { "uni0764" }, { "uni0764.fina" } }, - { { "uni0765" }, { "uni0765.fina" } }, - { { "uni0766" }, { "uni0766.fina" } }, - { { "uni0767" }, { "uni0767.fina" } }, - { { "uni0768" }, { "uni0768.fina" } }, - { { "uni0769" }, { "uni0769.fina" } }, - { { "uni076A" }, { "uni076A.fina" } }, - { { "uni076B" }, { "uni076B.fina" } }, - { { "uni076C" }, { "uni076C.fina" } }, - { { "uni076D" }, { "uni076D.fina" } }, - } - }, - { "f2", "lu3", "arab", "dflt", "medi", - new String[][][] { - { { "absJeemRetro1" }, { "absJeemRetro1Med" } }, - { { "absJeemRetro2" }, { "absJeemRetro2Med" } }, - { { "absJeemRetro3" }, { "absJeemRetro3Med" } }, - { { "absLamRetro" }, { "absLamRetroMed" } }, - { { "absSheenRetro1" }, { "absSheenRetro1Med" } }, - { { "absSheenRetro2" }, { "absSheenRetro2Med" } }, - { { "absTchehRetro1" }, { "absTchehRetro1Med" } }, - { { "absTchehRetro2" }, { "absTchehRetro2Med" } }, - { { "uni0626" }, { "uni0626.medi" } }, - { { "uni0628" }, { "uni0628.medi" } }, - { { "uni062A" }, { "uni062A.medi" } }, - { { "uni062B" }, { "uni062B.medi" } }, - { { "uni062C" }, { "uni062C.medi" } }, - { { "uni062D" }, { "uni062D.medi" } }, - { { "uni062E" }, { "uni062E.medi" } }, - { { "uni0633" }, { "uni0633.medi" } }, - { { "uni0634" }, { "uni0634.medi" } }, - { { "uni0635" }, { "uni0635.medi" } }, - { { "uni0636" }, { "uni0636.medi" } }, - { { "uni0637" }, { "uni0637.medi" } }, - { { "uni0638" }, { "uni0638.medi" } }, - { { "uni0639" }, { "uni0639.medi" } }, - { { "uni063A" }, { "uni063A.medi" } }, - { { "uni0641" }, { "uni0641.medi" } }, - { { "uni0642" }, { "uni0642.medi" } }, - { { "uni0643" }, { "uni0643.medi" } }, - { { "uni0644" }, { "uni0644.medi" } }, - { { "uni0645" }, { "uni0645.medi" } }, - { { "uni0646" }, { "uni0646.medi" } }, - { { "uni0647" }, { "uni0647.medi" } }, - { { "uni0649" }, { "uni0649.medi" } }, - { { "uni064A" }, { "uni064A.medi" } }, - { { "uni064A.noDots" }, { "uni064A.medi.noDots" } }, - { { "uni066E" }, { "uni066E.medi" } }, - { { "uni066F" }, { "uni066F.medi" } }, - { { "uni0678" }, { "uni0678.medi" } }, - { { "uni0679" }, { "uni0679.medi" } }, - { { "uni067A" }, { "uni067A.medi" } }, - { { "uni067B" }, { "uni067B.medi" } }, - { { "uni067C" }, { "uni067C.medi" } }, - { { "uni067D" }, { "uni067D.medi" } }, - { { "uni067E" }, { "uni067E.medi" } }, - { { "uni067F" }, { "uni067F.medi" } }, - { { "uni0680" }, { "uni0680.medi" } }, - { { "uni0681" }, { "uni0681.medi" } }, - { { "uni0682" }, { "uni0682.medi" } }, - { { "uni0683" }, { "uni0683.medi" } }, - { { "uni0684" }, { "uni0684.medi" } }, - { { "uni0685" }, { "uni0685.medi" } }, - { { "uni0686" }, { "uni0686.medi" } }, - { { "uni0687" }, { "uni0687.medi" } }, - { { "uni069A" }, { "uni069A.medi" } }, - { { "uni069B" }, { "uni069B.medi" } }, - { { "uni069C" }, { "uni069C.medi" } }, - { { "uni069D" }, { "uni069D.medi" } }, - { { "uni069E" }, { "uni069E.medi" } }, - { { "uni069F" }, { "uni069F.medi" } }, - { { "uni06A0" }, { "uni06A0.medi" } }, - { { "uni06A1" }, { "uni06A1.medi" } }, - { { "uni06A2" }, { "uni06A2.medi" } }, - { { "uni06A3" }, { "uni06A3.medi" } }, - { { "uni06A4" }, { "uni06A4.medi" } }, - { { "uni06A5" }, { "uni06A5.medi" } }, - { { "uni06A6" }, { "uni06A6.medi" } }, - { { "uni06A7" }, { "uni06A7.medi" } }, - { { "uni06A8" }, { "uni06A8.medi" } }, - { { "uni06A9" }, { "uni06A9.medi" } }, - { { "uni06AA" }, { "uni06AA.medi" } }, - { { "uni06AB" }, { "uni06AB.medi" } }, - { { "uni06AC" }, { "uni06AC.medi" } }, - { { "uni06AD" }, { "uni06AD.medi" } }, - { { "uni06AE" }, { "uni06AE.medi" } }, - { { "uni06AF" }, { "uni06AF.medi" } }, - { { "uni06B0" }, { "uni06B0.medi" } }, - { { "uni06B1" }, { "uni06B1.medi" } }, - { { "uni06B2" }, { "uni06B2.medi" } }, - { { "uni06B3" }, { "uni06B3.medi" } }, - { { "uni06B4" }, { "uni06B4.medi" } }, - { { "uni06B5" }, { "uni06B5.medi" } }, - { { "uni06B6" }, { "uni06B6.medi" } }, - { { "uni06B7" }, { "uni06B7.medi" } }, - { { "uni06B8" }, { "uni06B8.medi" } }, - { { "uni06B9" }, { "uni06B9.medi" } }, - { { "uni06BA" }, { "uni06BA.medi" } }, - { { "uni06BB" }, { "uni06BB.medi" } }, - { { "uni06BC" }, { "uni06BC.medi" } }, - { { "uni06BD" }, { "uni06BD.medi" } }, - { { "uni06BE" }, { "uni06BE.medi" } }, - { { "uni06BF" }, { "uni06BF.medi" } }, - { { "uni06C1" }, { "uni06C1.medi" } }, - { { "uni06C2" }, { "uni06C2.medi" } }, - { { "uni06CC" }, { "uni06CC.medi" } }, - { { "uni06CE" }, { "uni06CE.medi" } }, - { { "uni06D0" }, { "uni06D0.medi" } }, - { { "uni06D1" }, { "uni06D1.medi" } }, - { { "uni06FA" }, { "uni06FA.medi" } }, - { { "uni06FB" }, { "uni06FB.medi" } }, - { { "uni06FC" }, { "uni06FC.medi" } }, - { { "uni06FF" }, { "uni06FF.medi" } }, - { { "uni0750" }, { "uni0750.medi" } }, - { { "uni0751" }, { "uni0751.medi" } }, - { { "uni0752" }, { "uni0752.medi" } }, - { { "uni0753" }, { "uni0753.medi" } }, - { { "uni0754" }, { "uni0754.medi" } }, - { { "uni0755" }, { "uni0755.medi" } }, - { { "uni0756" }, { "uni0756.medi" } }, - { { "uni0757" }, { "uni0757.medi" } }, - { { "uni0758" }, { "uni0758.medi" } }, - { { "uni075C" }, { "uni075C.medi" } }, - { { "uni075D" }, { "uni075D.medi" } }, - { { "uni075E" }, { "uni075E.medi" } }, - { { "uni075F" }, { "uni075F.medi" } }, - { { "uni0760" }, { "uni0760.medi" } }, - { { "uni0761" }, { "uni0761.medi" } }, - { { "uni0762" }, { "uni0762.medi" } }, - { { "uni0763" }, { "uni0763.medi" } }, - { { "uni0764" }, { "uni0764.medi" } }, - { { "uni0765" }, { "uni0765.medi" } }, - { { "uni0766" }, { "uni0766.medi" } }, - { { "uni0767" }, { "uni0767.medi" } }, - { { "uni0768" }, { "uni0768.medi" } }, - { { "uni0769" }, { "uni0769.medi" } }, - { { "uni076A" }, { "uni076A.medi" } }, - { { "uni076D" }, { "uni076D.medi" } }, - } - }, - { "f2", "lu9", "arab", "SND ", "calt", - new String[][][] { - { { "uni060C" }, { "uni060C.downward" } }, - { { "uni061B" }, { "uni061B.downward" } }, - { { "uni0645" }, { "uni0645.sindhi" } }, - { { "uni0645.fina" }, { "uni0645.fina.sindhi" } }, - { { "uni0647" }, { "uni0647.knotted" } }, - { { "uni0647.fina" }, { "uni0647.fina.knottedHigh" } }, - { { "uni0647.medi" }, { "uni0647.medi.knottedHigh" } }, - { { "uni064C" }, { "uni064C.sixNine" } }, - { { "uni06F6" }, { "uni06F6.urdu" } }, - { { "uni06F7" }, { "uni06F7.urdu" } }, - } - }, - { "f2", "lu10", "arab", "URD ", "calt", - new String[][][] { - { { "uni0647.fina" }, { "uni0647.fina.hooked" } }, - { { "uni0647.init" }, { "uni0647.init.hooked" } }, - { { "uni0647.medi" }, { "uni0647.medi.hooked" } }, - { { "uni06F4" }, { "uni06F4.urdu" } }, - { { "uni06F6" }, { "uni06F6.urdu" } }, - { { "uni06F7" }, { "uni06F7.urdu" } }, - } - }, - { "f2", "lu11", "arab", "KUR ", "calt", - new String[][][] { - { { "uni0647" }, { "uni0647.knotted" } }, - { { "uni0647.fina" }, { "uni0647.fina.knottedHigh" } }, - } - }, - { "f2", "lu12", "latn", "dflt", "ccmp", - new String[][][] { - { { "asterisk.arab" }, { "asterisk" } }, - { { "colon.arab" }, { "colon" } }, - { { "exclam.arab" }, { "exclam" } }, - { { "parenleft.arab" }, { "parenleft" } }, - { { "parenright.arab" }, { "parenright" } }, - { { "quotedblleft.arab" }, { "quotedblleft" } }, - { { "quotedblright.arab" }, { "quotedblright" } }, - { { "quoteleft.arab" }, { "quoteleft" } }, - { { "quoteright.arab" }, { "quoteright" } }, - } - }, - { "f2", "lu14", "arab", "*", "*", - new String[][][] { - { { "absLamRetroIni" }, { "absLamRetroIni.preAlef" } }, - { { "absLamRetroMed" }, { "absLamRetroMed.preAlef" } }, - { { "uni0644.init" }, { "uni0644.init.preAlef" } }, - { { "uni0644.medi" }, { "uni0644.medi.preAlef" } }, - { { "uni06B5.init" }, { "uni06B5.init.preAlef" } }, - { { "uni06B5.medi" }, { "uni06B5.medi.preAlef" } }, - { { "uni06B6.init" }, { "uni06B6.init.preAlef" } }, - { { "uni06B6.medi" }, { "uni06B6.medi.preAlef" } }, - { { "uni06B7.init" }, { "uni06B7.init.preAlef" } }, - { { "uni06B7.medi" }, { "uni06B7.medi.preAlef" } }, - { { "uni06B8.init" }, { "uni06B8.init.preAlef" } }, - { { "uni06B8.medi" }, { "uni06B8.medi.preAlef" } }, - { { "uni076A.init" }, { "uni076A.init.preAlef" } }, - { { "uni076A.medi" }, { "uni076A.medi.preAlef" } }, - } - }, - { "f2", "lu15", "arab", "*", "*", - new String[][][] { - { { "uni0622.fina" }, { "uni0622.fina.postLamIni" } }, - { { "uni0623.fina" }, { "uni0623.fina.postLamIni" } }, - { { "uni0625.fina" }, { "uni0625.fina.postLamIni" } }, - { { "uni0627.fina" }, { "uni0627.fina.postLamIni" } }, - { { "uni0671.fina" }, { "uni0671.fina.postLamIni" } }, - { { "uni0672.fina" }, { "uni0672.fina.postLamIni" } }, - { { "uni0673.fina" }, { "uni0673.fina.postLamIni" } }, - { { "uni0675.fina" }, { "uni0675.fina.postLamIni" } }, - } - }, - { "f2", "lu16", "arab", "*", "*", - new String[][][] { - { { "uni0622.fina" }, { "uni0622.fina.postLamMed" } }, - { { "uni0623.fina" }, { "uni0623.fina.postLamMed" } }, - { { "uni0625.fina" }, { "uni0625.fina.postLamMed" } }, - { { "uni0627.fina" }, { "uni0627.fina.postLamMed" } }, - { { "uni0671.fina" }, { "uni0671.fina.postLamMed" } }, - { { "uni0672.fina" }, { "uni0672.fina.postLamMed" } }, - { { "uni0673.fina" }, { "uni0673.fina.postLamMed" } }, - { { "uni0675.fina" }, { "uni0675.fina.postLamMed" } }, - } - }, - { "f2", "lu17", "arab", "*", "*", - new String[][][] { - { { "uni0670" }, { "uni0670.large" } }, - } - }, - { "f2", "lu18", "arab", "*", "*", - new String[][][] { - { { "uni06DD" }, { "uni06DD.3" } }, - } - }, - { "f2", "lu19", "arab", "*", "*", - new String[][][] { - { { "uni06DD" }, { "uni06DD.2" } }, - } - }, - { "f2", "lu20", "arab", "*", "*", - new String[][][] { - { { "eight" }, { "eightMedium" } }, - { { "five" }, { "fiveMedium" } }, - { { "four" }, { "fourMedium" } }, - { { "nine" }, { "nineMedium" } }, - { { "one" }, { "oneMedium" } }, - { { "seven" }, { "sevenMedium" } }, - { { "six" }, { "sixMedium" } }, - { { "three" }, { "threeMedium" } }, - { { "two" }, { "twoMedium" } }, - { { "uni0660" }, { "uni0660.Medium" } }, - { { "uni0661" }, { "uni0661.Medium" } }, - { { "uni0662" }, { "uni0662.Medium" } }, - { { "uni0663" }, { "uni0663.Medium" } }, - { { "uni0664" }, { "uni0664.Medium" } }, - { { "uni0665" }, { "uni0665.Medium" } }, - { { "uni0666" }, { "uni0666.Medium" } }, - { { "uni0667" }, { "uni0667.Medium" } }, - { { "uni0668" }, { "uni0668.Medium" } }, - { { "uni0669" }, { "uni0669.Medium" } }, - { { "uni06F0" }, { "uni06F0.Medium" } }, - { { "uni06F1" }, { "uni06F1.Medium" } }, - { { "uni06F2" }, { "uni06F2.Medium" } }, - { { "uni06F3" }, { "uni06F3.Medium" } }, - { { "uni06F4" }, { "uni06F4.Medium" } }, - { { "uni06F4.urdu" }, { "uni06F4.Medium.urdu" } }, - { { "uni06F5" }, { "uni06F5.Medium" } }, - { { "uni06F6" }, { "uni06F6.Medium" } }, - { { "uni06F6.urdu" }, { "uni06F6.Medium.urdu" } }, - { { "uni06F7" }, { "uni06F7.Medium" } }, - { { "uni06F7.urdu" }, { "uni06F7.Medium.urdu" } }, - { { "uni06F8" }, { "uni06F8.Medium" } }, - { { "uni06F9" }, { "uni06F9.Medium" } }, - { { "zero" }, { "zeroMedium" } }, - } - }, - { "f2", "lu21", "arab", "*", "*", - new String[][][] { - { { "eight" }, { "eightSmall" } }, - { { "five" }, { "fiveSmall" } }, - { { "four" }, { "fourSmall" } }, - { { "nine" }, { "nineSmall" } }, - { { "one" }, { "oneSmall" } }, - { { "seven" }, { "sevenSmall" } }, - { { "six" }, { "sixSmall" } }, - { { "three" }, { "threeSmall" } }, - { { "two" }, { "twoSmall" } }, - { { "uni0660" }, { "uni0660.Small" } }, - { { "uni0661" }, { "uni0661.Small" } }, - { { "uni0662" }, { "uni0662.Small" } }, - { { "uni0663" }, { "uni0663.Small" } }, - { { "uni0664" }, { "uni0664.Small" } }, - { { "uni0665" }, { "uni0665.Small" } }, - { { "uni0666" }, { "uni0666.Small" } }, - { { "uni0667" }, { "uni0667.Small" } }, - { { "uni0668" }, { "uni0668.Small" } }, - { { "uni0669" }, { "uni0669.Small" } }, - { { "uni06F0" }, { "uni06F0.Small" } }, - { { "uni06F1" }, { "uni06F1.Small" } }, - { { "uni06F2" }, { "uni06F2.Small" } }, - { { "uni06F3" }, { "uni06F3.Small" } }, - { { "uni06F4" }, { "uni06F4.Small" } }, - { { "uni06F4.urdu" }, { "uni06F4.Small.urdu" } }, - { { "uni06F5" }, { "uni06F5.Small" } }, - { { "uni06F6" }, { "uni06F6.Small" } }, - { { "uni06F6.urdu" }, { "uni06F6.Small.urdu" } }, - { { "uni06F7" }, { "uni06F7.Small" } }, - { { "uni06F7.urdu" }, { "uni06F7.Small.urdu" } }, - { { "uni06F8" }, { "uni06F8.Small" } }, - { { "uni06F9" }, { "uni06F9.Small" } }, - { { "zero" }, { "zeroSmall" } }, - } - }, - // arab-004.ttx - { "f3", "lu1", "arab", "dflt", "init", - new String[][][] { - { { "absJeemRetro1" }, { "absJeemRetro1Ini" } }, - { { "absJeemRetro2" }, { "absJeemRetro2Ini" } }, - { { "absJeemRetro3" }, { "absJeemRetro3Ini" } }, - { { "absLamRetro" }, { "absLamRetroIni" } }, - { { "absSheenRetro1" }, { "absSheenRetro1Ini" } }, - { { "absSheenRetro2" }, { "absSheenRetro2Ini" } }, - { { "absTchehRetro1" }, { "absTchehRetro1Ini" } }, - { { "absTchehRetro2" }, { "absTchehRetro2Ini" } }, - { { "uni0626" }, { "uni0626.init" } }, - { { "uni0628" }, { "uni0628.init" } }, - { { "uni062A" }, { "uni062A.init" } }, - { { "uni062B" }, { "uni062B.init" } }, - { { "uni062C" }, { "uni062C.init" } }, - { { "uni062D" }, { "uni062D.init" } }, - { { "uni062E" }, { "uni062E.init" } }, - { { "uni0633" }, { "uni0633.init" } }, - { { "uni0634" }, { "uni0634.init" } }, - { { "uni0635" }, { "uni0635.init" } }, - { { "uni0636" }, { "uni0636.init" } }, - { { "uni0637" }, { "uni0637.init" } }, - { { "uni0638" }, { "uni0638.init" } }, - { { "uni0639" }, { "uni0639.init" } }, - { { "uni063A" }, { "uni063A.init" } }, - { { "uni0641" }, { "uni0641.init" } }, - { { "uni0642" }, { "uni0642.init" } }, - { { "uni0643" }, { "uni0643.init" } }, - { { "uni0644" }, { "uni0644.init" } }, - { { "uni0645" }, { "uni0645.init" } }, - { { "uni0646" }, { "uni0646.init" } }, - { { "uni0647" }, { "uni0647.init" } }, - { { "uni0649" }, { "uni0649.init" } }, - { { "uni064A" }, { "uni064A.init" } }, - { { "uni064A.noDots" }, { "uni064A.init.noDots" } }, - { { "uni066E" }, { "uni066E.init" } }, - { { "uni066F" }, { "uni066F.init" } }, - { { "uni0678" }, { "uni0678.init" } }, - { { "uni0679" }, { "uni0679.init" } }, - { { "uni067A" }, { "uni067A.init" } }, - { { "uni067B" }, { "uni067B.init" } }, - { { "uni067C" }, { "uni067C.init" } }, - { { "uni067D" }, { "uni067D.init" } }, - { { "uni067E" }, { "uni067E.init" } }, - { { "uni067F" }, { "uni067F.init" } }, - { { "uni0680" }, { "uni0680.init" } }, - { { "uni0681" }, { "uni0681.init" } }, - { { "uni0682" }, { "uni0682.init" } }, - { { "uni0683" }, { "uni0683.init" } }, - { { "uni0684" }, { "uni0684.init" } }, - { { "uni0685" }, { "uni0685.init" } }, - { { "uni0686" }, { "uni0686.init" } }, - { { "uni0687" }, { "uni0687.init" } }, - { { "uni069A" }, { "uni069A.init" } }, - { { "uni069B" }, { "uni069B.init" } }, - { { "uni069C" }, { "uni069C.init" } }, - { { "uni069D" }, { "uni069D.init" } }, - { { "uni069E" }, { "uni069E.init" } }, - { { "uni069F" }, { "uni069F.init" } }, - { { "uni06A0" }, { "uni06A0.init" } }, - { { "uni06A1" }, { "uni06A1.init" } }, - { { "uni06A2" }, { "uni06A2.init" } }, - { { "uni06A3" }, { "uni06A3.init" } }, - { { "uni06A4" }, { "uni06A4.init" } }, - { { "uni06A5" }, { "uni06A5.init" } }, - { { "uni06A6" }, { "uni06A6.init" } }, - { { "uni06A7" }, { "uni06A7.init" } }, - { { "uni06A8" }, { "uni06A8.init" } }, - { { "uni06A9" }, { "uni06A9.init" } }, - { { "uni06AA" }, { "uni06AA.init" } }, - { { "uni06AB" }, { "uni06AB.init" } }, - { { "uni06AC" }, { "uni06AC.init" } }, - { { "uni06AD" }, { "uni06AD.init" } }, - { { "uni06AE" }, { "uni06AE.init" } }, - { { "uni06AF" }, { "uni06AF.init" } }, - { { "uni06B0" }, { "uni06B0.init" } }, - { { "uni06B1" }, { "uni06B1.init" } }, - { { "uni06B2" }, { "uni06B2.init" } }, - { { "uni06B3" }, { "uni06B3.init" } }, - { { "uni06B4" }, { "uni06B4.init" } }, - { { "uni06B5" }, { "uni06B5.init" } }, - { { "uni06B6" }, { "uni06B6.init" } }, - { { "uni06B7" }, { "uni06B7.init" } }, - { { "uni06B8" }, { "uni06B8.init" } }, - { { "uni06B9" }, { "uni06B9.init" } }, - { { "uni06BA" }, { "uni06BA.init" } }, - { { "uni06BB" }, { "uni06BB.init" } }, - { { "uni06BC" }, { "uni06BC.init" } }, - { { "uni06BD" }, { "uni06BD.init" } }, - { { "uni06BE" }, { "uni06BE.init" } }, - { { "uni06BF" }, { "uni06BF.init" } }, - { { "uni06C1" }, { "uni06C1.init" } }, - { { "uni06CC" }, { "uni06CC.init" } }, - { { "uni06CE" }, { "uni06CE.init" } }, - { { "uni06D0" }, { "uni06D0.init" } }, - { { "uni06D1" }, { "uni06D1.init" } }, - { { "uni06FA" }, { "uni06FA.init" } }, - { { "uni06FB" }, { "uni06FB.init" } }, - { { "uni06FC" }, { "uni06FC.init" } }, - { { "uni06FF" }, { "uni06FF.init" } }, - { { "uni0750" }, { "uni0750.init" } }, - { { "uni0751" }, { "uni0751.init" } }, - { { "uni0752" }, { "uni0752.init" } }, - { { "uni0753" }, { "uni0753.init" } }, - { { "uni0754" }, { "uni0754.init" } }, - { { "uni0755" }, { "uni0755.init" } }, - { { "uni0756" }, { "uni0756.init" } }, - { { "uni0757" }, { "uni0757.init" } }, - { { "uni0758" }, { "uni0758.init" } }, - { { "uni075C" }, { "uni075C.init" } }, - { { "uni075D" }, { "uni075D.init" } }, - { { "uni075E" }, { "uni075E.init" } }, - { { "uni075F" }, { "uni075F.init" } }, - { { "uni0760" }, { "uni0760.init" } }, - { { "uni0761" }, { "uni0761.init" } }, - { { "uni0762" }, { "uni0762.init" } }, - { { "uni0763" }, { "uni0763.init" } }, - { { "uni0764" }, { "uni0764.init" } }, - { { "uni0765" }, { "uni0765.init" } }, - { { "uni0766" }, { "uni0766.init" } }, - { { "uni0767" }, { "uni0767.init" } }, - { { "uni0768" }, { "uni0768.init" } }, - { { "uni0769" }, { "uni0769.init" } }, - { { "uni076A" }, { "uni076A.init" } }, - { { "uni076D" }, { "uni076D.init" } }, - } - }, - { "f3", "lu2", "arab", "dflt", "fina", - new String[][][] { - { { "absJeemRetro1" }, { "absJeemRetro1Fin" } }, - { { "absJeemRetro2" }, { "absJeemRetro2Fin" } }, - { { "absJeemRetro3" }, { "absJeemRetro3Fin" } }, - { { "absJehRetro1" }, { "absJehRetro1Fin" } }, - { { "absJehRetro2" }, { "absJehRetro2Fin" } }, - { { "absLamRetro" }, { "absLamRetroFin" } }, - { { "absSheenRetro1" }, { "absSheenRetro1Fin" } }, - { { "absSheenRetro2" }, { "absSheenRetro2Fin" } }, - { { "absTchehRetro1" }, { "absTchehRetro1Fin" } }, - { { "absTchehRetro2" }, { "absTchehRetro2Fin" } }, - { { "absWawDotBelow" }, { "absWawDotBelowFin" } }, - { { "uni0622" }, { "uni0622.fina" } }, - { { "uni0623" }, { "uni0623.fina" } }, - { { "uni0624" }, { "uni0624.fina" } }, - { { "uni0625" }, { "uni0625.fina" } }, - { { "uni0626" }, { "uni0626.fina" } }, - { { "uni0627" }, { "uni0627.fina" } }, - { { "uni0628" }, { "uni0628.fina" } }, - { { "uni0629" }, { "uni0629.fina" } }, - { { "uni062A" }, { "uni062A.fina" } }, - { { "uni062B" }, { "uni062B.fina" } }, - { { "uni062C" }, { "uni062C.fina" } }, - { { "uni062D" }, { "uni062D.fina" } }, - { { "uni062E" }, { "uni062E.fina" } }, - { { "uni062F" }, { "uni062F.fina" } }, - { { "uni0630" }, { "uni0630.fina" } }, - { { "uni0631" }, { "uni0631.fina" } }, - { { "uni0632" }, { "uni0632.fina" } }, - { { "uni0633" }, { "uni0633.fina" } }, - { { "uni0634" }, { "uni0634.fina" } }, - { { "uni0635" }, { "uni0635.fina" } }, - { { "uni0636" }, { "uni0636.fina" } }, - { { "uni0637" }, { "uni0637.fina" } }, - { { "uni0638" }, { "uni0638.fina" } }, - { { "uni0639" }, { "uni0639.fina" } }, - { { "uni063A" }, { "uni063A.fina" } }, - { { "uni0641" }, { "uni0641.fina" } }, - { { "uni0642" }, { "uni0642.fina" } }, - { { "uni0643" }, { "uni0643.fina" } }, - { { "uni0644" }, { "uni0644.fina" } }, - { { "uni0645" }, { "uni0645.fina" } }, - { { "uni0646" }, { "uni0646.fina" } }, - { { "uni0647" }, { "uni0647.fina" } }, - { { "uni0648" }, { "uni0648.fina" } }, - { { "uni0649" }, { "uni0649.fina" } }, - { { "uni064A" }, { "uni064A.fina" } }, - { { "uni064A.noDots" }, { "uni064A.fina.noDots" } }, - { { "uni066E" }, { "uni066E.fina" } }, - { { "uni066F" }, { "uni066F.fina" } }, - { { "uni0671" }, { "uni0671.fina" } }, - { { "uni0672" }, { "uni0672.fina" } }, - { { "uni0673" }, { "uni0673.fina" } }, - { { "uni0675" }, { "uni0675.fina" } }, - { { "uni0676" }, { "uni0676.fina" } }, - { { "uni0677" }, { "uni0677.fina" } }, - { { "uni0678" }, { "uni0678.fina" } }, - { { "uni0679" }, { "uni0679.fina" } }, - { { "uni067A" }, { "uni067A.fina" } }, - { { "uni067B" }, { "uni067B.fina" } }, - { { "uni067C" }, { "uni067C.fina" } }, - { { "uni067D" }, { "uni067D.fina" } }, - { { "uni067E" }, { "uni067E.fina" } }, - { { "uni067F" }, { "uni067F.fina" } }, - { { "uni0680" }, { "uni0680.fina" } }, - { { "uni0681" }, { "uni0681.fina" } }, - { { "uni0682" }, { "uni0682.fina" } }, - { { "uni0683" }, { "uni0683.fina" } }, - { { "uni0684" }, { "uni0684.fina" } }, - { { "uni0685" }, { "uni0685.fina" } }, - { { "uni0686" }, { "uni0686.fina" } }, - { { "uni0687" }, { "uni0687.fina" } }, - { { "uni0688" }, { "uni0688.fina" } }, - { { "uni0689" }, { "uni0689.fina" } }, - { { "uni068A" }, { "uni068A.fina" } }, - { { "uni068B" }, { "uni068B.fina" } }, - { { "uni068C" }, { "uni068C.fina" } }, - { { "uni068D" }, { "uni068D.fina" } }, - { { "uni068E" }, { "uni068E.fina" } }, - { { "uni068F" }, { "uni068F.fina" } }, - { { "uni0690" }, { "uni0690.fina" } }, - { { "uni0691" }, { "uni0691.fina" } }, - { { "uni0692" }, { "uni0692.fina" } }, - { { "uni0693" }, { "uni0693.fina" } }, - { { "uni0694" }, { "uni0694.fina" } }, - { { "uni0695" }, { "uni0695.fina" } }, - { { "uni0696" }, { "uni0696.fina" } }, - { { "uni0697" }, { "uni0697.fina" } }, - { { "uni0698" }, { "uni0698.fina" } }, - { { "uni0698.dotHat" }, { "uni0698.fina.dotHat" } }, - { { "uni0699" }, { "uni0699.fina" } }, - { { "uni069A" }, { "uni069A.fina" } }, - { { "uni069B" }, { "uni069B.fina" } }, - { { "uni069C" }, { "uni069C.fina" } }, - { { "uni069D" }, { "uni069D.fina" } }, - { { "uni069E" }, { "uni069E.fina" } }, - { { "uni069F" }, { "uni069F.fina" } }, - { { "uni06A0" }, { "uni06A0.fina" } }, - { { "uni06A1" }, { "uni06A1.fina" } }, - { { "uni06A2" }, { "uni06A2.fina" } }, - { { "uni06A3" }, { "uni06A3.fina" } }, - { { "uni06A4" }, { "uni06A4.fina" } }, - { { "uni06A5" }, { "uni06A5.fina" } }, - { { "uni06A6" }, { "uni06A6.fina" } }, - { { "uni06A7" }, { "uni06A7.fina" } }, - { { "uni06A8" }, { "uni06A8.fina" } }, - { { "uni06A9" }, { "uni06A9.fina" } }, - { { "uni06AA" }, { "uni06AA.fina" } }, - { { "uni06AB" }, { "uni06AB.fina" } }, - { { "uni06AC" }, { "uni06AC.fina" } }, - { { "uni06AD" }, { "uni06AD.fina" } }, - { { "uni06AE" }, { "uni06AE.fina" } }, - { { "uni06AF" }, { "uni06AF.fina" } }, - { { "uni06B0" }, { "uni06B0.fina" } }, - { { "uni06B1" }, { "uni06B1.fina" } }, - { { "uni06B2" }, { "uni06B2.fina" } }, - { { "uni06B3" }, { "uni06B3.fina" } }, - { { "uni06B4" }, { "uni06B4.fina" } }, - { { "uni06B5" }, { "uni06B5.fina" } }, - { { "uni06B6" }, { "uni06B6.fina" } }, - { { "uni06B7" }, { "uni06B7.fina" } }, - { { "uni06B8" }, { "uni06B8.fina" } }, - { { "uni06B9" }, { "uni06B9.fina" } }, - { { "uni06BA" }, { "uni06BA.fina" } }, - { { "uni06BB" }, { "uni06BB.fina" } }, - { { "uni06BC" }, { "uni06BC.fina" } }, - { { "uni06BD" }, { "uni06BD.fina" } }, - { { "uni06BE" }, { "uni06BE.fina" } }, - { { "uni06BF" }, { "uni06BF.fina" } }, - { { "uni06C0" }, { "uni06C0.fina" } }, - { { "uni06C1" }, { "uni06C1.fina" } }, - { { "uni06C2" }, { "uni06C2.fina" } }, - { { "uni06C3" }, { "uni06C3.fina" } }, - { { "uni06C4" }, { "uni06C4.fina" } }, - { { "uni06C5" }, { "uni06C5.fina" } }, - { { "uni06C6" }, { "uni06C6.fina" } }, - { { "uni06C7" }, { "uni06C7.fina" } }, - { { "uni06C8" }, { "uni06C8.fina" } }, - { { "uni06C9" }, { "uni06C9.fina" } }, - { { "uni06CA" }, { "uni06CA.fina" } }, - { { "uni06CB" }, { "uni06CB.fina" } }, - { { "uni06CC" }, { "uni06CC.fina" } }, - { { "uni06CD" }, { "uni06CD.fina" } }, - { { "uni06CE" }, { "uni06CE.fina" } }, - { { "uni06CF" }, { "uni06CF.fina" } }, - { { "uni06D0" }, { "uni06D0.fina" } }, - { { "uni06D1" }, { "uni06D1.fina" } }, - { { "uni06D2" }, { "uni06D2.fina" } }, - { { "uni06D3" }, { "uni06D3.fina" } }, - { { "uni06D5" }, { "uni06D5.fina" } }, - { { "uni06EE" }, { "uni06EE.fina" } }, - { { "uni06EF" }, { "uni06EF.fina" } }, - { { "uni06FA" }, { "uni06FA.fina" } }, - { { "uni06FB" }, { "uni06FB.fina" } }, - { { "uni06FC" }, { "uni06FC.fina" } }, - { { "uni06FF" }, { "uni06FF.fina" } }, - { { "uni0750" }, { "uni0750.fina" } }, - { { "uni0751" }, { "uni0751.fina" } }, - { { "uni0752" }, { "uni0752.fina" } }, - { { "uni0753" }, { "uni0753.fina" } }, - { { "uni0754" }, { "uni0754.fina" } }, - { { "uni0755" }, { "uni0755.fina" } }, - { { "uni0756" }, { "uni0756.fina" } }, - { { "uni0757" }, { "uni0757.fina" } }, - { { "uni0758" }, { "uni0758.fina" } }, - { { "uni0759" }, { "uni0759.fina" } }, - { { "uni075A" }, { "uni075A.fina" } }, - { { "uni075B" }, { "uni075B.fina" } }, - { { "uni075C" }, { "uni075C.fina" } }, - { { "uni075D" }, { "uni075D.fina" } }, - { { "uni075E" }, { "uni075E.fina" } }, - { { "uni075F" }, { "uni075F.fina" } }, - { { "uni0760" }, { "uni0760.fina" } }, - { { "uni0761" }, { "uni0761.fina" } }, - { { "uni0762" }, { "uni0762.fina" } }, - { { "uni0763" }, { "uni0763.fina" } }, - { { "uni0764" }, { "uni0764.fina" } }, - { { "uni0765" }, { "uni0765.fina" } }, - { { "uni0766" }, { "uni0766.fina" } }, - { { "uni0767" }, { "uni0767.fina" } }, - { { "uni0768" }, { "uni0768.fina" } }, - { { "uni0769" }, { "uni0769.fina" } }, - { { "uni076A" }, { "uni076A.fina" } }, - { { "uni076B" }, { "uni076B.fina" } }, - { { "uni076C" }, { "uni076C.fina" } }, - { { "uni076D" }, { "uni076D.fina" } }, - } - }, - { "f3", "lu3", "arab", "dflt", "medi", - new String[][][] { - { { "absJeemRetro1" }, { "absJeemRetro1Med" } }, - { { "absJeemRetro2" }, { "absJeemRetro2Med" } }, - { { "absJeemRetro3" }, { "absJeemRetro3Med" } }, - { { "absLamRetro" }, { "absLamRetroMed" } }, - { { "absSheenRetro1" }, { "absSheenRetro1Med" } }, - { { "absSheenRetro2" }, { "absSheenRetro2Med" } }, - { { "absTchehRetro1" }, { "absTchehRetro1Med" } }, - { { "absTchehRetro2" }, { "absTchehRetro2Med" } }, - { { "uni0626" }, { "uni0626.medi" } }, - { { "uni0628" }, { "uni0628.medi" } }, - { { "uni062A" }, { "uni062A.medi" } }, - { { "uni062B" }, { "uni062B.medi" } }, - { { "uni062C" }, { "uni062C.medi" } }, - { { "uni062D" }, { "uni062D.medi" } }, - { { "uni062E" }, { "uni062E.medi" } }, - { { "uni0633" }, { "uni0633.medi" } }, - { { "uni0634" }, { "uni0634.medi" } }, - { { "uni0635" }, { "uni0635.medi" } }, - { { "uni0636" }, { "uni0636.medi" } }, - { { "uni0637" }, { "uni0637.medi" } }, - { { "uni0638" }, { "uni0638.medi" } }, - { { "uni0639" }, { "uni0639.medi" } }, - { { "uni063A" }, { "uni063A.medi" } }, - { { "uni0641" }, { "uni0641.medi" } }, - { { "uni0642" }, { "uni0642.medi" } }, - { { "uni0643" }, { "uni0643.medi" } }, - { { "uni0644" }, { "uni0644.medi" } }, - { { "uni0645" }, { "uni0645.medi" } }, - { { "uni0646" }, { "uni0646.medi" } }, - { { "uni0647" }, { "uni0647.medi" } }, - { { "uni0649" }, { "uni0649.medi" } }, - { { "uni064A" }, { "uni064A.medi" } }, - { { "uni064A.noDots" }, { "uni064A.medi.noDots" } }, - { { "uni066E" }, { "uni066E.medi" } }, - { { "uni066F" }, { "uni066F.medi" } }, - { { "uni0678" }, { "uni0678.medi" } }, - { { "uni0679" }, { "uni0679.medi" } }, - { { "uni067A" }, { "uni067A.medi" } }, - { { "uni067B" }, { "uni067B.medi" } }, - { { "uni067C" }, { "uni067C.medi" } }, - { { "uni067D" }, { "uni067D.medi" } }, - { { "uni067E" }, { "uni067E.medi" } }, - { { "uni067F" }, { "uni067F.medi" } }, - { { "uni0680" }, { "uni0680.medi" } }, - { { "uni0681" }, { "uni0681.medi" } }, - { { "uni0682" }, { "uni0682.medi" } }, - { { "uni0683" }, { "uni0683.medi" } }, - { { "uni0684" }, { "uni0684.medi" } }, - { { "uni0685" }, { "uni0685.medi" } }, - { { "uni0686" }, { "uni0686.medi" } }, - { { "uni0687" }, { "uni0687.medi" } }, - { { "uni069A" }, { "uni069A.medi" } }, - { { "uni069B" }, { "uni069B.medi" } }, - { { "uni069C" }, { "uni069C.medi" } }, - { { "uni069D" }, { "uni069D.medi" } }, - { { "uni069E" }, { "uni069E.medi" } }, - { { "uni069F" }, { "uni069F.medi" } }, - { { "uni06A0" }, { "uni06A0.medi" } }, - { { "uni06A1" }, { "uni06A1.medi" } }, - { { "uni06A2" }, { "uni06A2.medi" } }, - { { "uni06A3" }, { "uni06A3.medi" } }, - { { "uni06A4" }, { "uni06A4.medi" } }, - { { "uni06A5" }, { "uni06A5.medi" } }, - { { "uni06A6" }, { "uni06A6.medi" } }, - { { "uni06A7" }, { "uni06A7.medi" } }, - { { "uni06A8" }, { "uni06A8.medi" } }, - { { "uni06A9" }, { "uni06A9.medi" } }, - { { "uni06AA" }, { "uni06AA.medi" } }, - { { "uni06AB" }, { "uni06AB.medi" } }, - { { "uni06AC" }, { "uni06AC.medi" } }, - { { "uni06AD" }, { "uni06AD.medi" } }, - { { "uni06AE" }, { "uni06AE.medi" } }, - { { "uni06AF" }, { "uni06AF.medi" } }, - { { "uni06B0" }, { "uni06B0.medi" } }, - { { "uni06B1" }, { "uni06B1.medi" } }, - { { "uni06B2" }, { "uni06B2.medi" } }, - { { "uni06B3" }, { "uni06B3.medi" } }, - { { "uni06B4" }, { "uni06B4.medi" } }, - { { "uni06B5" }, { "uni06B5.medi" } }, - { { "uni06B6" }, { "uni06B6.medi" } }, - { { "uni06B7" }, { "uni06B7.medi" } }, - { { "uni06B8" }, { "uni06B8.medi" } }, - { { "uni06B9" }, { "uni06B9.medi" } }, - { { "uni06BA" }, { "uni06BA.medi" } }, - { { "uni06BB" }, { "uni06BB.medi" } }, - { { "uni06BC" }, { "uni06BC.medi" } }, - { { "uni06BD" }, { "uni06BD.medi" } }, - { { "uni06BE" }, { "uni06BE.medi" } }, - { { "uni06BF" }, { "uni06BF.medi" } }, - { { "uni06C1" }, { "uni06C1.medi" } }, - { { "uni06CC" }, { "uni06CC.medi" } }, - { { "uni06CE" }, { "uni06CE.medi" } }, - { { "uni06D0" }, { "uni06D0.medi" } }, - { { "uni06D1" }, { "uni06D1.medi" } }, - { { "uni06FA" }, { "uni06FA.medi" } }, - { { "uni06FB" }, { "uni06FB.medi" } }, - { { "uni06FC" }, { "uni06FC.medi" } }, - { { "uni06FF" }, { "uni06FF.medi" } }, - { { "uni0750" }, { "uni0750.medi" } }, - { { "uni0751" }, { "uni0751.medi" } }, - { { "uni0752" }, { "uni0752.medi" } }, - { { "uni0753" }, { "uni0753.medi" } }, - { { "uni0754" }, { "uni0754.medi" } }, - { { "uni0755" }, { "uni0755.medi" } }, - { { "uni0756" }, { "uni0756.medi" } }, - { { "uni0757" }, { "uni0757.medi" } }, - { { "uni0758" }, { "uni0758.medi" } }, - { { "uni075C" }, { "uni075C.medi" } }, - { { "uni075D" }, { "uni075D.medi" } }, - { { "uni075E" }, { "uni075E.medi" } }, - { { "uni075F" }, { "uni075F.medi" } }, - { { "uni0760" }, { "uni0760.medi" } }, - { { "uni0761" }, { "uni0761.medi" } }, - { { "uni0762" }, { "uni0762.medi" } }, - { { "uni0763" }, { "uni0763.medi" } }, - { { "uni0764" }, { "uni0764.medi" } }, - { { "uni0765" }, { "uni0765.medi" } }, - { { "uni0766" }, { "uni0766.medi" } }, - { { "uni0767" }, { "uni0767.medi" } }, - { { "uni0768" }, { "uni0768.medi" } }, - { { "uni0769" }, { "uni0769.medi" } }, - { { "uni076A" }, { "uni076A.medi" } }, - { { "uni076D" }, { "uni076D.medi" } }, - } - }, - { "f3", "lu11", "arab", "SND ", "calt", - new String[][][] { - { { "uni0645" }, { "uni0645.sindhi" } }, - { { "uni0645.fina" }, { "uni0645.fina.sindhi" } }, - { { "uni0647" }, { "uni0647.knotted" } }, - { { "uni0647.fina" }, { "uni0647.fina.knottedHigh" } }, - { { "uni0647.medi" }, { "uni0647.medi.knottedHigh" } }, - { { "uni06F6" }, { "uni06F6.urdu" } }, - { { "uni06F7" }, { "uni06F7.urdu" } }, - } - }, - { "f3", "lu12", "arab", "KUR ", "calt", - new String[][][] { - { { "uni0647" }, { "uni0647.knotted" } }, - { { "uni0647.fina" }, { "uni0647.fina.knottedHigh" } }, - } - }, - { "f3", "lu13", "arab", "URD ", "calt", - new String[][][] { - { { "uni0647.fina" }, { "uni0647.fina.hooked" } }, - { { "uni0647.init" }, { "uni0647.init.hooked" } }, - { { "uni0647.medi" }, { "uni0647.medi.hooked" } }, - { { "uni06F4" }, { "uni06F4.urdu" } }, - { { "uni06F6" }, { "uni06F6.urdu" } }, - { { "uni06F7" }, { "uni06F7.urdu" } }, - } - }, - { "f3", "lu15", "arab", "*", "*", - new String[][][] { - { { "absLamRetroIni" }, { "absLamRetroIni.preAlef" } }, - { { "absLamRetroMed" }, { "absLamRetroMed.preAlef" } }, - { { "uni0644.init" }, { "uni0644.init.preAlef" } }, - { { "uni0644.medi" }, { "uni0644.medi.preAlef" } }, - { { "uni06B5.init" }, { "uni06B5.init.preAlef" } }, - { { "uni06B5.medi" }, { "uni06B5.medi.preAlef" } }, - { { "uni06B6.init" }, { "uni06B6.init.preAlef" } }, - { { "uni06B6.medi" }, { "uni06B6.medi.preAlef" } }, - { { "uni06B7.init" }, { "uni06B7.init.preAlef" } }, - { { "uni06B7.medi" }, { "uni06B7.medi.preAlef" } }, - { { "uni06B8.init" }, { "uni06B8.init.preAlef" } }, - { { "uni06B8.medi" }, { "uni06B8.medi.preAlef" } }, - { { "uni076A.init" }, { "uni076A.init.preAlef" } }, - { { "uni076A.medi" }, { "uni076A.medi.preAlef" } }, - } - }, - { "f3", "lu16", "arab", "*", "*", - new String[][][] { - { { "uni0622.fina" }, { "uni0622.fina.postLamIni" } }, - { { "uni0623.fina" }, { "uni0623.fina.postLamIni" } }, - { { "uni0625.fina" }, { "uni0625.fina.postLamIni" } }, - { { "uni0627.fina" }, { "uni0627.fina.postLamIni" } }, - { { "uni0671.fina" }, { "uni0671.fina.postLamIni" } }, - { { "uni0672.fina" }, { "uni0672.fina.postLamIni" } }, - { { "uni0673.fina" }, { "uni0673.fina.postLamIni" } }, - { { "uni0675.fina" }, { "uni0675.fina.postLamIni" } }, - } - }, - { "f3", "lu17", "arab", "*", "*", - new String[][][] { - { { "uni0622.fina" }, { "uni0622.fina.postLamMed" } }, - { { "uni0623.fina" }, { "uni0623.fina.postLamMed" } }, - { { "uni0625.fina" }, { "uni0625.fina.postLamMed" } }, - { { "uni0627.fina" }, { "uni0627.fina.postLamMed" } }, - { { "uni0671.fina" }, { "uni0671.fina.postLamMed" } }, - { { "uni0672.fina" }, { "uni0672.fina.postLamMed" } }, - { { "uni0673.fina" }, { "uni0673.fina.postLamMed" } }, - { { "uni0675.fina" }, { "uni0675.fina.postLamMed" } }, - } - }, - { "f3", "lu18", "arab", "*", "*", - new String[][][] { - { { "uni0601" }, { "uni0601.4" } }, - } - }, - { "f3", "lu19", "arab", "*", "*", - new String[][][] { - { { "uni0600" }, { "uni0600.3" } }, - { { "uni0601" }, { "uni0601.3" } }, - { { "uni0603" }, { "uni0603.3" } }, - { { "uni06DD" }, { "uni06DD.3" } }, - { { "uni06DD.alt" }, { "uni06DD.alt.3" } }, - { { "uni06DD.altB" }, { "uni06DD.altB.3" } }, - } - }, - { "f3", "lu20", "arab", "*", "*", - new String[][][] { - { { "uni0600" }, { "uni0600.2" } }, - { { "uni0601" }, { "uni0601.2" } }, - { { "uni0602" }, { "uni0602.2" } }, - { { "uni0603" }, { "uni0603.2" } }, - { { "uni06DD" }, { "uni06DD.2" } }, - { { "uni06DD.alt" }, { "uni06DD.alt.2" } }, - { { "uni06DD.altB" }, { "uni06DD.altB.2" } }, - } - }, - { "f3", "lu21", "arab", "*", "*", - new String[][][] { - { { "eight" }, { "eightMedium" } }, - { { "five" }, { "fiveMedium" } }, - { { "four" }, { "fourMedium" } }, - { { "nine" }, { "nineMedium" } }, - { { "one" }, { "oneMedium" } }, - { { "seven" }, { "sevenMedium" } }, - { { "six" }, { "sixMedium" } }, - { { "three" }, { "threeMedium" } }, - { { "two" }, { "twoMedium" } }, - { { "uni0660" }, { "uni0660.Medium" } }, - { { "uni0661" }, { "uni0661.Medium" } }, - { { "uni0662" }, { "uni0662.Medium" } }, - { { "uni0663" }, { "uni0663.Medium" } }, - { { "uni0664" }, { "uni0664.Medium" } }, - { { "uni0665" }, { "uni0665.Medium" } }, - { { "uni0666" }, { "uni0666.Medium" } }, - { { "uni0667" }, { "uni0667.Medium" } }, - { { "uni0668" }, { "uni0668.Medium" } }, - { { "uni0669" }, { "uni0669.Medium" } }, - { { "uni06F0" }, { "uni06F0.Medium" } }, - { { "uni06F1" }, { "uni06F1.Medium" } }, - { { "uni06F2" }, { "uni06F2.Medium" } }, - { { "uni06F3" }, { "uni06F3.Medium" } }, - { { "uni06F4" }, { "uni06F4.Medium" } }, - { { "uni06F4.urdu" }, { "uni06F4.Medium.urdu" } }, - { { "uni06F5" }, { "uni06F5.Medium" } }, - { { "uni06F6" }, { "uni06F6.Medium" } }, - { { "uni06F6.urdu" }, { "uni06F6.Medium.urdu" } }, - { { "uni06F7" }, { "uni06F7.Medium" } }, - { { "uni06F7.urdu" }, { "uni06F7.Medium.urdu" } }, - { { "uni06F8" }, { "uni06F8.Medium" } }, - { { "uni06F9" }, { "uni06F9.Medium" } }, - { { "zero" }, { "zeroMedium" } }, - } - }, - { "f3", "lu22", "arab", "*", "*", - new String[][][] { - { { "eight" }, { "eightSmall" } }, - { { "five" }, { "fiveSmall" } }, - { { "four" }, { "fourSmall" } }, - { { "nine" }, { "nineSmall" } }, - { { "one" }, { "oneSmall" } }, - { { "seven" }, { "sevenSmall" } }, - { { "six" }, { "sixSmall" } }, - { { "three" }, { "threeSmall" } }, - { { "two" }, { "twoSmall" } }, - { { "uni0660" }, { "uni0660.Small" } }, - { { "uni0661" }, { "uni0661.Small" } }, - { { "uni0662" }, { "uni0662.Small" } }, - { { "uni0663" }, { "uni0663.Small" } }, - { { "uni0664" }, { "uni0664.Small" } }, - { { "uni0665" }, { "uni0665.Small" } }, - { { "uni0666" }, { "uni0666.Small" } }, - { { "uni0667" }, { "uni0667.Small" } }, - { { "uni0668" }, { "uni0668.Small" } }, - { { "uni0669" }, { "uni0669.Small" } }, - { { "uni06F0" }, { "uni06F0.Small" } }, - { { "uni06F1" }, { "uni06F1.Small" } }, - { { "uni06F2" }, { "uni06F2.Small" } }, - { { "uni06F3" }, { "uni06F3.Small" } }, - { { "uni06F4" }, { "uni06F4.Small" } }, - { { "uni06F4.urdu" }, { "uni06F4.Small.urdu" } }, - { { "uni06F5" }, { "uni06F5.Small" } }, - { { "uni06F6" }, { "uni06F6.Small" } }, - { { "uni06F6.urdu" }, { "uni06F6.Small.urdu" } }, - { { "uni06F7" }, { "uni06F7.Small" } }, - { { "uni06F7.urdu" }, { "uni06F7.Small.urdu" } }, - { { "uni06F8" }, { "uni06F8.Small" } }, - { { "uni06F9" }, { "uni06F9.Small" } }, - { { "zero" }, { "zeroSmall" } }, - } - }, - { "f3", "lu23", "arab", "*", "*", - new String[][][] { - { { "uni0670" }, { "uni0670.large" } }, - } - }, - }; - - private static Object[][] ltMultiple = { - { GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_MULTIPLE }, - // arab-001.ttx - { "f0", "lu9", "arab", "*", "*", - new String[][][] { - { { "alefwithhamzabelow" }, { "arabicalef", "uni0655" } }, - } - }, - // arab-002.ttx - { "f1", "lu14", "arab", "*", "*", - new String[][][] { - { { "pehinitial" }, { "pehinitial", "tatweel" } }, - { { "yehwithhamzaaboveinitial" }, { "yehwithhamzaaboveinitial", "tatweel" } }, - { { "behinitial" }, { "behinitial", "tatweel" } }, - { { "tehinitial" }, { "tehinitial", "tatweel" } }, - { { "thehinitial" }, { "thehinitial", "tatweel" } }, - { { "fehinitial" }, { "fehinitial", "tatweel" } }, - { { "qafinitial" }, { "qafinitial", "tatweel" } }, - { { "nooninitial" }, { "nooninitial", "tatweel" } }, - { { "yehinitial" }, { "yehinitial", "tatweel" } }, - { { "uni0649.init" }, { "uni0649.init", "tatweel" } }, - } - }, - { "f1", "lu15", "arab", "*", "*", - new String[][][] { - { { "pehmedial" }, { "pehmedial", "tatweel" } }, - { { "yehwithhamzaabovemedial" }, { "yehwithhamzaabovemedial", "tatweel" } }, - { { "behmedial" }, { "behmedial", "tatweel" } }, - { { "tehmedial" }, { "tehmedial", "tatweel" } }, - { { "thehmedial" }, { "thehmedial", "tatweel" } }, - { { "noonmedial" }, { "noonmedial", "tatweel" } }, - { { "yehmedial" }, { "yehmedial", "tatweel" } }, - { { "uni0649.medi" }, { "uni0649.medi", "tatweel" } }, - } - }, - // arab-003.ttx - { "f2", "lu0", "arab", "dflt", "ccmp", - new String[][][] { - { { "uni0622" }, { "uni0627", "uni0653" } }, - { { "uni0623" }, { "uni0627", "uni0654" } }, - { { "uni0625" }, { "uni0627", "uni0655" } }, - { { "uni0626" }, { "uni064A", "uni0654" } }, - } - }, - // arab-004.ttx - { "f3", "lu0", "arab", "dflt", "ccmp", - new String[][][] { - { { "uni0622" }, { "uni0627", "uni0653" } }, - { { "uni0623" }, { "uni0627", "uni0654" } }, - { { "uni0625" }, { "uni0627", "uni0655" } }, - } - }, - }; - - private static Object[][] ltAlternate = { - { GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_ALTERNATE }, - // arab-001.ttx - none used - // arab-002.ttx - none used - // arab-003.ttx - none used - // arab-004.ttx - add tests - { "f3", "lu14", "arab", "dflt", "salt" }, - }; - - private static Object[][] ltLigature = { - { GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_LIGATURE }, - // arab-001.ttx - { "f0", "lu0", "arab", "dflt", "ccmp", - new String[][][] { - { { "damma", "shadda" }, { "shaddawithdammalow" } }, - { { "damma", "highhamza" }, { "dammaonhamza" } }, - { { "dammatan", "shadda" }, { "shaddawithdammatanlow" } }, - { { "dammatan", "highhamza" }, { "dammatanonhamza" } }, - { { "fatha", "shadda" }, { "shaddawithfathalow" } }, - { { "fatha", "highhamza" }, { "fathaonhamza" } }, - { { "fathatan", "shadda" }, { "shaddawithfathatanlow" } }, - { { "fathatan", "highhamza" }, { "fathatanonhamza" } }, - { { "highhamza", "fatha" }, { "fathaonhamza" } }, - { { "highhamza", "fathatan" }, { "fathatanonhamza" } }, - { { "highhamza", "sukun" }, { "sukunonhamza" } }, - { { "highhamza", "damma" }, { "dammaonhamza" } }, - { { "highhamza", "dammatan" }, { "dammatanonhamza" } }, - { { "kasra", "shadda" }, { "shaddawithkasralow" } }, - { { "kasra", "uni0655" }, { "uni06550650" } }, - { { "kasratan", "shadda" }, { "shaddawithkasratanlow" } }, - { { "kasratan", "uni0655" }, { "uni0655064D" } }, - { { "shadda", "dammatan" }, { "shaddawithdammatanlow" } }, - { { "shadda", "fatha" }, { "shaddawithfathalow" } }, - { { "shadda", "damma" }, { "shaddawithdammalow" } }, - { { "shadda", "fathatan" }, { "shaddawithfathatanlow" } }, - { { "shadda", "kasratan" }, { "shaddawithkasratanlow" } }, - { { "shadda", "kasra" }, { "shaddawithkasralow" } }, - { { "sukun", "highhamza" }, { "sukunonhamza" } }, - { { "uni0655", "kasratan" }, { "uni0655064D" } }, - { { "uni0655", "kasra" }, { "uni06550650" } }, - } - }, - { "f0", "lu7", "arab", "dflt", "rlig", - new String[][][] { - { { "lamisolated", "alefwithmaddaabovefinal" }, { "lamwithalefmaddaaboveisolatedd" } }, - { { "lamisolated", "alefwithhamzaabovefinal" }, { "lamwithalefhamzaaboveisolatedd" } }, - { { "lamisolated", "alefwithhamzabelowfinal" }, { "lamwithalefhamzabelowisolated" } }, - { { "lamisolated", "aleffinal" }, { "lamwithalefisolated" } }, - { { "lammedial", "alefwithmaddaabovefinal" }, { "lamwithalefmaddaabovefinal" } }, - { { "lammedial", "alefwithhamzaabovefinal" }, { "lamwithalefhamzaabovefinal" } }, - { { "lammedial", "alefwithhamzabelowfinal" }, { "lamwithalefhamzabelowfinal" } }, - { { "lammedial", "aleffinal" }, { "lamwithaleffinal" } }, - } - }, - { "f0", "lu8", "arab", "dflt", "liga", - new String[][][] { - { { "lamisolated", "lammedial", "hehfinal" }, { "allahisolated" } }, - { { "reh", "yehmedial", "aleffinal", "lam" }, { "rayaleflam" } }, - } - }, - // arab-002.ttx - { "f1", "lu0", "arab", "dflt", "ccmp", - new String[][][] { - { { "damma", "shadda" }, { "shaddawithdammaisolatedlow" } }, - { { "damma", "highhamza" }, { "dammaonhamza" } }, - { { "dammatan", "shadda" }, { "shaddawithdammatanisolatedlow" } }, - { { "dammatan", "highhamza" }, { "dammatanonhamza" } }, - { { "fatha", "shadda" }, { "shaddawithfathaisolatedlow" } }, - { { "fatha", "highhamza" }, { "fathaonhamza" } }, - { { "fathatan", "shadda" }, { "shaddawithfathatanisolatedlow" } }, - { { "fathatan", "highhamza" }, { "fathatanonhamza" } }, - { { "highhamza", "fatha" }, { "fathaonhamza" } }, - { { "highhamza", "fathatan" }, { "fathatanonhamza" } }, - { { "highhamza", "sukun" }, { "sukunonhamza" } }, - { { "highhamza", "damma" }, { "dammaonhamza" } }, - { { "highhamza", "dammatan" }, { "dammatanonhamza" } }, - { { "kasra", "shadda" }, { "shaddawithkasraisolatedlow" } }, - { { "kasra", "uni0655" }, { "uni06550650" } }, - { { "kasratan", "shadda" }, { "shaddawithkasratanisolatedlow" } }, - { { "kasratan", "uni0655" }, { "uni0655064D" } }, - { { "shadda", "dammatan" }, { "shaddawithdammatanisolatedlow" } }, - { { "shadda", "fatha" }, { "shaddawithfathaisolatedlow" } }, - { { "shadda", "damma" }, { "shaddawithdammaisolatedlow" } }, - { { "shadda", "fathatan" }, { "shaddawithfathatanisolatedlow" } }, - { { "shadda", "kasratan" }, { "shaddawithkasratanisolatedlow" } }, - { { "shadda", "kasra" }, { "shaddawithkasraisolatedlow" } }, - { { "sukun", "highhamza" }, { "sukunonhamza" } }, - { { "uni0655", "kasratan" }, { "uni0655064D" } }, - { { "uni0655", "kasra" }, { "uni06550650" } }, - } - }, - { "f1", "lu6", "arab", "dflt", "liga", - new String[][][] { - { { "behinitial", "hehmedial" }, { "behwithhehinitial" } }, - { { "behinitial", "meemfinal" }, { "behwithmeemisolated" } }, - { { "behinitial", "meemmedial" }, { "behwithmeeminitial" } }, - { { "behinitial", "alefmaksurafinal" }, { "behwithalefmaksuraisolated" } }, - { { "behinitial", "yehfinal" }, { "behwithyehisolated" } }, - { { "behinitial", "jeemmedial" }, { "behwithjeeminitial" } }, - { { "behinitial", "hahmedial" }, { "behwithhahinitial" } }, - { { "behinitial", "khahmedial" }, { "behwithkhahinitial" } }, - { { "behmedial", "alefmaksurafinal" }, { "behwithalefmaksurafinal" } }, - { { "behmedial", "yehfinal" }, { "behwithyehfinal" } }, - { { "behmedial", "rehfinal" }, { "behwithrehfinal" } }, - { { "behmedial", "noonfinal" }, { "behwithnoonfinal" } }, - { { "fehinitial", "alefmaksurafinal" }, { "fehwithalefmaksuraisolated" } }, - { { "fehinitial", "yehfinal" }, { "fehwithyehisolated" } }, - { { "hahinitial", "meemmedial" }, { "hahwithmeeminitial" } }, - { { "hehinitial", "meemmedial" }, { "hehwithmeeminitial" } }, - { { "jeeminitial", "meemmedial" }, { "jeemwithmeeminitial" } }, - { { "khahinitial", "meemmedial" }, { "khahwithmeeminitial" } }, - { { "laminitial", "jeemmedial" }, { "lamwithjeeminitial" } }, - { { "laminitial", "hahmedial" }, { "lamwithhahinitial" } }, - { { "laminitial", "khahmedial" }, { "lamwithkhahinitial" } }, - { { "laminitial", "hehmedial" }, { "lamwithhehinitial" } }, - { { "laminitial", "meemfinal" }, { "lamwithmeemisolated" } }, - { { "laminitial", "alefmaksurafinal" }, { "lamwithalefmaksuraisolated" } }, - { { "laminitial", "yehfinal" }, { "lamwithyehisolated" } }, - { { "meeminitial", "jeemmedial" }, { "meemwithjeeminitial" } }, - { { "meeminitial", "hahmedial" }, { "meemwithhahinitial" } }, - { { "meeminitial", "khahmedial" }, { "meemwithkhahinitial" } }, - { { "meeminitial", "meemmedial" }, { "meemwithmeeminitial" } }, - { { "nooninitial", "hehmedial" }, { "noonwithhehinitial" } }, - { { "nooninitial", "meemfinal" }, { "noonwithmeemisolated" } }, - { { "nooninitial", "meemmedial" }, { "noonwithmeeminitial" } }, - { { "nooninitial", "alefmaksurafinal" }, { "noonwithalefmaksuraisolated" } }, - { { "nooninitial", "yehfinal" }, { "noonwithyehisolated" } }, - { { "nooninitial", "jeemmedial" }, { "noonwithjeeminitial" } }, - { { "nooninitial", "hahmedial" }, { "noonwithhahinitial" } }, - { { "nooninitial", "khahmedial" }, { "noonwithkhahinitial" } }, - { { "noonmedial", "alefmaksurafinal" }, { "noonwithalefmaksurafinal" } }, - { { "noonmedial", "yehfinal" }, { "noonwithyehfinal" } }, - { { "pehinitial", "hehmedial" }, { "pehwithhehinitial" } }, - { { "seeninitial", "meemmedial" }, { "seenwithmeeminitial" } }, - { { "sheeninitial", "meemmedial" }, { "sheenwithmeeminitial" } }, - { { "tchehinitial", "meemmedial" }, { "uniE817" } }, - { { "tehinitial", "hehmedial" }, { "tehwithhehinitial" } }, - { { "tehinitial", "meemfinal" }, { "tehwithmeemisolated" } }, - { { "tehinitial", "meemmedial" }, { "tehwithmeeminitial" } }, - { { "tehinitial", "yehfinal" }, { "tehwithyehisolated" } }, - { { "tehinitial", "jeemmedial" }, { "tehwithjeeminitial" } }, - { { "tehinitial", "hahmedial" }, { "tehwithhahinitial" } }, - { { "tehinitial", "khahmedial" }, { "tehwithkhahinitial" } }, - { { "tehmedial", "alefmaksurafinal" }, { "tehwithalefmaksurafinal" } }, - { { "tehmedial", "yehfinal" }, { "tehwithyehfinal" } }, - { { "tehmedial", "rehfinal" }, { "noonwithzainfinal" } }, - { { "tehmedial", "noonfinal" }, { "tehwithnoonfinal" } }, - { { "thehinitial", "meemfinal" }, { "thehwithmeemisolated" } }, - { { "thehinitial", "meemmedial" }, { "thehwithmeeminitial" } }, - { { "yehinitial", "meemfinal" }, { "yehwithmeemisolated" } }, - { { "yehinitial", "meemmedial" }, { "yehwithmeeminitial" } }, - { { "yehinitial", "alefmaksurafinal" }, { "yehwithalefmaksuraisolated" } }, - { { "yehinitial", "jeemmedial" }, { "yehwithjeeminitial" } }, - { { "yehinitial", "hahmedial" }, { "yehwithhahinitial" } }, - { { "yehinitial", "khahmedial" }, { "yehwithkhahinitial" } }, - { { "yehmedial", "alefmaksurafinal" }, { "yehwithalefmaksurafinal" } }, - { { "yehmedial", "rehfinal" }, { "yehwithrehfinal" } }, - { { "yehmedial", "noonfinal" }, { "yehwithnoonfinal" } }, - } - }, - { "f1", "lu7", "arab", "dflt", "liga", - new String[][][] { - { { "laminitial", "meemmedial", "jeemmedial" }, { "lamwithmeemwithjeeminitial" } }, - { { "laminitial", "meemmedial", "hahmedial" }, { "lamwithmeemwithhahinitial" } }, - { { "laminitial", "meemmedial" }, { "lamwithmeeminitial" } }, - } - }, - { "f1", "lu8", "arab", "dflt", "liga", - new String[][][] { - { { "laminitial", "jeemfinal" }, { "lamwithjeemisolated" } }, - { { "laminitial", "hahfinal" }, { "lamwithhahisolated" } }, - { { "laminitial", "khahfinal" }, { "lamwithkhahisolated" } }, - } - }, - { "f1", "lu9", "arab", "dflt", "rlig", - new String[][][] { - { { "laminitial", "alefwithmaddaabovefinal" }, { "lamwithalefmaddaaboveisolatedd" } }, - { { "laminitial", "alefwithhamzaabovefinal" }, { "lamwithalefhamzaaboveisolatedd" } }, - { { "laminitial", "alefwithhamzabelowfinal" }, { "lamwithalefhamzabelowisolated" } }, - { { "laminitial", "aleffinal" }, { "lamwithalefisolated" } }, - { { "lammedial", "alefwithmaddaabovefinal" }, { "lamwithalefmaddaabovefinal" } }, - { { "lammedial", "alefwithhamzaabovefinal" }, { "lamwithalefhamzaabovefinal" } }, - { { "lammedial", "alefwithhamzabelowfinal" }, { "lamwithalefhamzabelowfinal" } }, - { { "lammedial", "aleffinal" }, { "lamwithaleffinal" } }, - } - }, - { "f1", "lu10", "arab", "dflt", "liga", - new String[][][] { - { { "laminitial", "lammedial", "hehfinal" }, { "allahisolated" } }, - { { "reh", "yehinitial", "aleffinal", "lam" }, { "rayaleflam" } }, - } - }, - // arab-003.ttx - { "f2", "lu5", "arab", "dflt", "rlig", - new String[][][] { - { { "uni064B", "uni0651" }, { "uni0651064B" } }, - { { "uni064C", "uni0651" }, { "uni0651064C" } }, - { { "uni064E", "uni0651" }, { "uni0651064E" } }, - { { "uni064F", "uni0651" }, { "uni0651064F" } }, - { { "uni0651", "uni064B" }, { "uni0651064B" } }, - { { "uni0651", "uni064C" }, { "uni0651064C" } }, - { { "uni0651", "uni064E" }, { "uni0651064E" } }, - { { "uni0651", "uni064F" }, { "uni0651064F" } }, - { { "uni0651", "uni0670" }, { "absShaddaAlef" } }, - { { "uni0670", "uni0651" }, { "absShaddaAlef" } }, - } - }, - { "f2", "lu6", "arab", "dflt", "rlig", - new String[][][] { - { { "uni064D", "uni0651" }, { "uni0651064D" } }, - { { "uni0650", "uni0651" }, { "uni06510650" } }, - { { "uni0651", "uni0650" }, { "uni06510650" } }, - { { "uni0651", "uni064D" }, { "uni0651064D" } }, - } - }, - { "f2", "lu7", "arab", "dflt", "rlig", - new String[][][] { - { { "uni0647", "uni0654" }, { "uni06C0" } }, - { { "uni0647.fina", "uni0654" }, { "uni06C0.fina" } }, - { { "uni0647.init", "uni0654" }, { "uni06C0.init" } }, - { { "uni0647.medi", "uni0654" }, { "uni06C0.medi" } }, - { { "uni0648", "uni0654" }, { "uni0624" } }, - { { "uni0648.fina", "uni0654" }, { "uni0624.fina" } }, - { { "uni064A", "uni0654" }, { "uni0626" } }, - { { "uni064A.fina", "uni0654" }, { "uni0626.fina" } }, - { { "uni064A.init", "uni0654" }, { "uni0626.init" } }, - { { "uni064A.medi", "uni0654" }, { "uni0626.medi" } }, - { { "uni06C1", "uni0654" }, { "uni06C2" } }, - { { "uni06C1.fina", "uni0654" }, { "uni06C2.fina" } }, - { { "uni06C1.init", "uni0654" }, { "uni06C2.init" } }, - { { "uni06C1.medi", "uni0654" }, { "uni06C2.medi" } }, - } - }, - // arab-004.ttx - { "f3", "lu5", "arab", "dflt", "rlig", - new String[][][] { - { { "uni064B", "uni0651" }, { "uni0651064B" } }, - { { "uni064C", "uni0651" }, { "uni0651064C" } }, - { { "uni064E", "uni0651" }, { "uni0651064E" } }, - { { "uni064F", "uni0651" }, { "uni0651064F" } }, - { { "uni0651", "uni064B" }, { "uni0651064B" } }, - { { "uni0651", "uni064C" }, { "uni0651064C" } }, - { { "uni0651", "uni064E" }, { "uni0651064E" } }, - { { "uni0651", "uni064F" }, { "uni0651064F" } }, - { { "uni0651", "uni0670" }, { "absShaddaAlef" } }, - { { "uni0670", "uni0651" }, { "absShaddaAlef" } }, - } - }, - { "f3", "lu6", "arab", "dflt", "rlig", - new String[][][] { - { { "uni064D", "uni0651" }, { "uni0651064D" } }, - { { "uni0650", "uni0651" }, { "uni06510650" } }, - { { "uni0651", "uni0650" }, { "uni06510650" } }, - { { "uni0651", "uni064D" }, { "uni0651064D" } }, - } - }, - { "f3", "lu7", "arab", "dflt", "rlig", - new String[][][] { - { { "uni0647", "uni0654" }, { "uni06C0" } }, - { { "uni0647.fina", "uni0654" }, { "uni06C0.fina" } }, - { { "uni0647.init", "uni0654" }, { "uni06C0.init" } }, - { { "uni0647.medi", "uni0654" }, { "uni06C0.medi" } }, - { { "uni0648", "uni0654" }, { "uni0624" } }, - { { "uni0648.fina", "uni0654" }, { "uni0624.fina" } }, - { { "uni064A", "uni0654" }, { "uni0626" } }, - { { "uni064A.fina", "uni0654" }, { "uni0626.fina" } }, - { { "uni064A.init", "uni0654" }, { "uni0626.init" } }, - { { "uni064A.medi", "uni0654" }, { "uni0626.medi" } }, - { { "uni06C1", "uni0654" }, { "uni06C2" } }, - { { "uni06C1.fina", "uni0654" }, { "uni06C2.fina" } }, - { { "uni06C1.init", "uni0654" }, { "uni06C2.init" } }, - { { "uni06C1.medi", "uni0654" }, { "uni06C2.medi" } }, - } - }, - { "f3", "lu8", "arab", "dflt", "rlig", - new String[][][] { - { { "uni064E", "uni0654" }, { "uni0654064E" } }, - { { "uni064F", "uni0654" }, { "uni0654064F" } }, - { { "uni0654", "uni064E" }, { "uni0654064E" } }, - { { "uni0654", "uni064F" }, { "uni0654064F" } }, - } - }, - }; - - private static Object[][] ltContextual = { - { GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_CONTEXTUAL }, - // arab-001.ttx - none used - // arab-002.ttx - none used - // arab-003.ttx - none used - // arab-004.ttx - none used - }; - - private static Object[][] ltChainedContextual = { - { GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL }, - // arab-001.ttx - { "f0", "lu1", "arab", "dflt", "ccmp", - new String[][][] { - { { "wawwithhamzaabove", "alefwithhamzabelow" }, { "wawwithhamzaabove", "arabicalef", "uni0655" } }, - { { "reh", "alefwithhamzabelow" }, { "reh", "arabicalef", "uni0655" } }, - { { "zain", "alefwithhamzabelow" }, { "zain", "arabicalef", "uni0655" } }, - { { "waw", "alefwithhamzabelow" }, { "waw", "arabicalef", "uni0655" } }, - { { "jeh", "alefwithhamzabelow" }, { "jeh", "arabicalef", "uni0655" } }, - } - }, - { "f0", "lu3", "arab", "dflt", "isol", - new String[][][] { - { { "hamza", "heh" }, { "hamza", "hehisolated" } }, - { { "alefwithmaddaabove", "heh" }, { "alefwithmaddaabove", "hehisolated" } }, - { { "alefwithhamzaabove", "heh" }, { "alefwithhamzaabove", "hehisolated" } }, - { { "wawwithhamzaabove", "heh" }, { "wawwithhamzaabove", "hehisolated" } }, - { { "alefwithhamzabelow", "heh" }, { "alefwithhamzabelow", "hehisolated" } }, - { { "arabicalef", "heh" }, { "arabicalef", "hehisolated" } }, - { { "tehmarbuta", "heh" }, { "tehmarbuta", "hehisolated" } }, - { { "dal", "heh" }, { "dal", "hehisolated" } }, - { { "thal", "heh" }, { "thal", "hehisolated" } }, - { { "reh", "heh" }, { "reh", "hehisolated" } }, - { { "zain", "heh" }, { "zain", "hehisolated" } }, - { { "waw", "heh" }, { "waw", "hehisolated" } }, - { { "alefwasla", "heh" }, { "alefwasla", "hehisolated" } }, - { { "jeh", "heh" }, { "jeh", "hehisolated" } }, - { { "arabicae", "heh" }, { "arabicae", "hehisolated" } }, - { { "alefwaslafinal", "heh" }, { "alefwaslafinal", "hehisolated" } }, - { { "alefwithmaddaabovefinal", "heh" }, { "alefwithmaddaabovefinal", "hehisolated" } }, - { { "alefwithhamzaabovefinal", "heh" }, { "alefwithhamzaabovefinal", "hehisolated" } }, - { { "alefwithhamzabelowfinal", "heh" }, { "alefwithhamzabelowfinal", "hehisolated" } }, - { { "aleffinal", "heh" }, { "aleffinal", "hehisolated" } }, - { { "tehmarbutafinal", "heh" }, { "tehmarbutafinal", "hehisolated" } }, - { { "lamwithalefmaddaaboveisolatedd", "heh" }, { "lamwithalefmaddaaboveisolatedd", "hehisolated" } }, - { { "lamwithalefmaddaabovefinal", "heh" }, { "lamwithalefmaddaabovefinal", "hehisolated" } }, - { { "lamwithalefhamzaaboveisolatedd", "heh" }, { "lamwithalefhamzaaboveisolatedd", "hehisolated" } }, - { { "lamwithalefhamzaabovefinal", "heh" }, { "lamwithalefhamzaabovefinal", "hehisolated" } }, - { { "lamwithalefhamzabelowisolated", "heh" }, { "lamwithalefhamzabelowisolated", "hehisolated" } }, - { { "lamwithalefhamzabelowfinal", "heh" }, { "lamwithalefhamzabelowfinal", "hehisolated" } }, - { { "lamwithalefisolated", "heh" }, { "lamwithalefisolated", "hehisolated" } }, - { { "lamwithaleffinal", "heh" }, { "lamwithaleffinal", "hehisolated" } }, - } - }, - // arab-002.ttx - { "f1", "lu2", "arab", "dflt", "isol", - new String[][][] { - { { "hamza", "heh" }, { "hamza", "hehisolated" } }, - { { "alefwithmaddaabove", "heh" }, { "alefwithmaddaabove", "hehisolated" } }, - { { "alefwithhamzaabove", "heh" }, { "alefwithhamzaabove", "hehisolated" } }, - { { "wawwithhamzaabove", "heh" }, { "wawwithhamzaabove", "hehisolated" } }, - { { "alefwithhamzabelow", "heh" }, { "alefwithhamzabelow", "hehisolated" } }, - { { "arabicalef", "heh" }, { "arabicalef", "hehisolated" } }, - { { "tehmarbuta", "heh" }, { "tehmarbuta", "hehisolated" } }, - { { "dal", "heh" }, { "dal", "hehisolated" } }, - { { "thal", "heh" }, { "thal", "hehisolated" } }, - { { "reh", "heh" }, { "reh", "hehisolated" } }, - { { "zain", "heh" }, { "zain", "hehisolated" } }, - { { "waw", "heh" }, { "waw", "hehisolated" } }, - { { "alefwasla", "heh" }, { "alefwasla", "hehisolated" } }, - { { "jeh", "heh" }, { "jeh", "hehisolated" } }, - { { "arabicae", "heh" }, { "arabicae", "hehisolated" } }, - { { "alefwaslafinal", "heh" }, { "alefwaslafinal", "hehisolated" } }, - { { "alefwithmaddaabovefinal", "heh" }, { "alefwithmaddaabovefinal", "hehisolated" } }, - { { "alefwithhamzaabovefinal", "heh" }, { "alefwithhamzaabovefinal", "hehisolated" } }, - { { "alefwithhamzabelowfinal", "heh" }, { "alefwithhamzabelowfinal", "hehisolated" } }, - { { "aleffinal", "heh" }, { "aleffinal", "hehisolated" } }, - { { "tehmarbutafinal", "heh" }, { "tehmarbutafinal", "hehisolated" } }, - { { "lamwithalefmaddaaboveisolatedd", "heh" }, { "lamwithalefmaddaaboveisolatedd", "hehisolated" } }, - { { "lamwithalefmaddaabovefinal", "heh" }, { "lamwithalefmaddaabovefinal", "hehisolated" } }, - { { "lamwithalefhamzaaboveisolatedd", "heh" }, { "lamwithalefhamzaaboveisolatedd", "hehisolated" } }, - { { "lamwithalefhamzaabovefinal", "heh" }, { "lamwithalefhamzaabovefinal", "hehisolated" } }, - { { "lamwithalefhamzabelowisolated", "heh" }, { "lamwithalefhamzabelowisolated", "hehisolated" } }, - { { "lamwithalefhamzabelowfinal", "heh" }, { "lamwithalefhamzabelowfinal", "hehisolated" } }, - { { "lamwithalefisolated", "heh" }, { "lamwithalefisolated", "hehisolated" } }, - { { "lamwithaleffinal", "heh" }, { "lamwithaleffinal", "hehisolated" } }, - } - }, - { "f1", "lu11", "arab", "dflt", "calt", - new String[][][] { - { { "pehinitial", "fatha", "pehmedial", "fatha" }, { "pehinitial", "tatweel", "fatha", "pehmedial", "fatha" } }, - { { "yehwithhamzaaboveinitial", "damma", "vehmedial", "damma" }, { "yehwithhamzaaboveinitial", "tatweel", "damma", "vehmedial", "damma" } }, - { { "behinitial", "shadda", "jehfinal", "shadda" }, { "behinitial", "tatweel", "shadda", "jehfinal", "shadda" } }, - { { "tehinitial", "sukun", "behmedial", "sukun" }, { "tehinitial", "tatweel", "sukun", "behmedial", "sukun" } }, - { { "thehinitial", "smallhighmadda", "tehmedial", "smallhighmadda" }, { "thehinitial", "tatweel", "smallhighmadda", "tehmedial", "smallhighmadda" } }, - { { "fehinitial", "fathaonhamza", "ainmedial", "fathaonhamza" }, { "fehinitial", "tatweel", "fathaonhamza", "ainmedial", "fathaonhamza" } }, - { { "qafinitial", "dammaonhamza", "qafmedial", "dammaonhamza" }, { "qafinitial", "tatweel", "dammaonhamza", "qafmedial", "dammaonhamza" } }, - { { "nooninitial", "superscriptalef", "wawfinal", "superscriptalef" }, { "nooninitial", "tatweel", "superscriptalef", "wawfinal", "superscriptalef" } }, - { { "yehinitial", "dammatanonhamza", "rehfinal", "dammatanonhamza" }, { "yehinitial", "tatweel", "dammatanonhamza", "rehfinal", "dammatanonhamza" } }, - { { "uni0649.init", "uni0654", "wawwithhamzaabovefinal", "uni0654" }, { "uni0649.init", "tatweel", "uni0654", "wawwithhamzaabovefinal", "uni0654" } }, - } - }, - { "f1", "lu12", "arab", "dflt", "calt", - new String[][][] { - { { "pehmedial", "fatha", "pehmedial", "fatha" }, { "pehmedial", "tatweel", "fatha", "pehmedial", "fatha" } }, - { { "yehwithhamzaabovemedial", "damma", "vehmedial", "damma" }, { "yehwithhamzaabovemedial", "tatweel", "damma", "vehmedial", "damma" } }, - { { "behmedial", "shadda", "wawwithhamzaabovefinal", "shadda" }, { "behmedial", "tatweel", "shadda", "wawwithhamzaabovefinal", "shadda" } }, - { { "tehmedial", "sukun", "rehfinal", "sukun" }, { "tehmedial", "tatweel", "sukun", "rehfinal", "sukun" } }, - { { "thehmedial", "smallhighmadda", "zainfinal", "smallhighmadda" }, { "thehmedial", "tatweel", "smallhighmadda", "zainfinal", "smallhighmadda" } }, - { { "noonmedial", "superscriptalef", "ainmedial", "superscriptalef" }, { "noonmedial", "tatweel", "superscriptalef", "ainmedial", "superscriptalef" } }, - { { "yehmedial", "dammatanonhamza", "wawfinal", "dammatanonhamza" }, { "yehmedial", "tatweel", "dammatanonhamza", "wawfinal", "dammatanonhamza" } }, - { { "uni0649.medi", "uni0654", "yehmedial", "uni0654" }, { "uni0649.medi", "tatweel", "uni0654", "yehmedial", "uni0654" } }, - } - }, - // arab-003.ttx - { "f2", "lu4", "arab", "dflt", "rlig", - new String[][][] { - { { "uni0644.medi", "uni0622.fina" }, { "uni0644.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B5.medi", "uni0622.fina" }, { "uni06B5.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B6.medi", "uni0622.fina" }, { "uni06B6.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B7.medi", "uni0622.fina" }, { "uni06B7.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B8.medi", "uni0622.fina" }, { "uni06B8.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "absLamRetroMed", "uni0622.fina" }, { "absLamRetroMed.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni076A.medi", "uni0622.fina" }, { "uni076A.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni0644.init", "uni0622.fina" }, { "uni0644.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B5.init", "uni0622.fina" }, { "uni06B5.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B6.init", "uni0622.fina" }, { "uni06B6.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B7.init", "uni0622.fina" }, { "uni06B7.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B8.init", "uni0622.fina" }, { "uni06B8.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "absLamRetroIni", "uni0622.fina" }, { "absLamRetroIni.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni076A.init", "uni0622.fina" }, { "uni076A.init.preAlef", "uni0622.fina.postLamIni" } }, - } - }, - { "f2", "lu8", "arab", "dflt", "calt", - new String[][][] { - { { "uni064A", "uni0670" }, { "uni064A", "uni0670.large" } }, - } - }, - { "f2", "lu13", "arab", "dflt", "calt", - new String[][][] { - { { "uni06DD", "one" }, { "uni06DD", "oneMedium" } }, - { { "uni06DD", "one", "two" }, { "uni06DD.2", "oneMedium", "twoMedium" } }, - { { "uni06DD", "one", "two", "three" }, { "uni06DD.3", "oneSmall", "twoSmall", "threeSmall" } }, - } - }, - // arab-004.ttx - { "f3", "lu4", "arab", "dflt", "rlig", - new String[][][] { - { { "uni0644.medi", "uni0622.fina" }, { "uni0644.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B5.medi", "uni0622.fina" }, { "uni06B5.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B6.medi", "uni0622.fina" }, { "uni06B6.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B7.medi", "uni0622.fina" }, { "uni06B7.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni06B8.medi", "uni0622.fina" }, { "uni06B8.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "absLamRetroMed", "uni0622.fina" }, { "absLamRetroMed.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni076A.medi", "uni0622.fina" }, { "uni076A.medi.preAlef", "uni0622.fina.postLamMed" } }, - { { "uni0644.init", "uni0622.fina" }, { "uni0644.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B5.init", "uni0622.fina" }, { "uni06B5.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B6.init", "uni0622.fina" }, { "uni06B6.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B7.init", "uni0622.fina" }, { "uni06B7.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni06B8.init", "uni0622.fina" }, { "uni06B8.init.preAlef", "uni0622.fina.postLamIni" } }, - { { "absLamRetroIni", "uni0622.fina" }, { "absLamRetroIni.preAlef", "uni0622.fina.postLamIni" } }, - { { "uni076A.init", "uni0622.fina" }, { "uni076A.init.preAlef", "uni0622.fina.postLamIni" } }, - } - }, - { "f3", "lu9", "arab", "dflt", "calt", - new String[][][] { - { { "uni0601", "uni0661" }, { "uni0601", "uni0661.Medium" } }, - { { "uni0601", "uni0661", "uni0662" }, { "uni0601.2", "uni0661.Medium", "uni0662.Medium" } }, - { { "uni0601", "uni0661", "uni0662", "uni0663" }, { "uni0601.3", "uni0661.Medium", "uni0662.Medium", "uni0663.Medium", } }, - { { "uni0601", "uni0661", "uni0662", "uni0663", "uni0664" }, { "uni0601.4", "uni0661.Medium", "uni0662.Medium", "uni0663.Medium", "uni0664.Medium" } }, - } - }, - { "f3", "lu10", "arab", "dflt", "calt", - new String[][][] { - { { "uni064A", "uni0670" }, { "uni064A", "uni0670.large" } }, - } - }, - }; - - @Test - public void testGSUBSingle() throws Exception { - performSubstitutions(ltSingle); - } - - @Test - public void testGSUBMultiple() throws Exception { - performSubstitutions(ltMultiple); - } - - @Test - public void testGSUBAlternate() throws Exception { - performSubstitutions(ltAlternate); - } - - @Test - public void testGSUBLigature() throws Exception { - performSubstitutions(ltLigature); - } - - @Test - public void testGSUBContextual() throws Exception { - performSubstitutions(ltContextual); - } - - @Test - public void testGSUBChainedContextual() throws Exception { - performSubstitutions(ltChainedContextual); - } - - /** - * Perform substitutions on all test data in test specification TS. - * @param ts test specification - */ - private void performSubstitutions(Object[][] ts) { - assert ts.length > 0; - Object[] tp = ts[0]; - for (int i = 1; i < ts.length; i++) { - performSubstitutions(tp, ts[i]); - } - } - - /** - * Perform substitutions on all test data TD using test parameters TP. - * @param tp test parameters - * @param td test data - */ - private void performSubstitutions(Object[] tp, Object[] td) { - assert tp.length > 0; - if (td.length > 5) { - String fid = (String) td[0]; - String lid = (String) td[1]; - String script = (String) td[2]; - String language = (String) td[3]; - String feature = (String) td[4]; - TTXFile tf = findTTX(fid); - assertTrue(tf != null); - GlyphSubstitutionTable gsub = tf.getGSUB(); - assertTrue(gsub != null); - GlyphSubstitutionSubtable[] sta = findGSUBSubtables(gsub, script, language, feature, lid); - assertTrue(sta != null); - assertTrue(sta.length > 0); - ScriptContextTester sct = findScriptContextTester(script, language, feature); - String[][][] tia = (String[][][]) td[5]; // test instance array - for (String[][] ti : tia) { // test instance - if (ti != null) { - if (ti.length > 1) { // must have at least input and output glyph id arrays - String[] igia = ti[0]; // input glyph id array - String[] ogia = ti[1]; // output glyph id array - GlyphSequence igs = tf.getGlyphSequence(igia); - GlyphSequence ogs = tf.getGlyphSequence(ogia); - GlyphSequence tgs = GlyphSubstitutionSubtable.substitute(igs, script, language, feature, sta, sct); - assertSameGlyphs(ogs, tgs); - } - } - } - } - } - - private String findTTXPath(String fid) { - for (String[] fs : ttxFonts) { - if ((fs != null) && (fs.length > 1)) { - if (fs[0].equals(fid)) { - return ttxFilesRoot + File.separator + fs[1]; - } - } - } - return null; - } - - private TTXFile findTTX(String fid) { - String pn = findTTXPath(fid); - assertTrue(pn != null); - try { - TTXFile tf = TTXFile.getFromCache(pn); - return tf; - } catch (Exception e) { - fail(e.getMessage()); - return null; - } - } - - private GlyphSubstitutionSubtable[] findGSUBSubtables(GlyphSubstitutionTable gsub, String script, String language, String feature, String lid) { - LookupTable lt = gsub.getLookupTable(lid); - if (lt != null) { - return (GlyphSubstitutionSubtable[]) lt.getSubtables(); - } else { - return null; - } - } - - private ScriptContextTester findScriptContextTester(String script, String language, String feature) { - return this; - } - - public GlyphContextTester getTester(String feature) { - return this; - } - - public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) { - return true; - } - - private void assertSameGlyphs(GlyphSequence gs1, GlyphSequence gs2) { - assertNotNull(gs1); - assertNotNull(gs2); - IntBuffer gb1 = gs1.getGlyphs(); - IntBuffer gb2 = gs2.getGlyphs(); - assertEquals("unequal glyph count", gb1.limit(), gb2.limit()); - for (int i = 0; i < gb1.limit(); i++) { - int g1 = gb1.get(i); - int g2 = gb2.get(i); - assertEquals("unequal glyph code", g1, g2); - } - } - -} diff --git a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java b/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java deleted file mode 100644 index 178203ff6..000000000 --- a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java +++ /dev/null @@ -1,3438 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.fonts.ttx; - -import java.io.File; -import java.io.IOException; -import java.nio.IntBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.Stack; -import java.util.TreeMap; -import java.util.Vector; - -import javax.xml.parsers.FactoryConfigurationError; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; - -import org.xml.sax.Attributes; -import org.xml.sax.Locator; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.apache.fop.complexscripts.fonts.GlyphClassTable; -import org.apache.fop.complexscripts.fonts.GlyphCoverageTable; -import org.apache.fop.complexscripts.fonts.GlyphDefinitionTable; -import org.apache.fop.complexscripts.fonts.GlyphMappingTable; -import org.apache.fop.complexscripts.fonts.GlyphPositioningTable; -import org.apache.fop.complexscripts.fonts.GlyphPositioningTable.Anchor; -import org.apache.fop.complexscripts.fonts.GlyphPositioningTable.MarkAnchor; -import org.apache.fop.complexscripts.fonts.GlyphPositioningTable.PairValues; -import org.apache.fop.complexscripts.fonts.GlyphPositioningTable.Value; -import org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable; -import org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable.Ligature; -import org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable.LigatureSet; -import org.apache.fop.complexscripts.fonts.GlyphSubtable; -import org.apache.fop.complexscripts.fonts.GlyphTable; -import org.apache.fop.complexscripts.fonts.GlyphTable.RuleLookup; -import org.apache.fop.complexscripts.util.GlyphSequence; -import org.apache.fop.complexscripts.util.UTF32; -import org.apache.fop.util.CharUtilities; - - -// CSOFF: LineLengthCheck - -/** - * This class supports a subset of the <code>TTX</code> file as produced by the Adobe FLEX - * SDK (AFDKO). In particular, it is used to parse a <code>TTX</code> file in order to - * extract character to glyph code mapping data, glyph definition data, glyph substitution - * data, and glyph positioning data. - * - * <code>TTX</code> files are used in FOP for testing and debugging purposes only. Such - * files are used to represent font data employed by complex script processing, and - * normally extracted directly from an opentype (or truetype) file. However, due to - * copyright restrictions, it is not possible to include most opentype (or truetype) font - * files directly in the FOP distribution. In such cases, <code>TTX</code> files are used - * to distribute a subset of the complex script advanced table information contained in - * certain font files to facilitate testing. - */ -public class TTXFile { - - /** logging instance */ - private static final Log log = LogFactory.getLog(TTXFile.class); // CSOK: ConstantNameCheck - /** default script tag */ - private static final String DEFAULT_SCRIPT_TAG = "dflt"; - /** default language tag */ - private static final String DEFAULT_LANGUAGE_TAG = "dflt"; - - /** ttxfile cache */ - private static Map<String, TTXFile> cache = new HashMap<String, TTXFile>(); - - // transient parsing state - private Locator locator; // current document locator - private Stack<String[]> elements; // stack of ttx elements being parsed - private Map<String, Integer> glyphIds; // map of glyph names to glyph identifiers - private List<int[]> cmapEntries; // list of <charCode,glyphCode> pairs - private Vector<int[]> hmtxEntries; // vector of <width,lsb> pairs - private Map<String, Integer> glyphClasses; // map of glyph names to glyph classes - private Map<String, Map<String, List<String>>> scripts; // map of script tag to Map<language-tag,List<features-id>>> - private Map<String, List<String>> languages; // map of language tag to List<feature-id> - private Map<String, Object[]> features; // map of feature id to Object[2] : { feature-tag, List<lookup-id> } - private List<String> languageFeatures; // list of language system feature ids, where first is (possibly null) required feature id - private List<String> featureLookups; // list of lookup ids for feature being constructed - private List<Integer> coverageEntries; // list of entries for coverage table being constructed - private Map<String, GlyphCoverageTable> coverages; // map of coverage table keys to coverage tables - private List subtableEntries; // list of lookup subtable entries - private List<GlyphSubtable> subtables; // list of constructed subtables - private List<Integer> alternates; // list of alternates in alternate set being constructed - private List<Ligature> ligatures; // list of ligatures in ligature set being constructed - private List<Integer> substitutes; // list of substitutes in (multiple substitution) sequence being constructed - private List<PairValues> pairs; // list of pair value records being constructed - private List<PairValues[]> pairSets; // list of pair value sets (as arrays) being constructed - private List<Anchor> anchors; // list of anchors of base|mark|component record being constructed - private List<Anchor[]> components; // list of ligature component anchors being constructed - private List<MarkAnchor> markAnchors; // list of mark anchors being constructed - private List<Anchor[]> baseOrMarkAnchors; // list of base|mark2 anchors being constructed - private List<Anchor[][]> ligatureAnchors; // list of ligature anchors being constructed - private List<Anchor[]> attachmentAnchors; // list of entry|exit attachment anchors being constructed - private List<RuleLookup> ruleLookups; // list of rule lookups being constructed - private int glyphIdMax; // maximum glyph id - private int cmPlatform; // plaform id of cmap being constructed - private int cmEncoding; // plaform id of cmap being constructed - private int cmLanguage; // plaform id of cmap being constructed - private int flIndex; // index of feature being constructed - private int flSequence; // feature sequence within feature list - private int ltIndex; // index of lookup table being constructed - private int ltSequence; // lookup sequence within table - private int ltFlags; // flags of current lookup being constructed - private int stSequence; // subtable sequence number within lookup - private int stFormat; // format of current subtable being constructed - private int ctFormat; // format of coverage table being constructed - private int ctIndex; // index of coverage table being constructed - private int rlSequence; // rule lookup sequence index - private int rlLookup; // rule lookup lookup index - private int psIndex; // pair set index - private int vf1; // value format 1 (used with pair pos and single pos) - private int vf2; // value format 2 (used with pair pos) - private int g2; // glyph id 2 (used with pair pos) - private int xCoord; // x coordinate of anchor being constructed - private int yCoord; // y coordinate of anchor being constructed - private int markClass; // mark class of mark anchor being constructed - private String defaultScriptTag; // tag of default script - private String scriptTag; // tag of script being constructed - private String defaultLanguageTag; // tag of default language system - private String languageTag; // tag of language system being constructed - private String featureTag; // tag of feature being constructed - private Value v1; // positioining value 1 - private Value v2; // positioining value 2 - - // resultant state - private int upem; // units per em - private Map<Integer, Integer> cmap; // constructed character map - private Map<Integer, Integer> gmap; // constructed glyph map - private int[][] hmtx; // constructed horizontal metrics - array of design { width, lsb } pairs, indexed by glyph code - private int[] widths; // pdf normalized widths (millipoints) - private GlyphDefinitionTable gdef; // constructed glyph definition table - private GlyphSubstitutionTable gsub; // constructed glyph substitution table - private GlyphPositioningTable gpos; // constructed glyph positioning table - - public TTXFile() { - elements = new Stack<String[]>(); - glyphIds = new HashMap<String, Integer>(); - cmapEntries = new ArrayList<int[]>(); - hmtxEntries = new Vector<int[]>(); - glyphClasses = new HashMap<String, Integer>(); - scripts = new HashMap<String, Map<String, List<String>>>(); - languages = new HashMap<String, List<String>>(); - features = new HashMap<String, Object[]>(); - languageFeatures = new ArrayList<String>(); - featureLookups = new ArrayList<String>(); - coverageEntries = new ArrayList<Integer>(); - coverages = new HashMap<String, GlyphCoverageTable>(); - subtableEntries = new ArrayList(); - subtables = new ArrayList<GlyphSubtable>(); - alternates = new ArrayList<Integer>(); - ligatures = new ArrayList<Ligature>(); - substitutes = new ArrayList<Integer>(); - pairs = new ArrayList<PairValues>(); - pairSets = new ArrayList<PairValues[]>(); - anchors = new ArrayList<Anchor>(); - markAnchors = new ArrayList<MarkAnchor>(); - baseOrMarkAnchors = new ArrayList<Anchor[]>(); - ligatureAnchors = new ArrayList<Anchor[][]>(); - components = new ArrayList<Anchor[]>(); - attachmentAnchors = new ArrayList<Anchor[]>(); - ruleLookups = new ArrayList<RuleLookup>(); - glyphIdMax = -1; - cmPlatform = -1; - cmEncoding = -1; - cmLanguage = -1; - flIndex = -1; - flSequence = 0; - ltIndex = -1; - ltSequence = 0; - ltFlags = 0; - stSequence = 0; - stFormat = 0; - ctFormat = -1; - ctIndex = -1; - rlSequence = -1; - rlLookup = -1; - psIndex = -1; - vf1 = -1; - vf2 = -1; - g2 = -1; - xCoord = Integer.MIN_VALUE; - yCoord = Integer.MIN_VALUE; - markClass = -1; - defaultScriptTag = DEFAULT_SCRIPT_TAG; - scriptTag = null; - defaultLanguageTag = DEFAULT_LANGUAGE_TAG; - languageTag = null; - featureTag = null; - v1 = null; - v2 = null; - upem = -1; - } - public void parse(String filename) { - parse(new File(filename)); - } - public void parse(File f) { - assert f != null; - try { - SAXParserFactory spf = SAXParserFactory.newInstance(); - SAXParser sp = spf.newSAXParser(); - sp.parse(f, new Handler()); - } catch (FactoryConfigurationError e) { - throw new RuntimeException(e.getMessage()); - } catch (ParserConfigurationException e) { - throw new RuntimeException(e.getMessage()); - } catch (SAXException e) { - throw new RuntimeException(e.getMessage()); - } catch (IOException e) { - throw new RuntimeException(e.getMessage()); - } - } - public GlyphSequence mapCharsToGlyphs(String s) { - Integer[] ca = UTF32.toUTF32(s, 0, true); - int ng = ca.length; - IntBuffer cb = IntBuffer.allocate(ng); - IntBuffer gb = IntBuffer.allocate(ng); - for (Integer c : ca) { - int g = mapCharToGlyph((int) c); - if (g >= 0) { - cb.put(c); - gb.put(g); - } else { - throw new IllegalArgumentException("character " + CharUtilities.format(c) + " has no corresponding glyph"); - } - } - cb.rewind(); - gb.rewind(); - return new GlyphSequence(cb, gb, null); - } - public int mapCharToGlyph(int c) { - if (cmap != null) { - Integer g = cmap.get(Integer.valueOf(c)); - if (g != null) { - return (int) g; - } else { - return -1; - } - } else { - return -1; - } - } - public int getGlyph(String gid) { - return mapGlyphId0(gid); - } - public GlyphSequence getGlyphSequence(String[] gids) { - assert gids != null; - int ng = gids.length; - IntBuffer cb = IntBuffer.allocate(ng); - IntBuffer gb = IntBuffer.allocate(ng); - for (String gid : gids) { - int g = mapGlyphId0(gid); - if (g >= 0) { - int c = mapGlyphIdToChar(gid); - if (c < 0) { - c = CharUtilities.NOT_A_CHARACTER; - } - cb.put(c); - gb.put(g); - } else { - throw new IllegalArgumentException("unmapped glyph id \"" + gid + "\""); - } - } - cb.rewind(); - gb.rewind(); - return new GlyphSequence(cb, gb, null); - } - public int[] getWidths(String[] gids) { - assert gids != null; - int ng = gids.length; - int[] widths = new int [ ng ]; - int i = 0; - for (String gid : gids) { - int g = mapGlyphId0(gid); - int w = 0; - if (g >= 0) { - if ((hmtx != null) && (g < hmtx.length)) { - int[] mtx = hmtx [ g ]; - assert mtx != null; - assert mtx.length > 0; - w = mtx[0]; - } - } - widths [ i++ ] = w; - } - assert i == ng; - return widths; - } - public int[] getWidths() { - if (this.widths == null) { - if ((hmtx != null) && (upem > 0)) { - int[] widths = new int [ hmtx.length ]; - for (int i = 0, n = widths.length; i < n; i++) { - widths [ i ] = getPDFWidth(hmtx [ i ] [ 0 ], upem); - } - this.widths = widths; - } - } - return this.widths; - } - public static int getPDFWidth(int tw, int upem) { - // N.B. The following is copied (with minor edits) from TTFFile to insure same results - int pw; - if (tw < 0) { - long rest1 = tw % upem; - long storrest = 1000 * rest1; - long ledd2 = (storrest != 0) ? (rest1 / storrest) : 0; - pw = -((-1000 * tw) / upem - (int) ledd2); - } else { - pw = (tw / upem) * 1000 + ((tw % upem) * 1000) / upem; - } - return pw; - } - public GlyphDefinitionTable getGDEF() { - return gdef; - } - public GlyphSubstitutionTable getGSUB() { - return gsub; - } - public GlyphPositioningTable getGPOS() { - return gpos; - } - public static synchronized TTXFile getFromCache(String filename) { - assert cache != null; - TTXFile f; - if ((f = (TTXFile) cache.get(filename)) == null) { - f = new TTXFile(); - f.parse(filename); - cache.put(filename, f); - } - return f; - } - public static synchronized void clearCache() { - cache.clear(); - } - private final class Handler extends DefaultHandler { - private Handler() { - } - @Override - public void startDocument() { - } - @Override - public void endDocument() { - } - @Override - public void setDocumentLocator(Locator locator) { - TTXFile.this.locator = locator; - } - @Override - public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException { - String[] en = makeExpandedName(uri, localName, qName); - if (en[0] != null) { - unsupportedElement(en); - } else if (en[1].equals("Alternate")) { - String[] pn = new String[] { null, "AlternateSet" }; - if (isParent(pn)) { - String glyph = attrs.getValue("glyph"); - if (glyph == null) { - missingRequiredAttribute(en, "glyph"); - } - int gid = mapGlyphId(glyph, en); - alternates.add(Integer.valueOf(gid)); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("AlternateSet")) { - String[] pn = new String[] { null, "AlternateSubst" }; - if (isParent(pn)) { - String glyph = attrs.getValue("glyph"); - if (glyph == null) { - missingRequiredAttribute(en, "glyph"); - } - int gid = mapGlyphId(glyph, en); - coverageEntries.add(Integer.valueOf(gid)); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("AlternateSubst")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = 1; - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("BacktrackCoverage")) { - String[] pn1 = new String[] { null, "ChainContextSubst" }; - String[] pn2 = new String[] { null, "ChainContextPos" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String index = attrs.getValue("index"); - int ci = -1; - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - ci = Integer.parseInt(index); - } - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = ci; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("BaseAnchor")) { - String[] pn = new String[] { null, "BaseRecord" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - if (format == null) { - missingRequiredAttribute(en, "Format"); - } - assert xCoord == Integer.MIN_VALUE; - assert yCoord == Integer.MIN_VALUE; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("BaseArray")) { - String[] pn = new String[] { null, "MarkBasePos" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("BaseCoverage")) { - String[] pn = new String[] { null, "MarkBasePos" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("BaseRecord")) { - String[] pn = new String[] { null, "BaseArray" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ChainContextPos") || en[1].equals("ChainContextSubst")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - case 2: - case 3: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Class")) { - String[] pn = new String[] { null, "MarkRecord" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - int v = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - v = Integer.parseInt(value); - } - assert markClass == -1; - markClass = v; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ClassDef")) { - String[] pn1 = new String[] { null, "GlyphClassDef" }; - String[] pn2 = new String[] { null, "MarkAttachClassDef" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String glyph = attrs.getValue("glyph"); - if (glyph == null) { - missingRequiredAttribute(en, "glyph"); - } - String glyphClass = attrs.getValue("class"); - if (glyphClass == null) { - missingRequiredAttribute(en, "class"); - } - if (!glyphIds.containsKey(glyph)) { - unsupportedGlyph(en, glyph); - } else if (isParent(pn1)) { - if (glyphClasses.containsKey(glyph)) { - duplicateGlyphClass(en, glyph, glyphClass); - } else { - glyphClasses.put(glyph, Integer.parseInt(glyphClass)); - } - } else if (isParent(pn2)) { - if (glyphClasses.containsKey(glyph)) { - duplicateGlyphClass(en, glyph, glyphClass); - } else { - glyphClasses.put(glyph, Integer.parseInt(glyphClass)); - } - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("ComponentRecord")) { - String[] pn = new String[] { null, "LigatureAttach" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - assert anchors.size() == 0; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Coverage")) { - String[] pn1 = new String[] { null, "CursivePos" }; - String[] pn2 = new String[] { null, "LigCaretList" }; - String[] pn3 = new String[] { null, "MultipleSubst" }; - String[] pn4 = new String[] { null, "PairPos" }; - String[] pn5 = new String[] { null, "SinglePos" }; - String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5 }; - if (isParent(pnx)) { - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("CursivePos")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - assert attachmentAnchors.size() == 0; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("DefaultLangSys")) { - String[] pn = new String[] { null, "Script" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } else { - assertLanguageFeaturesClear(); - assert languageTag == null; - languageTag = defaultLanguageTag; - } - } else if (en[1].equals("EntryAnchor")) { - String[] pn = new String[] { null, "EntryExitRecord" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - if (format == null) { - missingRequiredAttribute(en, "Format"); - } - assert xCoord == Integer.MIN_VALUE; - assert yCoord == Integer.MIN_VALUE; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("EntryExitRecord")) { - String[] pn = new String[] { null, "CursivePos" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ExitAnchor")) { - String[] pn = new String[] { null, "EntryExitRecord" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - if (format == null) { - missingRequiredAttribute(en, "Format"); - } - assert xCoord == Integer.MIN_VALUE; - assert yCoord == Integer.MIN_VALUE; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Feature")) { - String[] pn = new String[] { null, "FeatureRecord" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } else { - assertFeatureLookupsClear(); - } - } else if (en[1].equals("FeatureIndex")) { - String[] pn1 = new String[] { null, "DefaultLangSys" }; - String[] pn2 = new String[] { null, "LangSys" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String value = attrs.getValue("value"); - int v = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - v = Integer.parseInt(value); - } - if (languageFeatures.size() == 0) { - languageFeatures.add(null); - } - if ((v >= 0) && (v < 65535)) { - languageFeatures.add(makeFeatureId(v)); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("FeatureList")) { - String[] pn1 = new String[] { null, "GSUB" }; - String[] pn2 = new String[] { null, "GPOS" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (!isParent(pnx)) { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("FeatureRecord")) { - String[] pn = new String[] { null, "FeatureList" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - int fi = -1; - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - fi = Integer.parseInt(index); - } - assertFeatureClear(); - assert flIndex == -1; - flIndex = fi; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("FeatureTag")) { - String[] pn = new String[] { null, "FeatureRecord" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - assert featureTag == null; - featureTag = value; - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("GDEF")) { - String[] pn = new String[] { null, "ttFont" }; - if (isParent(pn)) { - assertSubtablesClear(); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("GPOS")) { - String[] pn = new String[] { null, "ttFont" }; - if (isParent(pn)) { - assertCoveragesClear(); - assertSubtablesClear(); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("GSUB")) { - String[] pn = new String[] { null, "ttFont" }; - if (isParent(pn)) { - assertCoveragesClear(); - assertSubtablesClear(); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Glyph")) { - String[] pn1 = new String[] { null, "Coverage" }; - String[] pn2 = new String[] { null, "InputCoverage" }; - String[] pn3 = new String[] { null, "LookAheadCoverage" }; - String[] pn4 = new String[] { null, "BacktrackCoverage" }; - String[] pn5 = new String[] { null, "MarkCoverage" }; - String[] pn6 = new String[] { null, "Mark1Coverage" }; - String[] pn7 = new String[] { null, "Mark2Coverage" }; - String[] pn8 = new String[] { null, "BaseCoverage" }; - String[] pn9 = new String[] { null, "LigatureCoverage" }; - String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5, pn6, pn7, pn8, pn9 }; - if (isParent(pnx)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - int gid = mapGlyphId(value, en); - coverageEntries.add(Integer.valueOf(gid)); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("GlyphClassDef")) { - String[] pn = new String[] { null, "GDEF" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - // force format 1 since TTX always writes entries as non-range entries - if (sf != 1) { - sf = 1; - } - stFormat = sf; - assert glyphClasses.isEmpty(); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("GlyphID")) { - String[] pn = new String[] { null, "GlyphOrder" }; - if (isParent(pn)) { - String id = attrs.getValue("id"); - int gid = -1; - if (id == null) { - missingRequiredAttribute(en, "id"); - } else { - gid = Integer.parseInt(id); - } - String name = attrs.getValue("name"); - if (name == null) { - missingRequiredAttribute(en, "name"); - } - if (glyphIds.containsKey(name)) { - duplicateGlyph(en, name, gid); - } else { - if (gid > glyphIdMax) { - glyphIdMax = gid; - } - glyphIds.put(name, gid); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("GlyphOrder")) { - String[] pn = new String[] { null, "ttFont" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("InputCoverage")) { - String[] pn1 = new String[] { null, "ChainContextSubst" }; - String[] pn2 = new String[] { null, "ChainContextPos" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String index = attrs.getValue("index"); - int ci = -1; - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - ci = Integer.parseInt(index); - } - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = ci; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("LangSys")) { - String[] pn = new String[] { null, "LangSysRecord" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } else { - assertLanguageFeaturesClear(); - } - } else if (en[1].equals("LangSysRecord")) { - String[] pn = new String[] { null, "Script" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LangSysTag")) { - String[] pn = new String[] { null, "LangSysRecord" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - assert languageTag == null; - languageTag = value; - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LigCaretList")) { - String[] pn = new String[] { null, "GDEF" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Ligature")) { - String[] pn = new String[] { null, "LigatureSet" }; - if (isParent(pn)) { - String components = attrs.getValue("components"); - if (components == null) { - missingRequiredAttribute(en, "components"); - } - int[] cids = mapGlyphIds(components, en); - String glyph = attrs.getValue("glyph"); - if (glyph == null) { - missingRequiredAttribute(en, "glyph"); - } - int gid = mapGlyphId(glyph, en); - ligatures.add(new Ligature(gid, cids)); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LigatureAnchor")) { - String[] pn = new String[] { null, "ComponentRecord" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - if (format == null) { - missingRequiredAttribute(en, "Format"); - } - assert xCoord == Integer.MIN_VALUE; - assert yCoord == Integer.MIN_VALUE; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LigatureArray")) { - String[] pn = new String[] { null, "MarkLigPos" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LigatureAttach")) { - String[] pn = new String[] { null, "LigatureArray" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - assert components.size() == 0; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LigatureCoverage")) { - String[] pn = new String[] { null, "MarkLigPos" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LigatureSet")) { - String[] pn = new String[] { null, "LigatureSubst" }; - if (isParent(pn)) { - String glyph = attrs.getValue("glyph"); - if (glyph == null) { - missingRequiredAttribute(en, "glyph"); - } - int gid = mapGlyphId(glyph, en); - coverageEntries.add(Integer.valueOf(gid)); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LigatureSubst")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = 1; - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LookAheadCoverage")) { - String[] pn1 = new String[] { null, "ChainContextSubst" }; - String[] pn2 = new String[] { null, "ChainContextPos" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String index = attrs.getValue("index"); - int ci = -1; - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - ci = Integer.parseInt(index); - } - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = ci; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("Lookup")) { - String[] pn = new String[] { null, "LookupList" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - int li = -1; - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - li = Integer.parseInt(index); - } - assertLookupClear(); - assert ltIndex == -1; - ltIndex = li; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LookupFlag")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - int lf = 0; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - lf = Integer.parseInt(value); - } - assert ltFlags == 0; - ltFlags = lf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("LookupList")) { - String[] pn1 = new String[] { null, "GSUB" }; - String[] pn2 = new String[] { null, "GPOS" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (!isParent(pnx)) { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("LookupListIndex")) { - String[] pn1 = new String[] { null, "Feature" }; - String[] pn2 = new String[] { null, "SubstLookupRecord" }; - String[] pn3 = new String[] { null, "PosLookupRecord" }; - String[][] pnx = new String[][] { pn1, pn2, pn3 }; - if (isParent(pnx)) { - String index = attrs.getValue("index"); - String value = attrs.getValue("value"); - int v = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - v = Integer.parseInt(value); - } - String[][] pny = new String[][] { pn2, pn3 }; - if (isParent(pny)) { - assert rlLookup == -1; - assert v != -1; - rlLookup = v; - } else { - featureLookups.add(makeLookupId(v)); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("LookupType")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Mark1Array")) { - String[] pn = new String[] { null, "MarkMarkPos" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Mark1Coverage")) { - String[] pn = new String[] { null, "MarkMarkPos" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Mark2Anchor")) { - String[] pn = new String[] { null, "Mark2Record" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - if (format == null) { - missingRequiredAttribute(en, "Format"); - } - assert xCoord == Integer.MIN_VALUE; - assert yCoord == Integer.MIN_VALUE; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Mark2Array")) { - String[] pn = new String[] { null, "MarkMarkPos" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Mark2Coverage")) { - String[] pn = new String[] { null, "MarkMarkPos" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Mark2Record")) { - String[] pn = new String[] { null, "Mark2Array" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("MarkAnchor")) { - String[] pn = new String[] { null, "MarkRecord" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - if (format == null) { - missingRequiredAttribute(en, "Format"); - } - assert xCoord == Integer.MIN_VALUE; - assert yCoord == Integer.MIN_VALUE; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("MarkArray")) { - String[] pn1 = new String[] { null, "MarkBasePos" }; - String[] pn2 = new String[] { null, "MarkLigPos" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (!isParent(pnx)) { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("MarkAttachClassDef")) { - String[] pn = new String[] { null, "GDEF" }; - if (isParent(pn)) { - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - // force format 1 since TTX always writes entries as non-range entries - if (sf != 1) { - sf = 1; - } - stFormat = sf; - assert glyphClasses.isEmpty(); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("MarkBasePos")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - assert markAnchors.size() == 0; - assert baseOrMarkAnchors.size() == 0; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("MarkCoverage")) { - String[] pn1 = new String[] { null, "MarkBasePos" }; - String[] pn2 = new String[] { null, "MarkLigPos" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String format = attrs.getValue("Format"); - int cf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - cf = Integer.parseInt(format); - switch (cf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, cf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = cf; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("MarkLigPos")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - assert markAnchors.size() == 0; - assert ligatureAnchors.size() == 0; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("MarkMarkPos")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - assert markAnchors.size() == 0; - assert baseOrMarkAnchors.size() == 0; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("MarkRecord")) { - String[] pn1 = new String[] { null, "MarkArray" }; - String[] pn2 = new String[] { null, "Mark1Array" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("MultipleSubst")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("PairPos")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("PairSet")) { - String[] pn = new String[] { null, "PairPos" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - int psi = -1; - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - psi = Integer.parseInt(index); - } - assert psIndex == -1; - psIndex = psi; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("PairValueRecord")) { - String[] pn = new String[] { null, "PairSet" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - assertPairClear(); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("PosLookupRecord")) { - String[] pn1 = new String[] { null, "ChainContextSubst" }; - String[] pn2 = new String[] { null, "ChainContextPos" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("ReqFeatureIndex")) { - String[] pn1 = new String[] { null, "DefaultLangSys" }; - String[] pn2 = new String[] { null, "LangSys" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String value = attrs.getValue("value"); - int v = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - v = Integer.parseInt(value); - } - String fid; - if ((v >= 0) && (v < 65535)) { - fid = makeFeatureId(v); - } else { - fid = null; - } - assertLanguageFeaturesClear(); - languageFeatures.add(fid); - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("Script")) { - String[] pn = new String[] { null, "ScriptRecord" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ScriptList")) { - String[] pn1 = new String[] { null, "GSUB" }; - String[] pn2 = new String[] { null, "GPOS" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (!isParent(pnx)) { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("ScriptRecord")) { - String[] pn = new String[] { null, "ScriptList" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ScriptTag")) { - String[] pn = new String[] { null, "ScriptRecord" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - assert scriptTag == null; - scriptTag = value; - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("SecondGlyph")) { - String[] pn = new String[] { null, "PairValueRecord" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - int gid = mapGlyphId(value, en); - assert g2 == -1; - g2 = gid; - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Sequence")) { - String[] pn = new String[] { null, "MultipleSubst" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - int i = Integer.parseInt(index); - if (i != subtableEntries.size()) { - invalidIndex(en, i, subtableEntries.size()); - } - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("SequenceIndex")) { - String[] pn1 = new String[] { null, "PosLookupRecord" }; - String[] pn2 = new String[] { null, "SubstLookupRecord" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String value = attrs.getValue("value"); - int v = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - v = Integer.parseInt(value); - } - assert rlSequence == -1; - assert v != -1; - rlSequence = v; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("SinglePos")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("SingleSubst")) { - String[] pn = new String[] { null, "Lookup" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - String format = attrs.getValue("Format"); - int sf = -1; - if (format == null) { - missingRequiredAttribute(en, "Format"); - } else { - sf = Integer.parseInt(format); - switch (sf) { - case 1: - case 2: - break; - default: - unsupportedFormat(en, sf); - break; - } - } - assertCoverageClear(); - ctIndex = 0; - ctFormat = 1; - assertSubtableClear(); - assert sf >= 0; - stFormat = sf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("SubstLookupRecord")) { - String[] pn = new String[] { null, "ChainContextSubst" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Substitute")) { - String[] pn = new String[] { null, "Sequence" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (index == null) { - missingRequiredAttribute(en, "index"); - } else { - int i = Integer.parseInt(index); - if (i != substitutes.size()) { - invalidIndex(en, i, substitutes.size()); - } - } - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - int gid = mapGlyphId(value, en); - substitutes.add(Integer.valueOf(gid)); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Substitution")) { - String[] pn = new String[] { null, "SingleSubst" }; - if (isParent(pn)) { - String in = attrs.getValue("in"); - int igid = -1; - int ogid = -1; - if (in == null) { - missingRequiredAttribute(en, "in"); - } else { - igid = mapGlyphId(in, en); - } - String out = attrs.getValue("out"); - if (out == null) { - missingRequiredAttribute(en, "out"); - } else { - ogid = mapGlyphId(out, en); - } - coverageEntries.add(Integer.valueOf(igid)); - subtableEntries.add(Integer.valueOf(ogid)); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Value")) { - String[] pn = new String[] { null, "SinglePos" }; - if (isParent(pn)) { - String index = attrs.getValue("index"); - if (vf1 < 0) { - missingParameter(en, "value format"); - } else { - subtableEntries.add(parseValue(en, attrs, vf1)); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Value1")) { - String[] pn = new String[] { null, "PairValueRecord" }; - if (isParent(pn)) { - if (vf1 < 0) { - missingParameter(en, "value format 1"); - } else { - assert v1 == null; - v1 = parseValue(en, attrs, vf1); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Value2")) { - String[] pn = new String[] { null, "PairValueRecord" }; - if (isParent(pn)) { - if (vf2 < 0) { - missingParameter(en, "value format 2"); - } else { - assert v2 == null; - v2 = parseValue(en, attrs, vf2); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ValueFormat")) { - String[] pn = new String[] { null, "SinglePos" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - int vf = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - vf = Integer.parseInt(value); - } - assert vf1 == -1; - vf1 = vf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ValueFormat1")) { - String[] pn = new String[] { null, "PairPos" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - int vf = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - vf = Integer.parseInt(value); - } - assert vf1 == -1; - vf1 = vf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("ValueFormat2")) { - String[] pn = new String[] { null, "PairPos" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - int vf = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - vf = Integer.parseInt(value); - } - assert vf2 == -1; - vf2 = vf; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("Version")) { - String[] pn1 = new String[] { null, "GDEF" }; - String[] pn2 = new String[] { null, "GPOS" }; - String[] pn3 = new String[] { null, "GSUB" }; - String[][] pnx = new String[][] { pn1, pn2, pn3 }; - if (isParent(pnx)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("XCoordinate")) { - String[] pn1 = new String[] { null, "BaseAnchor" }; - String[] pn2 = new String[] { null, "EntryAnchor" }; - String[] pn3 = new String[] { null, "ExitAnchor" }; - String[] pn4 = new String[] { null, "LigatureAnchor" }; - String[] pn5 = new String[] { null, "MarkAnchor" }; - String[] pn6 = new String[] { null, "Mark2Anchor" }; - String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5, pn6 }; - if (isParent(pnx)) { - String value = attrs.getValue("value"); - int x = 0; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - x = Integer.parseInt(value); - } - assert xCoord == Integer.MIN_VALUE; - xCoord = x; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("YCoordinate")) { - String[] pn1 = new String[] { null, "BaseAnchor" }; - String[] pn2 = new String[] { null, "EntryAnchor" }; - String[] pn3 = new String[] { null, "ExitAnchor" }; - String[] pn4 = new String[] { null, "LigatureAnchor" }; - String[] pn5 = new String[] { null, "MarkAnchor" }; - String[] pn6 = new String[] { null, "Mark2Anchor" }; - String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5, pn6 }; - if (isParent(pnx)) { - String value = attrs.getValue("value"); - int y = 0; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - y = Integer.parseInt(value); - } - assert yCoord == Integer.MIN_VALUE; - yCoord = y; - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("checkSumAdjustment")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("cmap")) { - String[] pn = new String[] { null, "ttFont" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("cmap_format_0")) { - String[] pn = new String[] { null, "cmap" }; - if (isParent(pn)) { - String platformID = attrs.getValue("platformID"); - if (platformID == null) { - missingRequiredAttribute(en, "platformID"); - } - String platEncID = attrs.getValue("platEncID"); - if (platEncID == null) { - missingRequiredAttribute(en, "platEncID"); - } - String language = attrs.getValue("language"); - if (language == null) { - missingRequiredAttribute(en, "language"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("cmap_format_4")) { - String[] pn = new String[] { null, "cmap" }; - if (isParent(pn)) { - String platformID = attrs.getValue("platformID"); - int pid = -1; - if (platformID == null) { - missingRequiredAttribute(en, "platformID"); - } else { - pid = Integer.parseInt(platformID); - } - String platEncID = attrs.getValue("platEncID"); - int eid = -1; - if (platEncID == null) { - missingRequiredAttribute(en, "platEncID"); - } else { - eid = Integer.parseInt(platEncID); - } - String language = attrs.getValue("language"); - int lid = -1; - if (language == null) { - missingRequiredAttribute(en, "language"); - } else { - lid = Integer.parseInt(language); - } - assert cmapEntries.size() == 0; - assert cmPlatform == -1; - assert cmEncoding == -1; - assert cmLanguage == -1; - cmPlatform = pid; - cmEncoding = eid; - cmLanguage = lid; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("created")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("flags")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("fontDirectionHint")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("fontRevision")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("glyphDataFormat")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("head")) { - String[] pn = new String[] { null, "ttFont" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("hmtx")) { - String[] pn = new String[] { null, "ttFont" }; - if (!isParent(pn)) { - notPermittedInElementContext(en, getParent(), pn); - } else if (glyphIdMax > 0) { - hmtxEntries.setSize(glyphIdMax + 1); - } - } else if (en[1].equals("indexToLocFormat")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("lowestRecPPEM")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("macStyle")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("magicNumber")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("map")) { - String[] pn1 = new String[] { null, "cmap_format_0" }; - String[] pn2 = new String[] { null, "cmap_format_4" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pnx)) { - String code = attrs.getValue("code"); - int cid = -1; - if (code == null) { - missingRequiredAttribute(en, "code"); - } else { - code = code.toLowerCase(); - if (code.startsWith("0x")) { - cid = Integer.parseInt(code.substring(2), 16); - } else { - cid = Integer.parseInt(code, 10); - } - } - String name = attrs.getValue("name"); - int gid = -1; - if (name == null) { - missingRequiredAttribute(en, "name"); - } else { - gid = mapGlyphId(name, en); - } - if ((cmPlatform == 3) && (cmEncoding == 1)) { - cmapEntries.add(new int[] { cid, gid }); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("modified")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("mtx")) { - String[] pn = new String[] { null, "hmtx" }; - if (isParent(pn)) { - String name = attrs.getValue("name"); - int gid = -1; - if (name == null) { - missingRequiredAttribute(en, "name"); - } else { - gid = mapGlyphId(name, en); - } - String width = attrs.getValue("width"); - int w = -1; - if (width == null) { - missingRequiredAttribute(en, "width"); - } else { - w = Integer.parseInt(width); - } - String lsb = attrs.getValue("lsb"); - int l = -1; - if (lsb == null) { - missingRequiredAttribute(en, "lsb"); - } else { - l = Integer.parseInt(lsb); - } - hmtxEntries.set(gid, new int[] { w, l }); - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("tableVersion")) { - String[] pn1 = new String[] { null, "cmap" }; - String[] pn2 = new String[] { null, "head" }; - String[][] pnx = new String[][] { pn1, pn2 }; - if (isParent(pn1)) { // child of cmap - String version = attrs.getValue("version"); - if (version == null) { - missingRequiredAttribute(en, "version"); - } - } else if (isParent(pn2)) { // child of head - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pnx); - } - } else if (en[1].equals("ttFont")) { - String[] pn = new String[] { null, null }; - if (isParent(pn)) { - String sfntVersion = attrs.getValue("sfntVersion"); - if (sfntVersion == null) { - missingRequiredAttribute(en, "sfntVersion"); - } - String ttLibVersion = attrs.getValue("ttLibVersion"); - if (ttLibVersion == null) { - missingRequiredAttribute(en, "ttLibVersion"); - } - } else { - notPermittedInElementContext(en, getParent(), null); - } - } else if (en[1].equals("unitsPerEm")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - int v = -1; - if (value == null) { - missingRequiredAttribute(en, "value"); - } else { - v = Integer.parseInt(value); - } - assert upem == -1; - upem = v; - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("xMax")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("xMin")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("yMax")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else if (en[1].equals("yMin")) { - String[] pn = new String[] { null, "head" }; - if (isParent(pn)) { - String value = attrs.getValue("value"); - if (value == null) { - missingRequiredAttribute(en, "value"); - } - } else { - notPermittedInElementContext(en, getParent(), pn); - } - } else { - unsupportedElement(en); - } - elements.push(en); - } - @Override - public void endElement(String uri, String localName, String qName) throws SAXException { - if (elements.empty()) { - throw new SAXException("element stack is unbalanced, no elements on stack!"); - } - String[] enParent = elements.peek(); - if (enParent == null) { - throw new SAXException("element stack is empty, elements are not balanced"); - } - String[] en = makeExpandedName(uri, localName, qName); - if (!sameExpandedName(enParent, en)) { - throw new SAXException("element stack is unbalanced, expanded name mismatch"); - } - if (en[0] != null) { - unsupportedElement(en); - } else if (isAnchorElement(en[1])) { - if (xCoord == Integer.MIN_VALUE) { - missingParameter(en, "x coordinate"); - } else if (yCoord == Integer.MIN_VALUE) { - missingParameter(en, "y coordinate"); - } else { - if (en[1].equals("EntryAnchor")) { - if (anchors.size() > 0) { - duplicateParameter(en, "entry anchor"); - } - } else if (en[1].equals("ExitAnchor")) { - if (anchors.size() > 1) { - duplicateParameter(en, "exit anchor"); - } else if (anchors.size() == 0) { - anchors.add(null); - } - } - anchors.add(new GlyphPositioningTable.Anchor(xCoord, yCoord)); - xCoord = yCoord = Integer.MIN_VALUE; - } - } else if (en[1].equals("AlternateSet")) { - subtableEntries.add(extractAlternates()); - } else if (en[1].equals("AlternateSubst")) { - if (!sortEntries(coverageEntries, subtableEntries)) { - mismatchedEntries(en, coverageEntries.size(), subtableEntries.size()); - } - addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_ALTERNATE, extractCoverage()); - } else if (en[1].equals("BacktrackCoverage")) { - String ck = makeCoverageKey("bk", ctIndex); - if (coverages.containsKey(ck)) { - duplicateCoverageIndex(en, ctIndex); - } else { - coverages.put(ck, extractCoverage()); - } - } else if (en[1].equals("BaseCoverage")) { - coverages.put("base", extractCoverage()); - } else if (en[1].equals("BaseRecord")) { - baseOrMarkAnchors.add(extractAnchors()); - } else if (en[1].equals("ChainContextPos") || en[1].equals("ChainContextSubst")) { - GlyphCoverageTable coverage = null; - if (stFormat == 3) { - GlyphCoverageTable[] igca = getCoveragesWithPrefix("in"); - GlyphCoverageTable[] bgca = getCoveragesWithPrefix("bk"); - GlyphCoverageTable[] lgca = getCoveragesWithPrefix("la"); - if ((igca.length == 0) || hasMissingCoverage(igca)) { - missingCoverage(en, "input", igca.length); - } else if (hasMissingCoverage(bgca)) { - missingCoverage(en, "backtrack", bgca.length); - } else if (hasMissingCoverage(lgca)) { - missingCoverage(en, "lookahead", lgca.length); - } else { - GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule(extractRuleLookups(), igca.length, igca, bgca, lgca); - GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet(new GlyphTable.Rule[] {r}); - GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs}; - coverage = igca [ 0 ]; - subtableEntries.add(rsa); - } - } else { - unsupportedFormat(en, stFormat); - } - if (en[1].equals("ChainContextPos")) { - addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL, coverage); - } else if (en[1].equals("ChainContextSubst")) { - addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL, coverage); - } - } else if (en[1].equals("ComponentRecord")) { - components.add(extractAnchors()); - } else if (en[1].equals("Coverage")) { - coverages.put("main", extractCoverage()); - } else if (en[1].equals("DefaultLangSys") || en[1].equals("LangSysRecord")) { - if (languageTag == null) { - missingTag(en, "language"); - } else if (languages.containsKey(languageTag)) { - duplicateTag(en, "language", languageTag); - } else { - languages.put(languageTag, extractLanguageFeatures()); - languageTag = null; - } - } else if (en[1].equals("CursivePos")) { - GlyphCoverageTable ct = coverages.get("main"); - if (ct == null) { - missingParameter(en, "coverages"); - } else if (stFormat == 1) { - subtableEntries.add(extractAttachmentAnchors()); - } else { - unsupportedFormat(en, stFormat); - } - addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_CURSIVE, ct); - } else if (en[1].equals("EntryExitRecord")) { - int na = anchors.size(); - if (na == 0) { - missingParameter(en, "entry or exit anchor"); - } else if (na == 1) { - anchors.add(null); - } else if (na > 2) { - duplicateParameter(en, "entry or exit anchor"); - } - attachmentAnchors.add(extractAnchors()); - } else if (en[1].equals("BaseRecord")) { - baseOrMarkAnchors.add(extractAnchors()); - } else if (en[1].equals("FeatureRecord")) { - if (flIndex != flSequence) { - mismatchedIndex(en, "feature", flIndex, flSequence); - } else if (featureTag == null) { - missingTag(en, "feature"); - } else { - String fid = makeFeatureId(flIndex); - features.put(fid, extractFeature()); - nextFeature(); - } - } else if (en[1].equals("GDEF")) { - if (subtables.size() > 0) { - gdef = new GlyphDefinitionTable(subtables); - } - clearTable(); - } else if (en[1].equals("GPOS")) { - if (subtables.size() > 0) { - gpos = new GlyphPositioningTable(gdef, extractLookups(), subtables); - } - clearTable(); - } else if (en[1].equals("GSUB")) { - if (subtables.size() > 0) { - gsub = new GlyphSubstitutionTable(gdef, extractLookups(), subtables); - } - clearTable(); - } else if (en[1].equals("GlyphClassDef")) { - GlyphMappingTable mapping = extractClassDefMapping(glyphClasses, stFormat, true); - addGDEFSubtable(GlyphDefinitionTable.GDEF_LOOKUP_TYPE_GLYPH_CLASS, mapping); - } else if (en[1].equals("InputCoverage")) { - String ck = makeCoverageKey("in", ctIndex); - if (coverages.containsKey(ck)) { - duplicateCoverageIndex(en, ctIndex); - } else { - coverages.put(ck, extractCoverage()); - } - } else if (en[1].equals("LigatureAttach")) { - ligatureAnchors.add(extractComponents()); - } else if (en[1].equals("LigatureCoverage")) { - coverages.put("liga", extractCoverage()); - } else if (en[1].equals("LigatureSet")) { - subtableEntries.add(extractLigatures()); - } else if (en[1].equals("LigatureSubst")) { - if (!sortEntries(coverageEntries, subtableEntries)) { - mismatchedEntries(en, coverageEntries.size(), subtableEntries.size()); - } - GlyphCoverageTable coverage = extractCoverage(); - addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_LIGATURE, coverage); - } else if (en[1].equals("LookAheadCoverage")) { - String ck = makeCoverageKey("la", ctIndex); - if (coverages.containsKey(ck)) { - duplicateCoverageIndex(en, ctIndex); - } else { - coverages.put(ck, extractCoverage()); - } - } else if (en[1].equals("Lookup")) { - if (ltIndex != ltSequence) { - mismatchedIndex(en, "lookup", ltIndex, ltSequence); - } else { - nextLookup(); - } - } else if (en[1].equals("MarkAttachClassDef")) { - GlyphMappingTable mapping = extractClassDefMapping(glyphClasses, stFormat, true); - addGDEFSubtable(GlyphDefinitionTable.GDEF_LOOKUP_TYPE_MARK_ATTACHMENT, mapping); - } else if (en[1].equals("MarkCoverage")) { - coverages.put("mark", extractCoverage()); - } else if (en[1].equals("Mark1Coverage")) { - coverages.put("mrk1", extractCoverage()); - } else if (en[1].equals("Mark2Coverage")) { - coverages.put("mrk2", extractCoverage()); - } else if (en[1].equals("MarkBasePos")) { - GlyphCoverageTable mct = coverages.get("mark"); - GlyphCoverageTable bct = coverages.get("base"); - if (mct == null) { - missingParameter(en, "mark coverages"); - } else if (bct == null) { - missingParameter(en, "base coverages"); - } else if (stFormat == 1) { - MarkAnchor[] maa = extractMarkAnchors(); - Anchor[][] bam = extractBaseOrMarkAnchors(); - subtableEntries.add(bct); - subtableEntries.add(computeClassCount(bam)); - subtableEntries.add(maa); - subtableEntries.add(bam); - } else { - unsupportedFormat(en, stFormat); - } - addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_BASE, mct); - } else if (en[1].equals("MarkLigPos")) { - GlyphCoverageTable mct = coverages.get("mark"); - GlyphCoverageTable lct = coverages.get("liga"); - if (mct == null) { - missingParameter(en, "mark coverages"); - } else if (lct == null) { - missingParameter(en, "ligature coverages"); - } else if (stFormat == 1) { - MarkAnchor[] maa = extractMarkAnchors(); - Anchor[][][] lam = extractLigatureAnchors(); - subtableEntries.add(lct); - subtableEntries.add(computeLigaturesClassCount(lam)); - subtableEntries.add(computeLigaturesComponentCount(lam)); - subtableEntries.add(maa); - subtableEntries.add(lam); - } else { - unsupportedFormat(en, stFormat); - } - addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE, mct); - } else if (en[1].equals("MarkMarkPos")) { - GlyphCoverageTable mct1 = coverages.get("mrk1"); - GlyphCoverageTable mct2 = coverages.get("mrk2"); - if (mct1 == null) { - missingParameter(en, "mark coverages 1"); - } else if (mct2 == null) { - missingParameter(en, "mark coverages 2"); - } else if (stFormat == 1) { - MarkAnchor[] maa = extractMarkAnchors(); - Anchor[][] mam = extractBaseOrMarkAnchors(); - subtableEntries.add(mct2); - subtableEntries.add(computeClassCount(mam)); - subtableEntries.add(maa); - subtableEntries.add(mam); - } else { - unsupportedFormat(en, stFormat); - } - addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_MARK, mct1); - } else if (en[1].equals("MarkRecord")) { - if (markClass == -1) { - missingParameter(en, "mark class"); - } else if (anchors.size() == 0) { - missingParameter(en, "mark anchor"); - } else if (anchors.size() > 1) { - duplicateParameter(en, "mark anchor"); - } else { - markAnchors.add(new GlyphPositioningTable.MarkAnchor(markClass, anchors.get(0))); - markClass = -1; - anchors.clear(); - } - } else if (en[1].equals("Mark2Record")) { - baseOrMarkAnchors.add(extractAnchors()); - } else if (en[1].equals("MultipleSubst")) { - GlyphCoverageTable coverage = coverages.get("main"); - addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_MULTIPLE, coverage, extractSequenceEntries()); - } else if (en[1].equals("PairPos")) { - assertSubtableEntriesClear(); - if (stFormat == 1) { - if (pairSets.size() == 0) { - missingParameter(en, "pair set"); - } else { - subtableEntries.add(extractPairSets()); - } - } else if (stFormat == 2) { - unsupportedFormat(en, stFormat); - } - GlyphCoverageTable coverage = coverages.get("main"); - addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_PAIR, coverage); - vf1 = vf2 = -1; - psIndex = -1; - } else if (en[1].equals("PairSet")) { - if (psIndex != pairSets.size()) { - invalidIndex(en, psIndex, pairSets.size()); - } else { - pairSets.add(extractPairs()); - } - } else if (en[1].equals("PairValueRecord")) { - if (g2 == -1) { - missingParameter(en, "second glyph"); - } else if ((v1 == null) && (v2 == null)) { - missingParameter(en, "first or second value"); - } else { - pairs.add(new PairValues(g2, v1, v2)); - clearPair(); - } - } else if (en[1].equals("PosLookupRecord") || en[1].equals("SubstLookupRecord")) { - if (rlSequence < 0) { - missingParameter(en, "sequence index"); - } else if (rlLookup < 0) { - missingParameter(en, "lookup index"); - } else { - ruleLookups.add(new GlyphTable.RuleLookup(rlSequence, rlLookup)); - rlSequence = rlLookup = -1; - } - } else if (en[1].equals("Script")) { - if (scriptTag == null) { - missingTag(en, "script"); - } else if (scripts.containsKey(scriptTag)) { - duplicateTag(en, "script", scriptTag); - } else { - scripts.put(scriptTag, extractLanguages()); - scriptTag = null; - } - } else if (en[1].equals("Sequence")) { - subtableEntries.add(extractSubstitutes()); - } else if (en[1].equals("SinglePos")) { - int nv = subtableEntries.size(); - if (stFormat == 1) { - if (nv < 0) { - missingParameter(en, "value"); - } else if (nv > 1) { - duplicateParameter(en, "value"); - } - } else if (stFormat == 2) { - GlyphPositioningTable.Value[] pva = (GlyphPositioningTable.Value[]) subtableEntries.toArray(new GlyphPositioningTable.Value [ nv ]); - subtableEntries.clear(); - subtableEntries.add(pva); - } - GlyphCoverageTable coverage = coverages.get("main"); - addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_SINGLE, coverage); - vf1 = -1; - } else if (en[1].equals("SingleSubst")) { - if (!sortEntries(coverageEntries, subtableEntries)) { - mismatchedEntries(en, coverageEntries.size(), subtableEntries.size()); - } - GlyphCoverageTable coverage = extractCoverage(); - addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_SINGLE, coverage); - } else if (en[1].equals("cmap")) { - cmap = getCMAP(); - gmap = getGMAP(); - cmapEntries.clear(); - } else if (en[1].equals("cmap_format_4")) { - cmPlatform = cmEncoding = cmLanguage = -1; - } else if (en[1].equals("hmtx")) { - hmtx = getHMTX(); - hmtxEntries.clear(); - } else if (en[1].equals("ttFont")) { - if (cmap == null) { - missingParameter(en, "cmap"); - } - if (hmtx == null) { - missingParameter(en, "hmtx"); - } - } - elements.pop(); - } - @Override - public void characters(char[] chars, int start, int length) { - } - private String[] getParent() { - if (!elements.empty()) { - return elements.peek(); - } else { - return new String[] { null, null }; - } - } - private boolean isParent(Object enx) { - if (enx instanceof String[][]) { - for (String[] en : (String[][]) enx) { - if (isParent(en)) { - return true; - } - } - return false; - } else if (enx instanceof String[]) { - String[] en = (String[]) enx; - if (!elements.empty()) { - String[] pn = elements.peek(); - return (pn != null) && sameExpandedName(en, pn); - } else { - return ((en[0] == null) && (en[1] == null)); - } - } else { - return false; - } - } - private boolean isAnchorElement(String ln) { - if (ln.equals("BaseAnchor")) { - return true; - } else if (ln.equals("EntryAnchor")) { - return true; - } else if (ln.equals("ExitAnchor")) { - return true; - } else if (ln.equals("LigatureAnchor")) { - return true; - } else if (ln.equals("MarkAnchor")) { - return true; - } else { - return ln.equals("Mark2Anchor"); - } - } - private Map<Integer, Integer> getCMAP() { - Map<Integer, Integer> cmap = new TreeMap(); - for (int[] cme : cmapEntries) { - Integer c = Integer.valueOf(cme[0]); - Integer g = Integer.valueOf(cme[1]); - cmap.put(c, g); - } - return cmap; - } - private Map<Integer, Integer> getGMAP() { - Map<Integer, Integer> gmap = new TreeMap(); - for (int[] cme : cmapEntries) { - Integer c = Integer.valueOf(cme[0]); - Integer g = Integer.valueOf(cme[1]); - gmap.put(g, c); - } - return gmap; - } - private int[][] getHMTX() { - int ne = hmtxEntries.size(); - int[][] hmtx = new int [ ne ] [ 2 ]; - for (int i = 0; i < ne; i++) { - int[] ea = hmtxEntries.get(i); - if (ea != null) { - hmtx [ i ] [ 0 ] = ea[0]; - hmtx [ i ] [ 1 ] = ea[1]; - } - } - return hmtx; - } - private GlyphClassTable extractClassDefMapping(Map<String, Integer> glyphClasses, int format, boolean clearSourceMap) { - GlyphClassTable ct; - if (format == 1) { - ct = extractClassDefMapping1(extractClassMappings(glyphClasses, clearSourceMap)); - } else if (format == 2) { - ct = extractClassDefMapping2(extractClassMappings(glyphClasses, clearSourceMap)); - } else { - ct = null; - } - return ct; - } - private GlyphClassTable extractClassDefMapping1(int[][] cma) { - List entries = new ArrayList<Integer>(); - int s = -1; - int l = -1; - Integer zero = Integer.valueOf(0); - for (int[] m : cma) { - int g = m[0]; - int c = m[1]; - if (s < 0) { - s = g; - l = g - 1; - entries.add(Integer.valueOf(s)); - } - while (g > (l + 1)) { - entries.add(zero); - l++; - } - assert l == (g - 1); - entries.add(Integer.valueOf(c)); - l = g; - } - return GlyphClassTable.createClassTable(entries); - } - private GlyphClassTable extractClassDefMapping2(int[][] cma) { - List entries = new ArrayList<Integer>(); - int s = -1; - int e = s; - int l = -1; - for (int[] m : cma) { - int g = m[0]; - int c = m[1]; - if (c != l) { - if (s >= 0) { - entries.add(new GlyphClassTable.MappingRange(s, e, l)); - } - s = e = g; - } else { - e = g; - } - l = c; - } - return GlyphClassTable.createClassTable(entries); - } - private int[][] extractClassMappings(Map<String, Integer> glyphClasses, boolean clearSourceMap) { - int nc = glyphClasses.size(); - int i = 0; - int[][] cma = new int [ nc ] [ 2 ]; - for (Map.Entry<String, Integer> e : glyphClasses.entrySet()) { - Integer gid = glyphIds.get(e.getKey()); - assert gid != null; - int[] m = cma [ i ]; - m [ 0 ] = (int) gid; - m [ 1 ] = (int) e.getValue(); - i++; - } - if (clearSourceMap) { - glyphClasses.clear(); - } - return sortClassMappings(cma); - } - private int[][] sortClassMappings(int[][] cma) { - Arrays.sort(cma, new Comparator<int[]>() { - public int compare(int[] m1, int[] m2) { - assert m1.length > 0; - assert m2.length > 0; - if (m1[0] < m2[0]) { - return -1; - } else if (m1[0] > m2[0]) { - return 1; - } else { - return 0; - } - } - } - ); - return cma; - } - // sort coverage entries and subtable entries together - private boolean sortEntries(List cel, List sel) { - assert cel != null; - assert sel != null; - if (cel.size() == sel.size()) { - int np = cel.size(); - Object[][] pa = new Object [ np ] [ 2 ]; - for (int i = 0; i < np; i++) { - pa [ i ] [ 0 ] = cel.get(i); - pa [ i ] [ 1 ] = sel.get(i); - } - Arrays.sort(pa, new Comparator<Object[]>() { - public int compare(Object[] p1, Object[] p2) { - assert p1.length == 2; - assert p2.length == 2; - int c1 = (Integer) p1[0]; - int c2 = (Integer) p2[0]; - if (c1 < c2) { - return -1; - } else if (c1 > c2) { - return 1; - } else { - return 0; - } - } - } - ); - cel.clear(); - sel.clear(); - for (int i = 0; i < np; i++) { - cel.add(pa [ i ] [ 0 ]); - sel.add(pa [ i ] [ 1 ]); - } - assert cel.size() == sel.size(); - return true; - } else { - return false; - } - } - private String makeCoverageKey(String prefix, int index) { - assert prefix != null; - assert prefix.length() == 2; - assert index < 100; - return prefix + CharUtilities.padLeft(Integer.toString(index, 10), 2, '0'); - } - private List extractCoverageEntries() { - List entries = new ArrayList<Integer>(coverageEntries); - clearCoverage(); - return entries; - } - private void clearCoverageEntries() { - coverageEntries.clear(); - ctFormat = -1; - ctIndex = -1; - } - private void assertCoverageEntriesClear() { - assert coverageEntries.size() == 0; - } - private GlyphCoverageTable extractCoverage() { - assert (ctFormat == 1) || (ctFormat == 2); - assert ctIndex >= 0; - GlyphCoverageTable coverage = GlyphCoverageTable.createCoverageTable(extractCoverageEntries()); - clearCoverage(); - return coverage; - } - private void clearCoverages() { - coverages.clear(); - } - private void assertCoverageClear() { - assert ctFormat == -1; - assert ctIndex == -1; - assertCoverageEntriesClear(); - } - private void clearCoverage() { - ctFormat = -1; - ctIndex = -1; - clearCoverageEntries(); - } - private void assertCoveragesClear() { - assert coverages.size() == 0; - } - private GlyphCoverageTable[] getCoveragesWithPrefix(String prefix) { - assert prefix != null; - int prefixLength = prefix.length(); - Set<String> keys = coverages.keySet(); - int mi = -1; // maximum coverage table index - for (String k : keys) { - if (k.startsWith(prefix)) { - int i = Integer.parseInt(k.substring(prefixLength)); - if (i > mi) { - mi = i; - } - } - } - GlyphCoverageTable[] gca = new GlyphCoverageTable [ mi + 1 ]; - for (String k : keys) { - if (k.startsWith(prefix)) { - int i = Integer.parseInt(k.substring(prefixLength)); - if (i >= 0) { - gca [ i ] = coverages.get(k); - } - } - } - return gca; - } - private boolean hasMissingCoverage(GlyphCoverageTable[] gca) { - assert gca != null; - int nc = 0; - for (int i = 0, n = gca.length; i < n; i++) { - if (gca [ i ] != null) { - nc++; - } - } - return nc != gca.length; - } - private String makeFeatureId(int fid) { - assert fid >= 0; - return "f" + fid; - } - private String makeLookupId(int lid) { - assert lid >= 0; - return "lu" + lid; - } - private void clearScripts() { - scripts.clear(); - } - private List<String> extractLanguageFeatures() { - List<String> lfl = new ArrayList<String>(languageFeatures); - clearLanguageFeatures(); - return lfl; - } - private void assertLanguageFeaturesClear() { - assert languageFeatures.size() == 0; - } - private void clearLanguageFeatures() { - languageFeatures.clear(); - } - private Map<String, List<String>> extractLanguages() { - Map<String, List<String>> lm = new HashMap(languages); - clearLanguages(); - return lm; - } - private void clearLanguages() { - languages.clear(); - } - private void assertFeatureLookupsClear() { - assert featureLookups.size() == 0; - } - private List extractFeatureLookups() { - List lookups = new ArrayList<String>(featureLookups); - clearFeatureLookups(); - return lookups; - } - private void clearFeatureLookups() { - featureLookups.clear(); - } - private void assertFeatureClear() { - assert flIndex == -1; - assert featureTag == null; - assertFeatureLookupsClear(); - } - private Object[] extractFeature() { - Object[] fa = new Object [ 2 ]; - fa[0] = featureTag; - fa[1] = extractFeatureLookups(); - clearFeature(); - return fa; - } - private void clearFeature() { - flIndex = -1; - featureTag = null; - clearFeatureLookups(); - } - private void nextFeature() { - flSequence++; - } - private void clearFeatures() { - features.clear(); - } - private void clearSubtableInLookup() { - stFormat = 0; - clearCoverages(); - } - private void clearSubtablesInLookup() { - clearSubtableInLookup(); - stSequence = 0; - } - private void clearSubtablesInTable() { - clearSubtablesInLookup(); - subtables.clear(); - } - private void nextSubtableInLookup() { - stSequence++; - clearSubtableInLookup(); - } - private void assertLookupClear() { - assert ltIndex == -1; - assert ltFlags == 0; - } - private void clearLookup() { - ltIndex = -1; - ltFlags = 0; - clearSubtablesInLookup(); - } - private Map<GlyphTable.LookupSpec, List<String>> extractLookups() { - Map<GlyphTable.LookupSpec, List<String>> lookups = new LinkedHashMap<GlyphTable.LookupSpec, List<String>>(); - for (String st : scripts.keySet()) { - Map<String, List<String>> lm = scripts.get(st); - if (lm != null) { - for (String lt : lm.keySet()) { - List<String> fids = lm.get(lt); - if (fids != null) { - for (String fid : fids) { - if (fid != null) { - Object[] fa = features.get(fid); - if (fa != null) { - assert fa.length == 2; - String ft = (String) fa[0]; - List<String> lids = (List<String>) fa[1]; - if ((lids != null) && (lids.size() > 0)) { - GlyphTable.LookupSpec ls = new GlyphTable.LookupSpec(st, lt, ft); - lookups.put(ls, lids); - } - } - } - } - } - } - } - } - clearScripts(); - clearLanguages(); - clearFeatures(); - return lookups; - } - private void clearLookups() { - clearLookup(); - clearSubtablesInTable(); - ltSequence = 0; - flSequence = 0; - } - private void nextLookup() { - ltSequence++; - clearLookup(); - } - private void clearTable() { - clearLookups(); - } - private void assertSubtableClear() { - assert stFormat == 0; - assertCoverageEntriesClear(); - } - private void assertSubtablesClear() { - assertSubtableClear(); - assert subtables.size() == 0; - } - private void clearSubtableEntries() { - subtableEntries.clear(); - } - private void assertSubtableEntriesClear() { - assert subtableEntries.size() == 0; - } - private List extractSubtableEntries() { - List entries = new ArrayList(subtableEntries); - clearSubtableEntries(); - return entries; - } - private int[] extractAlternates() { - int[] aa = new int [ alternates.size() ]; - int i = 0; - for (Integer a : alternates) { - aa[i++] = (int) a; - } - clearAlternates(); - return aa; - } - private void clearAlternates() { - alternates.clear(); - } - private LigatureSet extractLigatures() { - LigatureSet ls = new LigatureSet(ligatures); - clearLigatures(); - return ls; - } - private void clearLigatures() { - ligatures.clear(); - } - private int[] extractSubstitutes() { - int[] aa = new int [ substitutes.size() ]; - int i = 0; - for (Integer a : substitutes) { - aa[i++] = (int) a; - } - clearSubstitutes(); - return aa; - } - private void clearSubstitutes() { - substitutes.clear(); - } - private List extractSequenceEntries() { - List sequences = extractSubtableEntries(); - int[][] sa = new int [ sequences.size() ] []; - int i = 0; - for (Object s : sequences) { - if (s instanceof int[]) { - sa[i++] = (int[]) s; - } - } - List entries = new ArrayList(); - entries.add(sa); - return entries; - } - private RuleLookup[] extractRuleLookups() { - RuleLookup[] lookups = (RuleLookup[]) ruleLookups.toArray(new RuleLookup [ ruleLookups.size() ]); - clearRuleLookups(); - return lookups; - } - private void clearRuleLookups() { - ruleLookups.clear(); - } - private GlyphPositioningTable.Value parseValue(String[] en, Attributes attrs, int format) throws SAXException { - String xPlacement = attrs.getValue("XPlacement"); - int xp = 0; - if (xPlacement != null) { - xp = Integer.parseInt(xPlacement); - } else if ((format & GlyphPositioningTable.Value.X_PLACEMENT) != 0) { - missingParameter(en, "xPlacement"); - } - String yPlacement = attrs.getValue("YPlacement"); - int yp = 0; - if (yPlacement != null) { - yp = Integer.parseInt(yPlacement); - } else if ((format & GlyphPositioningTable.Value.Y_PLACEMENT) != 0) { - missingParameter(en, "yPlacement"); - } - String xAdvance = attrs.getValue("XAdvance"); - int xa = 0; - if (xAdvance != null) { - xa = Integer.parseInt(xAdvance); - } else if ((format & GlyphPositioningTable.Value.X_ADVANCE) != 0) { - missingParameter(en, "xAdvance"); - } - String yAdvance = attrs.getValue("YAdvance"); - int ya = 0; - if (yAdvance != null) { - ya = Integer.parseInt(yAdvance); - } else if ((format & GlyphPositioningTable.Value.Y_ADVANCE) != 0) { - missingParameter(en, "yAdvance"); - } - return new GlyphPositioningTable.Value(xp, yp, xa, ya, null, null, null, null); - } - private void assertPairClear() { - assert g2 == -1; - assert v1 == null; - assert v2 == null; - } - private void clearPair() { - g2 = -1; - v1 = null; - v2 = null; - } - private void assertPairsClear() { - assert pairs.size() == 0; - } - private void clearPairs() { - pairs.clear(); - psIndex = -1; - } - private PairValues[] extractPairs() { - PairValues[] pva = (PairValues[]) pairs.toArray(new PairValues [ pairs.size() ]); - clearPairs(); - return pva; - } - private void assertPairSetsClear() { - assert pairSets.size() == 0; - } - private void clearPairSets() { - pairSets.clear(); - } - private PairValues[][] extractPairSets() { - PairValues[][] pvm = (PairValues[][]) pairSets.toArray(new PairValues [ pairSets.size() ][]); - clearPairSets(); - return pvm; - } - private Anchor[] extractAnchors() { - Anchor[] aa = (Anchor[]) anchors.toArray(new Anchor [ anchors.size() ]); - anchors.clear(); - return aa; - } - private MarkAnchor[] extractMarkAnchors() { - MarkAnchor[] maa = new MarkAnchor [ markAnchors.size() ]; - maa = (MarkAnchor[]) markAnchors.toArray(new MarkAnchor [ maa.length ]); - markAnchors.clear(); - return maa; - } - private Anchor[][] extractBaseOrMarkAnchors() { - int na = baseOrMarkAnchors.size(); - int ncMax = 0; - for (Anchor[] aa : baseOrMarkAnchors) { - if (aa != null) { - int nc = aa.length; - if (nc > ncMax) { - ncMax = nc; - } - } - } - Anchor[][] am = new Anchor [ na ][ ncMax ]; - for (int i = 0; i < na; i++) { - Anchor[] aa = baseOrMarkAnchors.get(i); - if (aa != null) { - for (int j = 0; j < ncMax; j++) { - if (j < aa.length) { - am [ i ] [ j ] = aa [ j ]; - } - } - } - } - baseOrMarkAnchors.clear(); - return am; - } - private Integer computeClassCount(Anchor[][] am) { - int ncMax = 0; - for (int i = 0, n = am.length; i < n; i++) { - Anchor[] aa = am [ i ]; - if (aa != null) { - int nc = aa.length; - if (nc > ncMax) { - ncMax = nc; - } - } - } - return Integer.valueOf(ncMax); - } - private Anchor[][] extractComponents() { - Anchor[][] cam = new Anchor [ components.size() ][]; - cam = (Anchor[][]) components.toArray(new Anchor [ cam.length ][]); - components.clear(); - return cam; - } - private Anchor[][][] extractLigatureAnchors() { - int na = ligatureAnchors.size(); - int ncMax = 0; - int nxMax = 0; - for (Anchor[][] cm : ligatureAnchors) { - if (cm != null) { - int nx = cm.length; - if (nx > nxMax) { - nxMax = nx; - } - for (Anchor[] aa : cm) { - if (aa != null) { - int nc = aa.length; - if (nc > ncMax) { - ncMax = nc; - } - } - } - - } - } - Anchor[][][] lam = new Anchor [ na ] [ nxMax ] [ ncMax ]; - for (int i = 0; i < na; i++) { - Anchor[][] cm = ligatureAnchors.get(i); - if (cm != null) { - for (int j = 0; j < nxMax; j++) { - if (j < cm.length) { - Anchor[] aa = cm [ j ]; - if (aa != null) { - for (int k = 0; k < ncMax; k++) { - if (k < aa.length) { - lam [ i ] [ j ] [ k ] = aa [ k ]; - } - } - } - } - } - } - } - ligatureAnchors.clear(); - return lam; - } - private Integer computeLigaturesClassCount(Anchor[][][] lam) { - int ncMax = 0; - if (lam != null) { - for (Anchor[][] cm : lam) { - if (cm != null) { - for (Anchor[] aa : cm) { - if (aa != null) { - int nc = aa.length; - if (nc > ncMax) { - ncMax = nc; - } - } - } - } - } - } - return Integer.valueOf(ncMax); - } - private Integer computeLigaturesComponentCount(Anchor[][][] lam) { - int nxMax = 0; - if (lam != null) { - for (Anchor[][] cm : lam) { - if (cm != null) { - int nx = cm.length; - if (nx > nxMax) { - nxMax = nx; - } - } - } - } - return Integer.valueOf(nxMax); - } - private Anchor[] extractAttachmentAnchors() { - int na = attachmentAnchors.size(); - Anchor[] aa = new Anchor [ na * 2 ]; - for (int i = 0; i < na; i++) { - Anchor[] ea = attachmentAnchors.get(i); - int ne = ea.length; - if (ne > 0) { - aa [ (i * 2) + 0 ] = ea[0]; - } - if (ne > 1) { - aa [ (i * 2) + 1 ] = ea[1]; - } - } - attachmentAnchors.clear(); - return aa; - } - private void addGDEFSubtable(int stType, GlyphMappingTable mapping) { - subtables.add(GlyphDefinitionTable.createSubtable(stType, makeLookupId(ltSequence), stSequence, ltFlags, stFormat, mapping, extractSubtableEntries())); - nextSubtableInLookup(); - } - private void addGSUBSubtable(int stType, GlyphCoverageTable coverage, List entries) { - subtables.add(GlyphSubstitutionTable.createSubtable(stType, makeLookupId(ltSequence), stSequence, ltFlags, stFormat, coverage, entries)); - nextSubtableInLookup(); - } - private void addGSUBSubtable(int stType, GlyphCoverageTable coverage) { - addGSUBSubtable(stType, coverage, extractSubtableEntries()); - } - private void addGPOSSubtable(int stType, GlyphCoverageTable coverage, List entries) { - subtables.add(GlyphPositioningTable.createSubtable(stType, makeLookupId(ltSequence), stSequence, ltFlags, stFormat, coverage, entries)); - nextSubtableInLookup(); - } - private void addGPOSSubtable(int stType, GlyphCoverageTable coverage) { - addGPOSSubtable(stType, coverage, extractSubtableEntries()); - } - } - private int mapGlyphId0(String glyph) { - assert glyphIds != null; - Integer gid = glyphIds.get(glyph); - if (gid != null) { - return (int) gid; - } else { - return -1; - } - } - private int mapGlyphId(String glyph, String[] currentElement) throws SAXException { - int g = mapGlyphId0(glyph); - if (g < 0) { - unsupportedGlyph(currentElement, glyph); - return -1; - } else { - return g; - } - } - private int[] mapGlyphIds(String glyphs, String[] currentElement) throws SAXException { - String[] ga = glyphs.split(","); - int[] gids = new int [ ga.length ]; - int i = 0; - for (String glyph : ga) { - gids[i++] = mapGlyphId(glyph, currentElement); - } - return gids; - } - private int mapGlyphIdToChar(String glyph) { - assert glyphIds != null; - Integer gid = glyphIds.get(glyph); - if (gid != null) { - if (gmap != null) { - Integer cid = gmap.get(gid); - if (cid != null) { - return cid.intValue(); - } - } - } - return -1; - } - private String formatLocator() { - if (locator == null) { - return "{null}"; - } else { - return "{" + locator.getSystemId() + ":" + locator.getLineNumber() + ":" + locator.getColumnNumber() + "}"; - } - } - private void unsupportedElement(String[] en) throws SAXException { - throw new SAXException(formatLocator() + ": unsupported element " + formatExpandedName(en)); - } - private void notPermittedInElementContext(String[] en, String[] cn, Object xns) throws SAXException { - assert en != null; - assert cn != null; - String s = "element " + formatExpandedName(en) + " not permitted in current element context " + formatExpandedName(cn); - if (xns == null) { - s += ", expected root context"; - } else if (xns instanceof String[][]) { - int nxn = 0; - s += ", expected one of { "; - for (String[] xn : (String[][]) xns) { - if (nxn++ > 0) { - s += ", "; - } - s += formatExpandedName(xn); - } - s += " }"; - } else if (xns instanceof String[]) { - s += ", expected " + formatExpandedName((String[]) xns); - } - throw new SAXException(formatLocator() + ": " + s); - } - private void missingRequiredAttribute(String[] en, String name) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing required attribute " + name); - } - private void duplicateGlyph(String[] en, String name, int gid) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate name \"" + name + "\", with identifier value " + gid); - } - private void unsupportedGlyph(String[] en, String name) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " refers to unsupported glyph id \"" + name + "\""); - } - private void duplicateCMAPCharacter(String[] en, int cid) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate cmap character code: " + CharUtilities.format(cid)); - } - private void duplicateCMAPGlyph(String[] en, int gid) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate cmap glyph code: " + gid); - } - private void duplicateGlyphClass(String[] en, String name, String glyphClass) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate glyph class for \"" + name + "\", with class value " + glyphClass); - } - private void unsupportedFormat(String[] en, int format) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " refers to unsupported table format \"" + format + "\""); - } - private void invalidIndex(String[] en, int actual, int expected) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " specifies invalid index " + actual + ", expected " + expected); - } - private void mismatchedIndex(String[] en, String label, int actual, int expected) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " mismatched " + label + " index: got " + actual + ", expected " + expected); - } - private void mismatchedEntries(String[] en, int nce, int nse) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " mismatched coverage and subtable entry counts, # coverages " + nce + ", # entries " + nse); - } - private void missingParameter(String[] en, String label) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing " + label + " parameter"); - } - private void duplicateParameter(String[] en, String label) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " duplicate " + label + " parameter"); - } - private void duplicateCoverageIndex(String[] en, int index) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " duplicate coverage table index " + index); - } - private void missingCoverage(String[] en, String type, int expected) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing " + type + " coverage table, expected " + ((expected > 0) ? expected : 1) + " table(s)"); - } - private void missingTag(String[] en, String label) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing " + label + " tag"); - } - private void duplicateTag(String[] en, String label, String tag) throws SAXException { - throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " duplicate " + label + " tag: " + tag); - } - private static String[] makeExpandedName(String uri, String localName, String qName) { - if ((uri != null) && (uri.length() == 0)) { - uri = null; - } - if ((localName != null) && (localName.length() == 0)) { - localName = null; - } - if ((uri == null) && (localName == null)) { - uri = extractPrefix(qName); - localName = extractLocalName(qName); - } - return new String[] { uri, localName }; - } - private static String extractPrefix(String qName) { - String[] sa = qName.split(":"); - if (sa.length == 2) { - return sa[0]; - } else { - return null; - } - } - private static String extractLocalName(String qName) { - String[] sa = qName.split(":"); - if (sa.length == 2) { - return sa[1]; - } else if (sa.length == 1) { - return sa[0]; - } else { - return null; - } - } - private static boolean sameExpandedName(String[] n1, String[] n2) { - String u1 = n1[0]; - String u2 = n2[0]; - if ((u1 == null) ^ (u2 == null)) { - return false; - } - if ((u1 != null) && (u2 != null)) { - if (!u1.equals(u2)) { - return false; - } - } - String l1 = n1[1]; - String l2 = n2[1]; - if ((l1 == null) ^ (l2 == null)) { - return false; - } - if ((l1 != null) && (l2 != null)) { - if (!l1.equals(l2)) { - return false; - } - } - return true; - } - private static String formatExpandedName(String[] n) { - String u = (n[0] != null) ? n[0] : "null"; - String l = (n[1] != null) ? n[1] : "null"; - return "{" + u + "}" + l; - } -} diff --git a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java deleted file mode 100644 index f4b7d34e8..000000000 --- a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.fonts.ttx; - -import java.io.File; - -import org.junit.Test; - -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -public class TTXFileTestCase { - - private static String ttxFilesRoot = "test/resources/complexscripts"; - - private static String[] ttxFiles = { - "arab/ttx/arab-001.ttx", - "arab/ttx/arab-002.ttx", - "arab/ttx/arab-003.ttx", - "arab/ttx/arab-004.ttx", - }; - - @Test - public void testTTXFiles() throws Exception { - for (String tfn : ttxFiles) { - try { - TTXFile tf = TTXFile.getFromCache(ttxFilesRoot + File.separator + tfn); - assertTrue(tf != null); - } catch (Exception e) { - fail(e.getMessage()); - } - } - } - -} diff --git a/test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestCase.java b/test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestCase.java deleted file mode 100644 index 416cbf8d0..000000000 --- a/test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestCase.java +++ /dev/null @@ -1,387 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.layout; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.sax.SAXResult; -import javax.xml.transform.sax.TransformerHandler; - -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.ContentHandler; -import org.xml.sax.SAXException; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.filefilter.AndFileFilter; -import org.apache.commons.io.filefilter.IOFileFilter; -import org.apache.commons.io.filefilter.NameFileFilter; -import org.apache.commons.io.filefilter.PrefixFileFilter; -import org.apache.commons.io.filefilter.SuffixFileFilter; -import org.apache.commons.io.filefilter.TrueFileFilter; - -import org.apache.fop.DebugHelper; -import org.apache.fop.apps.EnvironmentProfile; -import org.apache.fop.apps.EnvironmentalProfileFactory; -import org.apache.fop.apps.FOUserAgent; -import org.apache.fop.apps.Fop; -import org.apache.fop.apps.FopConfBuilder; -import org.apache.fop.apps.FopConfParser; -import org.apache.fop.apps.FopFactory; -import org.apache.fop.apps.FopFactoryBuilder; -import org.apache.fop.apps.FormattingResults; -import org.apache.fop.apps.MimeConstants; -import org.apache.fop.apps.PDFRendererConfBuilder; -import org.apache.fop.apps.io.ResourceResolverFactory; -import org.apache.fop.area.AreaTreeModel; -import org.apache.fop.area.AreaTreeParser; -import org.apache.fop.area.RenderPagesModel; -import org.apache.fop.events.Event; -import org.apache.fop.events.EventListener; -import org.apache.fop.events.model.EventSeverity; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.intermediate.IFTester; -import org.apache.fop.intermediate.TestAssistant; -import org.apache.fop.layoutengine.ElementListCollector; -import org.apache.fop.layoutengine.LayoutEngineCheck; -import org.apache.fop.layoutengine.LayoutEngineChecksFactory; -import org.apache.fop.layoutengine.LayoutResult; -import org.apache.fop.layoutengine.TestFilesConfiguration; -import org.apache.fop.layoutmgr.ElementListObserver; -import org.apache.fop.render.Renderer; -import org.apache.fop.render.intermediate.IFContext; -import org.apache.fop.render.intermediate.IFRenderer; -import org.apache.fop.render.intermediate.IFSerializer; -import org.apache.fop.render.xml.XMLRenderer; -import org.apache.fop.util.ConsoleEventListenerForTests; -import org.apache.fop.util.DelegatingContentHandler; - -// CSOFF: LineLengthCheck - -/** - * Test complex script layout (end-to-end) functionality. - */ -@RunWith(Parameterized.class) -public class ComplexScriptsLayoutTestCase { - - private static final boolean DEBUG = false; - private static final String AREA_TREE_OUTPUT_DIRECTORY = "build/test-results/complexscripts"; - private static File areaTreeOutputDir; - - private TestAssistant testAssistant = new TestAssistant(); - private LayoutEngineChecksFactory layoutEngineChecksFactory = new LayoutEngineChecksFactory(); - private TestFilesConfiguration testConfig; - private File testFile; - private IFTester ifTester; - private TransformerFactory tfactory = TransformerFactory.newInstance(); - - public ComplexScriptsLayoutTestCase(TestFilesConfiguration testConfig, File testFile) { - this.testConfig = testConfig; - this.testFile = testFile; - this.ifTester = new IFTester(tfactory, areaTreeOutputDir); - } - - @Parameters - public static Collection<Object[]> getParameters() throws IOException { - return getTestFiles(); - } - - @BeforeClass - public static void makeDirAndRegisterDebugHelper() throws IOException { - DebugHelper.registerStandardElementListObservers(); - areaTreeOutputDir = new File(AREA_TREE_OUTPUT_DIRECTORY); - if (!areaTreeOutputDir.mkdirs() && !areaTreeOutputDir.exists()) { - throw new IOException("Failed to create the AT output directory at " + AREA_TREE_OUTPUT_DIRECTORY); - } - } - - @Test - public void runTest() throws TransformerException, SAXException, IOException, ParserConfigurationException { - DOMResult domres = new DOMResult(); - ElementListCollector elCollector = new ElementListCollector(); - ElementListObserver.addObserver(elCollector); - Fop fop; - FopFactory effFactory; - EventsChecker eventsChecker = new EventsChecker(new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.WARN)); - try { - Document testDoc = testAssistant.loadTestCase(testFile); - effFactory = getFopFactory(testConfig, testDoc); - // Setup Transformer to convert the testcase XML to XSL-FO - Transformer transformer = testAssistant.getTestcase2FOStylesheet().newTransformer(); - Source src = new DOMSource(testDoc); - // Setup Transformer to convert the area tree to a DOM - TransformerHandler athandler; - athandler = testAssistant.getTransformerFactory().newTransformerHandler(); - athandler.setResult(domres); - // Setup FOP for area tree rendering - FOUserAgent ua = effFactory.newFOUserAgent(); - ua.getEventBroadcaster().addEventListener(eventsChecker); - XMLRenderer atrenderer = new XMLRenderer(ua); - Renderer targetRenderer = ua.getRendererFactory().createRenderer(ua, MimeConstants.MIME_PDF); - atrenderer.mimicRenderer(targetRenderer); - atrenderer.setContentHandler(athandler); - ua.setRendererOverride(atrenderer); - fop = effFactory.newFop(ua); - SAXResult fores = new SAXResult(fop.getDefaultHandler()); - transformer.transform(src, fores); - } finally { - ElementListObserver.removeObserver(elCollector); - } - Document doc = (Document)domres.getNode(); - if (areaTreeOutputDir != null) { - testAssistant.saveDOM(doc, new File(areaTreeOutputDir, testFile.getName() + ".at.xml")); - } - FormattingResults results = fop.getResults(); - LayoutResult result = new LayoutResult(doc, elCollector, results); - checkAll(effFactory, testFile, result, eventsChecker); - } - - private FopFactory getFopFactory(TestFilesConfiguration testConfig, Document testDoc) throws SAXException, IOException { - EnvironmentProfile profile = EnvironmentalProfileFactory.createRestrictedIO( - testConfig.getTestDirectory().getParentFile().toURI(), - ResourceResolverFactory.createDefaultResourceResolver()); - InputStream confStream = - new FopConfBuilder().setStrictValidation(true) - .setFontBaseURI("test/resources/fonts/ttf/") - .startRendererConfig(PDFRendererConfBuilder.class) - .startFontsConfig() - .startFont(null, "DejaVuLGCSerif.ttf") - .addTriplet("DejaVu LGC Serif", "normal", "normal") - .endFont() - .endFontConfig() - .endRendererConfig().build(); - FopFactoryBuilder builder = - new FopConfParser(confStream, new File(".").toURI(), profile).getFopFactoryBuilder(); - // builder.setStrictFOValidation(isStrictValidation(testDoc)); - // builder.getFontManager().setBase14KerningEnabled(isBase14KerningEnabled(testDoc)); - return builder.build(); - } - - private void checkAll(FopFactory fopFactory, File testFile, LayoutResult result, EventsChecker eventsChecker) throws TransformerException { - Element testRoot = testAssistant.getTestRoot(testFile); - NodeList nodes; - nodes = testRoot.getElementsByTagName("at-checks"); - if (nodes.getLength() > 0) { - Element atChecks = (Element)nodes.item(0); - doATChecks(atChecks, result); - } - nodes = testRoot.getElementsByTagName("if-checks"); - if (nodes.getLength() > 0) { - Element ifChecks = (Element)nodes.item(0); - Document ifDocument = createIF(fopFactory, testFile, result.getAreaTree()); - ifTester.doIFChecks(testFile.getName(), ifChecks, ifDocument); - } - nodes = testRoot.getElementsByTagName("event-checks"); - if (nodes.getLength() > 0) { - Element eventChecks = (Element) nodes.item(0); - doEventChecks(eventChecks, eventsChecker); - } - eventsChecker.emitUncheckedEvents(); - } - - private Document createIF(FopFactory fopFactory, File testFile, Document areaTreeXML) throws TransformerException { - try { - FOUserAgent ua = fopFactory.newFOUserAgent(); - ua.getEventBroadcaster().addEventListener(new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.WARN)); - IFRenderer ifRenderer = new IFRenderer(ua); - IFSerializer serializer = new IFSerializer(new IFContext(ua)); - DOMResult result = new DOMResult(); - serializer.setResult(result); - ifRenderer.setDocumentHandler(serializer); - ua.setRendererOverride(ifRenderer); - FontInfo fontInfo = new FontInfo(); - //Construct the AreaTreeModel that will received the individual pages - final AreaTreeModel treeModel = new RenderPagesModel(ua, null, fontInfo, null); - //Iterate over all intermediate files - AreaTreeParser parser = new AreaTreeParser(); - ContentHandler handler = parser.getContentHandler(treeModel, ua); - DelegatingContentHandler proxy = new DelegatingContentHandler() { - public void endDocument() throws SAXException { - super.endDocument(); - treeModel.endDocument(); - } - }; - proxy.setDelegateContentHandler(handler); - Transformer transformer = tfactory.newTransformer(); - transformer.transform(new DOMSource(areaTreeXML), new SAXResult(proxy)); - return (Document)result.getNode(); - } catch (Exception e) { - throw new TransformerException("Error while generating intermediate format file: " + e.getMessage(), e); - } - } - - private void doATChecks(Element checksRoot, LayoutResult result) { - List<LayoutEngineCheck> checks = layoutEngineChecksFactory.createCheckList(checksRoot); - if (checks.size() == 0) { - throw new RuntimeException("No available area tree check"); - } - for (LayoutEngineCheck check : checks) { - check.check(result); - } - } - - private void doEventChecks(Element eventChecks, EventsChecker eventsChecker) { - NodeList events = eventChecks.getElementsByTagName("event"); - for (int i = 0; i < events.getLength(); i++) { - Element event = (Element) events.item(i); - NamedNodeMap attributes = event.getAttributes(); - Map<String, String> params = new HashMap<String, String>(); - String key = null; - for (int j = 0; j < attributes.getLength(); j++) { - Node attribute = attributes.item(j); - String name = attribute.getNodeName(); - String value = attribute.getNodeValue(); - if ("key".equals(name)) { - key = value; - } else { - params.put(name, value); - } - } - if (key == null) { - throw new RuntimeException("An event element must have a \"key\" attribute"); - } - eventsChecker.checkEvent(key, params); - } - } - - private static Collection<Object[]> getTestFiles(TestFilesConfiguration testConfig) { - File mainDir = testConfig.getTestDirectory(); - IOFileFilter filter; - String single = testConfig.getSingleTest(); - String startsWith = testConfig.getStartsWith(); - if (single != null) { - filter = new NameFileFilter(single); - } else if (startsWith != null) { - filter = new PrefixFileFilter(startsWith); - filter = new AndFileFilter(filter, new SuffixFileFilter(testConfig.getFileSuffix())); - } else { - filter = new SuffixFileFilter(testConfig.getFileSuffix()); - } - String testset = testConfig.getTestSet(); - Collection<File> files = FileUtils.listFiles(new File(mainDir, testset), filter, TrueFileFilter.INSTANCE); - if (testConfig.hasPrivateTests()) { - Collection<File> privateFiles = - FileUtils.listFiles(new File(mainDir, "private-testcases"), filter, TrueFileFilter.INSTANCE); - files.addAll(privateFiles); - } - Collection<Object[]> parametersForJUnit4 = new ArrayList<Object[]>(); - int index = 0; - for (File f : files) { - parametersForJUnit4.add(new Object[] { testConfig, f }); - if (DEBUG) { - System.out.println(String.format("%3d %s", index++, f)); - } - } - return parametersForJUnit4; - } - - private static Collection<Object[]> getTestFiles() { - String testSet = System.getProperty("fop.complexscripts.testset"); - testSet = (testSet != null ? testSet : "standard") + "-testcases"; - return getTestFiles(testSet); - } - - private static Collection<Object[]> getTestFiles(String testSetName) { - TestFilesConfiguration.Builder builder = new TestFilesConfiguration.Builder(); - builder.testDir("test/resources/complexscripts/layout") - .singleProperty("fop.complexscripts.single") - .startsWithProperty("fop.complexscripts.starts-with") - .suffix(".xml") - .testSet(testSetName) - .privateTestsProperty("fop.complexscripts.private"); - return getTestFiles(builder.build()); - } - - private static class EventsChecker implements EventListener { - - private final List<Event> events = new ArrayList<Event>(); - private final EventListener defaultListener; - - public EventsChecker(EventListener fallbackListener) { - this.defaultListener = fallbackListener; - } - - public void processEvent(Event event) { - events.add(event); - } - - public void checkEvent(String expectedKey, Map<String, String> expectedParams) { - boolean eventFound = false; - for (Iterator<Event> iter = events.iterator(); !eventFound && iter.hasNext();) { - Event event = iter.next(); - if (event.getEventKey().equals(expectedKey)) { - eventFound = true; - iter.remove(); - checkParameters(event, expectedParams); - } - } - if (!eventFound) { - fail("Event did not occur but was expected to: " + expectedKey + expectedParams); - } - } - - private void checkParameters(Event event, Map<String, String> expectedParams) { - Map<String, Object> actualParams = event.getParams(); - for (Map.Entry<String, String> expectedParam : expectedParams.entrySet()) { - assertTrue("Event \"" + event.getEventKey() - + "\" is missing parameter \"" + expectedParam.getKey() + '"', - actualParams.containsKey(expectedParam.getKey())); - assertEquals("Event \"" + event.getEventKey() - + "\" has wrong value for parameter \"" + expectedParam.getKey() + "\";", - actualParams.get(expectedParam.getKey()).toString(), - expectedParam.getValue()); - } - } - - public void emitUncheckedEvents() { - for (Event event : events) { - defaultListener.processEvent(event); - } - } - } - -} diff --git a/test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestSuite.java b/test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestSuite.java deleted file mode 100644 index e55ead635..000000000 --- a/test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestSuite.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.layout; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -/** - * Test suite for running complex script layout tests under JUnit control. - */ -@RunWith(Suite.class) -@SuiteClasses(ComplexScriptsLayoutTestCase.class) -public class ComplexScriptsLayoutTestSuite { -} diff --git a/test/java/org/apache/fop/complexscripts/scripts/ScriptsTestSuite.java b/test/java/org/apache/fop/complexscripts/scripts/ScriptsTestSuite.java deleted file mode 100644 index 27914450a..000000000 --- a/test/java/org/apache/fop/complexscripts/scripts/ScriptsTestSuite.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.scripts; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -import org.apache.fop.complexscripts.scripts.arabic.ArabicJoinersTestCase; -import org.apache.fop.complexscripts.scripts.arabic.ArabicWordFormsTestCase; - -/** - * Test suite for script specific functionality related to complex scripts. - */ -@RunWith(Suite.class) -@SuiteClasses({ - ArabicJoinersTestCase.class, - ArabicWordFormsTestCase.class -}) -public class ScriptsTestSuite { -} diff --git a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicJoinersTestCase.java b/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicJoinersTestCase.java deleted file mode 100644 index 092bebd41..000000000 --- a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicJoinersTestCase.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.scripts.arabic; - -import java.nio.IntBuffer; -import java.util.BitSet; - -import org.junit.Test; - -import static org.junit.Assert.assertTrue; - -import org.apache.fop.complexscripts.scripts.ScriptProcessor; -import org.apache.fop.complexscripts.util.CharScript; -import org.apache.fop.complexscripts.util.GlyphContextTester; -import org.apache.fop.complexscripts.util.GlyphSequence; -import org.apache.fop.complexscripts.util.ScriptContextTester; -import org.apache.fop.complexscripts.util.UTF32; - -// CSOFF: LineLength - -/** - * Tests for joiner (ZWJ, ZWNJ) functionality related to the arabic script. - */ -public class ArabicJoinersTestCase { - - private static final String[][] ZWJ_TESTS_ISOL = new String[][] { - { "\u0643", "1", }, - { "\u0643\u200D", "00", }, - { "\u200D\u0643", "00", }, - { "\u200D\u0643\u200D", "000", }, - }; - - private static final String[][] ZWJ_TESTS_INIT = new String[][] { - { "\u0643", "0", }, - { "\u0643\u200D", "10", }, - { "\u200D\u0643", "00", }, - { "\u200D\u0643\u200D", "000", }, - }; - - private static final String[][] ZWJ_TESTS_MEDI = new String[][] { - { "\u0643", "0", }, - { "\u0643\u200D", "00", }, - { "\u200D\u0643", "00", }, - { "\u200D\u0643\u200D", "010", }, - }; - - private static final String[][] ZWJ_TESTS_FINA = new String[][] { - { "\u0643", "0", }, - { "\u0643\u200D", "00", }, - { "\u200D\u0643", "01", }, - { "\u200D\u0643\u200D", "000", }, - }; - - private static final String[][] ZWJ_TESTS_LIGA = new String[][] { - }; - - @Test - public void testArabicJoiners() { - String script = CharScript.scriptTagFromCode(CharScript.SCRIPT_ARABIC); - ScriptProcessor sp = ScriptProcessor.getInstance(script); - assertTrue(sp != null); - ScriptContextTester sct = sp.getSubstitutionContextTester(); - assertTrue(sct != null); - String language = "dflt"; - int flags = 0; - testZWJ(sct, script, language, "isol", flags, ZWJ_TESTS_ISOL); - testZWJ(sct, script, language, "init", flags, ZWJ_TESTS_INIT); - testZWJ(sct, script, language, "medi", flags, ZWJ_TESTS_MEDI); - testZWJ(sct, script, language, "fina", flags, ZWJ_TESTS_FINA); - testZWJ(sct, script, language, "liga", flags, ZWJ_TESTS_LIGA); - } - - private void testZWJ(ScriptContextTester sct, String script, String language, String feature, int flags, String[][] tests) { - GlyphContextTester gct = sct.getTester(feature); - assertTrue(gct != null); - for (String[] t : tests) { - testZWJ(gct, script, language, feature, flags, t); - } - } - - private void testZWJ(GlyphContextTester gct, String script, String language, String feature, int flags, String[] test) { - assert test.length == 2; - String str = test[0]; - BitSet act = new BitSet(); - GlyphSequence gs = makeGlyphSequence(str); - for (int i = 0, n = str.length(); i < n; ++i) { - if (gct.test(script, language, feature, gs, i, flags)) { - act.set(i); - } - } - BitSet exp = parseBitSet(test[1]); - assertTrue(act.equals(exp)); - } - - private GlyphSequence makeGlyphSequence(String s) { - Integer[] ca = UTF32.toUTF32(s, 0, true); - IntBuffer cb = IntBuffer.allocate(ca.length); - for (Integer c : ca) { - cb.put(c); - } - cb.rewind(); - return new GlyphSequence(cb, null, null); - } - - private BitSet parseBitSet(String s) { - BitSet bits = new BitSet(); - for (int i = 0, n = s.length(); i < n; ++i) { - char c = s.charAt(i); - assert (c == '0') || (c == '1'); - if (c == '1') { - bits.set(i); - } - } - return bits; - } - - @Test - public void testArabicNonJoiners() { - } - -} diff --git a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsConstants.java b/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsConstants.java deleted file mode 100644 index 41094b687..000000000 --- a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsConstants.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.scripts.arabic; - -/** - * Constants for test functionality related to the arabic script. - */ -public interface ArabicWordFormsConstants { - - String WF_FILE_SCRIPT = "arab"; - String WF_FILE_LANGUAGE = "dflt"; - - String SRC_FILES_DIR = "test/resources/complexscripts/arab/data"; - String DAT_FILES_DIR = "test/resources/complexscripts/arab/data"; - - String[] SRC_FILES = { - "arab-001", // unpointed word forms - }; - - String WF_FILE_SRC_EXT = "txt"; - String WF_FILE_DAT_EXT = "ser"; - - String TTX_FONTS_DIR = "test/resources/complexscripts/arab/ttx"; - - String[] TTX_FONTS = { - "arab-001.ttx", // simplified arabic - "arab-002.ttx", // traditional arabic - "arab-003.ttx", // lateef - "arab-004.ttx", // scheherazade - }; - -} diff --git a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsTestCase.java b/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsTestCase.java deleted file mode 100644 index abe4f513a..000000000 --- a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsTestCase.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.scripts.arabic; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FilenameFilter; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.nio.IntBuffer; -import java.util.List; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.apache.fop.complexscripts.fonts.GlyphPositioningTable; -import org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable; -import org.apache.fop.complexscripts.fonts.ttx.TTXFile; -import org.apache.fop.complexscripts.util.GlyphSequence; - -// CSOFF: LineLength - -/** - * Tests for functionality related to the arabic script. - */ -public class ArabicWordFormsTestCase implements ArabicWordFormsConstants { - - @Test - public void testArabicWordForms() { - for (String sfn : SRC_FILES) { - try { - processWordForms(new File(DAT_FILES_DIR)); - } catch (Exception e) { - fail(e.getMessage()); - } - } - } - - private void processWordForms(File dfd) { - String[] files = listWordFormFiles(dfd); - for (String fn : files) { - File dff = new File(dfd, fn); - processWordForms(dff.getAbsolutePath()); - } - } - - private String[] listWordFormFiles(File dfd) { - return dfd.list(new FilenameFilter() { - public boolean accept(File f, String name) { - return hasPrefixFrom(name, SRC_FILES) && hasExtension(name, WF_FILE_DAT_EXT); - } - private boolean hasPrefixFrom(String name, String[] prefixes) { - for (String p : prefixes) { - if (name.startsWith(p)) { - return true; - } - } - return false; - } - private boolean hasExtension(String name, String extension) { - return name.endsWith("." + extension); - } - }); - } - - private void processWordForms(String dpn) { - FileInputStream fis = null; - try { - fis = new FileInputStream(dpn); - if (fis != null) { - ObjectInputStream ois = new ObjectInputStream(fis); - List<Object[]> data = (List<Object[]>) ois.readObject(); - if (data != null) { - processWordForms(data); - } - ois.close(); - } - } catch (FileNotFoundException e) { - throw new RuntimeException(e.getMessage(), e); - } catch (IOException e) { - throw new RuntimeException(e.getMessage(), e); - } catch (Exception e) { - throw new RuntimeException(e.getMessage(), e); - } finally { - if (fis != null) { - try { fis.close(); } catch (Exception e) { /* NOP */ } - } - } - } - - private void processWordForms(List<Object[]> data) { - assert data != null; - assert data.size() > 0; - String script = null; - String language = null; - String tfn = null; - TTXFile tf = null; - GlyphSubstitutionTable gsub = null; - GlyphPositioningTable gpos = null; - int[] widths = null; - for (Object[] d : data) { - if (script == null) { - assert d.length >= 4; - script = (String) d[0]; - language = (String) d[1]; - tfn = (String) d[3]; - tf = TTXFile.getFromCache(TTX_FONTS_DIR + File.separator + tfn); - assertTrue(tf != null); - gsub = tf.getGSUB(); - assertTrue(gsub != null); - gpos = tf.getGPOS(); - assertTrue(gpos != null); - widths = tf.getWidths(); - assertTrue(widths != null); - } else { - assert tf != null; - assert gsub != null; - assert gpos != null; - assert tfn != null; - assert d.length >= 4; - String wf = (String) d[0]; - int[] iga = (int[]) d[1]; - int[] oga = (int[]) d[2]; - int[][] paa = (int[][]) d[3]; - GlyphSequence tigs = tf.mapCharsToGlyphs(wf); - assertSameGlyphs(iga, getGlyphs(tigs), "input glyphs", wf, tfn); - GlyphSequence togs = gsub.substitute(tigs, script, language); - assertSameGlyphs(oga, getGlyphs(togs), "output glyphs", wf, tfn); - int[][] tpaa = new int [ togs.getGlyphCount() ] [ 4 ]; - if (gpos.position(togs, script, language, 1000, widths, tpaa)) { - assertSameAdjustments(paa, tpaa, wf, tfn); - } else if (paa != null) { - assertEquals("unequal adjustment count, word form(" + wf + "), font (" + tfn + ")", paa.length, 0); - } - } - } - } - - private void assertSameGlyphs(int[] expected, int[] actual, String label, String wf, String tfn) { - assertEquals(label + ": unequal glyph count, word form(" + wf + "), font (" + tfn + ")", expected.length, actual.length); - for (int i = 0, n = expected.length; i < n; i++) { - int e = expected[i]; - int a = actual[i]; - assertEquals(label + ": unequal glyphs[" + i + "], word form(" + wf + "), font (" + tfn + ")", e, a); - } - } - - private void assertSameAdjustments(int[][] expected, int[][] actual, String wf, String tfn) { - assertEquals("unequal adjustment count, word form(" + wf + "), font (" + tfn + ")", expected.length, actual.length); - for (int i = 0, n = expected.length; i < n; i++) { - int[] ea = expected[i]; - int[] aa = actual[i]; - assertEquals("bad adjustments length, word form(" + wf + "), font (" + tfn + ")", ea.length, aa.length); - for (int k = 0; k < 4; k++) { - int e = ea[k]; - int a = aa[k]; - assertEquals("unequal adjustment[" + i + "][" + k + "], word form(" + wf + "), font (" + tfn + ")", e, a); - } - } - } - - private static int[] getGlyphs(GlyphSequence gs) { - IntBuffer gb = gs.getGlyphs(); - int[] ga = new int [ gb.limit() ]; - gb.rewind(); - gb.get(ga); - return ga; - } - -} diff --git a/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java b/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java deleted file mode 100644 index 35bfb3128..000000000 --- a/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.scripts.arabic; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.LineNumberReader; -import java.io.ObjectOutputStream; -import java.nio.IntBuffer; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.List; - -import org.apache.fop.complexscripts.fonts.GlyphPositioningTable; -import org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable; -import org.apache.fop.complexscripts.fonts.ttx.TTXFile; -import org.apache.fop.complexscripts.util.GlyphSequence; - -/** - * Tests for functionality related to the arabic script. - */ -public final class GenerateArabicTestData implements ArabicWordFormsConstants { - - private GenerateArabicTestData() { - } - - public static void main(String[] args) { - boolean compile = false; - boolean help = false; - for (String a : args) { - if (a.equals("-c")) { - compile = true; - } - if (a.equals("-?")) { - help = true; - } - } - if (help) { - help(); - } else if (compile) { - compile(); - } - } - - private static void help() { - StringBuffer sb = new StringBuffer(); - sb.append("org.apache.fop.complexscripts.arabic.ArabicTestCase"); - sb.append(" [-compile]"); - sb.append(" [-?]"); - System.out.println(sb.toString()); - } - - private static void compile() { - for (String sfn : SRC_FILES) { - try { - String spn = SRC_FILES_DIR + File.separator + sfn + "." + WF_FILE_SRC_EXT; - compile(WF_FILE_SCRIPT, WF_FILE_LANGUAGE, spn); - } catch (Exception e) { - System.err.println(e.getMessage()); - } - } - } - - private static void compile(String script, String language, String spn) { - int fno = 0; - for (String tfn : TTX_FONTS) { - TTXFile tf = TTXFile.getFromCache(TTX_FONTS_DIR + File.separator + tfn); - assert tf != null; - List data = compile(script, language, spn, tfn, tf); - output(makeDataPathName(spn, fno++), data); - } - } - - private static List compile(String script, String language, String spn, String tfn, TTXFile tf) { - List<Object[]> data = new ArrayList<Object[]>(); - data.add(new Object[] { script, language, spn, tfn }); - GlyphSubstitutionTable gsub = tf.getGSUB(); - GlyphPositioningTable gpos = tf.getGPOS(); - int[] widths = tf.getWidths(); - if ((gsub != null) && (gpos != null)) { - FileInputStream fis = null; - try { - fis = new FileInputStream(spn); - if (fis != null) { - LineNumberReader lr = new LineNumberReader(new InputStreamReader(fis, Charset.forName("UTF-8"))); - String wf; - while ((wf = lr.readLine()) != null) { - GlyphSequence igs = tf.mapCharsToGlyphs(wf); - GlyphSequence ogs = gsub.substitute(igs, script, language); - int[][] paa = new int [ ogs.getGlyphCount() ] [ 4 ]; - if (!gpos.position(ogs, script, language, 1000, widths, paa)) { - paa = null; - } - data.add(new Object[] { wf, getGlyphs(igs), getGlyphs(ogs), paa }); - } - lr.close(); - } - } catch (FileNotFoundException e) { - throw new RuntimeException(e.getMessage(), e); - } catch (IOException e) { - throw new RuntimeException(e.getMessage(), e); - } catch (Exception e) { - throw new RuntimeException(e.getMessage(), e); - } finally { - if (fis != null) { - try { fis.close(); } catch (Exception e) { /* NOP */ } - } - } - } else { - assert gsub != null; - assert gpos != null; - } - System.err.println("compiled " + (data.size() - 1) + " word forms using font " + tfn); - return data; - } - - private static int[] getGlyphs(GlyphSequence gs) { - IntBuffer gb = gs.getGlyphs(); - int[] ga = new int [ gb.limit() ]; - gb.rewind(); - gb.get(ga); - return ga; - } - - private static String makeDataPathName(String spn, int fno) { - File f = new File(spn); - return DAT_FILES_DIR + File.separator + stripExtension(f.getName()) + "-f" + fno + "." + WF_FILE_DAT_EXT; - } - - private static String stripExtension(String s) { - int i = s.lastIndexOf('.'); - if (i >= 0) { - return s.substring(0, i); - } else { - return s; - } - } - - private static void output(String dpn, List<Object[]> data) { - FileOutputStream fos = null; - try { - fos = new FileOutputStream(dpn); - if (fos != null) { - ObjectOutputStream oos = new ObjectOutputStream(fos); - oos.writeObject(data); - oos.close(); - } - } catch (FileNotFoundException e) { - throw new RuntimeException(e.getMessage(), e); - } catch (IOException e) { - throw new RuntimeException(e.getMessage(), e); - } catch (Exception e) { - throw new RuntimeException(e.getMessage(), e); - } finally { - if (fos != null) { - try { fos.close(); } catch (Exception e) { /* NOP */ } - } - } - } - -} diff --git a/test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java b/test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java deleted file mode 100644 index 4e1db5fb3..000000000 --- a/test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java +++ /dev/null @@ -1,1562 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.util; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -// CSOFF: LineLengthCheck - -/** - * Test number converter functionality. - */ -public class NumberConverterTestCase { - - private static String[][] formatDecimal = - { - { "1" }, - { "0", "0" }, - { "1", "1" }, - { "1000", "1000" }, - { "1000000", "1000000" }, - { "1000000000", "1000000000" }, - }; - - private static String[][] formatDecimalPadded = - { - { "001" }, - { "0", "000" }, - { "1", "001" }, - { "9", "009" }, - { "10", "010" }, - { "99", "099" }, - { "100", "100" }, - { "999", "999" }, - { "1000", "1000" }, - }; - - private static String[][] formatDecimalGrouped = - { - { "1", ",", "1" }, - { "0", "0" }, - { "1", "1" }, - { "1000", "1,0,0,0" }, - { "1000000", "1,0,0,0,0,0,0" }, - { "1000000000", "1,0,0,0,0,0,0,0,0,0" }, - }; - - private static String[][] formatDecimalGroupedPadded = - { - { "001", ",", "2" }, - { "0", "0,00" }, - { "1", "0,01" }, - { "9", "0,09" }, - { "10", "0,10" }, - { "99", "0,99" }, - { "100", "1,00" }, - { "999", "9,99" }, - { "1000", "10,00" }, - }; - - private static String[][] formatDecimalArabic = - { - { "\u0661" }, - { "0", "\u0660" }, - { "1", "\u0661" }, - { "2", "\u0662" }, - { "3", "\u0663" }, - { "4", "\u0664" }, - { "5", "\u0665" }, - { "6", "\u0666" }, - { "7", "\u0667" }, - { "8", "\u0668" }, - { "9", "\u0669" }, - { "10", "\u0661\u0660" }, - { "1000", "\u0661\u0660\u0660\u0660" }, - { "1000000", "\u0661\u0660\u0660\u0660\u0660\u0660\u0660" }, - { "1000000000", "\u0661\u0660\u0660\u0660\u0660\u0660\u0660\u0660\u0660\u0660" }, - }; - - private static String[][] formatDecimalArabicPadded = - { - { "\u0660\u0660\u0661" }, - { "0", "\u0660\u0660\u0660" }, - { "1", "\u0660\u0660\u0661" }, - { "9", "\u0660\u0660\u0669" }, - { "10", "\u0660\u0661\u0660" }, - { "99", "\u0660\u0669\u0669" }, - { "100", "\u0661\u0660\u0660" }, - { "999", "\u0669\u0669\u0669" }, - { "1000", "\u0661\u0660\u0660\u0660" }, - }; - - private static String[][] formatDecimalArabicGrouped = - { - { "\u0661", "\u066c", "1" }, - { "0", "\u0660" }, - { "1", "\u0661" }, - { "1000", "\u0661\u066c\u0660\u066c\u0660\u066c\u0660" }, - { "1000000", "\u0661\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660" }, - { "1000000000", "\u0661\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660\u066c\u0660" }, - }; - - private static String[][] formatDecimalArabicGroupedPadded = - { - { "\u0660\u0660\u0661", "\u066c", "2" }, - { "0", "\u0660\u066c\u0660\u0660" }, - { "1", "\u0660\u066c\u0660\u0661" }, - { "9", "\u0660\u066c\u0660\u0669" }, - { "10", "\u0660\u066c\u0661\u0660" }, - { "99", "\u0660\u066c\u0669\u0669" }, - { "100", "\u0661\u066c\u0660\u0660" }, - { "999", "\u0669\u066c\u0669\u0669" }, - { "1000", "\u0661\u0660\u066c\u0660\u0660" }, - }; - - private static String[][] formatDecimalThai = - { - { "\u0E51" }, - { "0", "\u0E50" }, - { "1", "\u0E51" }, - { "2", "\u0E52" }, - { "3", "\u0E53" }, - { "4", "\u0E54" }, - { "5", "\u0E55" }, - { "6", "\u0E56" }, - { "7", "\u0E57" }, - { "8", "\u0E58" }, - { "9", "\u0E59" }, - { "10", "\u0E51\u0E50" }, - { "1000", "\u0E51\u0E50\u0E50\u0E50" }, - { "1000000", "\u0E51\u0E50\u0E50\u0E50\u0E50\u0E50\u0E50" }, - { "1000000000", "\u0E51\u0E50\u0E50\u0E50\u0E50\u0E50\u0E50\u0E50\u0E50\u0E50" }, - }; - - private static String[][] formatDecimalThaiPadded = - { - { "\u0E50\u0E50\u0E51" }, - { "0", "\u0E50\u0E50\u0E50" }, - { "1", "\u0E50\u0E50\u0E51" }, - { "9", "\u0E50\u0E50\u0E59" }, - { "10", "\u0E50\u0E51\u0E50" }, - { "99", "\u0E50\u0E59\u0E59" }, - { "100", "\u0E51\u0E50\u0E50" }, - { "999", "\u0E59\u0E59\u0E59" }, - { "1000", "\u0E51\u0E50\u0E50\u0E50" }, - }; - - private static String[][] formatRomanLower = - { - { "i" }, - { "0", "0" }, - { "1", "i" }, - { "2", "ii" }, - { "3", "iii" }, - { "4", "iv" }, - { "5", "v" }, - { "6", "vi" }, - { "7", "vii" }, - { "8", "viii" }, - { "9", "ix" }, - { "10", "x" }, - { "20", "xx" }, - { "30", "xxx" }, - { "40", "xl" }, - { "50", "l" }, - { "60", "lx" }, - { "70", "lxx" }, - { "80", "lxxx" }, - { "90", "xc" }, - { "100", "c" }, - { "200", "cc" }, - { "300", "ccc" }, - { "400", "cd" }, - { "500", "d" }, - { "600", "dc" }, - { "700", "dcc" }, - { "800", "dccc" }, - { "900", "cm" }, - { "1000", "m" }, - { "2000", "mm" }, - { "2011", "mmxi" }, - { "4999", "mmmmcmxcix" }, - { "5000", "5000" }, - }; - - private static String[][] formatRomanUpper = - { - - { "I" }, - { "0", "0" }, - { "1", "I" }, - { "2", "II" }, - { "3", "III" }, - { "4", "IV" }, - { "5", "V" }, - { "6", "VI" }, - { "7", "VII" }, - { "8", "VIII" }, - { "9", "IX" }, - { "10", "X" }, - { "20", "XX" }, - { "30", "XXX" }, - { "40", "XL" }, - { "50", "L" }, - { "60", "LX" }, - { "70", "LXX" }, - { "80", "LXXX" }, - { "90", "XC" }, - { "100", "C" }, - { "200", "CC" }, - { "300", "CCC" }, - { "400", "CD" }, - { "500", "D" }, - { "600", "DC" }, - { "700", "DCC" }, - { "800", "DCCC" }, - { "900", "CM" }, - { "1000", "M" }, - { "2000", "MM" }, - { "2011", "MMXI" }, - { "4999", "MMMMCMXCIX" }, - { "5000", "5000" }, - }; - - private static String[][] formatRomanLargeLower = - { - { "i", null, null, null, "large" }, - { "0", "0" }, - { "1", "i" }, - { "2", "ii" }, - { "3", "iii" }, - { "4", "iv" }, - { "5", "v" }, - { "6", "vi" }, - { "7", "vii" }, - { "8", "viii" }, - { "9", "ix" }, - { "10", "x" }, - { "20", "xx" }, - { "30", "xxx" }, - { "40", "xl" }, - { "50", "l" }, - { "60", "lx" }, - { "70", "lxx" }, - { "80", "lxxx" }, - { "90", "xc" }, - { "100", "c" }, - { "200", "cc" }, - { "300", "ccc" }, - { "400", "cd" }, - { "500", "d" }, - { "600", "dc" }, - { "700", "dcc" }, - { "800", "dccc" }, - { "900", "cm" }, - { "1000", "m" }, - { "2000", "mm" }, - { "2011", "mmxi" }, - { "4999", "\u2180\u2181cmxcix" }, - { "5000", "\u2181" }, - { "5001", "\u2181i" }, - { "9999", "\u2180\u2182cmxcix" }, - { "10000", "\u2182" }, - { "10001", "\u2182i" }, - { "49999", "\u2182\u2187\u2180\u2182cmxcix" }, - { "99999", "\u2182\u2188\u2180\u2182cmxcix" }, - { "100000", "\u2188" }, - { "100001", "\u2188i" }, - { "199999", "\u2188\u2182\u2188\u2180\u2182cmxcix" }, - { "200000", "200000" }, - }; - - private static String[][] formatRomanLargeUpper = - { - { "I", null, null, null, "large" }, - { "0", "0" }, - { "1", "I" }, - { "2", "II" }, - { "3", "III" }, - { "4", "IV" }, - { "5", "V" }, - { "6", "VI" }, - { "7", "VII" }, - { "8", "VIII" }, - { "9", "IX" }, - { "10", "X" }, - { "20", "XX" }, - { "30", "XXX" }, - { "40", "XL" }, - { "50", "L" }, - { "60", "LX" }, - { "70", "LXX" }, - { "80", "LXXX" }, - { "90", "XC" }, - { "100", "C" }, - { "200", "CC" }, - { "300", "CCC" }, - { "400", "CD" }, - { "500", "D" }, - { "600", "DC" }, - { "700", "DCC" }, - { "800", "DCCC" }, - { "900", "CM" }, - { "1000", "M" }, - { "2000", "MM" }, - { "2011", "MMXI" }, - { "4999", "\u2180\u2181CMXCIX" }, - { "5000", "\u2181" }, - { "5001", "\u2181I" }, - { "9999", "\u2180\u2182CMXCIX" }, - { "10000", "\u2182" }, - { "10001", "\u2182I" }, - { "49999", "\u2182\u2187\u2180\u2182CMXCIX" }, - { "99999", "\u2182\u2188\u2180\u2182CMXCIX" }, - { "100000", "\u2188" }, - { "100001", "\u2188I" }, - { "199999", "\u2188\u2182\u2188\u2180\u2182CMXCIX" }, - { "200000", "200000" }, - }; - - private static String[][] formatRomanNumberFormsLower = - { - { "i", null, null, null, "unicode-number-forms" }, - { "0", "0" }, - { "1", "\u2170" }, - { "2", "\u2171" }, - { "3", "\u2172" }, - { "4", "\u2173" }, - { "5", "\u2174" }, - { "6", "\u2175" }, - { "7", "\u2176" }, - { "8", "\u2177" }, - { "9", "\u2178" }, - { "10", "\u2179" }, - { "11", "\u2179\u2170" }, - { "12", "\u2179\u2171" }, - { "13", "\u2179\u2172" }, - { "14", "\u2179\u2173" }, - { "15", "\u2179\u2174" }, - { "16", "\u2179\u2175" }, - { "17", "\u2179\u2176" }, - { "18", "\u2179\u2177" }, - { "19", "\u2179\u2178" }, - { "20", "\u2179\u2179" }, - { "30", "\u2179\u2179\u2179" }, - { "40", "\u2179\u217C" }, - { "50", "\u217C" }, - { "60", "\u217C\u2179" }, - { "70", "\u217C\u2179\u2179" }, - { "80", "\u217C\u2179\u2179\u2179" }, - { "90", "\u2179\u217D" }, - { "100", "\u217D" }, - { "200", "\u217D\u217D" }, - { "300", "\u217D\u217D\u217D" }, - { "400", "\u217D\u217E" }, - { "500", "\u217E" }, - { "600", "\u217E\u217D" }, - { "700", "\u217E\u217D\u217D" }, - { "800", "\u217E\u217D\u217D\u217D" }, - { "900", "\u217D\u217F" }, - { "999", "\u217D\u217F\u2179\u217D\u2178" }, - { "1000", "\u217F" }, - { "2000", "\u217F\u217F" }, - { "2011", "\u217F\u217F\u2179\u2170" }, - { "4999", "\u2180\u2181\u217D\u217F\u2179\u217D\u2178" }, - { "5000", "\u2181" }, - { "5001", "\u2181\u2170" }, - { "9999", "\u2180\u2182\u217D\u217F\u2179\u217D\u2178" }, - { "10000", "\u2182" }, - { "10001", "\u2182\u2170" }, - { "49999", "\u2182\u2187\u2180\u2182\u217D\u217F\u2179\u217D\u2178" }, - { "99999", "\u2182\u2188\u2180\u2182\u217D\u217F\u2179\u217D\u2178" }, - { "100000", "\u2188" }, - { "100001", "\u2188\u2170" }, - { "199999", "\u2188\u2182\u2188\u2180\u2182\u217D\u217F\u2179\u217D\u2178" }, - { "200000", "200000" }, - }; - - private static String[][] formatRomanNumberFormsUpper = - { - { "I", null, null, null, "unicode-number-forms" }, - { "0", "0" }, - { "1", "\u2160" }, - { "2", "\u2161" }, - { "3", "\u2162" }, - { "4", "\u2163" }, - { "5", "\u2164" }, - { "6", "\u2165" }, - { "7", "\u2166" }, - { "8", "\u2167" }, - { "9", "\u2168" }, - { "10", "\u2169" }, - { "11", "\u2169\u2160" }, - { "12", "\u2169\u2161" }, - { "13", "\u2169\u2162" }, - { "14", "\u2169\u2163" }, - { "15", "\u2169\u2164" }, - { "16", "\u2169\u2165" }, - { "17", "\u2169\u2166" }, - { "18", "\u2169\u2167" }, - { "19", "\u2169\u2168" }, - { "20", "\u2169\u2169" }, - { "30", "\u2169\u2169\u2169" }, - { "40", "\u2169\u216C" }, - { "50", "\u216C" }, - { "60", "\u216C\u2169" }, - { "70", "\u216C\u2169\u2169" }, - { "80", "\u216C\u2169\u2169\u2169" }, - { "90", "\u2169\u216D" }, - { "100", "\u216D" }, - { "200", "\u216D\u216D" }, - { "300", "\u216D\u216D\u216D" }, - { "400", "\u216D\u216E" }, - { "500", "\u216E" }, - { "600", "\u216E\u216D" }, - { "700", "\u216E\u216D\u216D" }, - { "800", "\u216E\u216D\u216D\u216D" }, - { "900", "\u216D\u216F" }, - { "999", "\u216D\u216F\u2169\u216D\u2168" }, - { "1000", "\u216F" }, - { "2000", "\u216F\u216F" }, - { "2011", "\u216F\u216F\u2169\u2160" }, - { "4999", "\u2180\u2181\u216D\u216F\u2169\u216D\u2168" }, - { "5000", "\u2181" }, - { "5001", "\u2181\u2160" }, - { "9999", "\u2180\u2182\u216D\u216F\u2169\u216D\u2168" }, - { "10000", "\u2182" }, - { "10001", "\u2182\u2160" }, - { "49999", "\u2182\u2187\u2180\u2182\u216D\u216F\u2169\u216D\u2168" }, - { "99999", "\u2182\u2188\u2180\u2182\u216D\u216F\u2169\u216D\u2168" }, - { "100000", "\u2188" }, - { "100001", "\u2188\u2160" }, - { "199999", "\u2188\u2182\u2188\u2180\u2182\u216D\u216F\u2169\u216D\u2168" }, - { "200000", "200000" }, - }; - - private static String[][] formatAlphabeticLatinLower = - { - { "a" }, - { "0", "0" }, - { "1", "a" }, - { "2", "b" }, - { "3", "c" }, - { "10", "j" }, - { "20", "t" }, - { "26", "z" }, - { "27", "aa" }, - { "28", "ab" }, - { "29", "ac" }, - { "52", "az" }, - { "53", "ba" }, - { "702", "zz" }, - { "703", "aaa" }, - { "999999", "bdwgm" }, - { "1000000", "bdwgn" }, - }; - - private static String[][] formatAlphabeticLatinUpper = - { - { "A" }, - { "0", "0" }, - { "1", "A" }, - { "2", "B" }, - { "3", "C" }, - { "10", "J" }, - { "20", "T" }, - { "26", "Z" }, - { "27", "AA" }, - { "28", "AB" }, - { "29", "AC" }, - { "52", "AZ" }, - { "53", "BA" }, - { "702", "ZZ" }, - { "703", "AAA" }, - { "999999", "BDWGM" }, - { "1000000", "BDWGN" }, - }; - - private static String[][] formatAlphabeticArabicHijai = - { - { "\u0627", null, null, "alphabetic" }, - { "0", "0" }, - { "1", "\u0623" }, - { "2", "\u0628" }, - { "3", "\u062A" }, - { "4", "\u062B" }, - { "5", "\u062C" }, - { "6", "\u062D" }, - { "7", "\u062E" }, - { "8", "\u062F" }, - { "9", "\u0630" }, - { "10", "\u0631" }, - { "11", "\u0632" }, - { "12", "\u0633" }, - { "13", "\u0634" }, - { "14", "\u0635" }, - { "15", "\u0636" }, - { "16", "\u0637" }, - { "17", "\u0638" }, - { "18", "\u0639" }, - { "19", "\u063A" }, - { "20", "\u0641" }, - { "21", "\u0642" }, - { "22", "\u0643" }, - { "23", "\u0644" }, - { "24", "\u0645" }, - { "25", "\u0646" }, - { "26", "\u0647" }, - { "27", "\u0648" }, - { "28", "\u0649" }, - { "29", "\u0623\u0623" }, - { "56", "\u0623\u0649" }, - { "57", "\u0628\u0623" }, - { "812", "\u0649\u0649" }, - { "813", "\u0623\u0623\u0623" }, - { "999999", "\u0623\u0638\u0636\u0635\u062E" }, - { "1000000", "\u0623\u0638\u0636\u0635\u062F" }, - }; - - private static String[][] formatAlphabeticArabicAbjadi = - { - { "\u0627", null, null, "traditional" }, - { "0", "0" }, - { "1", "\u0623" }, - { "2", "\u0628" }, - { "3", "\u062C" }, - { "4", "\u062F" }, - { "5", "\u0647" }, - { "6", "\u0648" }, - { "7", "\u0632" }, - { "8", "\u062D" }, - { "9", "\u0637" }, - { "10", "\u0649" }, - { "11", "\u0643" }, - { "12", "\u0644" }, - { "13", "\u0645" }, - { "14", "\u0646" }, - { "15", "\u0633" }, - { "16", "\u0639" }, - { "17", "\u0641" }, - { "18", "\u0635" }, - { "19", "\u0642" }, - { "20", "\u0631" }, - { "21", "\u0634" }, - { "22", "\u062A" }, - { "23", "\u062B" }, - { "24", "\u062E" }, - { "25", "\u0630" }, - { "26", "\u0636" }, - { "27", "\u0638" }, - { "28", "\u063A" }, - { "29", "\u0623\u0623" }, - { "56", "\u0623\u063A" }, - { "57", "\u0628\u0623" }, - { "812", "\u063A\u063A" }, - { "813", "\u0623\u0623\u0623" }, - { "999999", "\u0623\u0641\u0633\u0646\u0632" }, - { "1000000", "\u0623\u0641\u0633\u0646\u062D" }, - }; - - private static String[][] formatNumeralArabicAbjadi = - { - { "\u0623", null, null, "traditional" }, - { "0", "0" }, - { "1", "\u0623" }, - { "2", "\u0628" }, - { "3", "\u062C" }, - { "4", "\u062F" }, - { "5", "\u0647" }, - { "6", "\u0648" }, - { "7", "\u0632" }, - { "8", "\u062D" }, - { "9", "\u0637" }, - { "10", "\u0649" }, - { "11", "\u0649\u0623" }, - { "12", "\u0649\u0628" }, - { "13", "\u0649\u062C" }, - { "14", "\u0649\u062F" }, - { "15", "\u0649\u0647" }, - { "16", "\u0649\u0648" }, - { "17", "\u0649\u0632" }, - { "18", "\u0649\u062D" }, - { "19", "\u0649\u0637" }, - { "20", "\u0643" }, - { "30", "\u0644" }, - { "40", "\u0645" }, - { "50", "\u0646" }, - { "60", "\u0633" }, - { "70", "\u0639" }, - { "80", "\u0641" }, - { "90", "\u0635" }, - { "99", "\u0635\u0637" }, - { "100", "\u0642" }, - { "101", "\u0642\u0623" }, - { "200", "\u0631" }, - { "300", "\u0634" }, - { "400", "\u062A" }, - { "500", "\u062B" }, - { "600", "\u062E" }, - { "700", "\u0630" }, - { "800", "\u0636" }, - { "900", "\u0638" }, - { "999", "\u0638\u0635\u0637" }, - { "1000", "\u063A" }, - { "1999", "\u063A\u0638\u0635\u0637" }, - { "2000", "2000" }, - }; - - private static String[][] formatAlphabeticHebrew = - { - { "\u05D0", null, null, "alphabetic" }, - { "0", "0" }, - { "1", "\u05D0" }, - { "2", "\u05D1" }, - { "3", "\u05D2" }, - { "4", "\u05D3" }, - { "5", "\u05D4" }, - { "6", "\u05D5" }, - { "7", "\u05D6" }, - { "8", "\u05D7" }, - { "9", "\u05D8" }, - { "10", "\u05D9" }, - { "11", "\u05DB" }, - { "12", "\u05DC" }, - { "13", "\u05DE" }, - { "14", "\u05E0" }, - { "15", "\u05E1" }, - { "16", "\u05E2" }, - { "17", "\u05E4" }, - { "18", "\u05E6" }, - { "19", "\u05E7" }, - { "20", "\u05E8" }, - { "21", "\u05E9" }, - { "22", "\u05EA" }, - { "23", "\u05DA" }, - { "24", "\u05DD" }, - { "25", "\u05DF" }, - { "26", "\u05E3" }, - { "27", "\u05E5" }, - { "28", "\u05D0\u05D0" }, - { "54", "\u05D0\u05E5" }, - { "55", "\u05D1\u05D0" }, - { "756", "\u05E5\u05E5" }, - { "757", "\u05D0\u05D0\u05D0" }, - { "999999", "\u05D0\u05DA\u05E9\u05E7\u05E5" }, - { "1000000", "\u05D0\u05DA\u05E9\u05E8\u05D0" }, - }; - - private static String[][] formatNumeralHebrewGematria = - { - { "\u05D0", null, null, "traditional" }, - { "0", "0" }, - { "1", "\u05D0" }, - { "2", "\u05D1" }, - { "3", "\u05D2" }, - { "4", "\u05D3" }, - { "5", "\u05D4" }, - { "6", "\u05D5" }, - { "7", "\u05D6" }, - { "8", "\u05D7" }, - { "9", "\u05D8" }, - { "10", "\u05D9" }, - { "11", "\u05D9\u05D0" }, - { "12", "\u05D9\u05D1" }, - { "13", "\u05D9\u05D2" }, - { "14", "\u05D9\u05D3" }, - { "15", "\u05D8\u05F4\u05D5" }, - { "16", "\u05D8\u05F4\u05D6" }, - { "17", "\u05D9\u05D6" }, - { "18", "\u05D9\u05D7" }, - { "19", "\u05D9\u05D8" }, - { "20", "\u05DB" }, - { "30", "\u05DC" }, - { "40", "\u05DE" }, - { "50", "\u05E0" }, - { "60", "\u05E1" }, - { "70", "\u05E2" }, - { "80", "\u05E4" }, - { "90", "\u05E6" }, - { "99", "\u05E6\u05D8" }, - { "100", "\u05E7" }, - { "101", "\u05E7\u05D0" }, - { "200", "\u05E8" }, - { "300", "\u05E9" }, - { "400", "\u05EA" }, - { "500", "\u05EA\u05F4\u05E7" }, - { "600", "\u05EA\u05F4\u05E8" }, - { "700", "\u05EA\u05F4\u05E9" }, - { "800", "\u05EA\u05F4\u05EA" }, - { "900", "\u05EA\u05EA\u05F4\u05E7" }, - { "999", "\u05EA\u05EA\u05F4\u05E7\u05E6\u05D8" }, - { "1000", "\u05D0\u05F3" }, - { "1999", "\u05D0\u05F3\u05EA\u05EA\u05F4\u05E7\u05E6\u05D8" }, - { "2000", "2000" }, - }; - - private static String[][] formatAlphabeticThai = - { - { "\u0E01", null, null, "alphabetic" }, - { "0", "0" }, - { "1", "\u0E01" }, - { "2", "\u0E02" }, - { "3", "\u0E03" }, - { "10", "\u0E0A" }, - { "20", "\u0E14" }, - { "30", "\u0E1E" }, - { "40", "\u0E2A" }, - { "44", "\u0E2E" }, - { "45", "\u0E01\u0E01" }, - { "88", "\u0E01\u0E2E" }, - { "89", "\u0E02\u0E01" }, - { "1980", "\u0E2E\u0E2E" }, - { "1981", "\u0E01\u0E01\u0E01" }, - { "999999", "\u0E0B\u0E20\u0E17\u0E0B" }, - { "1000000", "\u0E0B\u0E20\u0E17\u0E0C" }, - }; - - private static String[][] formatWordEnglishLower = - { - { "w", null, null, null, null, "eng" }, - { "0", "zero" }, - { "1", "one" }, - { "2", "two" }, - { "3", "three" }, - { "4", "four" }, - { "5", "five" }, - { "6", "six" }, - { "7", "seven" }, - { "8", "eight" }, - { "9", "nine" }, - { "10", "ten" }, - { "99", "ninety nine" }, - { "100", "one hundred" }, - { "999", "nine hundred ninety nine" }, - { "1000", "one thousand" }, - { "999999", "nine hundred ninety nine thousand nine hundred ninety nine" }, - { "1000000", "one million" }, - { "999999999", "nine hundred ninety nine million nine hundred ninety nine thousand nine hundred ninety nine" }, - { "1000000000", "one billion" } - }; - - private static String[][] formatWordEnglishUpper = - { - { "W", null, null, null, null, "eng" }, - { "0", "ZERO" }, - { "1", "ONE" }, - { "2", "TWO" }, - { "3", "THREE" }, - { "4", "FOUR" }, - { "5", "FIVE" }, - { "6", "SIX" }, - { "7", "SEVEN" }, - { "8", "EIGHT" }, - { "9", "NINE" }, - { "10", "TEN" }, - { "99", "NINETY NINE" }, - { "100", "ONE HUNDRED" }, - { "999", "NINE HUNDRED NINETY NINE" }, - { "1000", "ONE THOUSAND" }, - { "999999", "NINE HUNDRED NINETY NINE THOUSAND NINE HUNDRED NINETY NINE" }, - { "1000000", "ONE MILLION" }, - { "999999999", "NINE HUNDRED NINETY NINE MILLION NINE HUNDRED NINETY NINE THOUSAND NINE HUNDRED NINETY NINE" }, - { "1000000000", "ONE BILLION" } - }; - - private static String[][] formatWordEnglishTitle = - { - { "Ww", null, null, null, null, "eng" }, - { "0", "Zero" }, - { "1", "One" }, - { "2", "Two" }, - { "3", "Three" }, - { "4", "Four" }, - { "5", "Five" }, - { "6", "Six" }, - { "7", "Seven" }, - { "8", "Eight" }, - { "9", "Nine" }, - { "10", "Ten" }, - { "99", "Ninety Nine" }, - { "100", "One Hundred" }, - { "999", "Nine Hundred Ninety Nine" }, - { "1000", "One Thousand" }, - { "999999", "Nine Hundred Ninety Nine Thousand Nine Hundred Ninety Nine" }, - { "1000000", "One Million" }, - { "999999999", "Nine Hundred Ninety Nine Million Nine Hundred Ninety Nine Thousand Nine Hundred Ninety Nine" }, - { "1000000000", "One Billion" } - }; - - private static String[][] formatWordSpanishLower = - { - { "w", null, null, null, null, "spa" }, - { "0", "cero" }, - { "1", "uno" }, - { "2", "dos" }, - { "3", "tres" }, - { "4", "cuatro" }, - { "5", "cinco" }, - { "6", "seise" }, - { "7", "siete" }, - { "8", "ocho" }, - { "9", "nueve" }, - { "10", "diez" }, - { "11", "once" }, - { "12", "doce" }, - { "13", "trece" }, - { "14", "catorce" }, - { "15", "quince" }, - { "16", "diecis\u00e9is" }, - { "17", "diecisiete" }, - { "18", "dieciocho" }, - { "19", "diecinueve" }, - { "20", "veinte" }, - { "21", "veintiuno" }, - { "22", "veintid\u00f3s" }, - { "23", "veintitr\u00e9s" }, - { "24", "veinticuatro" }, - { "25", "veinticinco" }, - { "26", "veintis\u00e9is" }, - { "27", "veintisiete" }, - { "28", "veintiocho" }, - { "29", "veintinueve" }, - { "30", "treinta" }, - { "31", "treinta y uno" }, - { "32", "treinta y dos" }, - { "40", "cuarenta" }, - { "41", "cuarenta y uno" }, - { "42", "cuarenta y dos" }, - { "50", "cincuenta" }, - { "51", "cincuenta y uno" }, - { "52", "cincuenta y dos" }, - { "60", "sesenta" }, - { "61", "sesenta y uno" }, - { "62", "sesenta y dos" }, - { "70", "setenta" }, - { "71", "setenta y uno" }, - { "72", "setenta y dos" }, - { "80", "ochenta" }, - { "81", "ochenta y uno" }, - { "82", "ochenta y dos" }, - { "90", "noventa" }, - { "91", "noventa y uno" }, - { "92", "noventa y dos" }, - { "99", "noventa y nueve" }, - { "100", "cien" }, - { "101", "ciento uno" }, - { "102", "ciento dos" }, - { "200", "doscientos" }, - { "300", "trescientos" }, - { "400", "cuatrocientos" }, - { "500", "quinientos" }, - { "600", "seiscientos" }, - { "700", "setecientos" }, - { "800", "ochocientos" }, - { "900", "novecientos" }, - { "999", "novecientos noventa y nueve" }, - { "1000", "mil" }, - { "1001", "mil uno" }, - { "1002", "mil dos" }, - { "2000", "dos mil" }, - { "2001", "dos mil uno" }, - { "100000", "cien mil" }, - { "100001", "cien mil uno" }, - { "999999", "novecientos noventa y nueve mil novecientos noventa y nueve" }, - { "1000000", "un mill\u00f3n" }, - { "999999999", "novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve" }, - { "1000000000", "mil millones" } - }; - - private static String[][] formatWordSpanishUpper = - { - { "W", null, null, null, null, "spa" }, - { "0", "CERO" }, - { "1", "UNO" }, - { "2", "DOS" }, - { "3", "TRES" }, - { "4", "CUATRO" }, - { "5", "CINCO" }, - { "6", "SEISE" }, - { "7", "SIETE" }, - { "8", "OCHO" }, - { "9", "NUEVE" }, - { "10", "DIEZ" }, - { "11", "ONCE" }, - { "12", "DOCE" }, - { "13", "TRECE" }, - { "14", "CATORCE" }, - { "15", "QUINCE" }, - { "16", "DIECIS\u00c9IS" }, - { "17", "DIECISIETE" }, - { "18", "DIECIOCHO" }, - { "19", "DIECINUEVE" }, - { "20", "VEINTE" }, - { "21", "VEINTIUNO" }, - { "22", "VEINTID\u00d3S" }, - { "23", "VEINTITR\u00c9S" }, - { "24", "VEINTICUATRO" }, - { "25", "VEINTICINCO" }, - { "26", "VEINTIS\u00c9IS" }, - { "27", "VEINTISIETE" }, - { "28", "VEINTIOCHO" }, - { "29", "VEINTINUEVE" }, - { "30", "TREINTA" }, - { "31", "TREINTA Y UNO" }, - { "32", "TREINTA Y DOS" }, - { "40", "CUARENTA" }, - { "41", "CUARENTA Y UNO" }, - { "42", "CUARENTA Y DOS" }, - { "50", "CINCUENTA" }, - { "51", "CINCUENTA Y UNO" }, - { "52", "CINCUENTA Y DOS" }, - { "60", "SESENTA" }, - { "61", "SESENTA Y UNO" }, - { "62", "SESENTA Y DOS" }, - { "70", "SETENTA" }, - { "71", "SETENTA Y UNO" }, - { "72", "SETENTA Y DOS" }, - { "80", "OCHENTA" }, - { "81", "OCHENTA Y UNO" }, - { "82", "OCHENTA Y DOS" }, - { "90", "NOVENTA" }, - { "91", "NOVENTA Y UNO" }, - { "92", "NOVENTA Y DOS" }, - { "99", "NOVENTA Y NUEVE" }, - { "100", "CIEN" }, - { "101", "CIENTO UNO" }, - { "102", "CIENTO DOS" }, - { "200", "DOSCIENTOS" }, - { "300", "TRESCIENTOS" }, - { "400", "CUATROCIENTOS" }, - { "500", "QUINIENTOS" }, - { "600", "SEISCIENTOS" }, - { "700", "SETECIENTOS" }, - { "800", "OCHOCIENTOS" }, - { "900", "NOVECIENTOS" }, - { "999", "NOVECIENTOS NOVENTA Y NUEVE" }, - { "1000", "MIL" }, - { "1001", "MIL UNO" }, - { "1002", "MIL DOS" }, - { "2000", "DOS MIL" }, - { "2001", "DOS MIL UNO" }, - { "100000", "CIEN MIL" }, - { "100001", "CIEN MIL UNO" }, - { "999999", "NOVECIENTOS NOVENTA Y NUEVE MIL NOVECIENTOS NOVENTA Y NUEVE" }, - { "1000000", "UN MILL\u00d3N" }, - { "999999999", "NOVECIENTOS NOVENTA Y NUEVE MILLONES NOVECIENTOS NOVENTA Y NUEVE MIL NOVECIENTOS NOVENTA Y NUEVE" }, - { "1000000000", "MIL MILLONES" } - }; - - private static String[][] formatWordSpanishTitle = - { - { "Ww", null, null, null, null, "spa" }, - { "0", "Cero" }, - { "1", "Uno" }, - { "2", "Dos" }, - { "3", "Tres" }, - { "4", "Cuatro" }, - { "5", "Cinco" }, - { "6", "Seise" }, - { "7", "Siete" }, - { "8", "Ocho" }, - { "9", "Nueve" }, - { "10", "Diez" }, - { "11", "Once" }, - { "12", "Doce" }, - { "13", "Trece" }, - { "14", "Catorce" }, - { "15", "Quince" }, - { "16", "Diecis\u00e9is" }, - { "17", "Diecisiete" }, - { "18", "Dieciocho" }, - { "19", "Diecinueve" }, - { "20", "Veinte" }, - { "21", "Veintiuno" }, - { "22", "Veintid\u00f3s" }, - { "23", "Veintitr\u00e9s" }, - { "24", "Veinticuatro" }, - { "25", "Veinticinco" }, - { "26", "Veintis\u00e9is" }, - { "27", "Veintisiete" }, - { "28", "Veintiocho" }, - { "29", "Veintinueve" }, - { "30", "Treinta" }, - { "31", "Treinta Y Uno" }, - { "32", "Treinta Y Dos" }, - { "40", "Cuarenta" }, - { "41", "Cuarenta Y Uno" }, - { "42", "Cuarenta Y Dos" }, - { "50", "Cincuenta" }, - { "51", "Cincuenta Y Uno" }, - { "52", "Cincuenta Y Dos" }, - { "60", "Sesenta" }, - { "61", "Sesenta Y Uno" }, - { "62", "Sesenta Y Dos" }, - { "70", "Setenta" }, - { "71", "Setenta Y Uno" }, - { "72", "Setenta Y Dos" }, - { "80", "Ochenta" }, - { "81", "Ochenta Y Uno" }, - { "82", "Ochenta Y Dos" }, - { "90", "Noventa" }, - { "91", "Noventa Y Uno" }, - { "92", "Noventa Y Dos" }, - { "99", "Noventa Y Nueve" }, - { "100", "Cien" }, - { "101", "Ciento Uno" }, - { "102", "Ciento Dos" }, - { "200", "Doscientos" }, - { "300", "Trescientos" }, - { "400", "Cuatrocientos" }, - { "500", "Quinientos" }, - { "600", "Seiscientos" }, - { "700", "Setecientos" }, - { "800", "Ochocientos" }, - { "900", "Novecientos" }, - { "999", "Novecientos Noventa Y Nueve" }, - { "1000", "Mil" }, - { "1001", "Mil Uno" }, - { "1002", "Mil Dos" }, - { "2000", "Dos Mil" }, - { "2001", "Dos Mil Uno" }, - { "100000", "Cien Mil" }, - { "100001", "Cien Mil Uno" }, - { "999999", "Novecientos Noventa Y Nueve Mil Novecientos Noventa Y Nueve" }, - { "1000000", "Un Mill\u00f3n" }, - { "999999999", "Novecientos Noventa Y Nueve Millones Novecientos Noventa Y Nueve Mil Novecientos Noventa Y Nueve" }, - { "1000000000", "Mil Millones" } - }; - - private static String[][] formatWordFrenchLower = - { - { "w", null, null, null, null, "fra" }, - { "0", "z\u00e9ro" }, - { "1", "un" }, - { "2", "deux" }, - { "3", "trois" }, - { "4", "quatre" }, - { "5", "cinq" }, - { "6", "six" }, - { "7", "sept" }, - { "8", "huit" }, - { "9", "neuf" }, - { "10", "dix" }, - { "11", "onze" }, - { "12", "douze" }, - { "13", "treize" }, - { "14", "quatorze" }, - { "15", "quinze" }, - { "16", "seize" }, - { "17", "dix-sept" }, - { "18", "dix-huit" }, - { "19", "dix-neuf" }, - { "20", "vingt" }, - { "21", "vingt et un" }, - { "22", "vingt-deux" }, - { "23", "vingt-trois" }, - { "24", "vingt-quatre" }, - { "25", "vingt-cinq" }, - { "26", "vingt-six" }, - { "27", "vingt-sept" }, - { "28", "vingt-huit" }, - { "29", "vingt-neuf" }, - { "30", "trente" }, - { "31", "trente et un" }, - { "32", "trente-deux" }, - { "40", "quarante" }, - { "41", "quarante et un" }, - { "42", "quarante-deux" }, - { "50", "cinquante" }, - { "51", "cinquante et un" }, - { "52", "cinquante-deux" }, - { "60", "soixante" }, - { "61", "soixante et un" }, - { "62", "soixante-deux" }, - { "70", "soixante-dix" }, - { "71", "soixante et onze" }, - { "72", "soixante-douze" }, - { "79", "soixante-dix-neuf" }, - { "80", "quatre-vingts" }, - { "81", "quatre-vingt-un" }, - { "82", "quatre-vingt-deux" }, - { "89", "quatre-vingt-neuf" }, - { "90", "quatre-vingt-dix" }, - { "91", "quatre-vingt-onze" }, - { "92", "quatre-vingt-douze" }, - { "99", "quatre-vingt-dix-neuf" }, - { "100", "cent" }, - { "101", "cent un" }, - { "102", "cent deux" }, - { "200", "deux cents" }, - { "201", "deux cent un" }, - { "202", "deux cent deux" }, - { "300", "trois cents" }, - { "301", "trois cent un" }, - { "400", "quatre cents" }, - { "401", "quatre cent un" }, - { "500", "cinq cents" }, - { "501", "cinq cent un" }, - { "600", "six cents" }, - { "601", "six cent un" }, - { "700", "sept cents" }, - { "701", "sept cent un" }, - { "800", "huit cents" }, - { "801", "huit cent un" }, - { "900", "neuf cents" }, - { "901", "neuf cent un" }, - { "999", "neuf cent quatre-vingt-dix-neuf" }, - { "1000", "mille" }, - { "1001", "mille un" }, - { "1002", "mille deux" }, - { "2000", "deux mille" }, - { "2001", "deux mille un" }, - { "100000", "cent mille" }, - { "100001", "cent mille un" }, - { "999999", "neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf" }, - { "1000000", "un million" }, - { "999999999", "neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf" }, - { "1000000000", "un milliard" } - }; - - private static String[][] formatWordFrenchUpper = - { - { "W", null, null, null, null, "fra" }, - { "0", "Z\u00c9RO" }, - { "1", "UN" }, - { "2", "DEUX" }, - { "3", "TROIS" }, - { "4", "QUATRE" }, - { "5", "CINQ" }, - { "6", "SIX" }, - { "7", "SEPT" }, - { "8", "HUIT" }, - { "9", "NEUF" }, - { "10", "DIX" }, - { "11", "ONZE" }, - { "12", "DOUZE" }, - { "13", "TREIZE" }, - { "14", "QUATORZE" }, - { "15", "QUINZE" }, - { "16", "SEIZE" }, - { "17", "DIX-SEPT" }, - { "18", "DIX-HUIT" }, - { "19", "DIX-NEUF" }, - { "20", "VINGT" }, - { "21", "VINGT ET UN" }, - { "22", "VINGT-DEUX" }, - { "23", "VINGT-TROIS" }, - { "24", "VINGT-QUATRE" }, - { "25", "VINGT-CINQ" }, - { "26", "VINGT-SIX" }, - { "27", "VINGT-SEPT" }, - { "28", "VINGT-HUIT" }, - { "29", "VINGT-NEUF" }, - { "30", "TRENTE" }, - { "31", "TRENTE ET UN" }, - { "32", "TRENTE-DEUX" }, - { "40", "QUARANTE" }, - { "41", "QUARANTE ET UN" }, - { "42", "QUARANTE-DEUX" }, - { "50", "CINQUANTE" }, - { "51", "CINQUANTE ET UN" }, - { "52", "CINQUANTE-DEUX" }, - { "60", "SOIXANTE" }, - { "61", "SOIXANTE ET UN" }, - { "62", "SOIXANTE-DEUX" }, - { "70", "SOIXANTE-DIX" }, - { "71", "SOIXANTE ET ONZE" }, - { "72", "SOIXANTE-DOUZE" }, - { "79", "SOIXANTE-DIX-NEUF" }, - { "80", "QUATRE-VINGTS" }, - { "81", "QUATRE-VINGT-UN" }, - { "82", "QUATRE-VINGT-DEUX" }, - { "89", "QUATRE-VINGT-NEUF" }, - { "90", "QUATRE-VINGT-DIX" }, - { "91", "QUATRE-VINGT-ONZE" }, - { "92", "QUATRE-VINGT-DOUZE" }, - { "99", "QUATRE-VINGT-DIX-NEUF" }, - { "100", "CENT" }, - { "101", "CENT UN" }, - { "102", "CENT DEUX" }, - { "200", "DEUX CENTS" }, - { "201", "DEUX CENT UN" }, - { "202", "DEUX CENT DEUX" }, - { "300", "TROIS CENTS" }, - { "301", "TROIS CENT UN" }, - { "400", "QUATRE CENTS" }, - { "401", "QUATRE CENT UN" }, - { "500", "CINQ CENTS" }, - { "501", "CINQ CENT UN" }, - { "600", "SIX CENTS" }, - { "601", "SIX CENT UN" }, - { "700", "SEPT CENTS" }, - { "701", "SEPT CENT UN" }, - { "800", "HUIT CENTS" }, - { "801", "HUIT CENT UN" }, - { "900", "NEUF CENTS" }, - { "901", "NEUF CENT UN" }, - { "999", "NEUF CENT QUATRE-VINGT-DIX-NEUF" }, - { "1000", "MILLE" }, - { "1001", "MILLE UN" }, - { "1002", "MILLE DEUX" }, - { "2000", "DEUX MILLE" }, - { "2001", "DEUX MILLE UN" }, - { "100000", "CENT MILLE" }, - { "100001", "CENT MILLE UN" }, - { "999999", "NEUF CENT QUATRE-VINGT-DIX-NEUF MILLE NEUF CENT QUATRE-VINGT-DIX-NEUF" }, - { "1000000", "UN MILLION" }, - { "999999999", "NEUF CENT QUATRE-VINGT-DIX-NEUF MILLIONS NEUF CENT QUATRE-VINGT-DIX-NEUF MILLE NEUF CENT QUATRE-VINGT-DIX-NEUF" }, - { "1000000000", "UN MILLIARD" } - }; - - private static String[][] formatWordFrenchTitle = - { - { "Ww", null, null, null, null, "fra" }, - { "0", "Z\u00e9ro" }, - { "1", "Un" }, - { "2", "Deux" }, - { "3", "Trois" }, - { "4", "Quatre" }, - { "5", "Cinq" }, - { "6", "Six" }, - { "7", "Sept" }, - { "8", "Huit" }, - { "9", "Neuf" }, - { "10", "Dix" }, - { "11", "Onze" }, - { "12", "Douze" }, - { "13", "Treize" }, - { "14", "Quatorze" }, - { "15", "Quinze" }, - { "16", "Seize" }, - { "17", "Dix-sept" }, - { "18", "Dix-huit" }, - { "19", "Dix-neuf" }, - { "20", "Vingt" }, - { "21", "Vingt Et Un" }, - { "22", "Vingt-deux" }, - { "23", "Vingt-trois" }, - { "24", "Vingt-quatre" }, - { "25", "Vingt-cinq" }, - { "26", "Vingt-six" }, - { "27", "Vingt-sept" }, - { "28", "Vingt-huit" }, - { "29", "Vingt-neuf" }, - { "30", "Trente" }, - { "31", "Trente Et Un" }, - { "32", "Trente-deux" }, - { "40", "Quarante" }, - { "41", "Quarante Et Un" }, - { "42", "Quarante-deux" }, - { "50", "Cinquante" }, - { "51", "Cinquante Et Un" }, - { "52", "Cinquante-deux" }, - { "60", "Soixante" }, - { "61", "Soixante Et Un" }, - { "62", "Soixante-deux" }, - { "70", "Soixante-dix" }, - { "71", "Soixante Et Onze" }, - { "72", "Soixante-douze" }, - { "79", "Soixante-dix-neuf" }, - { "80", "Quatre-vingts" }, - { "81", "Quatre-vingt-un" }, - { "82", "Quatre-vingt-deux" }, - { "89", "Quatre-vingt-neuf" }, - { "90", "Quatre-vingt-dix" }, - { "91", "Quatre-vingt-onze" }, - { "92", "Quatre-vingt-douze" }, - { "99", "Quatre-vingt-dix-neuf" }, - { "100", "Cent" }, - { "101", "Cent Un" }, - { "102", "Cent Deux" }, - { "200", "Deux Cents" }, - { "201", "Deux Cent Un" }, - { "202", "Deux Cent Deux" }, - { "300", "Trois Cents" }, - { "301", "Trois Cent Un" }, - { "400", "Quatre Cents" }, - { "401", "Quatre Cent Un" }, - { "500", "Cinq Cents" }, - { "501", "Cinq Cent Un" }, - { "600", "Six Cents" }, - { "601", "Six Cent Un" }, - { "700", "Sept Cents" }, - { "701", "Sept Cent Un" }, - { "800", "Huit Cents" }, - { "801", "Huit Cent Un" }, - { "900", "Neuf Cents" }, - { "901", "Neuf Cent Un" }, - { "999", "Neuf Cent Quatre-vingt-dix-neuf" }, - { "1000", "Mille" }, - { "1001", "Mille Un" }, - { "1002", "Mille Deux" }, - { "2000", "Deux Mille" }, - { "2001", "Deux Mille Un" }, - { "100000", "Cent Mille" }, - { "100001", "Cent Mille Un" }, - { "999999", "Neuf Cent Quatre-vingt-dix-neuf Mille Neuf Cent Quatre-vingt-dix-neuf" }, - { "1000000", "Un Million" }, - { "999999999", "Neuf Cent Quatre-vingt-dix-neuf Millions Neuf Cent Quatre-vingt-dix-neuf Mille Neuf Cent Quatre-vingt-dix-neuf" }, - { "1000000000", "Un Milliard" } - }; - - /** - * Tests decimal from latin script. - * @throws Exception if the test fails - */ - @Test - public void testFormatDecimal() throws Exception { - performConversions(formatDecimal); - performConversions(formatDecimalPadded); - performConversions(formatDecimalGrouped); - performConversions(formatDecimalGroupedPadded); - } - - /** - * Tests decimal from arabic script. - * @throws Exception if the test fails - */ - @Test - public void testFormatDecimalArabic() throws Exception { - performConversions(formatDecimalArabic); - performConversions(formatDecimalArabicPadded); - performConversions(formatDecimalArabicGrouped); - performConversions(formatDecimalArabicGroupedPadded); - } - - /** - * Tests decimal from thai script. - * @throws Exception if the test fails - */ - @Test - public void testFormatDecimalThai() throws Exception { - performConversions(formatDecimalThai); - performConversions(formatDecimalThaiPadded); - } - - /** - * Tests roman numbers. - * @throws Exception if the test fails - */ - @Test - public void testFormatRoman() throws Exception { - performConversions(formatRomanLower); - performConversions(formatRomanUpper); - performConversions(formatRomanLargeLower); - performConversions(formatRomanLargeUpper); - performConversions(formatRomanNumberFormsLower); - performConversions(formatRomanNumberFormsUpper); - } - - /** - * Tests latin alphabetic sequence numerals. - * @throws Exception if the test fails - */ - @Test - public void testAlphabeticLatin() throws Exception { - performConversions(formatAlphabeticLatinLower); - performConversions(formatAlphabeticLatinUpper); - } - - /** - * Tests arabic alphabetic sequence numerals. - * @throws Exception if the test fails - */ - @Test - public void testAlphabeticArabic() throws Exception { - performConversions(formatAlphabeticArabicHijai); - performConversions(formatAlphabeticArabicAbjadi); - } - - /** - * Tests hebrew alphabetic sequence numerals. - * @throws Exception if the test fails - */ - @Test - public void testAlphabeticHebrew() throws Exception { - performConversions(formatAlphabeticHebrew); - } - - /** - * Tests latin alphabetic sequence numerals. - * @throws Exception if the test fails - */ - @Test - public void testAlphabeticThai() throws Exception { - performConversions(formatAlphabeticThai); - } - - /** - * Tests arabic numerals.. - * @throws Exception if the test fails - */ - @Test - public void testNumeralArabic() throws Exception { - performConversions(formatNumeralArabicAbjadi); - } - - /** - * Tests hebrew numerals. - * @throws Exception if the test fails - */ - @Test - public void testNumeralHebrew() throws Exception { - performConversions(formatNumeralHebrewGematria); - } - - /** - * Tests english word numerals. - * @throws Exception if the test fails - */ - @Test - public void testWordEnglish() throws Exception { - performConversions(formatWordEnglishLower); - performConversions(formatWordEnglishUpper); - performConversions(formatWordEnglishTitle); - } - - /** - * Tests spanish word numerals. - * @throws Exception if the test fails - */ - @Test - public void testWordSpanish() throws Exception { - performConversions(formatWordSpanishLower); - performConversions(formatWordSpanishUpper); - performConversions(formatWordSpanishTitle); - } - - /** - * Tests french word numerals. - * @throws Exception if the test fails - */ - @Test - public void testWordFrench() throws Exception { - performConversions(formatWordFrenchLower); - performConversions(formatWordFrenchUpper); - performConversions(formatWordFrenchTitle); - } - - /** - * Perform conversions according to test specification. - * @param ts test specification - */ - private void performConversions(String[][] ts) { - assert ts != null; - assert ts.length >= 2; - String[] args = ts[0]; - assert args != null; - assert args.length > 0; - String format = args[0]; - assert format.length() > 0; - char groupingSeparator; - if (args.length > 1) { - String s = args[1]; - if ((s != null) && (s.length() > 0)) { - groupingSeparator = s.charAt(0); - } else { - groupingSeparator = 0; - } - } else { - groupingSeparator = 0; - } - int groupingSize; - if (args.length > 2) { - String s = args[2]; - if ((s != null) && (s.length() > 0)) { - groupingSize = Integer.parseInt(s); - } else { - groupingSize = 0; - } - } else { - groupingSize = 0; - } - int letterValue; - if (args.length > 3) { - String s = args[3]; - if ((s != null) && (s.length() > 0)) { - s = s.toLowerCase(); - if (s.equals("alphabetic")) { - letterValue = NumberConverter.LETTER_VALUE_ALPHABETIC; - } else if (s.equals("traditional")) { - letterValue = NumberConverter.LETTER_VALUE_TRADITIONAL; - } else { - letterValue = 0; - } - } else { - letterValue = 0; - } - } else { - letterValue = 0; - } - String features; - if (args.length > 4) { - String s = args[4]; - if ((s != null) && (s.length() > 0)) { - features = s; - } else { - features = null; - } - } else { - features = null; - } - String language; - if (args.length > 5) { - String s = args[5]; - if ((s != null) && (s.length() > 0)) { - language = s; - } else { - language = null; - } - } else { - language = null; - } - String country; - if (args.length > 6) { - String s = args[6]; - if ((s != null) && (s.length() > 0)) { - country = s; - } else { - country = null; - } - } else { - country = null; - } - NumberConverter nc = new NumberConverter(format, groupingSeparator, groupingSize, letterValue, features, language, country); - for (int i = 1, nt = ts.length; i < nt; i++) { - String[] sa = ts[i]; - assert sa != null; - assert sa.length >= 2; - List<Long> numbers = new ArrayList<Long>(); - for (int k = 0, nn = sa.length - 1; k < nn; k++) { - String s = sa[k]; - numbers.add(Long.valueOf(s)); - } - String expected = sa [ sa.length - 1 ]; - String actual = nc.convert(numbers); - assertEquals(expected, actual); - } - } - -} diff --git a/test/java/org/apache/fop/complexscripts/util/UtilTestSuite.java b/test/java/org/apache/fop/complexscripts/util/UtilTestSuite.java deleted file mode 100644 index 4407254a8..000000000 --- a/test/java/org/apache/fop/complexscripts/util/UtilTestSuite.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Id$ */ - -package org.apache.fop.complexscripts.util; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -/** - * Test suite for bidirectional functionality. - */ -@RunWith(Suite.class) -@SuiteClasses(NumberConverterTestCase.class) -public class UtilTestSuite { -} |