Behdad Esfahbod
a7751277e9
[docs] Add hb_font_[gs]et_synthetic_slant()
3 years ago
Behdad Esfahbod
4ab94443bb
[metrics] Ouch. Fix slant code
3 years ago
Behdad Esfahbod
f7d49d9c2b
[metrics] Simplify
3 years ago
Behdad Esfahbod
f1ba1f940f
[metrics] Only scale caret rise/run if font is slanted
3 years ago
Behdad Esfahbod
45c2b6e384
[metrics] Harden math
3 years ago
Behdad Esfahbod
fa008a021f
[metrics] Implement synthetic slant for caret slope
...
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
3 years ago
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
3 years ago
Behdad Esfahbod
a3265e1e07
Typo
3 years ago
Behdad Esfahbod
0df83f52a1
Fix test
3 years ago
Behdad Esfahbod
6356da88ee
[docs] Update
3 years ago
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
3 years ago
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
3 years ago
Behdad Esfahbod
da7dba0002
[face] Clarify face_index handling
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3347
3 years ago
Behdad Esfahbod
6da4b80e5f
[hb-ot-var] Specify normalized 2.14 docs
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3345
3 years ago
Behdad Esfahbod
1b51be57dc
[hb-ot-var] Actually set in/out argument
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/3344
3 years ago
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.
3 years ago
Behdad Esfahbod
602bd39680
[style] Adjust font slant angle for synthetic slant value
...
Part of https://github.com/harfbuzz/harfbuzz/pull/3338
3 years ago
Behdad Esfahbod
ff697debd8
[GPOS] Apply font synthetic slant
...
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
3 years ago
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
3 years ago
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.
3 years ago
Garret Rieger
c4573c2ec7
[repacker] don't infinite loop if visited or roots is in error.
...
Fixes https://oss-fuzz.com/testcase-detail/5205038086094848
3 years ago
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).
3 years ago
Khaled Hosny
52a33a15a4
[ci] Try to fix the randomly failing valgrind job
3 years ago
Khaled Hosny
be91d2917d
3.2.0
3 years ago
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.
3 years ago
Garret Rieger
d67025705f
[subset] reset the visited lookup count before each closure iteration.
3 years ago
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
3 years ago
Behdad Esfahbod
5b995526f7
[buffer] Fix reverse_group() to reverse() at the end
3 years ago
Behdad Esfahbod
21c4fc1011
[buffer] Add optional merge_clusters arg to reverse_groups()
3 years ago
Behdad Esfahbod
e949e51218
[ot-layout] Port foreach_grapheme to buffer foreach_group
3 years ago
Behdad Esfahbod
eb96e69d18
[buffer] Add foreach_group()
3 years ago
Behdad Esfahbod
1b78e04c78
[buffer] Add ::reverse_groups()
3 years ago
Behdad Esfahbod
4cd96e73e4
[buffer] Inline revers_range() / reverse()
3 years ago
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.
3 years ago
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
3 years ago
Garret Rieger
441877f56a
[repacker] add test case for using max priority to resolve an overflow.
3 years ago
Garret Rieger
be2c488e5d
[repacker] Improve vertex priority packing.
...
Previous priority implementation would move a node further back within it's layer, but at max priority was unable to move any further up than that. This updates the implementation to have 3 priority levels:
1. Distance is reduced by half of table size.
2. Distance is reduced by full table size (move to beginning of the layer).
3. Distance is set to 0. Vertex will be packed as soon as possible.
Also makes the iterative resolutions aware of max priority, so it won't keep trying to raise priority beyond the maximum.
3 years ago
David Corbett
2404617a60
Update language system tag registry to OT 1.9
3 years ago
Behdad Esfahbod
002a1f70b8
[ft] Disable vertical funcs if HB_NO_VERTICAL
3 years ago
Behdad Esfahbod
ef14cad736
[GPOS] Disable vertical advance if HB_NO_VERTICAL
3 years ago
Behdad Esfahbod
6ed22de127
[CONFIG] Fix HB_NO_VERTICAL build without HB_TINY
3 years ago
Behdad Esfahbod
53eebc7cd2
[CONFIG] Add HB_NO_VERTICAL
3 years ago
Behdad Esfahbod
9bc5d2903a
[TINY] Don't disable VORG table in any config profile
...
Is needed for vertical layout of CFF fonts.
Fixes https://github.com/harfbuzz/harfbuzz/discussions/3294#discussioncomment-1770313
3 years ago
Garret Rieger
3e4a25098d
[repacker] add a maximum number of roots that can be moved in one iteration.
...
Set to half of the roots in a space. This prevents the repacker from moving all roots in a space to a new space if their are overflows in every root.
3 years ago
Garret Rieger
02b12d7965
[repacker] Move all overflowing roots to a new space simultaneously.
3 years ago
Garret Rieger
fa966bcc29
[repacker] create repacker output buffer after final length is known.
...
Don't rely on a buffer provided by the caller, as it may not be large enough.
3 years ago
Qunxin Liu
51655a078e
[subset] COLR : only include glyphs after COLR closure
3 years ago
Behdad Esfahbod
70f8c57e5c
[buffer] Rename find_min_cluster
3 years ago
Behdad Esfahbod
94d43c008a
[buffer] Merge and rename clear_glyph_flags()
3 years ago
Behdad Esfahbod
b95d252fab
[CONFIG] Add HB_CONFIG_OVERRIDE_H to simplify config overrides
3 years ago