X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_afm.h;h=1b5c48a7440a1d415a1658e6d3746cde83eeb757;hb=3882bb0c2d15f97298aaa7602d6353a1888f5547;hp=9db584cfdabe23027316897a85125003bb7197ef;hpb=990fcfb7eec407edfe504f42760bae204e1c074d;p=rrdtool.git diff --git a/src/rrd_afm.h b/src/rrd_afm.h index 9db584c..1b5c48a 100644 --- a/src/rrd_afm.h +++ b/src/rrd_afm.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2rc9 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.2.16 Copyright by Tobi Oetiker, 1997-2006 **************************************************************************** * 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