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
Garret Rieger
c77bdf1dcf
[repacker] begin storing each nodes parents.
...
Will be used for connected component search.
3 years ago
Garret Rieger
a52c6df38a
[subset] Fix bug in composite operation counting.
...
Adding the result of add_gid_and_children to operation count over counts the number of operations.
3 years ago
Garret Rieger
efda2f14e1
[repacker] fix bug in subgraph isolation.
...
Prior to this fix id remapping at the end of the isolation operation was fed the old subgraph instead of the new one. Which results in object indices being remapped for the nodes outside of the new subgraph. Adds a test which detects this problem.
3 years ago
Behdad Esfahbod
6f19094398
[getn-hb-version.py] Open old output in UTF-8 mode as well
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3227
3 years ago
Garret Rieger
9247d24d7f
[repacker] s/0/HB_TAG_NONE
3 years ago
Garret Rieger
fe155de989
[repacker] handle a couple of duplication edge cases.
...
- Detect cases where there are multiple links from a parent to a child. Don't duplicate that child if those are the only remaining links to the child.
- Correctly handle isolating a subgraph where the root idx has multiple incoming links.
3 years ago
Garret Rieger
c19ec97da7
[repacker] reduce the bits used by order by 2 to give more bits to distance.
3 years ago
Garret Rieger
d5beb96e06
[repacker] add repacker isolation test on real font.
3 years ago
Garret Rieger
d0daa7a59b
[repacker] add a couple more complex isolation tests.
3 years ago
Garret Rieger
62c502cd9d
[repacker] correctly update incoming_edges in duplicate.
3 years ago
Garret Rieger
a57ef8df7e
[repacker] default space to 0.
...
Since vector push() init's new objects to all zeros.
3 years ago
Garret Rieger
58facaade1
[repacker] put each 32 bit subgraph into it's own packing space.
...
Each subgraph pointed to by a 32 bit offset should be packed into it's own space. This adds a space property to vertices which affects the distance calculation. This effectively places the distances for all of the nodes of a 32 bit subgraph into a distinct range. Thus all of the nodes of the subgraph will be packed together.
3 years ago
Garret Rieger
543a3f9733
[repacker] Add repacker test for subgraph isolation.
3 years ago
Garret Rieger
7147f169d6
[repacker] recursively duplicate nodes during isolation.
...
If a node is duplicated during isolation then any children it has will have incoming links from outside the subgraph (from the duplicated node and the original node), so they must be duplicated too.
3 years ago
Garret Rieger
41bbf2812e
[repacker] do extension subtable isolation before starting resolution attempts.
3 years ago
Garret Rieger
8d8b7458a4
[repacker] extract overflows processing into its own method.
3 years ago
Garret Rieger
b14b3f13ba
[repacker] begin implementing the ability to isolate extension subtables.
...
Adds isolate_subgraph operation to the repacker. This severs any links from outside a subgraph by duplicating the affected vertices. This will be used to isolate the subgraphs of a extension subtable from the rest of object graph. Thus allowing the extension subtable to be packed far away from the rest of the objects.
3 years ago
Garret Rieger
02c4a516db
Add a debug message when offset overflow resolution fails.
3 years ago
Ben Wagner
cb2d71c648
[mutex] Add hb_mutex_t std::mutex implementation
...
Instead of failing...
3 years ago
Behdad Esfahbod
67b3962fa5
[atomic] Cannot fail anymore
3 years ago
Qunxin Liu
ca7b9daef0
[subset] subset MATH table
3 years ago
Garret Rieger
c2cc566c9d
[subset] Fix subset_offset_array adding unused space to serializer.
...
ArrayOf.serialize_append allocates space for the new item, but ArrayOf.pop() does not recover the allocated space. So in the case where the revert path was entered the extra space added by serialize_append gets left in the serialization buffer. This moves the snapshot to before ArrayOf.serialize_append is called so that revert cleans up the buffer extend.
3 years ago
Qunxin Liu
8c5c81746d
[subset] fix find_duplicate_features
...
We should check each feature against all other features with the same
tag for duplicates.
3 years ago
Qunxin Liu
1afc3874e0
[subset] add closure_glyphs () method for MATH table
3 years ago
Behdad Esfahbod
3b2929e8a9
[set-digest] Use using instead of typedef
3 years ago
Simon Cozens
5694561f75
Add support for Pwo Karen / Ason Chin medial la
...
https://github.com/harfbuzz/harfbuzz/pull/3217
3 years ago
Behdad Esfahbod
bff5685432
[khmer] Towards separating Khmer from Indic table
3 years ago
Behdad Esfahbod
5d957ffe74
[myanmar] Towards separating Myanmar from Indic table
3 years ago
Khaled Hosny
6db4b56e05
Make the file UTF-8 again
...
GitHub web interface failed to show the encoding change.
3 years ago
Behdad Esfahbod
14a2df7bc2
Add stub HBUINT15
3 years ago
Behdad Esfahbod
c852b86841
Rename HBGlyphID to HBGlyphID16
3 years ago
Garret Rieger
74f96d9d4b
[repacker] fix heap use after free in repacker.
...
Don't store a reference to the link in overflow records as the link object may be freed if the sorted graph vector is resized.
3 years ago
ActuallyaDeviloper
7143c8333b
Make the code able to compile with MSVC++ from Visual Studio 2015 (Version 14.0.25431.01, Update 3) sucessfully again.
3 years ago
Khaled Hosny
b36f1510ec
[doc] Add missing version tags
3 years ago
Khaled Hosny
9c387e20d6
3.0.0
3 years ago
Behdad Esfahbod
e0d5fe740a
Centralize math include
...
https://github.com/harfbuzz/harfbuzz/pull/3212
3 years ago
Khaled Hosny
671f1d149a
[ci] meson 0.55.0 didn’t work for harfbuzz
...
https://github.com/mesonbuild/meson/issues/7437
3 years ago