X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_afm.h;h=e333cbfb5f7241eeaea503e3c1b9b04b26304eb1;hb=70d51a41b12b440fc2d55faa1958bdc9b4aaeff6;hp=8b895bf294664af3ed18e62b6dc766e6d27e20b1;hpb=37329a5f991870e8f47c8a52f6dd594fef813de6;p=rrdtool.git diff --git a/src/rrd_afm.h b/src/rrd_afm.h index 8b895bf..e333cbf 100644 --- a/src/rrd_afm.h +++ b/src/rrd_afm.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.6 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