Ich versuche, OTF Schriftart auf meinem System installiert, aber ich schlug fehl:
%Vor%Ich habe versucht, alle meine Schriftarten im System aufzulisten und tatsächlich habe ich die erforderliche Schriftart nicht gesehen:
%Vor%Aber ich kann meine Schriftart im Ordner Fonts sehen. Es hat OTF Erweiterung. Vielleicht ist das das Problem? Ich kann nur TTF -Schriften sehen. Aber warum? Wie kann ich von meinem Programm auf OTF-Schriftart zugreifen?
UPDATE: Entschuldigung, das Problem ist mit OTF Zugriff, aber nicht mit TTF ! Ich habe in meiner Antwort Korrekturen vorgenommen.
Das Problem besteht darin, dass OpenType-Schriftarten in verschiedenen Varianten verfügbar sind. Einer basiert auf TrueType-Umrissen und ein anderer auf PostScript-Typ-1-Umrissen. Die Windows GDI + -Grafik-API unterstützt keine PostScript-Typ-1-Gliederungen. Das ist etwas ironisch, da das OpenType-Schriftformat von Microsoft erstellt wurde, weil es nicht möglich war, einige Font-Technologien von Apple zu lizenzieren.
Wenn also eine Windows-Anwendung auf GDI + basiert, kann OpenType-Schriftarten nicht mit PostScript-Konturen vom Typ 1 oder PostScript-Schriftarten vom Typ 1 dargestellt werden. Leider ist System.Drawing
mit GDI + implementiert. Ihre einzige Option besteht darin, mit TrueType-Konturen an Schriftarten festzuhalten.
(Oder, wenn Sie wirklich verzweifelt sind, können Sie P / Invoke auf "klassische" GDI und rendern die Schriftart in eine Bitmap.)
Versuchen Sie, die System.Drawing.Text.InstalledFontCollection Ссылка
Tags und Links c# fonts true-type-fonts