|
c8486b63
|
2023-01-07T14:15:17
|
|
[open-type] Add to_int to fixed types
To make sure we don't accidentally forget to_float().
As we did recently in COLRv1 code.
|
|
dfd9bf8a
|
2023-01-07T14:05:02
|
|
[COLRv1] Fix a couple of missing to_float() calls
Ouch!
|
|
d045de78
|
2023-01-07T13:55:17
|
|
[paint] Optimize PAINT_COMPOSITE
At the start of each paint call the current group is clear.
So we don't need to start a new group for the backdrop paint.
A paint composite really needs one group push, not two.
|
|
4adc748b
|
2023-01-01T09:46:11
|
|
Move Color tables to src/OT/Color/
|
|
2eacc37e
|
2022-12-31T12:27:13
|
|
[vector] Add internal API for exact-size allocation
Use it from a couple of places.
|
|
ae208963
|
2022-12-26T12:30:39
|
|
Add hb-limits.hh
|
|
f3985d94
|
2022-12-22T10:11:28
|
|
[paint] Fix drawing non-color glyphs
|
|
c2219339
|
2022-12-21T18:39:27
|
|
[paint] Preserve foreground information
|
|
6387004c
|
2022-12-21T16:43:19
|
|
[paint] Simplify api
Drop the hb_paint_context_t struct from the API, and
only pass the font where we need it.
|
|
71bd5a0d
|
2022-12-21T16:18:46
|
|
[paint] Resolve colors
We don't need to pass the index/alpha pairs to
client callbacks, and can just resolve the colors
internally.
Update test results.
|
|
9be01b6b
|
2022-12-21T14:04:32
|
|
[paint] Pass hb_paint_context_t along
Replace the font argument with a hb_paint_context_t
that carries the font, the palette index and the
foreground color.
The hb_font_paint_glyph() api now takes the palette
index and the foreground color as extra arguments.
Update all callers and regenerate test results.
|
|
97224f3b
|
2022-12-21T02:11:36
|
|
[paint] Pass font to all callbacks
This will lead to easier implementations.
At the same time, we change the push_clip_glyph
callback to use the font as-is, no unscaling needed.
Update all callers and expected test results.
|
|
686e627b
|
2022-12-17T12:44:16
|
|
[paint] Set up root transform in one place
Instead of spreading this in all the tables,
make hb_paint_funcs_t provide a push/pop_root_transform
that does all the setup.
|
|
601a596c
|
2022-12-17T09:22:55
|
|
[paint] Fix include path
|
|
2edd771c
|
2022-12-16T23:32:15
|
|
glyf: Implement paint_glyph
|
|
9a0ebd2b
|
2022-12-22T10:21:07
|
|
[glyf] Fix slant-scaling in GlyphHeader too
|
|
b0abbfd8
|
2022-12-22T07:26:14
|
|
[font] Centralize glyph-extents scaling
Needs more testing...
Some rounding was removed, namely in cff1 and cff2.
|
|
97b8ada8
|
2022-12-21T19:52:20
|
|
[varc] Reset component coordinates to that of the font
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/78
|
|
9b5b4da0
|
2022-12-20T09:57:32
|
|
[varc] Set coordinates as absolute values
|
|
80e68f09
|
2022-12-19T19:15:44
|
|
[VarC] Change rotation/skew representation
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/77
|
|
03a16856
|
2022-12-19T17:11:34
|
|
[VarC] Change representation of scale from 4.12 to 6.10
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/76
|
|
79285a99
|
2022-12-13T20:14:20
|
|
VarC: cast ints (#3934)
msvc is rightfully complaining that the types on the sides of
the ternary are not matching:
```
C:\pango\subprojects\harfbuzz\src\OT\glyf\VarCompositeGlyph.hh(317): error C2446: ':': no conversion from 'const OT::HBUINT16' to 'const OT::HBUINT8'
```
|
|
bd7cb384
|
2022-12-12T14:10:13
|
|
[VarC] Remove unused variable
|
|
1b278c76
|
2022-12-12T13:57:05
|
|
[VarC] Update for new format
https://github.com/harfbuzz/boring-expansion-spec/issues/71
|
|
6bb478ee
|
2022-12-12T11:39:06
|
|
[VarC] Clamp after addition
|
|
80a5011e
|
2022-12-12T11:37:59
|
|
[VarC] Fix coord setting
Those are additive.
|
|
9ab2c803
|
2022-12-11T12:00:54
|
|
Revert "[glyf] Use component phantom points after transformation"
This reverts commit a756bd1944404da6e53173c4061a2aef262e60f3.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3929
|
|
bf2e8175
|
2022-12-09T23:15:26
|
|
[VarComposites] Support GID24
|
|
10d38dcd
|
2022-12-09T19:19:57
|
|
[varc] Change format slightly
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/70
|
|
5cf0b9ae
|
2022-12-09T18:59:43
|
|
[varc] Mark as experimental feature with HB_NO_VAR_COMPOSITES
|
|
82b4f379
|
2022-12-09T18:45:37
|
|
[coord-setter] Don't modify font coords
|
|
e9e503b8
|
2022-12-09T18:42:46
|
|
[Glyph] Pass down coords to get_points
|
|
8e468700
|
2022-12-09T18:35:30
|
|
[gvar] Take coords in instead of font in apply_deltas_to_points
|
|
3caa42a4
|
2022-12-09T14:48:41
|
|
Fix build after rebase
|
|
bbe59e42
|
2022-12-08T16:04:19
|
|
Whitespace
|
|
13deea7c
|
2022-10-18T13:38:12
|
|
[glyf/VarComposite] Clamp axis coordinates
|
|
a975be4c
|
2022-10-18T11:00:35
|
|
[glyf/VarComposite] Minor rename
|
|
1e71db2d
|
2022-10-18T10:47:32
|
|
[glyf/VarComposite] Fix transformation
|
|
1233be61
|
2022-10-17T14:06:44
|
|
[glyf/VarComposite] Remove unneeded resize
|
|
1a906162
|
2022-10-17T14:01:34
|
|
[glyf/coord-setter] Fix memory issue
|
|
7efd68da
|
2022-10-17T13:05:22
|
|
[glyf/VarComposite] Set coordinates
Code is untested but complete!
|
|
4ec77814
|
2022-10-17T12:53:58
|
|
[glyf] Move coord-setter to its own file
|
|
dadb4ed7
|
2022-10-17T12:48:24
|
|
[glyf/VarComposite] More, almost there
|
|
0a939b48
|
2022-10-17T12:12:40
|
|
[glyf/VarComposite] Implement more
|
|
65cc3b5e
|
2022-10-13T17:11:12
|
|
[glyf/VarComposite] More
|
|
60d959a6
|
2022-10-13T14:15:36
|
|
[glyf/VarComposite] Add use_my_metrics()
|
|
575d9940
|
2022-10-13T13:12:26
|
|
[glyf] Flesh out VarCompositeGlyph
|
|
21f671bc
|
2022-10-13T11:25:29
|
|
[glyf] Add stub VarCompositeGlyph
|
|
435c5eef
|
2022-10-13T10:54:58
|
|
[glyf] Split composite-iter
|
|
1024a013
|
2022-08-22T09:49:30
|
|
[glyf] Add CoordSetter
|
|
aa7f5e37
|
2022-12-04T15:31:47
|
|
[subset] Conditionalize call to hb_font_set_variations
|
|
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
|
|
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
|