Log

Author Commit Date CI Message
Behdad Esfahbod 9704f835 2022-12-04T13:58:52 Merge branch 'config-header'
Behdad Esfahbod c1aae14a 2022-12-04T13:53:55 [features.h] Fix autotools build rules
Behdad Esfahbod 0545949f 2022-12-04T12:44:09 [gvar] Minor use array get_size()
Behdad Esfahbod 1bd38651 2022-12-04T12:29:23 [bit-set] Micro-optimize page_for
Behdad Esfahbod b182e280 2022-12-04T12:22:17 [bit-set] Don't clear pages when copying set
Behdad Esfahbod f5307c3b 2022-12-04T11:54:16 [map] Speed up is_real()
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.
David Corbett 260df1fa 2022-12-04T12:25:22 [indic] Support <U+0A02, U+0A40>
Behdad Esfahbod 8b533763 2022-12-03T15:58:12 Use hb_len() instead of .len()
Behdad Esfahbod e28e2dad 2022-12-03T15:56:43 [VarData] Don't clear memory we are going to fill in completely
Behdad Esfahbod 0e13b4ab 2022-12-03T15:50:24 [VarData] Optimize main loop slightly
Behdad Esfahbod ad17c0ac 2022-12-03T14:56:57 [VarData] Whitespace
Behdad Esfahbod e7eb445d 2022-12-03T14:56:00 [VarData] Optimize longWord calculation
Behdad Esfahbod f2c980be 2022-12-03T14:49:38 [VarData] Optimize wordCount calculation 6% speedup in RobotoFlex-Variable/900 benchmark.
Behdad Esfahbod 3641b0e0 2022-12-03T14:26:21 [VarData] Optimize serialize()
Behdad Esfahbod e155f123 2022-12-03T14:14:39 [VarData] Minor save a variable
Behdad Esfahbod 5596a730 2022-12-03T13:33:48 [layout] Speed up ClassDefFormat2 intersects
Behdad Esfahbod 85e7263b 2022-12-03T13:28:02 [VariationStore] Minor access array directly
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 c482b061 2022-12-03T13:14:31 [gpos] Optimize PairPosFormat1::intersects
Behdad Esfahbod 58e9df13 2022-12-03T13:04:00 [Device] Serialize VariationDevice zerocopy
Behdad Esfahbod 071a2bb4 2022-12-03T13:03:38 [serialize] Support zerocopy while sharing
Behdad Esfahbod 44a5de3a 2022-12-03T12:50:32 [Device] Save a snap/revert
Behdad Esfahbod 93328ced 2022-12-03T12:49:26 [Device] Save a map get()
Behdad Esfahbod 630b874a 2022-12-03T12:13:15 [gsubgpos] Add a cache to intersected_class_glyphs 30% gain on subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/1400.
Behdad Esfahbod c044f4af 2022-12-03T11:58:04 [gsubgpos] Remove wrong const
Behdad Esfahbod 2680be1f 2022-12-03T11:53:14 [gsubgpos] Don't set unnecessary funcs
Behdad Esfahbod 023f595d 2022-12-03T11:18:05 [cmap] Speed up DefaultUVS::copy even more Another 14% on SourceHanSerifVF/10 benchmark.
Behdad Esfahbod 4ca61051 2022-12-03T11:15:06 [cmap] Remove double-min
Behdad Esfahbod cd29147e 2022-12-03T10:41:42 [cmap] Minor cast
Behdad Esfahbod 4cdb5cc6 2022-12-03T10:40:24 [cmap] Minor change iterator
Behdad Esfahbod 2cdaedaf 2022-12-03T10:16:35 Use hb_enumerate in more places
Behdad Esfahbod 02bc4dd6 2022-12-03T10:07:16 Use hb_enumerate instead of hand-coding
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 a2d33779 2022-12-03T09:49:00 Fix arm bot build
Behdad Esfahbod dabbf13d 2022-12-03T09:46:11 [cmap] Speed up DefaultUVS::copy
Qunxin Liu 8eadb836 2022-11-10T10:33:26 [subset] Update hb_subset_input_override_name_table API Override the name string for the NameRecord identified by name_id, platform_id, encoding_id and language_ids specified by the user. If a record with specified name_id does not exist, this API will create a new NameRecord with provided info and insert it to the name table.
Behdad Esfahbod 29903f46 2022-12-02T17:45:01 [benchmark-subset] Cache (preprocessed) face amongst runs
Behdad Esfahbod 3fb4ea29 2022-12-02T17:08:31 Merge pull request #3914 from harfbuzz/multimap [multimap] Add a multimap datastructure & use for gid-to-unicodes subset accelerator
Behdad Esfahbod ddeac365 2022-12-02T16:51:07 [test-multimap] More tests
Behdad Esfahbod ff419789 2022-12-02T16:25:26 [subset-plan] Sort unicode_to_new_gid_list when needed
Behdad Esfahbod 1a40da4a 2022-12-02T16:13:37 [subset-plan] Use add_array instead of add_sorted_array That vector is not declared as sorted.
Behdad Esfahbod 32e049a3 2022-12-02T16:09:10 [subset-plan] Use gid-to-unicodes multimap One test fails. Need investigation.
Behdad Esfahbod da7961b2 2022-12-02T16:08:40 .
Behdad Esfahbod 7d6893a8 2022-12-02T15:50:52 [subset-accelerator] Cache gid-to-unicodes
Behdad Esfahbod 10c8fc55 2022-12-02T15:34:34 [multimap] Add a multimap datastructure
Behdad Esfahbod a42fc8ec 2022-12-02T15:41:18 [subset-accelerator] Adjust in_error()
Behdad Esfahbod 65d96303 2022-12-02T14:59:26 [subset-cff2] Whitespace
Behdad Esfahbod b33297ee 2022-12-02T14:43:37 [cff2] Remove unused typedef
Behdad Esfahbod 3ade2ffa 2022-12-02T14:26:36 [serialize] Adjust pop_discard for zerocopy
Behdad Esfahbod 043eeb29 2022-12-02T13:58:36 [subset-cff] Optimize encode_subrs Don't loop over all original subrs. Just walk over closure subrs.
Behdad Esfahbod 0ad5977c 2022-12-02T13:41:06 [subset-cff] Simplify hinting processing We already have drop_hints in the params.
Behdad Esfahbod 16cbe41b 2022-12-02T12:43:13 Merge pull request #3910 from googlefonts/repacker_fuzz [repacker] Add a fuzzer for the hb-subset-repacker api.
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 c755b388 2022-12-01T20:02:38 [subset-cff] Pre-alloc enough for check-less copy
Behdad Esfahbod 062e59ae 2022-12-01T19:43:48 [subset-cff] Optimize vector allocation for preprocessed input
Behdad Esfahbod 8e9e94db 2022-12-01T19:40:21 Revert "[vector] Optimize grow_vector() for size" This reverts commit 1dd9396c7a4c24fe9d578551fab735bdd699e52a. Is faster indeed. 15% on SourceHanSans/10000 benchmark.
Behdad Esfahbod 2644540a 2022-12-01T18:49:09 [subset-cff] Compact parsed strings if using accelerator Saves 32% on SourceHanSans/10000 benchmark! Also, use memcmp now for writing out strings since now that our ops are not super short, that's faster. This makes cff-japanese test takes super long though; that needs inspection.
Behdad Esfahbod c9476527 2022-12-01T21:48:35 [subset-cff] Micro-optimize
Behdad Esfahbod a24d4e92 2022-12-01T20:27:56 [array] Oops. Fix memcpy copy()!
Behdad Esfahbod 5e41766b 2022-12-01T20:19:04 [array] Fix hb_bytes_t memcpy copy Wasn't being used!
Behdad Esfahbod a5616227 2022-12-01T20:11:34 [subset-cff] Fix buffer size calculation
Behdad Esfahbod 015af5a8 2022-12-01T20:08:59 [subset-cff] Write a couple loops as range-based for
Behdad Esfahbod bfbbd4af 2022-12-01T20:05:20 [subset-cff] Copy str for call ops
Behdad Esfahbod 6012d3b2 2022-12-01T17:33:53 [subset-cff] Write out charstrings zerocopy to serializer
Garret Rieger 16f61a1c 2022-12-01T23:57:30 [repacker] only build repacker fuzzer when experimental api is enabled.
Behdad Esfahbod 36e1a633 2022-12-01T16:52:29 [cff] Add total_size to INDEX
Behdad Esfahbod 38430006 2022-12-01T16:48:22 [serialize] Add start_zerocopy()
Garret Rieger de5a6213 2022-12-01T23:37:16 [repacker] enforce root node having no incoming edges.
Behdad Esfahbod a2681c37 2022-12-01T16:09:03 [cff-subset] Simplify INDEX serialize() more
Behdad Esfahbod c4b05878 2022-12-01T15:56:37 [subset-cff] Remove INDEX unused serialize() methods
Behdad Esfahbod b3ad4d72 2022-12-01T15:46:00 [cff] Another no-memset in INDEX
Behdad Esfahbod 5fd2f255 2022-12-01T15:18:59 [open-type] Don't memset 0 in serialize for ArrayOf family Not necessary.
Garret Rieger 30e405e4 2022-12-01T22:12:59 [repacker] ensure link obj indices are valid.
Behdad Esfahbod 70ac6dfb 2022-12-01T14:56:28 [subset-cff] Don't memset 0 INDEX and other serialize methods Not necessary.
Garret Rieger 554ed06f 2022-12-01T21:51:17 [repacker] add cycle detection to the graph sort. This allows us to bail early if the graph is not acyclic.
Behdad Esfahbod a66de336 2022-12-01T14:32:13 [vector] Minor use get_size() in as_bytes()
Behdad Esfahbod 0b826368 2022-12-01T14:23:25 [serializer] Don't memset memory in embed Not necessary.
Behdad Esfahbod 3b68c714 2022-12-01T14:19:27 [array] Don't clear serializer buffer when copying out Not needed.
Behdad Esfahbod 57808609 2022-12-01T14:03:56 [VarData] Move an unlikely
Garret Rieger 9e99d084 2022-09-08T23:19:02 [repacker] validate link widths during repacker setup.
Garret Rieger edf7a295 2022-09-08T22:59:34 [repacker] Validate link positions before running the repacker.
Garret Rieger 88d43752 2022-09-08T21:19:25 [repacker] add test for repacker fuzzer.
Garret Rieger 6627a1ab 2022-09-08T21:11:39 [repacker] Add a initial seed for the fuzzer repacker.
Garret Rieger deca30b2 2022-09-08T21:10:06 [repacker] get repacker fuzzer working. Additionally add helper method that allows a graph to be saved as a fuzzer seed.
Garret Rieger 261a605f 2022-09-07T22:43:06 [repacker] verify graph is a dag before using the fuzzer input.
Garret Rieger 985b19f6 2022-09-07T22:21:16 [repacker] begin implementing a fuzzer for the repacker api.
Matthias Clasen c6d616cc 2022-10-17T22:41:51 Generate and install hb-features.h This header has defines for all the optional dependendencies that come with their own Harfbuzz headers, so you can do: #include <hb-features.h> #ifdef HB_HAS_DIRECTWRITE #include <hb-directwrite.h> #endif
Behdad Esfahbod 8805a866 2022-11-30T17:15:00 [ClassDef2] Write a few loops as range-based for
Behdad Esfahbod ac8b232a 2022-11-30T16:42:15 [gsub] Cache intersects_class results for closure Benchmark Time CPU Time Old Time New CPU Old CPU New ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/10 +0.0246 +0.0240 0 0 0 0 BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/64 -0.5541 -0.5544 4 2 4 2 BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/512 -0.1120 -0.1123 43 38 43 38 BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/1400 -0.1154 -0.1159 43 38 43 38
Behdad Esfahbod 20a0a467 2022-11-30T15:59:54 [perf] Remove stale run.sh
Behdad Esfahbod 38e7bc34 2022-11-30T15:01:38 [benchmark-subset] Support testing arbitrary fonts from cmdline
Behdad Esfahbod c6a4b601 2022-11-30T14:09:59 [gsubgpos] Add an unlikely
Behdad Esfahbod d4dec54c 2022-11-30T13:51:14 [ci] Switch configs build to Ubuntu 20.04 https://github.com/actions/runner-images/issues/6002
Behdad Esfahbod 52d8346d 2022-11-30T13:50:16 [ci] Change Linux runner to Ubuntu 20.04 https://github.com/actions/runner-images/issues/6002
Behdad Esfahbod 32dd9810 2022-11-30T13:15:58 [subset-cff1] Cache glyph-to-sid-map in the accelerator Benchmark Time CPU Time Old Time New CPU Old CPU New --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10 -0.0841 -0.0843 0 0 0 0 BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/64 -0.1305 -0.1305 0 0 0 0 BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/512 -0.1398 -0.1401 1 1 1 1 BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/4096 +0.0382 +0.0380 9 9 9 9 BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10000 +0.0213 +0.0211 11 11 11 11
Behdad Esfahbod 72fabef0 2022-11-30T11:37:49 [SingleSubstFormat2] Speed up closure