|
0fe90ebc
|
2023-05-03T12:49:31
|
|
[Ligature] Micro-optimize
|
|
51061d28
|
2023-05-03T12:46:04
|
|
[Ligature] Minor tweak to recent code
|
|
7881eadf
|
2023-05-02T14:56:18
|
|
[Ligature] Speed up
Match the first component of the ligature in the LigatureSet loop.
Speeds up Roboto shaping by 25%. I don't think it breaks anything.
The test suite seems happy.
|
|
95f15557
|
2023-05-02T16:37:31
|
|
[PairPosFormat2] Micro-optimize and don't kern if class2=0
If class2=0 we expect no kerning to happen. Just bail out.
|
|
59967154
|
2023-05-02T15:52:43
|
|
[PairPos2] Micro-optimize
|
|
a8b8eb53
|
2023-05-01T16:56:29
|
|
[Coverage] Micro-optimize
|
|
af21ea35
|
2023-05-01T16:34:50
|
|
[Coverage/serialize] Micro-optimize
|
|
e826d94a
|
2023-04-30T11:11:19
|
|
Call roundf() instead of _hb_roundf()
The former is defined as a macro expanding to the latter.
|
|
06504cb0
|
2023-04-28T13:13:18
|
|
[PairPosFormat2] Minor use false instead of 0
|
|
9ed43dc5
|
2023-04-28T12:38:26
|
|
[PairPosFormat2] Reuse a value
|
|
8658c257
|
2023-04-17T19:46:46
|
|
[subset] In LigatureSubst subsetting, check if the ligature glyph is in glyphset.
Otherwise coverage will not match the retained ligature sets.
|
|
a84cae42
|
2023-03-15T02:39:57
|
|
[subset] Don't add invalid gids (-1) to the glyphset when loading glyph map from the accelerator.
|
|
7327006d
|
2023-03-07T21:06:01
|
|
[GSUB] Support SingleSubst in get_glyph_alternates
Fixes https://github.com/harfbuzz/harfbuzz/discussions/4146
|
|
08784baf
|
2023-03-02T10:48:30
|
|
[GSUB/GPOS] Fix sanitization in Format1
Fixes https://oss-fuzz.com/testcase-detail/5120727025319936
|
|
c67c0086
|
2023-03-01T13:32:44
|
|
[GPOS] Fix indexing in MarkLigPos
This was broken in 8708b9e081.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4142
|
|
918193eb
|
2023-02-22T23:11:29
|
|
[subset] fix a class of fuzzer timeouts caused by large shared coverage tables.
More acurately estimates the op count for CoverageFormat2 tables as the population size instead of the size in bytes.
|
|
adccc535
|
2023-02-17T12:29:42
|
|
[MarkBase] Adjust base-finding logic
Fixes https://github.com/harfbuzz/harfbuzz/issues/4124
|
|
64fa5cd4
|
2023-02-07T15:50:36
|
|
[GPOS] Fix assert fail introduced recently
Was introduced in 8708b9e081192786c027bb7f5f23d76dbe5c19e8.
If these lookups are recursed to from (Chain)Context out-of-order,
it was possible that last_base > buffer->idx, in which case we
were attaching marks to a base after them... and an assertion
was failing fortunately.
Fixes https://oss-fuzz.com/testcase-detail/6377756666757120
|
|
8708b9e0
|
2023-02-06T14:51:25
|
|
[GPOS] Avoid O(n^2) behavior in mark-attachment
Better implementation; avoids arbitrary limit on look-back.
|
|
09b7fce8
|
2023-01-28T13:21:27
|
|
Make includes relative
|
|
e25e4c9a
|
2023-01-28T00:10:47
|
|
Move GDEF table to src/OT/Layout/GDEF
|
|
749df4ee
|
2023-01-21T16:00:54
|
|
[PairPosFormat1] One more
|
|
b648ceb7
|
2023-01-21T15:58:59
|
|
[PairSet] Optimize last commit
|
|
89162324
|
2023-01-21T15:57:18
|
|
[PairSet] Unify get_size()
|
|
b63159e8
|
2023-01-21T15:50:48
|
|
[PairPosFormat1] Fix stride
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55287
and generally the lookup with MediumTypes.
|
|
be8a87c4
|
2023-01-21T15:00:41
|
|
Move TRACE_DISPATCH after may_recurse()
Such that we don't get memory access issues if DEBUG_SANITIZE is
on and may_recurse() returns false.
|
|
ed023f66
|
2023-01-12T17:04:24
|
|
Enable -Wformat-signedness
And fix the codebase.
|
|
b33eb9ec
|
2023-01-11T11:20:04
|
|
[subset-plan] Simplify layout_variation_idx_delta_map allocation
|
|
0728098e
|
2023-01-10T10:18:29
|
|
[Coverage] Speed up subset for too-large Coverage tables
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54980
|
|
301f6e4b
|
2022-12-04T11:46:10
|
|
[Coverage] Remove TODO
|
|
dbbb8e80
|
2022-12-04T11:13:39
|
|
Revert "[map] Add hb_map_filter_invalid"
This reverts commit 8d7e92111786b21906157127c24b72b1e444e6e7.
Surprisingly this slowed NotoNastaliqUrdu benchmark down by a couple
percent instead of speeding it up.
|
|
8d7e9211
|
2022-12-04T11:01:45
|
|
[map] Add hb_map_filter_invalid
Use it in one place.
|
|
41a8597f
|
2022-12-03T13:23:26
|
|
[layout] Simplify CoverageFormat2 intersects_coverage()
|
|
1f4d8cca
|
2022-12-03T13:17:15
|
|
[CoverageFormat2] Optimize intersects()
|
|
c482b061
|
2022-12-03T13:14:31
|
|
[gpos] Optimize PairPosFormat1::intersects
|
|
4d19c724
|
2022-12-03T09:57:29
|
|
[CoverageFormat1] Speed up intersects()
Speeds up SourceHanSerif/10000 benchmark (not in test suite) by
32%!
|
|
2a7a1d5a
|
2022-12-02T12:33:24
|
|
[Coverage] Avoid timeout on broken ranges
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53929
|
|
72fabef0
|
2022-11-30T11:37:49
|
|
[SingleSubstFormat2] Speed up closure
|
|
d2a2670e
|
2022-11-28T19:42:27
|
|
[iter] Simplify has() interface implementations
|
|
3e151139
|
2022-11-28T14:23:49
|
|
[PairPos] Optimize get_effective_value_format
Speeds up BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/nohinting/512
12%.
|
|
26ad7a60
|
2022-11-28T14:09:21
|
|
[gpos] Minor micro-optimize
|
|
c769d7e1
|
2022-11-28T14:03:58
|
|
[gpos] Whitespace
|
|
e3cc6183
|
2022-11-26T13:58:04
|
|
[PairPos] Adjust kerning buffer messages
|
|
6aaa1662
|
2022-11-24T14:58:42
|
|
[Coverage] Comment
|
|
05aa084e
|
2022-11-24T12:13:31
|
|
[PairPos] Another attempt at fixing unsafe-to-break with ValueFormat2
Fixes https://github.com/harfbuzz/harfbuzz/issues/3888#issuecomment-1326781116
Test:
$ hb-shape XBRoya34.ttf ' الأ' --show-flags --script=arab
|
|
58a696d8
|
2022-11-22T12:56:05
|
|
More hb_memset
|
|
a0bde1e1
|
2022-11-16T21:27:12
|
|
[open-type] Remove (Sorted)ArrayOf.sub_array()
|
|
ea63e95e
|
2022-11-11T12:45:12
|
|
[GPOS.PairPos] Adjust unsafe-to-break for non-zero ValueFormat2
Fixes https://github.com/harfbuzz/harfbuzz/issues/3824
|
|
fc935fb8
|
2022-11-01T14:39:33
|
|
Fix snprintf use
https://github.com/harfbuzz/harfbuzz/pull/3495#issuecomment-1299107964
|
|
02b76393
|
2022-10-29T11:15:03
|
|
[config] Re-enable BORING_EXPANSION
Only the non-experimental parts (currently avar2) are
enabled by default.
|
|
9aad3dba
|
2022-10-26T13:04:02
|
|
[SingleSubst] Fix degenerate-lookup test
Part of https://github.com/harfbuzz/harfbuzz/issues/3853
|
|
294b1c9f
|
2022-10-13T11:30:02
|
|
Use snprintf instead of sprintf
|
|
8f3a7017
|
2022-09-09T15:00:37
|
|
[instance] support FeatureVariations table
|
|
4bf96211
|
2022-08-31T09:18:18
|
|
[optical-bounds] Optimize
|
|
5d6f1a88
|
2022-08-31T08:31:24
|
|
[layout] Add hb_ot_layout_get_optical_bound()
|
|
6de0a6f0
|
2022-08-03T11:18:00
|
|
[instance] update GPOS ValueRecord table
|
|
61636d4e
|
2022-08-02T10:52:31
|
|
[instance] update GPOS AnchorFormat3 table
|
|
b72995ff
|
2022-08-01T14:48:01
|
|
[instance] GDEF table: collect both varidxes and deltas
|
|
5ea3c0be
|
2022-08-11T22:21:28
|
|
[repacker] Implement MarkArray::clone.
|
|
f4f7d691
|
2022-08-09T22:23:23
|
|
Merge pull request #3779 from harfbuzz/split_pair_pos_2
[repacker] Add PairPosFormat2 table splitting in the repacker.
|
|
a4e0fd16
|
2022-08-05T15:05:51
|
|
[MultipleSubst] Rewrite serialize signature as single iterator
|
|
65d28bc5
|
2022-08-05T14:56:07
|
|
[MultipleSubst] Rewrite serialize() in terms of iterators
Unused still, and hence untested
|
|
b57ea3b0
|
2022-08-05T14:29:27
|
|
Revert "[iter] Use && in uses of is_source_of"
This reverts commit ccbba667a9bdc096f0053d5e3ee951a8b6298e8a.
|
|
ccbba667
|
2022-08-05T11:51:51
|
|
[iter] Use && in uses of is_source_of
|
|
8fb7cc1c
|
2022-08-05T11:49:29
|
|
[iter] Use && in is_sink_of uses
|
|
914542bd
|
2022-08-03T17:43:50
|
|
Whitespace
|
|
7f4b2037
|
2022-08-02T18:43:25
|
|
[repacker] include size of device tables when determining PairPos2 split points.
|
|
58fdbd8e
|
2022-07-30T02:05:15
|
|
[repacker] begin adding PairPosFormat2 splitting support.
|
|
6549aec8
|
2022-08-01T13:11:14
|
|
[SingleSubstFormat1] Help avoid timeouts in closure() some more
For https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49712
|
|
f6a242b6
|
2022-07-27T18:58:41
|
|
[repacker] begin adding PairPos splitting support.
|
|
149b0305
|
2022-07-29T12:41:30
|
|
Fix thinko
|
|
f7677213
|
2022-07-29T11:57:57
|
|
[SingleSubstFormat1] Don't close glyphs in degenerate cases
Fixes https://oss-fuzz.com/testcase-detail/5145429829877760
|
|
e2cc34e1
|
2022-07-26T12:31:15
|
|
[subset/GPOS] Fix a fuzzer timeout test
Fixes https://oss-fuzz.com/testcase-detail/5234369031176192
|
|
59b05359
|
2022-07-24T17:14:09
|
|
[GSUB/GPOS] Add more buffer messages
Behind HB_BUFFER_MESSAGE_MORE.
https://github.com/harfbuzz/harfbuzz/pull/3495
|
|
9eab3ac7
|
2022-07-21T12:35:19
|
|
[CoverageFormat2] Remove hand-written loop
While on a fuzzer-found test case (added) that loop was faster,
on real fonts, including NotoNastaliq in our benchmark, it was
actually slower, which intuitively I would have expected.
Still no idea why on that fuzzer case it's faster though. :(
|
|
bbb4db90
|
2022-07-21T12:34:46
|
|
[Coverage/SingleSubst] Move hand-written loop to Coverage
|
|
7b95783e
|
2022-07-21T12:18:51
|
|
[Coverage] Internal rename
|
|
afa65f29
|
2022-07-21T12:17:08
|
|
[Coverage] Minor type change
|
|
b38587aa
|
2022-07-21T12:14:06
|
|
[Coverage] Internal renames
|
|
84d38df8
|
2022-07-21T12:12:04
|
|
[Coverage] Minor use range-based loop
|
|
b017b73f
|
2022-07-21T12:06:55
|
|
[Coverage] Minor remove a couple unnecessary as_array()'s
|
|
9e650b4e
|
2022-07-21T12:01:52
|
|
[Coverage] Speedup intersect_set
|
|
efa38807
|
2022-07-21T11:52:36
|
|
[subset/SingleSubsetFormat1] Use Coverage.intersect_set
|
|
00dfbbce
|
2022-07-21T11:39:32
|
|
[Coverage] Rename and templatize intersected_coverage_glyphs
|
|
d0eb2737
|
2022-07-21T11:24:56
|
|
[subset/GSUB/GPOS] Use more intersected_coverage_glyphs()
|
|
450d8346
|
2022-07-21T11:05:35
|
|
[subset/PairPosFormat1] Speed up significantly
|
|
5d7556e1
|
2022-07-21T10:42:29
|
|
Revert "[subst/SingleSubstFormat1] Rewrite nicer"
This reverts commit bababe10724c27b2cbb09bf25e7dcf4aeea07588.
The hand-written code is still much faster :(.
|
|
71ce931e
|
2022-07-21T10:41:29
|
|
[PairPos] Don't compute newFormat
It was wrong, because it would be writing wrong values.
Test suite doesn't seem to catch any.
|
|
02ca0254
|
2022-07-21T10:30:23
|
|
[layout] Add large_int to Types
|
|
bababe10
|
2022-07-21T10:25:27
|
|
[subst/SingleSubstFormat1] Rewrite nicer
|
|
cf123e6a
|
2022-07-21T10:21:57
|
|
[Coverage] Add get_population ()
|
|
fa471043
|
2022-07-20T22:42:18
|
|
[subset] Fix previous commit
|
|
c4d2ef90
|
2022-07-20T22:36:35
|
|
[subset] Speed up subsetting of SingleSubstFormat1_3
|
|
d01e6bab
|
2022-07-20T22:17:33
|
|
[subset] Speed up SingleSubstFormat1_3 closure
|
|
aae8c74e
|
2022-07-20T11:51:09
|
|
[>64k:layout:SingleSubstFormat3] Fix masking
https://github.com/be-fonts/boring-expansion-spec/issues/31
|
|
3c137ef0
|
2022-07-20T11:29:30
|
|
[GPOS/CursivePos] Fix unsafe-to-break marking
Fixes test.
|
|
54e9ab4a
|
2022-07-18T18:57:14
|
|
[GPOS/Cursive] Fix breaking of parent-child attachment
Mostly fixes https://github.com/harfbuzz/harfbuzz/issues/2469
|
|
89de8c70
|
2022-07-18T13:07:29
|
|
[CoverageFormat2] Another fix for broken tables
Fixes https://oss-fuzz.com/testcase-detail/6005342714068992
|
|
d8574b44
|
2022-07-17T18:44:27
|
|
[CoverageFormat2] Fix iterator to avoid infinite loop
on invalid data.
Fixes https://oss-fuzz.com/testcase-detail/5304497047470080
|
|
af84680f
|
2022-07-17T12:00:04
|
|
[GSUB] Remove a reinterpret_cast
|