src/hb-ot-cff1-table.hh


Log

Author Commit Date CI Message
Behdad Esfahbod b59e25f2 2022-06-07T09:27:09 [cff] Try fixing Heap-buffer-overflow in CFF::Charset::collect_glyph_to_sid_map Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47790
Garret Rieger 98aaecd3 2022-06-01T21:01:16 [subset] fix data race touching Crap() in cff subsetting.
Behdad Esfahbod 0919eaa6 2022-05-24T13:07:24 [ot-font] Remove lock around cache Not needed.
Behdad Esfahbod 3b28cff9 2022-05-26T04:42:17 [cff1] Fix null dereference on memory alloc failure
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 b87f48e9 2022-05-16T16:33:31 [cff1] get_sid() move bounds check into each implementation
Behdad Esfahbod 3fbac094 2022-05-16T15:41:11 [cff1] Lazy-load & sort glyph names Improves subset benchmarks by up to 70% for small CFF1 subset of non-CID fonts! BM_subset/subset_glyphs/SourceSansPro-Regular.otf/10 -0.7067 -0.7071 1 0 1 0 BM_subset/subset_glyphs/SourceSansPro-Regular.otf/64 -0.4817 -0.4824 1 0 1 0 BM_subset/subset_glyphs/SourceSansPro-Regular.otf/512 -0.1948 -0.1956 2 2 2 2 BM_subset/subset_glyphs/SourceSansPro-Regular.otf/2000 -0.0767 -0.0761 6 6 6 6
Behdad Esfahbod b46c7faa 2022-05-13T14:02:54 [cff] Check buf_len, not buf Ouch!
Garret Rieger 19a8db85 2022-05-13T18:05:05 [subset] fix potential integer overflow in gname_t::cmp.
Behdad Esfahbod a2f132f1 2022-05-13T13:49:17 [cff] Check glyph-name's length, not arrayZ As the latter can be non-null while still zero-length.
Behdad Esfahbod bff78e65 2022-05-10T16:33:37 [cff] Convert interpretation environment to use constructor
Behdad Esfahbod 8aa54aac 2022-05-09T16:09:56 [cff] Replace byte_str_t with hb_bytes_t use
Behdad Esfahbod fe1d85a5 2022-05-09T16:04:52 [cff] Remove custom byte_str_t impl
Behdad Esfahbod 370bec93 2022-02-04T18:40:44 [draw] Rename internal draw_session_t to hb_draw_session_t
Behdad Esfahbod c681331c 2022-02-03T14:36:12 [draw] Rename internal draw_helper_t to draw_session_t
Behdad Esfahbod dd7b6e2c 2022-02-02T14:46:10 [draw] Remove EXPERIMENTAL_API tag
Behdad Esfahbod a8b7f188 2022-01-21T07:38:33 [cff] Initialize accelerator members
Behdad Esfahbod ac1bb3e3 2022-01-20T11:47:17 [machinery] Move accelerators to constructor/destructor
Behdad Esfahbod e062376e 2022-01-19T17:09:34 [machinery] Make accelerator lazy-loader call Xinit/Xfini Instead of init/fini. To isolate those functions. To be turned into constructor/destructors, ideally one per commit (after some SFINAE foo.)
Behdad Esfahbod 4eb6e6ea 2022-01-18T12:07:05 [cff] Remove some more fini_deep()
Behdad Esfahbod f0a1892f 2021-07-28T17:36:22 [serialize] Remove unnecessary pointer indirection
Garret Rieger deee24fb 2021-07-14T13:46:36 [subset] Add missing FontName op code in top dict parsing. Fix for #3058
Behdad Esfahbod c539afb0 2021-03-31T13:28:25 [CFF] Use NNOffsetTo<> instead of OffsetTo<> I'm pretty sure that's what is intended.
Garret Rieger d307c24a 2020-07-29T12:23:37 [ENOMEM] check resize() return. Fixes https://oss-fuzz.com/testcase-detail/5641892164009984.
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
ariza 22f7c61a 2020-04-17T23:49:51 implement SID to glyph ID mapping with predefined Charset Also fixes oss-fuzz 21769
Ebrahim Byagowi 755a77d6 2020-01-29T22:26:04 Move outline draw API behind HB_EXPERIMENTAL_API directive
ariza 0b290538 2020-03-04T22:31:21 removed unused code
ariza e8f010d7 2020-03-04T16:54:27 removed unused code & data; rename
ariza c05458ec 2020-03-02T16:51:19 update cff & cff2 subsetters
Ebrahim Byagowi 9fe0dc34 2020-02-26T17:40:44 [draw] Pass draw_helper_t itself around instead recreating it Specially helpful if we want to change the design
Ebrahim Byagowi 8c652f72 2020-02-19T16:32:44 Minor, switch to https links where possible
Ebrahim Byagowi 25707e37 2020-02-05T00:27:28 [cff] minor
ckitagawa 0d61926c 2020-02-04T13:36:51 [subset] Keep head when no glyf table
ariza 2792fb8b 2020-02-02T22:00:53 first rewrite of cff/cff2 _subset with _subset2
Ebrahim Byagowi ac81e940 2020-01-28T12:34:47 Rename hb_outline_decompose to hb_font_draw_glyph and hb_outline_decompose_funcs_t to hb_draw_funcs_t
Ebrahim Byagowi 981125aa 2020-01-25T21:31:36 Rename hb_ot_glyph_* to hb_outline_*
Ebrahim Byagowi ec1fba13 2020-01-13T19:31:18 [ot-glyph] make hb_ot_glyph_decompose_funcs_t struct opaque
Ebrahim Byagowi 084a8182 2020-01-10T22:14:46 [ot-glyphs] Move CFF glyph decompose logic to their tables Thus making path decompose zero alloc on CFF/CFF2
Ebrahim Byagowi 5cc09c46 2019-10-20T16:24:14 [ot-glyph] Initial cff1 support
Ebrahim Byagowi ce114d6b 2019-12-31T15:53:02 minor, tweak spaces
Ebrahim Byagowi 33c3d63a 2019-12-31T13:52:50 Merge pull request #1594 from harfbuzz/var-subset Issue 1558: [subset] TrueType/CFF2 variable font
blueshade7 ff64652c 2019-11-19T18:50:57 fix shape-fuzzer failure
blueshade7 61707266 2019-11-19T17:09:12 fix get_sid crash
blueshade7 4c4e08a1 2019-11-19T16:50:28 add cff1::accelerator_t::fini
blueshade7 ff87465b 2019-11-19T16:18:33 add get_glyph_from_name & test. use hb_string_array
blueshade7 51e77285 2019-11-17T02:25:39 minor
blueshade7 6d9eb9c0 2019-11-17T02:20:22 fixed failure with language-tags.tests
blueshade7 59fe3797 2019-11-16T19:47:31 fixed hb-shape-fuzzer failures in get_sid
blueshade7 e26df436 2019-11-16T19:12:34 fix test-ot-face crash
blueshade7 7b49042e 2019-11-16T18:20:16 add cff1::get_glyph_name
Ebrahim Byagowi 453050ad 2019-10-13T08:38:56 Merge remote-tracking branch 'upstream/master' into var-subset
Ebrahim Byagowi d73cdcf3 2019-10-06T18:09:14 [ot-font] Apply font scaling before turning to int
Ebrahim Byagowi 19d45dca 2019-10-03T13:39:17 Merge remote-tracking branch 'upstream/master' into var-subset
Ebrahim Byagowi 0558413f 2019-10-01T13:49:55 Minor, tweak spaces
Behdad Esfahbod 0e294c45 2019-09-06T16:54:27 Rename VAR to HB_VAR_ARRAY
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
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 0ca7ad43 2019-05-20T11:39:07 [cff] Fix unlikely invocations
Behdad Esfahbod b2ab15a7 2019-05-13T23:47:28 Fix more warnings
Michiharu Ariza 1223a352 2019-04-29T16:43:48 Merge branch 'master' into var-subset
Michiharu Ariza 267fb9c7 2019-04-18T15:17:10 add spaces
Michiharu Ariza ba038606 2019-04-18T14:53:35 fix oss-fuzz issue 14345
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 261a7421 2019-01-23T14:04:29 more rewriting with ArrayOf<> CFF1 Encoding0, Encoding1, CFF1SuppEncData
Behdad Esfahbod ef006549 2019-01-22T12:08:57 Convert tag enum class consts to static constexpr Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod 6d042a18 2019-01-20T19:49:59 [CFF] Use enum for tableTag
Behdad Esfahbod cf7edf52 2019-01-20T19:49:59 [CFF] Use enum for tableTag
Behdad Esfahbod d25a2f14 2018-12-23T20:19:52 Fix a few warnings
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 33358624 2018-12-11T12:20:20 minimize use of assert: removed or changed to error handling (#1467)
Michiharu Ariza 4d809696 2018-12-07T20:49:39 fix for issue #1447 (#1462) Added case for OpCode_BaseFontName. This opcode in spec but practically unused. Added a comment for default case which can't be hit
Michiharu Ariza 6dcfda92 2018-12-05T15:07:46 sanitize CFF1 & CFF2 global subrs
Ebrahim Byagowi 79e7e344 2018-12-05T13:25:18 Merge pull request #1449 from harfbuzz/cff-fixcharset [CFF] fix for oss-fuzz 11657: Charset overrun
Michiharu Ariza d3d2f32c 2018-12-04T13:51:26 fix oss-fuzz 11657: buffer overrun Check overrun in Charset1_2::get_glyph
Michiharu Ariza 803d2f92 2018-12-04T11:01:26 Merge branch 'master' into cff-leak
Michiharu Ariza 6ce8d10b 2018-12-04T10:39:17 add unlikely to error handling
Michiharu Ariza 0b952e60 2018-12-04T10:22:35 more leak fixes
Michiharu Ariza 9473463f 2018-12-04T09:58:48 fix attempt for oss-fuzz 11662 leak
Michiharu Ariza 04f2ca94 2018-12-04T09:24:07 removed assert
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 23a797b4 2018-11-30T15:15:31 silence picky gcc errors
Michiharu Ariza ecdb77f0 2018-11-15T10:54:15 fixed CFF1 subset of std encoding & non-std charset combo