Log

Author Commit Date CI Message
Garret Rieger e39c3bde 2021-08-10T11:41:55 [subset] fix bug in parsing glyf flags. the bytes of the flag stream were being treated as signed integers instead of unsigned as specified in the spec.
Behdad Esfahbod f5a8f747 2021-08-10T11:21:08 Merge pull request #3132 from harfbuzz/semicolon Use semicolon in shaping test suite
Behdad Esfahbod f3acb977 2021-08-10T11:05:40 [test/shaping;util] Use ';' instead of ':' to separate test fields Accept that in --batch mode. Also in batch mode don't send the 0th arg. Related discussion: https://github.com/harfbuzz/harfbuzz/pull/3102
Behdad Esfahbod b83fd3a5 2021-08-10T02:21:05 [util] Refactor batch-processing code into batch.hh
Behdad Esfahbod d92ee726 2021-08-09T19:08:34 [util/hb-shape] Treat as single-paragraph text other than provided by a file Fixes https://github.com/harfbuzz/harfbuzz/issues/3129
Behdad Esfahbod 8940409e 2021-08-09T13:21:07 Merge pull request #3121 from harfbuzz/subset-args Fix up `hb-subset --help-all`
Ben Wagner f5ba1fab 2021-08-07T16:05:51 Fix documentation of hb_subset_flags_t defaults HB_SUBSET_FLAGS_DEFAULT is 0, and hb_subset_input_create_or_fail initializes its flags to HB_SUBSET_FLAGS_DEFAULT, so currently all flags are set to false by default. It has been decided that future flags will also be false by default for simplicity (using NO_ in the name if needed). Correct and simplify the documentation for hb_subset_flags_t to reflect this.
Behdad Esfahbod 7d2e9164 2021-08-07T13:38:19 [util] Move text options into text_options_t Remove now empty options.cc.
Behdad Esfahbod 93bc62e9 2021-08-07T13:13:58 [util] Move output options into output-options.hh
Behdad Esfahbod af9d2495 2021-08-07T12:29:52 [util] Use inheritance for output_options_t
Behdad Esfahbod 9db0fd48 2021-08-07T12:22:17 [util] Don't show --output-format if no supported formats provided
Behdad Esfahbod 5545eea7 2021-08-07T11:04:46 [util] Remove main_font_text_t class, use bare function
Behdad Esfahbod 58c22335 2021-08-06T23:45:59 [util] Move face/font options into face/font-options.hh
Behdad Esfahbod 6edd50ae 2021-08-06T23:36:45 [util] Move option_parser_t code into options.hh
Behdad Esfahbod 798bb89c 2021-08-06T23:29:29 [util] Move shape format options into shape-format.hh
Behdad Esfahbod c3599fde 2021-08-06T23:24:28 [util] Move shape options into shape-options.hh
Behdad Esfahbod cfb2d6ad 2021-08-06T23:14:30 [util] Move view options into view-options.hh
Behdad Esfahbod 167f58a2 2021-08-06T23:03:30 [util] Move subset options into subset-options.hh
Behdad Esfahbod 370e961f 2021-08-06T22:59:50 [util/hb-subset] Use hb-subset.h public API instead of poking inside Oops.
Behdad Esfahbod 4e97678e 2021-08-06T22:53:44 [util] Use inheritence to embed inherent options of objects
Behdad Esfahbod 06d66180 2021-08-06T19:20:47 [util] Fix compiler error ../util/options.cc:588:3: error: narrowing conversion of ‘font_size_flags’ from ‘unsigned int’ to ‘gint {aka int}’ inside { } [-Werror=narrowing]
Behdad Esfahbod c5337c43 2021-08-06T19:19:50 [util] Fold helper-cairo.cc into helper-cairo.hh
Behdad Esfahbod e014c6fa 2021-08-05T13:24:59 [util/main-font-text] Move eol from template arg to main() arg
Behdad Esfahbod 463411a1 2021-08-05T11:44:35 [util] Remove unused option_group_t
Behdad Esfahbod 8588173e 2021-08-05T11:43:25 [util] Rework post_parse() handling
Behdad Esfahbod 3362b48f 2021-08-05T11:30:39 [util] Templatize add_group logic
Behdad Esfahbod fe90fbeb 2021-08-05T11:22:20 [util] Remove unused pre_parse callback logic
Behdad Esfahbod 09e4d7dd 2021-08-05T11:21:20 [util] Simplify output_options_t
Behdad Esfahbod e109f9a6 2021-08-05T11:05:51 [util] Collect cmdline arg options outside of constructor
Behdad Esfahbod e57dd668 2021-08-05T10:33:31 [util] Initialize struct members inline
Behdad Esfahbod 21f1054d 2021-08-04T20:23:48 [util/hb-subset] Keep face around instead of font
Behdad Esfahbod c329ce10 2021-08-06T19:13:21 [util] Also hide ppem settings in hb-ot-shape-closure Leaving ptem, as that can in theory change shape closure if we apply it to optical-size axis (we currently don't).
Behdad Esfahbod c40e0079 2021-08-06T19:04:27 [util] Fold helper-cairo-ansi.cc into helper-cairo-ansi.hh
Behdad Esfahbod 4fe43ccb 2021-08-06T19:00:45 [util] Fold ansi-print.cc into ansi-print.hh
Behdad Esfahbod b1db0e4a 2021-08-06T18:55:40 [util] Fold view-cairo.cc into view-cairo.hh
Behdad Esfahbod 6500f68f 2021-08-06T18:46:31 [util] Change hb-subset to use face_options_t instead of font_options_t
Behdad Esfahbod 869e20e0 2021-08-06T18:09:31 [util] separate face options from font options
Behdad Esfahbod b3a2f2bf 2021-08-05T14:03:48 [util/main-font-text] Simplify
Behdad Esfahbod 71440dbd 2021-08-05T13:48:59 [util] Move font-size and upem to be extern variables
Behdad Esfahbod fc0339ee 2021-08-05T13:35:46 [util] Simplify shape-consumer by removing buffer arg
Garret Rieger 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
Garret Rieger e5bfd49a 2021-08-05T14:03:25 [subset] don't allow table adds for tag == -1.
Garret Rieger 222b74f0 2021-08-05T11:39:26 [subset] don't leak memory for duplicate tables.
Behdad Esfahbod f7a9c3ea 2021-08-05T13:05:07 [open-file] Use hb_is_source_of instead of hb_is_iterator
Behdad Esfahbod fa90cb8a 2021-08-05T12:31:06 Whitespace again
Behdad Esfahbod a110a47e 2021-08-05T12:28:39 Whitespace
Behdad Esfahbod 2cb8c928 2021-08-05T12:27:22 [face] Let hashmap derive invalid key/value types Works now with the previous two fixes.
Behdad Esfahbod 95c888e1 2021-08-05T12:27:02 [meta] Define hb_int_min for pointer types as nullptr
Behdad Esfahbod 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.
Behdad Esfahbod baf2166a 2021-08-05T12:07:25 [meta] Use hb_true_type/hb_false_type more
Behdad Esfahbod 74ad5ddc 2021-08-05T11:51:54 [face] Minor cleaning of previous commit
Garret Rieger c2ee1fdd 2021-08-04T16:42:49 [subset] remove unsed table_entry struct.
Garret Rieger 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.
Behdad Esfahbod 368e9578 2021-08-05T10:16:13 [ot-shape] Add comment re `vert` feature
Garret Rieger 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.
Khaled Hosny 84946e4d 2021-08-05T00:05:26 [test] Suggest updating the expectation if ttx matches https://github.com/harfbuzz/harfbuzz/issues/3089#issuecomment-892208892
Behdad Esfahbod 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
Behdad Esfahbod 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
Behdad Esfahbod 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
Khaled Hosny 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.
Behdad Esfahbod e80c86ff 2021-08-04T10:24:14 [coretext] Fix formatting
Behdad Esfahbod 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
Simon Cozens 66aef281 2021-08-04T13:34:52 Support passing variations to coretext shaper
Behdad Esfahbod f25daa47 2021-08-04T00:06:32 Merge pull request #3110 from harfbuzz/subset-tests-fast [test] Make subset tests fast
Khaled Hosny 9f544e50 2021-08-04T04:20:14 [test] Don’t skip subset tests early Check for FontTools only when the checksums are mismatching.
Khaled Hosny b0841533 2021-08-04T04:12:31 [test] Remove subset tests from the slow suite
Khaled Hosny 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.
Khaled Hosny 770fbd5a 2021-08-04T00:07:23 Revert "[test] Speed-up subset tests by saving TTX dump" This reverts commit 278f44dcee34cea25403e42e06668f0afe2328c1.
Behdad Esfahbod 62a535f1 2021-08-03T10:11:27 [khmer] Fix comment Fixes https://github.com/harfbuzz/harfbuzz/issues/3104
Khaled Hosny 2cc9ed2b 2021-08-02T22:00:11 [test] More lookup_collect_glyphs() tests
Khaled Hosny 06640374 2021-08-02T19:52:59 [test] More lookup_collect_glyphs() tests
Khaled Hosny ecdd8e3f 2021-08-02T19:36:20 [test] More lookup_collect_glyphs() tests
Khaled Hosny 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.
Behdad Esfahbod 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.
Behdad Esfahbod a363ce57 2021-08-01T22:11:13 [util/hb-subset] Minor refactor of batch mode To match recent changes to hb-shape.
Khaled Hosny 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
Behdad Esfahbod 75f314c4 2021-08-01T12:06:49 Merge pull request #3103 from harfbuzz/test-reference [test] Remove unused shaping tests reference mode
Khaled Hosny 1fd3a261 2021-08-01T19:38:39 [test] Remove unused shaping tests reference mode
Behdad Esfahbod ed99c806 2021-08-01T08:14:59 [util/hb-shape] Refactor driver type duplication
Behdad Esfahbod 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.
Behdad Esfahbod 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
Behdad Esfahbod 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
Behdad Esfahbod 5dc4cd71 2021-07-30T12:37:40 [blob] Minor change in destruction No semantic change.
Behdad Esfahbod 7cbcdaf6 2021-07-30T11:26:46 Whitespace
Behdad Esfahbod 5d283aa0 2021-07-30T10:15:09 Merge pull request #3095 from harfbuzz/subset-tests-speed [test] Speed-up subset tests by saving TTX dump
Behdad Esfahbod bbeb3a62 2021-07-30T09:54:55 Merge pull request #3096 from googlefonts/multi_flag [subset] change input and plan flags to be bit sets.
Garret Rieger b63ac571 2021-07-29T18:23:41 [subset] bail if collection region indices is in error.
Garret Rieger f9d8e4a9 2021-07-29T15:25:41 [subset] switch ..._set_flags to not take a mask.
Garret Rieger 46d4a5e6 2021-07-29T15:07:13 [subset] Convert subset plan to use a flags bit set.
Garret Rieger 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.
Khaled Hosny 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!
Khaled Hosny bafbade0 2021-07-30T01:42:45 [test] Force FontTools to use \n on all platforms On Windows in helfuly uses \r\n.
Ben Wagner 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.
Khaled Hosny 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
Behdad Esfahbod 30579f5a 2021-07-29T11:19:13 [set] Document & use open-ended del_range()
Khaled Hosny 72489f3e 2021-07-29T18:20:03 [test] Free memory in hb-aots-tester
Khaled Hosny 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.
Khaled Hosny 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.
Behdad Esfahbod 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.
Behdad Esfahbod ff1fe25a 2021-07-28T18:02:52 [VarStore] Rename internal get_scalars() to get_region_scalars()