|
e014c6fa
|
2021-08-05T13:24:59
|
|
[util/main-font-text] Move eol from template arg to main() arg
|
|
463411a1
|
2021-08-05T11:44:35
|
|
[util] Remove unused option_group_t
|
|
3362b48f
|
2021-08-05T11:30:39
|
|
[util] Templatize add_group logic
|
|
e57dd668
|
2021-08-05T10:33:31
|
|
[util] Initialize struct members inline
|
|
21f1054d
|
2021-08-04T20:23:48
|
|
[util/hb-subset] Keep face around instead of font
|
|
fe90fbeb
|
2021-08-05T11:22:20
|
|
[util] Remove unused pre_parse callback logic
|
|
8588173e
|
2021-08-05T11:43:25
|
|
[util] Rework post_parse() handling
|
|
09e4d7dd
|
2021-08-05T11:21:20
|
|
[util] Simplify output_options_t
|
|
e109f9a6
|
2021-08-05T11:05:51
|
|
[util] Collect cmdline arg options outside of constructor
|
|
8c0c217b
|
2021-08-06T10:45:38
|
|
[subset] fail reference blob in face builder if allocation for table sorting fails.
Fixes https://oss-fuzz.com/testcase-detail/5041767803125760
|
|
e5bfd49a
|
2021-08-05T14:03:25
|
|
[subset] don't allow table adds for tag == -1.
|
|
222b74f0
|
2021-08-05T11:39:26
|
|
[subset] don't leak memory for duplicate tables.
|
|
f7a9c3ea
|
2021-08-05T13:05:07
|
|
[open-file] Use hb_is_source_of instead of hb_is_iterator
|
|
fa90cb8a
|
2021-08-05T12:31:06
|
|
Whitespace again
|
|
a110a47e
|
2021-08-05T12:28:39
|
|
Whitespace
|
|
2cb8c928
|
2021-08-05T12:27:22
|
|
[face] Let hashmap derive invalid key/value types
Works now with the previous two fixes.
|
|
95c888e1
|
2021-08-05T12:27:02
|
|
[meta] Define hb_int_min for pointer types as nullptr
|
|
407a112e
|
2021-08-05T12:23:53
|
|
[meta] Make hb_is_signed/hb_is_unsigned work on all types
They were failing if type was non-scalar, eg. pointer.
|
|
baf2166a
|
2021-08-05T12:07:25
|
|
[meta] Use hb_true_type/hb_false_type more
|
|
74ad5ddc
|
2021-08-05T11:51:54
|
|
[face] Minor cleaning of previous commit
|
|
c2ee1fdd
|
2021-08-04T16:42:49
|
|
[subset] remove unsed table_entry struct.
|
|
dea0fe57
|
2021-08-04T16:36:20
|
|
[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.
|
|
368e9578
|
2021-08-05T10:16:13
|
|
[ot-shape] Add comment re `vert` feature
|
|
2c024dc3
|
2021-08-04T11:38:38
|
|
[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.
|
|
84946e4d
|
2021-08-05T00:05:26
|
|
[test] Suggest updating the expectation if ttx matches
https://github.com/harfbuzz/harfbuzz/issues/3089#issuecomment-892208892
|
|
09c3b82f
|
2021-07-29T17:49:10
|
|
[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
|
|
5086e105
|
2021-07-29T17:03:55
|
|
[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
|
|
a150baf3
|
2021-08-04T11:53:27
|
|
[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
|
|
f698fe5a
|
2021-08-04T12:08:18
|
|
[test] Always fail subset tests if hashes don’t match
Regardless of the pre sentience or absence of fonttools.
|
|
e80c86ff
|
2021-08-04T10:24:14
|
|
[coretext] Fix formatting
|
|
db6fbe29
|
2021-08-03T10:13:17
|
|
[util/hb-subset] Use driver_t<> in outer block as well
https://github.com/harfbuzz/harfbuzz/commit/a363ce573c3aa706de3aecf0515519a5d7842af2#r54282223
|
|
66aef281
|
2021-08-04T13:34:52
|
|
Support passing variations to coretext shaper
|
|
f25daa47
|
2021-08-04T00:06:32
|
|
Merge pull request #3110 from harfbuzz/subset-tests-fast
[test] Make subset tests fast
|
|
9f544e50
|
2021-08-04T04:20:14
|
|
[test] Don’t skip subset tests early
Check for FontTools only when the checksums are mismatching.
|
|
b0841533
|
2021-08-04T04:12:31
|
|
[test] Remove subset tests from the slow suite
|
|
7ccc52b0
|
2021-08-04T03:57:18
|
|
[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.
|
|
770fbd5a
|
2021-08-04T00:07:23
|
|
Revert "[test] Speed-up subset tests by saving TTX dump"
This reverts commit 278f44dcee34cea25403e42e06668f0afe2328c1.
|
|
62a535f1
|
2021-08-03T10:11:27
|
|
[khmer] Fix comment
Fixes https://github.com/harfbuzz/harfbuzz/issues/3104
|
|
2cc9ed2b
|
2021-08-02T22:00:11
|
|
[test] More lookup_collect_glyphs() tests
|
|
06640374
|
2021-08-02T19:52:59
|
|
[test] More lookup_collect_glyphs() tests
|
|
ecdd8e3f
|
2021-08-02T19:36:20
|
|
[test] More lookup_collect_glyphs() tests
|
|
f998d7e1
|
2021-08-02T16:10:13
|
|
[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.
|
|
47d47e8c
|
2021-08-01T22:12:08
|
|
[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.
|
|
a363ce57
|
2021-08-01T22:11:13
|
|
[util/hb-subset] Minor refactor of batch mode
To match recent changes to hb-shape.
|
|
10e73d18
|
2021-08-01T11:11:12
|
|
[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
|
|
75f314c4
|
2021-08-01T12:06:49
|
|
Merge pull request #3103 from harfbuzz/test-reference
[test] Remove unused shaping tests reference mode
|
|
1fd3a261
|
2021-08-01T19:38:39
|
|
[test] Remove unused shaping tests reference mode
|
|
ed99c806
|
2021-08-01T08:14:59
|
|
[util/hb-shape] Refactor driver type duplication
|
|
05cf8128
|
2021-08-01T07:59:25
|
|
[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.
|
|
ee7473b8
|
2021-07-30T12:55:28
|
|
[mutex] Remove unused HB_MUTEX_IMPL_INIT / HB_MUTEX_INIT
https://github.com/harfbuzz/harfbuzz/pull/3100#issuecomment-890089096
|
|
0e37c07f
|
2021-07-30T12:52:59
|
|
Revert "Construct user_data in hb_object"
This reverts commit a78eb43c79e7a2d870add6b686426748e104b7b3.
See: https://github.com/harfbuzz/harfbuzz/pull/3100#issuecomment-890088227
|
|
5dc4cd71
|
2021-07-30T12:37:40
|
|
[blob] Minor change in destruction
No semantic change.
|
|
7cbcdaf6
|
2021-07-30T11:26:46
|
|
Whitespace
|
|
5d283aa0
|
2021-07-30T10:15:09
|
|
Merge pull request #3095 from harfbuzz/subset-tests-speed
[test] Speed-up subset tests by saving TTX dump
|
|
bbeb3a62
|
2021-07-30T09:54:55
|
|
Merge pull request #3096 from googlefonts/multi_flag
[subset] change input and plan flags to be bit sets.
|
|
b63ac571
|
2021-07-29T18:23:41
|
|
[subset] bail if collection region indices is in error.
|
|
f9d8e4a9
|
2021-07-29T15:25:41
|
|
[subset] switch ..._set_flags to not take a mask.
|
|
46d4a5e6
|
2021-07-29T15:07:13
|
|
[subset] Convert subset plan to use a flags bit set.
|
|
3d534b14
|
2021-07-29T11:52:14
|
|
[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.
|
|
f6c67a5f
|
2021-07-30T02:20:19
|
|
[test] Open file in UTF-8
It is 2021 and Python still does not default to UTF-8 on Windows!
|
|
bafbade0
|
2021-07-30T01:42:45
|
|
[test] Force FontTools to use \n on all platforms
On Windows in helfuly uses \r\n.
|
|
a78eb43c
|
2021-07-29T17:35:25
|
|
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.
|
|
278f44dc
|
2021-07-29T23:43:56
|
|
[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
|
|
30579f5a
|
2021-07-29T11:19:13
|
|
[set] Document & use open-ended del_range()
|
|
72489f3e
|
2021-07-29T18:20:03
|
|
[test] Free memory in hb-aots-tester
|
|
895162d6
|
2021-07-29T18:03:00
|
|
[test] Account for mark zeroing in AOTS tests
The AOTS are not written with the face that mark glyphs gets their
advances zeroed. Taking this into account makes 16 more tests to pass.
|
|
e65bf605
|
2021-07-29T17:36:09
|
|
[test] make this test runner less verbose
Print the command being called once and in a way the can be manually
run.
|
|
2d54c346
|
2021-07-28T18:20:53
|
|
[subset/VarStore] Fix OOM in fuzzer test
The test in question is the one added in c68a00b92eb62fdc79f9a2bd1fc7a6acc24a3602.
Culprit is that it's allocating lots of memory because of region_indices that
are out-of-range anyway. So, try to filter those out first.
|
|
ff1fe25a
|
2021-07-28T18:02:52
|
|
[VarStore] Rename internal get_scalars() to get_region_scalars()
|
|
d7541f7b
|
2021-07-29T00:09:24
|
|
[util/hb-shape] Free cached resources on termination
|
|
ad03f34d
|
2021-07-28T19:05:12
|
|
[util/hb-shape] Cache blob/face in batch mode
|
|
9a7ff54b
|
2021-07-29T01:52:55
|
|
[test] Write one sequence per-line
https://github.com/harfbuzz/harfbuzz/pull/3087#issuecomment-888691436
|
|
ddf87ffb
|
2021-07-29T01:12:46
|
|
[test] Add generated tests for emoji clusters
Fixes https://github.com/harfbuzz/harfbuzz/issues/3017
Uses AdobeBlank2.ttf from:
https://github.com/adobe-fonts/adobe-blank-2
instead of a dummy empty font so that everything maps to GID 1 and
control code points are kept instead of being dropped because there is
not space glyph (otherwise we’d need to identify control code points
somehow when generating the expectations).
|
|
f0a1892f
|
2021-07-28T17:36:22
|
|
[serialize] Remove unnecessary pointer indirection
|
|
1c511ed6
|
2021-07-28T17:33:26
|
|
[subset] Simplify VarStore serialization
|
|
ad4c6924
|
2021-07-28T16:50:34
|
|
[subset] Simplify VarStore serialize
|
|
25dee609
|
2021-07-28T13:58:24
|
|
[sanitize] Revert some from c68a00b92eb62fdc79f9a2bd1fc7a6acc24a3602
That overflow check was already happening in arrayZ.sanitize().
|
|
6fe0d7d6
|
2021-07-28T12:06:49
|
|
[GSUB] If MultipleSubst is applied to a ligature-component, preserve lig-id
Fixes https://github.com/harfbuzz/harfbuzz/issues/3069
|
|
b926fb9b
|
2021-07-28T11:58:10
|
|
Whitespace
|
|
cc3a7cee
|
2021-07-28T11:53:06
|
|
Fix macro-in-macro invocation
../src/hb-ot-color-colr-table.hh:980:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
\#if COLRV1_ENABLE_SUBSETTING == 1
|
|
087e2705
|
2021-07-28T11:42:31
|
|
Fix signed-ness error in 0ded6a70c829284a8220ce30a405b0a974061df4
|
|
f3e03153
|
2021-07-27T14:40:15
|
|
Revert "[ci] Bin FontTools version due to recent COLRv1 changes"
This reverts commit 163748b5059e7b02a8ea57e263b009020a3ed499.
|
|
acbd8b27
|
2021-07-27T14:31:18
|
|
[subset] temporarily disable COLRv1 subsetting.
Currently COLRv1 spec is being changed so the subsetting implementation is out of sync. Disable subsetting by failing sanitization for COLRv1 tables and disable all colrv1 tests.
|
|
5dae8297
|
2021-07-28T11:35:40
|
|
[util] Minor followup to https://github.com/harfbuzz/harfbuzz/pull/3083
|
|
0ded6a70
|
2021-07-28T11:28:38
|
|
[subset] Fix another fuzzer issue
Addition could overflow on 32bit arch.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36636
Fixes https://oss-fuzz.com/testcase-detail/5072358514753536
|
|
c65e1e08
|
2021-07-28T17:04:10
|
|
[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.
|
|
8396c523
|
2021-07-28T16:29:43
|
|
[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.
|
|
50379fbb
|
2021-07-28T16:13:49
|
|
[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.
|
|
92b85749
|
2021-07-28T15:56:53
|
|
[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!
|
|
ad9559e3
|
2021-07-28T14:35:23
|
|
[tests] Make AOTS update.py work on macOS
Use C++ compiler and make sure C++11 is used.
|
|
d84efca3
|
2021-07-28T13:17:41
|
|
[tests] Add missed test file to Makefile/meson
It was introduced in 205737acdc268b1c90cf00bde2d2038519a8bf48 but was
not actually used.
See https://github.com/harfbuzz/harfbuzz/issues/2098
|
|
09474d8d
|
2021-06-29T16:07:14
|
|
[subset] Fix fuzzer timeout in add_gid_and_children.
The composite glyph graph isn't check for max operations by sanitize so track an operations count during the graph traversal.
|
|
c68a00b9
|
2021-07-27T13:25:22
|
|
[subset] Fix possible overflows in VarRegionList serialize
Fixes https://oss-fuzz.com/testcase-detail/5362189182566400
|
|
7b8464b6
|
2021-07-27T13:15:07
|
|
[serialize] Check for overflow in allocate_size()
If size was > INT_MAX, then the out-of-room check was failing to perform
as intended.
Part of fixing https://oss-fuzz.com/testcase-detail/5362189182566400
|
|
bf2c87bf
|
2021-07-27T13:10:41
|
|
Add hb_memcpy() that does len=0 check
|
|
5f801da9
|
2021-07-27T20:54:19
|
|
[hb-ms-features] Move code out of header file
|
|
990c15db
|
2021-07-27T20:43:53
|
|
[hb-ms-features] Rename types to be less general
|
|
69199211
|
2021-07-27T19:51:23
|
|
[uniscribe/directwrite] Move feature setup to shared file
Fixes https://github.com/harfbuzz/harfbuzz/issues/3070
|
|
fc7f7781
|
2021-07-27T12:21:19
|
|
[subset] add a note to hb-subset on what is and isn't supported (#3076)
|
|
3e4f006f
|
2021-07-27T09:28:47
|
|
Merge pull request #3079 from harfbuzz/windows-getenv
Don’t disable getenv on Windows
|