Garret Rieger
bdb50f1c6e
[repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail.
2025-01-07 13:39:51 -07:00
Garret Rieger
056504168c
[repacker] rename hb-subset-repacker -> hb-subset-serialize.
...
Also hb_link_t and hb_object_t to hb_subset_serialize_link_t and hb_subset_serialize_object_t.
2025-01-07 13:39:51 -07:00
Garret Rieger
5a6f5922dd
[repacker] Promote repacking API to stable.
...
For #227 .
2025-01-07 11:28:38 -07:00
David Corbett
57569baa65
Don’t insert U+25CC before super/subscript digits
2025-01-03 05:19:13 -07:00
David Corbett
edb3b20895
Make hb_test_tools.py work in Python 3.13
2024-12-15 12:34:48 -07:00
David Corbett
f887096ab1
[myanmar] Allow all tones (& visarga) in any order
2024-12-15 12:32:08 -07:00
Khaled Hosny
773fe85018
[layout] Blocklist the GDEF table of various Courier New versions
...
These files have incorrectly give several base glyphs GDEF mark glyph
class leading in zeroing there advance widths.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4936
2024-11-21 14:40:57 -07:00
Garret Rieger
b0d52abe97
[subset] consider variation selectors subsetting cmap14
...
cmap14 subsetting code was not considering variation selectors in the input unicode set when deciding which variant glyphs to keep. This updates subsetting to only keeps variant glyphs if their variation selector code point is in the input unicodes set.
For https://github.com/harfbuzz/harfbuzz/issues/4911
2024-11-11 13:45:08 -07:00
Qunxin Liu
622e9c33c3
[instancer] fix for incorrect offset calculation when we have gvar padding
2024-11-06 12:38:00 -07:00
Behdad Esfahbod
2dc6334133
[tests] Remove invalid tests from collections.tests
...
Previously we silently returned the empty face if face_index
was out of range. With util/ now using the new API
hb_font_face_create_from_file_or_fail(), that returns a nullptr
face now. So, adjust tests.
2024-10-15 14:58:13 -06:00
Behdad Esfahbod
755929c48d
Fix more compiler warnings
...
In case FreeType is not available.
2024-10-12 20:08:32 -06:00
Khaled Hosny
4d1f6e049c
[COLR] Enable COLRv0 support in get_extents()
...
paint_glyph() supports COLRv0 but this code is never reached because of
the early return if version is not 1. This early return seems to be from
before COLRv0 extents were supported.
2024-10-07 13:24:14 -06:00
Julien Nabet
e157205499
unused-parameter in test/fuzzing/hb-draw-fuzzer.cc
...
../test/fuzzing/hb-draw-fuzzer.cc:19:28: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_move_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
^
../test/fuzzing/hb-draw-fuzzer.cc:22:10: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
void *user_data)
^
../test/fuzzing/hb-draw-fuzzer.cc:31:28: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_line_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
^
../test/fuzzing/hb-draw-fuzzer.cc:34:10: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
void *user_data)
^
../test/fuzzing/hb-draw-fuzzer.cc:44:33: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_quadratic_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
^
../test/fuzzing/hb-draw-fuzzer.cc:46:15: error: unused parameter 'control_x' [-Werror,-Wunused-parameter]
float control_x, float control_y,
^
../test/fuzzing/hb-draw-fuzzer.cc:46:32: error: unused parameter 'control_y' [-Werror,-Wunused-parameter]
float control_x, float control_y,
^
../test/fuzzing/hb-draw-fuzzer.cc:48:15: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
void *user_data)
^
../test/fuzzing/hb-draw-fuzzer.cc:58:29: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_cubic_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
^
../test/fuzzing/hb-draw-fuzzer.cc:60:11: error: unused parameter 'control1_x' [-Werror,-Wunused-parameter]
float control1_x, float control1_y,
^
../test/fuzzing/hb-draw-fuzzer.cc:60:29: error: unused parameter 'control1_y' [-Werror,-Wunused-parameter]
float control1_x, float control1_y,
^
../test/fuzzing/hb-draw-fuzzer.cc:61:11: error: unused parameter 'control2_x' [-Werror,-Wunused-parameter]
float control2_x, float control2_y,
^
../test/fuzzing/hb-draw-fuzzer.cc:61:29: error: unused parameter 'control2_y' [-Werror,-Wunused-parameter]
float control2_x, float control2_y,
^
../test/fuzzing/hb-draw-fuzzer.cc:63:11: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
void *user_data)
^
../test/fuzzing/hb-draw-fuzzer.cc:73:31: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_close_path (hb_draw_funcs_t *dfuncs, void *draw_data_,
^
../test/fuzzing/hb-draw-fuzzer.cc:75:13: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
void *user_data)
^
16 errors generated.
2024-10-06 22:48:37 +03:00
Julien Nabet
8de0d91166
missing-field-initializers in test/api/test-ot-face.c
...
FAILED: test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o clang++ -Itest/fuzzing/hb-shape-fuzzer.p -Itest/fuzzing -I../test/fuzzing -I. -I.. -Isrc -I../src -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -fno-exceptions -O3 -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H -Wall -Wextra -Werror -MD -MQ test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o -MF test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o.d -o test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o -c ../test/fuzzing/hb-shape-fuzzer.cc In file included from ../test/fuzzing/hb-shape-fuzzer.cc:9: ../test/fuzzing/../api/test-ot-face.c:47:34: error: missing field 'y_bearing' initializer [-Werror,-Wmissing-field-initializers]
hb_glyph_extents_t extents = {0};
^
../test/fuzzing/../api/test-ot-face.c:85:55: error: missing field 'enable' initializer [-Werror,-Wmissing-field-initializers]
hb_aat_layout_feature_selector_info_t setting = {0};
^
2 errors generated.
2024-10-06 12:47:27 -06:00
David Corbett
b6196986d7
[USE] Update the data files
...
This uses the data files from
<e00698c07a/USE
>.
2024-10-03 19:54:54 -06:00
Behdad Esfahbod
867366ccf1
[test] Add GeezaPro tests for MacOS 15.0
2024-09-24 09:40:44 -06:00
Behdad Esfahbod
7aace3d3fc
Ignore CGJ and Mongolian Variation Selectors during GPOS
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
2024-09-23 08:00:06 -06:00
Behdad Esfahbod
5e5cd10e10
Don't make variation-selectors default-ignorable if not-found set
...
https://github.com/harfbuzz/harfbuzz/pull/4863#issuecomment-2366908261
2024-09-23 06:30:59 -06:00
Behdad Esfahbod
b94a39d7f3
Follow up to variation-selector-not-found glyph
...
Addresses https://github.com/harfbuzz/harfbuzz/pull/4529#discussion_r1769638033
I'm not sure if this is an improvement. By leaving the var-selector
as default-ignorable, ligatures can form around it, and the resulting
cluster won't make it clear *which* base+var-selector could not be
resolved... That doesn't quite help font fallback the way we want.
Putting up for review.
2024-09-23 06:30:59 -06:00
Behdad Esfahbod
287046f71a
[buffer] Hook up not-found-variation-selector-glyph
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
2024-09-21 12:21:56 -06:00
Qunxin Liu
6fd76e1f67
[subset] offset format fix in gvar table
2024-09-17 15:23:43 -06:00
David Corbett
e30dedbb42
[Unicode 16] Add tests
2024-09-14 12:06:08 -04:00
David Corbett
554658e3ae
[Unicode 16] Update the emoji table & cluster test
2024-09-14 11:08:37 -04:00
Behdad Esfahbod
98353ecefe
[test] Run shape tests with C locale as well
...
https://github.com/harfbuzz/harfbuzz/pull/4857
2024-09-11 11:35:15 -07:00
Alexander Grund
70334d74dc
Run subset tests with C-locale
...
One problematic input is `--instance=wdth=112.5` which is parsed using
the users local (`strtof`).
So while in C or US locales it yields 112.5 in some European locales it
yields 112 as the dot is not valid in this position.
A European user might pass "112,5" instead but for the test the C locale
is assumed, so enforce it.
Fixes #4854
2024-09-11 12:07:04 -06:00
Qunxin Liu
634778efc0
[subset] bug fix in post table
...
insert retain-gid holes when retain-gids is enabled
2024-08-21 12:06:02 -06:00
Qunxin Liu
72502ef02b
[instancer] dont return false when variation data is empty after partial instancing
2024-08-12 15:51:13 -06:00
Behdad Esfahbod
59a97ac02e
[test] More get_table_tags test
2024-08-06 14:53:36 -06:00
Behdad Esfahbod
a55b007144
[test] Add get_table_tags test for hb-coretext
2024-08-06 14:42:37 -06:00
Behdad Esfahbod
bd79bfb653
[test] Add get_table_tags test for hb-ft
2024-08-06 13:40:06 -06:00
Behdad Esfahbod
a459753ef9
[test] Test get_table_tags of face_builder
2024-08-06 13:31:24 -06:00
Behdad Esfahbod
8896b1d57a
[test] Add test for get_table_tags
...
So far just tests the default implementation.
2024-08-06 12:34:15 -06:00
Behdad Esfahbod
84f165646e
[test] Move code around
2024-08-06 12:21:02 -06:00
Behdad Esfahbod
22e1a5a785
[test-paint] Fix warnings
2024-08-06 12:20:34 -06:00
Behdad Esfahbod
191c6eedf3
Fix Linux bot
2024-08-06 06:59:32 -06:00
Behdad Esfahbod
e0c3cbf16c
[subset] Fail if source face has no glyphs
...
Also return nullptr if any of the input pointers are nullptr.
Before we were returning the empty face.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4824
2024-08-06 06:50:54 -06:00
Behdad Esfahbod
788b469ad5
[ChainContext] Fix fast-path deviation from slow path
...
See comments. The input skippy was hitting the U+200D and NOT
seeing it skippable, whereas the context skippy would had.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4813
2024-07-25 14:50:01 -06:00
Khaled Hosny
a38f853e83
Drop unused Makefile.sources files
2024-06-27 16:33:16 +03:00
Khaled Hosny
cf1fdf1632
Drop autotools build
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
2024-06-27 15:28:38 +03:00
Behdad Esfahbod
49c8493f5c
[test] Build with HB_MINI
...
Also add CONFIG.md instructions for building configs with meson.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4760
2024-06-20 11:17:10 -07:00
ssmid
106e4068b9
HB_SCRIPT_CANADIAN_ABORIGINAL removed, as deprecated
2024-06-20 09:11:12 -07:00
ssmid
8de7e9fdb1
deprecation cleanup: HB_BUFFER_FLAGS_DEFAULT removed
2024-06-20 09:11:12 -07:00
Behdad Esfahbod
1e2bd4983e
Another include fix
...
https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148910890
2024-06-04 23:53:36 -06:00
Behdad Esfahbod
e9870e8d54
Add missing include
...
https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148727072
2024-06-04 20:50:06 -06:00
Behdad Esfahbod
9456f6bdfa
[test] Fix a few compiler warnings
2024-06-02 10:32:07 -06:00
David Corbett
c2b5b7b9ca
[ot-tags] Update IANA and OT language registries
2024-06-01 12:07:54 -07:00
Khaled Hosny
135d6537d9
test-draw-varc.c: Fix “warning: unused function”
2024-05-31 03:28:13 +03:00
Behdad Esfahbod
0037ee281f
Merge pull request #4578 from harfbuzz/varc-table
...
`VARC` table
2024-05-24 08:10:15 -07:00
Garret Rieger
0660a4d408
[subset] fix fuzzer found heap use after free in BASE subsetting.
2024-05-13 13:39:20 -07:00
David Corbett
0db136b1b0
[subset-cff] Shorten output of encode_num_tp
2024-05-12 09:04:02 -07:00