Michiharu Ariza
8798416587
fixed vstem handling (lack thereof) in check_width
...
bug exposed by U+2261 equivalence in SourceCodePro-Regular.otf
2018-11-09 08:59:18 -08:00
Michiharu Ariza
1bc710a8c9
added CFF1 desubr api test cases & bug fixes
2018-11-02 15:28:01 -07:00
Michiharu Ariza
049ce078e5
fix bogus width with --no-hinting
2018-11-01 08:46: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
be746009e9
dropped support of legacy CFF CharString ops
...
along with test & font
2018-10-25 13:40:40 -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
7d99a6cef8
overhauled error handling in CFF interpreter
...
minimized "if (error) return false" idiom
2018-10-12 02:16:07 -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
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
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
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
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
c4ae426a3d
treat h/vstem the same as h/vstemhm
2018-08-16 00:59:46 -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