Commit graph

16641 commits

Author SHA1 Message Date
Behdad Esfahbod
794fac327c [glyf] Minor another range for loop 2023-06-29 20:56:16 -06:00
Behdad Esfahbod
0ae1676626 [CompositeGlyph] Minor use a range for loop 2023-06-29 20:38:42 -06:00
Behdad Esfahbod
05c01ad5d3 [SimpleGlyph] Minor use a range for loop 2023-06-29 16:49:20 -06:00
Behdad Esfahbod
4123e0c757 [path-builder] Speed up mid-point calculation 2023-06-29 16:27:35 -06:00
Behdad Esfahbod
73376b24cf [subset/cff1] More error handling 2023-06-29 16:14:45 -06:00
Behdad Esfahbod
cc44b3bce0 [subset/cff1] Handle an error condition
Fixes https://oss-fuzz.com/testcase-detail/5191907895279616
2023-06-29 16:13:19 -06:00
Behdad Esfahbod
fc38c01ab0 Minor inline a function 2023-06-29 15:29:15 -06:00
Behdad Esfahbod
a520177e52 [gvar] Remove unnecessary initialization 2023-06-29 14:56:05 -06:00
Behdad Esfahbod
ca44c38c52 Add HB_ALWAYS_INLINE
With MSVC implementation as well.
2023-06-29 14:41:21 -06:00
Behdad Esfahbod
0a00dc0c71 [draw] Add a few unlikely's 2023-06-29 14:17:47 -06:00
Behdad Esfahbod
2d9c3da06a [draw] Inline more functions 2023-06-29 13:31:11 -06:00
Behdad Esfahbod
17f29c8111 [benchmark_font/draw_glyphs] Implement quadratic_to
Not interested in the fallback implementation here.
2023-06-29 13:27:09 -06:00
Behdad Esfahbod
d26b3adebe [draw-session] Inline small functions 2023-06-29 13:25:52 -06:00
Behdad Esfahbod
7aba1e6dd2 [cache] Minor use a range for loop 2023-06-29 12:44:34 -06:00
Behdad Esfahbod
afae537c3c [cache] Minor remove .init()
Use constructor.
2023-06-29 12:42:44 -06:00
Behdad Esfahbod
c49ca37115 [Glyph] Minor micro-optimize away a function call
For when coords are not set.
2023-06-29 12:38:45 -06:00
Behdad Esfahbod
5fb7b02ac1 [CompositeGlyph] Minor use range loop 2023-06-29 12:28:43 -06:00
Behdad Esfahbod
20b32b049b [SimpleGlyph] Micro-optimize phantom_only 2023-06-29 12:08:11 -06:00
Behdad Esfahbod
d1660eaf32 [subset/cff] Minor use HB_OPTIMIZE_SIZE_VAL 2023-06-29 11:59:03 -06:00
Behdad Esfahbod
04809ede8e [CompositeGlyph] Micro-optimize translate() 2023-06-29 11:58:53 -06:00
Behdad Esfahbod
229db9735e [CompositeGlyph] Minor use vector::push() 2023-06-29 11:54:10 -06:00
Behdad Esfahbod
75101802a1 [CompositeGlyph] Micro-optimize 2023-06-29 10:54:49 -06:00
Behdad Esfahbod
e9d74d6bb3 [SimpleGlyph] Minor add an unlikely to error condition 2023-06-29 10:53:52 -06:00
Behdad Esfahbod
6abca413ae [path-builder] Micro-optimize
No need to initialize these when has_data=false.
2023-06-29 10:39:49 -06:00
Behdad Esfahbod
5703c1c4ea [path-builder] Add a couple of unlikely's 2023-06-29 10:35:23 -06:00
Behdad Esfahbod
f5eead04e6 [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.
2023-06-28 15:07:15 -06:00
Behdad Esfahbod
e42d6df55e [glyf] Minor refactor a couple of lines and micro-optimize 2023-06-28 14:25:26 -06:00
Behdad Esfahbod
c31471d10e [glyf] Micro-optimize 2023-06-28 13:51:54 -06:00
Behdad Esfahbod
83d75d5e9b [glyf] always_inline consume_point
7% speedup in:
BM_Font/draw_glyph/Roboto-Regular.ttf/hb
2023-06-28 13:35:24 -06:00
Behdad Esfahbod
8795ccedd6 Revert "[SimpleGlyph] Avoid branches in read_points"
This reverts commit ba062c713e.
2023-06-28 13:29:29 -06:00
Behdad Esfahbod
ba062c713e [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.
2023-06-28 13:24:37 -06:00
Behdad Esfahbod
62f5ed461e [subset/cff] Fix an infinite loop
Fixes https://oss-fuzz.com/testcase-detail/5419002026131456
2023-06-28 12:04:28 -06:00
Chun-wei Fan
87b573615f README.python.md: Add some notes for Windows
Note that the DLLs for HarfBuzz and its deps must be found %PATH% on Windows so
that pygobject is able to import and use HarfBuzz in Python scripts.

Also note that for Visual Studio builds, it is recommended that Visual Studio
2019 or later is used for the build, possibly in regards with how the
preprocessor handles C++ code when running g-ir-scanner.
2023-06-28 11:37:45 -04:00
أحمد المحمودي (Ahmed El-Mahmoudy)
10b9ca54e1 Fix typo: subtitution -> substitution 2023-06-28 11:36:52 -04:00
Behdad Esfahbod
73a82af1f4 [subset/cff] Remove stale wrong code
With my recent rewrite of serialize_header, this seems to
work now.
2023-06-27 17:05:22 -06:00
Behdad Esfahbod
158eba66b3 [subset/cff] Fix compiler error
About variable with internal linkage with no definition.
2023-06-27 16:22:54 -06:00
Behdad Esfahbod
b04721993f [subset/cff1] Micro-optimize code
Let compiler see whether optional argument is present.
2023-06-27 16:08:24 -06:00
Behdad Esfahbod
1cabb65b0a [subset/cff] Micro-optimize CFFIndex::serialize_header
Unfortunately hb_array_t::begin/end are faster than its _begin/_end.
As such, a range loop on array itself is faster than range loop on
pipeline starting with array. Rework code to loop on the array always.
2023-06-27 16:01:17 -06:00
Behdad Esfahbod
dfaf9cd54b [subset/cff1] Minor optimize 2023-06-27 14:56:32 -06:00
Behdad Esfahbod
41f85d0179 [benchmark-font] Add RobotoFlex
We didn't have a variable TTF before!
2023-06-27 12:50:04 -06:00
Behdad Esfahbod
585c84268d [subset/cff1] Minor micro-optimize 2023-06-27 11:28:38 -06:00
Behdad Esfahbod
00904503d8 [config] Graduate avar2 from boring-expansion 2023-06-27 08:18:18 -06:00
Behdad Esfahbod
3edd6cdcd5 [vector] Minor micro-optimize shrink_vector
The compiler seems to understand this pattern better.
2023-06-27 07:07:02 -06:00
Behdad Esfahbod
aed215639a [subset/cff1] Micro-optimize 2023-06-26 22:51:50 -06:00
Behdad Esfahbod
40a1c08f4c [subset/cff1] Micro-optimize 2023-06-26 19:03:04 -06:00
Behdad Esfahbod
bd3e78770e [subset/cff1] Reuse a function 2023-06-26 18:55:39 -06:00
Behdad Esfahbod
ffd23d3a31 [subset/cff1] Micro-optimize Charset serialization 2023-06-26 18:54:06 -06:00
Behdad Esfahbod
452557cd18 Replace a free with hb_free
Ouch.
2023-06-26 18:40:54 -06:00
Behdad Esfahbod
1fc128f609 Replace a few memset/memcpy's with hb_ equivalents 2023-06-26 18:36:23 -06:00
Behdad Esfahbod
2c359635df [face-builder] Don't zero allocation
We overwrite it.
2023-06-26 18:28:11 -06:00