freetype-devel
[Top][All Lists]
Advanced

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

Re: [Freetype-devel] Re: GSOC - Distance Fields


From: Werner LEMBERG
Subject: Re: [Freetype-devel] Re: GSOC - Distance Fields
Date: Wed, 17 Jun 2020 09:23:30 +0200 (CEST)

>> - I highly suggest you stick to float internally [...]
> 
> I still think `float' is a better option for generating SDF,
> especially in lower resolution glyphs where fixed-point produces
> kind of straight lines instead of smooth curves (which is not
> noticable if you look at it briefly).

Please elaborate.  It's not clear to me what you are referring to, and
what the problem is about.

> Also, why doesn't FreeType use floats?  Is it just because of
> platform which doesn't have floating point type?

Yes.  The original intention of FreeType was to provide support for
embedded devices, which usually are systems that have CPUs with very
limited capabilities and a tiny amount of memory.  This goal hasn't
changed.

However, looking at Behdad's SIMD code in HarfBuzz it is clear that
you have to implement this at a very low level, which is basically
assembler, to get the most profit.

To summarize: I want a good solution that fits into FreeType's general
philosophy first, this is, using fixed-point calculations only.  After
that, a special solution that encapsulates the critical hotspots with
specific code for specific CPUs (in particular the SSE instruction set
for x86 processors or its ARM equivalent) to accellerate them as much
as possible would be great.

And if there is still some time left for GSoC I suggest that you
explore how to implement overlapping removal in FreeType, based on the
Skia code as Behdad suggested.


    Werner



reply via email to

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