src/hb-subset-cff1.cc


Log

Author Commit Date CI Message
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 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 585c8426 2023-06-27T11:28:38 [subset/cff1] Minor micro-optimize
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 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 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 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 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 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 9dbea607 2023-06-25T14:28:02 [subset/cff1] Fix resource leak in error case
Behdad Esfahbod d4bbe3f4 2023-06-23T18:13:30 [subset/cff] Reuse a calculate index total data size
Behdad Esfahbod b80b628a 2023-06-23T13:41:42 [subset/cff1] Speed up plan_subset_charset
Behdad Esfahbod 5f399139 2023-06-23T11:22:01 [subset/cff] Move lazy cff-accelerator to cff-subset-accelerator Fixes https://github.com/harfbuzz/harfbuzz/issues/4295
Behdad Esfahbod 97d63e8d 2023-06-23T10:43:34 [subset/cff] Move serialize to accelerator
Behdad Esfahbod 26f320dc 2023-06-23T10:24:32 [subset/cff] Remove unused method
Behdad Esfahbod 43ec78f9 2023-06-23T10:22:30 [subset/cff] Cache CFF accelerator in hb_subset_plan_t This shows 7% speedup in: BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/retaingids/10
Behdad Esfahbod f05561dd 2023-06-22T20:25:04 [subset-cff1] Use plan.num_glyphs instead of passing again
Behdad Esfahbod 7a124a0b 2023-06-22T20:18:20 [cff1] Use constructor for accelerator_templ_t
Behdad Esfahbod ad025ddf 2023-06-22T20:09:36 [subset-cff] Simplify a bit
Behdad Esfahbod 1159b9d3 2023-06-10T10:54:32 [subset/cff1] Remove always-true check
Behdad Esfahbod fad2c4ae 2023-06-10T10:22:27 [subset/cff] Simplify a few serialize calls
Behdad Esfahbod e0b60bd0 2023-06-07T17:25:47 [subset/cff1] Speed up remap_sids
Behdad Esfahbod acae5ed2 2023-06-06T16:18:44 [subset/cff1] Speed up sid mapping Don't need a full inc_bimap.
Behdad Esfahbod 9e80f6b1 2023-06-06T15:38:14 [subset/cff1] Speed up plan_subset_charset 25% speedup in --benchmark_filter=subset_glyphs/SourceSansPro'.*retaingids/10
Behdad Esfahbod 5676adef 2023-06-05T15:56:19 [subset/cff1] Remove an unneeded copy method Same as serializer embed().
Behdad Esfahbod 59387dbe 2023-06-05T14:47:27 [subset/cff] Speed up sid mapping
Behdad Esfahbod ffc6899b 2023-06-05T14:16:47 [subset/cff1] Use a vector, instead of map, for glyph_to_sid_map Much faster.
Behdad Esfahbod 90122925 2023-06-05T13:33:10 [subset/cff1] Minor speedup
Behdad Esfahbod 238cb0fb 2023-06-05T13:27:03 [subset/cff1] Speed up for retaingids
Behdad Esfahbod 9de413bf 2023-06-04T17:43:48 [subset/cff1] Micro-optimize
Behdad Esfahbod ca353e64 2023-06-04T17:25:29 [subset/cff1] Style
Behdad Esfahbod e077ca89 2023-06-04T16:23:36 [subset/cff] Micro-optimize
Behdad Esfahbod a24025c9 2023-06-04T16:15:43 [subset/cff1] Micro-optimize
Behdad Esfahbod 5a3ac0ab 2023-06-04T15:37:25 [subset/cff1] Another micro-optimization
Behdad Esfahbod 33139828 2023-06-04T15:33:22 [subset/cff1] Micro-optimize
Behdad Esfahbod 21ff023a 2023-06-04T14:08:24 [subset/cff1] Speed up encoding for retaingids
Behdad Esfahbod 31014832 2023-06-04T12:58:02 [cff1] More hygiene
Behdad Esfahbod bf0a08c9 2023-06-04T12:54:35 [cff1] Hygiene
Behdad Esfahbod 82741304 2023-06-04T09:41:41 [subset] start_embed never returns nullptr Remove checks.
Behdad Esfahbod b5792f11 2023-06-03T22:24:06 [subset] Reuse num_glyphs in various places
Behdad Esfahbod dff3a936 2023-06-03T22:00:28 [subset/cff1] Speed up for retaingids
Behdad Esfahbod fa8d15d5 2023-06-03T21:58:21 [subset/cff1] Reuse num_glyphs
Behdad Esfahbod f10a4c9d 2023-02-19T17:11:30 [cff] Rename encode_num to encode_num_cs
Behdad Esfahbod c65eb5a8 2023-02-19T15:15:57 [cff] Specialize cff_private_dict_op_serializer_t for CFF1/2
Behdad Esfahbod 6012d3b2 2022-12-01T17:33:53 [subset-cff] Write out charstrings zerocopy to serializer
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 cba82829 2022-11-28T16:19:54 [subset-cff1] Share subrs object Multiple FDs might share the same subrs...
Behdad Esfahbod 4f056b92 2022-11-21T21:37:38 [subset-cff] Optimize op_str_t layout
Behdad Esfahbod bab8ec58 2022-11-21T17:46:32 [subset-cff] Disable sharing when packing charstring INDEXes Saves another 8%ish.
Behdad Esfahbod a4d98b63 2022-05-16T17:02:40 [subset/cff1] Collect glyph-to-sid map to avoid an O(n^2) algorithm Saves 13 for largest benchmark: BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/10000 -0.1313 -0.1308 75 65 75 65 BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/4096 -0.1009 -0.1004 54 48 54 48 BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/10000 -0.1067 -0.1066 70 62 69 62
Behdad Esfahbod e1e359b4 2022-05-16T15:53:28 [cff1] Tighten up range_list_t a bit
Behdad Esfahbod 8aa54aac 2022-05-09T16:09:56 [cff] Replace byte_str_t with hb_bytes_t use
Behdad Esfahbod 07474aa8 2022-01-18T09:29:43 [subset-cff1] Remove a constructor/destructor pair
Behdad Esfahbod de2cef42 2022-01-18T09:21:31 [bimap] Remove init/fini
Behdad Esfahbod c3dd21f1 2022-01-18T09:11:08 [cff] Remove unneeded init/fini
Garret Rieger 46d4a5e6 2021-07-29T15:07:13 [subset] Convert subset plan to use a flags bit set.
Khaled Hosny 3e2734cf 2021-07-26T02:12:21 [docs] Don’t use GTK-Doc syntax for internal functions We don’t generate docs for them, reduces the number of warnings.
Andi-Bogdan Postelnicu 243d056f 2021-06-02T14:08:11 Removed unused variable `supp_size` from plan_subset_encoding(...).
Garret Rieger 32f052b0 2020-07-30T13:45:04 [ENOMEM] Fix several instances of not checking resize in CFF.
Ebrahim Byagowi 46ec6db9 2020-07-22T17:30:48 minor
Ebrahim Byagowi a2ce9688 2020-05-11T17:15:37 [cff] remove the not used member
Ebrahim Byagowi 2be859d2 2020-04-20T23:48:23 minor, replace nullptr checks with implicit ones
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Ebrahim Byagowi 8ca9df7a 2020-03-10T10:40:05 [subset] Remove not needed blob sanitize call
ariza 0b290538 2020-03-04T22:31:21 removed unused code
ariza e8f010d7 2020-03-04T16:54:27 removed unused code & data; rename
ariza 5935a1dc 2020-03-03T12:12:51 add pop_discard() calls to errror returns
ariza c05458ec 2020-03-02T16:51:19 update cff & cff2 subsetters
ariza 002f0e20 2020-02-27T17:34:26 reimplment serialize_int using check_assign()
ariza 2792fb8b 2020-02-02T22:00:53 first rewrite of cff/cff2 _subset with _subset2
Ebrahim Byagowi ce114d6b 2019-12-31T15:53:02 minor, tweak spaces
Ebrahim Byagowi 453050ad 2019-10-13T08:38:56 Merge remote-tracking branch 'upstream/master' into var-subset
Ebrahim Byagowi c7621cf2 2019-10-08T13:24:26 Minor, replace hb_set_add with private API
blueshade7 8bf989ea 2019-07-08T17:13:29 update from master
Michiharu Ariza 5763a927 2019-07-01T15:17:19 Merge branch 'master' into var-subset
Michiharu Ariza f3ee2bd0 2019-06-20T14:33:09 add ops & methods to hb_bimap_t making it more like hb_map_t moved has () to hb_bimap_t from hb_inc_bimap_t moved identity () to hb_inc_bimap_t removed forward()
Michiharu Ariza 09496695 2019-06-17T22:12:40 add hb_bimap_t, subclass hb_inc_bimap_t replacing CFF::remap_t
Behdad Esfahbod 737436d3 2019-06-18T13:07:44 Streamline HB_NO_CFF
Ebrahim Byagowi 9b853f75 2019-06-09T11:49:25 [cff] Use switch on multi-format structs (#1762)
Michiharu Ariza 4ddab6fa 2019-06-05T11:21:27 Merge branch 'master' into var-subset
Behdad Esfahbod b2ab15a7 2019-05-13T23:47:28 Fix more warnings
Behdad Esfahbod 7f6fca4e 2019-05-12T10:29:47 Force-disable CFF code under disabling conditions Subsetter size goes down from 190kb to 119kb. Main library about 7kb. Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 62dfe7ae 2019-05-10T23:17:15 [cff] Minor
Michiharu Ariza 02ae2591 2019-05-08T13:44:03 initialize return param subr_num in popSubrNum also snake_cased popSubrtNum and other surrounding function names