-int save_png(char *fn, char *data, int w, int h)
+int save_defs(const char *fn, const GlyphDef *defs, int count, int w, int h, int size)
+{
+ FILE *out;
+ int i;
+
+ out=fopen(fn, "w");
+ if(!out)
+ {
+ fprintf(stderr, "Couldn't open %s\n",fn);
+ return -1;
+ }
+
+ fprintf(out, "%d %d %d\n", w, h, size);
+ for(i=0; i<count; ++i)
+ {
+ const GlyphDef *d=defs+i;
+ fprintf(out, "%d %d %d %d %d %d %d\n", d->code, d->x, d->y, d->w, d->h, d->ascent, d->advance);
+ }
+
+ fclose(out);
+
+ return 0;
+}
+
+int save_png(const char *fn, const char *data, int w, int h, char alpha)