hello,

My name is Felipe Sanches. I'm currently the maintainer of and
lead-developer in the Font Bakery project, which is a typography
quality-assurance testsuite:

https://github.com/googlefonts/fontbakery/

=====
short summary:
I want to help upstream HinTak's diagnostics patches into freetype and I'm
writing this message to get feedback from the freetype
developers/maintainers regarding which specific issues you'd like to see
addressed in the patch-set in order to get it merged.

More details and background info below.
=====

Font Bakery is a typography test-suite primarily developed to aid in the
process of on-boarding fonts into the Google Fonts collection, but it is
pretty much useful for asserting the quality of font files (and families)
for the general users as well.

Alongside more than a hundred tests that we implemented in python using
fontTools, Font Bakery also includes third-party font testing tools such as
the Microsoft Font Validator. Among the MS FontVal checks there are a few
that focus on validation of TrueType hinting instructions.

When Microsoft released FontVal as free software those tests were not
included in the source code release. HinTak has been working on FontVal in
its post-Microsoft incarnation and he did re-implement those hinting checks
by adding a minimalist "diagnostics" API into freetype and using it to
register a callback to a user application such as FontVal and placing its
calls in very specific places in the freetype's hinting VM interpreter.

My understanding is that freetype already deals with detecting and
working-around a vast number of cases of badly hinted fonts (or even
corrupted hinting instruction blocks). So, the actual error detection
routines are already part of freetype's current interpreter implementation.
HinTak's patches simply benefit from those error-detection routines by
providing an API that informs a user application about those errors (so
that FontVal, for instance, can report them in a font testing log).

Behdad at some point observed that the 2 callbacks in HinTak's new API
implementation should not be left as globals in the code, but instead
should be moved to FT_Library.
http://lists.nongnu.org/archive/html/freetype-devel/2016-07/msg00012.html

Even though HinTak has reimplemented the full original set of 70 hinting
tests, only a small patch with 6 of them was made publicly available
up-to-know. So the resulting binaries that are packaged into and
distributed as FontVal 2.1.1 are effectively proprietary software (since
they lack some of the corresponding source code under a free license). I
assume that was also the case in a few of the past FontVal releases as well.

I'd like to help fix that problem because I want to have those tests
running on Font Bakery without adding a non-free dependency to the project
(I do have a strong commitment to software freedom). HinTak suggested that
prior to releasing the rest of the patch-set he would like to get the
global vars issue sorted out. So I'm offering here my help to do so, but
before actually massaging HinTak's first patch I'd like to hear from the
freetype developers if there's any other concern that you'd wish to have
addressed on the patch.

Additionaly, I should note that HinTak has also provided some more details
on this topic (including a link to the first patch) here:

https://github.com/HinTak/Font-Validator/wiki/FAQ#the-heavily-customized-freetype-backend

happy hacking,
Felipe Sanches
_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to