|
e3cc6183
|
2022-11-26T13:58:04
|
|
[PairPos] Adjust kerning buffer messages
|
|
6aaa1662
|
2022-11-24T14:58:42
|
|
[Coverage] Comment
|
|
6f133ccf
|
2022-11-24T12:59:55
|
|
[glyf] Fix build with HB_NO_VERTICAL
|
|
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
|
|
81640fdf
|
2022-11-23T20:22:36
|
|
[subset] fix leaked font in glyf::subset(...)
|
|
1e8f1ac6
|
2022-11-23T12:28:29
|
|
[subset-glyf] Micro-optimize array access
|
|
356d135e
|
2022-11-23T12:20:51
|
|
[subset-glyf] Reduce roundf calls
Saves 7% on MPLUS1-Variable/6000 benchmark.
|
|
463ae07e
|
2022-11-23T18:41:23
|
|
[subset] In the preprocess subset call always use long loca.
Long loca is needed so that we can store the trimmed glyph bytes to allow us to safely skip trimming in the later subset.
|
|
299ec902
|
2022-11-22T16:03:02
|
|
[glyf] Move instanciation to serialize()
|
|
d8d881f2
|
2022-11-22T15:24:16
|
|
[subset-glyf] Don't create a second glyf accelerator
|
|
75609300
|
2022-11-22T15:22:25
|
|
[glyf] Add _create_font_for_instancing
|
|
40634cee
|
2022-11-22T15:07:16
|
|
[glyf] Adjust data types
|
|
ba0d28ea
|
2022-11-22T15:01:48
|
|
[glyf] Fix font error check
|
|
04c52501
|
2022-11-22T14:54:55
|
|
[glyf] Use a malloc instead of calloc
|
|
024aa818
|
2022-11-22T14:51:42
|
|
[glyf] Micro-optimize encode_coord
|
|
b6694597
|
2022-11-22T14:49:01
|
|
[glyf] Micro-optimize encode_flag()
|
|
d47cfe79
|
2022-11-22T14:45:04
|
|
[glyf] Minor use operator ++
|
|
03e6bde7
|
2022-11-22T14:40:36
|
|
[glyf] Minor adjustment to lastflag handling
No logic change.
|
|
0ca9fda8
|
2022-11-22T14:39:10
|
|
[glyf] Remove misplaced comment
|
|
4afcdf67
|
2022-11-22T12:56:48
|
|
More hb_memcpy
|
|
58a696d8
|
2022-11-22T12:56:05
|
|
More hb_memset
|
|
1758ee66
|
2022-11-22T10:45:49
|
|
[glyf] Minor write loop more idiomatically
|
|
b567ce51
|
2022-11-21T20:08:54
|
|
[subset] Don't trim glyf's again if preprocessed
Speeds up M1/10000 benchmark by 30%!
|
|
a0bde1e1
|
2022-11-16T21:27:12
|
|
[open-type] Remove (Sorted)ArrayOf.sub_array()
|
|
f2b5db70
|
2022-11-16T21:22:43
|
|
[vector] Remove .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.
|
|
477d7172
|
2022-10-26T13:11:47
|
|
[glyf] Limit points in a glyf to 10000 roughly
Only enforced when components are being expanded.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3838
|
|
9aad3dba
|
2022-10-26T13:04:02
|
|
[SingleSubst] Fix degenerate-lookup test
Part of https://github.com/harfbuzz/harfbuzz/issues/3853
|
|
a756bd19
|
2022-10-13T17:18:19
|
|
[glyf] Use component phantom points after transformation
|
|
82d19c08
|
2022-10-13T17:17:03
|
|
Revert "[glyf/Composite] Remove phantom points when not needed anymore"
This reverts commit 527e63a3bd8487d21e423a8a358eee30672eddb6.
|
|
527e63a3
|
2022-10-13T17:13:40
|
|
[glyf/Composite] Remove phantom points when not needed anymore
|
|
294b1c9f
|
2022-10-13T11:30:02
|
|
Use snprintf instead of sprintf
|
|
8f1bf23c
|
2022-09-27T22:50:54
|
|
[subset] optimize glyf subsetting w/ retain gids.
When retain gids is enabled the subset plan may require the output of many empty glyphs. This change optimizes the glyf subsetting code when the number of retained glyphs << number of output glyphs. Unnessecary lookups to the glyph map are reduced by iterating through the glyph map instead of the output glyph set.
|
|
e94fe2ad
|
2022-09-20T13:14:26
|
|
[instance] minor optimizations to glyf instancing
|
|
b90ce34a
|
2022-09-14T11:26:32
|
|
[instance] fix for non-empty .notdef glyph metrics update
we need pass in source glyph's outline data to calculate boundaries, and
then drop the outline data if notdef-outline is specified.
Also disable shifting points for instancing in get_points () API
|
|
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()
|
|
8f84c58a
|
2022-08-26T08:24:19
|
|
[instance] don't copy phantom points from component
No need to consider USE_MY_METRICS for instancing
|
|
58dbc001
|
2022-08-25T11:05:15
|
|
[instance] Fix compiling Composite glyph bytes
The x/y offset encoded with int8 originally might overflow after deltas
are applied. So we cannot just copy and update old values.
|
|
8b7e2a13
|
2022-08-24T14:16:55
|
|
[instance] we need to update hmtx/vmtx values even for empty glyphs
Update metrics using the 4 phantom points
|
|
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
|
|
84d33a1e
|
2022-08-23T13:13:13
|
|
[glyf] Fix compiler warning
|
|
ac0e22fa
|
2022-07-22T09:37:09
|
|
[instance] update glyf/hmtx/vmtx tables
|
|
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
|
|
e51526bf
|
2022-07-28T09:53:30
|
|
[CompositeGlyph] Add HB_NO_BEYOND_64K
|
|
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
|
|
d82ace5c
|
2022-07-13T23:00:01
|
|
[reorg] add TODO to RangeRecord.
|
|
c1e280ea
|
2022-07-13T22:43:38
|
|
[reorg] Move Coverage, RangeRecord into new namespace layout.
|
|
a2f07231
|
2022-07-13T16:02:39
|
|
[GPOS] Adjust mark attachment on multiple substitution some more
Fixes https://github.com/harfbuzz/harfbuzz/issues/1545
|
|
7549d447
|
2022-07-11T21:52:25
|
|
[>64k:glyf] Implement composites for >64k
Implements https://github.com/be-fonts/boring-expansion-spec/issues/42
|
|
09de9478
|
2022-07-11T15:08:22
|
|
[>64k:glyf] Hid composite glyphIndex
|
|
cc83b0b8
|
2022-07-08T12:25:15
|
|
[>64k:layout:MarkBasePos/MarkMarkPos/MarkLigPos] Implement format 2
Implements https://github.com/be-fonts/boring-expansion-spec/issues/40
Subset does NOT lower format.
|
|
4b43070e
|
2022-07-08T12:22:16
|
|
[>64k:layout] Templatize MarkBasePos/MarkMarkPos/MarkLigPos
|
|
f0d6dda5
|
2022-07-07T16:28:24
|
|
[>64k:layout:PairPos] Implement format 3
Implements rest of https://github.com/be-fonts/boring-expansion-spec/issues/38
Subset does NOT lower format.
|
|
298ee47c
|
2022-07-07T16:27:49
|
|
[>64k:layout] Templatize PairPosFormat1
|