Commit Graph

11097 Commits

Author SHA1 Message Date
Ross Burton
5aff83104e [build] generate hb-version.h once at configure time with Meson
Currently with Meson hb-version.h is generated during the build without
any explicit dependencies which can result in build failures due races
over the file.

Change this to be generated at configure time, so that the file is always
generated once before the build itself.

Closes #2667
2020-09-08 09:42:27 +01:00
Ross Burton
bc1c93fbe0 [build] No need to pass source directory to gen-hb-version
The input file is by definition in the source directory, so dirname()
that instead of needing the directory to be passed.

Needed because a follow-up commit will change when this is called, and the
source directory isn't trivially available at that point.
2020-09-08 09:40:56 +01:00
David Corbett
faf09f5466 [USE] Support hieroglyph clusters 2020-09-02 19:50:49 -04:00
David Corbett
06f49fc8ae [USE] Update to the 2020-08-13 USE specification
This also uses the data files from
<78b2134fdc/USE>.
2020-09-02 19:50:49 -04:00
David Corbett
e3db84a9d0 [use] Test CGJ and ZWNJ 2020-09-02 15:51:15 -07:00
David Corbett
6a38adeb57 [use] Skip most default ignorables when clustering 2020-09-02 15:51:15 -07:00
David Corbett
645f4e7cdd Unhide CGJ before ccc=0 characters
If a CGJ precedes a starter, then it cannot have blocked any reordering,
so it can safely be skipped.
2020-09-02 15:51:15 -07:00
Garret Rieger
9825e3dd2e [ENOMEM] fix access to unitialized memory.
If the serialize() call fails to write the object then we can't safely read varstore_prime fields. Fixes https://oss-fuzz.com/testcase-detail/5137462782066688.
2020-09-02 11:01:07 -07:00
Khaled Hosny
45de128930
Merge pull request #2661 from khaledhosny/failing-dw-build
[ci] Fix failing DirectWrite build
2020-09-01 04:58:50 +03:00
Khaled Hosny
fe6381d9f1 [build] Minor 2020-09-01 03:44:01 +02:00
ebraminio
a4f3a752dd [build] hb-directwrite needs a C++ linker 2020-09-01 03:21:12 +02:00
Khaled Hosny
9c98b2b9a9 2.7.2 2020-08-29 00:39:42 +02:00
Khaled Hosny
c0a76cb519
Merge pull request #2660 from harfbuzz/arabic-shaping-in-use
[USE] Fix assertion failure for joining scripts
2020-08-29 00:14:01 +03:00
David Corbett
a495a54236 Ignore T & U when determining the joining scripts 2020-08-28 14:33:25 -04:00
David Corbett
420a74f772 [USE] Fix assertion failure for joining scripts 2020-08-28 14:11:48 -04:00
ebraminio
fcddf3b9b4
[docs] Minor in TESTING.md
Start the fuzzer with test/fuzzing/fonts seeds
2020-08-14 10:19:33 +04:30
ebraminio
99b8a84cc5
[docs] Reorder TESTING.md sections
And use --reconfigure where makes sense
2020-08-14 10:14:14 +04:30
ebraminio
1e48225ca3
[ENOMEM] Check whether serialize context isn't in error 2020-08-13 23:22:14 +04:30
Ebrahim Byagowi
05ef75c553 2.7.1 2020-08-13 20:54:53 +04:30
Ebrahim Byagowi
0a02f1e760 [meson] Abort if GDI/Uniscribe headers couldn't be found 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi
253a8f7a51 [meson] Another approach to skip tests incompatible with MSVC 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi
24b4200243 [meson] Avoid using has_headers as that has added in 0.50.0 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi
411b426c69 [meson] minor 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi
6e32145dc9 [meson] Make compatbile with 0.47.0 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi
58209c86a0 [meson] Make compatbile with 0.49.0
Contains a just put together summary feature polyfill and workaround
to broken ternary operator.
2020-08-13 18:28:42 +04:30
Garret Rieger
1e4fe10b98 [ENOMEM] check for error in visited map during closure features. 2020-08-13 01:43:11 +04:30
Garret Rieger
9562239f05 [ENOMEM] check for error in lookup visited set. 2020-08-13 01:43:11 +04:30
Tom Schoonjans
eea9b59fc5 [meson] fix generating introspection
Only libharfbuzz_gobject is introspectable, not libharfbuzz. Therefore,
it makes no sense to target the latter for introspection: it should
instead be listed as a dependency.
2020-08-12 16:07:30 +04:30
David Corbett
7bffb5d7ba Generate has_arabic_joining 2020-08-12 11:34:49 +04:30
Garret Rieger
6f754852c1 [ENOMEM] skip asserts in to_bias if serializer is in an error state. 2020-08-12 11:25:30 +04:30
Ebrahim Byagowi
057769b1a3 [fuzzer] minor 2020-08-12 02:40:55 +04:30
Ebrahim Byagowi
0417938011 [fuzzer] Mark alloc_state as unused
It is really unused when failing-alloc isn't on.
2020-08-12 02:40:55 +04:30
Ebrahim Byagowi
2af58c3518 Revert "Remove cmake build files"
This reverts commit 4e572c9407.
2020-08-12 01:00:33 +04:30
Ebrahim Byagowi
ef2e380342 Revert "Remove cmake-config support of HarfBuzz"
This reverts commit 75efa89343.
2020-08-12 01:00:33 +04:30
Ebrahim Byagowi
0ca3557048 Turn -Wunused-but-set-variable to warning
As #2555 turned out some glib headers are imposing that so let's turn it to warning
2020-08-12 00:38:00 +04:30
Ebrahim Byagowi
5193357832 Revert "Remove autotools build support"
This reverts commit 01ac32aab2.
2020-08-11 23:51:59 +04:30
Ebrahim Byagowi
9748ae7299 Revert "Reordering fails when GDEF table is absent #2140"
This reverts commit f4cd99f28e.

As requested in https://github.com/harfbuzz/harfbuzz/issues/2516#issuecomment-670969185
2020-08-11 22:51:48 +04:30
ebraminio
d03eecb4d6
[glyf] minor
style improvement
2020-08-11 16:40:40 +04:30
ebraminio
732a9164d9
[gvar] minor 2020-08-11 16:37:55 +04:30
ebraminio
c0107c1e6e
[ci] test experimental APIs in Arch Linux and sanitizers 2020-08-10 14:30:34 +04:30
ebraminio
0c1561894a
[glyf] minor 2020-08-10 08:52:01 +04:30
Ebrahim Byagowi
f06d7331e8 [glyf] minor 2020-08-10 08:43:54 +04:30
Ebrahim Byagowi
db96c7f67a [glyf] protect CompositeGlyph fields
Introduce methods instead
2020-08-10 08:43:54 +04:30
ebraminio
e5fe363aa5
[glyf] Minor, don't pass accelerator_t to points_aggregator_t
No need to pass it to aggregator itself
2020-08-10 07:39:36 +04:30
ebraminio
2b9927f7e1
[glyf] minor
No need to pass glyph_for_gid as a lambda now that we are passing the accelerator itself
2020-08-10 06:26:21 +04:30
Behdad Esfahbod
fce64a407d Minor 2020-08-08 14:05:03 -06:00
Ebrahim Byagowi
ffe06c8f04 [glyf] Guard all the public APIs against null pool runs
Fixes https://crbug.com/oss-fuzz/24575 and https://crbug.com/oss-fuzz/24737
2020-08-08 13:43:49 +04:30
Ebrahim Byagowi
01ac32aab2 Remove autotools build support 2020-08-07 23:28:12 +04:30
Ryan Schmidt
3d164d5883 Use printf instead of echo -n in autogen.sh
"echo -n" is not portable and on some POSIX systems it literally prints "-n".
2020-08-07 10:45:35 +04:30
Ebrahim Byagowi
1f519c2567
[glyf] Optimize retrieval of hmtx/vmtx/gvar
This should make glyf/gvar faster as makes it to invoke less table wrapper atomic operations and things.

$ meson build -Dexperimental_api=true --buildtype=release && ninja -Cbuild && build/perf/perf "--benchmark_filter=glyf.*- ot -"

Before:
extents/glyf - ot - SourceSerifVariable         46091 ns      46036 ns      16173
extents/glyf/vf - ot - SourceSerifVariable    4160142 ns    4154913 ns        174
extents/glyf - ot - Comfortaa                   25754 ns      25726 ns      27030
extents/glyf/vf - ot - Comfortaa              2627804 ns    2624596 ns        265
extents/glyf - ot - Roboto                      33556 ns      33540 ns      18513
draw/glyf - ot - SourceSerifVariable          2716848 ns    2715438 ns        256
draw/glyf/vf - ot - SourceSerifVariable       4602379 ns    4598907 ns        151
draw/glyf - ot - Comfortaa                    1659364 ns    1658142 ns        417
draw/glyf/vf - ot - Comfortaa                 2845100 ns    2842549 ns        246
draw/glyf - ot - Roboto                       1571509 ns    1570060 ns        442

After:
extents/glyf - ot - SourceSerifVariable         34738 ns      34713 ns      21332
extents/glyf/vf - ot - SourceSerifVariable    3700510 ns    3698104 ns        187
extents/glyf - ot - Comfortaa                   21604 ns      21595 ns      31907
extents/glyf/vf - ot - Comfortaa              2324787 ns    2323440 ns        296
extents/glyf - ot - Roboto                      31259 ns      31246 ns      21814
draw/glyf - ot - SourceSerifVariable          2689230 ns    2687589 ns        260
draw/glyf/vf - ot - SourceSerifVariable       4625135 ns    4622036 ns        131
draw/glyf - ot - Comfortaa                    1690336 ns    1689454 ns        402
draw/glyf/vf - ot - Comfortaa                 2898748 ns    2897074 ns        241
draw/glyf - ot - Roboto                       1570911 ns    1570138 ns        440
2020-08-07 01:21:19 +04:30