Log

Author Commit Date CI Message
Qunxin Liu 879c4ac7 2025-07-24T14:13:16 [subset] MarkBasePos: remove base glyphs with empty base record BaseRecord could become empty if all anchor offsets for retained mark classes are null
Behdad Esfahbod ff46559b 2025-07-24T00:34:37 [benchmark-shape] Massage message again
Behdad Esfahbod 5991cb3d 2025-07-24T00:30:06 [benchmark-shape] Change message
Behdad Esfahbod 0a7a760a 2025-07-24T00:28:51 [benchmark-shape] Skip shaper if shaping failed
Behdad Esfahbod b7d5dc85 2025-07-24T00:24:48 [kbts] Grow buffer exponentially See comment.
Behdad Esfahbod be585dfc 2025-07-24T00:08:57 [kbts] Don't clear contents That was resetting props to invalid. We shouldn't touch props.
Behdad Esfahbod 3750c0e9 2025-07-23T23:55:44 Merge pull request #5407 from harfbuzz/kbts-touchup [kbts] Clean up font initialization
Behdad Esfahbod 926ad165 2025-07-23T23:53:50 [kbts] Handle a malloc fail
Behdad Esfahbod a98d08a8 2025-07-23T23:48:47 [kbts] Fix a compiler warning
Behdad Esfahbod 70e587de 2025-07-23T23:36:13 [kbts] Clean up font initialization
Behdad Esfahbod 112f0e0e 2025-07-23T23:11:18 Merge pull request #5406 from harfbuzz/kbts-buffer [kbts] Streamline buffer management
Behdad Esfahbod 41b89ee8 2025-07-23T20:19:57 [kbts] Streamline buffer management
Behdad Esfahbod 04010aad 2025-07-23T18:18:45 Merge pull request #5403 from harfbuzz/VARC-enabled [VARC] Graduate out of experimental
Behdad Esfahbod f5acbb5c 2025-07-23T17:48:13 [VARC] Fix HB_NO_DRAW build
Behdad Esfahbod 64b50ec4 2025-07-23T17:40:12 [config] Kill HB_NO_BORING_EXPANSION As features graduate from it and become part of the standard / default, one tag doesn't do us any good. Features should be disabled individually, like using HB_NO_VAR_COMPOSITES.
Behdad Esfahbod 7a708a93 2025-07-23T17:36:54 [VARC] Graduate out of experimental
Behdad Esfahbod fc671f0e 2025-07-23T17:12:31 [kb] Clear buffer out flags and stuff
Behdad Esfahbod 0c3606b5 2025-07-23T17:06:50 [benchmark-font] Respect HB_BENCHMARK_TEXT
Garret Rieger 8c79e4f8 2025-07-23T22:26:17 [repacker] Add batch version of move_child(). Move child is O(n) where n = number of links on the parent object. The batch version is also O(n). Use this in ligature splitting clone range to avoid O(n^2) behaviour.
Garret Rieger 38181c3f 2025-07-23T21:45:06 [repacker] cache liga index to object id maps between clone_range calls.
Garret Rieger 1caab75b 2025-07-23T21:14:20 [repacker] fix O(n^2) behaviour in LigatureSubstFormat1::clone_range.
Garret Rieger ee4a7a32 2025-07-23T21:05:23 [repacker] fix O(n^2) in LigatureSubstFormat1::shrink.
Garret Rieger 870b37ba 2025-07-23T20:57:09 [repacker] optimize ligature splitting implementation. Eliminate O(n^2) behaviour in compute_split_points().
Behdad Esfahbod a2b85859 2025-07-23T15:32:33 [kbts] Fix Indic stuff We were trying with 'dev3' tag and failing, as kbts only undersetands 'dev2' tags. Try all and stop at first accepted.
Behdad Esfahbod fa082b25 2025-07-23T15:17:48 [benchmark-shape] Warm up the font / buffer first
Garret Rieger dd347eb4 2025-07-23T19:22:19 [VARC] fix potential unitialized value use in get_extents_without_var_scaled. Callers of get_extents_without_var_scaled assume it will set extents if it has returned true.
Qunxin Liu 4b00cec0 2025-07-15T11:25:49 [subset] bug fix for COLRv1 layer index closure
Garret Rieger 04d60de6 2025-07-23T18:55:56 [CFF2] Fix fuzzer failure in CFF2. Fixes https://oss-fuzz.com/testcase-detail/5291661985120256
Khaled Hosny 7d219f0b 2025-07-23T14:22:32 [kbts] Add shaper
Khaled Hosny bb3a8394 2025-07-23T11:07:12 [kbts] Add dummy shaper Just the infrastructure to build the shaper.
Khaled Hosny ad7d4367 2025-07-23T19:31:45 [ci/linux] Enable kbts shaper
Khaled Hosny 16fe5422 2025-07-23T16:03:18 [kbts] Add some tests
Khaled Hosny 1e7b99c5 2025-07-23T15:30:02 [kbts] Support features Probably does too many reallocations, but it works.
Behdad Esfahbod 3a64fce9 2025-07-23T00:29:55 Merge branch 'main' into HVF
Behdad Esfahbod f63d960c 2025-07-22T16:59:48 Fix a MSVC warning re __has_builtin Fixes https://github.com/harfbuzz/harfbuzz/issues/5395
Caolán McNamara d7e0a6d5 2025-07-22T21:18:15 const up thai_below_start_state
Khaled Hosny c5047aa8 2025-07-22T11:18:48 [README] Use https link [ci skip]
Behdad Esfahbod 75bb916b 2025-07-21T22:49:03 [README] Update dead link
Behdad Esfahbod de2efbf3 2025-07-21T22:40:57 [glyf] Another OOM fix
Behdad Esfahbod c0052d17 2025-07-21T19:19:05 [ot-font] Handle scratch alloc failures Might fix https://issues.oss-fuzz.com/issues/433311403
Khaled Hosny 03387e3f 2025-07-21T09:16:07 [RELEASING] Update a bit
Khaled Hosny 2213eaaf 2025-07-21T08:17:12 [ci/crossbuild-mingw] Try to fix publishing binaries Remrove the verbose ls -R command that fails the build.
Behdad Esfahbod 4e3df1c1 2025-07-20T17:47:20 11.3.2
Behdad Esfahbod 8991fa7a 2025-07-20T18:12:25 [rust] Roll forward Give clippy more time.
Behdad Esfahbod 503ab00e 2025-07-20T16:51:10 Merge pull request #5394 from radarhere/patch-1 Corrected syntax
Andrew Murray b6552d7e 2025-07-21T08:44:24 Corrected syntax
Behdad Esfahbod 46aff9de 2025-07-20T15:50:28 [RELEASING] Minor wording
Behdad Esfahbod 95a15d53 2025-07-20T14:15:02 11.3.1
Behdad Esfahbod 2fa175ec 2025-07-20T14:14:35 [test] Fix compiler warning
Behdad Esfahbod 166e7024 2025-07-20T13:57:33 [font] Fix glyph_v_origin copy/pasta Ouch!
Khaled Hosny 56ca4d1a 2025-07-20T21:57:42 [ci/crossbuild-mingw] Run on tag pushes as well We need it to upload Windows binaries.
Khaled Hosny 30e7af11 2025-07-20T21:40:37 11.3.0
Khaled Hosny 639adcf2 2025-07-20T21:08:56 Fix missing REPLACEME version numbers from 11.2.0 release
Khaled Hosny 93b8f96c 2025-07-20T20:31:36 [ci/linux] Create new release as a draft.
Khaled Hosny 42d1aa8c 2025-07-20T20:37:16 [ci/linux] Simplify new release creation We don’t put release notes in tag message body, so no point in trying to extract something from it.
Khaled Hosny e6ae6db1 2025-07-20T20:29:02 [ci/linux] Enable write permission This is needed to create new releases.
Khaled Hosny 54d4a5a8 2025-07-20T20:17:46 [ci/linux] Remove unnecessary and verbose step from release upload No need to list the files or extract anything.
Khaled Hosny b63da39c 2025-07-20T20:07:30 [ci] Don’t run rust workflow on tag pushs Only the linux workflow needs to run for tags, as it is where we upload the releases.
Behdad Esfahbod fc86cd92 2025-07-20T10:39:29 [DeltaIndexMap] Add a HB_HOT
Behdad Esfahbod 4a497554 2025-07-20T10:08:25 Merge pull request #5392 from harfbuzz/v-origin-cleanup [ot-font] advances and v-origin cleanup
Behdad Esfahbod bc51ad67 2025-07-20T02:58:47 [DeltaIndexMap] Micro-optimize
Behdad Esfahbod a6f20aa4 2025-07-20T02:43:54 [VarData] Optimize get_delta if column-count is zero This is common in certain workloads.
Behdad Esfahbod fd2c0469 2025-07-20T02:35:39 [ot-font] Minor, call methods directly
Behdad Esfahbod 307a19f2 2025-07-20T00:32:45 [glyf] Minor micro-optimize
Behdad Esfahbod 0ce2b74f 2025-07-19T20:45:50 [gvar] Don't store deltas not needed For phantoms-only case. 30% speedup on v-advances func's slowest codepath (using phantom-points).
Behdad Esfahbod fed65c8b 2025-07-19T15:35:20 [ot-font] Mark a function hot
Behdad Esfahbod 57083f26 2025-07-19T15:23:33 [ot-font] Use varStore-cache for VORG VVAR in v-origins
Behdad Esfahbod 8a7b9cf2 2025-07-19T15:17:08 [hvar] Remove dead code
Behdad Esfahbod f2a3ca72 2025-07-19T15:10:42 [ot-font] Speed up VORG codepath in v-origins
Behdad Esfahbod 62546424 2025-07-19T14:44:00 [font] Speed up non-synthetic v-origins
Behdad Esfahbod 4fd6345a 2025-07-19T14:42:40 [ot-font] Clean up cache invalidation Also, cache is_synthetic on font.
Behdad Esfahbod aee066bc 2025-07-19T14:21:17 [ot-font] Fix v-origins caching Negative numbers don't fit in the cache...
Behdad Esfahbod 8d87e3af 2025-07-19T14:16:03 [font] Typo in glyph_v_origins impl
Behdad Esfahbod 6bf2292d 2025-07-19T07:16:57 [ot-font] Comment
Behdad Esfahbod b3765e7c 2025-07-19T07:13:41 [benchmark-font] Call the plural glyph-v-origins API Ouch!
Behdad Esfahbod abcefb69 2025-07-19T06:57:03 [glyf] Remove dead code
Behdad Esfahbod d95faf90 2025-07-19T06:41:13 [ot-font] Cosmetic
Behdad Esfahbod 7a41150f 2025-07-19T06:36:13 [ot-font] Use glyf scratch in v-advances
Behdad Esfahbod ecc5c488 2025-07-19T06:30:02 [ot-font] Release v-origins caches
Behdad Esfahbod cbc928fa 2025-07-19T06:29:38 [benchmark-font] malloc hygiene
Behdad Esfahbod a40f85af 2025-07-19T06:18:06 [font] Acquire a scratch for v-origins Still too slow.
Behdad Esfahbod 76357479 2025-07-19T06:15:29 [glyf] Non-var-optimize a method
Behdad Esfahbod 0dc5f8a2 2025-07-19T06:07:37 [ot-font] Finish caching of v-origins On to benchmarking...
Behdad Esfahbod e697e4d3 2025-07-19T05:48:08 [ot-font] More baby steps towards caching v-origins
Behdad Esfahbod 9cd9057a 2025-07-19T05:28:48 [ot-font] More baby steps towards caching v-origins
Behdad Esfahbod df6c76dc 2025-07-19T04:46:59 [ot-font] Baby steps re glyph-v-origins batching
Behdad Esfahbod 486eb914 2025-07-19T04:36:14 [ot-font] Baby steps re batching glyph-v-origins
Behdad Esfahbod ebc61ec4 2025-07-19T04:33:35 [ot-font] Slow massaging of glyph-v-origins
Behdad Esfahbod da18bc05 2025-07-19T04:25:37 [docs] Fix build
Behdad Esfahbod 1f6fe465 2025-07-19T04:24:27 [ot-font] Switch to plural glyph-v-origins Still calls the singular slow version.
Behdad Esfahbod faa4472d 2025-07-19T03:12:19 [ot-shape] Use batch origin-changing callbacks Backends don't implement it yet.
Behdad Esfahbod 6eeb012e 2025-07-19T02:54:09 [font] Don't set origin values if returning false
Behdad Esfahbod 7d3f8ced 2025-07-19T02:53:03 [font] Minor refactor
Behdad Esfahbod 1835c088 2025-07-19T02:25:43 [font] Add get_glyph_[hv]_origins callbacks (plural) Unused so far, and unimplemented in backends.
Behdad Esfahbod afe6661b 2025-07-18T22:33:26 [docs] All callbacks return in scaled units "font units" is confusing in the context of scaled fonts.
Behdad Esfahbod ce4a0a3d 2025-07-18T00:13:31 [ot-font] Fix unused-label error...
Behdad Esfahbod fdf4c759 2025-07-17T23:40:41 [hmtx] Simplify get-leading code Can't return false. The false was being used before to mean "table not present". Handle that instead.
Behdad Esfahbod b359c83c 2025-07-17T23:27:27 [ot-font] Rewrite h/v-advance code Faster, better cached... 24% faster across the benchmarks for hmtx-only path. Comparing before to after Benchmark Time CPU Time Old Time New CPU Old CPU New ------------------------------------------------------------------------------------------------------------------------------------------------------------ BM_Font/glyph_h_advances/Roboto-Regular.ttf/ot -0.2410 -0.2411 2 1 2 1 BM_Font/glyph_h_advances/RobotoFlex-Variable.ttf/ot -0.2482 -0.2484 1 1 1 1 BM_Font/glyph_h_advances/RobotoFlex-Variable.ttf/var/ot -0.0296 -0.0296 48 47 48 47 BM_Font/glyph_h_advances/SourceSansPro-Regular.otf/ot -0.2412 -0.2416 2 2 2 2 BM_Font/glyph_h_advances/SourceSansPro-Regular.otf/var/ot -0.2381 -0.2384 2 2 2 2 BM_Font/glyph_h_advances/AdobeVFPrototype.otf/ot -0.2347 -0.2349 0 0 0 0 BM_Font/glyph_h_advances/AdobeVFPrototype.otf/var/ot -0.0343 -0.0346 2 2 2 2 BM_Font/glyph_h_advances/SourceSerifVariable-Roman.ttf/ot -0.2623 -0.2621 2 1 2 1 BM_Font/glyph_h_advances/SourceSerifVariable-Roman.ttf/var/ot -0.0388 -0.0401 24 23 24 23 BM_Font/glyph_h_advances/Comfortaa-Regular-new.ttf/ot -0.2396 -0.2394 1 1 1 1 BM_Font/glyph_h_advances/NotoNastaliqUrdu-Regular.ttf/ot -0.2344 -0.2346 2 1 2 1 BM_Font/glyph_h_advances/NotoSerifMyanmar-Regular.otf/ot -0.2366 -0.2367 1 1 1 1 OVERALL_GEOMEAN -0.1945 -0.1948 0 0 0 0
Behdad Esfahbod e0a06c94 2025-07-20T07:01:32 [algs] Mark bsearch as hot Doesn't make a difference in the generated code though.
Behdad Esfahbod 56f888ce 2025-07-20T06:58:36 [cache] Mark get/set as hot