/****************************************************************************
- * RRDtool 1.2rc8 Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.0 Copyright by Tobi Oetiker, 1997-2005
****************************************************************************
* rrd_gfx.c graphics wrapper for rrdtool
**************************************************************************/
unsigned int n;
int error;
int gottab = 0;
+ #ifdef HAVE_MBSTOWCS
+ wchar_t* w_text;
+ #endif
ft_pen.x = 0; /* start at (0,0) !! */
ft_pen.y = 0;
string->transform.yx = (FT_Fixed)( sin(M_PI*(rotation)/180.0)*0x10000);
string->transform.yy = (FT_Fixed)( cos(M_PI*(rotation)/180.0)*0x10000);
+ #ifdef HAVE_MBSTOWCS
+ w_text = (wchar_t) calloc (string->count,sizeof(wchar_t));
+ mbstowcs(w_text,text,string->count);
+ #endif
+
use_kerning = FT_HAS_KERNING(face);
previous = 0;
glyph = string->glyphs;
/* handle the tabs ...
have a witespace glyph inserted, but set its width such that the distance
of the new right edge is x times tabwidth from 0,0 where x is an integer. */
- char letter = text[n];
+ unsigned char letter = text[n];
gottab = 0;
if (letter == '\\' && n+1 < string->count && text[n+1] == 't'){
/* we have a tab here so skip the backslash and
glyph->pos.y = 0;
glyph->image = NULL;
+#ifdef HAVE_MBSTOWCS
+ glyph->index = FT_Get_Char_Index( face, w_text[n] );
+#else
glyph->index = FT_Get_Char_Index( face, letter );
+#endif
/* compute glyph origin */
if ( use_kerning && previous && glyph->index ) {
string->width = string->bbox.xMax - string->bbox.xMin;
}
string->height = string->bbox.yMax - string->bbox.yMin;
+#ifdef HAVE_MBSTOWSC
+ free(w_text);
+#endif
+
return string;
}
png_set_text (png_ptr, info_ptr, text, 1);
/* lets make this fast */
- png_set_filter(png_ptr,0,PNG_FILTER_NONE);
+ /* png_set_filter(png_ptr,0,PNG_FILTER_NONE); */
png_set_compression_level(png_ptr,1);
- png_set_compression_strategy(png_ptr,Z_HUFFMAN_ONLY);
+ /* png_set_compression_strategy(png_ptr,Z_HUFFMAN_ONLY); */
/*
png_set_filter(png_ptr,PNG_FILTER_TYPE_BASE,PNG_FILTER_SUB);
png_set_compression_strategy(png_ptr,Z_HUFFMAN_ONLY);
gfx_node_t *node;
fputs(
"%!PS-Adobe-3.0 EPSF-3.0\n"
- "%%Creator: RRDtool 1.2rc8 Tobias Oetiker, http://tobi.oetiker.ch\n"
+ "%%Creator: RRDtool 1.2.0 Tobias Oetiker, http://tobi.oetiker.ch\n"
/* can't like weird chars here */
"%%Title: (RRDtool output)\n"
"%%DocumentData: Clean7Bit\n"