freetype-devel
[Top][All Lists]
Advanced

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

[ft-devel] [GSoC] ftinspect


From: Philipp Kerling
Subject: [ft-devel] [GSoC] ftinspect
Date: Tue, 14 Mar 2017 22:07:19 +0100

Hello,

the ftinspect improvement task proposed on the GSoC ideas page has
caught my attention. I'm currently studying Computer Engineering (MSc)
at the Ilmenau University of Technology. I've taken a look at the
freetype2-demos repository and the current state of ftinspect and would
now like to ask some questions on the direction you are envisioning for
it in preparation for formulating my GSoC proposal.

First of all there are a bunch of text-mode utilities in the demos
repository such as ftbench or ttdebug. Should they be considered for
GUIfication, too? Or should the proposal be restricted to the tools
that currently have a graphical interface (ftdiff, ftgamma, ftgrid,
ftmulti, ftstring, and ftview)? Integrating all tools into ftinspect
could naturally mean that the feature set of some utilities would have
to be limited in order for the overall proposal to be realistically
achievable in the GSoC timeframe.

Then I have seen that the ftgrid-like features that ftinspect currently
displays are not fully implemented, e.g. color images modes (for
subpixel AA/LCD filtering) and gamma expansion is missing, so I think
implementing this could be a good starting point. As far as gamma is
concerned, it seems that Qt does not support the necessary blending
calculations [1] that were implemented in the old utilities. So: Should
the gamma blending work exactly the same as before (meaning that the
blending code from gblender.c needs to be ported)?
Also, I have seen that the current ftinspect greyscale color map is
implemented as 

  for (int i = 0xFF; i >= 0; i--)
    grayColorTable.append((0xFF - i) << 24
                          | i << 16
                          | i << 8
                          | i);

This seems to be neither a linear coverage-to-greyscale-mapping
(because of the both varying alpha/grey) nor does it correspond to a
gamma curve as far as I understand it. Is there a particular reason why
it was chosen to be this way?

Furthermore, most of the other GUI tools (ftdiff, ftmulti, ftstring,
and ftview) all render a text string in one way or another, so I think
that they could be combined under one unified UI that has all the
options. Maybe even combined somehow with the grid view so that you can
e.g. zoom in on the hinting comparison and see the differences on a
pixel level. I am not sure at all what to do with ftgamma though, so I
would appreciate any advice on that. Is just displaying the images as
they are now in the Qt GUI enough?

As a last general question: I have seen that some organizations have
their own templates for proposals, i.e. they require specific questions
to be answered. Does the FreeType project have any similar
requirements?

I also have some thoughts about refactoring the existing code, but I
should probably stop here for now. Please excuse the lengthy email and
thank you in advance for sharing your thoughts.

[1] https://bugreports.qt.io/browse/QTBUG-45209

Best regards,
Philipp Kerling



reply via email to

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