src/hb-subset-cff1.cc


Log

Author Commit Date CI Message
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
Ebrahim Byagowi 92588782 2019-04-30T13:05:10 Remove space between right angle brackets now that we have C++11 (#1689)
Michiharu Ariza a1177fec 2019-03-29T08:43:47 Merge branch 'master' into var-subset rebase master
Behdad Esfahbod b986c6a3 2019-03-29T20:17:46 [C++11] Remove IntType::set() in favor of operator=
Michiharu Ariza f1e97c18 2019-02-25T09:59:27 renamed hb_map2_t to hb_bimap_h in its own .hh
Michiharu Ariza f289ffe5 2019-02-25T09:59:27 renamed hb_map2_t to hb_bimap_h in its own .hh
Michiharu Ariza c8420109 2019-02-20T15:48:29 subset HVAR Re-implemented & repurposed CFF:remap_t as hb_map2_t (moved to hb-ot-layout-common.hh) for two-way mapping for use by index map subsetting. Hooked up HVAR subsetter through _subset2. Some renaming in CFF code.
Michiharu Ariza d817b446 2019-02-25T09:59:27 renamed hb_map2_t to hb_bimap_h in its own .hh
Michiharu Ariza 09df17e7 2019-02-20T15:48:29 subset HVAR Re-implemented & repurposed CFF:remap_t as hb_map2_t (moved to hb-ot-layout-common.hh) for two-way mapping for use by index map subsetting. Hooked up HVAR subsetter through _subset2. Some renaming in CFF code.
Michiharu Ariza c1286265 2019-02-01T14:50:01 added desubroutinize & retain-gids full test cases with CFF fonts and CFF retain-gids fixes
Michiharu Ariza f2908b4d 2019-01-31T14:16:37 Implement subset --regain-gids option with CFF1/2 along with api tests & expected results
Garret Rieger 846e05a2 2019-01-28T16:50:20 [subset] Re-add glyphs array to subset plan, with new name 'glyphs_deprecated'. Switch CFF subsetting to use it.
Behdad Esfahbod 0b2fa342 2019-01-22T16:36:00 More of previous
Michiharu Ariza 760303d4 2019-01-11T15:27:35 deleted a duplicate fontdicts_mod.fini() call (#1538)
Michiharu Ariza 7b48641a 2019-01-08T12:37:48 fix leak in subset_enc_supp_codes (#1537) oss-fuzz issue 12310
Michiharu Ariza 29f0b6bc 2018-12-22T07:47:04 CFF renaming (#1507) * reimplement ByteStr as byte_str_t based on hb_ubytes_t Unuse start_embed<ByteStr> Also renamed SubByteStr to byte_str_ref_t More renaming to come * substr renamed to str_ref in line with its type byte_str_ref_t * uncamelize non-table struct names * uncamelized non-struct types OpCode etc * add byte_str_t copy ctor * test * test2 * undo tests * fix bot failure * undo the previous change * fixed tabs, added inline * Revert "fixed tabs, added inline" This reverts commit 21163c30e9d18759414f7fe2518628241599f039. * fix tabs
Behdad Esfahbod 474a1205 2018-12-21T18:46:51 [array/vector] Rename len to length
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)
Michiharu Ariza 2941208f 2018-12-11T12:21:24 [CFF] oss-fuzz issue 11690 ASSERT: substr.offset >= opStart (#1461) * fix oss-fuzz 11690: substr.offset >= opStart detect recursive subroutine call & handle as error * fix build failure * add minimized test case for oss-fuzz 11690 * removed asserts
Michiharu Ariza 33358624 2018-12-11T12:20:20 minimize use of assert: removed or changed to error handling (#1467)
Behdad Esfahbod 825df6db 2018-11-30T23:04:59 [CFF] Change spaces to tabs
Behdad Esfahbod 592f39b3 2018-11-30T22:54:57 [CFF] Whitespace
Michiharu Ariza d8c69137 2018-11-30T18:58:14 undo 0u
Michiharu Ariza 9483da14 2018-11-30T16:59:41 redo fixes
Michiharu Ariza b1821b9d 2018-11-30T16:31:01 some more
Michiharu Ariza a6da9b94 2018-11-16T17:29:03 fixed Charset format selection
Michiharu Ariza b6903bd6 2018-11-16T13:46:58 ensure fdmap initialized as identity for single-FD (non-CID) fonts
Michiharu Ariza b67a7c73 2018-11-16T12:28:24 drop dotsection as hint along with test case
Michiharu Ariza 9d0231cf 2018-11-15T15:39:43 fixed a subset bug when no font dicts reduce
Michiharu Ariza ecdb77f0 2018-11-15T10:54:15 fixed CFF1 subset of std encoding & non-std charset combo
Michiharu Ariza 0dfa584c 2018-11-12T08:47:07 changed Adobe company name
Michiharu Ariza 191ca0f1 2018-11-03T22:42:22 CFF1 no-desubr fixes make sure charstring/subrs not ending with endchar/return handled correctly if no local subrs, skip serializing Subrs op in Private misc fixes
Michiharu Ariza 1da4de7e 2018-11-03T15:41:29 fix for subset fuzzer failure A called subr must be freshly parsed or completely parsed. otherwise the prevoius parse must have terminated prematurely
Michiharu Ariza 481fdfdc 2018-11-02T15:28:09 Merge branch 'cff-subset' of https://github.com/harfbuzz/harfbuzz into cff-subset
Michiharu Ariza 1bc710a8 2018-11-02T15:28:01 added CFF1 desubr api test cases & bug fixes
Michiharu Ariza 6186dbf1 2018-11-01T17:25:23 added hb_subset_input_set_desubroutinize API hooked up with CFF1 subroutinizer a renaming
Michiharu Ariza 2840a104 2018-11-01T16:18:13 tweaks to build with new merge
Michiharu Ariza a9c305c2 2018-11-01T10:31:21 fix leaks
Michiharu Ariza d56e338a 2018-10-31T22:30:34 CFF1 no-desubroutinize + no-hinting no-desubroutinize option is disabled for now code cleanup (esp. CFF1 width handling) bug fixes & renaming
Michiharu Ariza 8679d02b 2018-10-18T13:04:21 implement flex ops for glyph extents/subset also removed unused CSInterpEnv::move_[xy]_with_arg fixed bug a width being left over on argStack with CFF1
Michiharu Ariza 9228db06 2018-10-13T17:25:09 added CFF1 Expert Encoding subset test & bug fixes
Michiharu Ariza b51418f5 2018-10-08T15:05:36 added CFF2 get_extents added source hb-ot-cff2-table.cc augmented VariationData to return scalars misc bug fixes, renaming, cleanup
Michiharu Ariza d7b384ad 2018-10-02T21:08:36 silence warning ^3
Michiharu Ariza e9cc71ac 2018-10-02T20:44:30 silence warning ^2
Michiharu Ariza 51d5bf4c 2018-10-02T14:38:06 silence warnings
Michiharu Ariza 35b64dfb 2018-10-02T14:13:36 silence & fix new warnings
Michiharu Ariza ebeccf3e 2018-09-18T17:24:30 fixed char widths & standard Encoding in subset CFF also merged flush_n_args to flush_args into one takes start index of the arguments on stack instead of count
Michiharu Ariza c0c85b85 2018-09-17T11:14:56 implemented get_glyph_extents with CFF1 Implemented path operators in a new struct PathProc hooked up to CSOpSet Added current point to CSInterpEnv
Michiharu Ariza 0f159a38 2018-09-12T16:08:54 fixed serialize_fdselect_3_4
Michiharu Ariza 1608481d 2018-09-12T13:22:19 fixed bugs in Charset serialization also some code cleanup
Michiharu Ariza 5b453f77 2018-09-11T16:20:39 fixed off-by-one error with offSize
Michiharu Ariza c6f75c30 2018-09-10T17:02:31 fix build attempt
Michiharu Ariza cc52e53c 2018-09-10T16:27:49 Removed unused subr subset code
Michiharu Ariza 1666b89e 2018-09-10T16:00:20 subset CFF1 String Index Repurposed FDMap as Remap then subclassed for remapping SIDs misc code cleanup
Michiharu Ariza 2a74536a 2018-09-06T18:26:13 fix build attempt ^2 Added hb-ot-cff1-table.cc to hb-subset sources Deleted unused variable (charset)
Michiharu Ariza aca73c9d 2018-09-06T17:28:15 subset CFF1 Encoding & Charset fixed misc Charset bugs added source file hb-ot-cff1.table.cc renamed things for clarity & consistency
Michiharu Ariza f2d299b0 2018-09-04T10:25:21 Drop hints from CFF2 charstrings Templatized ArgStack so it may store the default value along with blend deltas as BlendArg while parsing blend operator arguments in CFF2 charstring Added get_region_count() method to VarRegionList & VariationStore
Michiharu Ariza fcf17788 2018-08-31T16:28:47 templatized ArgStack as a prep to store blends
Michiharu Ariza 968168bf 2018-08-31T13:28:16 drop hints from CFF1 charstrings renamed confusing Stack.size to Stack.count
Michiharu Ariza 8c5e03b5 2018-08-30T17:21:56 Added drop_hints to SubrFlattener