Funktioniert Gdiplus nicht mit allen Schriften?
-
Um einzelne transparente Textzeichen auszugeben, nutze ich Graphics::DrawDriverString der Gdiplus. Das funktioniert soweit alles gut.
Jetzt habe ich aber verschiedene Schriften durchprobiert und festgestellt, dass einige nicht ausgegeben werden. Dazu gehören z.B. Minion Pro, Myriad Pro, Chaparral Pro, Cooper Std Black, Kodzuka Mincho, Letter Gothic Std usw.
Die ganzen Standardschriften, die bei Windows üblicherweise dabei sind, funktionieren wahrscheinlich (man weiß ja nicht so genau, was anfangs installiert war).Im SDK kann man nachlesen, dass GDI+ nur TrueType- und OpenType-Schriften mit Outline-Definition verarbeiten kann. Gibt es überhaupt andere Definitionen? Bitmap- und Vektorschriften sind doch sowieso keine TrueTypes oder OpenTypes!
Insbesondere Minion Pro und Myriad Pro sind speziell erworbene lizenzpflichtige Schriften, die hier auch nicht funktionieren. Die Herkunft der anderen kann man nicht immer nachvollziehen.Ist es so, dass Gdiplus hier gegenüber Gdi Einschränkungen hat?
Anmerkung:
Graphics::DrawString bringt hier übrigens keine Vorteile gegenüber DrawDriverString!
-
Das Problem hat sich geklärt. Gdiplus unterstützt keine Postscript-Fonts und keine Type1- oder Type2-Fonts, welche die Outline-Konturen über Postscript-Konturen definieren. Die Gdi hingegen schon.
Und das ist schon seit Win XP so und hat sich noch nicht geändert!Die Outlines müssen über TrueType-Konturen definiert sein. Hier stoßen die Microsoft- und Adobe-(Mac-)Welten mal wieder zusammen wie zu Zeiten des Adobe FontType-Managers.