reversed the test for glyph format = outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
diff --git a/src/FTPolyGlyph.cpp b/src/FTPolyGlyph.cpp
index d1810f5..59dbb75 100644
--- a/src/FTPolyGlyph.cpp
+++ b/src/FTPolyGlyph.cpp
@@ -58,37 +58,37 @@ FTPolyGlyph::FTPolyGlyph( FT_Glyph glyph, unsigned int gi)
data(0),
glList(0)
{
- if( glyph->format == ft_glyph_format_outline)
+ if( ft_glyph_format_outline != glyph->format)
+ { return;}
+
+ vectoriser = new FTVectoriser( glyph);
+
+ if( vectoriser->Ingest())
{
- vectoriser = new FTVectoriser( glyph);
+ numContours = vectoriser->contours();
+
+ contourLength = new int[ numContours];
- if( vectoriser->Ingest())
+ for( int c = 0; c < numContours; ++c)
{
- numContours = vectoriser->contours();
-
- contourLength = new int[ numContours];
-
- for( int c = 0; c < numContours; ++c)
- {
- contourLength[c] = vectoriser->contourSize( c);
- }
-
-
- numPoints = vectoriser->points();
- data = new double[ numPoints * 3];
- vectoriser->Output( data);
-
- contourFlag = vectoriser->ContourFlag();
- advance = glyph->advance.x >> 16; // this is 6 in the freetype docs!!!!!!
+ contourLength[c] = vectoriser->contourSize( c);
}
-
- delete vectoriser;
-
- if ( ( numContours < 1) || ( numPoints < 3))
- return;
+
- Tesselate();
+ numPoints = vectoriser->points();
+ data = new double[ numPoints * 3];
+ vectoriser->Output( data);
+
+ contourFlag = vectoriser->ContourFlag();
+ advance = glyph->advance.x >> 16; // this is 6 in the freetype docs!!!!!!
}
+
+ delete vectoriser;
+
+ if ( ( numContours < 1) || ( numPoints < 3))
+ return;
+
+ Tesselate();
}