--- ttinterp.c~ 2007-01-19 16:44:07.000000000 -0800 +++ ttinterp.c 2007-01-19 17:14:22.000000000 -0800 @@ -5466,8 +5466,14 @@ if ( COMPUTE_Point_Displacement( &dx, &dy, &zp, &refp ) ) return; - if ( CUR.zp2.n_points > 0 ) + /* XXX: UNDOCUMENTED! SHZ doesn't move the phantom points */ + /* Twilight zone has no contours, so use n_points. */ + /* Normal zone n_points includes phantoms, so must use end*/ + /* of last contour */ + if ( CUR.GS.gep2 == 0 && CUR.zp2.n_points > 0 ) last_point = (FT_UShort)(CUR.zp2.n_points - 1); + else if ( CUR.GS.gep2 == 1 && CUR.zp2.n_contours > 0 ) + last_point = (FT_UShort)(CUR.zp2.contours[ CUR.zp2.n_contours-1 ]); else last_point = 0;