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.
2021-09-22 18:18:50 -06:00
Garret Rieger
41bbf2812e
[repacker] do extension subtable isolation before starting resolution attempts.
2021-09-22 18:18:50 -06:00
Garret Rieger
8d8b7458a4
[repacker] extract overflows processing into its own method.
2021-09-22 18:18:50 -06:00
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.
2021-09-22 18:18:50 -06:00
Garret Rieger
02c4a516db
Add a debug message when offset overflow resolution fails.
2021-09-22 18:18:50 -06:00
Ben Wagner
cb2d71c648
[mutex] Add hb_mutex_t std::mutex implementation
...
Instead of failing...
2021-09-22 18:43:58 -04:00
Behdad Esfahbod
67b3962fa5
[atomic] Cannot fail anymore
2021-09-22 18:43:58 -04:00
Qunxin Liu
ca7b9daef0
[subset] subset MATH table
2021-09-22 18:08:30 -04:00
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.
2021-09-22 16:07:18 -06:00
Qunxin Liu
8c5c81746d
[subset] fix find_duplicate_features
...
We should check each feature against all other features with the same
tag for duplicates.
2021-09-22 15:35:38 -06:00
Qunxin Liu
1afc3874e0
[subset] add closure_glyphs () method for MATH table
2021-09-22 12:06:59 -04:00
Behdad Esfahbod
3b2929e8a9
[set-digest] Use using instead of typedef
2021-09-21 12:21:17 -06:00
Simon Cozens
5694561f75
Add support for Pwo Karen / Ason Chin medial la
...
https://github.com/harfbuzz/harfbuzz/pull/3217
2021-09-20 17:01:40 -04:00
Behdad Esfahbod
bff5685432
[khmer] Towards separating Khmer from Indic table
2021-09-20 13:25:58 -06:00
Behdad Esfahbod
5d957ffe74
[myanmar] Towards separating Myanmar from Indic table
2021-09-20 11:33:01 -06:00
Khaled Hosny
6db4b56e05
Make the file UTF-8 again
...
GitHub web interface failed to show the encoding change.
2021-09-20 19:18:39 +02:00
Behdad Esfahbod
14a2df7bc2
Add stub HBUINT15
2021-09-19 23:06:09 -04:00
Behdad Esfahbod
c852b86841
Rename HBGlyphID to HBGlyphID16
2021-09-19 16:30:12 -04:00
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.
2021-09-19 09:06:17 -06:00
ActuallyaDeviloper
7143c8333b
Make the code able to compile with MSVC++ from Visual Studio 2015 (Version 14.0.25431.01, Update 3) sucessfully again.
2021-09-19 09:05:52 -06:00
Khaled Hosny
b36f1510ec
[doc] Add missing version tags
2021-09-18 23:09:07 +02:00
Khaled Hosny
9c387e20d6
3.0.0
2021-09-17 21:32:30 +02:00
Behdad Esfahbod
e0d5fe740a
Centralize math include
...
https://github.com/harfbuzz/harfbuzz/pull/3212
2021-09-17 06:41:07 -06:00
Khaled Hosny
671f1d149a
[ci] meson 0.55.0 didn’t work for harfbuzz
...
https://github.com/mesonbuild/meson/issues/7437
2021-09-17 06:12:14 -06:00
Khaled Hosny
f1b20b5a14
[ci] Ragel subproject requires meson 0.55.0
2021-09-17 06:12:14 -06:00
Khaled Hosny
835fc1376f
[ci] Build ragel on the Linux CI job
...
To make sure we don’t accidentally break this option.
2021-09-17 06:12:14 -06:00
Khaled Hosny
a59e7ec993
[meson] Add ragel_subproject option
...
Add an option to build fallback ragel subproject when no suitable ragel
version is found, and make it off by default since most builder don’t
need ragel at all.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3208 (hopefully)
2021-09-17 06:12:14 -06:00
Khaled Hosny
60a38d7988
Merge pull request #3210 from NikitaFeodonit/main
...
CMake: Detect pthread with module FindThread
2021-09-17 11:25:42 +02:00
Garret Rieger
f4649f3895
[subset] restore hb_subset_input_unicode/glyph_set () to documentation.
2021-09-16 15:31:29 -06:00
Garret Rieger
d700646c33
[subset] In preperation for 3.0.0 release remove legacy subsetting api methods.
2021-09-16 15:31:29 -06:00
NikitaFeodonit
19cd84b4e9
CMake: Detect pthread with module FindThread
...
Set CMake minimum version to 3.1.
2021-09-15 17:28:43 +03:00
Behdad Esfahbod
ae14537854
[style] Change tag type to hb_style_tag_t
...
https://github.com/harfbuzz/harfbuzz/pull/3201#discussion_r708914354
2021-09-15 07:46:33 -04:00
David Corbett
470686e817
[USE] Send Khitan Small Script and Yezidi to USE
2021-09-14 19:42:29 -06:00
Khaled Hosny
22cbd038d3
[meson] Add ragel subproject
...
If ragel 6.10 is not found, build it from source.
Seems to work, except that ragel uses exceptions and we configure
HarfBuzz build to not use exceptions, and I can’t find away to enable
exceptions only for the ragel subproject. I had to remove cpp_eh=none
from default options and try to disable exceptions in MSVC manually
(other compilers are already handled).
2021-09-14 18:46:33 -06:00
Khaled Hosny
5898a9618c
[ragel] Regenerate state machine files with 6.10
2021-09-14 18:46:33 -06:00
Khaled Hosny
7e9ac8fea2
[meson] Require ragel 6.10
...
Ragel 7 is also not stable from upstream's point of view.
This uses “version” argument find_program(), which was introduced in
meson 0.52.0, so I raised the minimum required meson version
accordingly.
2021-09-14 18:46:33 -06:00
Behdad Esfahbod
175f24a459
Merge pull request #3206 from harfbuzz/unicode-14
...
Update to Unicode 14.0.0
2021-09-14 18:46:05 -06:00
David Corbett
f1493357f7
[Unicode 14] Update the Arabic joining script list
2021-09-14 18:46:50 -04:00
David Corbett
a0101a31b5
[Unicode 14] Add tests
2021-09-14 18:38:50 -04:00
David Corbett
2c3e4b279b
[Unicode 14] Send all the new scripts to USE
2021-09-14 18:31:42 -04:00
David Corbett
20736d9bb3
[Unicode 14] Update the USE table
2021-09-14 18:25:38 -04:00
David Corbett
35ac0de42b
[Unicode 14] Update the emoji table
2021-09-14 18:14:20 -04:00
David Corbett
ec5688f50f
[Unicode 14] Update the vowel constraint table
2021-09-14 18:09:05 -04:00
David Corbett
11d5334d8e
[Unicode 14] Update the Indic table
2021-09-14 18:07:38 -04:00
David Corbett
18a46eeafb
[Unicode 14] Update the Arabic table
2021-09-14 18:07:38 -04:00
David Corbett
7b05eec054
[Unicode 14] Update the script direction list
2021-09-14 18:07:38 -04:00
David Corbett
26e1498e76
[Unicode 14] Update the UCD table
2021-09-14 18:07:29 -04:00
David Corbett
67f1aa4d21
[Unicode 14] Add new `hb_script_t` values
2021-09-14 18:05:08 -04:00
Behdad Esfahbod
cd77846bd9
[util] Fix leak of an hb_font_t
2021-09-14 08:35:19 -04:00
Behdad Esfahbod
da285d511f
[util/shape-consumer] Simplify font tracking
2021-09-14 08:28:12 -04:00