IOW, how about just modifying the few methods of the HarfBuzz font
driver when DirectWrite is available, and otherwise leaving the
HarfBuzz font driver be the one which supports this? With Uniscribe
we had legacy support issues (Windows 9X etc.), but there's no such
problem with HarfBuzz vs DirectWrite, so adding yet another font
driver which needs to coexist with the others is a complexity I'd like
to avoid. In my mental model, we just use DirectWrite for low-level
drawing of font glyphs, and otherwise we still keep the HarfBuzz font
driver. Does that make sense?
+ hr = dwrite_factory->lpVtbl->
+ CreateCustomRenderingParams (dwrite_factory,
+ def->lpVtbl->GetGamma(def),
+ def->lpVtbl->GetEnhancedContrast(def),
+ def->lpVtbl->GetClearTypeLevel(def),
+ def->lpVtbl->GetPixelGeometry(def),
+ DWRITE_RENDERING_MODE_GDI_CLASSIC,
+ &rendering_params);
Are there some options for the rendering here that we perhaps need to
discuss? E.g., is DWRITE_RENDERING_MODE_GDI_CLASSIC the only
reasonable choice?