git.asbjorn.biz
/
swftools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
04fa5bf
)
added reencoding code.
author
kramm
<kramm>
Fri, 13 Aug 2004 19:02:28 +0000
(19:02 +0000)
committer
kramm
<kramm>
Fri, 13 Aug 2004 19:02:28 +0000
(19:02 +0000)
lib/modules/swffont.c
patch
|
blob
|
history
diff --git
a/lib/modules/swffont.c
b/lib/modules/swffont.c
index
abfc0c1
..
4d14534
100644
(file)
--- a/
lib/modules/swffont.c
+++ b/
lib/modules/swffont.c
@@
-325,7
+325,9
@@
SWFFONT* swf_LoadT1Font(char*filename)
int s,num;
char**charnames;
char**charname;
int s,num;
char**charnames;
char**charname;
+ char*encoding[256];
int c;
int c;
+ int t;
if(!t1lib_initialized) {
T1_SetBitmapPad(16);
if(!t1lib_initialized) {
T1_SetBitmapPad(16);
@@
-339,6
+341,10
@@
SWFFONT* swf_LoadT1Font(char*filename)
T1_LoadFont(nr);
charnames = T1_GetAllCharNames(nr);
T1_LoadFont(nr);
charnames = T1_GetAllCharNames(nr);
+ if(!charnames) {
+ fprintf(stderr, "No Charnames record- not a Type1 Font?\n");
+ return 0;
+ }
angle = T1_GetItalicAngle(nr);
fontname = T1_GetFontName(nr);
angle = T1_GetItalicAngle(nr);
fontname = T1_GetFontName(nr);
@@
-362,8
+368,16
@@
SWFFONT* swf_LoadT1Font(char*filename)
charname = charnames;
while(*charname) {
charname++;
charname = charnames;
while(*charname) {
charname++;
+ if(num<256) {
+ if(*charname) encoding[num] = strdup(*charname);
+ else encoding[num] = strdup(".notdef");
+ }
num++;
}
num++;
}
+ for(t=num;t<256;t++)
+ encoding[t] = strdup(".notdef");
+
+ //T1_ReencodeFont(nr, encoding);
font->maxascii = num;
font->numchars = num;
font->maxascii = num;
font->numchars = num;
@@
-413,6
+427,7
@@
SWFFONT* swf_LoadT1Font(char*filename)
swf_Shape01DrawerInit(&draw, 0);
swf_Shape01DrawerInit(&draw, 0);
+ printf("Char %d (%08x)", c, outline);
while(outline) {
pos.x += (outline->dest.x/(float)0xffff);
pos.y += (outline->dest.y/(float)0xffff);
while(outline) {
pos.x += (outline->dest.x/(float)0xffff);
pos.y += (outline->dest.y/(float)0xffff);
@@
-434,7
+449,9
@@
SWFFONT* swf_LoadT1Font(char*filename)
}
last = pos;
outline = outline->link;
}
last = pos;
outline = outline->link;
+ printf("(%f,%f) ", pos.x, pos.y);
}
}
+ printf("\n");
draw.finish(&draw);
draw.finish(&draw);
@@
-449,6
+466,10
@@
SWFFONT* swf_LoadT1Font(char*filename)
}
charname++;
}
}
charname++;
}
+ T1_DeleteFont(nr);
+
+ for(t=0;t<256;t++)
+ free(encoding[t]);
return font;
}
return font;
}
@@
-498,6
+519,10
@@
SWFFONT* swf_LoadFont(char*filename)
if(is_swf) {
return swf_ReadFont(filename);
}
if(is_swf) {
return swf_ReadFont(filename);
}
+
+
+ return swf_LoadT1Font(filename);
+
#if defined(HAVE_FREETYPE)
return swf_LoadTrueTypeFont(filename);
#elif defined(HAVE_T1LIB)
#if defined(HAVE_FREETYPE)
return swf_LoadTrueTypeFont(filename);
#elif defined(HAVE_T1LIB)