freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft] opentype problems


From: mpsuzuki
Subject: Re: [ft] opentype problems
Date: Tue, 26 Apr 2005 19:16:00 +0900

Hi

On Tue, 26 Apr 2005 09:49:53 +0200 (CEST)
Werner LEMBERG <address@hidden> wrote:
>> At present, I don't know which change in CVS can fix the bug.
>
>Maybe this one:
>
>  2005-03-10  Werner Lemberg  <address@hidden>
>
>    * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):  
>    Fix serious typo which prevented correct TT rendering.
>
>Now I can remember that I've fixed this bug, but I forgot when.

I'm afraid that the wrong glyph width bug of ftview is different
from similar bug of galeon.

When I'm tracking the revisions of freetype2 and ft2demos, I found
that the ftview bug was fixed on 2004/11/21, by the modification of
ft2demos/src/ftcommon.i (see end of this mail), not by the modification
of freetype2. Possibly the following change fixes the bug of ftview.

     current_font.flags = antialias ? FT_LOAD_DEFAULT : FT_LOAD_TARGET_MONO;
 
+    current_font.flags |= FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH;
+
     if ( !hinted )
       current_font.flags |= FT_LOAD_NO_HINTING;

In fact, even if I build ftview on 2004/11/21 with freetype on
2004/11/01, there's no wrong glyph width bug.

As a result, I'm not sure if the wrong behaviour of galeon comes
from same scenario, but I'm afraid that updating libfreetype.so
is not enough to fix the problem.

Regards,

mpsuzuki

diff -x CVS -Burb ft2demos-20041120/ChangeLog ft2demos-20041121/ChangeLog
--- ft2demos-20041120/ChangeLog 2004-11-19 23:13:09.000000000 +0900
+++ ft2demos-20041121/ChangeLog 2004-11-20 01:55:54.000000000 +0900
@@ -3,6 +3,10 @@
        * src/ftview.c (Render_Waterfall): Handle size as points, not as
        pixels.
 
+       * src/ftstring.c (layout_glyphs), src/ftmulti.c (LoadChar),
+       src/ftcommon.i (set_current_image_type): Always use
+       FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH.
+
 2004-11-16  Dr. Martin P.J. Zinser  <address@hidden>
 
        * vms_make.com: Updated to be in sync with vms_make.com from FT2.
diff -x CVS -Burb ft2demos-20041120/src/ftcommon.i 
ft2demos-20041121/src/ftcommon.i
--- ft2demos-20041120/src/ftcommon.i    2004-07-16 13:05:25.000000000 +0900
+++ ft2demos-20041121/src/ftcommon.i    2004-11-20 01:55:54.000000000 +0900
@@ -498,6 +498,8 @@
   {
     current_font.flags = antialias ? FT_LOAD_DEFAULT : FT_LOAD_TARGET_MONO;
 
+    current_font.flags |= FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH;
+
     if ( !hinted )
       current_font.flags |= FT_LOAD_NO_HINTING;
 
diff -x CVS -Burb ft2demos-20041120/src/ftmulti.c 
ft2demos-20041121/src/ftmulti.c
--- ft2demos-20041120/src/ftmulti.c     2004-05-20 18:22:12.000000000 +0900
+++ ft2demos-20041121/src/ftmulti.c     2004-11-20 01:55:54.000000000 +0900
@@ -245,7 +245,7 @@
     int  flags;
 
 
-    flags = FT_LOAD_DEFAULT;
+    flags = FT_LOAD_DEFAULT | FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH;
 
     if ( !hint )
       flags |= FT_LOAD_NO_HINTING;
diff -x CVS -Burb ft2demos-20041120/src/ftstring.c 
ft2demos-20041121/src/ftstring.c
--- ft2demos-20041120/src/ftstring.c    2004-08-19 09:10:11.000000000 +0900
+++ ft2demos-20041121/src/ftstring.c    2004-11-20 01:55:54.000000000 +0900
@@ -287,7 +287,7 @@
     FT_Pos     prev_rsb_delta = 0;
 
 
-    load_flags = FT_LOAD_DEFAULT;
+    load_flags = FT_LOAD_DEFAULT | FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH;
     if ( !hinted )
       load_flags |= FT_LOAD_NO_HINTING;
     if ( !use_sbits )





reply via email to

[Prev in Thread] Current Thread [Next in Thread]