X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_gfx.c;h=d26e3cb317a14b401cfdaa3ebfc594205f781aa0;hb=155eeedf23685ed46c5c6660c8e7766927e0057b;hp=045892aa2b3c2718f2254f19ff21bb3dd47506b3;hpb=2343ee811033c452bf2e8c231b96afd8ca13a271;p=rrdtool.git diff --git a/src/rrd_gfx.c b/src/rrd_gfx.c index 045892a..d26e3cb 100644 --- a/src/rrd_gfx.c +++ b/src/rrd_gfx.c @@ -372,10 +372,6 @@ gfx_string gfx_string_create(FT_Face face,const char *text, 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; @@ -390,20 +386,16 @@ gfx_string gfx_string_create(FT_Face face,const char *text, 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; - for (n=0; ncount; n++, glyph++) { + for (n=0; ncount;glyph++) { FT_Vector vec; /* 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. */ 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 @@ -422,11 +414,7 @@ gfx_string gfx_string_create(FT_Face face,const char *text, 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 ) { @@ -482,20 +470,19 @@ gfx_string gfx_string_create(FT_Face face,const char *text, /* increment number of glyphs */ previous = glyph->index; string->num_glyphs++; + n++; + } /* printf ("number of glyphs = %d\n", string->num_glyphs);*/ compute_string_bbox( string ); /* the last character was a tab */ - if (gottab) { + /* if (gottab) { */ string->width = ft_pen.x; - } else { + /* } else { 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; }