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 */
14 void trfn_cdefs(void);
15 void trfn_header(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
, ...);
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
);