freetype-devel
[Top][All Lists]
Advanced

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

[ft-devel] current cvs on suse 10


From: Hans-Peter Jansen
Subject: [ft-devel] current cvs on suse 10
Date: Mon, 21 Nov 2005 01:06:22 +0100
User-agent: KMail/1.8.2

Hi *,

just subscribed here, because of some issues with freetype2 on suse 10
and general interest in font rendering.

While setting up 10.0 for an office environment, I noticed quite bad
font display due to kerning errors compared to earlier versions.

Investigating this issue, I came across this: 
http://lists.nongnu.org/archive/html/freetype-devel/2005-09/msg00027.html.

Unfortunately, changing it seems to not have any visual impact here.

In order to cross check this, I recompiled freetype2-2.1.9 for 10.0, and
the visual impression is back en par with 9.3 as expected.

Since the changelog from 2.1.9 to 2.1.10 is pretty huge, and further
experiments with 2.1.10 (BC on and off) didn't made it much better, I
bite the apple and built a freetype2 rpm from current cvs.

That revealed a few problems, though. SUSE uses a patch to export a
bunch of methods from the ftstream module, which applied fine, but the
symbols weren't exported correctly, which let the fontconfig package
fall flat on it's face. Hmm. Further investigation showed, that you're
in transition from FT_EXPORT to FT_BASE macros, but didn't finished yet
(FT_Stream_OpenGzip and FT_Stream_OpenLZW still used FT_EXPORT).
I fixed it in a rather crude way in my rpm spec:
 
find . -name \*.c -o -name \*.h | xargs sed -i 's/FT_EXPORT(/FT_BASE(/g'
find . -name \*.c -o -name \*.h | xargs sed -i 's/FT_EXPORT_DEF(/FT_BASE_DEF(/g'
but still no bonus. Well, it was due to:

--- freetype-2.1.11.0.cvs20051119/src/tools/apinames.c~ 2005-11-20 
01:30:22.217388000 +0100
+++ freetype-2.1.11.0.cvs20051119/src/tools/apinames.c  2005-11-20 
01:30:38.382398250 +0100
@@ -222,10 +222,10 @@
     {
       case STATE_START:
         {
-          if ( memcmp( p, "FT_EXPORT(", 10 ) != 0 )
+          if ( memcmp( p, "FT_BASE(", 8 ) != 0 )
             break;
 
-          p += 10;
+          p += 8;
           for (;;)
           {
             if ( *p == 0 || *p == '\n' || *p == '\r' )


Now, with this little fix and

sed -i \
's|\$(wildcard \$(PUBLIC_DIR)/\*.h)|\
\$(wildcard \$(PUBLIC_DIR)/\*.h) \$(wildcard \$(INTERNAL_DIR)/\*.h)|g' \
 builds/exports.mk

it's operational, and the kerning/hinting is _much_ improved. 
Great! Congrats!

That leaves me with a couple of questions:
 - Should I prepare some (more) diffs from these issues?
 - What are your plans with this unofficial ftstream interface?
 - Any rough estimation on code maturity of current CVS?

Thanks,
Pete




reply via email to

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