X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/blobdiff_plain/36e8f0f56f85d20f939091301d65c7f4f6889998..b554f0ec8dd50eaeedf5ba555762831c03b0f856:/paper.h?ds=sidebyside diff --git a/paper.h b/paper.h index 1a6f9f1..0f45b89 100644 --- a/paper.h +++ b/paper.h @@ -87,14 +87,10 @@ struct font_info_Tag { */ const char *name; /* - * The file containing this font, if any. + * Pointer to data about the file containing the font, if any. */ - FILE *fp; - filepos pos; - /* - * Lengths of the unencrypted and encrypted portions of the font. - */ - long length1, length2; + void *fontfile; + enum { TYPE1, TRUETYPE } filetype; /* A tree of glyph_widths */ tree234 *widths; /* A tree of kern_pairs */ @@ -225,6 +221,11 @@ struct para_data_Tag { JUST, LEFT, RIGHT } justification; /* + * Sometimes (in code paragraphs) we want to override the flags + * passed to render_string(). + */ + unsigned extraflags; + /* * For constructing the page outline. */ int outline_level; /* 0=title 1=C 2=H 3=S 4=S2... */ @@ -386,6 +387,7 @@ glyph glyph_intern(char const *); 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); @@ -400,5 +402,11 @@ char *pdf_outline_convert(wchar_t *s, int *len); */ 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 + */ +void sfnt_writeps(font_info const *fi, FILE *ofp); #endif