|
7f5380fe
|
2023-07-02T12:19:22
|
|
[Composite] Don't apply transformation if phantom_only
|
|
0cf759b0
|
2023-07-02T12:15:43
|
|
[Glyph] Don't shift anchored Composite if phantom_only
Fixes https://oss-fuzz.com/testcase-detail/5114131137822720
|
|
645bde47
|
2023-07-02T12:07:22
|
|
[Glyph] Pass phantom-only to gvar only for SIMPLE glyphs
For Composites we need to get the translation offset deltas.
|
|
794fac32
|
2023-06-29T20:55:52
|
|
[glyf] Minor another range for loop
|
|
0ae16766
|
2023-06-29T20:38:42
|
|
[CompositeGlyph] Minor use a range for loop
|
|
05c01ad5
|
2023-06-29T16:49:20
|
|
[SimpleGlyph] Minor use a range for loop
|
|
4123e0c7
|
2023-06-29T16:27:35
|
|
[path-builder] Speed up mid-point calculation
|
|
ca44c38c
|
2023-06-29T14:41:21
|
|
Add HB_ALWAYS_INLINE
With MSVC implementation as well.
|
|
c49ca371
|
2023-06-29T12:38:45
|
|
[Glyph] Minor micro-optimize away a function call
For when coords are not set.
|
|
5fb7b02a
|
2023-06-29T12:28:43
|
|
[CompositeGlyph] Minor use range loop
|
|
20b32b04
|
2023-06-29T12:08:11
|
|
[SimpleGlyph] Micro-optimize phantom_only
|
|
04809ede
|
2023-06-29T11:58:53
|
|
[CompositeGlyph] Micro-optimize translate()
|
|
229db973
|
2023-06-29T11:54:10
|
|
[CompositeGlyph] Minor use vector::push()
|
|
75101802
|
2023-06-29T10:54:49
|
|
[CompositeGlyph] Micro-optimize
|
|
e9d74d6b
|
2023-06-29T10:53:52
|
|
[SimpleGlyph] Minor add an unlikely to error condition
|
|
6abca413
|
2023-06-29T10:39:49
|
|
[path-builder] Micro-optimize
No need to initialize these when has_data=false.
|
|
5703c1c4
|
2023-06-29T10:35:23
|
|
[path-builder] Add a couple of unlikely's
|
|
f5eead04
|
2023-06-28T15:07:15
|
|
[glyf/gvar] Optimize getting variable phantom points
Used when there's no HVAR table and get_h_advance().
I see some 10% speedup with a SourceSerifVariable-Roman with
the HVAR table removed.
|
|
e42d6df5
|
2023-06-28T14:25:11
|
|
[glyf] Minor refactor a couple of lines and micro-optimize
|
|
c31471d1
|
2023-06-28T13:51:54
|
|
[glyf] Micro-optimize
|
|
83d75d5e
|
2023-06-28T13:35:24
|
|
[glyf] always_inline consume_point
7% speedup in:
BM_Font/draw_glyph/Roboto-Regular.ttf/hb
|
|
8795cced
|
2023-06-28T13:29:29
|
|
Revert "[SimpleGlyph] Avoid branches in read_points"
This reverts commit ba062c713e469f91f57f3c85990f721789ec7c2a.
|
|
ba062c71
|
2023-06-28T13:24:37
|
|
[SimpleGlyph] Avoid branches in read_points
Calculate total bytes in read_flags and bounds-check once.
This slows things down apparently, so going to revert.
|
|
452557cd
|
2023-06-26T18:40:54
|
|
Replace a free with hb_free
Ouch.
|
|
1fc128f6
|
2023-06-26T18:34:27
|
|
Replace a few memset/memcpy's with hb_ equivalents
|
|
15048e50
|
2023-06-04T10:07:04
|
|
[serialize] Add more function attributes
|
|
82741304
|
2023-06-04T09:41:41
|
|
[subset] start_embed never returns nullptr
Remove checks.
|
|
af3fdf1f
|
2023-06-04T09:22:42
|
|
[subset/glyf] Simplify error handling
|
|
3dd1de46
|
2023-06-04T09:15:14
|
|
[subset/glyf] Fix a few return_trace's
|
|
73f2f935
|
2023-06-04T09:12:18
|
|
[subset/glyf] Fix another leak
|
|
3d08a2f1
|
2023-06-03T23:38:38
|
|
[subset/glyf] Fix leak
|
|
fc33200d
|
2023-06-03T23:29:39
|
|
[subset/glyf] Avoid a vector copy
Oops!
|
|
3bfcbd61
|
2023-06-03T23:17:56
|
|
[subset/glyf] Minor use range lopp
|
|
917c8d0a
|
2023-06-03T23:15:56
|
|
[subset/glyf] Minor change of value
|
|
87cf09bd
|
2023-06-03T21:00:56
|
|
[subset/loca] Fix up for retaingid null glyphs at the end
We currently don't have those, but in case we add.
|
|
38fa0323
|
2023-06-03T18:51:09
|
|
Revert "[subset/loca] Build in the serializer memory"
This reverts commit 546b51818666ca1ddb01824f752eccbd6a751b4b.
|
|
546b5181
|
2023-06-03T18:50:35
|
|
[subset/loca] Build in the serializer memory
Because it's hot. Doesn't seem to speed up though. Slight
slowdown. Going to revert.
|
|
3cb2b49e
|
2023-06-03T18:44:56
|
|
[subset/loca] Shuffle code around
|
|
b0d0babb
|
2023-06-03T17:14:55
|
|
[subset/loca] Rewrite loop faster
|
|
ca27925d
|
2023-06-03T16:18:15
|
|
Use hb_codepoint_pair_t in more places
|
|
c7493efe
|
2023-06-03T15:39:27
|
|
[subset/loca] Micro-optimize
|
|
efefec13
|
2023-06-02T20:33:52
|
|
[subset/glyf] Remove unneeded codepath
|
|
ac1f5ca0
|
2023-06-02T17:07:44
|
|
[subset/loca] Micro-optimize
|
|
6eae9325
|
2023-06-02T17:05:27
|
|
[subset/loca] Reduce a vector allocation
|
|
ec8965e4
|
2023-06-02T16:10:25
|
|
[subset/glyf] Don't clear loca allocation
|
|
b67e464b
|
2023-06-02T15:11:06
|
|
[subset/retaingid] Regain perf lost
In 0f12fd5a66a5dd1c3c9ac5ea8a52341bafcfe567
|
|
0f12fd5a
|
2023-06-02T13:58:55
|
|
[subset/glyf] Fix for non-monotonic glyphmap
Slows things down again, but is correct. Still a good win
combined with the previous changes.
|
|
66ce902c
|
2023-06-02T13:53:21
|
|
[glyf] Reduce allocation again
|
|
0e0110e7
|
2023-06-02T13:34:58
|
|
[glyf] Avoid a SubsetGlyph copy
Unfortunately hb_second() always does a copy...
|
|
33ea8b5e
|
2023-06-02T13:10:52
|
|
[subset/glyf] Don't allocate empty SubsetGlyf's
Shows 33% speedup on Mplus/retaingid/10 benchmark:
Comparing before to after
Benchmark Time CPU Time Old Time New CPU Old CPU New
--------------------------------------------------------------------------------------------------------------------------------------------------------
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10 -0.3296 -0.3294 0 0 0 0
|
|
b04ca1c1
|
2023-06-01T20:43:07
|
|
Revert "[subset/glyf] Exact allocation"
This reverts commit a830f085c849846f8441f5d92d4db36130ef71f8.
Weirdly enough in a benchmark I'm running I see this show
some slowdown. Makes zero sense.
|
|
a830f085
|
2023-06-01T20:37:29
|
|
[subset/glyf] Exact allocation
|
|
ff0b85cf
|
2023-06-01T20:30:56
|
|
[subset/glyf] Empty .notdef only if old-gid was also 0
Otherwise it wasn't a .notdef, even if new-gid is 0.
|
|
65a7d8c6
|
2023-06-01T20:20:00
|
|
[glyf] Empty glyphs need no padding
|
|
73c18d1d
|
2023-06-01T20:06:42
|
|
[glyf] Micro-optimize padded_offsets
|
|
4d853b8b
|
2023-06-01T18:47:58
|
|
[subset/regaingid/glyf] Add a fastpath for empty glyphs
Mplus benchmark:
Comparing before to after
Benchmark Time CPU Time Old Time New CPU Old CPU New
-----------------------------------------------------------------------------------------------------------------------------------------------------------
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10 -0.1764 -0.1771 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/64 -0.1394 -0.1394 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/512 -0.0644 -0.0645 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/4096 +0.0132 +0.0131 1 1 1 1
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10000 -0.0029 -0.0034 3 3 3 3
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/10 +0.0364 +0.0362 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/64 +0.0346 +0.0343 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/512 +0.0271 +0.0268 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/4096 +0.0193 +0.0193 1 1 1 1
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/10000 -0.0240 -0.0243 2 2 2 2
OVERALL_GEOMEAN -0.0305 -0.0307 0 0 0 0
|
|
6ec7629f
|
2023-06-01T18:18:30
|
|
[subset/glyf] Add a const
|
|
208c9490
|
2023-05-26T12:02:03
|
|
[VarComposite] Limit number of axes that are copied
Bandaid for https://oss-fuzz.com/testcase-detail/4591122882887680
|
|
5872bdf6
|
2023-05-26T11:41:54
|
|
[vector] Add copy-constructor for array_t's
|
|
5543d058
|
2023-05-17T17:29:44
|
|
[subset] Use vector instead of map for glyph bounds (#4232)
* [subset] Use vector instead of map for glyph bounds
Is faster.
Part of https://github.com/harfbuzz/harfbuzz/issues/4231
* [subset] initialize bounds_vec value to 0xFFFFFFFF
Some non-EMPTY glyph might have 0 bounds width/height
---------
Co-authored-by: Qunxin Liu <qxliu@google.com>
|
|
bf298e50
|
2023-05-01T13:40:19
|
|
[instancer ]update OS_2/post/glyf tables to accept Triple for axes positions
|
|
33ef96b6
|
2023-05-09T11:13:51
|
|
[glyf] Micro-optimize a few hash operations
|
|
2f9945ca
|
2023-05-02T11:33:31
|
|
[Glyph] Only treat numContours=-1 as Composite
Leave the other negative numbers as empty glyph.
|
|
db23be64
|
2023-05-02T00:06:08
|
|
[subset] clamp head *Min/*Max values to fit within 16 bit signed int.
Fixes fuzzer https://oss-fuzz.com/testcase-detail/4549472192692224.
|
|
19d8328b
|
2023-05-01T15:54:06
|
|
[VarComposite] Minor use pad instead of StructAfter
|
|
1cbb85dc
|
2023-04-30T11:31:46
|
|
[Glyph] Protect against an underflow
|
|
c7721f7d
|
2023-04-30T11:28:40
|
|
[Glyph] Reuse variables
|
|
fbffd4e6
|
2023-04-30T10:45:19
|
|
[SimpleGlyph] Handle cubic curves when instancing
|
|
85a0a123
|
2023-04-30T10:40:50
|
|
[SimpleGlyph] Relax types
|
|
2e5e5665
|
2023-04-30T10:23:58
|
|
[SimpleGlyph] Micro-optimize
|
|
700975f7
|
2023-04-29T11:23:56
|
|
[gvar/glyf] Minor save a variable
|
|
07be0b68
|
2023-04-29T11:09:28
|
|
[VarComposite] Minor micro-optimize
|
|
ecd0f859
|
2023-04-29T10:51:59
|
|
[Composite] Minor micro-optimize
|
|
afd432da
|
2023-04-28T14:55:37
|
|
[VarComposite] Fix an #ifdef check
|
|
b53f8c25
|
2023-04-28T14:49:22
|
|
[path-builder] Simplify initialization
|
|
6a4b87d0
|
2023-04-28T14:48:46
|
|
[path-builder] Remove double-initialization
|
|
5b0d8181
|
2023-04-28T11:40:42
|
|
[Glyph] Add missing break
|
|
e5dfb6a4
|
2023-04-28T11:38:12
|
|
[SimpleGlyph] Use hb_memset instead of memset
|
|
1b0c5a3e
|
2023-04-28T11:16:11
|
|
[VarComposite] Comment
|
|
b0e763f5
|
2023-04-28T10:45:23
|
|
[VarComposite] Micro-optimize get_num_points
|
|
29d57658
|
2023-04-28T10:33:50
|
|
[VarComposite] Micro-optimize
|
|
bf97f880
|
2023-04-28T10:28:17
|
|
[VarComposite] Minor notation
|
|
e9738563
|
2023-04-28T10:22:40
|
|
[VarComposite] Speedup get_size()
|
|
c800c0cf
|
2023-04-27T15:12:02
|
|
[Glyph] Load composite glyphs in-place
|
|
f90e3fc3
|
2023-04-27T14:39:33
|
|
[Composites] Pre-alloc phantom-points space
|
|
0c7cb575
|
2023-04-27T14:21:44
|
|
[VarComposite] Micro-optimization for advance-only
|
|
bdce23a0
|
2023-04-27T14:07:57
|
|
[Glyph] Don't load component glyphs is phantom_only
Drastically speeds up variable advance calculation when HVAR
is missing. Let's see what I broke...
|
|
e2be7865
|
2023-04-27T13:54:06
|
|
[VarComposite] Minor rewrite
|
|
58f79063
|
2023-04-27T13:35:32
|
|
[VarComposite] Set min_size to 5
|
|
28b5a47d
|
2023-04-27T13:31:53
|
|
[VarComposite] Reuse a variable
|
|
977c2f9c
|
2023-04-27T13:25:30
|
|
[glyf] Micro-optimize
|
|
a4b4536a
|
2023-04-27T13:14:52
|
|
Revert "[glyf] Micro-optimize"
This reverts commit 2bbb605d08298047164a20a242f4cfcfbe68c309.
In case of phantoms_only we were leaving array uninitialized.
This is why the fedora-valgrind bot broke.
|
|
1c4e7e4f
|
2023-04-27T13:05:54
|
|
[VarComposite] Rewrite code with ?
|
|
9491a3dd
|
2023-04-27T13:01:27
|
|
[VarComposite] Minor notation
|
|
644e0551
|
2023-04-27T13:00:24
|
|
[VarComposite] Minor move code
|
|
79aa9e93
|
2023-04-27T12:57:25
|
|
[VarComposite] Optimize translate, second try
|
|
83bbeaca
|
2023-04-27T12:49:56
|
|
[VarComposite] Minor move code
|
|
7cb95c8a
|
2023-04-27T12:28:00
|
|
Revert "[VarComposite] Optimize translate()"
This reverts commit 6a55e73d6aa9a378789d4101849f1508ac6fff3d.
This was wrong.
|
|
b79a49f1
|
2023-04-27T12:21:32
|
|
[VarComposite] Optimize get_points()
|
|
51891e8f
|
2023-04-27T12:16:12
|
|
[VarComposite] Micro-optimize
|