aboutsummaryrefslogtreecommitdiffstats
path: root/test/java/org/apache/fop/complexscripts
diff options
context:
space:
mode:
authorGlenn Adams <gadams@apache.org>2016-03-03 09:49:26 +0000
committerGlenn Adams <gadams@apache.org>2016-03-03 09:49:26 +0000
commitc8cde713f54ca731f4a7f3bfaef8af9e8a1b9262 (patch)
treef553e13b28bd90fd2067bf390509f9290260d330 /test/java/org/apache/fop/complexscripts
parent82804d6ffcb68841cd7adf9740469f3a79c372c8 (diff)
downloadxmlgraphics-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')
-rw-r--r--test/java/org/apache/fop/complexscripts/ComplexScriptsTestSuite.java42
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java263
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java57
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.serbin87 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.serbin119 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.serbin359 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.serbin11343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.serbin5103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.serbin1263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.serbin16943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.serbin22043 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.serbin10463 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.serbin12883 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.serbin12143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.serbin9343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.serbin6143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.serbin275 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.serbin1903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.serbin13015 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.serbin2647 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.serbin1351 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.serbin58383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.serbin2359 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.serbin919 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.serbin631 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.serbin13023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.serbin95 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.serbin1351 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.serbin343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.serbin343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.serbin6543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.serbin28143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.serbin22743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.serbin23823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.serbin2223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.serbin29583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.serbin3511 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.serbin12123 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.serbin18423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.serbin14103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.serbin9243 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.serbin2103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.serbin151 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.serbin10143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.serbin1127 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.serbin823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.serbin13015 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.serbin3799 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.serbin58383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.serbin551 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.serbin3687 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.serbin1943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.serbin18783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.serbin5343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.serbin32223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.serbin25383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.serbin20583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.serbin4383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.serbin5983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.serbin31623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.serbin15123 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.serbin17963 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.serbin15863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.serbin7623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.serbin1863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.serbin155 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.serbin1335 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.serbin151 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.serbin5823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.serbin311 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.serbin3735 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.serbin935 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.serbin16623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.serbin343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.serbin1975 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.serbin5239 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.serbin1303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.serbin10143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.serbin2943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.serbin10503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.serbin9903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.serbin6903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.serbin1503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.serbin3183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.serbin10283 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.serbin6223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.serbin239 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.serbin6283 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.serbin5383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.serbin2583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.serbin21423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.serbin6423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.serbin4623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.serbin14943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.serbin1127 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.serbin8163 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.serbin9183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.serbin2263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.serbin1403 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.serbin7503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.serbin41343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.serbin11103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.serbin2343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.serbin119 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.serbin359 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.serbin10323 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.serbin20803 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.serbin16803 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.serbin15183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.serbin4583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.serbin903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.serbin6783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.serbin11703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.serbin5239 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.serbin25023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.serbin1983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.serbin11423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.serbin13183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.serbin9603 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.serbin10263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.serbin8543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.serbin823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.serbin443 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.serbin155 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.serbin4623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.serbin1263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.serbin20703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.serbin3303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.serbin1063 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.serbin9803 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.serbin1563 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.serbin4183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.serbin7863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.serbin359 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.serbin7363 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.serbin1623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.serbin2343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.serbin1983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.serbin563 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.serbin2043 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.serbin443 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.serbin215 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.serbin1803 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.serbin1243 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.serbin323 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.serbin17823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.serbin3963 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.serbin3383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.serbin1623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.serbin1083 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.serbin1783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.serbin5683 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.serbin27783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.serbin6623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.serbin1883 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.serbin1783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.serbin903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.serbin7143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.serbin8303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.serbin2551 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.serbin19743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.serbin1663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.serbin863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.serbin4743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.serbin5523 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.serbin1063 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.serbin23903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.serbin3683 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.serbin3123 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.serbin5223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.serbin4183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.serbin2643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.serbin15503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.serbin1343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.serbin703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.serbin2583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.serbin863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.serbin7183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.serbin1303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.serbin2551 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.serbin903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.serbin87543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.serbin19503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.serbin9783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.serbin51903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.serbin34083 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.serbin1879 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.serbin35703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.serbin3303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.serbin1683 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.serbin15183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.serbin6543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.serbin4383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.serbin10143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.serbin8343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.serbin8703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.serbin63 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.serbin439 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.serbin8703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.serbin2223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.serbin2223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.serbin5463 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.serbin3843 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.serbin4383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.serbin243 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.serbin36783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.serbin2679 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.serbin9603 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.serbin6903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.serbin243 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.serbin15003 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.serbin32103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.serbin5643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.serbin14103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.serbin3843 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.serbin33183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.serbin3495 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.serbin2943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.serbin1503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.serbin1863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.serbin603 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.serbin1943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.serbin13743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.serbin7903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.serbin1743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.serbin5303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.serbin623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.serbin343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.serbin5103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.serbin87543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.serbin2119 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.serbin28143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.serbin4063 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.serbin57343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.serbin37923 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.serbin30843 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.serbin6543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.serbin3303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.serbin24183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.serbin14223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.serbin2263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.serbin1559 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.serbin16743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.serbin13863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.serbin9943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.serbin2143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.serbin6143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.serbin1063 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.serbin1103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.serbin4023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.serbin727 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.serbin43423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.serbin13403 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.serbin3483 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.serbin3703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.serbin19003 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.serbin35223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.serbin2943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.serbin1503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.serbin215 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.serbin10323 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.serbin1863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.serbin31023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.serbin4923 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.serbin2223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.serbin3483 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.serbin2943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.serbin8703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.serbin25983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.serbin4863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.serbin1323 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.serbin3083 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.serbin223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.serbin1743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.serbin24903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.serbin6663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.serbin7831 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.serbin1503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.serbin16843 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.serbin8803 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.serbin8603 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.serbin1803 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.serbin1983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.serbin12783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.serbin9423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.serbin1263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.serbin9223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.serbin479 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.serbin1783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.serbin9763 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.serbin5583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.serbin1283 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.serbin3743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.serbin643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.serbin583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.serbin83 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.serbin1723 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.serbin14023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.serbin919 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.serbin3743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.serbin1203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.serbin1983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.serbin8263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.serbin13423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.serbin3483 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.serbin4663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.serbin10383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.serbin1683 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.serbin123 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.serbin1203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.serbin33423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.serbin7223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.serbin3079 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.serbin4103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.serbin6843 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.serbin5543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.serbin1963 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.serbin4503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.serbin1123 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.serbin4383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.serbin3223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.serbin223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.serbin123 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.serbin7223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.serbin343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.serbin3363 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.serbin723 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.serbin11943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.serbin66583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.serbin13783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.serbin823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.serbin223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.serbin2683 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.serbin12803 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.serbin10183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.serbin199 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.serbin223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.serbin1203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.serbin3503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.serbin603 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.serbin443 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.serbin38943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.serbin5663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.serbin723 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.serbin3343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.serbin343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.serbin203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.serbin1723 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.serbin14103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.serbin6163 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.serbin343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.serbin203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.serbin1399 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.serbin11583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.serbin16383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.serbin37903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.serbin2623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.serbin1343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.serbin1663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.serbin703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.serbin7831 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.serbin2343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.serbin695 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.serbin2551 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.serbin3123 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.serbin563 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.serbin1543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.serbin10383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.serbin951 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.serbin33983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.serbin4363 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.serbin1683 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.serbin443 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.serbin2863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.serbin2423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.serbin203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.serbin5207 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.serbin83 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.serbin543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.serbin203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.serbin523 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.serbin1043 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.serbin143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.serbin3431 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.serbin1203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.serbin3183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.serbin1703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.serbin2791 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.serbin1723 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.serbin145863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.serbin29223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.serbin14643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.serbin25983 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.serbin9783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.serbin6543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.serbin14643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.serbin3303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.serbin3303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.serbin631 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.serbin23103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.serbin1503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.serbin8703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.serbin6903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.serbin5643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.serbin5643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.serbin1503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.serbin2583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.serbin14463 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.serbin38943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.serbin1143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.serbin603 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.serbin2943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.serbin2943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.serbin1503 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.serbin3303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.serbin783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.serbin963 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.serbin21183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.serbin1423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.serbin823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.serbin823 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.serbin1343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.serbin843 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.serbin1043 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.serbin7743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.serbin863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.serbin743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.serbin2263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.serbin6143 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.serbin145863 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.serbin42323 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.serbin4883 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.serbin41063 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.serbin21023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.serbin5003 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.serbin1343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.serbin1399 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.serbin40263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.serbin9643 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.serbin2203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.serbin20403 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.serbin13163 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.serbin14463 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.serbin1343 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.serbin703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.serbin1023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.serbin695 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.serbin535 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.serbin423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.serbin603 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.serbin2623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.serbin383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.serbin2623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.serbin41463 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.serbin10583 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.serbin1735 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.serbin1403 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.serbin9723 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.serbin5203 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.serbin3263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.serbin303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.serbin703 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.serbin21263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.serbin5303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.serbin963 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.serbin1367 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.serbin13383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.serbin9623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.serbin967 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.serbin247 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.serbin13023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.serbin3319 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.serbin903 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.serbin663 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.serbin87 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.serbin263 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.serbin71 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.serbin18783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.serbin1383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.serbin5975 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.serbin1527 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.serbin359 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.serbin119 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.serbin31023 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.serbin1303 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.serbin1975 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.serbin431 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.serbin3383 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.serbin311 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.serbin183 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.serbin18783 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.serbin151 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.serbin967 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.serbin215 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.serbin2807 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.serbin487 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.serbin13743 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.serbin635 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.serbin247 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.serbin151 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.serbin359 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.serbin311 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.serbin2943 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.serbin15423 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.serbin21543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.serbin14223 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.serbin15543 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.serbin4191 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.serbin39 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.serbin199 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.serbin79 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.serbin135 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.serbin1623 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.serbin127 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.serbin71 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.serbin55 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.serbin95 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.serbin1495 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.serbin39 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.serbin407 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.serbin199 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.serbin39 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.serbin39 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.serbin39 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.serbin119 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.serbin103 -> 0 bytes
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java73
-rw-r--r--test/java/org/apache/fop/complexscripts/bidi/BidiTestSuite.java35
-rw-r--r--test/java/org/apache/fop/complexscripts/fonts/FontsTestSuite.java39
-rw-r--r--test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java3170
-rw-r--r--test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java469
-rw-r--r--test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java2262
-rw-r--r--test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java3438
-rw-r--r--test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java52
-rw-r--r--test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestCase.java387
-rw-r--r--test/java/org/apache/fop/complexscripts/layout/ComplexScriptsLayoutTestSuite.java32
-rw-r--r--test/java/org/apache/fop/complexscripts/scripts/ScriptsTestSuite.java38
-rw-r--r--test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicJoinersTestCase.java138
-rw-r--r--test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsConstants.java49
-rw-r--r--test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicWordFormsTestCase.java191
-rw-r--r--test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java182
-rw-r--r--test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java1562
-rw-r--r--test/java/org/apache/fop/complexscripts/util/UtilTestSuite.java32
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
deleted file mode 100644
index 6eccb4b6f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser
deleted file mode 100644
index 8a7a802d2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser
deleted file mode 100644
index 74a52f212..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser
deleted file mode 100644
index 4058da121..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser
deleted file mode 100644
index 321ed2682..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser
deleted file mode 100644
index f5e3973dd..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser
deleted file mode 100644
index 0235952c9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser
deleted file mode 100644
index 00d9ff6b4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser
deleted file mode 100644
index b924c8d19..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser
deleted file mode 100644
index 2cdabbf17..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser
deleted file mode 100644
index 24e41ceab..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser
deleted file mode 100644
index 8c9d014f2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser
deleted file mode 100644
index fc2fc255e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser
deleted file mode 100644
index 2a40fe758..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser
deleted file mode 100644
index 89ef3a341..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser
deleted file mode 100644
index 0691f5f96..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser
deleted file mode 100644
index c3bd6103e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser
deleted file mode 100644
index 54d27e213..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser
deleted file mode 100644
index 0ba52993a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser
deleted file mode 100644
index 0b95e6283..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser
deleted file mode 100644
index ca1111447..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser
deleted file mode 100644
index fbce0f949..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser
deleted file mode 100644
index c7bee5162..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser
deleted file mode 100644
index 83ad166ef..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser
deleted file mode 100644
index 81ff5dcbd..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser
deleted file mode 100644
index 2a84369ef..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser
deleted file mode 100644
index 3c3f08edf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser
deleted file mode 100644
index 81a342bc0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser
deleted file mode 100644
index f2fdba316..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser
deleted file mode 100644
index 5bebb054f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser
deleted file mode 100644
index 1292a8a01..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser
deleted file mode 100644
index f7c910fb0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser
deleted file mode 100644
index bb2d2353a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser
deleted file mode 100644
index 4ef886527..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser
deleted file mode 100644
index 7538307f8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser
deleted file mode 100644
index 5a81f8f76..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser
deleted file mode 100644
index dfa56bb42..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser
deleted file mode 100644
index 04c0e6b02..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser
deleted file mode 100644
index 5389ec53c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser
deleted file mode 100644
index 6ec49f1c7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser
deleted file mode 100644
index 381b6b741..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser
deleted file mode 100644
index e991a278f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser
deleted file mode 100644
index 84eb27fa3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser
deleted file mode 100644
index 3e3ceb4f0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser
deleted file mode 100644
index 52f01ebbf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser
deleted file mode 100644
index 54a66ac43..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser
deleted file mode 100644
index 5bad9fe23..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser
deleted file mode 100644
index 7e58aea97..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser
deleted file mode 100644
index 60811580c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser
deleted file mode 100644
index bfa39bf75..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser
deleted file mode 100644
index 5df598aa7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser
deleted file mode 100644
index f46f6a289..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser
deleted file mode 100644
index 825930ea8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser
deleted file mode 100644
index 3d2efe600..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser
deleted file mode 100644
index 5e3667df8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser
deleted file mode 100644
index 4a04343a5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser
deleted file mode 100644
index 85260e0f8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser
deleted file mode 100644
index c1cb2878d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser
deleted file mode 100644
index ab5dd0c00..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser
deleted file mode 100644
index df304a84b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser
deleted file mode 100644
index 887699163..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser
deleted file mode 100644
index fa70ead76..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser
deleted file mode 100644
index 73402d898..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser
deleted file mode 100644
index c611d952e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser
deleted file mode 100644
index a5a70cf81..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser
deleted file mode 100644
index 736576c15..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser
deleted file mode 100644
index 4667a5a4a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser
deleted file mode 100644
index 9a07236c3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser
deleted file mode 100644
index 6a8e667fb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser
deleted file mode 100644
index abfeac3ec..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser
deleted file mode 100644
index 1b225c825..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser
deleted file mode 100644
index 36aab1fd1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser
deleted file mode 100644
index 77a744263..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser
deleted file mode 100644
index 6f340e971..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser
deleted file mode 100644
index 92ab48e50..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser
deleted file mode 100644
index 412885433..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser
deleted file mode 100644
index 3b4b83607..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser
deleted file mode 100644
index 3e04f60f7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser
deleted file mode 100644
index 5e58d00f8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser
deleted file mode 100644
index 290d0e5b4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser
deleted file mode 100644
index fb1f6b7ae..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser
deleted file mode 100644
index 7ba80984d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser
deleted file mode 100644
index 594645bdc..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser
deleted file mode 100644
index 5d995d076..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser
deleted file mode 100644
index e57c46d8e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser
deleted file mode 100644
index ad4317529..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser
deleted file mode 100644
index 52cdcd567..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser
deleted file mode 100644
index e786ab17e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser
deleted file mode 100644
index 2f9e41f08..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser
deleted file mode 100644
index 94f739223..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser
deleted file mode 100644
index 53073211e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser
deleted file mode 100644
index 172498f80..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser
deleted file mode 100644
index c5a9b434d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser
deleted file mode 100644
index 1c98e34a4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser
deleted file mode 100644
index 4e8c8e30c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser
deleted file mode 100644
index 824fad23d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser
deleted file mode 100644
index 969e34a37..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser
deleted file mode 100644
index 0867d2e55..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser
deleted file mode 100644
index dd052d7a1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser
deleted file mode 100644
index d52c97d1d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser
deleted file mode 100644
index 2bdb9dab4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser
deleted file mode 100644
index 21128bf86..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser
deleted file mode 100644
index d153d3442..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser
deleted file mode 100644
index 5019d6fea..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser
deleted file mode 100644
index e726e2651..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser
deleted file mode 100644
index c37e1cdd0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser
deleted file mode 100644
index 1ba7b2877..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser
deleted file mode 100644
index 62215ed07..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser
deleted file mode 100644
index 709279994..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser
deleted file mode 100644
index 788ac372f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser
deleted file mode 100644
index 9d4a14249..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser
deleted file mode 100644
index 6cbb79535..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser
deleted file mode 100644
index 05cf07859..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser
deleted file mode 100644
index 9c10e367c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser
deleted file mode 100644
index 583084f0b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser
deleted file mode 100644
index d8ed032c6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser
deleted file mode 100644
index 21e97fff0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser
deleted file mode 100644
index 5e3e01293..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser
deleted file mode 100644
index eba9874c5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser
deleted file mode 100644
index 182c5fc35..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser
deleted file mode 100644
index 47ed04ba6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser
deleted file mode 100644
index b56f3ee7c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser
deleted file mode 100644
index 302b20c39..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser
deleted file mode 100644
index c97cbbe12..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser
deleted file mode 100644
index e7eb886be..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser
deleted file mode 100644
index 4da33f6c0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser
deleted file mode 100644
index 46f29b71a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser
deleted file mode 100644
index b84d2efaa..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser
deleted file mode 100644
index 2d0995a6f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser
deleted file mode 100644
index 66a505aae..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser
deleted file mode 100644
index cbd99924e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser
deleted file mode 100644
index 46b5315a0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser
deleted file mode 100644
index 4afc67dbc..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser
deleted file mode 100644
index 992177ded..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser
deleted file mode 100644
index e75b1d344..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser
deleted file mode 100644
index ca7478b6c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser
deleted file mode 100644
index 3f754847c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser
deleted file mode 100644
index 02efa8786..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser
deleted file mode 100644
index 1897b09f8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser
deleted file mode 100644
index cd24d1101..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser
deleted file mode 100644
index aba011dba..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser
deleted file mode 100644
index dad463960..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser
deleted file mode 100644
index 6430967e4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser
deleted file mode 100644
index 4f2bde014..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser
deleted file mode 100644
index 7be09ec92..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser
deleted file mode 100644
index 6ffa285db..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser
deleted file mode 100644
index d6c532596..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser
deleted file mode 100644
index 3519adb5e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser
deleted file mode 100644
index 7540663aa..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser
deleted file mode 100644
index 788e4c7e1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser
deleted file mode 100644
index c36265614..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser
deleted file mode 100644
index 772b72aef..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser
deleted file mode 100644
index e5fa50b85..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser
deleted file mode 100644
index 13fdb364c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser
deleted file mode 100644
index c600524d6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser
deleted file mode 100644
index 6043e0155..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser
deleted file mode 100644
index 14250a315..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser
deleted file mode 100644
index 209e8179e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser
deleted file mode 100644
index bdbc02f69..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser
deleted file mode 100644
index d3f40a8de..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser
deleted file mode 100644
index 03b94bc76..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser
deleted file mode 100644
index cb0321933..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser
deleted file mode 100644
index 3cdc87c9c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser
deleted file mode 100644
index 7c50f1284..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser
deleted file mode 100644
index b04164e4c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser
deleted file mode 100644
index bdce40f9c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser
deleted file mode 100644
index e50ed7988..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser
deleted file mode 100644
index 14ac62043..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser
deleted file mode 100644
index c1b31fcce..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser
deleted file mode 100644
index d96343972..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser
deleted file mode 100644
index 7b3168b23..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser
deleted file mode 100644
index 7f9b9056d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser
deleted file mode 100644
index d5849ec9d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser
deleted file mode 100644
index 00a2b4a0e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser
deleted file mode 100644
index 5cc330f12..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser
deleted file mode 100644
index 23e032ac9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser
deleted file mode 100644
index 7ba16c21a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser
deleted file mode 100644
index 334737ecd..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser
deleted file mode 100644
index 26defabff..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser
deleted file mode 100644
index 09dc4ca08..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser
deleted file mode 100644
index 03cb82426..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser
deleted file mode 100644
index 6d00960cf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser
deleted file mode 100644
index 920e4c5b1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser
deleted file mode 100644
index dbbee5d7f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser
deleted file mode 100644
index 716661a75..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser
deleted file mode 100644
index b418d9b9f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser
deleted file mode 100644
index bc16ddcff..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser
deleted file mode 100644
index a105347f0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser
deleted file mode 100644
index f75552dc3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser
deleted file mode 100644
index a3f6eab8f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser
deleted file mode 100644
index 604170dcc..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser
deleted file mode 100644
index 755d6cd60..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser
deleted file mode 100644
index 9b29a7d1e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser
deleted file mode 100644
index 5685e40b8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser
deleted file mode 100644
index 49a7c0739..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser
deleted file mode 100644
index 1697a421b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser
deleted file mode 100644
index ea0d9adf1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser
deleted file mode 100644
index 067dca228..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser
deleted file mode 100644
index 9f9078678..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser
deleted file mode 100644
index 9cd498c3c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser
deleted file mode 100644
index c5c4c6ab0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser
deleted file mode 100644
index 890ce30bb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser
deleted file mode 100644
index fac475452..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser
deleted file mode 100644
index 4711e4586..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser
deleted file mode 100644
index 1fcea5dbf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser
deleted file mode 100644
index bf2a0bcc5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser
deleted file mode 100644
index 29a3c23d4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser
deleted file mode 100644
index fea28c7d2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser
deleted file mode 100644
index 48663053e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser
deleted file mode 100644
index 43f440cf7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser
deleted file mode 100644
index 385ac7184..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser
deleted file mode 100644
index 8a032f261..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser
deleted file mode 100644
index fdc27290b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser
deleted file mode 100644
index 264c28e08..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser
deleted file mode 100644
index daf236abf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser
deleted file mode 100644
index 8f972bf5a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser
deleted file mode 100644
index 647424ee0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser
deleted file mode 100644
index 9e8b99773..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser
deleted file mode 100644
index 486bcf475..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser
deleted file mode 100644
index 856d72fd1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser
deleted file mode 100644
index ce0b5bf4c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser
deleted file mode 100644
index cad0d5049..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser
deleted file mode 100644
index b14aa4597..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser
deleted file mode 100644
index 6657a3593..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser
deleted file mode 100644
index b30faf809..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser
deleted file mode 100644
index 4baca2704..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser
deleted file mode 100644
index 630a13467..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser
deleted file mode 100644
index 0f8e3d7d8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser
deleted file mode 100644
index 42a05ced7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser
deleted file mode 100644
index 13ba94a7e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser
deleted file mode 100644
index e5a3a925e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser
deleted file mode 100644
index 1ada57413..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser
deleted file mode 100644
index a14a0bebf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser
deleted file mode 100644
index c66ae933f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser
deleted file mode 100644
index fd1e62ca8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser
deleted file mode 100644
index 4914c3b65..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser
deleted file mode 100644
index e8aad8cad..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser
deleted file mode 100644
index 0d8f4cf1e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser
deleted file mode 100644
index 54d856156..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser
deleted file mode 100644
index 5bd0e8286..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser
deleted file mode 100644
index 37a4d8c68..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser
deleted file mode 100644
index a16a7b8f9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser
deleted file mode 100644
index 6e5747ed9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser
deleted file mode 100644
index 3ee6650ed..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser
deleted file mode 100644
index 8c6f200a2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser
deleted file mode 100644
index 4774611b5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser
deleted file mode 100644
index 09332a05e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser
deleted file mode 100644
index 88327e077..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser
deleted file mode 100644
index 600eb2ac3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser
deleted file mode 100644
index eed01d875..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser
deleted file mode 100644
index cc2db9896..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser
deleted file mode 100644
index d0ae70999..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser
deleted file mode 100644
index eb2a30d19..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser
deleted file mode 100644
index 5825c9571..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser
deleted file mode 100644
index c1b927a19..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser
deleted file mode 100644
index 5d7eb7f7e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser
deleted file mode 100644
index a78094615..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser
deleted file mode 100644
index efb28b562..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser
deleted file mode 100644
index 686c66e20..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser
deleted file mode 100644
index b210f7896..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser
deleted file mode 100644
index da93f81fc..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser
deleted file mode 100644
index 8a0f567f1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser
deleted file mode 100644
index 622bdd1e1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser
deleted file mode 100644
index 4baa13941..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser
deleted file mode 100644
index 1d40b0818..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser
deleted file mode 100644
index ef0b76e42..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser
deleted file mode 100644
index bd0a0456f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser
deleted file mode 100644
index 73ee20cbe..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser
deleted file mode 100644
index 9e33d39e9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser
deleted file mode 100644
index 6afa6bf7c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser
deleted file mode 100644
index 84782b980..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser
deleted file mode 100644
index fdde6d7a5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser
deleted file mode 100644
index 2654a884a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser
deleted file mode 100644
index b24a2a444..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser
deleted file mode 100644
index 613d80bee..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser
deleted file mode 100644
index df1df5fbf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser
deleted file mode 100644
index 3f68bd344..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser
deleted file mode 100644
index 361734a3c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser
deleted file mode 100644
index 009e2419c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser
deleted file mode 100644
index 7c142c3e3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser
deleted file mode 100644
index 6e14a51a4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser
deleted file mode 100644
index ed8f2450d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser
deleted file mode 100644
index 80489aa41..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser
deleted file mode 100644
index ede61bef1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser
deleted file mode 100644
index e837ec5a6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser
deleted file mode 100644
index 0dbeb4a18..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser
deleted file mode 100644
index fdbc6a8f2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser
deleted file mode 100644
index 47665da0c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser
deleted file mode 100644
index aae718782..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser
deleted file mode 100644
index 5bc6e4083..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser
deleted file mode 100644
index 07d3b8d15..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser
deleted file mode 100644
index 81af1c964..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser
deleted file mode 100644
index 4abfa7c14..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser
deleted file mode 100644
index aec3af860..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser
deleted file mode 100644
index ac1eecb96..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser
deleted file mode 100644
index 1f1367be6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser
deleted file mode 100644
index 3cf337cda..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser
deleted file mode 100644
index 19f7fd9e9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser
deleted file mode 100644
index 8c92df043..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser
deleted file mode 100644
index dad7f014b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser
deleted file mode 100644
index b0022c672..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser
deleted file mode 100644
index bfbb586fb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser
deleted file mode 100644
index b435feea0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser
deleted file mode 100644
index dafe64d04..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser
deleted file mode 100644
index 973fcdc92..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser
deleted file mode 100644
index a49d73cfe..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser
deleted file mode 100644
index 892a50d1b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser
deleted file mode 100644
index 0fa29c84b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser
deleted file mode 100644
index a29b52179..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser
deleted file mode 100644
index e7c2a5a36..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser
deleted file mode 100644
index 0ec361014..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser
deleted file mode 100644
index bca795879..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser
deleted file mode 100644
index 49ca3d106..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser
deleted file mode 100644
index 0a340e65e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser
deleted file mode 100644
index 2e73aff87..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser
deleted file mode 100644
index d3a437077..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser
deleted file mode 100644
index 963e0a877..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser
deleted file mode 100644
index 092300f46..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser
deleted file mode 100644
index 0c4c00312..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser
deleted file mode 100644
index 9abf70ed9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser
deleted file mode 100644
index 7e518db09..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser
deleted file mode 100644
index 797d08f9c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser
deleted file mode 100644
index 672e36e4a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser
deleted file mode 100644
index de9d5aadb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser
deleted file mode 100644
index 44c076196..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser
deleted file mode 100644
index 2706725f7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser
deleted file mode 100644
index 1cc61a4ed..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser
deleted file mode 100644
index 33305fe62..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser
deleted file mode 100644
index 278fb38d7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser
deleted file mode 100644
index 3d2ff817c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser
deleted file mode 100644
index 45833bacc..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser
deleted file mode 100644
index 54e88ffc0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser
deleted file mode 100644
index 751b118a7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser
deleted file mode 100644
index 4acd804ca..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser
deleted file mode 100644
index c65761df1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser
deleted file mode 100644
index d6759145b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser
deleted file mode 100644
index 4c9b21368..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser
deleted file mode 100644
index e3e6c6ec2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser
deleted file mode 100644
index 92e5a6187..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser
deleted file mode 100644
index 873595ead..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser
deleted file mode 100644
index 1709012da..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser
deleted file mode 100644
index 5ad6315e3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser
deleted file mode 100644
index aa04c95e2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser
deleted file mode 100644
index 12edd65ab..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser
deleted file mode 100644
index 40290ec4c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser
deleted file mode 100644
index b59671610..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser
deleted file mode 100644
index 5d664e82c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser
deleted file mode 100644
index 9c5866504..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser
deleted file mode 100644
index 01fe69955..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser
deleted file mode 100644
index b71d6c546..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser
deleted file mode 100644
index 5ad3f0613..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser
deleted file mode 100644
index b89491a41..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser
deleted file mode 100644
index 289f9b48d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser
deleted file mode 100644
index 24d1e1cbe..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser
deleted file mode 100644
index 927349572..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser
deleted file mode 100644
index 8208a5005..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser
deleted file mode 100644
index 346fb131d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser
deleted file mode 100644
index 28c0e15e1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser
deleted file mode 100644
index 53d6b158d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser
deleted file mode 100644
index c324000e4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser
deleted file mode 100644
index d99423cbb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser
deleted file mode 100644
index d78b800db..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser
deleted file mode 100644
index eabb33cc3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser
deleted file mode 100644
index 571728da3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser
deleted file mode 100644
index 25d9cb0aa..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser
deleted file mode 100644
index d493f3859..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser
deleted file mode 100644
index 06b90d501..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser
deleted file mode 100644
index 5b97f90ca..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser
deleted file mode 100644
index 22b1b8d9b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser
deleted file mode 100644
index db3749949..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser
deleted file mode 100644
index 272364c6f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser
deleted file mode 100644
index 078a31f84..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser
deleted file mode 100644
index b4aaf015b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser
deleted file mode 100644
index 52c01f7e9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser
deleted file mode 100644
index 626e52df0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser
deleted file mode 100644
index 2de03dae5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser
deleted file mode 100644
index 041c1a4cf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser
deleted file mode 100644
index c8da3b083..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser
deleted file mode 100644
index 74f71d784..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser
deleted file mode 100644
index d1321181b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser
deleted file mode 100644
index bcf11b73c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser
deleted file mode 100644
index a9ba2dea1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser
deleted file mode 100644
index fe728d89c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser
deleted file mode 100644
index 23d7eb22b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser
deleted file mode 100644
index 58f06cbce..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser
deleted file mode 100644
index bd56f8524..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser
deleted file mode 100644
index 54d14da06..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser
deleted file mode 100644
index ee6f83422..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser
deleted file mode 100644
index f94d24f69..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser
deleted file mode 100644
index feef36694..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser
deleted file mode 100644
index 93720aeac..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser
deleted file mode 100644
index d1a58aaa5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser
deleted file mode 100644
index 11f0d14b3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser
deleted file mode 100644
index 2aef6789e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser
deleted file mode 100644
index e60e00a75..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser
deleted file mode 100644
index e7ed6f17e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser
deleted file mode 100644
index 49062bd27..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser
deleted file mode 100644
index 5b4049240..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser
deleted file mode 100644
index c051bb336..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser
deleted file mode 100644
index bb781c485..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser
deleted file mode 100644
index 289e7e587..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser
deleted file mode 100644
index c4b5db34b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser
deleted file mode 100644
index bacc29cf6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser
deleted file mode 100644
index d791c7d59..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser
deleted file mode 100644
index eac181fa5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser
deleted file mode 100644
index 4d4c36621..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser
deleted file mode 100644
index ab10d3c9d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser
deleted file mode 100644
index ada0cfb53..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser
deleted file mode 100644
index b2f924cb4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser
deleted file mode 100644
index 4965ccab3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser
deleted file mode 100644
index f04ae6182..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser
deleted file mode 100644
index 27fc5e31f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser
deleted file mode 100644
index dd2f2f73d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser
deleted file mode 100644
index 868c0718f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser
deleted file mode 100644
index 95ba064e9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser
deleted file mode 100644
index ec1bcb735..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser
deleted file mode 100644
index d4bfab753..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser
deleted file mode 100644
index bf4de5393..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser
deleted file mode 100644
index b01e493df..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser
deleted file mode 100644
index 247977216..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser
deleted file mode 100644
index 0a4655675..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser
deleted file mode 100644
index 7847c8b34..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser
deleted file mode 100644
index 6ac093714..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser
deleted file mode 100644
index 1fb8a568a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser
deleted file mode 100644
index 4f5ce8e37..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser
deleted file mode 100644
index b9cf2310e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser
deleted file mode 100644
index d8cc78a39..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser
deleted file mode 100644
index 44438e065..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser
deleted file mode 100644
index a6227255a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser
deleted file mode 100644
index 415f6c049..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser
deleted file mode 100644
index 8ea2f93ad..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser
deleted file mode 100644
index ca7f77129..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser
deleted file mode 100644
index 5aaf07824..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser
deleted file mode 100644
index 655516191..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser
deleted file mode 100644
index 3cc2d4a75..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser
deleted file mode 100644
index 94f1d83fd..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser
deleted file mode 100644
index 14b49f0a4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser
deleted file mode 100644
index adb3d3737..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser
deleted file mode 100644
index b2c4902eb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser
deleted file mode 100644
index 8b28deac8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser
deleted file mode 100644
index 5d238271b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser
deleted file mode 100644
index ab8f4d6d1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser
deleted file mode 100644
index 901e4173d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser
deleted file mode 100644
index d6fd495bb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser
deleted file mode 100644
index 52400b507..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser
deleted file mode 100644
index 4d03b7211..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser
deleted file mode 100644
index 975618522..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser
deleted file mode 100644
index 33e7b0c7d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser
deleted file mode 100644
index 8e101db57..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser
deleted file mode 100644
index f8246c2d2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser
deleted file mode 100644
index c8707cd48..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser
deleted file mode 100644
index 41e6c694a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser
deleted file mode 100644
index 595e24ff2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser
deleted file mode 100644
index 731b47fd2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser
deleted file mode 100644
index 8bf1d99fa..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser
deleted file mode 100644
index bc63d7e97..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser
deleted file mode 100644
index d7415c13a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser
deleted file mode 100644
index e8d28148e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser
deleted file mode 100644
index b94811af6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser
deleted file mode 100644
index 91a3bd4ea..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser
deleted file mode 100644
index 2e31b49d8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser
deleted file mode 100644
index 2cef55911..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser
deleted file mode 100644
index 84c1bdeb8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser
deleted file mode 100644
index 431fe2dd8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser
deleted file mode 100644
index 37c17f168..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser
deleted file mode 100644
index 087847d57..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser
deleted file mode 100644
index 8bd76318d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser
deleted file mode 100644
index 318fc84a7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser
deleted file mode 100644
index 5e853ec29..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser
deleted file mode 100644
index e72f8d30e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser
deleted file mode 100644
index cbd161b83..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser
deleted file mode 100644
index a2c4ccff7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser
deleted file mode 100644
index cbd7fa3b8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser
deleted file mode 100644
index b876b1b27..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser
deleted file mode 100644
index 64e50de82..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser
deleted file mode 100644
index e5f094eeb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser
deleted file mode 100644
index 537459e7f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser
deleted file mode 100644
index 577b66158..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser
deleted file mode 100644
index 4679568f4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser
deleted file mode 100644
index 389261a05..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser
deleted file mode 100644
index 635151fa9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser
deleted file mode 100644
index 69e85f02b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser
deleted file mode 100644
index c28ba450a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser
deleted file mode 100644
index fe26705e5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser
deleted file mode 100644
index 19595d9e3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser
deleted file mode 100644
index 95e9836b4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser
deleted file mode 100644
index d179f7c8c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser
deleted file mode 100644
index 1b91641ad..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser
deleted file mode 100644
index fc83f4562..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser
deleted file mode 100644
index ea2af6364..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser
deleted file mode 100644
index 0f76396bb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser
deleted file mode 100644
index 143d5894a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser
deleted file mode 100644
index 671cf26d1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser
deleted file mode 100644
index 1a7fda27b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser
deleted file mode 100644
index 5aee466d8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser
deleted file mode 100644
index 37f124113..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser
deleted file mode 100644
index 8bc00e144..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser
deleted file mode 100644
index 9d9b9c119..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser
deleted file mode 100644
index 88411a216..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser
deleted file mode 100644
index f8324788b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser
deleted file mode 100644
index 2d3118a56..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser
deleted file mode 100644
index 51a8b7095..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser
deleted file mode 100644
index e939d4754..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser
deleted file mode 100644
index 61e5e3f3c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser
deleted file mode 100644
index 496e6912a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser
deleted file mode 100644
index 0fc2f1a23..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser
deleted file mode 100644
index dc5183342..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser
deleted file mode 100644
index de477db15..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser
deleted file mode 100644
index 6a4e51c29..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser
deleted file mode 100644
index fccb593ae..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser
deleted file mode 100644
index 828b3a72e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser
deleted file mode 100644
index 3b14d4a8f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser
deleted file mode 100644
index 373392279..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser
deleted file mode 100644
index a91b8512a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser
deleted file mode 100644
index 639a7be49..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser
deleted file mode 100644
index 68dd4089b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser
deleted file mode 100644
index 2908e3f63..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser
deleted file mode 100644
index 391e3e14a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser
deleted file mode 100644
index 5bd9c1e71..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser
deleted file mode 100644
index d4ecb3a88..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser
deleted file mode 100644
index d68ca24ac..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser
deleted file mode 100644
index 73cd97bf6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser
deleted file mode 100644
index a6d766289..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser
deleted file mode 100644
index d0af60722..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser
deleted file mode 100644
index 231290df6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser
deleted file mode 100644
index 21e85e747..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser
deleted file mode 100644
index e99365766..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser
deleted file mode 100644
index 4f844be2e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser
deleted file mode 100644
index ccb6d70f1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser
deleted file mode 100644
index aa3909601..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser
deleted file mode 100644
index 5d1bb4981..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser
deleted file mode 100644
index 64823ec47..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser
deleted file mode 100644
index 09d6843e8..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser
deleted file mode 100644
index 59f2572ad..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser
deleted file mode 100644
index cb600cfca..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser
deleted file mode 100644
index b1faa848b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser
deleted file mode 100644
index 1e057fdf4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser
deleted file mode 100644
index cdd3cbec1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser
deleted file mode 100644
index 84eed41fe..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser
deleted file mode 100644
index 7b91077fc..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser
deleted file mode 100644
index 259194e4e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser
deleted file mode 100644
index 0616c3c12..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser
deleted file mode 100644
index 22430bd97..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser
deleted file mode 100644
index b583a1a1b..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser
deleted file mode 100644
index 841747bdf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser
deleted file mode 100644
index 23521f3cd..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser
deleted file mode 100644
index 168552d3c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser
deleted file mode 100644
index c0da95a76..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser
deleted file mode 100644
index 276e0ffed..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser
deleted file mode 100644
index 363f4f695..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser
deleted file mode 100644
index a0f6639ba..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser
deleted file mode 100644
index cdc9eb94a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser
deleted file mode 100644
index c6223a7ce..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser
deleted file mode 100644
index 74f023e83..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser
deleted file mode 100644
index 9755e4a3c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser
deleted file mode 100644
index 986a332f3..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser
deleted file mode 100644
index edc35abdc..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser
deleted file mode 100644
index 6ed639c5e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser
deleted file mode 100644
index d2c52eba1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser
deleted file mode 100644
index f34830970..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser
deleted file mode 100644
index 7cea4a6c6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser
deleted file mode 100644
index e2c08df91..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser
deleted file mode 100644
index 7a37cd019..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser
deleted file mode 100644
index 85f679da2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser
deleted file mode 100644
index 8f1d6966d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser
deleted file mode 100644
index f82e37287..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser
deleted file mode 100644
index f22902dd5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser
deleted file mode 100644
index bb7f98e41..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser
deleted file mode 100644
index d25cb04c7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser
deleted file mode 100644
index 8ddaeb744..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser
deleted file mode 100644
index b11de6c32..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser
deleted file mode 100644
index 2b1ea8898..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser
deleted file mode 100644
index 1d2ea017c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser
deleted file mode 100644
index ae74ca063..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser
deleted file mode 100644
index fed68df6e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser
deleted file mode 100644
index 94b09c1e1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser
deleted file mode 100644
index 0af062be1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser
deleted file mode 100644
index bd93b288c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser
deleted file mode 100644
index ea7a544bf..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser
deleted file mode 100644
index c3510ec9e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser
deleted file mode 100644
index c02164344..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser
deleted file mode 100644
index 16cf973f2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser
deleted file mode 100644
index f827db274..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser
deleted file mode 100644
index c079752d6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser
deleted file mode 100644
index 18d091c4a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser
deleted file mode 100644
index 2628ac645..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser
deleted file mode 100644
index e0a656874..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser
deleted file mode 100644
index cd908264a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser
deleted file mode 100644
index da9a56794..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser
deleted file mode 100644
index 1eec94eeb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser
deleted file mode 100644
index 1458485b6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser
deleted file mode 100644
index 0bb894af9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser
deleted file mode 100644
index 596af011c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser
deleted file mode 100644
index adac3305c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser
deleted file mode 100644
index 1440bb78a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser
deleted file mode 100644
index 2a1091e9c..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser
deleted file mode 100644
index a519dc078..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser
deleted file mode 100644
index 533579a8f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser
deleted file mode 100644
index cd8bea1c7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser
deleted file mode 100644
index 16635b605..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser
deleted file mode 100644
index 05616a937..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser
deleted file mode 100644
index 44ce6375e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser
deleted file mode 100644
index cfd698d7d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser
deleted file mode 100644
index 415f1bf8e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser
deleted file mode 100644
index 2fc94de93..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser
deleted file mode 100644
index a7e226ec1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser
deleted file mode 100644
index 573c8ce87..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser
deleted file mode 100644
index e8df233a5..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser
deleted file mode 100644
index abcad78d0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser
deleted file mode 100644
index e702881e7..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser
deleted file mode 100644
index 1b76a8499..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser
deleted file mode 100644
index 13edb5406..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser
deleted file mode 100644
index da2ee39ec..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser
deleted file mode 100644
index 7f9f0a3fd..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser
deleted file mode 100644
index 6cbe89840..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser
deleted file mode 100644
index 423f92310..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser
deleted file mode 100644
index 331ba261f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser
deleted file mode 100644
index 0c4e54135..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser
deleted file mode 100644
index 20afc295a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser
deleted file mode 100644
index e801916f4..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser
deleted file mode 100644
index 7fc398de9..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser
deleted file mode 100644
index 5c7a0de21..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser
deleted file mode 100644
index f7b1fbed1..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser
deleted file mode 100644
index dc3634dec..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser
deleted file mode 100644
index a3108b43e..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser
deleted file mode 100644
index f561c2d2f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser
deleted file mode 100644
index 1dc99e434..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser
deleted file mode 100644
index e1b97d053..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser
deleted file mode 100644
index 5600cbfa2..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser
deleted file mode 100644
index fe4068c42..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser
deleted file mode 100644
index 59ad5e462..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser
deleted file mode 100644
index b11600cd0..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser
deleted file mode 100644
index 5abc2b1b6..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser
deleted file mode 100644
index 37814223f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser
deleted file mode 100644
index 58bb75a7f..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser
deleted file mode 100644
index f905fc364..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser
deleted file mode 100644
index 0c1e74beb..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser
deleted file mode 100644
index 1032043be..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser
deleted file mode 100644
index d0e34603a..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser
deleted file mode 100644
index 4d47ada2d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser
+++ /dev/null
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser
deleted file mode 100644
index eb522634d..000000000
--- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser
+++ /dev/null
Binary files differ
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 {
-}