src/hb-cff2-interp-cs.hh


Log

Author Commit Date CI Message
Behdad Esfahbod cc0451c9 2025-03-20T19:58:37 [cff2] Malloc-free draw of var blends
Behdad Esfahbod 6ef69f74 2024-05-07T10:43:48 [cff2] Minor init
Behdad Esfahbod 1cb47eff 2024-02-06T14:49:31 Rename VariationStore to ItemVariationStore
Behdad Esfahbod cb320d22 2023-07-27T10:43:07 Revert "[cff] Use float instead of double" This reverts commit c8f67ac28eb18e65adda75818e2c472ad3936874. Tests failing.
Behdad Esfahbod c8f67ac2 2023-07-27T10:34:45 [cff] Use float instead of double Reduces memory usage slightly.
Behdad Esfahbod 76879c57 2023-01-06T11:47:04 [subset-cff] Minor hide num_coords again
Behdad Esfahbod 576b36a3 2023-01-06T11:40:21 [cff2] Undo rounding change in draw() codepath
Behdad Esfahbod 4867e0b1 2023-01-06T11:39:13 [subset-cff2] Faster instancing Instantiate blends during parsing. Dedups code as well.
Behdad Esfahbod c632a164 2023-01-06T11:01:25 [subset/cff] Support instancing
Behdad Esfahbod 8f2345ca 2023-01-02T18:08:45 Use more vector resize_exact
Behdad Esfahbod b1c4cb0c 2023-01-01T18:41:19 [cff2] Use a shrink instead of resize Such that we can free the allocation.
Behdad Esfahbod b803024c 2022-12-31T12:40:07 [cff2] Another exact-size allocation
Behdad Esfahbod 3d4659be 2022-12-31T12:38:58 [cff2] Use exact-size vector allocation for blends
Behdad Esfahbod b33297ee 2022-12-02T14:43:37 [cff2] Remove unused typedef
Behdad Esfahbod 70d97d07 2022-11-26T15:16:11 [subset-cff] Remove unused argument
Behdad Esfahbod 4167e93a 2022-11-26T15:14:52 [subset-cff2] Micro-optimize blend operator
Behdad Esfahbod f159bf07 2022-11-26T15:11:32 [cff2] Micro-optimize blend operator
Behdad Esfahbod bff78e65 2022-05-10T16:33:37 [cff] Convert interpretation environment to use constructor
Behdad Esfahbod 0a42410d 2022-05-10T12:05:19 [cff2] Change extents/shape stack to be just a number Do the blending immediately. Fixes https://github.com/harfbuzz/harfbuzz/issues/3559 Benchmark on AdobeVFPrototype shows 35% speedup. Now we're faster than FreeType: Benchmark Time CPU Time Old Time New CPU Old CPU New ------------------------------------------------------------------------------------------------------------------------------------------------ BM_Font/glyph_extents/AdobeVFPrototype.otf/hb -0.3792 -0.3792 1584 983 1581 982 BM_Font/glyph_extents/AdobeVFPrototype.otf/ft +0.0228 +0.0224 1220 1248 1218 1245 BM_Font/glyph_extents/AdobeVFPrototype.otf/var/hb -0.3513 -0.3518 1616 1048 1613 1046 BM_Font/glyph_extents/AdobeVFPrototype.otf/var/ft +0.0172 +0.0169 1232 1254 1230 1251
Behdad Esfahbod 8aa54aac 2022-05-09T16:09:56 [cff] Replace byte_str_t with hb_bytes_t use
Behdad Esfahbod 29f60d1e 2022-01-18T11:58:16 [cff] Remove init/fini from blend_arg_t
luz paz e2e30506 2022-01-16T07:00:53 Fix various typos Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne`
Behdad Esfahbod ff1fe25a 2021-07-28T18:02:52 [VarStore] Rename internal get_scalars() to get_region_scalars()
Ebrahim Byagowi efd716de 2020-07-31T08:58:53 [cff] Check for scalars array resize result Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24504
Ebrahim Byagowi d0e2addd 2020-07-18T22:14:52 minor
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 5f23a76e 2020-02-24T08:23:23 [cff] Don't remove coords const qualification We should find some way to audit all the const removals, perhaps by enabling -Wold-style-cast warning on the project and turning all the implicit const removals to const_cast.
Michiharu Ariza 01832fd1 2019-06-26T15:58:38 alternate fix for https://crbug.com/971933
Ebrahim Byagowi 92588782 2019-04-30T13:05:10 Remove space between right angle brackets now that we have C++11 (#1689)
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
Behdad Esfahbod f1e95e40 2018-12-18T16:49:08 [arrays] Remove hb_supplier_t<>
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 59345cde 2018-12-06T13:36:26 [CFF] Refix oss-fuzz 11714: set_blends (PR #1458) (#1460) * pass subarray of stack to set_blends * get_subarray to return a value, not ref * restored error check (with tweak)
Michiharu Ariza 14d29a10 2018-12-05T21:33:29 check number of blends against args on stack
Michiharu Ariza c48f53d3 2018-12-03T16:59:41 more double changes
Michiharu Ariza 5fff6ab0 2018-12-03T16:06:58 additional precision made a difference in extents test
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 9784cff5 2018-11-30T16:07:08 fix another pesky gcc error
Michiharu Ariza 0dfa584c 2018-11-12T08:47:07 changed Adobe company name
Michiharu Ariza e0c30b96 2018-11-07T15:08:55 merge with cff-subset branch
Michiharu Ariza 0996c0ff 2018-11-07T14:48:37 implented no-desubroutinize with CFF2 along with API test replaced AdobeVFPrototype.abc.otf with a hinted (maually) & subroutinized copy replaced expected results as well
Michiharu Ariza ae8fd0db 2018-11-07T09:16:12 clear stack after vsindex op
Michiharu Ariza 2840a104 2018-11-01T16:18:13 tweaks to build with new merge
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 7d99a6ce 2018-10-12T02:16:07 overhauled error handling in CFF interpreter minimized "if (error) return false" idiom
Michiharu Ariza af61c3b1 2018-10-10T18:35:12 added vsindex test & fixed process_vsindex
Michiharu Ariza df964a09 2018-10-08T15:38:05 fixed test-subset-cff2
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 76e54d2b 2018-09-21T12:16:36 fixed subroutinized CFF2 flattening and some code cleanup
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 5ea03d29 2018-09-04T11:29:15 fix build by untemplatizing DictOpSet & DictVal as they aren't instantiated with BlendArg (yet)
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 9fd08cc2 2018-08-29T18:18:18 CFF2 subroutine flattner Factored out CFF1 & CFF2 common subsetting code in hb-subset-cff-common.hh
Michiharu Ariza 8af9690a 2018-08-29T13:26:17 Merge branch 'master' into cff-subset Renamed cff "private" source/headers without the suffix
Michiharu Ariza a11420b4 2018-08-29T12:14:30 Subroutine flattener for CFF1 Subr-flattened charstrings are temporarily re-encoded in ByteStrBuff during "plan" phase, then copied to hb_serialize_context_t during "write" phase CSOpSet may callback opcode processing "virtual" functions via CRTP Numer struct may store a value as fixed optionally in addition to int and float
Michiharu Ariza cef75ea4 2018-08-17T13:13:18 Added CFF2 Subr nullifier along with CFF2 charstring interpreter factored out common code between CFF1 & CFF2 to CSInterpreter moved fetch_op from Interpreter to InterpEnv misc code clean up & bug fixes