> Please elaborate. It's not clear to me what you are referring to, and
> what the problem is about.
character `0' at pixel size 31, you can see that fixed point deviates from
the actual path slightly, which does not happen in case of float.
there are jagged edges.
This happens because of underflow, if you check the `solve_cubic_equation'
there is a term `q3' which is cube of term `q'. So, in cases where is `q' is
pretty small `q3' becomes zero. And later in the algorithm we have to take
the `cube_root' of the term (q3 + r2) to find the final roots. Now because of
underflow the impact of `q' on the final output is zero. That is why the roots
davaiate and we get a wrong value. In some cases the deviation is quite high.
I can perhaps increase the precision in case `q' is pretty small, or simply use
Newton-Raphson similar to the cubic curve case.
> 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.
I would certainly love to do that even after GSoC.
Thanks for your explanation of the motive behind using fixed-point and
the summarization. Most of the things are clear to me now, I will start
writing the code as soon as I figure out how to add a new module.
Anuj