+ } else if(ttf) {
+ int fontid = 0;
+ if(!gfxfontlist_hasfont(i->fontlist, font)) {
+ char fontname[32],filename[32],fontname2[64];
+ static int fontnr = 1;
+ sprintf(fontname, "font%d", fontnr);
+ sprintf(filename, "font%d.ttf", fontnr);
+ fontnr++;
+ const char*old_id = font->id;
+ font->id = fontname;
+ int t;
+ for(t=0;t<num;t++) {
+ font->glyphs[t].unicode = 32+t;
+ }
+ font->max_unicode = 0;
+ font->unicode2glyph = 0;
+ gfxfont_save(font, filename);
+ font->id=old_id;
+
+#ifdef RUN_TTX
+ /* for testing the generated fonts: run everything through ttx (fonttools) */
+ char cmd[256];
+ sprintf(cmd, "mv %s.ttf test.ttf", fontname);system(cmd);
+ system("rm -f test.ttx");
+ if(system("ttx test.ttf")&0xff00) exit(1);
+ sprintf(cmd, "mv test.ttf %s.old.ttf", fontname, fontname);system(cmd);
+ sprintf(cmd, "ttx test.ttx;mv test.ttf %s.ttf", fontname);system(cmd);
+ sprintf(cmd, "rm -f test.ttx");system(cmd);
+#endif
+
+ int l = strlen(fontname);
+ for(t=0;t<l+1;t++) {
+ fontname2[t*2+0] = fontname[t];
+ fontname2[t*2+1] = 0;
+ }
+
+ fontid = PDF_load_font(i->p, fontname2, l*2, "host", "embedding=true");
+ i->fontlist = gfxfontlist_addfont2(i->fontlist, font, (void*)(ptroff_t)fontid);
+ unlink(filename);
+ }