Commit Graph

15111 Commits

Author SHA1 Message Date
Eli Schwartz 604fe80707 meson: fix regression in detecting freetype2/icu-uc when explicitly disabled
In #3811 / commit 53a194aa3f a broken and
half-implemented approach to kind of sort of handling the detection of
both pkg-config and cmake names for dependencies, was implemented. It
just checked for both versions with required: false, but when the build
was configured with *disabled* options, it was still found because it
was treated as auto.

Really, the problem here is trying to outsmart Meson, which handles a
lot of edge cases correctly. But it's possible, albeit very wordy, to
manually implement Meson's internal logic via if/else fallbacks. Do so
here.
2022-11-08 18:32:41 -07:00
Behdad Esfahbod c158b626c3 [name] Simplify buffer-length calculation 2022-11-08 15:05:31 -07:00
Behdad Esfahbod 55edf59d52 [name] Typo 2022-11-08 14:53:27 -07:00
Behdad Esfahbod 27c8bbcb04 Revert "[name] Simplify buffer-length calculation"
This reverts commit d70595657e.
2022-11-08 14:48:38 -07:00
Behdad Esfahbod d70595657e [name] Simplify buffer-length calculation 2022-11-08 14:15:56 -07:00
Qunxin Liu 6314aa7da4 [subset] add an experimental API that can override name strings for specified name_id 2022-11-08 14:10:25 -07:00
Behdad Esfahbod f53ef69d59 [indic] Order left-matras inside-out
Fixes https://github.com/harfbuzz/harfbuzz/issues/3863
2022-11-05 15:40:05 -06:00
Garret Rieger 2822b589bc [subset] Include instancing tests in distribution.
Automatically enable them when the experimental api is enabled.
2022-11-03 14:24:15 -06:00
Qunxin Liu dbb7f47b19 fix bug in hb_hashmap_t has() interface
It was not working when the value type is hb_bytes_t because hb_array_t
overloaded operator &
2022-11-03 13:48:23 -06:00
Behdad Esfahbod d1f445ec1e [name] Typo 2022-11-02 12:24:04 -06:00
Behdad Esfahbod fc935fb81b Fix snprintf use
https://github.com/harfbuzz/harfbuzz/pull/3495#issuecomment-1299107964
2022-11-01 14:40:47 -06:00
Lorenz Wildberg 2ee42bbac2 hb_variation_to_string: Fix GIR annotation 2022-11-01 11:21:25 -06:00
Behdad Esfahbod 0e4f579493 [util/hb-view] Default HB_DRAW to 1
See comments.
2022-10-31 13:51:24 -06:00
Behdad Esfahbod 02b76393ef [config] Re-enable BORING_EXPANSION
Only the non-experimental parts (currently avar2) are
enabled by default.
2022-10-29 11:19:04 -06:00
Behdad Esfahbod 6a47ef34b1 [config] If not HB_EXPERIMENTAL, then HB_NO_BEYOND_64K 2022-10-29 11:14:27 -06:00
Behdad Esfahbod a0f999cd95 [config] Rename HB_NO_VARIATIONS2 to HB_NO_AVAR2 2022-10-29 11:13:40 -06:00
Behdad Esfahbod 60c6b7786d Disable -Wcast-function-type-strict
https://github.com/harfbuzz/harfbuzz/pull/3859#issuecomment-1295409126
2022-10-28 14:19:39 -06:00
Martin Storsjö d88269c827 freetype: Fix function signatures to match without casts
Clang 16 has got a new stricter warning for casts of function types
(see 1aad641c79).

This new warning gets included as part of the existing error
diagnostic setting of -Wcast-function-type.

This fixes errors like these:

../src/hb-ft.cc:1011:34: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
    ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-10-28 13:49:41 -06:00
Qunxin Liu 8a5524833c [instance] update OS2/.usWeightClass and .usWidthClass when
no-prune-unicode-ranges option is enabled
2022-10-27 11:59:31 -06:00
خالد حسني (Khaled Hosny) fddeba26e4
Merge pull request #3857 from 2xsaiko/outgoing/cmake-abs-path
Pass through absolute paths to cmake config directly
2022-10-26 22:34:02 +02:00
Marco Rebhan db292f6f02
Pass through absolute paths to cmake config directly
The previous code concatenates includedir to _harfbuzz_prefix verbatim,
which results in a wrong final include path in case includedir is an absolute
path. Instead, we can let meson determine the absolute include and lib paths
in advance and save them in the cmake config.

This is an issue in nixpkgs, where includedir is set to the final (absolute)
path of the built library in the Nix store, which causes CMake projects
depending on harfbuzz to not configure.

See https://github.com/NixOS/nixpkgs/issues/180054.
2022-10-26 22:13:44 +02:00
Behdad Esfahbod e854739b2d [fuzzing] Add test font for previous commit 2022-10-26 13:12:56 -06:00
Behdad Esfahbod 477d71724c [glyf] Limit points in a glyf to 10000 roughly
Only enforced when components are being expanded.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3838
2022-10-26 13:11:47 -06:00
Behdad Esfahbod 9aad3dba8f [SingleSubst] Fix degenerate-lookup test
Part of https://github.com/harfbuzz/harfbuzz/issues/3853
2022-10-26 13:04:02 -06:00
Garret Rieger 83769b9cb1 [subset] add comment for why we retain empty lookups. 2022-10-21 18:29:23 -06:00
Garret Rieger 70e2de2bd4 [subset] Always output Lookup's even if they are empty.
The rest of layout subsetting depends on lookup indices being consistent with those computed during planning. So if an empty lookup is discarded during the subset phase it will invalidate all subsequent lookup indices. Generally we shouldn't end up with an empty lookup as we pre-prune them during the planning phase, but it can happen in rare cases such as when a subtable is considered degenerate (eg. #3853)
2022-10-21 18:29:23 -06:00
Joel Auterson 3377ddf69e Add missing underscore 2022-10-21 11:09:35 -06:00
Joel Auterson 28cb1b3954 Fix working-directory 2022-10-21 11:09:35 -06:00
Joel Auterson dbbbf02d77 Fix GHA workflow 2022-10-21 11:09:35 -06:00
Joel Auterson 756b500018 Add ARM CI workflow 2022-10-21 11:09:35 -06:00
Joel Auterson c813f84235 Make build work for arm-none-eabi 2022-10-21 11:09:35 -06:00
Behdad Esfahbod b0b7a65388 [subset] Fix check-symbols failure
Fixes https://github.com/harfbuzz/harfbuzz/issues/3850
2022-10-20 17:13:26 -06:00
Khaled Hosny 970321db7b 5.3.1 2022-10-19 22:06:46 +02:00
Khaled Hosny 7c8be866c9 [doc] Hide another experimental symbol 2022-10-19 22:04:57 +02:00
Garret Rieger d1bf6c0c26 [subset] only preprocess in benchmark when experimental api is enabled. 2022-10-17 20:14:02 +00:00
Garret Rieger db22bfb3cc [subset] Remove Franklin from the tests which is not an open source font. 2022-10-17 13:15:47 -06:00
Behdad Esfahbod a73137d101 [face] Fix annotation 2022-10-17 12:18:24 -06:00
Behdad Esfahbod d65af60213 [shape] Adjust Grapheme clusters for Katakana voiced sound marks
Fixes https://github.com/harfbuzz/harfbuzz/issues/3844
2022-10-15 14:26:02 -06:00
Behdad Esfahbod bda42fc34a
Merge pull request #3842 from harfbuzz/patch_mode
[subset] Begin implementing a subset accelerator
2022-10-14 15:08:22 -06:00
Garret Rieger f53ebf5584 [subset] Add hb_subset_preprocess to experimental symbol list for check-symbols. 2022-10-14 19:38:19 +00:00
Garret Rieger fdb98ed88e [subset] add missing HB_EXTERN. 2022-10-14 18:30:39 +00:00
Garret Rieger 515863e57c [subset] Remove add accelerator flag, replace with new api method.
Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
2022-10-13 23:42:00 +00:00
Garret Rieger 573640c99f [subset] Add hb-subset-accelerator.hh to Make soure list. 2022-10-13 23:21:35 +00:00
Behdad Esfahbod a756bd1944 [glyf] Use component phantom points after transformation 2022-10-13 17:18:19 -06:00
Behdad Esfahbod 82d19c08fc Revert "[glyf/Composite] Remove phantom points when not needed anymore"
This reverts commit 527e63a3bd.
2022-10-13 17:17:03 -06:00
Behdad Esfahbod 527e63a3bd [glyf/Composite] Remove phantom points when not needed anymore 2022-10-13 17:13:40 -06:00
Garret Rieger 3394ec7048 [subset] use subset accelerator in tests.
This ensures it produces equivalent subsets as without the accelerator.
2022-10-13 23:02:54 +00:00
Garret Rieger f4903defc4 [subset] use the accelerator in the subsetting benchmark. 2022-10-13 21:38:54 +00:00
Garret Rieger 01481db582 [subset] use accelerator unicode to gid map if available. 2022-10-13 21:12:22 +00:00
Garret Rieger 4ec5eb955f [subset] add a subset accelerator.
Can be optionally attached to the face during subsetting. Contains data which can accelerate future subsets.
2022-10-13 19:40:31 +00:00