Log

Author Commit Date CI Message
Behdad Esfahbod 0fceaef0 2023-06-30T08:50:49 [benchmark-subset] Report in microseconds, not milli We're in that range now. :)
Behdad Esfahbod 547dc1a4 2023-06-30T08:48:43 [benchmark-font] Add load_face_and_shape benchmark To measure face-loading performance
Behdad Esfahbod fcf70af1 2023-06-30T08:43:10 [perf] Fix break
Behdad Esfahbod 794fac32 2023-06-29T20:55:52 [glyf] Minor another range for loop
Behdad Esfahbod 0ae16766 2023-06-29T20:38:42 [CompositeGlyph] Minor use a range for loop
Behdad Esfahbod 05c01ad5 2023-06-29T16:49:20 [SimpleGlyph] Minor use a range for loop
Behdad Esfahbod 4123e0c7 2023-06-29T16:27:35 [path-builder] Speed up mid-point calculation
Behdad Esfahbod 73376b24 2023-06-29T16:14:45 [subset/cff1] More error handling
Behdad Esfahbod cc44b3bc 2023-06-29T16:12:10 [subset/cff1] Handle an error condition Fixes https://oss-fuzz.com/testcase-detail/5191907895279616
Behdad Esfahbod fc38c01a 2023-06-29T15:29:15 Minor inline a function
Behdad Esfahbod a520177e 2023-06-29T14:56:05 [gvar] Remove unnecessary initialization
Behdad Esfahbod ca44c38c 2023-06-29T14:41:21 Add HB_ALWAYS_INLINE With MSVC implementation as well.
Behdad Esfahbod 0a00dc0c 2023-06-29T14:17:47 [draw] Add a few unlikely's
Behdad Esfahbod 2d9c3da0 2023-06-29T13:31:11 [draw] Inline more functions
Behdad Esfahbod 17f29c81 2023-06-29T13:27:09 [benchmark_font/draw_glyphs] Implement quadratic_to Not interested in the fallback implementation here.
Behdad Esfahbod d26b3ade 2023-06-29T13:25:52 [draw-session] Inline small functions
Behdad Esfahbod 7aba1e6d 2023-06-29T12:44:34 [cache] Minor use a range for loop
Behdad Esfahbod afae537c 2023-06-29T12:42:44 [cache] Minor remove .init() Use constructor.
Behdad Esfahbod c49ca371 2023-06-29T12:38:45 [Glyph] Minor micro-optimize away a function call For when coords are not set.
Behdad Esfahbod 5fb7b02a 2023-06-29T12:28:43 [CompositeGlyph] Minor use range loop
Behdad Esfahbod 20b32b04 2023-06-29T12:08:11 [SimpleGlyph] Micro-optimize phantom_only
Behdad Esfahbod d1660eaf 2023-06-29T11:59:03 [subset/cff] Minor use HB_OPTIMIZE_SIZE_VAL
Behdad Esfahbod 04809ede 2023-06-29T11:58:53 [CompositeGlyph] Micro-optimize translate()
Behdad Esfahbod 229db973 2023-06-29T11:54:10 [CompositeGlyph] Minor use vector::push()
Behdad Esfahbod 75101802 2023-06-29T10:54:49 [CompositeGlyph] Micro-optimize
Behdad Esfahbod e9d74d6b 2023-06-29T10:53:52 [SimpleGlyph] Minor add an unlikely to error condition
Behdad Esfahbod 6abca413 2023-06-29T10:39:49 [path-builder] Micro-optimize No need to initialize these when has_data=false.
Behdad Esfahbod 5703c1c4 2023-06-29T10:35:23 [path-builder] Add a couple of unlikely's
Behdad Esfahbod f5eead04 2023-06-28T15:07:15 [glyf/gvar] Optimize getting variable phantom points Used when there's no HVAR table and get_h_advance(). I see some 10% speedup with a SourceSerifVariable-Roman with the HVAR table removed.
Behdad Esfahbod e42d6df5 2023-06-28T14:25:11 [glyf] Minor refactor a couple of lines and micro-optimize
Behdad Esfahbod c31471d1 2023-06-28T13:51:54 [glyf] Micro-optimize
Behdad Esfahbod 83d75d5e 2023-06-28T13:35:24 [glyf] always_inline consume_point 7% speedup in: BM_Font/draw_glyph/Roboto-Regular.ttf/hb
Behdad Esfahbod 8795cced 2023-06-28T13:29:29 Revert "[SimpleGlyph] Avoid branches in read_points" This reverts commit ba062c713e469f91f57f3c85990f721789ec7c2a.
Behdad Esfahbod ba062c71 2023-06-28T13:24:37 [SimpleGlyph] Avoid branches in read_points Calculate total bytes in read_flags and bounds-check once. This slows things down apparently, so going to revert.
Behdad Esfahbod 62f5ed46 2023-06-28T12:02:52 [subset/cff] Fix an infinite loop Fixes https://oss-fuzz.com/testcase-detail/5419002026131456
Chun-wei Fan 87b57361 2023-06-28T15:38:40 README.python.md: Add some notes for Windows Note that the DLLs for HarfBuzz and its deps must be found %PATH% on Windows so that pygobject is able to import and use HarfBuzz in Python scripts. Also note that for Visual Studio builds, it is recommended that Visual Studio 2019 or later is used for the build, possibly in regards with how the preprocessor handles C++ code when running g-ir-scanner.
أحمد المحمودي (Ahmed El-Mahmoudy) 10b9ca54 2023-06-28T07:46:33 Fix typo: subtitution -> substitution
Behdad Esfahbod 73a82af1 2023-06-27T17:05:22 [subset/cff] Remove stale wrong code With my recent rewrite of serialize_header, this seems to work now.
Behdad Esfahbod 158eba66 2023-06-27T16:22:54 [subset/cff] Fix compiler error About variable with internal linkage with no definition.
Behdad Esfahbod b0472199 2023-06-27T16:07:54 [subset/cff1] Micro-optimize code Let compiler see whether optional argument is present.
Behdad Esfahbod 1cabb65b 2023-06-27T16:01:17 [subset/cff] Micro-optimize CFFIndex::serialize_header Unfortunately hb_array_t::begin/end are faster than its _begin/_end. As such, a range loop on array itself is faster than range loop on pipeline starting with array. Rework code to loop on the array always.
Behdad Esfahbod dfaf9cd5 2023-06-27T14:56:32 [subset/cff1] Minor optimize
Behdad Esfahbod 41f85d01 2023-06-27T12:50:04 [benchmark-font] Add RobotoFlex We didn't have a variable TTF before!
Behdad Esfahbod 585c8426 2023-06-27T11:28:38 [subset/cff1] Minor micro-optimize
Behdad Esfahbod 00904503 2023-06-27T08:18:18 [config] Graduate avar2 from boring-expansion
Behdad Esfahbod 3edd6cdc 2023-06-27T06:56:00 [vector] Minor micro-optimize shrink_vector The compiler seems to understand this pattern better.
Behdad Esfahbod aed21563 2023-06-26T22:51:50 [subset/cff1] Micro-optimize
Behdad Esfahbod 40a1c08f 2023-06-26T19:03:04 [subset/cff1] Micro-optimize
Behdad Esfahbod bd3e7877 2023-06-26T18:55:39 [subset/cff1] Reuse a function
Behdad Esfahbod ffd23d3a 2023-06-26T18:54:06 [subset/cff1] Micro-optimize Charset serialization
Behdad Esfahbod 452557cd 2023-06-26T18:40:54 Replace a free with hb_free Ouch.
Behdad Esfahbod 1fc128f6 2023-06-26T18:34:27 Replace a few memset/memcpy's with hb_ equivalents
Behdad Esfahbod 2c359635 2023-06-26T18:28:11 [face-builder] Don't zero allocation We overwrite it.
Behdad Esfahbod 347b9448 2023-06-26T18:09:40 [null] Fix getting Crap(hb_bytes_t) Fixes https://oss-fuzz.com/testcase-detail/6187272924692480
Behdad Esfahbod 49c52fa9 2023-06-26T17:55:29 [cmap] Don't zero a few allocations unnecessarily
Behdad Esfahbod e4b2d9c3 2023-06-26T17:52:37 [pool] Don't clear unused memory
Behdad Esfahbod 6129702e 2023-06-26T17:34:54 [subset/cff] Simplify some allocation embedding
Behdad Esfahbod 99db06b4 2023-06-26T17:30:31 [var] Simplify a couple of copy operations
Behdad Esfahbod 73bcd3f2 2023-06-26T17:24:40 [var] Adjust a few allocations to not clean space Since we immediately copy.
Behdad Esfahbod b1e7e8ba 2023-06-26T17:19:45 [algs] Fix return of hb_memset()
Behdad Esfahbod c2bab073 2023-06-26T16:34:53 [subset/cff] Minor optimization
Behdad Esfahbod 570fb4df 2023-06-26T16:26:12 [subset/cff] Add a vector pre-alloc
Behdad Esfahbod e447d394 2023-06-26T16:02:41 [subset/cff1] Micro-optimize
Behdad Esfahbod 50499e9e 2023-06-26T15:32:27 [subset/cff1] Minor use rvalues in a few vector push() places
Behdad Esfahbod e5b3d4b1 2023-06-26T14:24:38 [subset/cff1] Minor use ?:
Behdad Esfahbod 81e2db7c 2023-06-26T14:17:44 [subset/cff1] Speed up plan_subset_charset
Behdad Esfahbod d3f90a8c 2023-06-26T14:02:26 [subset/cff] Use a typedef for glyph_to_sid_map_t
Behdad Esfahbod 6783701b 2023-06-26T12:31:22 [subset] Handle an error condition Fixes https://oss-fuzz.com/testcase-detail/6306810588692480
Behdad Esfahbod 7d3d157d 2023-06-26T12:02:21 [subset/cff] Speed up hb_plan_subset_cff_fdselect
Behdad Esfahbod f79d961a 2023-06-26T11:32:37 [vector] Speedup push()
Behdad Esfahbod b4b80bca 2023-06-26T11:29:32 [subset/cff1] Speed up plan_subset_charset
Behdad Esfahbod 7305ec47 2023-06-26T12:35:03 Merge pull request #4300 from pnacht/scorecard-action Add Scorecard action
arch1t3cht 4a628b23 2023-06-26T15:19:29 [meson] Remove incorrect option for ICU subproject Fixes #4298 .
Pedro Nacht 3bdb8639 2023-06-26T11:25:10 Add Scorecard badge to README
Pedro Nacht 27ef6c08 2023-06-26T11:22:18 Create scorecard.yml
Behdad Esfahbod 6c4f975d 2023-06-25T23:37:08 Add a fuzzer font
Behdad Esfahbod 87f1b80d 2023-06-25T23:14:01 [bimap] Write with a map & vector combo Faster for getting keys. Speeds up 10% in: BM_subset/subset_glyphs/RobotoFlex-Variable.ttf/retaingids/10
Behdad Esfahbod e7ad017c 2023-06-25T22:25:24 [subset/cff] Allocate more memory for retain-gids To avoid serializing twice. 20% speedup in: BM_subset/subset_glyphs/SourceSansPro-Regular.otf/retaingids/10
Behdad Esfahbod 30f1ab86 2023-06-25T19:29:03 [subset/cff1] Fix typo
Behdad Esfahbod 7c7db0fc 2023-06-25T19:07:40 [subset/cff1] Minor shuffle code around
Behdad Esfahbod 1e09ebeb 2023-06-25T18:24:42 [subset/cff1] Minor use vector length instead of map population
Behdad Esfahbod 23109dde 2023-06-25T18:21:57 [subset/cff1] Minor use an exact allocation
Behdad Esfahbod 393f0f9f 2023-06-25T18:14:56 [map] Rename resize() to alloc() Better matches the functionality, and hb_vector_t.
Behdad Esfahbod 793f663b 2023-06-25T17:33:57 [vector] Speed up hb_vector_t<hb_array_t<U>>
Behdad Esfahbod 289bad82 2023-06-25T17:26:40 [subset/cff1] Minor use a dagger
Behdad Esfahbod 31d971d1 2023-06-25T17:23:52 [vector] Sprinkle std::addressof
Behdad Esfahbod c03c0a9d 2023-06-25T17:13:59 [subset/cff1] Remove unnecessary remap_sid_t::reset The object is initialized automatically.
Behdad Esfahbod 6ed0d04b 2023-06-25T17:10:36 [subset/cff1] In remap_sid_t::reset(), reset everything Previous code wasn't resetting next=0; tests were passing. It's always called when sidmap is empty. So, redundant, but keeping as is.
Behdad Esfahbod 7e97233c 2023-06-25T17:06:02 [subset/cff1] Comment
Behdad Esfahbod 86a550dc 2023-06-25T17:01:40 [subset/cff1] Speed up string writing
Behdad Esfahbod dc1b1724 2023-06-25T16:35:36 [subset/cff1] Minor reuse a returned value
Behdad Esfahbod 95341bcc 2023-06-25T16:31:54 [subset/cff1] Minor use {} initialization syntax
Behdad Esfahbod be0cec28 2023-06-25T16:01:13 [map] Micro-optimize iteration Make is_real() faster (removes a shift). is_used() gets inlined so is not slowed down by this change.
Behdad Esfahbod 9dbea607 2023-06-25T14:28:02 [subset/cff1] Fix resource leak in error case
David Corbett e310473c 2023-06-24T21:50:58 [use] Allow multiple CMAbv glyphs on subjoined
Behdad Esfahbod d4bbe3f4 2023-06-23T18:13:30 [subset/cff] Reuse a calculate index total data size
Behdad Esfahbod ec0fbf8f 2023-06-23T16:13:13 [subset/ClassDef] Micro-optimize use_class_zero calc Probably never matters.
Behdad Esfahbod b557a841 2023-06-23T15:31:54 [algs] Speed up fasthash for aligned uint64_t
Behdad Esfahbod fc80d20c 2023-06-23T15:21:30 [serialize] Only hash at most 128 bytes for object_t Optimization. Shouldn't in reality bring down the hash performance. Byte objects differ in their early bytes anyway.
Behdad Esfahbod 19eb5e3b 2023-06-23T15:12:13 [subset/cff1] Micro-optimize Charset::serialize