|
59deb754
|
2021-08-24T17:06:14
|
|
[subset] rename _collect_subset_layout to _collect_layout_indices.
Better describes what the function does.
|
|
f2441a4b
|
2021-08-24T15:53:32
|
|
[subset] Remove retain all layout features flag.
Instead use inverted sets to handle requesting all features. Modifies feature collection in subset plan to intersect the set of requested features against the features in the font. This prevents iterating a fully filled feature tag set.
|
|
c90678cb
|
2021-08-24T11:11:12
|
|
[set] One more try to fix things
That I don't let a "make check -j10" run finish before pushing things
out means either that we need to speed up our build / test process,
or I need a faster laptop...
|
|
35797696
|
2021-08-24T10:55:12
|
|
[set] One more try at fixing clear() on empty set
|
|
fb07f8f8
|
2021-08-23T15:33:57
|
|
During subset input creation check for set alloc failures and fail if encountered.
|
|
b5177d21
|
2021-08-24T10:43:37
|
|
[set] Fix seam exposed by previous commit
|
|
f0de40dd
|
2021-08-23T23:52:17
|
|
Whitespace
|
|
8cdbea55
|
2021-08-23T23:44:55
|
|
[ot-shape-normalize] Move buffer out of hb_ot_shape_normalize_context_t
|
|
10da9fd2
|
2021-08-23T23:32:02
|
|
[ot-map] Whitespace
|
|
d3e09bf4
|
2021-08-24T10:31:49
|
|
[set] Make all operators null-safe again
Changed my mind.
Also for hb_map_clear().
Part of https://github.com/harfbuzz/harfbuzz/pull/3162
|
|
33c82c7d
|
2021-08-22T22:31:39
|
|
[ot-shape] Fix unused-var error when building without AAT
Fixes https://github.com/harfbuzz/harfbuzzjs/issues/45
|
|
34e0b28f
|
2021-08-18T20:46:06
|
|
[subset] make glyph-names option match fonttools behavior
Don't encode psNames that are contained in standard glyph names set
|
|
829b0f33
|
2021-08-20T01:28:15
|
|
Merge pull request #3154 from harfbuzz/set-invert
Resurrect hb_set_invert()
|
|
84c2a302
|
2021-08-19T16:33:48
|
|
[bit-set-invertible] Second try fixing previous()
|
|
8f88747a
|
2021-08-19T16:30:48
|
|
[bit-set-invertible] Fix previous() iteration
|
|
1d832693
|
2021-08-19T16:02:30
|
|
[set] Protect against immutible null set with invertible addition
|
|
dc800ffd
|
2021-08-19T15:35:51
|
|
[bit-set] Remove TODO items we don't intend to finish
|
|
92908c12
|
2021-08-19T15:28:26
|
|
[bit-set-invertible] Remove extra check
We don't expect immutable / null set in this code.
|
|
1babe80e
|
2021-08-19T15:18:32
|
|
[bit-set-invertible] Fix last remaining corner-case
|
|
e8911d13
|
2021-08-19T14:59:57
|
|
[bit-set-invertible] Implement a couple other missing corner cases
Also, in bit-set, don't compute population in is_equal/is_subset()
if we don't have it computed already.
|
|
2579dc64
|
2021-08-19T14:48:27
|
|
[bit-set-invertible] Move code around
|
|
2dfc1042
|
2021-08-19T14:47:33
|
|
[bit-set-invertible] Implement is_empty() for inverted case as well
|
|
ec4812a7
|
2021-08-19T13:32:44
|
|
[bit-page] Remove unused inverted code
|
|
87885e6f
|
2021-08-19T13:26:25
|
|
[bit-set-invertible] Fix next/previous() logic
|
|
ee4e331a
|
2021-08-19T13:23:22
|
|
[bit-set] Remove unused get_min(inverted)
|
|
eec1a25e
|
2021-08-19T13:22:36
|
|
[bit-set-invertible] Rewrite get_min/max() in terms of next/previous()
|
|
f09d5ed0
|
2021-08-19T13:06:10
|
|
[algs] Remove hb_bitwise_non()
|
|
f4fd7baf
|
2021-08-19T13:05:12
|
|
[bit-set-invertible] Fix subtract() logic
|
|
f317d8e4
|
2021-08-19T13:01:07
|
|
[bit-set-invertible] Fix intersect() logic
|
|
b21038d9
|
2021-08-19T11:24:17
|
|
[bit-set-invertible] Rewrite next/previous_range() in terms of s.next/previous()
|
|
eb98bc1e
|
2021-08-19T11:19:24
|
|
[bit-set-invertible] Rewrite next/previous() using s.next/previous_range()
|
|
248ad3bc
|
2021-08-19T10:17:51
|
|
[bit-set-invertible] Implement next/previous
This makes invertible set functionality complete.
|
|
c27f5b12
|
2021-08-19T10:01:24
|
|
[bit-set-invertible] Plug in next_range()/previous_range()
|
|
f6aa3715
|
2021-08-19T01:12:25
|
|
[bit-set-invertible] Fix process logic for inverted
[# On branch set-invert
|
|
060de189
|
2021-08-19T00:58:34
|
|
[bit-page] Fix sanitizer error
This essentially reverts 9449cfeefd7e3b761c8035c45330abd7a5201604
Problem was dereferencing pointer at end of array...
|
|
b119b480
|
2021-08-19T00:51:24
|
|
[bit-set-invertible] Add unlikely() around inverted checks
|
|
b94f24ec
|
2021-08-19T00:48:00
|
|
[bit-set-invertible] Implement set algebra
|
|
6afefe1d
|
2021-08-19T00:27:03
|
|
[algs] Remove unnecessary struct tag names
|
|
8aa92ff8
|
2021-08-18T23:01:06
|
|
[bit-set-invertible] Implement get_min/max
|
|
18f50275
|
2021-08-18T22:08:06
|
|
[bit-set] Restructure get_min/max() in prep for adding inverted
|
|
669b97d9
|
2021-08-18T21:39:04
|
|
[bit-set-invertible] Implement iterator
|
|
c66894d7
|
2021-08-18T21:24:29
|
|
[bit-set-invertible] Write a subset branch as dagger
|
|
c39d2f7a
|
2021-08-18T21:20:54
|
|
[bit-set-invertible] Implement add_array / add_sorted_array / intersects
|
|
0efa614c
|
2021-08-18T21:16:05
|
|
[bit-set] Add del_array/del_sorted_array()
|
|
48ad9eef
|
2021-08-18T21:05:21
|
|
[bit-set] Merge page_for_insert() into page_for()
|
|
280366ba
|
2021-08-18T15:50:49
|
|
Add TODO to update NN offsets to allow nulls.
|
|
dc31920b
|
2021-08-18T14:20:14
|
|
Don't serialize null offsets in CPAL.
Fixes https://oss-fuzz.com/testcase-detail/5443213648330752
|
|
80ff72f3
|
2021-08-18T13:09:03
|
|
[doc] Misc fixes
|
|
9aa6f8a9
|
2021-08-18T09:32:04
|
|
2.9.0
|
|
f0c3804f
|
2021-08-17T15:37:19
|
|
[set] Add hb_bit_set_invertible_t and resurrect hb_set_invert()
Implementation is NOT complete yet.
|
|
b5cdbdc0
|
2021-08-17T10:53:08
|
|
[set] Turn hb_set_t into instance of template taking implementation t
|
|
fad452bf
|
2021-08-16T20:48:24
|
|
[set] Move main functionality into hb_bit_set_t
To add inversion on top in hb_invertible_set_t and use that as hb_set_t.
|
|
9cc4da96
|
2021-08-16T20:17:53
|
|
[object] Remove hb_object_is_inert()
|
|
2d5ef05d
|
2021-08-16T20:13:58
|
|
Use !g_object_is_valid() instead of g_object_is_inert()
|
|
f6d6eff6
|
2021-08-16T19:41:44
|
|
[object] Remove unused HB_REFERENCE_COUNT_INIT
|
|
f245dc4d
|
2021-08-15T12:40:36
|
|
[set] Whitespace
|
|
9b390f8c
|
2021-08-15T12:34:55
|
|
[set] Move page_t into hb-bit-page.hh
|
|
0c3e02ee
|
2021-08-15T12:10:13
|
|
[set] Add "inverted" to page_t::is_empty()
|
|
9bd64fa0
|
2021-08-15T11:42:16
|
|
[set] Add "inverted" to page_t::next/prev()
|
|
c88e7ec9
|
2021-08-15T11:39:31
|
|
[set] Add page_t::elt_maybe_invert()
|
|
9449cfee
|
2021-08-15T11:35:33
|
|
[set] Simplify page_t::next/prev()
|
|
4394ee1f
|
2021-08-15T11:28:09
|
|
[set] Add inverted to page_t::get_min/max()
|
|
0dcd9b15
|
2021-08-15T11:11:10
|
|
[set] Add page_t::set_range()
|
|
cb273fd1
|
2021-08-15T11:09:08
|
|
[set] Add page_t::set()
|
|
32bbf53d
|
2021-08-15T11:06:52
|
|
[set] Minor rewrite one cmp() in term of other
|
|
cb05c363
|
2021-08-13T15:19:20
|
|
[subset] add some basic tests for the legacy subset methods.
|
|
d18aad7e
|
2021-08-13T15:05:48
|
|
[subset] restore old subsetting api methods.
These will be left in place until the 3.0.0 release.
|
|
c0f3af91
|
2021-08-11T16:20:05
|
|
[subset] speed up add_gid_and_children and adjust op limit.
Fix for fuzzer timeout: https://oss-fuzz.com/testcase-detail/5001604901240832.
- Operation limit is per glyph, so 100,000 should still be far more than needed.
- Switches from for(...) to while(...) loop for iteration. for(...) calls it.end() which in this case triggers a complete iteration.
- Cache CompositeGlyph size in the iterator to avoid needing to recalculate it.
|
|
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()
|