Commit graph

18312 commits

Author SHA1 Message Date
Behdad Esfahbod
792b9b9337 [bit-vector] Add a has() 2025-03-12 23:56:52 -06:00
Behdad Esfahbod
43d421d388 [aat] Speed up deleted-glyph removal 2025-03-12 23:36:09 -06:00
Behdad Esfahbod
aa233ecedc [bit-vector] Add a hb_bit_vector_t type
Unused.
2025-03-12 23:05:04 -06:00
Behdad Esfahbod
402876d489
Merge pull request #5136 from harfbuzz/kerx-fix
Kerx fix
2025-03-12 22:48:59 -06:00
Behdad Esfahbod
c38d518718 [aat/kerx] Fix initial-glyph collection logic
Test:
$ hb-shape GeezaPro.ttc --unicodes U+064A,U+064E,U+0651,U+0629
2025-03-12 22:39:33 -06:00
Behdad Esfahbod
2449eb0882 [aat] Adjust filtering to match collect_glyphs() 2025-03-12 21:03:24 -06:00
Behdad Esfahbod
6388ce2224 [kerx] We don't need right_set in machine kerning 2025-03-12 20:58:06 -06:00
Behdad Esfahbod
b861b54178 [kerx] Cosmetic 2025-03-12 20:56:16 -06:00
Behdad Esfahbod
7146e5818f [kerx] Remove redundant check 2025-03-12 20:11:30 -06:00
Behdad Esfahbod
41b396c64b [kerx] Setup buffer glyphset 2025-03-12 20:02:58 -06:00
Behdad Esfahbod
83e0944f0f [kerx] Use a machine class cache
Like in morx.
2025-03-12 19:58:35 -06:00
Behdad Esfahbod
02733deded [kerx] Skip machine subtables that don't intersect the buffer
We do this extensively in morx. Do it here too.

Still no machine class cache in kerx.

Speeds up GeezaPro shaping Arabic text by 20%.
2025-03-12 19:44:07 -06:00
Behdad Esfahbod
45b2d28d04 Revert "[aat] Clear buffer glyph set"
This reverts commit b1a9219ac5.

Was unnecessary. collect_codepoints() clears the set.
2025-03-12 19:18:12 -06:00
Behdad Esfahbod
d76a23a3f1 [aat] Micro-optimize 2025-03-12 19:16:59 -06:00
Behdad Esfahbod
b1a9219ac5 [aat] Clear buffer glyph set
Should be clear already but no harm.
2025-03-12 19:13:14 -06:00
Behdad Esfahbod
54962b3fce [morx] Consolidate a check 2025-03-12 19:03:50 -06:00
Behdad Esfahbod
4807a021a1 [atomic] Kill hb_atomic_ptr_t<T>
Use hb_atomic_t<T *> instead.
2025-03-12 18:27:27 -06:00
Behdad Esfahbod
829d1eda16 [atomic] Clean up atomic_ptr_t 2025-03-12 18:19:04 -06:00
Behdad Esfahbod
a0d76c5b37 [atomic] Templatize 2025-03-12 17:16:55 -06:00
Behdad Esfahbod
bdee8658c6 [post] Fix a pointer type 2025-03-12 17:13:48 -06:00
Behdad Esfahbod
469502c99b [test-paint] Test fontations too
Luckily it passes!
2025-03-12 11:02:43 -06:00
Behdad Esfahbod
fbb81e344b [fontations] Adjust alignment requirement 2025-03-12 00:52:12 -06:00
Behdad Esfahbod
8d300049f5 [fontations] Assert layout alignment 2025-03-12 00:43:10 -06:00
Behdad Esfahbod
05cfdb9105 [fontations] link_with instead of link_whole
Now that the hb-fontations symbol is called from libharfbuzz,
it gets pulled in properly.
2025-03-12 00:08:42 -06:00
Behdad Esfahbod
0b2a0bac47
Merge pull request #5130 from harfbuzz/malloc-rust
[fontations] Make fontations use hb_malloc et al
2025-03-11 23:04:11 -06:00
Behdad Esfahbod
5bf81c3758 [common] Make hb_malloc() et al public
New API:
+hb_malloc()
+hb_calloc()
+hb_realloc()
+hb_free()
2025-03-11 22:52:34 -06:00
Behdad Esfahbod
a2c7dc0669
Merge pull request #5133 from harfbuzz/hb-coretext.cc
[coretext] Split common code into hb-coretext.cc
2025-03-11 20:43:32 -06:00
Behdad Esfahbod
f0a67e9948 [coretext] Split common code into hb-coretext.cc 2025-03-11 20:37:30 -06:00
Behdad Esfahbod
d014efd03d
Merge pull request #5131 from harfbuzz/using2
Add hb_ft_face_create_from_blob_or_fail() et al
2025-03-11 13:37:48 -06:00
Behdad Esfahbod
759e1881e8 [coretext] Fix loading TTC files 2025-03-11 12:46:27 -06:00
Behdad Esfahbod
15fcfcb606
Merge pull request #5129 from harfbuzz/buffer-deserialize
Fix buffer deserialize
2025-03-11 12:01:20 -06:00
Behdad Esfahbod
5e6da54166 [test] Minor, accept absolute font paths 2025-03-11 12:00:18 -06:00
Behdad Esfahbod
8687f5c38e [face] Add tests for new constructors 2025-03-11 11:56:00 -06:00
Behdad Esfahbod
8e8a9f6f40 [face] Add hb_face_create_or_fail_using()
Fixes https://github.com/harfbuzz/harfbuzz/issues/5117

Untested.

New API:
+hb_face_create_or_fail_using
2025-03-11 11:56:00 -06:00
Behdad Esfahbod
cbc205c2f0 [font/face] Refactor some code 2025-03-11 11:56:00 -06:00
Behdad Esfahbod
b1c50eb938 [face] Rename a variable 2025-03-11 11:56:00 -06:00
Behdad Esfahbod
f98c203e7a [coretext] Add hb_coretext_face_create_from_blob_or_fail()
Part of https://github.com/harfbuzz/harfbuzz/issues/5117

Untested.

New API:
+hb_coretext_face_create_from_blob_or_fail()
2025-03-11 11:56:00 -06:00
Behdad Esfahbod
8ca9fe7617 [face] Avoid edit-sanitizing in hb_face_count() 2025-03-11 11:56:00 -06:00
Behdad Esfahbod
e4fe8bf95e [ft] Add hb_ft_face_create_from_blob_or_fail()
Part of https://github.com/harfbuzz/harfbuzz/issues/5117

Untested.

New API:
+hb_ft_face_create_from_blob_or_fail()
2025-03-11 11:56:00 -06:00
Behdad Esfahbod
3c30562dc7
Merge pull request #5132 from harfbuzz/cplusplus-more
[test-cplusplus] Add more headers
2025-03-11 11:55:46 -06:00
Behdad Esfahbod
756668d35c [directwrite] Drop dependency again as per review
https://github.com/harfbuzz/harfbuzz/pull/5132#issuecomment-2714186460
2025-03-11 11:27:02 -06:00
Behdad Esfahbod
6b2f859232 [test-c] Disable gobject include
It can't find its dependent headers since not installed.
2025-03-11 00:37:11 -06:00
Behdad Esfahbod
8ca892b0e2 [directwrite] Simplify headers 2025-03-11 00:24:11 -06:00
Behdad Esfahbod
d247c116fb [test-draw] Test all font funcs 2025-03-11 00:15:40 -06:00
Behdad Esfahbod
d2ccf595bd Directwrite is a C++ header? 2025-03-11 00:15:19 -06:00
Behdad Esfahbod
41dcc493e5 [test-cplusplus] Simplify 2025-03-10 23:49:05 -06:00
Behdad Esfahbod
57deae5fd4 [meson] Check correct dependency
Ouch!
2025-03-10 23:40:22 -06:00
Behdad Esfahbod
dbad6cdfec [test-c(plusplus)] Add more headers 2025-03-10 23:23:16 -06:00
Behdad Esfahbod
3c02fcd0e8 [test-multithread] Simplify 2025-03-10 23:16:30 -06:00
Behdad Esfahbod
4323c6643b [fontations] Make fontations use hb_malloc et al 2025-03-10 20:09:34 -06:00