* Undone change for Tibetan vowel u
* removed comment on reordering that became invalid with roll-back
* Support for Dzongkha contractions with multiple vowel-signs
* Removed non-functional and unnecessary defines for HB_MODIFIED_COMBINING_CLASS_CCC138,140
Add Python scripts to generate the full win32/config.h.win32 and
src/hb-version.h which can be used to build directly from a GIT
checkout. Since the scripts are currently intended for building from a
GIT checkout, these are not distributed in the release tarballs.
Also, support the re-build of Ragel-generated .hh headers using the NMake
build system, and allow one to specify the path of the Ragel executable
if a suitable one cannot be found in the PATH.
Update the Win32/NMake build documentation to let people know about how
these mechanisms can be utilized.
If an application provides a malloc replacement through
hb_malloc_impl() it is important that it is used to allocate
everything, but the use of strdup() circumvents this and
causes system malloc() to be called instead. This pairs
badly with the custom hb_free_impl() being called later.
clang's new -Wcomma compiler option warns about possible misuse of the
comma operator such as between two statements.
hb-common.cc:190:9 [-Wcomma] possible misuse of comma operator here
hb-ot-layout-gsubgpos-private.hh:345:30 [-Wcomma] possible misuse of
comma operator here
hb-shape-plan.cc:438:26 [-Wcomma] possible misuse of comma operator here
There are more broken versions of Tahoma out there on various Windows releases,
so we need to add them to our blacklist to avoid broken rendering.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 for details.
Fix the check conditions in config-msvc.mak and info-msvc.mak so that
the ICU items does indeed get built into the HarfBuzz main DLL, and that
the correct configuration info is displayed.
Also update the checks in detectenv-msvc.mak so that we can detect that
we are using Visual Studio 2017 (although the 2015-built binaries use
the same CRT DLL as the 2017 ones).
Visual Studio only supported strtof() from Visual Studio 2013 onwards, so
use strtod() instead to do the operation, which should do the same thing,
sans going to a double, not a float.
The sources in src/hb-ucdn and not included correctly into the NMake
Makefiles, as we need their explicit relative location as we pass all the
sources we used into the introspection scanner. This was not an issue
before as we excluded the UCDN sources in the build when we enabled
introspection (meaning GLib is enabled), but since we default on using
UCDN on all builds unless explicitly disabled, we need to deal with this.
This did not affect builds using UCDN without introspection due to the use
of NMake batch rules.
Fix this by creating a NMake Makefile module on-the-fly with the correct
subdir info, and using that list in there instead.
We now use UCDN by default, so make it so in the build files; however
don't hardcode HAVE_UCDN as one may still opt not to use it (but pass
it in as a CFLAG unless one explicitly disables UCDN by using NO_UCDN=1
on the NMake command line).
Note that we are not blocking builds where UCDN is disabled along with
GLib and ICU, as that will trigger a build error anyways which will tell
the user what needs to be done to remedy this.
In https://crbug.com/681813 another instance of Padauk was identified
triggering collapsed glyphs. Blacklist this version by patching
hb-ot-layout.cc to print out gdef, gsub, and gpos table length, then
adding those to the list of blacklisted versions.