src


Log

Author Commit Date CI Message
Garret Rieger c08f1b89 2021-08-10T12:29:32 [map] fix incorrect population count in hash map. If the same key was set twice the population was being incorrectly incremented.
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.
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.
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.
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 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
Behdad Esfahbod e80c86ff 2021-08-04T10:24:14 [coretext] Fix formatting
Simon Cozens 66aef281 2021-08-04T13:34:52 Support passing variations to coretext shaper
Behdad Esfahbod 62a535f1 2021-08-03T10:11:27 [khmer] Fix comment Fixes https://github.com/harfbuzz/harfbuzz/issues/3104
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.
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.
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.
Behdad Esfahbod 30579f5a 2021-07-29T11:19:13 [set] Document & use open-ended del_range()
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()
Khaled Hosny 9a7ff54b 2021-07-29T01:52:55 [test] Write one sequence per-line https://github.com/harfbuzz/harfbuzz/pull/3087#issuecomment-888691436
Khaled Hosny 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).
Behdad Esfahbod f0a1892f 2021-07-28T17:36:22 [serialize] Remove unnecessary pointer indirection
Behdad Esfahbod 1c511ed6 2021-07-28T17:33:26 [subset] Simplify VarStore serialization
Behdad Esfahbod ad4c6924 2021-07-28T16:50:34 [subset] Simplify VarStore serialize
Behdad Esfahbod 25dee609 2021-07-28T13:58:24 [sanitize] Revert some from c68a00b92eb62fdc79f9a2bd1fc7a6acc24a3602 That overflow check was already happening in arrayZ.sanitize().
Behdad Esfahbod 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
Behdad Esfahbod b926fb9b 2021-07-28T11:58:10 Whitespace
Behdad Esfahbod 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
Behdad Esfahbod 087e2705 2021-07-28T11:42:31 Fix signed-ness error in 0ded6a70c829284a8220ce30a405b0a974061df4
Garret Rieger f3e03153 2021-07-27T14:40:15 Revert "[ci] Bin FontTools version due to recent COLRv1 changes" This reverts commit 163748b5059e7b02a8ea57e263b009020a3ed499.
Garret Rieger 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.
Behdad Esfahbod 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
Garret Rieger 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.
Behdad Esfahbod c68a00b9 2021-07-27T13:25:22 [subset] Fix possible overflows in VarRegionList serialize Fixes https://oss-fuzz.com/testcase-detail/5362189182566400
Behdad Esfahbod 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
Behdad Esfahbod bf2c87bf 2021-07-27T13:10:41 Add hb_memcpy() that does len=0 check
Khaled Hosny 5f801da9 2021-07-27T20:54:19 [hb-ms-features] Move code out of header file
Khaled Hosny 990c15db 2021-07-27T20:43:53 [hb-ms-features] Rename types to be less general
Khaled Hosny 69199211 2021-07-27T19:51:23 [uniscribe/directwrite] Move feature setup to shared file Fixes https://github.com/harfbuzz/harfbuzz/issues/3070
Garret Rieger fc7f7781 2021-07-27T12:21:19 [subset] add a note to hb-subset on what is and isn't supported (#3076)
Khaled Hosny 791a1bf3 2021-07-27T15:22:13 Don’t disable getenv on Windows The condition is inverted, regression from 40ec187dec07e97ed4004b9831e7be844e6e7948.
Behdad Esfahbod 4762fcb4 2021-07-26T11:48:55 Merge pull request #3067 from googlefonts/glyph_names [subset] support option --glyph-names
Behdad Esfahbod aeec2784 2021-07-26T11:31:54 Merge pull request #3068 from harfbuzz/hoi [variations] Support multiple axes with same tag, aka HOI
Khaled Hosny ec99fdb7 2021-07-26T01:35:13 [sebset] Use [s|g]et_flag for retain_all_layout_features Looks like this was missed when adding hb_subset_input_[s|g]et_flag()
Khaled Hosny acc7100a 2021-07-26T02:13:49 [docs] Improve subset documentation
Khaled Hosny 3e2734cf 2021-07-26T02:12:21 [docs] Don’t use GTK-Doc syntax for internal functions We don’t generate docs for them, reduces the number of warnings.
Qunxin Liu 71b5509c 2021-07-20T20:05:35 [subset] support option --glyph-names
Behdad Esfahbod b235511e 2021-07-23T12:15:15 Merge pull request #3021 from googlefonts/stable_api [subset] update hb_subset api with final changes before going stable.
Behdad Esfahbod a9a607d3 2021-07-22T16:49:56 [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
Garret Rieger 1fde80ad 2021-07-22T16:45:48 [subset] update comments referencing hb_subset_input_t parameter.
Garret Rieger c581d11e 2021-07-22T14:04:39 [set] in hb_set_set() avoid calling memcpy on nullptr.
Garret Rieger 2b9cb299 2021-07-22T13:26:03 [subset] cleanup no_subset_tables on destruction.
Garret Rieger 89fc399e 2021-07-22T13:00:34 [subset] Add hb-subset section documentation.
Garret Rieger 792e2ed6 2021-07-22T12:41:48 [subset] convert no get/set prune unicode ranges to enum.
Behdad Esfahbod 0a44feae 2021-07-22T12:18:48 [fvar] Make find_axis_index() return a range, not individual value
Garret Rieger 1b6c1aa6 2021-06-28T12:57:39 [subset] add hb-subset api to documentation generator. Standardize subset_input parameter to be input.
Garret Rieger 8ce96834 2021-06-23T13:55:11 [subset] add documentation for all hb-subset.h methods.
Garret Rieger 9ab751ac 2021-06-23T13:38:47 [subset] Remove hb_subset(). Leaving just hb_subset_or_fail().
Garret Rieger e5c887fc 2021-06-23T13:19:25 [subset] add documentation for subset input flag enums.
Garret Rieger 372722ce 2021-06-23T13:10:03 [subset] move notdef_outline to the subset input property enum.
Garret Rieger a6c6cda4 2021-06-09T17:46:47 [subset] Add no subset tables and passthrough unrecognized tables to the subset api. Matches fontTools options.
Garret Rieger 668f2bd9 2021-06-09T16:33:50 [subset] Add hb_subset_or_fail () to public subset api.
Garret Rieger aba2e131 2021-06-09T16:23:35 [subset] Remove hb_subset_input_get/set_overlaps_flag ().
Garret Rieger 7d82191f 2021-06-09T16:20:55 [subset] Remove hb_subset_input_get/set_name_legacy ().
Garret Rieger 942636ae 2021-06-09T16:18:39 [subset] Remove hb_subset_input_get/set_retain_gids.
Garret Rieger 77b4a1cd 2021-06-09T14:11:17 [subset] Remove hb_subset_input_get/set_desubroutinize.
Garret Rieger 8bf5d4d4 2021-06-09T14:05:17 [subset] Remove hb_subset_input_get/set_drop_hints.
Garret Rieger 9fb3a256 2021-06-09T13:46:35 [subset] Use hb_set_copy in subset input.
Garret Rieger 38de3491 2021-06-09T12:54:14 [subset] add implementation for get/set flag on subset input.
Garret Rieger 83727837 2021-06-09T11:09:14 [subset] add proposed enum property get/set method.
Garret Rieger b38e49dc 2021-06-09T10:57:58 [subset] add get/set user data methods to subset input.
Garret Rieger edb57a8d 2021-06-09T10:42:48 Make subset input const in the subsetting operation. Don't modify the subset input's sets.
Behdad Esfahbod 233c29b3 2021-07-22T12:00:24 [font] Call fvar.find_axis_index instead of find_axis_info in set_variations()
Behdad Esfahbod 89018068 2021-07-22T11:59:23 [fvar] Centralize axis finding logic Part of fixing https://github.com/harfbuzz/harfbuzz/issues/1673
Behdad Esfahbod 0b2280af 2021-07-22T11:53:32 [font] Call fvar table directly, instead of calling public get_axis_info To lighten it up in next commit.
Behdad Esfahbod b86a45ca 2021-07-22T11:46:44 [fvar] Add TODO Fixing https://github.com/harfbuzz/harfbuzz/issues/1673
Behdad Esfahbod ba6db26b 2021-07-22T11:37:39 Tolerate unsorted OT table entries for small number of entries See comment. Fixes https://github.com/harfbuzz/harfbuzz/issues/3065
Behdad Esfahbod 03cd9c5c 2021-07-22T11:27:33 Align lfind() API to match bfind()
Behdad Esfahbod f54f5c1b 2021-07-22T11:09:02 Fix debug printer of bool
Garret Rieger 6269866b 2021-07-16T14:06:55 [subset] Keep bimap consistent if only one of the internal maps is in error.
Garret Rieger 48edbef9 2021-06-29T13:14:26 [subset] bail if region_map is in error. Fixes fuzzer case https://oss-fuzz.com/testcase-detail/5499162606043136.
Behdad Esfahbod 79e8b306 2021-07-16T15:06:10 [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
Behdad Esfahbod 1060b049 2021-07-14T17:50:46 Merge pull request #3060 from googlefonts/unicode_collect [subset] de-duplicate the logic that finds unicodes corresponding to …
Garret Rieger 9aa0ecef 2021-07-14T17:27:14 [subset] de-duplicate the logic that finds unicodes corresponding to requested glyphs. Move the logic into subset planning and then re-use the results in cmap and OS2 subsetting. Removes depedency on cmap from os2.
Garret Rieger deee24fb 2021-07-14T13:46:36 [subset] Add missing FontName op code in top dict parsing. Fix for #3058