src


Log

Author Commit Date CI Message
Behdad Esfahbod 22a21e81 2025-02-04T22:21:52 [aat] Fix a crash
Behdad Esfahbod 275fb565 2025-02-04T22:07:48 [morx] Clean up memory
Behdad Esfahbod a6173280 2025-02-04T22:00:14 [bit-set] Sprinkle a few .arrayZ around All accesses are valid.
Behdad Esfahbod 7862c7c5 2025-02-04T21:37:27 Rename a method again
Behdad Esfahbod 255dadc1 2025-02-04T22:02:11 [set] Speed up may_intersect()
Behdad Esfahbod 474bef1c 2025-02-04T19:17:13 [aat] Use exact set for buffer intersection versus subchains
Behdad Esfahbod 95eefa38 2025-02-04T19:16:57 [set] Add a brute-force intersects(other_set)
Behdad Esfahbod 80bbb0b2 2025-02-04T18:42:33 [set-digest] Rename a method
Behdad Esfahbod 7d17ea49 2025-02-04T18:43:33 Merge pull request #5037 from harfbuzz/face-blob [face] Add fallback implementation to hb_face_reference_blob
Khaled Hosny a315d43b 2025-02-04T20:41:01 [doc] Update hb_face_reference_blob() and hb_reference_table_func_t
Behdad Esfahbod 722ab548 2025-02-04T17:59:39 [kerx] Don't compute buffer digest We don't use it in kerx
Behdad Esfahbod 449c7f2a 2025-02-04T17:56:22 [aat] Add some tracing
Behdad Esfahbod 3a1d7ee7 2025-02-04T17:33:42 [aat] Remove the buffer-digest threshold This can help us skip entire subchains, eg. when they are for different scripts. Speeds up LucidaGrande with ASCII text by 20%.
Behdad Esfahbod e1cb3b15 2025-02-04T17:28:29 Revert "[aat] Remove set-digest" This reverts commit 832f199607292a41b4621b87a646c30cddc00124.
Behdad Esfahbod 359d163d 2025-02-04T17:11:46 Revert "[aat] Remove buffer-digest stuff" This reverts commit 7642366593826c0e04ad58df83fa63ec53960486.
Behdad Esfahbod 7d23e642 2025-02-04T17:11:13 Revert "[aat] Remove dead code" This reverts commit bf36f5c3a4ff0003d330e2c2fc410c0cde911cba.
Behdad Esfahbod d1099476 2025-02-04T17:12:23 Revert "[aat] Remove unused macro" This reverts commit 2ddcccd26ea4962a97ba6858952a5a71d032e6c1.
Behdad Esfahbod 2ddcccd2 2025-02-04T17:05:45 [aat] Remove unused macro
Behdad Esfahbod 1ff46235 2025-02-04T16:46:25 [morx] Micro-optimize
Khaled Hosny 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
Behdad Esfahbod 9cf2ea3e 2025-02-04T13:34:31 Merge branch 'kern-set'
Behdad Esfahbod bf36f5c3 2025-02-04T13:32:31 [aat] Remove dead code
Behdad Esfahbod 76423665 2025-02-04T13:19:43 [aat] Remove buffer-digest stuff With both morx & kerx sped up now using cache / set, this is not beneficial anymore. Remove it.
Behdad Esfahbod 9a4601b0 2025-02-04T13:14:04 [kern/kerx] Use hb-set-t for left/right, to guard bsearch Use a set of all left glyphs participating in kerning, and all right glyphs participating in kerning, and use these two to weed out non-kerning pairs before bsearching into the kerns. Speeds up shaping of HelveticaNeue by ~10%.
Behdad Esfahbod 3e50a8df 2025-02-04T13:05:34 [buffer] Use UINT_MAX instead of wrong macro
Behdad Esfahbod ee4ca63b 2025-02-03T13:23:08 [aat] Micro-optimize
Behdad Esfahbod ed37725e 2025-02-03T12:59:58 [aat] Micro-optimize get_class
Behdad Esfahbod 91572945 2025-02-02T18:25:45 [aat] More delambda Again, this was costly.
Behdad Esfahbod 556eb029 2025-02-02T18:19:32 [aat] Remove a lambda This lambda was added to "simplify" the logic. But has a lot of overhead.
Behdad Esfahbod d9a25bc4 2025-02-02T17:37:43 [aat] Allocate caches together No separate malloc.
Behdad Esfahbod 7b44a94a 2025-02-02T17:33:46 [aat] Shrink cache to 256 bytes per subtable
Behdad Esfahbod b89ab7d0 2025-02-02T17:08:20 [aat] Shrink the class cache to be 512 bytes instead of 1kb
Behdad Esfahbod 4fb0ac77 2025-02-02T17:06:45 [aat] Minor simplify
Behdad Esfahbod 832f1996 2025-02-02T17:04:06 [aat] Remove set-digest Now that we have a class cache, this was just speeding things down.
Behdad Esfahbod 0e13e781 2025-02-02T16:50:04 [aat] Add a class-cache to the machine Speeds up Times.ttc benchmark by 20%.
Behdad Esfahbod 13844848 2025-02-02T11:56:01 [aat] Typo
Behdad Esfahbod f5e50890 2025-02-02T11:40:27 [open-type] Another tweak to cmp() Again, unlikely that compiler cares.
Behdad Esfahbod c68df817 2025-02-02T11:33:42 [open-type] Minor tweak to cmp() Remove codepath that was never taken.
Behdad Esfahbod 66bb94fe 2025-02-02T08:40:30 [set-digest] Tune back to starting with 4 Make Amiri slightly slower again, but works better for AAT fonts I tested.
Behdad Esfahbod 9fd855ed 2025-02-02T07:55:53 [set-digest] Tune a bit more Saves another 2% on Amiri benchmark.
Behdad Esfahbod 880b92ed 2025-02-02T07:43:33 [set-digest] Fix build on Linux
Behdad Esfahbod 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.
Behdad Esfahbod c4c8eb4f 2025-01-26T16:25:55 [algs] Rename a macro Clashes with Apple simd/simd.h
Behdad Esfahbod 9ba286de 2025-02-01T14:23:47 [ot-shape] Micro-optimize ::equal For two integers, it's faster to compare them directly.
Behdad Esfahbod 6be66b0e 2025-01-24T16:26:54 [ft/coretext] Fail setting font-funcs gracefully Fixes https://github.com/harfbuzz/harfbuzz/issues/5020
Behdad Esfahbod 4df11621 2025-01-24T05:00:05 [VARC] Fix variable binding Ouch.
Behdad Esfahbod 2fa9ccee 2025-01-23T23:13:49 [VARC] Simplify
Behdad Esfahbod 2d2418eb 2025-01-23T23:13:11 [VARC] Avoid float div-by-zero
Behdad Esfahbod 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
David Corbett 22fbc756 2025-01-22T11:08:28 [ot-tags] Update IANA and OT language registries
Khaled Hosny a888761a 2025-01-21T15:56:26 [hb-ft] Hopefully clarify hb_ft_font_create() life cycle even more Add “only” to one more place.
Behdad Esfahbod 3a7ebc32 2025-01-13T14:53:16 [config] Fix build with HB_LEAN Fixes https://github.com/harfbuzz/harfbuzz/issues/4997
Khaled Hosny 1e629c35 2025-01-12T23:06:23 [morx] Blocklist dysfunctional morx table of AALMAGHRIBI.ttf font Fixes #4108
Khaled Hosny 7b27c8ed 2025-01-11T18:13:18 10.2.0
Behdad Esfahbod 021b4438 2025-01-10T13:57:16 Garay script is RTL Fixes https://github.com/harfbuzz/harfbuzz/issues/4996
Khaled Hosny fc42cdd6 2025-01-08T22:17:03 [docs] Reduce warnings
Khaled Hosny 1ce81912 2025-01-08T15:25:46 [subset-serialize] Formatting
Khaled Hosny e943a009 2025-01-08T15:22:47 [subset-serialize] Try to fix MSVC build
Khaled Hosny 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`.
Garret Rieger bdb50f1c 2025-01-07T20:32:05 [repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail.
Garret Rieger 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.
Behdad Esfahbod 503553c3 2025-01-07T11:50:12 [docs] Fix build for real this time
Behdad Esfahbod fca062eb 2025-01-07T11:38:25 [docs] Fix build fail
Behdad Esfahbod 379e3c98 2025-01-07T11:29:35 [shape] Wrap justify API in EXPERIMENTAL Fixes https://github.com/harfbuzz/harfbuzz/issues/4984
Garret Rieger 5a6f5922 2025-01-06T21:16:24 [repacker] Promote repacking API to stable. For #227.
David Corbett 57569baa 2025-01-02T21:14:25 Don’t insert U+25CC before super/subscript digits
wang-bin 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
Khaled Hosny 524e0f0a 2024-12-19T11:53:37 [doc] Improve hb_face_reference_table() docs
David Corbett f887096a 2024-12-15T10:53:09 [myanmar] Allow all tones (& visarga) in any order
Behdad Esfahbod c8050b38 2024-12-10T11:22:15 [coretext] Fix build on old Mac Fixes https://github.com/harfbuzz/harfbuzz/issues/4968
David Corbett 40ef6c05 2024-12-05T16:03:28 [ot-tags] Update OpenType language system registry
Kesavan Yogeswaran 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*.
Caleb Maclennan 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.
Luca Ebach 780aaca8 2024-11-27T16:12:51 set harfbuzz version in cmake config file
Qunxin Liu 3bb89eeb 2024-11-24T17:00:14 [instancer] use hb_parse_double() for parsing axis positions Added hb_subset_axis_range_from/to_string()
Khaled Hosny 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
Garret Rieger 0b7beefd 2024-11-22T01:00:57 Raise table growth limit during subsetting. Real case encountered that exceeded the current limit. Fixes #4943.
Khaled Hosny 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
Behdad Esfahbod 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.
Behdad Esfahbod d759ee5a 2024-11-15T16:18:34 [ft] Guard FT_LOAD_NO_SVG Also pass FT_LOAD_NO_BITMAP.
Behdad Esfahbod 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
Behdad Esfahbod 21cba9e5 2024-11-15T15:21:03 [cairo] Fix scaling in paint_color_glyph Fixes https://github.com/harfbuzz/harfbuzz/issues/4938
Behdad Esfahbod de7f97b7 2024-11-15T15:14:37 [COLR] Add comment
Garret Rieger 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
Behdad Esfahbod 1767f99e 2024-11-10T22:43:28 [cairo] Guard hb_cairo_glyphs_from_buffer() against bad UTF-8 Previously it was assuming valid UTF-8.
Qunxin Liu b5ed7846 2024-11-08T14:46:57 [subset-serialize] release discarded objects
Qunxin Liu 622e9c33 2024-11-06T10:59:17 [instancer] fix for incorrect offset calculation when we have gvar padding
Khaled Hosny 9ef44a2d 2024-11-05T08:01:56 10.1.0
Behdad Esfahbod c85a6c2a 2024-11-04T17:33:30 [cairo] Respect HB_NO_VAR Fixes https://github.com/harfbuzz/harfbuzz/issues/4924
Behdad Esfahbod 9974a661 2024-10-27T16:14:53 [icu] Make it build with ICU 76 Fixes https://github.com/harfbuzz/harfbuzz/issues/4915
Qunxin Liu e5139c51 2024-10-21T12:54:56 bug fix in hashmap get_with_hash()
Behdad Esfahbod 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.
Behdad Esfahbod 78609702 2024-10-15T14:12:07 [coretext-font] Implement get_glyph_v_advances
Behdad Esfahbod e1026a22 2024-10-15T14:05:39 [coretext-font] Implement get_variation_glyph() Not sure if I got it right, but *seems* to work.
Behdad Esfahbod d44cc8a1 2024-10-15T13:54:16 [coretext-font] Implement get_glyph_name()
Behdad Esfahbod 0ce67f56 2024-10-15T13:49:01 [coretext-font] Implement font_get_h_metrics
Behdad Esfahbod e31ea830 2024-10-14T16:00:06 [ft] Try using a ref-counted ft_library https://github.com/harfbuzz/harfbuzz/pull/4895#issuecomment-2412348792
Behdad Esfahbod 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()
Behdad Esfahbod 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()
Behdad Esfahbod b12acba4 2024-10-12T19:29:02 [face] Add hb_face_create_from_file_or_fail() New API: + hb_face_create_from_file_or_fail()