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:


tb2 work! :)

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_font_query.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- evas_font_query.c   18 Jun 2005 01:00:31 -0000      1.18
+++ evas_font_query.c   9 Sep 2005 14:19:06 -0000       1.19
@@ -27,7 +27,7 @@
        FT_UInt index;
        RGBA_Font_Glyph *fg;
        int chr_x, chr_y, chr_w;
-        int gl;
+        int gl, kern;
 
        gl = evas_common_font_utf8_get_next((unsigned char *)text, &chr);
        if (gl == 0) break;
@@ -35,6 +35,7 @@
         /* hmmm kerning means i can't sanely do my own cached metric tables! */
        /* grrr - this means font face sharing is kinda... not an option if */
        /* you want performance */
+       kern = 0;
        if ((use_kerning) && (prev_index) && (index) &&
            (pface == fi->src->ft.face))
          {
@@ -42,7 +43,10 @@
 
             if (FT_Get_Kerning(fi->src->ft.face, prev_index, index,
                                ft_kerning_default, &delta) == 0)
-              pen_x += delta.x << 2;
+              {
+                 kern = delta.x << 2;
+                 pen_x += kern;
+              }
          }
        pface = fi->src->ft.face;
        fg = evas_common_font_int_cache_glyph_get(fi, index);
@@ -50,7 +54,14 @@
 
         chr_x = (pen_x + (fg->glyph_out->left << 8)) >> 8;
        chr_y = (pen_y + (fg->glyph_out->top << 8)) >> 8;
-       chr_w = fg->glyph_out->bitmap.width;
+//     chr_w = fg->glyph_out->bitmap.width;
+       chr_w = fg->glyph_out->bitmap.width + (kern >> 8);
+         {
+            int advw;
+
+            advw = ((fg->glyph->advance.x + (kern << 8)) >> 16);
+            if (chr_w < advw) chr_w = advw;
+         }
 
        if ((!prev_index) && (chr_x < 0))
          start_x = chr_x;




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to