So verwenden Sie private Schriftarten in PDFSharp

Ich versuche, einem PDF-Dokument Text hinzuzufügen, indem ich private, d. H. Nicht auf dem System installierte TrueType-Schriftarten verwende und Probleme habe. Ich verwende PDFSharp + MigraDoc WPF Version 1.32.2608.0 von NuGet.

Ich habe zahlreiche Artikel im Forum und auf StackOverFlow gefunden. Das Neueste istdieser Stapelüberlauf Artikel, der auf @ verweidieses Beispiel auf der PdfSharp-Site. Dieses Beispiel enthält jedoch den Code:

this.fontFamilies.Add(key, fontFamily);

on Zeile 22, aber ich kann keinen Verweis auf fontFamilies in Assembly finden.

Ich habe daher verfolgt, was aussah wie einExzellentes Beispiel, aber es funktioniert bei mir nicht. Wenn ich diesen Ansatz verwende, kann ich die Schriftart erfolgreich hinzufügen, aber wenn ich den Befehl verwende:

var font = new XFont(fontStyle.Name, new XUnit(fontStyle.SizePt, XGraphicsUnit.Point), XFontStyle.Regular, _fontOptions);

WofontStyle.Name ist der Name der Schriftart ohne das # auf der Vorderseite. An diesem Punkt bricht PdfSharp in dasprivate void Initialise() -Methode im PdfSharp.Drawing-Namespace.

Inspektion der Variablen imInitialise Methode an dieser Stelle hat es:

Fand die Schriftfamilie, d. H.this.family != nullFund die Schriftart, d. H.this.typeface != null

Ich gehe davon aus, dass es auf der Linie brechenif (!typeface2.TryGetGlyphTypeface(out typeface)) aber ich kann nicht sicher sein.

Hinweis: Ich habe sowohl eine .ttf- als auch eine .otf-Schriftart ohne Erfolg ausprobiert.

Könnte mich bitte jemand in die richtige Richtung weisen?

Aktualisiere

m Ende habe ich zu @ gewechsePDFSharp WPF 1.50 beta als seine Schriftartbehandlung ist VIEL besser. Sieh dir das an SO post zu meinen zweiten Ausgaben und Informationen zumnew font resolver was mein Problem gelöst hat. Alles funktioniert jetzt gut.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage