|
430224b1
|
2021-08-16T15:40:47
|
|
[buffer] Handle pre/post-context in buffer_append
Fixes https://github.com/harfbuzz/harfbuzz/issues/1843
|
|
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
|
|
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
|
|
f245dc4d
|
2021-08-15T12:40:36
|
|
[set] Whitespace
|
|
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()
|
|
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
|