Behdad Esfahbod
0a5c1c9705
[failing-alloc] Make it compile as C++ as well
2022-01-04 14:18:38 -07:00
Behdad Esfahbod
bea5369c6d
[buffer] Rename swap_buffers() to sync()
2022-01-04 10:52:05 -07:00
Behdad Esfahbod
c5e5d5e0bc
Merge pull request #3353 from harfbuzz/buffer-create-similar
...
Add `hb_buffer_create_similar()`; use it in util
2022-01-04 07:33:59 -07:00
Behdad Esfahbod
d1e7df5c3f
[buffer] Add enter()/leave() pair around shape()
2022-01-04 07:32:04 -07:00
Behdad Esfahbod
43be5ba442
[buffer] Group shape-related members together
2022-01-04 07:26:53 -07:00
Behdad Esfahbod
52f5711ed0
[buffer] Add hb_buffer_create_similar()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:57:42 -07:00
Behdad Esfahbod
f643b81ffc
[buffer] Clean up internal state bookkeeping
...
hb_buffer_reset() was NOT resetting cluster_level. Ouch! Fix that.
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:45:31 -07:00
Behdad Esfahbod
d0c3515ce4
[util] Copy unicode_funcs in copy_buffer_properties()
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:26:41 -07:00
Behdad Esfahbod
34f5b855aa
[util] Simplify copy_buffer_properties()
...
Now that hb_buffer_append() overlays segment_properties we can do this.
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:25:45 -07:00
Behdad Esfahbod
101d07efd9
[util] Move copy_buffer_properties() out of loop
...
Now that hb_buffer_append() overlays properties, we can do this.
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:25:40 -07:00
Behdad Esfahbod
36e9f467a4
[buffer] Overlay segment-properties in hb_buffer_append()
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:23:14 -07:00
Behdad Esfahbod
6a66992842
Add hb_segment_properties_overlay()
...
New API:
+ hb_segment_properties_overlay()
2022-01-03 11:21:29 -07:00
Behdad Esfahbod
165a6073fa
Merge pull request #3338 from harfbuzz/slant
...
[font] Add public API for synthetic slant
2022-01-02 12:02:20 -07:00
Behdad Esfahbod
3fc2e654c0
[metrics] Fix slant calc
2022-01-02 11:56:45 -07:00
Behdad Esfahbod
a7751277e9
[docs] Add hb_font_[gs]et_synthetic_slant()
2022-01-02 11:50:02 -07:00
Behdad Esfahbod
4ab94443bb
[metrics] Ouch. Fix slant code
2022-01-02 11:26:45 -07:00
Behdad Esfahbod
f7d49d9c2b
[metrics] Simplify
2022-01-02 11:16:33 -07:00
Behdad Esfahbod
f1ba1f940f
[metrics] Only scale caret rise/run if font is slanted
2022-01-02 10:58:25 -07:00
Behdad Esfahbod
45c2b6e384
[metrics] Harden math
2022-01-02 10:57:19 -07:00
Behdad Esfahbod
fa008a021f
[metrics] Implement synthetic slant for caret slope
...
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
2022-01-02 10:46:38 -07:00
Behdad Esfahbod
fc329f665f
[metrics] Scale up horizontal caret rise/run
...
Eg. if rise/run are 1/0, we now return upem/0. This is equivalent.
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
2022-01-02 10:43:13 -07:00
Behdad Esfahbod
a3265e1e07
Typo
2022-01-02 10:02:41 -07:00
Behdad Esfahbod
0df83f52a1
Fix test
2022-01-02 08:01:11 -07:00
Behdad Esfahbod
6356da88ee
[docs] Update
2022-01-02 07:55:56 -07:00
Behdad Esfahbod
5b87c30d6b
[font] Mark hb_font_get_var_coords_design() non-experimental
...
Any remaining issue with the API will address later by deprecating it.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1865
2022-01-02 07:53:45 -07:00
Behdad Esfahbod
2d42fc9fbb
[font] Load named-instance if face index top bits are set
...
This matches FreeType behavior.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3348
2022-01-02 07:45:10 -07:00
Behdad Esfahbod
da7dba0002
[face] Clarify face_index handling
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3347
2022-01-01 11:20:20 -07:00
Behdad Esfahbod
6da4b80e5f
[hb-ot-var] Specify normalized 2.14 docs
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3345
2021-12-22 21:51:03 -07:00
Behdad Esfahbod
1b51be57dc
[hb-ot-var] Actually set in/out argument
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/3344
2021-12-22 21:43:48 -07:00
Behdad Esfahbod
06ee40213c
Use invisible-glyph for spaces if font has no ASCII space
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3340
Should add tests ideally.
2021-12-22 21:34:44 -07:00
Behdad Esfahbod
602bd39680
[style] Adjust font slant angle for synthetic slant value
...
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
2021-12-19 21:40:25 -08:00
Behdad Esfahbod
ff697debd8
[GPOS] Apply font synthetic slant
...
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
2021-12-19 21:20:25 -08:00
Behdad Esfahbod
810f5d71c7
[font] Add public API for slant
...
Not hooked up internally to anything.
New API:
+ hb_font_set_synthetic_slant()
+ hb_font_get_synthetic_slant()
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
2021-12-19 21:20:25 -08:00
Garret Rieger
067f90a820
[subset] Fix for fuzzer timeout.
...
Fixes https://oss-fuzz.com/testcase-detail/5549945449480192
In prune_langsys: move LangSys visited check up before any work is done for a LangSys. In this particular case the compare() method is responsible for the majority of the time spent and wasn't being guarded with a visisted check.
2021-12-14 17:34:21 -07:00
Garret Rieger
c4573c2ec7
[repacker] don't infinite loop if visited or roots is in error.
...
Fixes https://oss-fuzz.com/testcase-detail/5205038086094848
2021-12-14 15:57:48 -07:00
Khaled Hosny
449c4296a1
[ci] Try harder to fix this randomly failing job
...
The default --num-processes is the number of CPUs multiplied by 5,
which seems to give this VM a hard-time. Even the number of CPUs is too
much, so lets use half of that (I’m adding one just in case the division
gives zero).
2021-12-12 07:50:06 +02:00
Khaled Hosny
52a33a15a4
[ci] Try to fix the randomly failing valgrind job
2021-12-12 07:43:58 +02:00
Khaled Hosny
be91d2917d
3.2.0
2021-12-12 04:45:54 +02:00
Garret Rieger
77507a1d8d
[subset] Don't double count visit lookups in closure_lookups
...
Each recursed lookup was getting counted once in closure_lookups() and then again in hb_closure_lookups_context_t::recurse.
2021-12-10 15:13:49 -07:00
Garret Rieger
d67025705f
[subset] reset the visited lookup count before each closure iteration.
2021-12-10 15:13:49 -07:00
Behdad Esfahbod
23159084b4
[morx] Reverse graphemese, not whole buffer
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3314
Supersedes https://github.com/harfbuzz/harfbuzz/pull/3315
2021-12-10 15:02:57 -07:00
Behdad Esfahbod
5b995526f7
[buffer] Fix reverse_group() to reverse() at the end
2021-12-10 14:59:56 -07:00
Behdad Esfahbod
21c4fc1011
[buffer] Add optional merge_clusters arg to reverse_groups()
2021-12-10 13:02:43 -07:00
Behdad Esfahbod
e949e51218
[ot-layout] Port foreach_grapheme to buffer foreach_group
2021-12-10 12:58:27 -07:00
Behdad Esfahbod
eb96e69d18
[buffer] Add foreach_group()
2021-12-10 12:55:29 -07:00
Behdad Esfahbod
1b78e04c78
[buffer] Add ::reverse_groups()
2021-12-10 12:45:43 -07:00
Behdad Esfahbod
4cd96e73e4
[buffer] Inline revers_range() / reverse()
2021-12-10 12:33:21 -07:00
Garret Rieger
5914acb3cb
[repacker] Clear distance and position cache when assigning a new space.
...
A change in space will effect the distance assigned to the node and any of it's children so clear the distance cache.
2021-12-10 11:09:03 -07:00
Qunxin Liu
706014f69d
[subset] (Chain)ContextSubst glyph_closure fix
...
- When pos_glyphs is empty, use current full glyphs set as input for
subsequent recursive closure process
- Also increase max_lookup_visit_count to 35000 cause a real font file hit
previous limit 20000 and some lookups are dropped unexpectedly
2021-12-10 11:08:36 -07:00
Garret Rieger
441877f56a
[repacker] add test case for using max priority to resolve an overflow.
2021-12-09 17:46:52 -07:00