The following modifications have been committed:

  • New TPdfDocument.UseFontFallBack property (enabled by default) and associated FontFallBackName property (set to 'Arial Unicode MS' by default), used to define if the PDF document will handle "font fallback" for characters not existing in the current font: it will avoid rendering block/square symbols instead of the correct characters (e.g. for Chinese text);
  • New TGDIPlusFull.ForceUseDrawString property for properly handling font fall-back if needed when drawing text (disabled by default), and corresponding parameter in DrawEmfGdip() function;
  • Now implements font fall-back in internal Anti-Aliaised drawing of TGdiPages, if the new ForceInternalAntiAliasedFontFallBack property is set to TRUE.

In fact, the EMF to EMF+ conversion routine included in GDI+ 1.1 is not able to implement font-fallback (and text underlining, by the way).
Our Delphi-based conversion code sounds definitively better than the original! That is the reason why our internal code is enabled by default, instead of GDI+ 1.1 GdipConvertToEmfPlus API call.

I think it is perhaps now time for a 1.17 release of our mORMot units, as a bug-fix version.

Comments are welcome on our forum!