Commit Graph

431 Commits

Author SHA1 Message Date
Behdad Esfahbod 0d39ac224c [test/text-rendering-tests] Update README 2018-01-11 22:47:08 +01:00
Behdad Esfahbod 17a66f133c [test] Disable MORX-12
Ouch. I need a better workflow for this.
2018-01-11 22:46:19 +01:00
Behdad Esfahbod 1387fe8f9c [test/text-rendering-tests] Update from upstream 2018-01-11 19:23:14 +01:00
Behdad Esfahbod 1eb98c9916 [test/text-rendering-tests] Actually disable MORX-11 2018-01-11 17:59:03 +01:00
Behdad Esfahbod 1d20d109a0 [test/text-rendering-tests] Update from upstream 2018-01-11 15:19:01 +01:00
Behdad Esfahbod fc405b7ca7 [test/text-rendering-tests] Update from upstream 2018-01-11 15:15:36 +01:00
Ebrahim Byagowi 4177f646aa
[cmake] Update and unbreak (#700) 2018-01-11 15:43:23 +03:30
Behdad Esfahbod d6076747ac [test/text-rendering-tests] Add DISABLED list 2018-01-11 10:51:46 +01:00
Behdad Esfahbod de02b5093c [test/in-house] Add Makefile.sources 2018-01-11 10:48:42 +01:00
Behdad Esfahbod 7c32e01d04 Minor 2018-01-11 10:47:31 +01:00
Behdad Esfahbod a5adc5aa84 [test/text-rendering-tests] Update from upstream
Also adds an update.sh script that does this automatically.
2018-01-11 10:43:30 +01:00
Behdad Esfahbod c861daacc4 [test/text-rendering-tests] Add README and COPYING 2018-01-11 10:43:30 +01:00
Behdad Esfahbod ea3e86c640 Minor 2018-01-11 10:43:30 +01:00
Ebrahim Byagowi 1461965c22
[test] Better tests output by converting stderr to stdout (#696)
https://gitlab.kitware.com/cmake/cmake/issues/17630
2018-01-11 08:48:22 +03:30
Ebrahim Byagowi ebb9b7d633
[test] Print shaping output on CI fails (#695) 2018-01-11 08:15:06 +03:30
Ebrahim Byagowi 71e0ed9cba
[cmake] Add header existence tests (#685) 2018-01-10 15:45:12 +03:30
Ebrahim Byagowi a073621b5d
[cmake] Fix tests against latest changes (#690) 2018-01-10 12:13:28 +03:30
Behdad Esfahbod 6db0b17c4c [test] Move test handling to sundirectories 2018-01-10 05:40:43 +01:00
Behdad Esfahbod 4c982b4867 [test] Whitelist one more passing test 2018-01-10 05:26:55 +01:00
Behdad Esfahbod 0b28e1199d [test] Whitelist one more passing test 2018-01-10 05:02:42 +01:00
Behdad Esfahbod 6dc6f0c9f8 [test] Whitelist one passing test 2018-01-10 04:15:57 +01:00
Behdad Esfahbod ec939761e4 Minor 2018-01-10 03:56:43 +01:00
Behdad Esfahbod c4eac531df Minor 2018-01-10 03:51:09 +01:00
Behdad Esfahbod 285a0bd799 [test] Another try
Making cmake happy this time.
2018-01-10 03:49:32 +01:00
Behdad Esfahbod 95b32b0055 [test] Fix text disabling
Ouch, make!
2018-01-10 03:48:09 +01:00
Behdad Esfahbod a938d105b8 [test/text-rendering-tests] Disable failing tests 2018-01-10 03:41:55 +01:00
Behdad Esfahbod ed95d5e374 [test/text-rendering-tests] Disable failing tests 2018-01-10 03:41:02 +01:00
Behdad Esfahbod 3b1e97f364 Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
New API:
HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
hb-shape / hb-view --remove-default-ignorables

One more text-rendering-tests test passing.  Eleven failing.
2018-01-10 03:36:03 +01:00
Behdad Esfahbod 46e4ed552f [test/text-rendering-tests] Hook up font variations
Six more passing. Twelve failing now.
2018-01-10 03:22:08 +01:00
Behdad Esfahbod 2b3f62fc4d [test] Add tests from text-rendering-tests repo
https://github.com/unicode-org/text-rendering-tests
2018-01-10 03:16:56 +01:00
Behdad Esfahbod 3f29ea9144 [util] Add hb-shape --ned
For not displaying extra data: no clusters, no advance. Just data pertaining
to where glyphs end up on the screen.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod 7020130665 [test] Minor 2018-01-10 02:50:49 +01:00
Behdad Esfahbod 316a28f8f8 [test] Add script for extracting tests from text-rendering-tests
Work in progress...

https://github.com/unicode-org/text-rendering-tests
2018-01-10 02:50:49 +01:00
Behdad Esfahbod 6b4d63f295 [test] Minor 2018-01-10 02:50:49 +01:00
Behdad Esfahbod 504f913654 [test] Simplify test runner
Always pass hb-shape as first argument to run-tests.py.

Also require automake 1.13.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod 141db8b7a3 [test] Minor 2018-01-10 02:50:49 +01:00
Behdad Esfahbod 44c65eee28 [test] Reorganize test suite
In anticipation of importing more test suites.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod 9a3ad307ea [test] Remove unused hb-diff-ngrams 2018-01-10 02:50:49 +01:00
Behdad Esfahbod b6b460024d [test] Remove unused manifest stuff 2018-01-10 02:50:49 +01:00
Behdad Esfahbod ebbee7c247 [test] Move test files around 2018-01-10 02:50:49 +01:00
Behdad Esfahbod ed2f458b14 Add test font for previous commit 2018-01-05 12:55:39 +00:00
Behdad Esfahbod 8c0d1916a4 Improve CGJ skipping logic
Previously we made CGJ unskippable.  Now, if CGJ did NOT prevent
any reordering, allow skipping over it.  To make this work we
had to make changes to the Arabic mark reordering algorithm
implementation to renumber moved MCM marks.  See comments.

Fixes https://github.com/harfbuzz/harfbuzz/issues/554
2018-01-05 12:48:19 +00:00
Ebrahim Byagowi 70807ad274
Fix make check issue on out-of-tree builds and test it (#672) 2018-01-02 23:52:12 +03:30
Ebrahim Byagowi 4e3cf91af2
[cmake] Run rest of the tests on Windows (#668) 2018-01-01 11:17:51 +03:30
Ebrahim Byagowi 2dbdeb1421
[cmake] Run fuzzing and shaping tests (#666) 2017-12-29 23:13:29 +03:30
David Corbett 7bfdf1a941 Forbid Batak killers after vowel signs 2017-12-24 14:21:22 -08:00
ebraminio 20e69c950d
[test] print commented line, like the original script (#649) 2017-12-07 12:24:12 +03:30
ebraminio 5f061d27d5
Rewrite run-tests in python (#647) 2017-12-07 11:22:55 +03:30
Behdad Esfahbod d9066afd6b Add another test for previous commit
From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4273
2017-11-29 16:18:18 -08:00
Behdad Esfahbod 16fba5b215 [ot] Fix Extension type recurse to disallow recursing to another Extension
Particularly hazardous if the second layer mixes forward and backward lookups.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4336
2017-11-29 16:08:11 -08:00
David Corbett 9f259769a6 Categorize U+A8B4 as Consonant_Medial 2017-11-21 13:48:32 -08:00
Behdad Esfahbod 8d55340593 Fix fallback positioning of double diacritic marks
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787284
2017-11-20 19:43:22 -08:00
David Corbett 87d74605f5 Categorize U+0C80 as Consonant_Placeholder 2017-11-20 13:10:28 -08:00
Behdad Esfahbod baf7779d2d Limit how much recursion GSUB/GPOS does
This only counts recursions right now.  Good start.

Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429
2017-11-14 21:55:37 -08:00
Behdad Esfahbod b9c96b5d7c Add test for previous commit
At some point we should run tests under valgrind...
2017-11-14 15:56:21 -08:00
David Corbett 87f0ad183c Allow U+20F0 in USE clusters 2017-11-14 15:04:10 -08:00
Behdad Esfahbod 8eed9cb11e [kern] Fix invalid memory access if offset is zero
If offset is zero, we return Null() object.  Wasn't prepared for that.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4088
2017-11-09 18:09:40 -08:00
Khaled Hosny b68fba4dc8 [test] Use glyph ids instead of forcing ft funcs
We were using ft funcs because these are CFF fonts, but we can avoid
glyph names instead and keep testing both ot and ft.
2017-11-09 18:01:15 -05:00
Khaled Hosny 2fcfbcf805 [test] Fix another instance of component rounding
See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673
2017-11-09 18:01:15 -05:00
Behdad Esfahbod 822035ce73 [tests/arabic-stch.tests] Don't show flags
We don't need to test the actual flag values.  For unsafe-to-break,
the --verify in run-tests.sh checks what we are interested in.
2017-11-08 17:03:55 -08:00
Behdad Esfahbod 53f0c27ddc Minor 2017-11-08 17:02:54 -08:00
David Corbett 5a9cba9744 Mark non-initial left matras as unsafe to break 2017-11-08 19:12:10 -05:00
David Corbett 74e82adaea Mark glyphs involved in 'stch' as unsafe to break 2017-11-06 15:06:23 -05:00
Khaled Hosny 0e63cbed9c [test] Fix difference between ft and ot font funcs
See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673.

I simply removed the composite glyph and use the referenced simple
glyph directly.
2017-11-01 14:00:52 -06:00
Khaled Hosny 0b8f8dd869 Revert "[test] We don’t care about glyph positions here"
This reverts commit 70137e2b4b.
2017-11-01 14:00:52 -06:00
Khaled Hosny f1245013bf [test] Run shaping tests with both ot and ft funcs 2017-11-01 10:33:10 -06:00
Khaled Hosny 70137e2b4b [test] We don’t care about glyph positions here
Freetype and OT font functions give different positions for some glyphs
in this font (OT seems to be correct), but that is not what we are
interested in in this test.

See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341045223.
2017-11-01 10:33:10 -06:00
Khaled Hosny 9234b364b1 [test] Use ft functions for this test
https://github.com/behdad/harfbuzz/pull/590#issuecomment-340967271
2017-11-01 10:33:10 -06:00
Khaled Hosny afbfb9279c [test] Always use ft font funcs for these tests
These are CFF fonts and ot functions don’t support CFF glyph names yet.
The next commit will run all tests with ot functions.
2017-11-01 10:33:10 -06:00
David Corbett d016c5bdb9 Categorize Grantha candrabindu for use in Tamil 2017-10-31 16:54:23 -06:00
David Corbett 729c9e1335 Include all relevant glyphs in the subsetted font 2017-10-26 13:49:56 -05:00
Khaled Hosny 9d4d2fb9af [ot-font] Implement hb_ot_get_glyph_name
Turns out we already have support for “post” table, it just needed to be
activated and put in use.
2017-10-25 19:29:51 -04:00
David Corbett fd786c768f Use `mktemp -d` instead of `mktemp --directory` 2017-10-25 16:53:37 -04:00
David Corbett c4944920c0 Fix and run indic-script-extensions.tests 2017-10-25 16:53:16 -04:00
David Corbett d8df714251 Fix code point iteration in narrow Python 2017-10-25 16:53:16 -04:00
Behdad Esfahbod 81e2b9b8a9 Never skip over CGJ
We might want to tweak this some more.  For now, never skipping over
it is better behavior than always skipping.

Part of https://github.com/behdad/harfbuzz/issues/554
2017-10-15 10:49:06 +02:00
Behdad Esfahbod fa48ccbe12 [indic] Special-case Kannada Ra,H,ZWJ sequence
Fixes https://github.com/behdad/harfbuzz/issues/435
2017-10-12 14:07:37 +02:00
Behdad Esfahbod ab8d70ec70 [arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53
Fixes https://github.com/behdad/harfbuzz/issues/509
2017-10-04 14:47:10 +02:00
David Corbett 3ca9c92aa6 Test Consonant_With_Stacker in Kannada (#530) 2017-10-03 14:07:02 +02:00
Behdad Esfahbod 5d98de1f38 Tweak mark-base attachment
Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase.  This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment.  Tweak test to fix.

Fixes https://github.com/behdad/harfbuzz/issues/543
2017-10-03 13:49:40 +02:00
Behdad Esfahbod 09cbeb2246 Make bots happy
Fixes https://github.com/behdad/harfbuzz/issues/551
2017-10-03 13:22:07 +02:00
Behdad Esfahbod 1633513996 Add test for U+0A51
New Indic numbers are:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)

Before 71c0a1429d GURMUKHI used to be at 15,
because Uniscribe seems to allow this character standalone, but that looks
wrong.
2017-10-02 20:28:56 +02:00
Behdad Esfahbod 8b2c94c43f Tweak ligature component matching for ligature formation
If two marks want to ligate and they belong to different components of the
same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.

Example Burmese senquence:

  U+1004,U+103A,U+1039,U+101B,U+103D,U+102D

Test font provided by Norbert Lindenberg.

Fixes https://github.com/behdad/harfbuzz/issues/545
2017-10-02 20:03:35 +02:00
Behdad Esfahbod 71c0a1429d [indic] Fix shaping of U+0A51
Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...

Fixes https://github.com/behdad/harfbuzz/issues/524
2017-10-02 18:57:03 +02:00
Behdad Esfahbod cc79b666bc [indic] Add test for 1a0a356a0f
https://github.com/behdad/harfbuzz/issues/538
2017-10-02 09:19:15 -04:00
Behdad Esfahbod 61a9d7e6d0 Minor 2017-09-04 19:48:52 -07:00
Behdad Esfahbod 03a5a6f873 [util] Add --unicodes to hb-view / hb-shape
Fixes https://github.com/behdad/harfbuzz/issues/154
2017-09-01 19:12:22 -07:00
Behdad Esfahbod 0e5b475d98 Minor 2017-09-01 18:28:47 -07:00
Behdad Esfahbod 3e1fc6d18b Minor 2017-09-01 10:46:48 -07:00
Behdad Esfahbod 04f009f848 Add test accidentally removed in previous commit 2017-09-01 10:38:25 -07:00
Behdad Esfahbod 06cb162cd7 [indic] Treat Consonant_With_Stacker as consonant
Fixes https://github.com/behdad/harfbuzz/issues/528
"Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
2017-09-01 10:34:56 -07:00
Behdad Esfahbod 099472e08b hb_buffer_diff() tweak
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned.  Abused a value of -1 for that.  hb-shape now uses it.  Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
2017-08-30 16:45:06 -07:00
Behdad Esfahbod 4387b059a0 [test] Add --verify to hb-shape
Disabled for now.  Will enable and fix failures after next release.
2017-08-23 14:35:58 -07:00
Behdad Esfahbod 3b54d0337e Add tests for 'avar' fix 5dc30451b8 2017-08-08 18:37:03 -07:00
Behdad Esfahbod c1432bce3c [arabic] Adjust feature order again
Fixes https://github.com/behdad/harfbuzz/issues/505
2017-07-14 17:35:17 +01:00
Behdad Esfahbod 9dd29c681e [use] Allow up to two medial-below letters
Fixes https://github.com/behdad/harfbuzz/issues/376
2017-07-14 17:01:27 +01:00
Behdad Esfahbod 216b003c91 [use] Fix shaping of U+AA29 CHAM VOWEL SIGN AA
Part of https://github.com/behdad/harfbuzz/issues/376
Also see https://github.com/roozbehp/unicode-data/issues/6

Test added, using NotoSansCham built from Noto Phase III sources.
2017-07-14 16:38:51 +01:00
Behdad Esfahbod 3cc84f45b9 [indic] Fix https://github.com/behdad/harfbuzz/issues/478 2017-07-14 15:50:22 +01:00
Behdad Esfahbod e359a4b8f5 [indic] Disable automatic ZWNJ handling for Indic features
Fixes https://github.com/behdad/harfbuzz/issues/294

Also fixes a bunch of other Indic issues.  Test results after:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)

Before:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
2017-07-14 14:22:52 +01:00
Dominik Schlösser 3a73e0d5e1 Shaping tests for Tibetan vowels (#446)
* Shaping tests for Tibetan vowels

* Test-cases for the Dzongkha contractions with multiple vowel-signs added.

* going to be removed

* Extended contraction-test-cases to all test cases in contractions.txt that actually use multiple-vowels (113 cases)
2017-07-14 12:14:55 +01:00