freetype-devel
[Top][All Lists]
Advanced

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

Re: [Devel] Fix for PFR composite problem


From: David Turner
Subject: Re: [Devel] Fix for PFR composite problem
Date: Sat, 22 Jun 2002 11:53:15 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530

Hi Detlef,

  Applied. Thanks :-)

- David Turner
- The FreeType Project  (www.freetype.org)

Detlef Würkner wrote:
Hello,

address@hidden (Sven Neumann) wrote:


Hi,

address@hidden (Detlef Würkner) writes:


However one of the fonts I've tested places the stem of the 'i'
character way off. It appears one pixel to the left and way up while
the 'i'-point seems to appear at the correct position. The font in
question can be downloaded here:

http://www.truedoc.com/pfrs/Zurich.pfr

Just want to confirm that the problem is still there even with the
current PFR driver. It appears with the first font (face index 0) of
Zurich.pfr and also with

Exotc350DmBd.pfr
ZurichBlkEx.pfr
ZurichXCn.pfr

Btw, the inverted exclamation mark (¡) can be used for comparisons in
the Zurich fonts, it looks like the i is expected to do. And some other
'i' variants are also affected: For ÍÎÌíîì (upper and lower i with
acute, circumflex, grave) the 'i' is positioned left of the accent
instead of just below of it. A composite problem?

I can confirm this problem with even more fonts. When I first reported
it, I wasn't sure if it was a problem of our font rendering engine but
in the meantime I have been able to reproduce it with ft_view and a
whole bunch of fonts.


Found it, it was a composite problem. It seems the format documentation
is a bit unclear... When positioning subglyphs, and the x_pos or y_pos
are not explicitly set as 16bit integer, they have to be treated as
relative to zero, not as relative to the old position. With this patch
all 'i' glyphs look fine and the accents are just above the glyphs:

----8<----
--- freetype2-current/src/pfr/pfrgload.c.ori    Sun Apr 28 10:25:55 2002
+++ freetype2-current/src/pfr/pfrgload.c        Thu Jun 20 21:16:20 2002
@@ -577,13 +577,14 @@
     }
subglyph = glyph->subs + org_count;
-    x_pos    = 0;
-    y_pos    = 0;
for ( i = 0; i < count; i++, subglyph++ )
     {
       FT_UInt  format;
+
+      x_pos = 0;
+      y_pos = 0;
PFR_CHECK( 1 );
       format = PFR_NEXT_BYTE( p );
----8<----

Ciao, Detlef






reply via email to

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