freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] FreeType grayscale anti-aliasing


From: Werner LEMBERG
Subject: Re: [ft-devel] FreeType grayscale anti-aliasing
Date: Sat, 13 Oct 2018 07:41:27 +0200 (CEST)

> I wrote to you previously back in August (actually to the developer
> email on FreeType) and your information was very helpful. I was
> hoping you can steer me in the right direction again, and I
> apologize if this is the wrong place to send the e-mail.

I'm directly forwarding this to the freetype-devel e-mail list
again :-)

> Anyway, I am trying to implement anti-aliasing on our font system
> and it is proving difficult, specifically for Bezier curves.  I'm
> having a hard time finding where in the FreeType code the
> anti-aliasing is done so I can try to model our system after it, or
> at least learn what it's doing.  Right now I've implemented a
> multi-sampling process where when I am breaking the Bezier curves
> down into segments that fall on a scanline I find the line
> intersections and then use those when performing the sampling.
> 
> This kind of works, but it's not great and it has problems. I also
> read on the FAQ that you don't necessarily do it this way in
> FreeType.  So, I'd really like to find out how FreeType is doing it.

The central function for computing the pixel coverage is
`gray_render_scanline' in file `src/smooth/ftgrays.c'.  The bisecting
functions `gray_render_conic' and `gray_render_cubic' eventually call
it.

Note that Raph Levien has meanwhile implemented a renderer that is
reportedly faster than FreeType, cf.

  
https://medium.com/@raphlinus/inside-the-fastest-font-renderer-in-the-world-75ae5270c445

This renderer is written in Rust, however.  Maybe you are interested
to convert this code to C, then contributing it to FreeType :-)


   Werner

reply via email to

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