change note for 39bfc9d3d
[imager.git] / FT2 / imft2.h
1 #ifndef IMAGER_FT2_H
2 #define IMAGER_FT2_H
3
4 #include "imdatatypes.h"
5
6 typedef struct FT2_Fonthandle FT2_Fonthandle;
7
8 typedef FT2_Fonthandle* Imager__Font__FT2x;
9
10 extern void i_ft2_start(void);
11 extern FT2_Fonthandle * i_ft2_new(const char *name, int index);
12 extern void i_ft2_destroy(FT2_Fonthandle *handle);
13 extern int i_ft2_setdpi(FT2_Fonthandle *handle, int xdpi, int ydpi);
14 extern int i_ft2_getdpi(FT2_Fonthandle *handle, int *xdpi, int *ydpi);
15 extern int i_ft2_settransform(FT2_Fonthandle *handle, const double *matrix);
16 extern int i_ft2_sethinting(FT2_Fonthandle *handle, int hinting);
17 extern int i_ft2_bbox(FT2_Fonthandle *handle, double cheight, double cwidth, 
18                       char const *text, size_t len, i_img_dim *bbox, int utf8);
19 extern int i_ft2_bbox_r(FT2_Fonthandle *handle, double cheight, double cwidth, 
20                       char const *text, size_t len, int vlayout, int utf8, i_img_dim *bbox);
21 extern int i_ft2_text(FT2_Fonthandle *handle, i_img *im, i_img_dim tx, i_img_dim ty, 
22                       const i_color *cl, double cheight, double cwidth, 
23                       char const *text, size_t len, int align, int aa, 
24                       int vlayout, int utf8);
25 extern int i_ft2_cp(FT2_Fonthandle *handle, i_img *im, i_img_dim tx, i_img_dim ty, 
26                     int channel, double cheight, double cwidth, 
27                     char const *text, size_t len, int align, int aa, 
28                     int vlayout, int utf8);
29 extern size_t
30 i_ft2_has_chars(FT2_Fonthandle *handle, char const *text, size_t len,
31                            int utf8, char *work);
32 extern size_t
33 i_ft2_face_name(FT2_Fonthandle *handle, char *name_buf, 
34                 size_t name_buf_size);
35 extern int i_ft2_can_face_name(void);
36 extern int i_ft2_glyph_name(FT2_Fonthandle *handle, unsigned long ch, 
37                             char *name_buf, size_t name_buf_size,
38                             int reliable_only);
39 extern int i_ft2_can_do_glyph_names(void);
40 extern int i_ft2_face_has_glyph_names(FT2_Fonthandle *handle);
41
42 extern int i_ft2_get_multiple_masters(FT2_Fonthandle *handle,
43                                       i_font_mm *mm);
44 extern int
45 i_ft2_is_multiple_master(FT2_Fonthandle *handle);
46 extern int
47 i_ft2_set_mm_coords(FT2_Fonthandle *handle, int coord_count, const long *coords);
48
49 void ft2_transform_box(FT2_Fonthandle *handle, i_img_dim bbox[4]);
50
51 #endif
52