freetype-devel
[Top][All Lists]
Advanced

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

Re: [Devel] Help me understand this... I'm loosing my sanity. Please.


From: Vincent Caron
Subject: Re: [Devel] Help me understand this... I'm loosing my sanity. Please.
Date: Wed, 09 Apr 2003 15:56:24 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021226 Debian/1.2.1-9

1. TTF files have both a data part and a code part. The code part is
made of bytecode, which describes how to deform the font in order to
render them better with low-resolutions. The byte-code interpreter can
be used with both antialiased and unantialiased fonts.

True.


2. For patents problems, freetype2 introduces an auto-hinting module,
which IGNORES the bytecode BUT tries to achieve a decent hinting
effect nevertheless. This auto-hinting module can also be used BOTH in
antialiased and unantialiased fonts.

True.


3. The freetype2 implementation can EITHER use the bytecode
interpreter OR the auto-hinting, but not both at the same time. And
the choice is made at compile time, with

       #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER

If you compile the TrueType byte code interpreter, you still have the choice between 'native hinging' (byte code) and 'auto hinting' at runtime.


4.  maybe redhat 8-9 activates the bytecode interpreter, whereas
debian doesn't?  That would explain the better rendering of fonts in
redhat.

RedHat 9 does not compile in the byte code interpreter due to the patent issue. Quoting Matt Wilson, RedHat : "We would prefer to enable the patented TrueType hinting algorithms in FreeType to improve our font rendering, but this is not possible."

  http://osnews.com/story.php?news_id=3219


5. maybe debian uses auto-hinting in replace. That would explain why
the fonts are not as awful as in the nopatents.png picture.

The TrueType Debian maintainer (Anthony Fok) chose to compile the byte code interpreter a while ago. Today, I can testify that in my Debian/unstable the macro is defined in the libfreetype6-dev package.

Now the question is : does the GTK and/or Qt font frontends (thus Xft2 ?) invoke native or autohinting ? My guess is 'native' if present, auto otherwise. There is a per-distro configuration issue I guess.


6. how can I know if the debian libfreetype6 package I am using
activates the byte-code interpreter? I DID read
/usr/share/docs/libfreetype6/README.Debian but there is no mention.

$ grep -r BYTECODE /usr/include/freetype2
/usr/include/freetype2/freetype/config/ftoption.h: /* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */ /usr/include/freetype2/freetype/config/ftoption.h:#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER

The defined would be commented out if the interpreter was not compiled in.


7. I noticed that redhat 8 sets the following resources by default:

Xft.dpi:        96
Xft.hinting:    true
Xft.hintstyle:  hintmedium

What do they mean? What reads them? Where can I find more info about
them?

Xfd.dpi forces an arbitrary resolution for the output device (your screen). This is the unit that links 'points' and 'pixels'. Due to habits in the Windows and Mac world, it is preferable to use common values rather than the 'real' value (plug'n'play monitor can tell their physical resolution to your computer).

For other fields, I guess you'll need to have a look at the Xft2 documentation. I think that all you need to know about the great new unified (client-side, anti-aliased, <insert buzzword>) font rendering for X is here : http://fontconfig.org/


8.  I can't see why in redhat 9, openoffice.org's menus are
antialiased, and in debian this is not the case. I don't know if the
problems are related, so I just thought to mention it.

Could you check which library OpenOffice is using ? Run 'ldd' on the binary, Xft2 clients have a libXft.so.2 dependency for instance. You can compare with other binaries of course.

Regards,

        Vincent.




reply via email to

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