/****************************************************************************
- * RRDtool 1.2rc8 Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.19 Copyright by Tobi Oetiker, 1997-2007
****************************************************************************
* rrd_afm.h Parsing afm tables to find width of strings.
****************************************************************************/
#ifndef RRD_AFM_H
#define RRD_AFM_H
+#include <stdlib.h>
+
+#ifdef HAVE_MBSTOWCS
+#define afm_char wchar_t
+#else
+#define afm_char unsigned char
+#endif
+/*
+ If the font specified by the name parameter in the routes below
+ is not found
+ (because it is not compiled into rrd_afm_data.c by compile_afm.pl)
+ the font specified by RRD_AFM_DEFAULT_FONT will be used.
+ If it is not installed, it uses the first font compiled
+ into rrd_afm_data.c
+ So they will always use some font.
+*/
+
+#define RRD_AFM_DEFAULT_FONT "Courier"
+
/* measure width of a text string */
/* fontname can be full name or postscript name */
-double afm_get_text_width ( double start, const char* font, double size,
+double afm_get_text_width( double start, const char* font, double size,
double tabwidth, const char* text);
+double afm_get_text_width_wide( double start, const char* font, double size,
+ double tabwidth, const afm_char* text);
+
+double afm_get_ascender(const char* font, double size);
+double afm_get_descender(const char* font, double size);
/* get postscript name from fullname or postscript name */
const char *afm_get_font_postscript_name ( const char* font);
+const char *afm_get_font_name(const char* font);
/* cc -E -dM /dev/null */
#ifdef __APPLE__
/* need charset conversion from macintosh to unicode. */
extern const unsigned char afm_mac2iso[128];
-#define afm_host2unicode(c) \
- ( (c) >= 128 ? afm_mac2iso[(c) - 128] : (c))
+#define afm_fix_osx_charset(c) \
+ ( (c) >= 128 && (c) <= 255 ? afm_mac2iso[(c) - 128] : (c))
#else
/* UNSAFE macro */
-#define afm_host2unicode(a_unsigned_char) ((unsigned int)(a_unsigned_char))
+#define afm_fix_osx_charset(x) (x)
#endif
#endif