Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/engines/common


Modified Files:
        evas_font_query.c 


Log Message:


kerning fix?
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_font_query.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- evas_font_query.c   8 Jan 2003 06:39:38 -0000       1.6
+++ evas_font_query.c   30 May 2003 05:05:52 -0000      1.7
@@ -195,25 +195,27 @@
        FT_UInt index;
        RGBA_Font_Glyph *fg;
        int chr_x, chr_y, chr_w;
-        int gl;
+        int gl, kern;
        FT_Vector delta;
 
        pchr = chr;
        gl = evas_common_font_utf8_get_next((unsigned char *)text, &chr);
        if (gl == 0) break;
        index = FT_Get_Char_Index(fn->ft.face, gl);
+       kern = 0;
        if ((use_kerning) && (prev_index) && (index))
          {
             FT_Get_Kerning(fn->ft.face, prev_index, index,
                            ft_kerning_default, &delta);
-            pen_x += delta.x << 6;
+            kern = delta.x << 6;
+            pen_x += kern;
          }
        fg = evas_common_font_cache_glyph_get(fn, index);
        if (!fg) continue;
        
-       chr_x = (pen_x >> 8) + fg->glyph_out->left;
+       chr_x = ((pen_x - kern) >> 8) + fg->glyph_out->left;
        chr_y = (pen_y >> 8) + fg->glyph_out->top;
-       chr_w = fg->glyph_out->bitmap.width;
+       chr_w = fg->glyph_out->bitmap.width + (kern >> 8);
        if (text[chr])
          {
             if (chr_w < (((fg->glyph->advance.x + 0xffff) >> 16) + 




-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to