X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fmodules%2Fswffont.c;h=8016df4e125721d704cb0752298ab8f19a59416a;hp=7b55f34fab7031abdc39c09feebb2529eec16327;hb=7169758cfe50bc9fa3bbbf75a1859d9a6fb58776;hpb=9dddced581f9ae656eab9b959550eadf5899f939 diff --git a/lib/modules/swffont.c b/lib/modules/swffont.c index 7b55f34..8016df4 100644 --- a/lib/modules/swffont.c +++ b/lib/modules/swffont.c @@ -23,10 +23,11 @@ static int loadfont_scale = 64; static int skip_unused = 1; +static int full_unicode = 0; -void swf_SetLoadFontParameters(int _scale, int _skip_unused) +void swf_SetLoadFontParameters(int _scale, int _skip_unused, int _full_unicode) { - loadfont_scale = _scale; + if(_scale) loadfont_scale = _scale; skip_unused = _skip_unused; } @@ -106,6 +107,7 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename) int t; int*glyph2glyph; FT_Size size; + int max_unicode = 0; if(ftlibrary == 0) { if(FT_Init_FreeType(&ftlibrary)) { @@ -181,6 +183,9 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename) } charcode = FT_Get_Next_Char(face, charcode, &gindex); } + + if(full_unicode) + font->maxascii = 65535; font->ascii2glyph = malloc(font->maxascii*sizeof(int)); @@ -190,11 +195,13 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename) g = -1; font->ascii2glyph[t] = g; if(g>=0) { + max_unicode = t; if(!font->glyph2ascii[g]) { font->glyph2ascii[g] = t; } } } + font->maxascii = max_unicode; font->numchars = 0;