X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_afm.h;h=a23684715125b4288b7fdcd411f7cd7c40d2c373;hb=2e6c98e893777e4abf7b05cb4ecf81dde088cdb8;hp=3981c730be63f3791703e8e386e2c81c494ca9cc;hpb=f439b204fb1481edd6a777a3b172ccd722b5b6ed;p=rrdtool.git diff --git a/src/rrd_afm.h b/src/rrd_afm.h index 3981c73..a236847 100644 --- a/src/rrd_afm.h +++ b/src/rrd_afm.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2rc5 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. ****************************************************************************/ @@ -7,23 +7,48 @@ #ifndef RRD_AFM_H #define RRD_AFM_H +#include + +#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