[gs-cvs] rev 6985 - trunk/gs/src

leonardo at ghostscript.com leonardo at ghostscript.com
Fri Aug 11 06:09:34 PDT 2006


Author: leonardo
Date: 2006-08-11 06:09:34 -0700 (Fri, 11 Aug 2006)
New Revision: 6985

Modified:
   trunk/gs/src/gxhintn.c
Log:
Fix (type 1 hinter) : Prevent an infinite loop on an incorrect contour.

DETAILS :

Bug 688676 "Ghostscript 8.53 enters infinite loop rendering a font".

The old code inaccurately worked with 'closepath' segments when 
trying to apply a hint.

EXPECTED DIFFERENCES :

None.


Modified: trunk/gs/src/gxhintn.c
===================================================================
--- trunk/gs/src/gxhintn.c	2006-08-11 11:48:47 UTC (rev 6984)
+++ trunk/gs/src/gxhintn.c	2006-08-11 13:09:34 UTC (rev 6985)
@@ -2365,6 +2365,10 @@
 			continue;
 		}
 		for (j = beg_range_pole; j <= end_range_pole;) {
+		    if (this->pole[j].type == closepath) {
+			j++;
+			continue;
+		    }
 		    if (t1_hinter__is_stem_hint_applicable(this, &this->hint[i], j, &quality)) {
 			fixed t; /* Type 1 spec implies that it is 0 for curves, 0.5 for bars */
 			int segment_index = t1_hinter__find_stem_middle(this, &t, j, horiz);



More information about the gs-cvs mailing list