* src/psaux/t1decode.c (t1_decoder_parse_charstrings)

<op_closepath>: `closepath' without a path is a no-op, not an error
(cf. the PS reference manual).

Reported by Martin McBride.
This commit is contained in:
Werner Lemberg 2008-05-16 04:50:00 +00:00
parent bcfcc71d29
commit bcc750e511
2 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2008-05-15 Werner Lemberg <wl@gnu.org>
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
<op_closepath>: `closepath' without a path is a no-op, not an error
(cf. the PS reference manual).
Reported by Martin McBride.
2008-05-15 Werner Lemberg <wl@gnu.org>
* builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.

View File

@ -4,7 +4,7 @@
/* */
/* PostScript Type 1 decoding routines (body). */
/* */
/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -1062,10 +1062,11 @@
case op_closepath:
FT_TRACE4(( " closepath" ));
close_contour( builder );
if ( !( builder->parse_state == T1_Parse_Have_Path ||
builder->parse_state == T1_Parse_Have_Moveto ) )
goto Syntax_Error;
/* if there is no path, `closepath' is a no-op */
if ( builder->parse_state == T1_Parse_Have_Path ||
builder->parse_state == T1_Parse_Have_Moveto )
close_contour( builder );
builder->parse_state = T1_Parse_Have_Width;
break;