X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Frrd_afm.h;h=e333cbfb5f7241eeaea503e3c1b9b04b26304eb1;hb=70d51a41b12b440fc2d55faa1958bdc9b4aaeff6;hp=cedc9949d30a42ae76e54aafee405e1c87651f1b;hpb=0dc5d6d50c0d95ba4f04b656358b26518d4ce854;p=rrdtool.git diff --git a/src/rrd_afm.h b/src/rrd_afm.h index cedc994..e333cbf 100644 --- a/src/rrd_afm.h +++ b/src/rrd_afm.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.9 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007 **************************************************************************** * rrd_afm.h Parsing afm tables to find width of strings. ****************************************************************************/ @@ -7,6 +7,13 @@ #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 @@ -21,25 +28,42 @@ /* 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 tabwidth, const char* text); +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); +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); +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