Re: Overlap oversampling

2020-07-05 Thread Nikolaus Waxweiler
I have 0 idea actually. I think macOS triggers different rendering automatically when it encounters any OVERLAP_* thingy.

Re: Overlap oversampling

2020-07-05 Thread Alexei Podtelezhnikov
Hi Nikolaus > Random thought: Test with Cascadia Code > (https://github.com/microsoft/cascadia-code/releases/tag/v2007.01). The > (variable) font is very Lego-like in its construction. You have seen a lot of these fonts. How often the variation fonts set OVERLAP_SIMPLE or OVERLAP_COMPOSITE

Re: Overlap oversampling

2020-07-05 Thread Nikolaus Waxweiler
Random thought: Test with Cascadia Code (https://github.com/microsoft/cascadia-code/releases/tag/v2007.01). The (variable) font is very Lego-like in its construction.

Re: Overlap oversampling

2020-07-03 Thread Alexei Podtelezhnikov
Hi guys, After some more thinking I committed thw oversampling implementation. It requires new FT_OUTLINE_OVERLAP to use this method consciously. Alexei PS: To quickly test it use this one-liner: diff --git a/src/smooth/ftsmooth.c b/src/smooth/ftsmooth.c index b32629205..e6d5d04f4 100644 ---

Re: Overlap oversampling

2020-06-29 Thread Alexei Podtelezhnikov
David, On Mon, Jun 29, 2020 at 6:58 PM David Turner wrote: > So, could have a deep look at the patches here. They're pretty neat. I'll > just recommend documenting the subtle computations in ft_smooth_slow_spans() > a little better, and avoid branches altogether, by using bit twiddling to >

Re: Overlap oversampling

2020-06-29 Thread David Turner
So, could have a deep look at the patches here. They're pretty neat. I'll just recommend documenting the subtle computations in ft_smooth_slow_spans() a little better, and avoid branches altogether, by using bit twiddling to perform saturated addition instead (removing branches from loops is

Re: Overlap oversampling

2020-06-23 Thread David Turner
Le mar. 23 juin 2020 à 05:42, Alexei Podtelezhnikov a écrit : > Hi again, > > The oversampling is implemented though inflating the outline and then > averaging the increased number of cells using FT_RASTER_FLAG_DIRECT > mechanism. The first two patches set the stage by splitting the code > paths

Re: Overlap oversampling

2020-06-22 Thread Alexei Podtelezhnikov
Hi again, The oversampling is implemented though inflating the outline and then averaging the increased number of cells using FT_RASTER_FLAG_DIRECT mechanism. The first two patches set the stage by splitting the code paths for LCD rendering out of the way and trying FT_RASTER_FLAG_DIRECT for

Overlap oversampling

2020-06-22 Thread Alexei Podtelezhnikov
Hi everybody, This is a proof of concept for oversampling to decrease artifacts in rendering overlaps. The attached images show how the artifact visible at the top of B, E, F, T decreases as we increase oversampling from 1x1, to 2x2, to 4x4. The price is doubling and quadrupling the rendering