along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-static U32 readUTF8char(U8 ** text)
+U32 readUTF8char(U8 ** text)
{
U32 c = 0;
if (!(*(*text) & 0x80))
if (id == fid) {
if (jobs & FEDTJ_PRINT) {
int code = f->glyph2ascii[glyph];
- printf("%c", code);
+ printf("%lc", code);
}
if (jobs & FEDTJ_MODIFY)
f->glyph[glyph].advance = adv * 20; //?
static void font_freeglyphnames(SWFFONT*f)
{
- if (f->glyphnames) {
- int t;
- for (t = 0; t < f->numchars; t++) {
- if (f->glyphnames[t]) {
- rfx_free(f->glyphnames[t]);
- f->glyphnames[t] = 0;
- }
+ if (f->glyphnames)
+ {
+ int t;
+ for (t = 0; t < f->numchars; t++)
+ {
+ if (f->glyphnames[t])
+ {
+ rfx_free(f->glyphnames[t]);
+ f->glyphnames[t] = 0;
+ }
+ }
+ rfx_free(f->glyphnames);
+ f->glyphnames = 0;
}
- rfx_free(f->glyphnames);
- f->glyphnames = 0;
- }
-
}
static void font_freeusage(SWFFONT*f)
{
font_freelayout(f);
font_freeglyphnames(f);
+ f->use->used_glyphs= 0;
for (i = 0; i < f->numchars; i++) {
if(!f->use->chars[i]) {
if(f->glyph2ascii) {
f->glyph[i].shape = 0;
f->glyph[i].advance = 0;
}
+ f->use->used_glyphs++;
} else {
max_glyph = i+1;
}
int swf_FontUse(SWFFONT * f, U8 * s)
{
- if (!f->use)
- swf_FontInitUsage(f);
if( (!s))
return -1;
while (*s) {
if(*s < f->maxascii && f->ascii2glyph[*s]>=0)
- f->use->chars[f->ascii2glyph[*s]] = 1;
+ swf_FontUseGlyph(f, f->ascii2glyph[*s]);
s++;
}
return 0;
swf_FontInitUsage(f);
if(glyph < 0 || glyph >= f->numchars)
return -1;
+ if(!f->use->chars[glyph])
+ f->use->used_glyphs++;
f->use->chars[glyph] = 1;
return 0;
}
{
int i;
if (!f)
- return;
+ return;
- if (f->glyph) {
- for (i = 0; i < f->numchars; i++)
- if (f->glyph[i].shape) {
- swf_ShapeFree(f->glyph[i].shape);
- f->glyph[i].shape = NULL;
- }
- rfx_free(f->glyph);
- f->glyph = NULL;
+ if (f->glyph)
+ {
+ for (i = 0; i < f->numchars; i++)
+ if (f->glyph[i].shape)
+ {
+ swf_ShapeFree(f->glyph[i].shape);
+ f->glyph[i].shape = NULL;
+ }
+ rfx_free(f->glyph);
+ f->glyph = NULL;
}
- if (f->ascii2glyph) {
- rfx_free(f->ascii2glyph);
- f->ascii2glyph = NULL;
+ if (f->ascii2glyph)
+ {
+ rfx_free(f->ascii2glyph);
+ f->ascii2glyph = NULL;
}
- if (f->glyph2ascii) {
- rfx_free(f->glyph2ascii);
- f->glyph2ascii = NULL;
+ if (f->glyph2ascii)
+ {
+ rfx_free(f->glyph2ascii);
+ f->glyph2ascii = NULL;
}
font_freename(f);
font_freelayout(f);
swf_TextSetCharRecordUTF8(tag, font, upos, scale * 20, gbits, abits);
upos= next;
-
- printf("%s\n", upos);
}
free(utext);