Commit graph

14615 commits

Author SHA1 Message Date
Behdad Esfahbod
bf2e817549 [VarComposites] Support GID24 2022-12-09 23:15:26 -07:00
Behdad Esfahbod
8c641eeefb
Merge pull request #3841 from harfbuzz/varc
[glyf] VariableComposites
2022-12-09 19:43:47 -07:00
Behdad Esfahbod
10d38dcdfd [varc] Change format slightly
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/70
2022-12-09 19:19:57 -07:00
Behdad Esfahbod
af450a757d [config] Use HB_EXPERIMENTAL_API instead of adhoc HB_EXPERIMENTAL 2022-12-09 19:05:16 -07:00
Behdad Esfahbod
5cf0b9ae7d [varc] Mark as experimental feature with HB_NO_VAR_COMPOSITES 2022-12-09 18:59:43 -07:00
Behdad Esfahbod
82b4f3791e [coord-setter] Don't modify font coords 2022-12-09 18:46:33 -07:00
Behdad Esfahbod
e9e503b80b [Glyph] Pass down coords to get_points 2022-12-09 18:42:46 -07:00
Behdad Esfahbod
8e46870093 [gvar] Take coords in instead of font in apply_deltas_to_points 2022-12-09 18:35:30 -07:00
Behdad Esfahbod
3caa42a4a7 Fix build after rebase 2022-12-09 14:48:41 -07:00
Behdad Esfahbod
bbe59e4211 Whitespace 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
13deea7cbd [glyf/VarComposite] Clamp axis coordinates 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
a975be4c07 [glyf/VarComposite] Minor rename 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
1e71db2d26 [glyf/VarComposite] Fix transformation 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
1233be61d8 [glyf/VarComposite] Remove unneeded resize 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
1a906162cb [glyf/coord-setter] Fix memory issue 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
7efd68da39 [glyf/VarComposite] Set coordinates
Code is untested but complete!
2022-12-09 14:45:29 -07:00
Behdad Esfahbod
4ec7781497 [glyf] Move coord-setter to its own file 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
dadb4ed71d [glyf/VarComposite] More, almost there 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
0a939b48a6 [glyf/VarComposite] Implement more 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
65cc3b5e2b [glyf/VarComposite] More 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
12688ed386 [glyf] Fix distcheck 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
60d959a6e7 [glyf/VarComposite] Add use_my_metrics() 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
575d99406a [glyf] Flesh out VarCompositeGlyph 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
21f671bc45 [glyf] Add stub VarCompositeGlyph 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
435c5eeffe [glyf] Split composite-iter 2022-12-09 14:45:29 -07:00
Behdad Esfahbod
1024a013fd [glyf] Add CoordSetter 2022-12-09 14:45:29 -07:00
Garret Rieger
e66d02126e [subset] replace subset-processing.md reference with link to it on github. 2022-12-08 16:32:24 -07:00
Garret Rieger
27201ed32b [subset] fix up hb_subset_preprocess api comment. 2022-12-08 16:32:24 -07:00
Garret Rieger
13b0388351 [subset] link to preprocessing doc from api comment. 2022-12-08 16:32:24 -07:00
Garret Rieger
c097abab52 [subset] set no prune unicode ranges flag in preprocessor.
To avoid modifying the original unicode range values in the source font.
2022-12-08 16:32:24 -07:00
Garret Rieger
8c021462e6 [subset] Add short document on subset preprocessing. 2022-12-08 16:32:24 -07:00
Garret Rieger
bc87fe952e [subset] add note about memory management with preprocessed faces. 2022-12-08 16:32:24 -07:00
Garret Rieger
5e713e99bf Revert "[map] Speed up is_real()"
This reverts commit f5307c3ba8.

Found to slow down the benchmarks in some cases.
2022-12-08 16:32:24 -07:00
Garret Rieger
eda02c2ebd [subset] Move hb_subset_preprocess to be non-experimental. 2022-12-08 16:32:24 -07:00
Garret Rieger
76d5482a7c [subset] always return a valid face from hb_subset_preprocess. 2022-12-08 16:32:24 -07:00
Khaled Hosny
a80cae4453 [doc] Add missing symbols to harfbuzz-sections.txt 2022-12-08 12:09:05 -07:00
Khaled Hosny
41edf95893 [doc] Fix sorting
* Keep setters and getters together, with setters first.
* Keep common functions at the top and in a predictable order.
* Put callback functions right above their setters.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3352
2022-12-08 12:09:05 -07:00
Garret Rieger
35233d2514 [repacker] fix fuzzer reported stack overflow.
Fixes https://oss-fuzz.com/testcase-detail/6014493291577344.
2022-12-07 10:32:56 -07:00
Garret Rieger
b17fbc200b [repacker] use memcpy to avoid alignment issues. 2022-12-05 14:13:47 -07:00
Garret Rieger
f1d3489388 [repacker] bail on failure to alloc assigned_bytes set.
Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/5390364397928448.
2022-12-05 14:13:47 -07:00
Garret Rieger
239a5aca02 [repacker] don't allow references to the null object in graph.
Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/6714085985353728
2022-12-05 14:13:47 -07:00
Behdad Esfahbod
4ce0f08897 [coretext] Clamp variation settings to min/max
Like our native implementation does; CoreText doesn't itself.

Also fix leak of CFNumber's.
2022-12-05 13:18:34 -07:00
Behdad Esfahbod
1b86753031 [hb-subset] Support -u, -g, -t
For --unicodes, --gids, --text.
2022-12-05 11:44:52 -07:00
Behdad Esfahbod
22b0390e2d Revert "[VarData] Don't clear memory we are going to fill in completely"
This reverts commit e28e2dad03.

This made fuzzer unhappy. I'm not sure how.

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54044
2022-12-05 09:43:36 -07:00
Behdad Esfahbod
3c497e2458 [harfbuzz-subset.cc] Revert accidental change
These extra files are unnecessary, but our generator currently
isn't smart enough to know that. Will fix some time.
2022-12-04 15:35:01 -07:00
Behdad Esfahbod
aa7f5e3742 [subset] Conditionalize call to hb_font_set_variations 2022-12-04 15:33:18 -07:00
Behdad Esfahbod
ad5588e800 [config] If HB_NO_SHAPER then HB_NO_OT_SHAPE 2022-12-04 15:27:59 -07:00
Behdad Esfahbod
1a5c749581 [config] Flesh out HB_NO_SHAPER a bit more 2022-12-04 15:20:51 -07:00
Behdad Esfahbod
2c0abf0258 Revert "[harfbuzz-subset.cc] Trim down!"
This reverts commit a335458d57.

While this can be vastly trimmed down, what I did is not right.
It still depends on hb-face, hb-font, hb-blob, hb-set, and hb-map.
2022-12-04 15:03:36 -07:00
Behdad Esfahbod
a335458d57 [harfbuzz-subset.cc] Trim down! 2022-12-04 14:56:20 -07:00