* Pointer to data about the file containing the font, if any.
*/
void *fontfile;
+ enum { TYPE1, TRUETYPE } filetype;
/* A tree of glyph_widths */
tree234 *widths;
/* A tree of kern_pairs */
char const *glyph_extern(glyph);
wchar_t ps_glyph_to_unicode(glyph);
extern const char *const ps_std_glyphs[];
+extern glyph const tt_std_glyphs[];
void init_std_fonts(void);
const int *ps_std_font_widths(char const *fontname);
const kern_pair *ps_std_font_kerns(char const *fontname);
/*
- * Function from bk_pdf.c borrowed by bk_ps.c
+ * Functions exported from bk_pdf.c
*/
+typedef struct object_Tag object;
+typedef struct objlist_Tag objlist;
+object *new_object(objlist *list);
+void objtext(object *o, char const *text);
+void objstream(object *o, char const *text);
+void objstream_len(object *o, char const *text, size_t len);
char *pdf_outline_convert(wchar_t *s, int *len);
/*
+ * Function exported from bk_ps.c
+ */
+void ps_token(FILE *fp, int *cc, char const *fmt, ...);
+
+/*
* Backend functions exported by in_pf.c
*/
void pf_part1(font_info *fi, char **bufp, size_t *lenp);
void pf_part2(font_info *fi, char **bufp, size_t *lenp);
void pf_writeps(font_info const *fi, FILE *ofp);
+/*
+ * Backend functions exported by in_sfnt.c
+ */
+typedef struct sfnt_Tag sfnt;
+glyph sfnt_indextoglyph(sfnt *sf, unsigned idx);
+unsigned sfnt_glyphtoindex(sfnt *sf, glyph g);
+unsigned sfnt_nglyphs(sfnt *sf);
+void sfnt_writeps(font_info const *fi, FILE *ofp);
+void sfnt_data(font_info *fi, char **bufp, size_t *lenp);
+
#endif