src/hb-set-digest.hh


Log

Author Commit Date CI Message
Behdad Esfahbod b13017e6 2025-02-09T08:00:18 Use HB_ALWAYS_INLINE instead of bare __attribute__ The former works on MSVC too.
Behdad Esfahbod 97db7bb2 2025-02-06T11:01:59 [set-digest] Cosmetic
Behdad Esfahbod 6091abcc 2025-02-06T02:40:24 [buffer] Avoid a copy in collect_codepoints()
Behdad Esfahbod 4818ba9e 2025-02-06T01:50:12 [set-digest] Yet another tuning Saves 5% on SF Pro while regressing 2% on Roboto.
Behdad Esfahbod 63c92d5a 2025-02-06T00:52:41 [set-digest] always-inline
Behdad Esfahbod d712a028 2025-02-06T00:43:10 [set-digest] Back to a 3-entry, with different parameters now We used to use 4,0,9 for years. Now 3,0,6. It is slightly faster and shouldn't regress common fonts. The rationale is that OT GSUB/GPOS are split by script, so any particular script is not likely to use more than a few thousands of (consecutive mostly) glyphs. The exception is CJK of course, but those have less GSUB/GPOS work.
Behdad Esfahbod f5fe66cf 2025-02-06T00:36:58 [set-digest] Minor sanity
Behdad Esfahbod ad7f428b 2025-02-05T16:44:04 [set-digest] Comment
Behdad Esfahbod 7862c7c5 2025-02-04T21:37:27 Rename a method again
Behdad Esfahbod 80bbb0b2 2025-02-04T18:42:33 [set-digest] Rename a method
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 e2ab6c7b 2024-05-12T15:25:13 [kern/kerx] Add accelerator and set-digest filtering
Behdad Esfahbod 23e4a3cf 2024-05-12T10:49:46 [aat/morx] Add an accelerator
Behdad Esfahbod 51582558 2024-05-11T09:25:22 [set-digest] Add operator []. Also auto-initialize
Behdad Esfahbod e8948d63 2023-07-02T15:35:18 [set-digest] Micro-optimize more
Behdad Esfahbod cb73ba71 2023-07-02T15:27:26 [set-digest] Fixup for previous commit
Behdad Esfahbod 918ad892 2023-07-02T14:54:24 [set-digest] Early terminate add_range() if we're full
Behdad Esfahbod 859f7d41 2023-04-28T12:22:11 [set-digest] Comment
Behdad Esfahbod afa71ee8 2022-11-16T16:22:45 Fix alignment error
Behdad Esfahbod 15b6c325 2022-11-16T15:59:13 [layout] Use a buffer digest for GPOS to skip whole lookups
Behdad Esfahbod a053b84c 2022-11-16T14:39:25 [gsubgpos] Optimize set-digest initialization Previously we were once collecting set-digest for each subtable, and another time for each lookup. Now we compute the one for each lookup simply from the ones for its subtables.
Behdad Esfahbod 20654cd8 2022-11-16T14:15:58 [set-digest] Minor no logic change
Behdad Esfahbod 95b9763d 2022-11-16T14:15:01 [set-digest] Minor simplify
Behdad Esfahbod d4ddb3ac 2022-06-08T11:45:14 Comments typos
Behdad Esfahbod 6a1edb8c 2022-06-08T11:38:17 [set-digest] One more rename
Behdad Esfahbod 6453737b 2022-06-08T11:37:12 [set-digest] Rename lowest_bits to bits_pattern
Behdad Esfahbod 2a061cb9 2022-06-08T11:35:50 [set-digest] Improve documentation
Behdad Esfahbod b6fed6f7 2022-05-29T06:33:34 [set-digest] Minor don't use !! when auto bool conversion happens
Behdad Esfahbod 3b2929e8 2021-09-21T12:21:02 [set-digest] Use using instead of typedef
Behdad Esfahbod d3a2f999 2021-04-02T08:32:41 Fix up build This was left out; oops.
Behdad Esfahbod f3980975 2019-01-25T16:08:25 More static constexpr
Behdad Esfahbod 70a52d6b 2019-01-22T12:15:23 Convert all other enum class consts to static constexpr Fixes https://github.com/harfbuzz/harfbuzz/issues/1553
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Behdad Esfahbod 9e4138c8 2018-11-29T15:01:10 Convert misc "static const" constants to enum
Behdad Esfahbod 35d410f2 2018-10-29T14:45:44 Remove ASSERT_POD Newer compilers / language allows structs with constructor in union. So, this was not actually testing anything. Indeed, the recent change in DISALLOW_COPY *is* making some of our types non-POD. That broke some bots. Just remove this since it wasn't doing much, and I'd rather have DISALLOW_COPY.
Behdad Esfahbod 606bf574 2018-09-16T19:33:48 Revert forcing use of single-parameter static_assert() Some clang versions define static_assert as a macro apparently, so we cannot redefine it... This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11. This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.
Behdad Esfahbod 4e626278 2018-09-16T18:09:36 Enforce single-param static_assert() only So we don't accidentally break it again.
Behdad Esfahbod fda994e1 2018-09-07T15:02:57 Use enum instead of "static const" in class scope Technically, static const needs an out-of-class definition. Eg: CXXLD libharfbuzz-subset.la Undefined symbols for architecture x86_64: "OT::FeatureVariationRecord::min_size", referenced from: bool OT::GSUBGPOS::subset<OT::PosLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o bool OT::GSUBGPOS::subset<OT::SubstLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o "OT::Record<OT::LangSys>::min_size", referenced from: OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o "OT::IntType<unsigned short, 2u>::min_size", referenced from: OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o OT::RecordListOf<OT::Feature>::subset(hb_subset_context_t*) const in libharfbuzz_subset_la-hb-subset.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[4]: *** [libharfbuzz-subset.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Exited with code 2
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.