|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
e80c86ff
|
2021-08-04T10:24:14
|
|
[coretext] Fix formatting
|
|
66aef281
|
2021-08-04T13:34:52
|
|
Support passing variations to coretext shaper
|
|
62a535f1
|
2021-08-03T10:11:27
|
|
[khmer] Fix comment
Fixes https://github.com/harfbuzz/harfbuzz/issues/3104
|
|
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.
|
|
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.
|
|
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.
|
|
30579f5a
|
2021-07-29T11:19:13
|
|
[set] Document & use open-ended del_range()
|
|
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()
|
|
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.
|
|
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
|
|
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)
|
|
791a1bf3
|
2021-07-27T15:22:13
|
|
Don’t disable getenv on Windows
The condition is inverted, regression from
40ec187dec07e97ed4004b9831e7be844e6e7948.
|
|
4762fcb4
|
2021-07-26T11:48:55
|
|
Merge pull request #3067 from googlefonts/glyph_names
[subset] support option --glyph-names
|
|
aeec2784
|
2021-07-26T11:31:54
|
|
Merge pull request #3068 from harfbuzz/hoi
[variations] Support multiple axes with same tag, aka HOI
|
|
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()
|
|
acc7100a
|
2021-07-26T02:13:49
|
|
[docs] Improve subset documentation
|
|
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.
|
|
71b5509c
|
2021-07-20T20:05:35
|
|
[subset] support option --glyph-names
|
|
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.
|
|
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
|
|
1fde80ad
|
2021-07-22T16:45:48
|
|
[subset] update comments referencing hb_subset_input_t parameter.
|
|
c581d11e
|
2021-07-22T14:04:39
|
|
[set] in hb_set_set() avoid calling memcpy on nullptr.
|
|
2b9cb299
|
2021-07-22T13:26:03
|
|
[subset] cleanup no_subset_tables on destruction.
|
|
89fc399e
|
2021-07-22T13:00:34
|
|
[subset] Add hb-subset section documentation.
|
|
792e2ed6
|
2021-07-22T12:41:48
|
|
[subset] convert no get/set prune unicode ranges to enum.
|
|
0a44feae
|
2021-07-22T12:18:48
|
|
[fvar] Make find_axis_index() return a range, not individual value
|
|
1b6c1aa6
|
2021-06-28T12:57:39
|
|
[subset] add hb-subset api to documentation generator.
Standardize subset_input parameter to be input.
|
|
8ce96834
|
2021-06-23T13:55:11
|
|
[subset] add documentation for all hb-subset.h methods.
|
|
9ab751ac
|
2021-06-23T13:38:47
|
|
[subset] Remove hb_subset(). Leaving just hb_subset_or_fail().
|
|
e5c887fc
|
2021-06-23T13:19:25
|
|
[subset] add documentation for subset input flag enums.
|
|
372722ce
|
2021-06-23T13:10:03
|
|
[subset] move notdef_outline to the subset input property enum.
|
|
a6c6cda4
|
2021-06-09T17:46:47
|
|
[subset] Add no subset tables and passthrough unrecognized tables to the subset api.
Matches fontTools options.
|
|
668f2bd9
|
2021-06-09T16:33:50
|
|
[subset] Add hb_subset_or_fail () to public subset api.
|
|
aba2e131
|
2021-06-09T16:23:35
|
|
[subset] Remove hb_subset_input_get/set_overlaps_flag ().
|
|
7d82191f
|
2021-06-09T16:20:55
|
|
[subset] Remove hb_subset_input_get/set_name_legacy ().
|
|
942636ae
|
2021-06-09T16:18:39
|
|
[subset] Remove hb_subset_input_get/set_retain_gids.
|
|
77b4a1cd
|
2021-06-09T14:11:17
|
|
[subset] Remove hb_subset_input_get/set_desubroutinize.
|
|
8bf5d4d4
|
2021-06-09T14:05:17
|
|
[subset] Remove hb_subset_input_get/set_drop_hints.
|
|
9fb3a256
|
2021-06-09T13:46:35
|
|
[subset] Use hb_set_copy in subset input.
|
|
38de3491
|
2021-06-09T12:54:14
|
|
[subset] add implementation for get/set flag on subset input.
|
|
83727837
|
2021-06-09T11:09:14
|
|
[subset] add proposed enum property get/set method.
|
|
b38e49dc
|
2021-06-09T10:57:58
|
|
[subset] add get/set user data methods to subset input.
|
|
edb57a8d
|
2021-06-09T10:42:48
|
|
Make subset input const in the subsetting operation. Don't modify the subset input's sets.
|
|
233c29b3
|
2021-07-22T12:00:24
|
|
[font] Call fvar.find_axis_index instead of find_axis_info in set_variations()
|
|
89018068
|
2021-07-22T11:59:23
|
|
[fvar] Centralize axis finding logic
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/1673
|
|
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.
|
|
b86a45ca
|
2021-07-22T11:46:44
|
|
[fvar] Add TODO
Fixing https://github.com/harfbuzz/harfbuzz/issues/1673
|
|
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
|
|
03cd9c5c
|
2021-07-22T11:27:33
|
|
Align lfind() API to match bfind()
|
|
f54f5c1b
|
2021-07-22T11:09:02
|
|
Fix debug printer of bool
|
|
6269866b
|
2021-07-16T14:06:55
|
|
[subset] Keep bimap consistent if only one of the internal maps is in error.
|
|
48edbef9
|
2021-06-29T13:14:26
|
|
[subset] bail if region_map is in error.
Fixes fuzzer case https://oss-fuzz.com/testcase-detail/5499162606043136.
|
|
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
|
|
1060b049
|
2021-07-14T17:50:46
|
|
Merge pull request #3060 from googlefonts/unicode_collect
[subset] de-duplicate the logic that finds unicodes corresponding to …
|
|
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.
|
|
deee24fb
|
2021-07-14T13:46:36
|
|
[subset] Add missing FontName op code in top dict parsing.
Fix for #3058
|