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
2018-12-11 15:21:24 -05:00
Michiharu Ariza
333586245c
minimize use of assert: removed or changed to error handling ( #1467 )
2018-12-11 15:20:20 -05:00
Behdad Esfahbod
825df6dbc7
[CFF] Change spaces to tabs
2018-11-30 23:04:59 -05:00
Behdad Esfahbod
592f39b3c4
[CFF] Whitespace
2018-11-30 22:54:57 -05:00
Michiharu Ariza
d8c6913765
undo 0u
2018-11-30 18:58:14 -08:00
Michiharu Ariza
9483da145d
redo fixes
2018-11-30 16:59:41 -08:00
Michiharu Ariza
b1821b9d09
some more
2018-11-30 16:31:01 -08:00
Michiharu Ariza
a6da9b9415
fixed Charset format selection
2018-11-16 17:29:03 -08:00
Michiharu Ariza
b6903bd6c4
ensure fdmap initialized as identity for single-FD (non-CID) fonts
2018-11-16 13:46:58 -08:00
Michiharu Ariza
b67a7c731f
drop dotsection as hint along with test case
2018-11-16 12:28:24 -08:00
Michiharu Ariza
9d0231cfe7
fixed a subset bug when no font dicts reduce
2018-11-15 15:39:43 -08:00
Michiharu Ariza
ecdb77f0ae
fixed CFF1 subset of std encoding & non-std charset combo
2018-11-15 10:54:15 -08:00
Michiharu Ariza
0dfa584cb4
changed Adobe company name
2018-11-12 08:47:07 -08:00
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
2018-11-03 22:42:22 -07:00
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
2018-11-03 15:41:29 -07:00
Michiharu Ariza
481fdfdc23
Merge branch 'cff-subset' of https://github.com/harfbuzz/harfbuzz into cff-subset
2018-11-02 15:28:09 -07:00
Michiharu Ariza
1bc710a8c9
added CFF1 desubr api test cases & bug fixes
2018-11-02 15:28:01 -07:00
Michiharu Ariza
6186dbf1be
added hb_subset_input_set_desubroutinize API
...
hooked up with CFF1 subroutinizer
a renaming
2018-11-01 17:25:23 -07:00
Michiharu Ariza
2840a104c1
tweaks to build with new merge
2018-11-01 16:18:13 -07:00
Michiharu Ariza
a9c305c2b0
fix leaks
2018-11-01 10:31:21 -07:00
Michiharu Ariza
d56e338a90
CFF1 no-desubroutinize + no-hinting
...
no-desubroutinize option is disabled for now
code cleanup (esp. CFF1 width handling)
bug fixes & renaming
2018-10-31 22:30:34 -07:00
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
2018-10-18 13:04:21 -07:00
Michiharu Ariza
9228db06f4
added CFF1 Expert Encoding subset test & bug fixes
2018-10-13 17:25:09 -07:00
Michiharu Ariza
b51418f596
added CFF2 get_extents
...
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
2018-10-08 15:05:36 -07:00
Michiharu Ariza
d7b384ad0d
silence warning ^3
2018-10-02 21:08:36 -07:00
Michiharu Ariza
e9cc71ac86
silence warning ^2
2018-10-02 20:44:30 -07:00
Michiharu Ariza
51d5bf4ca2
silence warnings
2018-10-02 14:38:06 -07:00
Michiharu Ariza
35b64dfb57
silence & fix new warnings
2018-10-02 14:13:36 -07:00
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
2018-09-18 17:24:30 -07:00
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
2018-09-17 11:14:56 -07:00
Michiharu Ariza
0f159a38a6
fixed serialize_fdselect_3_4
2018-09-12 16:08:54 -07:00
Michiharu Ariza
1608481d88
fixed bugs in Charset serialization
...
also some code cleanup
2018-09-12 13:22:19 -07:00
Michiharu Ariza
5b453f77f8
fixed off-by-one error with offSize
2018-09-11 16:20:39 -07:00
Michiharu Ariza
c6f75c3049
fix build attempt
2018-09-10 17:02:31 -07:00
Michiharu Ariza
cc52e53cf0
Removed unused subr subset code
2018-09-10 16:27:49 -07:00
Michiharu Ariza
1666b89e30
subset CFF1 String Index
...
Repurposed FDMap as Remap then subclassed for remapping SIDs
misc code cleanup
2018-09-10 16:00:20 -07:00
Michiharu Ariza
2a74536aae
fix build attempt ^2
...
Added hb-ot-cff1-table.cc to hb-subset sources
Deleted unused variable (charset)
2018-09-06 18:26:13 -07:00
Michiharu Ariza
aca73c9df2
subset CFF1 Encoding & Charset
...
fixed misc Charset bugs
added source file hb-ot-cff1.table.cc
renamed things for clarity & consistency
2018-09-06 17:28:15 -07:00
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
2018-09-04 10:25:21 -07:00
Michiharu Ariza
fcf177885b
templatized ArgStack as a prep to store blends
2018-08-31 16:28:47 -07:00
Michiharu Ariza
968168bf0e
drop hints from CFF1 charstrings
...
renamed confusing Stack.size to Stack.count
2018-08-31 13:28:16 -07:00
Michiharu Ariza
8c5e03b541
Added drop_hints to SubrFlattener
2018-08-30 17:21:56 -07:00
Michiharu Ariza
9fd08cc238
CFF2 subroutine flattner
...
Factored out CFF1 & CFF2 common subsetting code in hb-subset-cff-common.hh
2018-08-29 18:18:18 -07:00
Michiharu Ariza
b95bf075d7
fix build attempt ^2
2018-08-29 14:41:52 -07:00
Michiharu Ariza
8af9690ac7
Merge branch 'master' into cff-subset
...
Renamed cff "private" source/headers without the suffix
2018-08-29 13:26:17 -07:00
Michiharu Ariza
0ad081ec32
attempt to fix build failure
2018-08-29 12:56:48 -07:00
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
2018-08-29 12:14:30 -07:00
Michiharu Ariza
5cde2f55cd
drop hints from CFF & CFF2 Private
2018-08-17 16:50:13 -07:00
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
2018-08-17 13:13:18 -07:00
Michiharu Ariza
e67bb3fbcf
renamed OT::cff to OT::cff1 for consistency
...
along with HB_OT_TAG_cff1
2018-08-16 00:25:57 -07:00
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
2018-08-16 00:13:09 -07:00