In function CFF_Parse_CharStrings(), added support for deprecated

operator "dotsection".

Submitted by Sander van der Wal <svdwal@xs4all.nl>
This commit is contained in:
Tom Kacvinsky 2001-03-16 13:35:56 +00:00
parent 90e4b6b8e5
commit 941099e1e5
1 changed files with 29 additions and 3 deletions

View File

@ -74,6 +74,7 @@
cff_op_hintmask,
cff_op_cntrmask,
cff_op_dotsection,
cff_op_abs,
cff_op_add,
@ -152,6 +153,7 @@
0, /* hintmask */
0, /* cntrmask */
0, /* dotsection */
1, /* abs */
2,
@ -841,6 +843,9 @@
switch ( v )
{
case 0:
op = cff_op_dotsection;
break;
case 3:
op = cff_op_and;
break;
@ -1061,16 +1066,37 @@
case cff_op_hintmask:
case cff_op_cntrmask:
FT_TRACE4(( op == cff_op_hintmask ? " hintmask"
: " cntrmask" ));
decoder->num_hints += num_args / 2;
#ifdef FT_DEBUG_LEVEL_TRACE
{
FT_UInt maskbyte;
FT_TRACE4(( " " ));
for ( maskbyte = 0; maskbyte < ( decoder->num_hints + 7 ) >> 3 ; maskbyte++, ip++ )
{
FT_TRACE4(( "%02X", *ip ));
}
}
#else
ip += ( decoder->num_hints + 7 ) >> 3;
#endif
if ( ip >= limit )
goto Syntax_Error;
args = stack;
break;
case cff_op_dotsection:
FT_TRACE4(( " dotsection" ));
break;
case cff_op_rmoveto:
FT_TRACE4(( " rmoveto" ));