1 /****************************************************************************
2 * RRDtool 1.2.20 Copyright by Tobi Oetiker, 1997-2007
3 ****************************************************************************
4 * rrd_afm.h Parsing afm tables to find width of strings.
5 ****************************************************************************/
13 #define afm_char wchar_t
15 #define afm_char unsigned char
18 If the font specified by the name parameter in the routes below
20 (because it is not compiled into rrd_afm_data.c by compile_afm.pl)
21 the font specified by RRD_AFM_DEFAULT_FONT will be used.
22 If it is not installed, it uses the first font compiled
24 So they will always use some font.
27 #define RRD_AFM_DEFAULT_FONT "Courier"
29 /* measure width of a text string */
30 /* fontname can be full name or postscript name */
31 double afm_get_text_width( double start, const char* font, double size,
32 double tabwidth, const char* text);
33 double afm_get_text_width_wide( double start, const char* font, double size,
34 double tabwidth, const afm_char* text);
36 double afm_get_ascender(const char* font, double size);
37 double afm_get_descender(const char* font, double size);
39 /* get postscript name from fullname or postscript name */
40 const char *afm_get_font_postscript_name ( const char* font);
41 const char *afm_get_font_name(const char* font);
43 /* cc -E -dM /dev/null */
45 /* need charset conversion from macintosh to unicode. */
46 extern const unsigned char afm_mac2iso[128];
47 #define afm_fix_osx_charset(c) \
48 ( (c) >= 128 && (c) <= 255 ? afm_mac2iso[(c) - 128] : (c))
51 #define afm_fix_osx_charset(x) (x)