[HarfBuzz] Building and testing HarfBuzz 2.3.0 on MinGW

Eli Zaretskii eliz at gnu.org
Sat Jan 26 17:35:24 UTC 2019


I'm resending this after subscribing to the list, since my original
message, send a month ago, only got an automated response that it's
waiting for a moderator.  (Does someone actually tend to the
moderator's tasks of this list?)

I've built HarfBuzz 2.3.0 on MS-Windows using mingw.org's MinGW
(https://osdn.net/projects/mingw/, different from MinGW64).  In
general, the build was successful, with a small number of changes that
I will soon report to the issue tracker.

I have a few questions/suggestions as result of this experience, which
I'd like to voice.  Thanks in advance for any responses.

1) It would be good to have some guidance in some README or in the
HTML docs regarding the optional dependencies and configuration
options, and their significance.  For example, it turns out Glib is
needed to run a large portion of the test suite, something that wasn't
clear (I initially concluded that I didn't need Glib at all).  Also,
hb-shape is not built if Glib isn't available.  Similarly, hb-view is
not build unless both Cairo and cairo-ft are available.

2) Several tests fail.  For example, "indic-joiners" and "use" in
shaping/data/in-house, CVAR-1 and CVAR-2 in
shaping/data/text-rendering-tests, most of the gpos_* tests in
shaping/data/aots:, etc.  I also built HarfBuzz on GNU/Linux, and I
see failures in almost the same tests.  The reason for the failures
are some differences between the expected and the actual outputs.  Are
these real problems, for which you'd like me to report issues, or is
this a known problem?  Did someone succeed to run the entire test
suite without a single failure?

3) I'm uncertain about the use of Uniscribe in the Windows build.  I
was told that it was only used "for comparison", which I interpreted
to mean it was used in the test suite.  But I don't think it's the
case, since the Uniscribe dependent functions of HarfBuzz are in the
library, so it seems like Uniscribe is used by the library itself.
What is the purpose of using Uniscribe (and DirectWrite, when that is
compiled in)?


More information about the HarfBuzz mailing list