Commit Graph

15208 Commits

Author SHA1 Message Date
Garret Rieger 60d6ffb375 [repacker] always duplicate classDef2 when splitting a PairPos2.
Splits are done in a way that it shouldn't be possible to share the classDef2 between split PairPos2's so pre-emptively duplicate it.
2022-08-03 21:01:23 +00:00
Garret Rieger 6be152420f [repacker] add basic test for PairPos2 splitting. 2022-08-03 19:02:20 +00:00
Behdad Esfahbod b78546b1d2 [cache] Residual 2022-08-03 13:02:18 -06:00
Behdad Esfahbod ec90d1e161 [cache] Add a non-threadsafe version
Use in hb-ft, since already mutex'ed.
2022-08-03 13:01:04 -06:00
Behdad Esfahbod f73c15ca6c [atomic-int] Add operators for relaxed ops 2022-08-03 13:01:04 -06:00
Behdad Esfahbod 86d1e22d4f [atomic-ptr] Rename get 2022-08-03 13:01:04 -06:00
Behdad Esfahbod d3f2287e0b [atomic-int] Rename get/set 2022-08-03 13:01:04 -06:00
Khaled Hosny afe6629b2f Fix make dist 2022-08-03 19:56:29 +02:00
Behdad Esfahbod e68e874da6 Update test/fuzzing/README 2022-08-03 11:31:34 -06:00
Behdad Esfahbod c80e32972f [mvar] Use VarIdx 2022-08-03 11:31:34 -06:00
Khaled Hosny 52bdc750c1 Revert "[meson] Use pathlib in gen-harfbuzzcc.py"
This reverts commit eaf7e5686c.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3776

No idea what is going on, but lets restore the old code.
2022-08-03 10:40:57 +02:00
Garret Rieger 65ed82fde5 [repacker] PairPosFormat2::do_split. 2022-08-02 22:22:42 +00:00
Garret Rieger f43055f35a [repacker] Implement PairPosFormat2::shrink. 2022-08-02 22:16:29 +00:00
Khaled Hosny 16bfe6536b [meson] use cpp.get_argument_syntax not cpp.get_id
To account for both MSVC and clang-cl.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3756
2022-08-03 00:07:40 +02:00
Garret Rieger 9f2a44640c [repack] implement device table transfer for PairPosFormat2. 2022-08-02 21:47:53 +00:00
Garret Rieger 22eae32b3b [repacker] add classDef1 clone_range to PairPosFormat2 split. 2022-08-02 21:04:38 +00:00
Garret Rieger 68b90153ea [repacker] Add class def sanitize and range cloning. 2022-08-02 20:58:35 +00:00
Garret Rieger ca0df565f7 [repacker] extract coverage cloning into helper. 2022-08-02 20:04:46 +00:00
Behdad Esfahbod ee18ae3b76 [avar] Minor move code around 2022-08-02 12:56:06 -06:00
Garret Rieger 7f4b2037a5 [repacker] include size of device tables when determining PairPos2 split points. 2022-08-02 18:43:25 +00:00
Behdad Esfahbod 826639fab2 [src] Add test-use-table
Fixes https://github.com/harfbuzz/harfbuzz/issues/3758
2022-08-02 12:18:18 -06:00
Garret Rieger 58fdbd8e5d [repacker] begin adding PairPosFormat2 splitting support. 2022-08-02 17:32:13 +00:00
Behdad Esfahbod e387b3acd3 [ft] Try harder 2022-08-02 10:02:48 -06:00
Khaled Hosny 40a3468906 hb-ft: cast to float to help windows sqrtf 2022-08-02 10:02:48 -06:00
Behdad Esfahbod 6549aec89d [SingleSubstFormat1] Help avoid timeouts in closure() some more
For https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49712
2022-08-01 13:11:14 -06:00
Behdad Esfahbod ba9b20534c [ft] Try working around fonts with transform set
Fixes https://github.com/harfbuzz/harfbuzz/issues/3772
2022-08-01 12:42:05 -06:00
psykose 04d28d94e5 [repacker] fix signedness of char in tests 2022-08-01 11:48:57 -06:00
Khaled Hosny f1f2be776b 5.1.0 2022-07-31 15:48:32 +02:00
Khaled Hosny d6e55f1baf [automake] Use LANG=C when generating harfbuzz*.cc
Since `sort` is locale-dependent.
2022-07-30 23:35:47 +02:00
Behdad Esfahbod a722b3e666 [shape] Only add any unsafe-to-concat flag if requested
Previously it was confusing as random incorrect flags were produced.
2022-07-30 14:33:33 -06:00
Behdad Esfahbod 0a31cfb225 [buffer] Fix produce-tatweel enum value 2022-07-30 14:32:58 -06:00
Behdad Esfahbod a0111e4fab [graph] Fix warning
Fixes https://github.com/harfbuzz/harfbuzz/issues/3766
2022-07-30 12:09:45 -06:00
Behdad Esfahbod fc9e6ae8d9 [run-tests.py] Write out the failing test 2022-07-30 12:02:36 -06:00
Behdad Esfahbod 083d4ef5c4 [harfbuzz-subset.cc] Revert back the sort order
Generator seems unstable.
2022-07-30 11:53:56 -06:00
Behdad Esfahbod 065f1e33c8
Merge pull request #3763 from harfbuzz/split_pair_pos
[repacker] Add ability for repacker to pre split PairPosFormat1 subtables.
2022-07-30 11:09:33 -06:00
Behdad Esfahbod 7c9e1ffa7c
Merge pull request #3762 from harfbuzz/safe-to-kashida
Prototype glyph flag safe-to-kashida
2022-07-30 10:33:27 -06:00
Behdad Esfahbod f43dadb8ee Rename kashida -> tatweel 2022-07-30 10:23:03 -06:00
Behdad Esfahbod 73c3ac9172 Document kashida stuff 2022-07-30 10:21:34 -06:00
Behdad Esfahbod 4f09ea5e6b [hb-shape] Add --safe-to-insert-kashida flag
https://github.com/harfbuzz/harfbuzz/pull/3762
2022-07-30 10:12:24 -06:00
Behdad Esfahbod d277addb2f [buffer] Add HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_KASHIDA 2022-07-30 10:10:21 -06:00
Behdad Esfahbod 915e12ccbb Prototype glyph flag safe-to-kashida
Fixes https://github.com/harfbuzz/harfbuzz/issues/3721
2022-07-30 10:05:36 -06:00
Behdad Esfahbod 5e31a582c9 [emoji] Bump compression level 2022-07-30 00:09:33 -06:00
Behdad Esfahbod 56a5bc3bd0 [emoji] Regenerate test data
Fix generator.
2022-07-30 00:08:44 -06:00
Behdad Esfahbod 90a3355e66 [ucd-table] Use more compact compression numbers
Doesn't show any slowdown in benchmarks.
2022-07-30 00:01:50 -06:00
Behdad Esfahbod 23dbd35ca3
Merge branch 'main' into split_pair_pos 2022-07-29 19:51:57 -06:00
Behdad Esfahbod a5d9012e94 Revert "[ot-font] Minor simplification"
This reverts commit 28c02b3768.

Old code was used in case of memory allocation failure (as shown
by fuzzers...)
2022-07-29 19:51:00 -06:00
Garret Rieger 9578c44ea2 [repacker] add HB_FALLTRHOUGH. 2022-07-29 22:21:32 +00:00
Garret Rieger 6a5e2cb2f8 [repacker] add todo. 2022-07-29 22:21:32 +00:00
Garret Rieger 14f95ee0cf [repacker] re-count shared node sizes in split PairPos segments. 2022-07-29 22:21:32 +00:00
Garret Rieger 3b91fb2a9f [repacker] cleanup todo. 2022-07-29 22:21:31 +00:00