David Korczynski
de9424172d
[ci] Add CIFuzz integration
...
Add CIFuzz integration, which will run the fuzzers for a short amount
of time when a PR is submitted on Github.
Signed-off-by: David Korczynski <david@adalogics.com>
3 years ago
Behdad Esfahbod
da500568de
[API] Add hb_buffer_[sg]et_not_found_glyph() and --not-found-glyph
...
Instead of using gid=0 when a character is not found in the font,
client can now set a custom value. This is useful for shaper-driven
font fallback and to differentiate that from .notdef glyph.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1360
3 years ago
Cameron Cawley
6ea6c581ed
Remove direct link to dwrite from meson scripts
3 years ago
Cameron Cawley
ecbe224743
Revert "[hb-directwrite] Don't load dwrit.dll dynamically"
...
This reverts commit 6119ff9d80
.
3 years ago
Behdad Esfahbod
4262636926
Merge pull request #3248 from googlefonts/connected_components
...
[repacker] Keep connected subgraphs in the same space.
3 years ago
Qunxin Liu
f55d834736
[subset] Move struct DeltaSetIndexMap into hb-ot-var-common.hh
...
Also fix naming issues in review comments
3 years ago
Qunxin Liu
8c583db9b5
[subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap
...
Also fix issues in struct PaintTransform definition
3 years ago
Qunxin Liu
e51c7f8e79
[subset] COLRv1: add ClipList/ClipRecord/ClipBox struct definition
3 years ago
Qunxin Liu
2e5636eeaf
[subset] add DeltasetIndexMap struct definition
3 years ago
Qunxin Liu
d2e986fead
[subset] update COLRv1 table struct definitions
3 years ago
Khaled Hosny
792ca307b0
[meson] Add graphite2 option and deprecate graphite
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3241
Should be better handled when we can use https://github.com/mesonbuild/meson/pull/9184
3 years ago
Behdad Esfahbod
c6557747ef
[style] Use head->macStyle.isExtended in style fallback
...
https://github.com/harfbuzz/harfbuzz/issues/3263
3 years ago
Behdad Esfahbod
f3f848b506
[head] Add is_expanded() internally
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3263
3 years ago
Garret Rieger
d17155f5d2
[repacker] use possibly updated root idx after isolate_subgraph.
...
isolate_subgraph can change the root indices in some cases. So operations after the isolation need to use the roots from the output of isolate_subgraph.
3 years ago
Behdad Esfahbod
a7a3608553
[docs] Rename overflow_resolution to repacker
3 years ago
Behdad Esfahbod
9bd7ba5019
Err on -Wbitwise-instead-of-logical
...
Part of https://github.com/harfbuzz/harfbuzz/pull/3256
3 years ago
Garret Rieger
6bc64317ca
Add a writeup of the overflow resolution algorithm in harfbuzz.
3 years ago
Nico Weber
96299d70ed
Fix Wbitwise-instead-of-logical warnings
...
`a || b` only evaluates b if a is false. `a | b` always evaluates
both a and b. If a and b are of type bool, || is usually what you
want, so clang now warns on `|` where both arguments are of type bool.
This warning fires twice in harfbuzz. In both cases, `|` is used
intentionally, with a comment explaining this.
Slightly reorder the code a bit to make the compiler happy, and to
make it obvious even without a comment that both calls should be evaluated.
No intended behavior change.
3 years ago
faywong
b621c4fc29
[subset] Refine the coding style
3 years ago
faywong
f8538d3117
[subset] Export header & archive when HB_BUILD_SUBSET
...
Ease the adopt of hb-subset feature for 3rd party developers
3 years ago
Qunxin Liu
36ed56b6e8
[subset] code cleanup
...
- rename copy() method if it takes extra parameter
- get rid of same code blocks
3 years ago
David Corbett
3e635cf5e2
[USE] Categorize characters that only have AJT
3 years ago
David Corbett
ae193cd182
[USE] Insert dotted circles before lone viramas
3 years ago
David Corbett
641296b5eb
[USE] Categorize U+11046 BRAHMI VIRAMA as HALANT
3 years ago
Behdad Esfahbod
cca42cda46
Merge pull request #3249 from harfbuzz/use-merge-s-o
...
[USE] Merge the categories S and O
3 years ago
David Corbett
bb50aae9b4
[USE] Document customizations of USE categories
3 years ago
David Corbett
7287125c58
[USE] Merge the categories S and O
3 years ago
David Corbett
8eaee2f887
[USE] Only skip default ignorables within CCSes
3 years ago
David Corbett
4645c3b47c
Update comments for U+180F FVS4
3 years ago
Garret Rieger
5b882c420a
[repacker] performance optimizations for topological sorting.
...
- Presize the output sorted graph and write it once in the correct order to avoid needing to reverse.
- Swap the old/new graph vectors instead of copying.
- Use a boolean vector for tracking visited instead of a set.
3 years ago
Garret Rieger
ff7a86e9b0
[repacker] remove clone buffer, they are unnessecary.
...
When nodes are duplicated it's fine to just reuse head, tail from the node being cloned since we don't modify the contents.
3 years ago
Garret Rieger
8cae8b653d
[repacker] add missing fini for parents vector.
3 years ago
Garret Rieger
7f0ede4f04
[repacker] refactor resolve overflow tests to use a helper.
3 years ago
Garret Rieger
79937d24b7
[repacker] Add repacker test that requires space splitting.
3 years ago
Garret Rieger
7883b7ed95
[repacker] Add additional splitting spaces test.
...
Fix issues it uncovered.
3 years ago
Garret Rieger
6265663de4
[repacker] add test for splitting spaces.
3 years ago
Garret Rieger
d97bd4268a
[repacker] when assigning spaces use post isolation node indices.
...
isolate_subgraph can result in some of the roots being duplicated and moved to new indices, so do subgraph isolation before assign roots to spaces.
3 years ago
Khaled Hosny
bb57df7a4f
[test] Add test for https://github.com/harfbuzz/harfbuzz/issues/2757#issuecomment-933531978
3 years ago
Khaled Hosny
1624550377
[test] Add test for https://github.com/harfbuzz/harfbuzz/issues/3244
3 years ago
Behdad Esfahbod
ccfc048153
[indic] Apply 'calt' and 'clig' across syllable boundaries
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3244
3 years ago
Behdad Esfahbod
d58f1685ce
[ot-shape] Tweak table order some more; apply GPOS with morx
...
During 5bc05ba155
accidentally GPOS was disabled when morx was
enabled. Fix that.
Fixes https://github.com/harfbuzz/harfbuzz/issues/2757#issuecomment-933531978
3 years ago
David Corbett
f8ebb8a657
[USE] Update the data files
...
This uses the data files from
<c355d04194/USE
>.
3 years ago
David Corbett
564afc425a
[USE] Remove overrides for hieroglyphic categories
3 years ago
David Corbett
8c65442069
[Unicode 14] Handle U+180F FVS4
3 years ago
Garret Rieger
375a6c8f81
[repacker] add the ability to move subgraphs from a shared space into their own space.
...
Used to resolve overflows during manual resolution.
3 years ago
Garret Rieger
0dccbf368f
[repacker] Handle the case where a subgraph root has an incoming 32 and 16 bit edge.
...
In this case the entire subgraph from that root will be duplicated.
3 years ago
Qunxin Liu
794b00db4b
[subset] fuzzer fix: https://oss-fuzz.com/testcase-detail/6616166961905664
3 years ago
Garret Rieger
816c5302a7
[repacker] restrict 32 bit subgraph connected component search to only nodes reachable via directed links.
3 years ago
Garret Rieger
67eb222b8e
[repacker] when assigning each connected subgraph a space, also isolate it.
...
This will break any links coming from space 0 (ie. the 16 bit offset only space).
3 years ago
Garret Rieger
307acf7fb0
[repacker] add space assignment based on connected components.
...
Assign each connected component that is underneath one or more 32 bit offsets into a unique space. This ensures that 32 bit subgraphs which are connected are packed into the same space.
3 years ago