generate align zones during postprocessing
[swftools.git] / lib / modules / swffont.c
index ccb1a0f..aee2fae 100644 (file)
@@ -116,7 +116,7 @@ static FT_Outline_Funcs outline_functions =
 
 static FT_Library ftlibrary = 0;
 
-SWFFONT* swf_LoadTrueTypeFont(char*filename)
+SWFFONT* swf_LoadTrueTypeFont(const char*filename)
 {
     FT_Face face;
     FT_Error error;
@@ -347,12 +347,16 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename)
     //font->layout->descent = abs(face->descender)*FT_SCALE*loadfont_scale*20/FT_SUBPIXELS/2; //face->bbox.xMax;
     //font->layout->leading = font->layout->ascent + font->layout->descent;
 
-    font->layout->ascent = -fontbbox.ymin;
-    if(font->layout->ascent < 0)
+    if(-fontbbox.ymin < 0)
         font->layout->ascent = 0;
-    font->layout->descent = fontbbox.ymax;
-    if(font->layout->descent < 0)
+    else
+       font->layout->ascent = -fontbbox.ymin;
+
+    if(-fontbbox.ymax < 0)
         font->layout->descent = 0;
+    else
+       font->layout->descent = -fontbbox.ymax;
+
     font->layout->leading = fontbbox.ymax - fontbbox.ymin;
 
     /* notice: if skip_unused is true, font->glyph2ascii, font->glyphnames and font->layout->bounds will 
@@ -373,7 +377,7 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename)
 }
 #else  //HAVE_FREETYPE
 
-SWFFONT* swf_LoadTrueTypeFont(char*filename)
+SWFFONT* swf_LoadTrueTypeFont(const char*filename)
 {
     fprintf(stderr, "Warning: no freetype library- not able to load %s\n", filename);
     return 0;
@@ -389,7 +393,7 @@ static int t1lib_initialized = 0;
 
 static int counter = 0;
 
-SWFFONT* swf_LoadT1Font(char*filename)
+SWFFONT* swf_LoadT1Font(const char*filename)
 {
     SWFFONT * font;
     int nr;
@@ -539,7 +543,7 @@ SWFFONT* swf_LoadT1Font(char*filename)
 
 #else
 
-SWFFONT* swf_LoadT1Font(char*filename)
+SWFFONT* swf_LoadT1Font(const char*filename)
 {
     fprintf(stderr, "Warning: no t1lib- not able to load %s\n", filename);
     return 0;
@@ -571,7 +575,7 @@ static int isSWF(const char*filename)
     return 0;
 }
 
-SWFFONT* swf_LoadFont(char*filename)
+SWFFONT* swf_LoadFont(const char*filename)
 {
     int is_swf;
     if(filename == 0)