ref: 43a2f656a71aea4d735dcdff201fed120479f707
parent: bd5ae40006959667299f09f13defa6f025caa744
author: David Turner <[email protected]>
date: Wed Jul 5 14:23:38 EDT 2000
fixed a few bugs, cleaned up some code
--- a/demos/src/ttdebug.c
+++ b/demos/src/ttdebug.c
@@ -807,6 +807,18 @@
static
+ int old_tag_to_new( int tag )
+ {
+ int result = tag & 1;
+ if (tag & FT_Curve_Tag_Touch_X)
+ result |= 2;
+ if (tag & FT_Curve_Tag_Touch_Y)
+ result |= 4;
+
+ return result;
+ }
+
+ static
FT_Error RunIns( TT_ExecContext exc )
{
FT_Int A, diff, key;
@@ -1059,7 +1071,7 @@
printf( "%02hx ", A );
if ( diff & 16 ) temp = "(%01hx)"; else temp = " %01hx ";
- printf( temp, save.tags[A] & 7 );
+ printf( temp, old_tag_to_new(save.tags[A]) );
if ( diff & 1 ) temp = "(%08lx)"; else temp = " %08lx ";
printf( temp, save.org[A].x );
@@ -1078,7 +1090,7 @@
printf( "%02hx ", A );
if ( diff & 16 ) temp = "[%01hx]"; else temp = " %01hx ";
- printf( temp, pts.tags[A] & 7 );
+ printf( temp, old_tag_to_new(pts.tags[A]) );
if ( diff & 1 ) temp = "[%08lx]"; else temp = " %08lx ";
printf( temp, pts.org[A].x );
@@ -1239,7 +1251,7 @@
glyph = (TT_GlyphSlot)face->root.glyph;
/* Now load glyph */
- error = FT_Load_Glyph( (FT_Face)face, glyph_index, FT_LOAD_DEFAULT );
+ error = FT_Load_Glyph( (FT_Face)face, glyph_index, FT_LOAD_NO_BITMAP );
if (error) Panic( "could not load glyph" );
}
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -980,7 +980,6 @@
{
FT_UShort n_ins;
TT_ExecContext exec = loader->exec;
- FT_UInt n_points = loader->base.n_points;
TT_GlyphZone* pts;
FT_Vector* pp1;
@@ -1023,7 +1022,7 @@
pts = &exec->pts;
pts->n_points = num_points + 2;
- pts->n_contours = num_contours;
+ pts->n_contours = gloader->base.outline.n_contours;
/* add phantom points */
pp1 = pts->cur + num_points;
@@ -1044,11 +1043,11 @@
FT_UInt k;
- for ( k = 0; k < n_points; k++ )
+ for ( k = 0; k < num_points; k++ )
pts->tags[k] &= FT_Curve_Tag_On;
}
- cur_to_org( n_points, pts );
+ cur_to_org( num_points+2, pts );
/* now consider hinting */
if ( IS_HINTED( loader->load_flags ) && n_ins > 0 )
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -6176,8 +6176,8 @@
else
{
mask = FT_Curve_Tag_Touch_Y;
- V.orgs = (FT_Vector*)( (FT_F26Dot6*)CUR.pts.org + 1 );
- V.curs = (FT_Vector*)( (FT_F26Dot6*)CUR.pts.cur + 1 );
+ V.orgs = (FT_Vector*)( (FT_Pos*)CUR.pts.org + 1 );
+ V.curs = (FT_Vector*)( (FT_Pos*)CUR.pts.cur + 1 );
}
contour = 0;