|
69e1c3c3
|
2025-02-28T00:25:17
|
|
[ft] Add hb_ft_font_get_ft_face()
A new name for hb_ft_font_get_face(), which is now deprecated.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5084
|
|
ea1434b8
|
2025-02-25T19:00:29
|
|
Split iup glyf partial instance tests into a separate set which ignores due to IUP rounding differences fonttools.
|
|
9a0cf8d6
|
2025-02-25T00:19:25
|
|
[test/subset/cff-japanese] Shrink test
Was taking too long.
|
|
084fb3ab
|
2025-02-25T00:16:27
|
|
[test/subset/cmap] Shrink test
Was taking more than the rest of the test suite combined.
|
|
74bb7c52
|
2025-02-24T20:21:38
|
|
Fix a compiler warning
|
|
03cf1565
|
2025-02-20T21:56:56
|
|
[directwrite] Rename font_get_font to font_get_dw_font
https://github.com/harfbuzz/harfbuzz/pull/5079#pullrequestreview-2627407692
|
|
a8fd2971
|
2025-02-13T17:16:20
|
|
[directwrite] Add hb_directwrite_font_create()/font_get_font()
Uses hb_directwrite_face_create() under the hood, but copies variations
from directwrite to hb-font.
|
|
ff3aaece
|
2025-02-10T14:25:58
|
|
[test/shape-plan] Add another test and some comments
|
|
cf336f17
|
2025-02-10T14:15:25
|
|
[shape-plan] Rename hb_ot_shape_plan_get_features to get_feature_tags
Simplify the API by returning only feature tags. The users of this API
would be interested only in feature enabled by default and whether the
feature is globally or partially enabled wouldn’t be of much interest in
that case. For user features, the user of the API already have full
access to them.
|
|
a7d7715f
|
2025-02-02T23:06:11
|
|
[shape-plan] Add hb_ot_shape_plan_get_features
This should get the features on a shape plan after executing it.
Initially I wanted to return an array of tags, but then there can be
user features that are not enabled globally, so I thought returning
hb_feature_t with value and range would be better. There is a TODO since
I couldn’t figure out how to get the value and range from the feature
mask. But also it may be overkill and a simple boolean indicating wither
it is a global feature or not would be enough.
I wounder also what should happen to non-user features that are applied
selectively, like init or medi, does ot make sense to indicate whether
they are global or not?
This is inspired by the discussion in:
https://github.com/fontforge/fontforge/pull/5522#pullrequestreview-2574321449,
but it might be useful to other HarfBuzz users.
|
|
8c561733
|
2025-02-12T12:37:10
|
|
[test/coretext] Add a test for copying variations
|
|
7ba3efa5
|
2025-02-09T18:42:45
|
|
[tests/fuzzing] Use the correct dirs for subset and repacker fuzzers
|
|
c404d8fc
|
2025-02-09T18:08:50
|
|
[test/fuzzing] Merge hb_fuzzer_tools.py back and simplify
|
|
4c43fdcd
|
2025-02-09T17:52:13
|
|
[test/fuzzing] Simplify Python scripts further
We always path the fuzzer path in meson, so we don’t need to search for
fuzzer path in the scripts, and then we can use one script for all the
fuzzers.
|
|
c29b1de3
|
2025-02-09T15:38:18
|
|
[test/fuzzing] Remove old cruft
|
|
86329643
|
2025-02-09T15:12:03
|
|
[test/fuzzing] Call binaries with 64 fonts at a time
Second try... Previous attempt caused a too-many-command-line-args
on Windows.
https://github.com/harfbuzz/harfbuzz/issues/5061
|
|
be22e43d
|
2025-02-09T14:55:44
|
|
[test/fuzzing] Run each fuzzer on all fonts in one process
Much much faster, specially under valgrind, than spawning one process per font.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5061
|
|
6738ee3d
|
2025-02-09T13:30:19
|
|
[ci/fedora-valgrind] Add time multiplier of 10 and run slow tests
|
|
fc4d5077
|
2025-02-09T13:28:45
|
|
[hb-draw-fuzzer] Increase test time
I'm getting timeouts. Might be an infinite loop. But let's see.
|
|
cb6779f9
|
2025-02-09T08:39:03
|
|
[test] Try running slow tests early
Probably already happens, but this wouldn't hurt.
https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646125367
|
|
134eef55
|
2025-02-09T08:22:38
|
|
[test] Reorder test suites
Makes it a bit faster.
https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646120679
|
|
c55738fa
|
2025-02-09T08:08:52
|
|
[test] Set MALLOC_CHECK_ to 1 instead of 2; kill G_SLICE=always-malloc
MALLOC_CHECK_=2 makes running tests twice slower on macOS. Value 1
is as fast as not checking at all. It's not like this ever caught
a bug for us or anything. We have so many sanitizers and fuzzers
funning on CI, which catch all kinds of memory problems.
G_SLICE is long gone in glib.
The slowest part of running the test suite now is the google-benchmark
tests, that get run by us... I'll see if I can disable. I had reported
it before at https://github.com/harfbuzz/harfbuzz/issues/4153
|
|
be287eab
|
2025-02-09T04:18:31
|
|
[trak] Don't shift glyphs
That's what CoreText does and fonts are designed for. Who are we to improve on...
|
|
1150d4bf
|
2025-02-09T04:16:57
|
|
[trak] Remove support for disabling using pseudo-font-feature
Fixes https://github.com/harfbuzz/harfbuzz/issues/5052
|
|
1bf0a5bc
|
2025-02-09T02:43:09
|
|
[trak] Streamline a bit
Also use float math.
|
|
b1677e76
|
2025-02-09T01:56:03
|
|
[trak] Handle "out-of-range" values better
If requested size < min-size, use the value for min-size.
If requested size > max-size, use the value for max-size.
This is the only way that makes sense. Extrapolating as we were
doing, is just wrong...
This also seems to match what CoreText does.
Adjacent to fixing https://github.com/harfbuzz/harfbuzz/issues/5054
|
|
f394206b
|
2025-02-06T19:48:56
|
|
[ot-shape] Only apply trak'ing if STAT table present
|
|
7f5fac7c
|
2025-02-04T23:35:34
|
|
[test-buffer] Fix unintionally merged change
|
|
f0ead852
|
2025-02-04T23:27:03
|
|
[aat] Implement set filtering for Noncontextual chains as well
|
|
4825e5e2
|
2025-02-04T00:54:58
|
|
[face] Add fallback implementation to hb_face_reference_blob
If referencing the face blob is not possible (e.g. not implemented by
the font functions), use face builder to create a blob out of
individual table blobs.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5036
|
|
b394ab39
|
2025-01-31T10:21:31
|
|
[test-buffer] Add code for testing end_ptr
|
|
9ef009f5
|
2025-01-24T16:37:12
|
|
[test] Fix test
Broken by previous commit.
https://github.com/harfbuzz/harfbuzz/issues/5020#issuecomment-2613597379
|
|
bdb50f1c
|
2025-01-07T20:32:05
|
|
[repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail.
|
|
05650416
|
2025-01-07T19:56:25
|
|
[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.
|
|
5a6f5922
|
2025-01-06T21:16:24
|
|
[repacker] Promote repacking API to stable.
For #227.
|
|
57569baa
|
2025-01-02T21:14:25
|
|
Don’t insert U+25CC before super/subscript digits
|
|
edb3b208
|
2024-12-15T12:01:33
|
|
Make hb_test_tools.py work in Python 3.13
|
|
f887096a
|
2024-12-15T10:53:09
|
|
[myanmar] Allow all tones (& visarga) in any order
|
|
773fe850
|
2024-11-20T17:20:49
|
|
[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
|
|
b0d52abe
|
2024-10-23T20:49:44
|
|
[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
|
|
622e9c33
|
2024-11-06T10:59:17
|
|
[instancer] fix for incorrect offset calculation when we have gvar padding
|
|
2dc63341
|
2024-10-13T20:03:16
|
|
[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.
|
|
755929c4
|
2024-10-12T20:08:32
|
|
Fix more compiler warnings
In case FreeType is not available.
|
|
4d1f6e04
|
2024-10-06T18:25:24
|
|
[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.
|
|
e1572054
|
2024-10-06T18:51:33
|
|
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.
|
|
8de0d911
|
2024-10-06T18:44:21
|
|
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.
|
|
b6196986
|
2024-10-03T15:56:04
|
|
[USE] Update the data files
This uses the data files from
<https://github.com/microsoft/font-tools/tree/e00698c07a0444647db84a7f8bf03d1081bd53b3/USE>.
|
|
867366cc
|
2024-09-24T09:17:12
|
|
[test] Add GeezaPro tests for MacOS 15.0
|
|
7aace3d3
|
2024-09-23T07:47:24
|
|
Ignore CGJ and Mongolian Variation Selectors during GPOS
Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
|
|
5e5cd10e
|
2024-09-22T12:36:51
|
|
Don't make variation-selectors default-ignorable if not-found set
https://github.com/harfbuzz/harfbuzz/pull/4863#issuecomment-2366908261
|
|
b94a39d7
|
2024-09-22T08:23:34
|
|
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.
|
|
287046f7
|
2023-12-15T10:24:03
|
|
[buffer] Hook up not-found-variation-selector-glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
|
|
6fd76e1f
|
2024-09-17T13:50:10
|
|
[subset] offset format fix in gvar table
|
|
e30dedbb
|
2024-09-14T12:06:08
|
|
[Unicode 16] Add tests
|
|
554658e3
|
2024-09-14T11:08:37
|
|
[Unicode 16] Update the emoji table & cluster test
|
|
98353ece
|
2024-09-11T11:35:15
|
|
[test] Run shape tests with C locale as well
https://github.com/harfbuzz/harfbuzz/pull/4857
|
|
70334d74
|
2024-09-11T14:30:32
|
|
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
|
|
634778ef
|
2024-08-20T14:34:09
|
|
[subset] bug fix in post table
insert retain-gid holes when retain-gids is enabled
|
|
72502ef0
|
2024-08-12T14:08:06
|
|
[instancer] dont return false when variation data is empty after partial instancing
|
|
59a97ac0
|
2024-08-06T14:53:36
|
|
[test] More get_table_tags test
|
|
a55b0071
|
2024-08-06T14:39:10
|
|
[test] Add get_table_tags test for hb-coretext
|
|
bd79bfb6
|
2024-08-06T13:40:06
|
|
[test] Add get_table_tags test for hb-ft
|
|
a459753e
|
2024-08-06T13:31:24
|
|
[test] Test get_table_tags of face_builder
|
|
8896b1d5
|
2024-08-06T12:34:15
|
|
[test] Add test for get_table_tags
So far just tests the default implementation.
|
|
84f16564
|
2024-08-06T12:15:39
|
|
[test] Move code around
|
|
22e1a5a7
|
2024-08-06T12:20:34
|
|
[test-paint] Fix warnings
|
|
191c6eed
|
2024-08-06T06:59:32
|
|
Fix Linux bot
|
|
e0c3cbf1
|
2024-08-06T06:46:44
|
|
[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
|
|
788b469a
|
2024-07-25T14:50:01
|
|
[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
|
|
a38f853e
|
2024-06-27T15:35:01
|
|
Drop unused Makefile.sources files
|
|
cf1fdf16
|
2024-06-27T06:54:02
|
|
Drop autotools build
Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
|
|
49c8493f
|
2024-06-20T11:16:40
|
|
[test] Build with HB_MINI
Also add CONFIG.md instructions for building configs with meson.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4760
|
|
106e4068
|
2024-06-20T09:50:46
|
|
HB_SCRIPT_CANADIAN_ABORIGINAL removed, as deprecated
|
|
8de7e9fd
|
2024-06-20T08:54:23
|
|
deprecation cleanup: HB_BUFFER_FLAGS_DEFAULT removed
|
|
1e2bd498
|
2024-06-04T23:53:36
|
|
Another include fix
https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148910890
|
|
e9870e8d
|
2024-06-04T20:50:06
|
|
Add missing include
https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148727072
|
|
9456f6bd
|
2024-06-02T10:32:07
|
|
[test] Fix a few compiler warnings
|
|
c2b5b7b9
|
2024-06-01T12:48:17
|
|
[ot-tags] Update IANA and OT language registries
|
|
135d6537
|
2024-05-31T01:25:05
|
|
test-draw-varc.c: Fix “warning: unused function”
|
|
0037ee28
|
2024-05-24T08:10:15
|
|
Merge pull request #4578 from harfbuzz/varc-table
`VARC` table
|
|
0660a4d4
|
2024-05-13T19:28:57
|
|
[subset] fix fuzzer found heap use after free in BASE subsetting.
|
|
0db136b1
|
2024-05-09T11:49:48
|
|
[subset-cff] Shorten output of `encode_num_tp`
|
|
7975c9ca
|
2024-05-08T10:11:03
|
|
[instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION
|
|
b74a7ecc
|
2024-05-07T19:53:01
|
|
Fix IUP differences accoss platforms.
- Slightly increase the tolerance to account for differences in floating point math across platforms.
- The specific issue is a fused multiply add (d = d1 + (x - x1) * scale; in hb-subset-instancer-iup.cc)
- Also fix more implicit double conversion warnings.
|
|
a5c9c826
|
2024-05-06T13:22:49
|
|
rename expected files from *.retain-all-codepoint.* to *.all.*
This is to fix file name too long error
tar: harfbuzz-8.4.0/test/subset/data/expected/sync_vmetrics/playwrite_mm.subset.default.retain-all-codepoint.SPED=25,YEXT=520,wght=100-400,slnt=18.iup_optimize.ttf: file name is too long (cannot be split); not dumped
tar: Exiting with failure status due to previous errors
|
|
3b3c154b
|
2024-05-06T12:56:23
|
|
add back missing tests that were disabled when wrapped by experimental
|
|
6c898572
|
2024-05-02T10:11:06
|
|
fix bots
|
|
f614a7d3
|
2024-05-02T10:05:18
|
|
[instancer] add/update tests for COLRv1 instancing
|
|
ebcdadbf
|
2024-05-03T14:24:56
|
|
[instancer] add tests for instantiating BASE table
|
|
4d2380f5
|
2024-05-03T14:05:56
|
|
Merge pull request #4693 from harfbuzz/promote-vf-api
[instancer] Promote partial instancing API out of experimental.
|
|
f145ab2f
|
2024-05-03T18:24:33
|
|
Disable empty_region_vardata test when running on 32bit machines.
|
|
ba1f194a
|
2024-05-02T12:18:11
|
|
[gsubgpos] Reduce stack use in recursion
|
|
4cf606f6
|
2024-05-02T20:46:29
|
|
[instancer] Promote partial instancing api out of experimental.
|
|
6129c726
|
2024-04-22T14:52:58
|
|
[varc] Use Condition instead of ConditionSet
With more Condition formats.
https://github.com/harfbuzz/boring-expansion-spec/commit/df7dcc4618b9dc003740d25c53afe30a8fc03fe2
https://github.com/harfbuzz/boring-expansion-spec/issues/147
|
|
d07d70ae
|
2024-03-22T11:43:37
|
|
[varc] Add test
|
|
1121d80b
|
2024-03-22T10:45:36
|
|
[varc] Add a conditional test font
|
|
7c874354
|
2024-03-20T15:34:24
|
|
[varc] Implement conditionSets
|
|
3ffd92f0
|
2024-03-17T12:38:30
|
|
[varc] Add a couple of seeds for the fuzzer
|
|
2cfa5505
|
2024-03-27T23:21:57
|
|
[instancer] Switch to doubles for delta calculations.
FontTools uses double's internally so match FontTool's precision so we get the same results more often for floating point calculations.
|
|
c84acc8e
|
2024-04-08T23:46:14
|
|
[subset] Fix fuzzer found memory leak.
Fixes https://oss-fuzz.com/testcase-detail/6159925345583104.
|