unsigned short index;
} glyphmap;
-typedef struct sfnt_Tag sfnt;
struct sfnt_Tag {
void *data;
size_t len;
glyphsbyname_cmp);
}
-static glyph sfnt_indextoglyph(sfnt *sf, unsigned short idx) {
+glyph sfnt_indextoglyph(sfnt *sf, unsigned idx) {
return sf->glyphsbyindex[idx];
}
-static unsigned short sfnt_glyphtoindex(sfnt *sf, glyph g) {
+unsigned sfnt_nglyphs(sfnt *sf) {
+ return sf->nglyphs;
+}
+
+unsigned sfnt_glyphtoindex(sfnt *sf, glyph g) {
cmp_glyphsbyindex = sf->glyphsbyindex;
return *(unsigned short *)bsearch(&g, sf->glyphsbyname, sf->nglyphs,
sizeof(*sf->glyphsbyname),
sfree(breaks);
fprintf(ofp, "end /%s exch definefont\n", fi->name);
}
+
+void sfnt_data(font_info *fi, char **bufp, size_t *lenp) {
+ sfnt *sf = fi->fontfile;
+ *bufp = sf->data;
+ *lenp = sf->len;
+}