Michiharu Ariza
2941208f1e
[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
6 years ago
Michiharu Ariza
333586245c
minimize use of assert: removed or changed to error handling ( #1467 )
6 years ago
Behdad Esfahbod
825df6dbc7
[CFF] Change spaces to tabs
6 years ago
Behdad Esfahbod
592f39b3c4
[CFF] Whitespace
6 years ago
Michiharu Ariza
d8c6913765
undo 0u
6 years ago
Michiharu Ariza
9483da145d
redo fixes
6 years ago
Michiharu Ariza
b1821b9d09
some more
6 years ago
Michiharu Ariza
a6da9b9415
fixed Charset format selection
6 years ago
Michiharu Ariza
b6903bd6c4
ensure fdmap initialized as identity for single-FD (non-CID) fonts
6 years ago
Michiharu Ariza
b67a7c731f
drop dotsection as hint along with test case
6 years ago
Michiharu Ariza
9d0231cfe7
fixed a subset bug when no font dicts reduce
6 years ago
Michiharu Ariza
ecdb77f0ae
fixed CFF1 subset of std encoding & non-std charset combo
6 years ago
Michiharu Ariza
0dfa584cb4
changed Adobe company name
6 years ago
Michiharu Ariza
191ca0f15b
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
6 years ago
Michiharu Ariza
1da4de7e7b
fix for subset fuzzer failure
...
A called subr must be freshly parsed or completely parsed. otherwise the prevoius parse must have terminated prematurely
6 years ago
Michiharu Ariza
1bc710a8c9
added CFF1 desubr api test cases & bug fixes
6 years ago
Michiharu Ariza
6186dbf1be
added hb_subset_input_set_desubroutinize API
...
hooked up with CFF1 subroutinizer
a renaming
6 years ago
Michiharu Ariza
2840a104c1
tweaks to build with new merge
6 years ago
Michiharu Ariza
a9c305c2b0
fix leaks
6 years ago
Michiharu Ariza
d56e338a90
CFF1 no-desubroutinize + no-hinting
...
no-desubroutinize option is disabled for now
code cleanup (esp. CFF1 width handling)
bug fixes & renaming
6 years ago
Michiharu Ariza
8679d02b4b
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
6 years ago
Michiharu Ariza
9228db06f4
added CFF1 Expert Encoding subset test & bug fixes
6 years ago
Michiharu Ariza
b51418f596
added CFF2 get_extents
...
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
6 years ago
Michiharu Ariza
d7b384ad0d
silence warning ^3
6 years ago
Michiharu Ariza
e9cc71ac86
silence warning ^2
6 years ago
Michiharu Ariza
51d5bf4ca2
silence warnings
6 years ago
Michiharu Ariza
35b64dfb57
silence & fix new warnings
6 years ago
Michiharu Ariza
ebeccf3e63
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
6 years ago
Michiharu Ariza
c0c85b852d
implemented get_glyph_extents with CFF1
...
Implemented path operators in a new struct PathProc hooked up to CSOpSet
Added current point to CSInterpEnv
6 years ago
Michiharu Ariza
0f159a38a6
fixed serialize_fdselect_3_4
6 years ago
Michiharu Ariza
1608481d88
fixed bugs in Charset serialization
...
also some code cleanup
6 years ago
Michiharu Ariza
5b453f77f8
fixed off-by-one error with offSize
6 years ago
Michiharu Ariza
c6f75c3049
fix build attempt
6 years ago
Michiharu Ariza
cc52e53cf0
Removed unused subr subset code
6 years ago
Michiharu Ariza
1666b89e30
subset CFF1 String Index
...
Repurposed FDMap as Remap then subclassed for remapping SIDs
misc code cleanup
6 years ago
Michiharu Ariza
2a74536aae
fix build attempt ^2
...
Added hb-ot-cff1-table.cc to hb-subset sources
Deleted unused variable (charset)
6 years ago
Michiharu Ariza
aca73c9df2
subset CFF1 Encoding & Charset
...
fixed misc Charset bugs
added source file hb-ot-cff1.table.cc
renamed things for clarity & consistency
6 years ago
Michiharu Ariza
f2d299b0b7
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
6 years ago
Michiharu Ariza
fcf177885b
templatized ArgStack as a prep to store blends
6 years ago
Michiharu Ariza
968168bf0e
drop hints from CFF1 charstrings
...
renamed confusing Stack.size to Stack.count
6 years ago
Michiharu Ariza
8c5e03b541
Added drop_hints to SubrFlattener
6 years ago
Michiharu Ariza
9fd08cc238
CFF2 subroutine flattner
...
Factored out CFF1 & CFF2 common subsetting code in hb-subset-cff-common.hh
6 years ago
Michiharu Ariza
b95bf075d7
fix build attempt ^2
6 years ago
Michiharu Ariza
0ad081ec32
attempt to fix build failure
6 years ago
Michiharu Ariza
a11420b48c
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
6 years ago
Michiharu Ariza
5cde2f55cd
drop hints from CFF & CFF2 Private
6 years ago
Michiharu Ariza
cef75ea41a
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
6 years ago
Michiharu Ariza
e67bb3fbcf
renamed OT::cff to OT::cff1 for consistency
...
along with HB_OT_TAG_cff1
6 years ago
Michiharu Ariza
fdbfa1848b
renamed CFF version 1 structs and sources to CFF1 from CFF
...
"CFF" is used for shared structs & sources between CFF1 & CFF2
except OT:cff is for CFF version 1 table
6 years ago
Michiharu Ariza
7aa23f3597
fix build attempt ^4
6 years ago