I have a code that extracts Type2 CharStrings from embedded FontFile stream. The problem is that I don't know how to process some of the arguments. For example for char "r" I have code (all arguments already converted to real numbers according to specs:
-235( = glyph width) 21 -21 404 77 -14 20 hstemhm
74 80 hintmask 69
333 472 rmove
5 -9 -17 4 -18 hhcurve
-70 -42 -28 -68 -23 hvcurve
37(?) 82 -80 -467 80 202 vline
69(?) 151 51 51 68 14 14 -3 -8 13 vhcurve
endchar
I have added (?) to the arguments I am having problems with. I guess these numbers are somehow related to hintmask, but in specs I can't find any rules how to process them or at least how will I know if it's a mask or regular argument for operator? if mask has to appear before each operator then why it does not appear before hhcurve and hvcurve? If these 2 bytes disappeared I would have perfect "r", but with leading "37" line build with vline changes its direction to horizontal.