* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
messages. * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
This commit is contained in:
parent
1c09b9bd58
commit
90e4b6b8e5
|
@ -1,3 +1,10 @@
|
|||
2001-03-12 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
|
||||
messages.
|
||||
|
||||
* INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
|
||||
|
||||
2001-03-12 Tom Kacvinsky <tjk@ams.org>
|
||||
|
||||
* include/freetype/internal/psaux.h: Changed the lenIV member of
|
||||
|
|
4
INSTALL
4
INSTALL
|
@ -5,8 +5,8 @@ directory. This is only a quick starter.
|
|||
I. From the command line
|
||||
------------------------
|
||||
|
||||
You need to have GNU Make (version 3.78 or newer) installed on your
|
||||
system to compile the library from the command line. This will
|
||||
You need to have GNU Make (version 3.78.1 or newer) installed on
|
||||
your system to compile the library from the command line. This will
|
||||
_not_ work with other make tools (including BSD make)!
|
||||
|
||||
[Well, this is not really correct. Recently, a perl implementation
|
||||
|
|
|
@ -13,8 +13,8 @@ instructions on how to compile the library on your favorite platform.
|
|||
I. QUICK COMMAND-LINE GUIDE
|
||||
---------------------------
|
||||
|
||||
Install GNU Make (version 3.78 or newer), then try the following on
|
||||
Unix or any system with gcc:
|
||||
Install GNU Make (version 3.78.1 or newer), then try the following
|
||||
on Unix or any system with gcc:
|
||||
|
||||
make // this will setup the build
|
||||
make // this will build the library
|
||||
|
@ -66,7 +66,7 @@ II. COMMAND-LINE COMPILATION
|
|||
|
||||
to display its version number.
|
||||
|
||||
Version 3.78 or newer is needed.
|
||||
Version 3.78.1 or newer is needed.
|
||||
|
||||
b. Invoke `make'
|
||||
|
||||
|
|
|
@ -94,6 +94,7 @@
|
|||
{
|
||||
FT_Int cs_offset;
|
||||
|
||||
|
||||
/* Adjustment for seed bytes. */
|
||||
cs_offset = ( decoder->lenIV >= 0 ? decoder->lenIV : 0 );
|
||||
|
||||
|
|
|
@ -465,7 +465,7 @@
|
|||
subr->code[count] = subr->code[count - 1] + len;
|
||||
}
|
||||
|
||||
/* decrypt subroutines, but only if lenIV >= 0. */
|
||||
/* decrypt subroutines, but only if lenIV >= 0 */
|
||||
if ( lenIV >= 0 )
|
||||
{
|
||||
for ( count = 0; count < num_subrs; count++ )
|
||||
|
|
|
@ -423,7 +423,8 @@
|
|||
case 12:
|
||||
if ( ip > limit )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invalid escape (12+EOF)\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invalid escape (12+EOF)\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -458,7 +459,8 @@
|
|||
break;
|
||||
|
||||
default:
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invalid escape (12+%d)\n",
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invalid escape (12+%d)\n",
|
||||
ip[-1] ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
@ -467,7 +469,8 @@
|
|||
case 255: /* four bytes integer */
|
||||
if ( ip + 4 > limit )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: unexpected EOF in integer\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"unexpected EOF in integer\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -487,8 +490,8 @@
|
|||
{
|
||||
if ( ++ip > limit )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings:" ));
|
||||
FT_ERROR(( " unexpected EOF in integer\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: " ));
|
||||
FT_ERROR(( "unexpected EOF in integer\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -500,8 +503,8 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invalid byte (%d)\n",
|
||||
ip[-1] ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invalid byte (%d)\n", ip[-1] ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
}
|
||||
|
@ -515,7 +518,7 @@
|
|||
{
|
||||
if ( top - decoder->stack >= T1_MAX_CHARSTRINGS_OPERANDS )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: stack overflow!\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: stack overflow!\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -571,7 +574,8 @@
|
|||
if ( decoder->flex_state == 0 ||
|
||||
decoder->num_flex_vectors != 7 )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: unexpected flex end\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"unexpected flex end\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -581,7 +585,8 @@
|
|||
ip[2] != 12 || ip[3] != 17 || /* pop */
|
||||
ip[4] != 12 || ip[5] != 33 ) /* setcurpoint */
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invalid flex charstring\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invalid flex charstring\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -596,16 +601,15 @@
|
|||
/* eat the following `pop' */
|
||||
if ( ip + 2 > limit )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invalid escape (12+%d)\n",
|
||||
ip[-1] ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invalid escape (12+%d)\n", ip[-1] ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
if ( ip[0] != 12 || ip[1] != 17 )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings:" ));
|
||||
FT_ERROR(( " `pop' expected, found (%d %d)\n",
|
||||
ip[0], ip[1] ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: " ));
|
||||
FT_ERROR(( "`pop' expected, found (%d %d)\n", ip[0], ip[1] ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
ip += 2;
|
||||
|
@ -631,16 +635,16 @@
|
|||
|
||||
if ( !blend )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings:" ));
|
||||
FT_ERROR(( " unexpected multiple masters operator!\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: " ));
|
||||
FT_ERROR(( "unexpected multiple masters operator!\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
num_points = top[1] - 13 + ( top[1] == 18 );
|
||||
if ( top[0] != (FT_Int)( num_points * blend->num_designs ) )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings:" ));
|
||||
FT_ERROR(( " incorrect number of mm arguments\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: " ));
|
||||
FT_ERROR(( "incorrect number of mm arguments\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -681,8 +685,8 @@
|
|||
|
||||
default:
|
||||
Unexpected_OtherSubr:
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invalid othersubr [%d %d]!\n",
|
||||
top[0], top[1] ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invalid othersubr [%d %d]!\n", top[0], top[1] ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
decoder->top = top;
|
||||
|
@ -879,7 +883,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: division by 0\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: division by 0\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
break;
|
||||
|
@ -894,13 +898,15 @@
|
|||
index = top[0];
|
||||
if ( index < 0 || index >= (FT_Int)decoder->num_subrs )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invalid subrs index\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invalid subrs index\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
if ( zone - decoder->zones >= T1_MAX_SUBRS_CALLS )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: too many nested subrs\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"too many nested subrs\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -908,13 +914,13 @@
|
|||
|
||||
zone++;
|
||||
|
||||
/* The Type 1 driver stores subroutines without the seed bytes. */
|
||||
/* The CID driver stores subroutines with seed bytes. This case */
|
||||
/* is taken care of when decoder->subrs_len == 0. */
|
||||
zone->base = decoder->subrs[index];
|
||||
/* The Type 1 driver stores subroutines without the seed bytes. */
|
||||
/* The CID driver stores subroutines with seed bytes. This */
|
||||
/* case is taken care of when decoder->subrs_len == 0. */
|
||||
zone->base = decoder->subrs[index];
|
||||
|
||||
if (decoder->subrs_len)
|
||||
zone->limit = zone->base + decoder->subrs_len[index];
|
||||
if ( decoder->subrs_len )
|
||||
zone->limit = zone->base + decoder->subrs_len[index];
|
||||
else
|
||||
{
|
||||
/* We are using subroutines from a CID font. We must adjust */
|
||||
|
@ -927,7 +933,8 @@
|
|||
|
||||
if ( !zone->base )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: invoking empty subrs!\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"invoking empty subrs!\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -949,7 +956,7 @@
|
|||
|
||||
if ( zone <= decoder->zones )
|
||||
{
|
||||
FT_ERROR(( "T1_Parse_CharStrings: unexpected return\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: unexpected return\n" ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
@ -987,12 +994,13 @@
|
|||
case op_setcurrentpoint:
|
||||
FT_TRACE4(( " setcurrentpoint" ));
|
||||
|
||||
FT_ERROR(( "T1_Parse_CharStrings:" ));
|
||||
FT_ERROR(( " unexpected `setcurrentpoint'\n" ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: " ));
|
||||
FT_ERROR(( "unexpected `setcurrentpoint'\n" ));
|
||||
goto Syntax_Error;
|
||||
|
||||
default:
|
||||
FT_ERROR(( "T1_Parse_CharStrings: unhandled opcode %d\n", op ));
|
||||
FT_ERROR(( "T1_Decoder_Parse_CharStrings: "
|
||||
"unhandled opcode %d\n", op ));
|
||||
goto Syntax_Error;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue