diff --git a/test/shaping/data/text-rendering-tests/Makefile.am b/test/shaping/data/text-rendering-tests/Makefile.am index 56247b7b6..788db1f6b 100644 --- a/test/shaping/data/text-rendering-tests/Makefile.am +++ b/test/shaping/data/text-rendering-tests/Makefile.am @@ -6,61 +6,21 @@ NULL = lib: @$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src lib +update: + (cd $(srcdir) && ./update.sh) + EXTRA_DIST = \ README \ COPYING \ + update.sh \ extract-tests.py \ fonts \ - $(TESTS) \ + tests \ $(NULL) TEST_EXTENSIONS = .tests TESTS_LOG_COMPILER = $(srcdir)/../../run-tests.py $(top_builddir)/util/hb-shape$(EXEEXT) -TESTS = \ - tests/AVAR-1.tests \ - tests/CFF-1.tests \ - tests/CFF2-1.tests \ - tests/CFF-2.tests \ - tests/CMAP-1.tests \ - tests/CMAP-2.tests \ - tests/CVAR-1.tests \ - tests/CVAR-2.tests \ - tests/GLYF-1.tests \ - tests/GPOS-1.tests \ - tests/GPOS-2.tests \ - tests/GPOS-3.tests \ - tests/GPOS-4.tests \ - tests/GPOS-5.tests \ - tests/GSUB-1.tests \ - tests/GSUB-2.tests \ - tests/GVAR-1.tests \ - tests/GVAR-2.tests \ - tests/GVAR-3.tests \ - tests/GVAR-4.tests \ - tests/GVAR-5.tests \ - tests/GVAR-6.tests \ - tests/GVAR-7.tests \ - tests/GVAR-8.tests \ - tests/GVAR-9.tests \ - tests/HVAR-1.tests \ - tests/HVAR-2.tests \ - tests/KERN-1.tests \ - tests/KERN-2.tests \ - tests/SHBALI-3.tests \ - tests/SHKNDA-1.tests \ - $(NULL) -DISABLED_TESTS = \ - tests/CMAP-3.tests # Non-Unicode cmap \ - tests/MORX-1.tests # Not implemented \ - tests/MORX-2.tests # Not implemented \ - tests/MORX-3.tests # Not implemented \ - tests/MORX-4.tests # Not implemented \ - tests/SHARAN-1.tests # Rounding difference \ - tests/SHBALI-1.tests # Rounding difference \ - tests/SHBALI-2.tests # Rounding difference \ - tests/SHKNDA-2.tests # Rounding difference \ - tests/SHKNDA-3.tests # Rounding difference \ - $(NULL) +include Makefile.sources -include $(top_srcdir)/git.mk diff --git a/test/shaping/data/text-rendering-tests/Makefile.sources b/test/shaping/data/text-rendering-tests/Makefile.sources new file mode 100644 index 000000000..913d41952 --- /dev/null +++ b/test/shaping/data/text-rendering-tests/Makefile.sources @@ -0,0 +1,51 @@ +TESTS = \ + tests/AVAR-1.tests \ + tests/CFF-1.tests \ + tests/CFF2-1.tests \ + tests/CFF-2.tests \ + tests/CMAP-1.tests \ + tests/CMAP-2.tests \ + tests/CVAR-1.tests \ + tests/CVAR-2.tests \ + tests/GLYF-1.tests \ + tests/GPOS-1.tests \ + tests/GPOS-2.tests \ + tests/GPOS-3.tests \ + tests/GPOS-4.tests \ + tests/GPOS-5.tests \ + tests/GSUB-1.tests \ + tests/GSUB-2.tests \ + tests/GVAR-1.tests \ + tests/GVAR-2.tests \ + tests/GVAR-3.tests \ + tests/GVAR-4.tests \ + tests/GVAR-5.tests \ + tests/GVAR-6.tests \ + tests/GVAR-7.tests \ + tests/GVAR-8.tests \ + tests/GVAR-9.tests \ + tests/HVAR-1.tests \ + tests/HVAR-2.tests \ + tests/KERN-1.tests \ + tests/KERN-2.tests \ + tests/MORX-5.tests \ + tests/MORX-6.tests \ + tests/MORX-7.tests \ + tests/MORX-8.tests \ + tests/MORX-9.tests \ + tests/SHBALI-3.tests \ + tests/SHKNDA-1.tests \ + $(NULL) + +DISBALED_TESTS = \ + tests/CMAP-3.tests \ + tests/MORX-1.tests \ + tests/MORX-2.tests \ + tests/MORX-3.tests \ + tests/MORX-4.tests \ + tests/SHARAN-1.tests \ + tests/SHBALI-1.tests \ + tests/SHBALI-2.tests \ + tests/SHKNDA-2.tests \ + tests/SHKNDA-3.tests \ + $(NULL) diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXEight.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXEight.ttf new file mode 100644 index 000000000..9255e996e Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXEight.ttf differ diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXNine.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXNine.ttf new file mode 100644 index 000000000..4371df458 Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXNine.ttf differ diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-5.tests b/test/shaping/data/text-rendering-tests/tests/MORX-5.tests new file mode 100644 index 000000000..ca8d08645 --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-5.tests @@ -0,0 +1,25 @@ +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0033:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|three@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0034:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|four@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0035:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|five@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0036:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|six@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0037:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|seven@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0038:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|eight@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+0038:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|eight@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0039:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|nine@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+0039:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|nine@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+2793:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|one_zero@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+2793:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|one_zero@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+24EB:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|one_one@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+24EB:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|one_one@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+24EC:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|one_two@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+24EC:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|one_two@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0043,U+0058,U+0059,U+005A,U+24EC:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|C@2710,0|X@3540,0|Y@3904,0|Z@4236,0|one_two@4558,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+24ED:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|one_three@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+24ED:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|one_three@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0043,U+0058,U+0059,U+005A,U+24ED:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|C@2710,0|X@3540,0|Y@3904,0|Z@4236,0|one_three@4558,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+24EE:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|one_four@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+24EE:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|one_four@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0043,U+0058,U+0059,U+005A,U+24EE:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|C@2710,0|X@3540,0|Y@3904,0|Z@4236,0|one_four@4558,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+24EF:[P|Q@333,0|R@699,0|A@1050,0|X@1880,0|Y@2244,0|Z@2576,0|one_five@2898,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0058,U+0059,U+005A,U+24EF:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|X@2710,0|Y@3074,0|Z@3406,0|one_five@3728,0] +../fonts/TestMORXFour.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+0041,U+0042,U+0043,U+0058,U+0059,U+005A,U+24EF:[P|Q@333,0|R@699,0|A@1050,0|B@1880,0|C@2710,0|X@3540,0|Y@3904,0|Z@4236,0|one_five@4558,0] diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-6.tests b/test/shaping/data/text-rendering-tests/tests/MORX-6.tests new file mode 100644 index 000000000..ff9c061a8 --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-6.tests @@ -0,0 +1 @@ +../fonts/TestMORXTwo.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+004F,U+004F,U+004F,U+0041,U+0042,U+0043,U+0044,U+0045,U+0046,U+0047,U+004F,U+004F,U+004F,U+0033,U+0031,U+0034,U+0031:[O|O@418,0|O@836,0|E@1254,0|F@2084,0|A@2914,0|G@3744,0|B@4574,0|C@5404,0|D@6234,0|O@7064,0|O@7482,0|O@7900,0|three@8318,0|one@9168,0|four@10018,0|one@10868,0] diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-7.tests b/test/shaping/data/text-rendering-tests/tests/MORX-7.tests new file mode 100644 index 000000000..f2508486c --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-7.tests @@ -0,0 +1 @@ +../fonts/TestMORXTwo.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+004F,U+0042,U+0043,U+0044,U+0031:[B|C@830,0|D@1660,0|O@2490,0|one@2908,0] diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-8.tests b/test/shaping/data/text-rendering-tests/tests/MORX-8.tests new file mode 100644 index 000000000..aa0d28b51 --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-8.tests @@ -0,0 +1,3 @@ +../fonts/TestMORXEight.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0030,U+0041,U+0042,U+0043:[zero|A@914,0|B@1552,0|C@2202,0] +../fonts/TestMORXEight.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0031,U+0041,U+0042,U+0043:[one|B@914,0|C@1564,0|A@2196,0] +../fonts/TestMORXEight.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0032,U+0041,U+0042,U+0043:[two|C@914,0|A@1546,0|B@2184,0] diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-9.tests b/test/shaping/data/text-rendering-tests/tests/MORX-9.tests new file mode 100644 index 000000000..a89990874 --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-9.tests @@ -0,0 +1 @@ +../fonts/TestMORXNine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042,U+0058,U+0041,U+0042:[B|A@650,0|X@1288,0|A@1874,0|B@2512,0] diff --git a/test/shaping/data/text-rendering-tests/update.sh b/test/shaping/data/text-rendering-tests/update.sh new file mode 100755 index 000000000..31960a14b --- /dev/null +++ b/test/shaping/data/text-rendering-tests/update.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +dir=`dirname "$0"` + +set -ex +if test -d text-rendering-tests; then + cd text-rendering-tests + git pull + cd .. +else + git clone https://github.com/unicode-org/text-rendering-tests +fi + +test -d fonts && git rm -rf fonts +test -d fonts && (echo "fonts/ dir not empty; investigate."; false) +cp -a text-rendering-tests/fonts . +git add fonts + +rmdir tests || true +test -d tests && git rm -rf tests || true +test -d tests && (echo "tests/ dir not empty; investigate."; false) +mkdir tests + +echo "NULL =" > Makefile.sources +echo > Makefile.sources +echo "TESTS = \\" > Makefile.sources + +DISABLED="DISBALED_TESTS = \\" +for x in text-rendering-tests/testcases/*.html; do + test "x$x" = xtext-rendering-tests/testcases/index.html && continue + out=tests/`basename "$x" .html`.tests + "$dir"/extract-tests.py < "$x" > "$out" + if grep -q "^$out$" DISABLED; then + DISABLED="$DISABLED + $out \\" + else + echo " $out \\" >> Makefile.sources + fi +done +git add tests + +echo ' $(NULL)' >> Makefile.sources +echo >> Makefile.sources +echo "$DISABLED" >> Makefile.sources +echo ' $(NULL)' >> Makefile.sources +git add Makefile.sources + +git commit -e -m "[test/text-rendering-tests] Update from upstream"