src/OT/Layout/Common


Log

Author Commit Date CI Message
Qunxin Liu 192d264a 2025-03-25T13:32:01 [subset] remove divisions when computing the cost of binary search
Behdad Esfahbod 7a746c32 2025-02-05T19:38:25 [Coverage] Fix cache cost reporting
Behdad Esfahbod f22943a2 2025-02-05T18:51:11 [PairPos] Cache coverage as well Another 3% down in Roboto-Regular.
Behdad Esfahbod 3a9262cc 2023-11-04T12:52:46 [sanitize] More hb_barrier() annotations
Behdad Esfahbod 837885f0 2023-07-20T12:58:16 Revert "[sanitize/Coverage] Keep a map of sane coverages" This reverts commit a689114898cc3e8f1c6ba7cc49cd6c3639d91250.
Behdad Esfahbod 0ab90671 2023-07-20T12:57:16 [sanitize/Coverage] Keep a map of sane coverages Fonts like Gulzar reuse the same coverage over a thousand times sometimes. However, this doesn't speed up sanitize unfortunately. Looks like calling Coverage::sanitize() is already very fast. We're just doing A LOT of it. The map slowed it down in fact. A set was even slower. Going to revert.
Behdad Esfahbod 0b879afb 2023-07-07T22:35:43 [sanitize] Inline Coverage::sanitize
Behdad Esfahbod 67b16247 2023-06-07T16:15:48 [set] Simplify a few set iterations as range loop
Behdad Esfahbod 2f05c32c 2023-05-08T14:29:07 [Coverage] Minor access arrayZ directly in a couple places
Behdad Esfahbod 4ad443d5 2023-05-08T10:14:43 [Coverage/ClassDef] Don't call qsort if sorted already
Behdad Esfahbod 8df5cdbc 2023-05-07T15:49:50 [Coverage/ClassDef] Handle glyphID overflow in serialize
Behdad Esfahbod 71910fdf 2023-05-05T15:37:07 [Coverage] Remove unnecessary check
Behdad Esfahbod 1be39729 2023-05-04T13:18:34 [subset] Support unordered glyphlist in Coverage/ClassDef serialize
Behdad Esfahbod a8b8eb53 2023-05-01T16:56:29 [Coverage] Micro-optimize
Behdad Esfahbod af21ea35 2023-05-01T16:34:50 [Coverage/serialize] Micro-optimize
Behdad Esfahbod 0728098e 2023-01-10T10:18:29 [Coverage] Speed up subset for too-large Coverage tables Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54980
Behdad Esfahbod 301f6e4b 2022-12-04T11:46:10 [Coverage] Remove TODO
Behdad Esfahbod dbbb8e80 2022-12-04T11:13:39 Revert "[map] Add hb_map_filter_invalid" This reverts commit 8d7e92111786b21906157127c24b72b1e444e6e7. Surprisingly this slowed NotoNastaliqUrdu benchmark down by a couple percent instead of speeding it up.
Behdad Esfahbod 8d7e9211 2022-12-04T11:01:45 [map] Add hb_map_filter_invalid Use it in one place.
Behdad Esfahbod 41a8597f 2022-12-03T13:23:26 [layout] Simplify CoverageFormat2 intersects_coverage()
Behdad Esfahbod 1f4d8cca 2022-12-03T13:17:15 [CoverageFormat2] Optimize intersects()
Behdad Esfahbod 4d19c724 2022-12-03T09:57:29 [CoverageFormat1] Speed up intersects() Speeds up SourceHanSerif/10000 benchmark (not in test suite) by 32%!
Behdad Esfahbod 2a7a1d5a 2022-12-02T12:33:24 [Coverage] Avoid timeout on broken ranges Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53929
Behdad Esfahbod d2a2670e 2022-11-28T19:42:27 [iter] Simplify has() interface implementations
Behdad Esfahbod 6aaa1662 2022-11-24T14:58:42 [Coverage] Comment
Behdad Esfahbod 58a696d8 2022-11-22T12:56:05 More hb_memset
Behdad Esfahbod 02b76393 2022-10-29T11:15:03 [config] Re-enable BORING_EXPANSION Only the non-experimental parts (currently avar2) are enabled by default.
Behdad Esfahbod 8fb7cc1c 2022-08-05T11:49:29 [iter] Use && in is_sink_of uses
Behdad Esfahbod 9eab3ac7 2022-07-21T12:35:19 [CoverageFormat2] Remove hand-written loop While on a fuzzer-found test case (added) that loop was faster, on real fonts, including NotoNastaliq in our benchmark, it was actually slower, which intuitively I would have expected. Still no idea why on that fuzzer case it's faster though. :(
Behdad Esfahbod bbb4db90 2022-07-21T12:34:46 [Coverage/SingleSubst] Move hand-written loop to Coverage
Behdad Esfahbod 7b95783e 2022-07-21T12:18:51 [Coverage] Internal rename
Behdad Esfahbod afa65f29 2022-07-21T12:17:08 [Coverage] Minor type change
Behdad Esfahbod b38587aa 2022-07-21T12:14:06 [Coverage] Internal renames
Behdad Esfahbod 84d38df8 2022-07-21T12:12:04 [Coverage] Minor use range-based loop
Behdad Esfahbod b017b73f 2022-07-21T12:06:55 [Coverage] Minor remove a couple unnecessary as_array()'s
Behdad Esfahbod 9e650b4e 2022-07-21T12:01:52 [Coverage] Speedup intersect_set
Behdad Esfahbod 00dfbbce 2022-07-21T11:39:32 [Coverage] Rename and templatize intersected_coverage_glyphs
Behdad Esfahbod 02ca0254 2022-07-21T10:30:23 [layout] Add large_int to Types
Behdad Esfahbod cf123e6a 2022-07-21T10:21:57 [Coverage] Add get_population ()
Behdad Esfahbod 89de8c70 2022-07-18T13:07:29 [CoverageFormat2] Another fix for broken tables Fixes https://oss-fuzz.com/testcase-detail/6005342714068992
Behdad Esfahbod d8574b44 2022-07-17T18:44:27 [CoverageFormat2] Fix iterator to avoid infinite loop on invalid data. Fixes https://oss-fuzz.com/testcase-detail/5304497047470080
Garret Rieger d82ace5c 2022-07-13T23:00:01 [reorg] add TODO to RangeRecord.
Garret Rieger c1e280ea 2022-07-13T22:43:38 [reorg] Move Coverage, RangeRecord into new namespace layout.