Behdad Esfahbod
85be877925
[layout] Limit how far we skip when looking back
...
See comments.
2023-02-01 20:00:43 -07:00
Behdad Esfahbod
d18fd3f7eb
[layout] Comment
2023-01-31 16:28:49 -07:00
Behdad Esfahbod
7a4bd97e4a
[layout] Build lookup accelerators lazily on-demand
...
Reduces memory consumption for large multi-script fonts
drastically.
2023-01-31 16:19:37 -07:00
Behdad Esfahbod
83353f13f4
[layout] Reduce memory use slightly
...
By using raw pointer instead of vector for subtable accelerator.
To be used for more memory saving by making subtable accelerators
lazy-loaded by shape-plans for large fonts.
2023-01-31 16:19:37 -07:00
Garret Rieger
2b6d74b42e
[subset] for keep everything, don't drop any tables.
2023-01-31 11:16:53 -07:00
Behdad Esfahbod
277003d553
[ft] Fit advance cache into short int
2023-01-30 22:43:01 -07:00
Behdad Esfahbod
a924bbcfce
[atomic/cache] Add hb_atomic_short_t
2023-01-30 14:52:22 -07:00
Behdad Esfahbod
e7a71ea15b
[font] Docs
2023-01-30 11:21:08 -07:00
Behdad Esfahbod
cb47dca74c
[object] Handle mallocation error in set_user_data
...
Should make bots happy.
2023-01-29 10:57:29 -07:00
Behdad Esfahbod
548bad221c
[user-data] Move methods to header file
...
No idea why they were in hb-static.
2023-01-29 10:11:40 -07:00
Behdad Esfahbod
02f79f60f2
Merge pull request #4092 from harfbuzz/more-cmap-cache
...
[ot-font] Use the cmap cache more
2023-01-29 09:36:46 -07:00
Behdad Esfahbod
784fe9ac67
[cmap] Simplify caching
2023-01-29 09:26:52 -07:00
Matthias Clasen
a451aa5465
Add back a null check
...
This was accidentally dropped in the previous commit.
2023-01-29 11:25:28 -05:00
Behdad Esfahbod
6622e04aa1
[solver] Fix unused-variable error
...
223abd72b9
2023-01-29 09:06:52 -07:00
Matthias Clasen
318aa10708
[ot-font] Use the cmap cache more
...
Use the cmap cache for get_nominal_glyph and
get_variation_glyph as well. The first of these
is used a lot in pango.
2023-01-29 09:17:17 -05:00
Behdad Esfahbod
5da829eaf5
[font] Comments
2023-01-28 22:18:53 -07:00
Behdad Esfahbod
544dd9678c
[font] Fix unlikely
2023-01-28 22:06:46 -07:00
Behdad Esfahbod
c1d0daf5f1
[font] unlikely
2023-01-28 22:05:24 -07:00
Behdad Esfahbod
30ee7a21e1
[font] Typo
2023-01-28 21:48:52 -07:00
Matthias Clasen
04056d44e2
[layout] Optimize more buffer message calls
...
Continuation of da7b66c1f8
.
2023-01-28 21:35:20 -07:00
Behdad Esfahbod
f8a744d9d5
[ot-font] Add a cmap cache
...
Speeds up Roboto shaping by 7%, for 1kb per face.
2023-01-28 13:38:07 -07:00
Behdad Esfahbod
1b53ed3c41
[cache] Remove empty fini()
2023-01-28 13:38:07 -07:00
Behdad Esfahbod
115d572571
[cache] Add constructor
2023-01-28 13:38:07 -07:00
Khaled Hosny
ae96295d67
Delete commented out include
2023-01-28 22:12:33 +02:00
Matthias Clasen
09b7fce857
Make includes relative
2023-01-28 12:09:45 -07:00
Matthias Clasen
e25e4c9a52
Move GDEF table to src/OT/Layout/GDEF
2023-01-28 12:09:45 -07:00
Matthias Clasen
f89fa6dcfe
Move name table to src/OT/name
2023-01-28 12:09:45 -07:00
Matthias Clasen
b8193357c1
[OT::Color] Drop unused includes
2023-01-28 09:54:30 -07:00
Behdad Esfahbod
da7b66c1f8
[layout] Optimize buffer message calls
...
Those aren't exactly free. They were showing up in profiles.
2023-01-27 16:39:06 -07:00
Behdad Esfahbod
49d75ef331
[gsubgpos] Fix bug in cached ChainContextFormat2 application
2023-01-27 15:37:11 -07:00
Behdad Esfahbod
d2279a204f
[gsubgpos] Avoid a copy into the vector
2023-01-27 13:09:49 -07:00
Qunxin Liu
615595689c
[subset/COLR] add tests for copying varStore
2023-01-27 12:21:52 -07:00
Behdad Esfahbod
0f33ea8c4f
[subset/COLR] Copy VarStore
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4085
2023-01-27 11:26:57 -07:00
Khaled Hosny
6c46da7710
[test] Fix shell script quoting
2023-01-27 10:34:50 +02:00
Matthias Clasen
c03c8548f4
Merge pull request #4084 from harfbuzz/cairo-check-funcs
...
[meson] Enable all checked for Cairo functions for internal Cairo
2023-01-26 23:17:11 -05:00
Khaled Hosny
7a714d1a8d
[meson] Enable all checked for Cairo functions for internal Cairo
...
Similar to what we do with FreeType ones.
2023-01-27 03:16:54 +02:00
Behdad Esfahbod
950c7ab3f0
[gsubgpos] Use accelerator when recursing
2023-01-26 15:26:05 -07:00
Behdad Esfahbod
e377888990
[ft-colr] Conditionalize on (unreleased0 FreeType 2.13.0
...
That's the version that the color API is called stable, and
includes changes that we rely on.
2023-01-26 13:27:55 -07:00
Behdad Esfahbod
281db89a68
[cairo] Try to handle failure in set_user_data
2023-01-26 13:05:12 -07:00
Behdad Esfahbod
2fede3ef4a
[layout] Fix a return_trace
2023-01-26 12:56:17 -07:00
Behdad Esfahbod
05a2f31592
Merge pull request #4065 from harfbuzz/cairo-fix-foreground-color
...
hb-cairo: Fix handling of foreground color
2023-01-26 12:56:02 -07:00
Behdad Esfahbod
e484d6b990
[cairo] Handle malloc failure
2023-01-26 12:55:25 -07:00
Behdad Esfahbod
29a36010a1
[cairo] Adapt to cairo foreground API change again
2023-01-26 14:32:25 -05:00
Matthias Clasen
30d0d9c56c
Adapt to cairo changes
...
Adapt to the api in the cairo MR that will be used,
and make the code build with older cairo.
2023-01-26 14:32:25 -05:00
Behdad Esfahbod
034d4d26f2
[hb-cairo] Minor simplify
2023-01-26 14:32:25 -05:00
Behdad Esfahbod
26d34392e2
[hb-cairo] Fix condition
2023-01-26 14:32:25 -05:00
Matthias Clasen
f9b3c79047
Update to different cairo API
...
The cairo will likely end up begin a getter for
a cairo_pattern_t instead of a color.
2023-01-26 14:32:25 -05:00
Behdad Esfahbod
4afdbcbad5
[hb-cairo] Don't call get_foreground_color unnecessarily
...
That would invalidate cairo cache on foreground change, even
if the glyph doesn't need that.
2023-01-26 14:32:25 -05:00
Matthias Clasen
c37ea4f93e
hb-cairo: Fix handling of foreground color
...
Use the new cairo_user_scaled_font_get_foreground_color
to obtain the foreground color, since the cr's source
can't be trusted.
Requires https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/420
2023-01-26 14:32:25 -05:00
Behdad Esfahbod
aea37bfd37
Fix c++20 build
2023-01-26 12:19:16 -07:00