Commit Graph

609 Commits

Author SHA1 Message Date
Khaled Hosny c65e1e0842 [test] Run AOTS cmap tests with ot font functions only
We are not interested in testing FreeType cmap support.

Fixes most format 4 tests. The remaining test seems to be peculiar, and
I can’t find any cmap implementation that produces the expected output.
2021-07-28 11:35:09 -06:00
Khaled Hosny 8396c523b6 [test] Add AOTS cmap tests
Uses https://github.com/adobe-type-tools/aots/pull/3

Related to https://github.com/unicode-org/text-rendering-tests/issues/70

We don’t support format 4 or 8, so these tests are disabled. We support
format 4 but most of the tests are failing, investigating.
2021-07-28 11:35:09 -06:00
Khaled Hosny 50379fbb15 [util] Don’t split text at new lines in batch mode
In batch mode (which is used for testing) we are probably not interested
in splitting text into lines as we could have split the string into
different tests. This fixes a bunch of AOTS tests that use newlines as
input.
2021-07-28 11:35:09 -06:00
Khaled Hosny 92b85749f2 [util] Strip quotes when parsing features
When running in batch mode, the quotes are not stripped by the shell and
end up in the feature string. This breaks one of the AOTS tests.

Alternatively, we can remove the quotes from the test files, not sure
which is less hacky, though!
2021-07-28 11:35:09 -06:00
Khaled Hosny ad9559e3e2 [tests] Make AOTS update.py work on macOS
Use C++ compiler and make sure C++11 is used.
2021-07-28 14:35:23 +02:00
Khaled Hosny d84efca312 [tests] Add missed test file to Makefile/meson
It was introduced in 205737acdc but was
not actually used.

See https://github.com/harfbuzz/harfbuzz/issues/2098
2021-07-28 13:39:15 +02:00
Behdad Esfahbod a9a607d360 [variations] Support multiple axes with same tag, aka HOI
The axes in fvar are in arbitrary order, NOT sorted. Hence have to
lsearch all entries.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1673
Fixes https://github.com/harfbuzz/harfbuzz/issues/2743

Test from https://github.com/ctrlcctrlv/FontForge-Higher-Order-Interpolation
2021-07-23 11:58:58 -07:00
Behdad Esfahbod 79e8b30609 [ot-shape] Fix application of kern table if GPOS kern is missing
Was broken sometime after we implemented kerx and tweaking it.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3043
2021-07-16 16:29:44 -06:00
Khaled Hosny c3be28ea26 [ot-shape] Numeric runs native direction is LTR
See inline comments. Slightly modified version of the code from Jonathan
Kew on the linked issue.

Fixes https://github.com/harfbuzz/harfbuzz/issues/501
2021-06-23 13:11:27 -07:00
Khaled Hosny 71a6296620 [tests] Make record-test.sh work with .otf files
It hard-codes the file extension, but fonttools sunset will use .otf for
CFF fonts, so hard-code the output file from subset as well.
2021-06-23 13:11:27 -07:00
Behdad Esfahbod 5bc05ba155 Prefer GPOS over kerx, if GSUB was applied
Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
2021-06-13 05:28:20 -06:00
David Corbett 5585ea02eb [syllabic] Set position of dotted circle for Indic 2021-06-06 10:35:59 -07:00
Jonathan Kew 89df353996 [aat] Add testcase for Apple Color Emoji couple-with-skin-tones sequence. 2021-05-17 21:44:29 -06:00
Behdad Esfahbod 15f3ef0136 [test] Fix output format 2021-03-15 16:01:35 -06:00
Khaled Hosny 7686ff854b
[ot] Keep substituted Default_Ignorables (#2886)
Don’t replace Default_Ignorables with zero-width space if they are
substituted or multiplied, not just when ligated.

After this change, HarfBuzz output matches that of Uniscribe and
CoreText for the new tests.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2883
2021-03-04 13:09:32 -08:00
Behdad Esfahbod fd489433a8 [indic] Fix cluster-merging logic with cluster-level=1
Was producing non-monotonic cluster numbers because our faulty logic
was not merging clusters if something from before base and after base
had switched positions.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2272
2021-03-02 16:30:09 -07:00
Behdad Esfahbod d8ea552d10 [aat] Improve unsafe-to-break logic
Reduces false-positives.  See comments for new logic.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2860

Adjusts run-tests.sh to allow unhashed absolute filenames.
2021-02-19 16:23:22 -07:00
David Corbett 751ed68fee [indic] Fix shaping of U+0B55 ORIYA SIGN OVERLINE
Fixes https://github.com/harfbuzz/harfbuzz/issues/2849
2021-02-14 12:47:34 -05:00
David Corbett 0792690b73 [use] Skip WJ and ZWJ when clustering 2020-10-16 22:39:46 -07:00
Khaled Hosny 7d64b09765 [myanmar] Don’t disable liga feature
This seems to have been carried over from the Indic shaper, but
Uniscribe enables it by default.

See https://github.com/harfbuzz/harfbuzz/issues/2213#issuecomment-686062915
2020-09-12 21:45:19 +02:00
David Corbett e3db84a9d0 [use] Test CGJ and ZWNJ 2020-09-02 15:51:15 -07:00
David Corbett 420a74f772 [USE] Fix assertion failure for joining scripts 2020-08-28 14:11:48 -04:00
Ebrahim Byagowi 6e32145dc9 [meson] Make compatbile with 0.47.0 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi 5193357832 Revert "Remove autotools build support"
This reverts commit 01ac32aab2.
2020-08-11 23:51:59 +04:30
Ebrahim Byagowi 01ac32aab2 Remove autotools build support 2020-08-07 23:28:12 +04:30
Ebrahim Byagowi ec17b62457
[var] Apply variations on empty glyphs
It was ignoring empty glyphs for no good reason, this fixes it.

Fixes #2618
2020-08-06 20:16:11 +04:30
Ebrahim Byagowi ba810ce83d [tests] Replace space with colon in batch mode 2020-07-06 13:53:19 +04:30
Ebrahim Byagowi 2013babcbf
[tests] Use HAVE_FREETYPE itself instead NO_FT_FUNCS 2020-07-06 11:57:45 +04:30
jfkthame 1e6027e29c
[aat] Correct array indexing when looking up actions in KerxSubTableFormat4 (#2539)
* [aat] Correct array indexing when looking up actions in KerxSubTableFormat4.

- For action_type 0 and 1, there are 2 values per action record; for action_type 2, there are 4. So we need to account for these factors when indexing into the ankrData array.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2531.
2020-07-05 22:44:10 +01:00
Ebrahim Byagowi 4db1b4f1a2 [tests] rename no_ft_funcs to NO_FT_FUNCS 2020-07-04 16:21:21 +04:30
Ebrahim Byagowi a07672d353 [py] minor, replace os.environ.get with os.getenv 2020-07-04 16:16:15 +04:30
Ebrahim Byagowi 43e3ab019c [tests] make tests work when ft isn't present 2020-07-04 13:56:08 +04:30
Ebrahim Byagowi c4b6bad73a [tests] revert da95a8c and use the shared hb-shape process 2020-07-04 13:56:08 +04:30
Ebrahim Byagowi cb7fb3cf4a
Add test for a783840789 2020-06-28 13:41:33 +04:30
Khaled Hosny 09dedb1b38 [tests] I’m an idiot 2020-06-18 02:29:12 +02:00
Khaled Hosny 2598855454 [tests] Add test for ReverseChainSingleSubstFormat1 missing substitute
https://github.com/harfbuzz/harfbuzz/issues/2467
2020-06-18 02:16:57 +02:00
Ebrahim Byagowi b86bfe5291 minor, fix lists sorting 2020-06-12 01:42:50 +04:30
Ebrahim Byagowi 4e7cb7e2c4 minor, fix lists sorting 2020-06-12 01:38:16 +04:30
Ebrahim Byagowi 2d91662294 [meson] move tests lists to their directories
We had to do so for text-rendering-tests list, let's apply the same for the rest also.
2020-06-12 01:11:06 +04:30
Ebrahim Byagowi bb719915d9 [tests/aots] move the update script to update.py 2020-05-31 14:14:24 +04:30
Ebrahim Byagowi b318229993
[tests/test-rendering-tests] run git pull on correct dir 2020-05-31 12:52:53 +04:30
Ebrahim Byagowi 8a9a802636 minor, fix extra dist list 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi 419c2d0a00 [test/text-rendering-tests] Adopt the update script with meson 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi 2681656073 [test/text-rendering-tests] Update from upstream 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi ff89ba6e4d [tests] Port text-rendering-tests update script to python 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi a9d13463b5 [meson] Categorize tests using `suite: [...]`
So one can run a category of interested tests like

  meson test -Cbuild --suite aots --suite src --print-errorlogs

Intead issuing particular tests which also is possible like

  meson test -Cbuild test-shape --print-errorlogs
2020-05-30 16:58:46 +04:30
Ebrahim Byagowi 0d8442a55f [meson] minor, find run-tests.py only once 2020-05-29 16:15:01 +04:30
Ebrahim Byagowi cd5580e2d6 minor, enable printing to stderr in run-tests.py
As was originally intended https://github.com/harfbuzz/harfbuzz/blob/3ce6c7b/test/shaping/run-tests.sh
2020-05-28 23:43:58 +04:30
Ebrahim Byagowi 7554f618ec minor, use sys.exit print shorthand 2020-05-28 23:34:37 +04:30
Ebrahim Byagowi 887aa0214f [meson] Use find_program for locating python script
Apparently that is the simplest and supported way of finding python scripts.
2020-05-21 20:03:11 +04:30