Skip to content

Windows: Fix builds using HarfBuzz as subproject

Chun-wei Fan requested to merge fix-707 into main

Hi,

As @otte reported in issue #707 (closed), this attempts to fix builds on Windows using HarfBuzz as a subproject, by:

  • Only check for the presence of the symbols in the HarfBuzz library if it is not an internal (i.e. subproject) dependency.
  • If we are building HarfBuzz as a subproject, enable GDI and DirectWrite support, and thus enable the code that uses the DirectWrite and GDI support HarfBuzz automatically (well, we are already enabling CoreText support for macOS, so we do this on the same token).
  • Reverting the use of HarfBuzz's Windows-specific platform APIs, and always use the former raw-data-based method, since the platform APIs (GDI-bsaed) didn't exist during the initial implementation when we switched to always using HarfBuzz for shaping.

We can see whether we will eventually get pkg-config files for HarfBuzz that enabled DirectWrite and/or GDI (and therefore FreeType and Quartz support), but that would probably be another issue.

Fixes issue #707 (closed).

With blessings, thank you!

Edited by Chun-wei Fan

Merge request reports