mkfn: support OpenType font collections
[neatmkfn.git] / mkfn.h
blob23d29af77ca05b8801fd76bec64d0a11ec702afc
1 /* functions used by afm.c and otf.c */
2 void mkfn_trfont(char *name);
3 void mkfn_psfont(char *fontname);
4 void mkfn_header(char *fontname);
5 void mkfn_char(char *c, int n, int u, int wid, int llx, int lly, int urx, int ury);
6 void mkfn_kern(char *c1, char *c2, int x);
7 int mkfn_font(char *font);
8 int mkfn_script(char *script, int nscripts);
9 int mkfn_lang(char *lang, int nlangs);
10 int mkfn_featrank(char *scrp, char *feat);
12 /* functions defined in trfn.c and used by mkfn.c */
13 void trfn_init(void);
14 void trfn_cdefs(void);
15 void trfn_header(void);
16 void trfn_done(void);
18 /* global variables */
19 extern int mkfn_res; /* device resolution */
20 extern int mkfn_warn; /* warn about unsupported features */
21 extern int mkfn_kmin; /* minimum kerning value */
22 extern int mkfn_swid; /* space width */
23 extern int mkfn_special; /* special flag */
24 extern int mkfn_bbox; /* include bounding box */
25 extern int mkfn_noligs; /* suppress ligatures */
26 extern int mkfn_pos; /* include glyph positions */
27 extern int mkfn_dry; /* generate no output */
29 /* variable length string buffer */
30 struct sbuf *sbuf_make(void);
31 void sbuf_free(struct sbuf *sb);
32 char *sbuf_done(struct sbuf *sb);
33 void sbuf_str(struct sbuf *sbuf, char *s);
34 void sbuf_mem(struct sbuf *sbuf, char *s, int len);
35 char *sbuf_buf(struct sbuf *sb);
36 void sbuf_printf(struct sbuf *sbuf, char *s, ...);
38 /* dictionary */
39 struct tab *tab_alloc(int sz);
40 void tab_free(struct tab *tab);
41 void tab_put(struct tab *tab, char *k, void *v);
42 void *tab_get(struct tab *tab, char *k);