git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make setFixed() work for negative numbers, too
[swftools.git]
/
lib
/
modules
/
swffont.c
diff --git
a/lib/modules/swffont.c
b/lib/modules/swffont.c
index
876c139
..
9a9c744
100644
(file)
--- a/
lib/modules/swffont.c
+++ b/
lib/modules/swffont.c
@@
-125,7
+125,7
@@
SWFFONT* swf_LoadTrueTypeFont(char*filename)
FT_Size size;
int max_unicode = 0;
int charmap = -1;
FT_Size size;
int max_unicode = 0;
int charmap = -1;
-
+
if(ftlibrary == 0) {
if(FT_Init_FreeType(&ftlibrary)) {
fprintf(stderr, "Couldn't init freetype library!\n");
if(ftlibrary == 0) {
if(FT_Init_FreeType(&ftlibrary)) {
fprintf(stderr, "Couldn't init freetype library!\n");
@@
-133,12
+133,14
@@
SWFFONT* swf_LoadTrueTypeFont(char*filename)
}
}
error = FT_New_Face(ftlibrary, filename, 0, &face);
}
}
error = FT_New_Face(ftlibrary, filename, 0, &face);
- FT_Set_Pixel_Sizes (face, 16*loadfont_scale, 16*loadfont_scale);
- if(error) {
+ if(error || !face) {
fprintf(stderr, "Couldn't load file %s- not a TTF file?\n", filename);
return 0;
}
fprintf(stderr, "Couldn't load file %s- not a TTF file?\n", filename);
return 0;
}
+
+ FT_Set_Pixel_Sizes (face, 16*loadfont_scale, 16*loadfont_scale);
+
if(face->num_glyphs <= 0) {
fprintf(stderr, "File %s contains %d glyphs\n", face->num_glyphs);
return 0;
if(face->num_glyphs <= 0) {
fprintf(stderr, "File %s contains %d glyphs\n", face->num_glyphs);
return 0;
@@
-255,7
+257,8
@@
SWFFONT* swf_LoadTrueTypeFont(char*filename)
}
error = FT_Load_Glyph(face, t, FT_LOAD_NO_BITMAP);
if(error) {
}
error = FT_Load_Glyph(face, t, FT_LOAD_NO_BITMAP);
if(error) {
- fprintf(stderr, "Couldn't load glyph %d, error:%d\n", t, error);
+ //tends to happen with some pdfs
+ fprintf(stderr, "Warning: Glyph %d has return code %d\n", t, error);
glyph=0;
if(skip_unused)
continue;
glyph=0;
if(skip_unused)
continue;
@@
-492,9
+495,7
@@
SWFFONT* swf_LoadT1Font(char*filename)
}
last = pos;
outline = outline->link;
}
last = pos;
outline = outline->link;
- printf("t1lib: (%f,%f) ", pos.x, pos.y);
}
}
- printf("\n");
draw.finish(&draw);
draw.finish(&draw);