|
a9fb6a0c
|
2021-06-06T14:40:50
|
|
[aat] Add start table/end table to buffer messages
Related to https://github.com/harfbuzz/harfbuzz/issues/3008
|
|
cf9538e8
|
2021-06-04T22:33:16
|
|
Removal remaining uses of "blacklist" terminology
|
|
35d6af69
|
2021-06-04T10:04:27
|
|
[subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648
|
|
3d48bfc1
|
2021-06-02T23:12:53
|
|
Avoid a deprecation warning in graphite2
As of graphite2 1.3.7, `gr_make_face` is deprecated in favor of
`gr_make_face_with_ops`. It's a one-liner to port over to using it.
This is potentially a compatibility break since I'm not sure when the
`with_ops` API was added, but the minimum version of graphite2 that's
supported by Harfbuzz doesn't seem to be documented anywhere anyway.
|
|
1b6008ca
|
2021-06-02T15:07:18
|
|
fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736
|
|
18f61210
|
2021-05-27T16:01:17
|
|
Add public api methods to get/set the layout features to retain.
|
|
243d056f
|
2021-06-02T14:08:11
|
|
Removed unused variable `supp_size` from plan_subset_encoding(...).
|
|
7ab0f4ed
|
2021-05-27T11:40:34
|
|
fuzzer fix
|
|
cb5a6b5a
|
2021-05-19T17:33:46
|
|
[subset] support option --layout-features
|
|
73ff04a3
|
2021-05-18T16:54:01
|
|
[subset] add option to have the subsetter set the mac overlaps flag on each glyph.
|
|
f739e1dc
|
2021-05-11T11:44:32
|
|
[subset] subset both CPAL and COLRv1
|
|
466e1fdf
|
2021-05-26T14:22:21
|
|
[subset] remove unnessecary brackets.
|
|
58323729
|
2021-05-26T14:06:02
|
|
Add cmp() method for major to page map.
|
|
2c137045
|
2021-05-20T16:22:04
|
|
[subset] Optimize set iteration by caching the last found page map index.
Reuse it if possible on consecutive calls to next(). Will signifcantly speed up cases where the entire set is iterated. In local testing iterating a very large set was 10x faster.
|
|
9e5738a8
|
2021-05-26T15:12:39
|
|
[set] Okay, giving up on constexpr till C++14
../src/hb-set.hh:213:89: error: call to non-'constexpr' function 'const elt_t& hb_vector_size_t<elt_t, byte_size>::operator[](unsigned int) const [with elt_t = long long unsigned int; unsigned int byte_size = 64]'
|
|
90fa558a
|
2021-05-26T15:05:48
|
|
[set] Another try at constexpr to make msvc happy
|
|
bf5d4a63
|
2021-05-26T14:27:02
|
|
[set] Add TODO
|
|
11d03f1f
|
2021-05-26T14:26:05
|
|
[set] Mark a couple methods as constexpr
|
|
d2829ad3
|
2021-05-26T14:24:27
|
|
[set] Refactor code into page_t::is_subset()
|
|
e47e44a8
|
2021-05-26T14:19:27
|
|
[set] Whitespace
|
|
2000f47a
|
2021-05-19T00:34:09
|
|
[set] Compute is_subset by comparing pages.
Test subsets one page at a time instead of by codepoints. On my machine
this is about 250x faster than the previous implementation.
|
|
1dffb553
|
2021-05-18T12:31:14
|
|
Chromium build fixes for C++ 17 warning and missing _remap_indexes
Use class instead of typename, move _remap_indexes out of #ifndef.
Fixes #2979
|
|
4f1e8d2b
|
2021-05-05T11:11:43
|
|
[aat] Update glyph properties from GDEF if available when doing a replacement.
|
|
bbc5fc37
|
2021-05-13T11:39:09
|
|
[aat] If shaping via morx, don't adjust mark positioning when zeroing widths.
|
|
5e0ec33b
|
2021-05-12T14:46:54
|
|
Error when link width not in [2, 4]
|
|
b23f29bf
|
2021-04-17T09:59:45
|
|
[subset] Add subset () method for COLRv1 Paint tables, BaseGlyphV1List and LayerV1List
Also add support for Offset24 in serializer and repacker
|
|
413769bf
|
2021-05-12T14:14:06
|
|
Add hb-ot-color-colrv1-closure.hh to sources list.
|
|
de0eba20
|
2021-05-12T14:05:34
|
|
Remove array for visited_paint.
|
|
e59ffe54
|
2021-04-01T12:01:19
|
|
[subset] COLRv1 layer/palette indices closure
|
|
a08900b7
|
2021-05-04T16:48:41
|
|
[subset] fix failing colrv0 subsetting when font has composite glyphs.
Composite glyph collection was happening along side colrv0 glyph collection which meant it was possible to miss grabbing the component glyphs for a glyph added by colrv0.
|
|
b54d9b69
|
2021-05-06T06:22:48
|
|
start
|
|
b37f03f1
|
2021-05-04T02:07:06
|
|
2.8.1
|
|
be50779c
|
2021-04-30T12:59:17
|
|
[subset] correct ClassDef format determination.
It was possible for glyph_min to be a glyph mapped to class zero which threw off the number of glyph calculation.
|
|
90713f27
|
2021-04-30T16:56:39
|
|
[hb-ot-layout] Document some return values
|
|
e25efb31
|
2021-04-23T19:09:37
|
|
[subset] consider all value formats when computing effective format.
|
|
84dbfacf
|
2021-04-15T16:52:11
|
|
[subset] fix collect_variation_idx in PairPosFormat2
|
|
d356d0f7
|
2021-04-23T17:41:09
|
|
[subset] optimize ValueRecord's for PairPosFormat1.
|
|
f9fbe481
|
2021-04-23T17:06:06
|
|
[subset] implement value record optimization for PairPosFormat2.
|
|
badb8e40
|
2021-04-23T16:32:56
|
|
[subset] use copy_values for PairPos serialize.
|
|
2f50283c
|
2021-04-23T15:21:30
|
|
[subset] Begin implementing ValueRecord optimization:
remove value records which have a zero value.
|
|
5df7c668
|
2021-04-22T16:45:14
|
|
[subset] In SinglePosFormat1 serialize only 1 value record.
Previously one record per glyph in the subset was serialized.
|
|
92757f68
|
2021-04-22T15:18:35
|
|
[subset] Don't drop anchor device tables when dropping hints. These may contain variation data.
Update subseting expected files to match latest version of fontTools.
|
|
6fddc2bb
|
2021-04-01T15:34:17
|
|
[subset] subset layout tables (G*) by default.
|
|
425ba1f4
|
2021-04-19T18:01:24
|
|
[subset] fixes infinite loop in hb_set_get_max().
Fixes https://oss-fuzz.com/testcase-detail/5363902507515904
|
|
ec432106
|
2021-04-19T17:18:05
|
|
[subset] fix infinite loop caused by alloc failure in repacker.
Fixes: https://oss-fuzz.com/testcase-detail/5609112151916544.
|
|
0e845d97
|
2021-04-19T16:09:37
|
|
[subset] fix memory leak in repacker caused by failed alloc.
Fixes: https://oss-fuzz.com/testcase-detail/5616763250278400.
|
|
3fb62cdc
|
2021-04-05T15:48:34
|
|
[subset] fail on offset overflow in tables that we don't repack.
Fixes: https://oss-fuzz.com/testcase-detail/5229304507138048
|
|
ed2ee8a8
|
2021-04-16T13:53:43
|
|
Revert "Disable -Wunused-macros under GCC"
This reverts commit 1b1413246b8b4a9c6f7e0aac16afd6d110c142cf.
Err. It wasn't working. We already have that disabled in the files it
is warning about. Doesn't work.
|
|
1b141324
|
2021-03-30T20:54:20
|
|
Disable -Wunused-macros under GCC
Since the pragram in hb-ot-shape-complex-indic-table.cc didn't seem to
silence GCC, eg:
../../src/hb-ot-shape-complex-indic-table.cc:55: warning: macro "ISC_TL" is not used [-Wunused-macros]
55 | #define ISC_TL INDIC_SYLLABIC_CATEGORY_TONE_LETTER /* 7 chars; Tone_Letter */
disable it at compiler level.
|
|
23a28f5a
|
2021-04-16T13:22:05
|
|
Avoid undefined-behavior
If a struct had (because it's a union) sizeof that is larger than the null_size,
we were providing only null_size bytes for its Null object. We know we'd never
access beyond that, but is undefined-behavior nonetheless according to the
standard.
The alternative fix would have required use of flexible-arrays, which are not
standard and have their own issues in various compiler. We've discussed that
extensively in the follow Mozilla issue (currently locked; I've asked that it
be opened):
https://bugzilla.mozilla.org/show_bug.cgi?id=1577584
Part of
https://github.com/harfbuzz/harfbuzz/pull/2067
|
|
499248c5
|
2021-04-16T13:14:48
|
|
[blob] Use min_size, instead of null_size in .as<T>()
Part of https://github.com/harfbuzz/harfbuzz/pull/2067
|
|
e116058b
|
2021-04-15T13:52:19
|
|
[directwrite] Use correct UTF-16 string length
Fixes https://github.com/harfbuzz/harfbuzz/issues/2474
|
|
668acff1
|
2021-04-12T14:25:19
|
|
similarly improve comments on Hebrew ccc 18 & 19
Should have committed this along with commit 9658435a25c2ba82 but forgot.
|
|
43d95520
|
2021-04-12T14:01:56
|
|
improve comments on Hebrew ccc 18 & 19
improve comments to reflect that:
ccc 18 includes both "flavors" of qamats: qamats [gadol] and qamats qatan
ccc 19 includes both "flavors" of holam: holam [not haser for vav] and holam haser for vav
This code and its comments may have been written before these code points were added to Unicode.
I.e. originally, these comments may have been complete, but they may have become incomplete in the meantime.
|
|
9dc9f038
|
2021-04-08T11:00:17
|
|
[subset] fix for fuzzer testcase: https://oss-fuzz.com/testcase-detail/5858518134554624
|
|
430a67ce
|
2021-04-01T12:01:19
|
|
[subset] COLRv1 struct definitions
|
|
553ffaf6
|
2021-04-07T17:15:32
|
|
[subset] fix for fuzzer testcase: https://oss-fuzz.com/testcase-detail/6382598554255360
avoid writing to null pointer
|
|
8b686afe
|
2021-04-06T11:33:38
|
|
[subset] add unlikely().
|
|
64122b5a
|
2021-04-05T12:53:08
|
|
[subset] don't visit lookup if covered glyph set has failed.
If covered glyph set is in error then the same lookup can be recursed into repeatedly potentially causing a fuzzer timeout. Fixes: https://oss-fuzz.com/testcase-detail/5416421032067072.
|
|
6f98a8ed
|
2021-04-02T14:37:10
|
|
[subset] Anchor should only use format 1 when hints are dropped.
Refactor Anchor to have a subset method instead of copy. This also allows
use to use serialize_subset in several places which simplifies calculating
offset bases.
|
|
71d6d156
|
2021-04-05T12:03:17
|
|
[subset] clamp distance to prevent shifting outside of the limits of int64.
Fixes https://oss-fuzz.com/testcase-detail/4961171477233664.
|
|
fcacd177
|
2021-04-05T22:27:39
|
|
[ot] Update _hb_glyph_info_is_default_ignorable_and_not_hidden()
Used _hb_glyph_info_substituted() similar to the change made to
_hb_glyph_info_is_default_ignorable() in
7686ff854bbb9698bb1469dcfe6d288c695a76b7.
|
|
596f4258
|
2021-04-02T12:41:09
|
|
[subset] copy Lookup::markFilteringSet when subseting.
|
|
d3a2f999
|
2021-04-02T08:32:41
|
|
Fix up build
This was left out; oops.
|
|
c35d7863
|
2021-04-01T14:32:38
|
|
[subset] never drop the 'pref' feature.
Never ever drop feature 'pref', even if it's empty. Harfbuzz uses it to choose the shaper for Khmer.
|
|
092094f7
|
2021-04-01T15:47:21
|
|
Use as_array() and range loops in a few places
|
|
55e7f3fe
|
2021-04-01T13:35:30
|
|
[subset] Match FeatureVariationRecord dropping from fontTools.
Only drop records with no matching features that are at the end of the list. See: https://github.com/fonttools/fonttools/commit/cab7d13dc0883765cde435215c7d65e9212f152d
|
|
f0c78e02
|
2021-03-25T12:57:12
|
|
[subset] don't drop features referenced in a feature variation substitution.
|
|
dae99b77
|
2021-03-25T12:33:51
|
|
[subset] don't keep FeatureVariationRecord's with no subsittutions.
|
|
b10741ca
|
2021-03-25T19:14:48
|
|
[subset] when closing glyphs in context lookups don't use a current glyph set if a lookup is already applied.
|
|
8ef4257d
|
2021-03-31T15:00:46
|
|
[sanitize] change max ops to track number of bytes processed.
Counting bytes as the operations is likely to be a better proxy for how
much work processing the table will cost vs. the current approach of
counting the number of sub-objects.
This should allow checks for max features, max scripts, etc. to be removed.
I tested this change against the full collection of fonts at https://github.com/google/fonts
and a max ops factor of 3 was sufficient to successfully sanitize all of them.
|
|
70110f6a
|
2021-03-31T17:04:02
|
|
Modify OffsetTo<>::sanitize() overflow check
The code in question was introduced in 70eb2ff682.
Rewrite it to not call sanitizer check_range() as we want to use
check_range() for byte accounting.
Part of https://github.com/harfbuzz/harfbuzz/pull/2923
|
|
4dba749d
|
2021-03-31T16:09:39
|
|
Add SortedArray{16,32}Of<>
|
|
5639e253
|
2021-03-31T16:04:43
|
|
Add Array16Of<>
|
|
2520a82d
|
2021-03-31T15:34:26
|
|
s/LArrayOf/Array32Of/g
|
|
5efe3609
|
2021-03-31T15:33:22
|
|
Rename (Unsized)OffsetListOf
|
|
6c4e0491
|
2021-03-31T15:31:32
|
|
s/OffsetArrayOf/Array16OfOffset16To/g
|
|
1fc6b69a
|
2021-03-31T15:30:35
|
|
s/UnsizedOffsetArrayOf/UnsizedArray16OfOffsetTo/g
|
|
2a54c9f7
|
2021-03-31T15:26:42
|
|
.
|
|
c539afb0
|
2021-03-31T13:28:25
|
|
[CFF] Use NNOffsetTo<> instead of OffsetTo<>
I'm pretty sure that's what is intended.
|
|
9b4b5849
|
2021-03-31T13:27:21
|
|
Fixup for recent OffsetTo<> changes
|
|
ad28f973
|
2021-03-31T12:49:14
|
|
Rename offset types to be explicit about their size
Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
|
|
c5c13006
|
2021-03-31T11:23:46
|
|
[subset] fix memory leaks found in https://oss-fuzz.com/testcase-detail/5179935334465536
|
|
bd2950b3
|
2021-03-31T11:36:36
|
|
Make VariationStore::get_delta(outer, inner) private
|
|
934675a4
|
2021-03-31T11:34:41
|
|
Use VarIdx in VariationDevice
|
|
0f7f7536
|
2021-03-31T11:31:49
|
|
[hvar] Change variation-index types from "unsigned int" to uint32_t
|
|
9ffc46b8
|
2021-03-31T11:26:18
|
|
Add VarIdx
|
|
2179281c
|
2021-03-31T11:20:21
|
|
Add Offset24
|
|
cab9d5a5
|
2021-03-19T22:10:50
|
|
hb-config: Include config-override earlier
Currently config-override.h is included at the end of this file. This caused a problem for me while undefing HB_DISABLE_DEPRECATED, namely HB_IF_NOT_DEPRECATED was defined before actual undef took place and broke the whole build. I believe it would break builds for some other defines, too. Moving config-override.h include right after predefined configs is more sane and fixes all potential problems with includes.
|
|
adca4ce0
|
2021-03-30T13:20:50
|
|
[subset] fixes https://oss-fuzz.com/testcase-detail/6173520787800064.
Caused by incorrect bounds check in glyph closure for context lookups.
|
|
9f77a0c1
|
2021-03-30T14:10:45
|
|
[subset] use hb_set_clear to avoid calling clear() on null pool set.
|
|
752e393a
|
2021-03-29T17:23:33
|
|
[subset] avoid calling clear on null pool set.
|
|
9ed5f04a
|
2021-03-29T18:14:30
|
|
[subset] Simplify recent out-of-memory fixes
By checking return status of map->set().
|
|
a8f9f85a
|
2021-03-29T18:12:05
|
|
[map] Return success from ->set()
|
|
8741914a
|
2021-03-29T16:39:44
|
|
[subset] fix memory leak when map insert fails.
|
|
23976893
|
2021-03-29T17:34:23
|
|
Remove hb_success_t
Was not rolled-out yet. So just expand.
|
|
7a2eda78
|
2021-03-29T17:32:29
|
|
Move code around
|
|
bcb57dcc
|
2021-03-29T17:31:09
|
|
[sanitize] Add short-circuit to ArrayOfM1
Like the sibling ArrayOf types.
|
|
52df6b9f
|
2021-03-29T16:17:27
|
|
[subset] check for set insertion success.
|
|
c6adb90a
|
2021-03-29T16:08:44
|
|
[subset] fix nullptr deref.
|