Behdad Esfahbod
2cb8c928d7
[face] Let hashmap derive invalid key/value types
...
Works now with the previous two fixes.
2021-08-05 12:27:22 -06:00
Behdad Esfahbod
95c888e192
[meta] Define hb_int_min for pointer types as nullptr
2021-08-05 12:27:02 -06:00
Behdad Esfahbod
407a112e7b
[meta] Make hb_is_signed/hb_is_unsigned work on all types
...
They were failing if type was non-scalar, eg. pointer.
2021-08-05 12:23:53 -06:00
Behdad Esfahbod
baf2166a24
[meta] Use hb_true_type/hb_false_type more
2021-08-05 12:08:47 -06:00
Behdad Esfahbod
74ad5ddcd7
[face] Minor cleaning of previous commit
2021-08-05 11:51:54 -06:00
Garret Rieger
c2ee1fdd40
[subset] remove unsed table_entry struct.
2021-08-05 11:47:07 -06:00
Garret Rieger
dea0fe5717
[subset] discard extra copies of a table in face builder.
...
Fixes #2361 . Stores tables in the builder in a hashmap so you end up with at most one copy of each table. Table serialization order is now based on tag sort order instead of order of insertion into the builder.
2021-08-05 11:47:07 -06:00
Behdad Esfahbod
368e957887
[ot-shape] Add comment re `vert` feature
2021-08-05 10:41:18 -06:00
Garret Rieger
2c024dc3cb
[subset] prune redundant cmap12 subtables.
...
If the post subset cmap12 table is equivalent to another cmap subtable don't include the 12 table in the final subset. Matches change https://github.com/fonttools/fonttools/pull/2146 from fontTools.
2021-08-04 17:36:24 -06:00
Khaled Hosny
84946e4d2c
[test] Suggest updating the expectation if ttx matches
...
https://github.com/harfbuzz/harfbuzz/issues/3089#issuecomment-892208892
2021-08-04 17:35:19 -06:00
Behdad Esfahbod
09c3b82f5e
[buffer] When shifting forward, leave no gap
...
Trying to see if this fixes the fuzzer issue:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236
2021-08-04 11:55:53 -06:00
Behdad Esfahbod
5086e10538
[test] Add failing fuzzer test case
...
From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236
https://oss-fuzz.com/testcase-detail/5061207689134080
2021-08-04 11:55:53 -06:00
Behdad Esfahbod
a150baf32c
[ot-map] Allocate top mask bit as global bit
...
Avoids undefined-shift of 32 in the following line:
map->mask = (1u << (next_bit + bits_needed)) - (1u << next_bit)
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1219263
2021-08-04 11:53:27 -06:00
Khaled Hosny
f698fe5aee
[test] Always fail subset tests if hashes don’t match
...
Regardless of the pre sentience or absence of fonttools.
2021-08-04 10:26:14 -06:00
Behdad Esfahbod
e80c86ffa6
[coretext] Fix formatting
2021-08-04 10:25:06 -06:00
Behdad Esfahbod
db6fbe29e4
[util/hb-subset] Use driver_t<> in outer block as well
...
a363ce573c (r54282223)
2021-08-04 10:25:03 -06:00
Simon Cozens
66aef2818e
Support passing variations to coretext shaper
2021-08-04 10:24:40 -06:00
Behdad Esfahbod
f25daa4794
Merge pull request #3110 from harfbuzz/subset-tests-fast
...
[test] Make subset tests fast
2021-08-04 00:06:32 -06:00
Khaled Hosny
9f544e5008
[test] Don’t skip subset tests early
...
Check for FontTools only when the checksums are mismatching.
2021-08-04 04:20:14 +02:00
Khaled Hosny
b084153317
[test] Remove subset tests from the slow suite
2021-08-04 04:12:31 +02:00
Khaled Hosny
7ccc52b075
[test] Compare sha256 hash before TTX dumps
...
Most of time the files are identical, so instead of comparing the TTX
dump we can check sha256 hashes of the files first and if they match, we
don’t have to check the TTX dumps at all, making the subset tests orders
of magnitude faster.
time meson test --suite=subset down from:
real 0m19.418s
user 0m38.171s
sys 0m3.587s
to:
real 0m3.102s
user 0m8.622s
sys 0m1.701s
The expected files have been replaced by hb-subset output so they are
bit-identical where FontTools output might not.
The generate-expected-outputs.py now compares the hb-subset output with
fontttols subset and errors of they don’t match.
2021-08-04 04:10:38 +02:00
Khaled Hosny
770fbd5aa6
Revert "[test] Speed-up subset tests by saving TTX dump"
...
This reverts commit 278f44dcee
.
2021-08-04 04:10:37 +02:00
Behdad Esfahbod
62a535f154
[khmer] Fix comment
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3104
2021-08-03 10:11:43 -06:00
Khaled Hosny
2cc9ed2b9e
[test] More lookup_collect_glyphs() tests
2021-08-03 10:06:27 -06:00
Khaled Hosny
0664037401
[test] More lookup_collect_glyphs() tests
2021-08-03 10:06:27 -06:00
Khaled Hosny
ecdd8e3f18
[test] More lookup_collect_glyphs() tests
2021-08-03 10:06:27 -06:00
Khaled Hosny
f998d7e1ce
[test] Add API test for lookup_collect_glyphs()
...
We don’t seem to have any tests exercising this API at all, and it is a
good check of GSUB/GPOS code.
2021-08-03 10:06:27 -06:00
Behdad Esfahbod
47d47e8c43
[util/hb-shape/hb-subset] Don't terminate on first error in batch mode
...
There's no reason to quit processing. The failure is already
communicated via stdout in both cases.
2021-08-01 22:12:08 -06:00
Behdad Esfahbod
a363ce573c
[util/hb-subset] Minor refactor of batch mode
...
To match recent changes to hb-shape.
2021-08-01 22:11:13 -06:00
Khaled Hosny
10e73d188a
[test] Add batch mode to hb-subset and use it
...
time meson test --suite=subset down from:
real 0m22.822s
user 0m44.561s
sys 0m9.255s
to:
real 0m19.418s
user 0m38.171s
sys 0m3.587s
Does not seem to help much, but it is something.
Part of https://github.com/harfbuzz/harfbuzz/issues/3089
2021-08-01 22:08:28 -06:00
Behdad Esfahbod
75f314c471
Merge pull request #3103 from harfbuzz/test-reference
...
[test] Remove unused shaping tests reference mode
2021-08-01 12:06:49 -06:00
Khaled Hosny
1fd3a261e5
[test] Remove unused shaping tests reference mode
2021-08-01 19:38:39 +02:00
Behdad Esfahbod
ed99c80623
[util/hb-shape] Refactor driver type duplication
2021-08-01 08:14:59 -06:00
Behdad Esfahbod
05cf81283b
[util/hb-shape] Fix use of EOF as end-of-line
...
EOF is -1, which was being treated as a valid char (255).
Use int instead.
2021-08-01 08:12:40 -06:00
Behdad Esfahbod
ee7473b8a4
[mutex] Remove unused HB_MUTEX_IMPL_INIT / HB_MUTEX_INIT
...
https://github.com/harfbuzz/harfbuzz/pull/3100#issuecomment-890089096
2021-07-30 12:55:28 -06:00
Behdad Esfahbod
0e37c07f4c
Revert "Construct user_data in hb_object"
...
This reverts commit a78eb43c79
.
See: https://github.com/harfbuzz/harfbuzz/pull/3100#issuecomment-890088227
2021-07-30 12:52:59 -06:00
Behdad Esfahbod
5dc4cd71cc
[blob] Minor change in destruction
...
No semantic change.
2021-07-30 12:37:40 -06:00
Behdad Esfahbod
7cbcdaf68a
Whitespace
2021-07-30 11:26:46 -06:00
Behdad Esfahbod
5d283aa0bd
Merge pull request #3095 from harfbuzz/subset-tests-speed
...
[test] Speed-up subset tests by saving TTX dump
2021-07-30 10:15:09 -06:00
Behdad Esfahbod
bbeb3a62b0
Merge pull request #3096 from googlefonts/multi_flag
...
[subset] change input and plan flags to be bit sets.
2021-07-30 09:54:55 -06:00
Garret Rieger
b63ac57174
[subset] bail if collection region indices is in error.
2021-07-29 18:30:37 -07:00
Garret Rieger
f9d8e4a976
[subset] switch ..._set_flags to not take a mask.
2021-07-29 18:30:27 -07:00
Garret Rieger
46d4a5e673
[subset] Convert subset plan to use a flags bit set.
2021-07-29 18:02:34 -07:00
Garret Rieger
3d534b146c
[subset] convert subset input flags into bit flags.
...
Store the flags in a bit set. Updates the public api to work with the bit set directly.
2021-07-29 18:02:34 -07:00
Khaled Hosny
f6c67a5fcf
[test] Open file in UTF-8
...
It is 2021 and Python still does not default to UTF-8 on Windows!
2021-07-30 02:20:19 +02:00
Khaled Hosny
bafbade087
[test] Force FontTools to use \n on all platforms
...
On Windows in helfuly uses \r\n.
2021-07-30 01:42:45 +02:00
Ben Wagner
a78eb43c79
Construct user_data in hb_object
...
hb_object's user_data is created lazily. The previous implementation of
hb_object_set_user_data created space for the user_data but did not
actually construct it. This means that hb_user_data_array_t's lock was
not constructed. If hb_mutex_t is backed by an implementation which
requires that it be constructed (not just zero initialized) then errors
will occur when taking the lock when setting the user data.
Change hb_object_set_user_data to construct the user_data in the created
space and hb_object_fini to call the destructor.
2021-07-29 16:03:56 -06:00
Khaled Hosny
278f44dcee
[test] Speed-up subset tests by saving TTX dump
...
Speed-up subset tests by saving TTX dump of expected output instead of
generating it each time the tests are run.
Cuts down meson test --suite=subset on my system from:
real 0m38.977s
user 1m12.024s
sys 0m10.547s
to:
real 0m22.291s
user 0m44.548s
sys 0m9.221s
Part of https://github.com/harfbuzz/harfbuzz/issues/3089
2021-07-30 00:00:35 +02:00
Behdad Esfahbod
30579f5a37
[set] Document & use open-ended del_range()
2021-07-29 11:19:13 -06:00
Khaled Hosny
72489f3e0e
[test] Free memory in hb-aots-tester
2021-07-29 10:42:23 -06:00