The following modifications have been committed:
- New
TPdfDocument.UseFontFallBack
property (enabled by default) and associatedFontFallBackName
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 inDrawEmfGdip()
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!