|
92f13bbd
|
2025-02-01T19:11:20
|
|
[set-digest] Inline combiner
Instead of defining one digest and then combining three of them at
different shifts, inline the code The compiler can optimize it better.
3% speedup with Amiri benchmark.
|
|
c4c8eb4f
|
2025-01-26T16:25:55
|
|
[algs] Rename a macro
Clashes with Apple simd/simd.h
|
|
9ba286de
|
2025-02-01T14:23:47
|
|
[ot-shape] Micro-optimize ::equal
For two integers, it's faster to compare them directly.
|
|
6be66b0e
|
2025-01-24T16:26:54
|
|
[ft/coretext] Fail setting font-funcs gracefully
Fixes https://github.com/harfbuzz/harfbuzz/issues/5020
|
|
4df11621
|
2025-01-24T05:00:05
|
|
[VARC] Fix variable binding
Ouch.
|
|
2fa9ccee
|
2025-01-23T23:13:49
|
|
[VARC] Simplify
|
|
2d2418eb
|
2025-01-23T23:13:11
|
|
[VARC] Avoid float div-by-zero
|
|
fe9398e9
|
2025-01-23T22:59:12
|
|
[VARC] Chain transforms
Previous code was actually wrong even, for non-uniform x/y font scale.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5017
|
|
22fbc756
|
2025-01-22T11:08:28
|
|
[ot-tags] Update IANA and OT language registries
|
|
a888761a
|
2025-01-21T15:56:26
|
|
[hb-ft] Hopefully clarify hb_ft_font_create() life cycle even more
Add “only” to one more place.
|
|
3a7ebc32
|
2025-01-13T14:53:16
|
|
[config] Fix build with HB_LEAN
Fixes https://github.com/harfbuzz/harfbuzz/issues/4997
|
|
1e629c35
|
2025-01-12T23:06:23
|
|
[morx] Blocklist dysfunctional morx table of AALMAGHRIBI.ttf font
Fixes #4108
|
|
7b27c8ed
|
2025-01-11T18:13:18
|
|
10.2.0
|
|
021b4438
|
2025-01-10T13:57:16
|
|
Garay script is RTL
Fixes https://github.com/harfbuzz/harfbuzz/issues/4996
|
|
fc42cdd6
|
2025-01-08T22:17:03
|
|
[docs] Reduce warnings
|
|
1ce81912
|
2025-01-08T15:25:46
|
|
[subset-serialize] Formatting
|
|
e943a009
|
2025-01-08T15:22:47
|
|
[subset-serialize] Try to fix MSVC build
|
|
9d5beeaf
|
2025-01-08T01:07:09
|
|
[subset-serialize] Fix doc generation
gtk-doc is rather sensitive to white space, and it does not seem to be
able to parse bare `unsigned` without `int`.
|
|
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.
|
|
503553c3
|
2025-01-07T11:50:12
|
|
[docs] Fix build for real this time
|
|
fca062eb
|
2025-01-07T11:38:25
|
|
[docs] Fix build fail
|
|
379e3c98
|
2025-01-07T11:29:35
|
|
[shape] Wrap justify API in EXPERIMENTAL
Fixes https://github.com/harfbuzz/harfbuzz/issues/4984
|
|
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
|
|
3258b1f2
|
2024-12-20T10:58:14
|
|
[coretext]: fix tvOS build
define kCTFont* when unavailable, i.e. ios < 6.0, macOS < 10.8 or tvOS < 9.0.
MAC_OS_X_VERSION_MIN_REQUIRED is always defined in AvailabilityMacros.h for all targets,
while __ENVIRONMENT_*_VERSION_MIN_REQUIRED__ is defined by compiler when building a specific target
|
|
524e0f0a
|
2024-12-19T11:53:37
|
|
[doc] Improve hb_face_reference_table() docs
|
|
f887096a
|
2024-12-15T10:53:09
|
|
[myanmar] Allow all tones (& visarga) in any order
|
|
c8050b38
|
2024-12-10T11:22:15
|
|
[coretext] Fix build on old Mac
Fixes https://github.com/harfbuzz/harfbuzz/issues/4968
|
|
40ef6c05
|
2024-12-05T16:03:28
|
|
[ot-tags] Update OpenType language system registry
|
|
1c249be9
|
2024-12-02T15:51:19
|
|
Sidestep nontrivial-memaccess warning in Crap()
With -Wnontrivial-memaccess, recent versions of clang flag the usage of
memcpy in hb-null.hh with pointers to nontrivially-copyable types.
Sidestep this warning by casting the problematic pointer to void*.
|
|
10cf348a
|
2024-11-11T10:32:01
|
|
[gsubgpos] Guard integer arithmetic against wrapping below zero
When either casting a signed integer to an unsigned one or subtracting
a value from an unsigned one, add assertions to verify we will not end
up below expected bounds.
|
|
780aaca8
|
2024-11-27T16:12:51
|
|
set harfbuzz version in cmake config file
|
|
3bb89eeb
|
2024-11-24T17:00:14
|
|
[instancer] use hb_parse_double() for parsing axis positions
Added hb_subset_axis_range_from/to_string()
|
|
056cc560
|
2024-11-24T07:33:12
|
|
[config] Improve language handling with HB_LEAN
Remove HB_NO_LANGUAGE_LONG and HB_NO_LANGUAGE_PRIVATE_SUBTAG defines to
support language tags longer than 2 letters and private language tags
(needed to set language using OpenType language tags) respectively.
HB_LEAN is used when smaller binary size is desired, but in general it
should not produce different shaping output.
Fixes https://github.com/harfbuzz/harfbuzzjs/issues/108
|
|
0b7beefd
|
2024-11-22T01:00:57
|
|
Raise table growth limit during subsetting. Real case encountered that exceeded the current limit. Fixes #4943.
|
|
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
|
|
39246326
|
2024-11-16T12:20:24
|
|
[cairo] Protect against some invalid matrices
hb-view --font-size 0,10 still fails with cairo error.
To be debugged separately.
|
|
d759ee5a
|
2024-11-15T16:18:34
|
|
[ft] Guard FT_LOAD_NO_SVG
Also pass FT_LOAD_NO_BITMAP.
|
|
96579076
|
2024-11-15T15:33:11
|
|
[ft-colr] Don't load SVG table since we don't support it
Part of https://github.com/harfbuzz/harfbuzz/issues/4938
|
|
21cba9e5
|
2024-11-15T15:21:03
|
|
[cairo] Fix scaling in paint_color_glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/4938
|
|
de7f97b7
|
2024-11-15T15:14:37
|
|
[COLR] Add comment
|
|
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
|
|
1767f99e
|
2024-11-10T22:43:28
|
|
[cairo] Guard hb_cairo_glyphs_from_buffer() against bad UTF-8
Previously it was assuming valid UTF-8.
|
|
b5ed7846
|
2024-11-08T14:46:57
|
|
[subset-serialize] release discarded objects
|
|
622e9c33
|
2024-11-06T10:59:17
|
|
[instancer] fix for incorrect offset calculation when we have gvar padding
|
|
9ef44a2d
|
2024-11-05T08:01:56
|
|
10.1.0
|
|
c85a6c2a
|
2024-11-04T17:33:30
|
|
[cairo] Respect HB_NO_VAR
Fixes https://github.com/harfbuzz/harfbuzz/issues/4924
|
|
9974a661
|
2024-10-27T16:14:53
|
|
[icu] Make it build with ICU 76
Fixes https://github.com/harfbuzz/harfbuzz/issues/4915
|
|
e5139c51
|
2024-10-21T12:54:56
|
|
bug fix in hashmap get_with_hash()
|
|
de1a1e27
|
2024-10-15T14:17:38
|
|
[coretext-font] Implement get_glyph_v_origin()
For a font without vertical metrics, I'm getting different
values from ot/ft. But that's expected, since in ot we just
implemented the same heuristics as ft.
|
|
78609702
|
2024-10-15T14:12:07
|
|
[coretext-font] Implement get_glyph_v_advances
|
|
e1026a22
|
2024-10-15T14:05:39
|
|
[coretext-font] Implement get_variation_glyph()
Not sure if I got it right, but *seems* to work.
|
|
d44cc8a1
|
2024-10-15T13:54:16
|
|
[coretext-font] Implement get_glyph_name()
|
|
0ce67f56
|
2024-10-15T13:49:01
|
|
[coretext-font] Implement font_get_h_metrics
|
|
e31ea830
|
2024-10-14T16:00:06
|
|
[ft] Try using a ref-counted ft_library
https://github.com/harfbuzz/harfbuzz/pull/4895#issuecomment-2412348792
|
|
12fc715d
|
2024-10-12T20:14:59
|
|
[ft] Add hb_ft_face_create_from_file_or_fail()
New API:
+hb_ft_face_create_from_file_or_fail()
|
|
89c83b5b
|
2024-10-12T19:45:12
|
|
[coretext] Add hb_coretext_face_create_from_file_or_fail()
New API hb_coretext_face_create_from_file_or_fail()
|
|
b12acba4
|
2024-10-12T19:29:02
|
|
[face] Add hb_face_create_from_file_or_fail()
New API:
+ hb_face_create_from_file_or_fail()
|
|
2437fd88
|
2024-10-12T19:24:42
|
|
[face] Add hb_face_create_or_fail()
New API:
+ hb_face_create_or_fail()
|
|
2166a46a
|
2024-10-12T08:47:38
|
|
[coretext] Don't set CoreText funcs on new CoreText fonts
|
|
62ae9fbd
|
2024-10-10T14:26:49
|
|
[coretext-font] Implement get_glyph_from_name
|
|
b5e9f2cb
|
2024-10-10T14:15:50
|
|
[coretext-font] Implement get_glyph_extents
|
|
8db2997e
|
2024-10-10T13:55:11
|
|
[coretext] Configure hb_coretext_font_create() with CT font funcs
Not sure if this is a good idea...
|
|
8a805271
|
2024-10-10T12:56:31
|
|
[coretext] Start implementing CoreText font-funcs
Does nominal glyph mapping, horiz advances, and draw so far.
|
|
064b2417
|
2024-10-09T15:12:59
|
|
[coretext] Rename hb-coretext.cc to hb-coretext-shape.cc
|
|
ab360899
|
2024-10-10T14:46:27
|
|
[CFF] Increase max op num limit
This actually counts operands too, not just operators.
In a big variable-font design-space, each blend can easily take
a dozen ops or more. I was sent a font for which this limit
was hit. Increase by 20x for now.
|
|
1a4bdd69
|
2024-10-10T14:16:14
|
|
[font] Change fallback y_advance sign
Ouch.
|
|
6a25df24
|
2024-10-09T14:09:22
|
|
[COLR] Add and use get_clip_list ()
|
|
5462978c
|
2024-10-09T13:43:13
|
|
[COLR] Lets see if this makes CIFUZZ any happier
|
|
008505e1
|
2024-10-08T09:27:09
|
|
[COLR] Pepper some hb_barrier()'s around
The version is a minor version (because uint16), as such
version > 1 should be considered as supporting version 1
data.
|
|
cec95a2d
|
2024-10-07T21:06:56
|
|
Try to fix heap-buffer-overflow
|
|
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.
|
|
4587e08a
|
2024-10-07T08:41:23
|
|
[VarStoreInstancer] Fix null deref
Should fix this hopefully:
https://github.com/harfbuzz/harfbuzz/actions/runs/11203732283/job/31141330056?pr=4885
|
|
e8de8d88
|
2024-10-07T06:11:25
|
|
[CONFIG] Remove unused HB_NDEBUG
|
|
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>.
|
|
31b22016
|
2024-10-03T14:16:54
|
|
[ot-tags] Update IANA and OT language registries
|
|
5772f4ff
|
2024-10-01T19:29:04
|
|
missing-field-initializers in main.cc
FAILED: src/main.p/main.cc.o
clang++ -Isrc/main.p -Isrc -I../src -I. -I.. -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -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 -pthread -Wno-non-virtual-dtor -UNDEBUG -MD -MQ src/main.p/main.cc.o -MF src/main.p/main.cc.o.d -o src/main.p/main.cc.o -c ../src/main.cc
../src/main.cc:220:33: error: missing field 'y_bearing' initializer [-Werror,-Wmissing-field-initializers]
hb_glyph_extents_t extents = {0};
^
../src/main.cc:270:36: error: missing field 'y_bearing' initializer [-Werror,-Wmissing-field-initializers]
hb_glyph_extents_t extents = {0};
^
2 errors generated.
|
|
18f1d912
|
2024-10-01T18:56:51
|
|
missing-field-initializers in hb-draw.h
With clang build, I got:
FAILED: test/api/test-draw.p/test-draw.c.o
clang -Itest/api/test-draw.p -Itest/api -I../test/api -I. -I.. -Isrc -I../src -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/freetype2 -I/usr/include/libpng16 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -DHAVE_CONFIG_H -Wall -Wextra -Werror -pthread -MD -MQ test/api/test-draw.p/test-draw.c.o -MF test/api/test-draw.p/test-draw.c.o.d -o test/api/test-draw.p/test-draw.c.o -c ../test/api/test-draw.c
../test/api/test-draw.c:920:26: error: missing field 'reserved4' initializer [-Werror,-Wmissing-field-initializers]
hb_draw_state_t st = HB_DRAW_STATE_DEFAULT;
^
../src/hb-draw.h:73:71: note: expanded from macro 'HB_DRAW_STATE_DEFAULT'
define HB_DRAW_STATE_DEFAULT {0, 0.f, 0.f, 0.f, 0.f, {0.}, {0.}, {0.}}
|
|
c7ef6a2e
|
2024-09-25T19:42:40
|
|
Remove the hack re variation-selectors
Instead of abusing an unused Gen_Cat value, use existing facilities
to remember variation selectors.
Addresses
https://github.com/RazrFalcon/rustybuzz/pull/134#issuecomment-2374894164
|
|
a1d9bfe6
|
2024-09-24T19:52:43
|
|
10.0.1
|
|
527e60b0
|
2024-09-24T09:18:08
|
|
[morx] Relax sanitizing
Ignore claimed ChainSubtable length and only sanitize against
the whole table.
Works around what seems to be a broken LookupFormat0 in a
Noncontextual subtable in GeezaPro on MacOS 15.0
Fixes https://github.com/harfbuzz/harfbuzz/issues/4873
|
|
70ca19df
|
2024-09-24T08:42:44
|
|
Use hb_barrier() instead of longer name
No functional change.
|
|
d5261f72
|
2024-09-23T23:07:55
|
|
10.0.0
|
|
700ef11c
|
2024-08-23T11:29:34
|
|
[meson] Add back with_libstdcxx build option
Building harfbuzz when targeting Android API<=20 would need libstdc++
due to lack of uselocale and freelocale in C library but present in
libstdc++.
This reverts commit 0151da23d605c7709d432ebfb17a337a5f662839.
|
|
242b5844
|
2024-09-15T14:43:55
|
|
[USE] Update the data files
This uses the data files from
<https://github.com/microsoft/font-tools/tree/1ffb9024b755313e661e8f492d87954856cc96a6/USE>.
|
|
7a890c2e
|
2024-09-22T13:19:02
|
|
Add hb_barrier() to switches of unions
https://github.com/harfbuzz/harfbuzz/pull/4864#issuecomment-2366923736
|
|
7aace3d3
|
2024-09-23T07:47:24
|
|
Ignore CGJ and Mongolian Variation Selectors during GPOS
Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
|
|
540666b8
|
2024-09-23T07:01:26
|
|
[paint] Err. Make previous commit actually work
|
|
ed636260
|
2024-09-23T07:00:41
|
|
[paint] Intersect clips
|
|
b0cf3d81
|
2024-09-23T06:50:59
|
|
[paint] Comment
|
|
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.
|
|
09589295
|
2024-09-22T13:01:18
|
|
[post] Add a hb_barrier()
|
|
48774052
|
2024-09-22T13:00:09
|
|
[GDEF] Sprinkle some hb_barrier()s
|
|
e4e9f6a1
|
2024-09-22T11:17:48
|
|
[gsubgpos] Add a barrier
Fixes https://github.com/harfbuzz/harfbuzz/issues/4852
|
|
0dace9f3
|
2024-09-21T12:38:16
|
|
[PairPos] Forgo an optimization for the sake of compatibility
Fixes https://github.com/harfbuzz/harfbuzz/issues/4797
|
|
287046f7
|
2023-12-15T10:24:03
|
|
[buffer] Hook up not-found-variation-selector-glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
|
|
a003890e
|
2024-09-21T11:30:56
|
|
[buffer] Add hb_buffer_[sg]et_not_found_variation_selector_glyph()
Unused.
|
|
6fd76e1f
|
2024-09-17T13:50:10
|
|
[subset] offset format fix in gvar table
|