Re: Rendering with xft and hinting



Keith Packard <keithp keithp com> writes:

> TrueType hints are actually harder to generate than the original glyphs; 
> saying they 'just need decent hints' is like saying Windows just needs 
> decent security.

I know. I did produce bitmaps for a few sizes, though. The result is
at

        http://www.daimi.au.dk/~sandmann/luxi-2-shot.png

I don't think producing good bitmaps for the range of sizes you'll
typically use on a screen is that much work. Creating byte code is
another matter, of course.

(The license for the luxi fonts forbids redistribution of modified
versions, so in a very real sense is saying they just need decent
hints like saying Windows just needs decent security).

> Actually, the 'a' looks more balanced with the remaining letters than the
> aliased version; it's darker, but that's because the aliased version is too
> light.  The 'V' is pretty broken though; it's too broad, and the diagonals
> on the 'k' are too narrow. 

Hmm, I guess we just disagree about how the font should look. (But I'm
pretty sure that Windows' rendering at the same pixels-per-em will
agree almost pixel-for-pixel (modulo a bug in freetype's rasterizer)
with my aliased version).

> This is precisely what the TrueType bytecode hints are supposed to
> fix. Are you sure the interpreter is enabled?  It isn't unless
> you're running Debian, or have installed XFree86 from source and
> removed the broken /usr/lib/libfreetype.so.6 that came with your
> distro.

Why would I need to have XFree86 installed from source? The rendering
in the shots is generated by Xft, so shouldn't I just only have to
make sure the application finds the correct libfreetype.so.6. (And for
some reason, the XFree86 that ships with RedHat 7.2 has the
interpreter enabled, but the Freetype that comes with the same
distribution, hasn't).

Anyway, I am sure the interpreter is on. I immediately noticed the
broken font rendering after installing RedHat 7.2, and compiling my
own version of freetype with the interpreter enabled fixed it.

I generated a few more screenshots:

    hinting completely disabled:  (I applied a crude autohint=0 hack in ftobj.c)

           http://www.daimi.au.dk/~sandmann/alias-nohint.png
           http://www.daimi.au.dk/~sandmann/antialias-nohint.png

    authinter:

           http://www.daimi.au.dk/~sandmann/alias-autohint.png
           http://www.daimi.au.dk/~sandmann/antialias-autohint.png

    interpreter:

          http://www.daimi.au.dk/~sandmann/alias.png
          http://www.daimi.au.dk/~sandmann/antialias.png


Søren



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