FontFallbackSettings

FontFallbackSettings class

Gibt die Einstellungen für den Fallback-Mechanismus für Schriftarten an.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Schriftarten Dokumentationsartikel.

public class FontFallbackSettings

Methoden

NameBeschreibung
BuildAutomatic()Erstellt automatisch die Fallback-Einstellungen durch Scannen verfügbarer Schriftarten.
Load(Stream)Lädt Fallback-Einstellungen aus dem XML-Stream.
Load(string)Lädt die Fallback-Einstellungen für Schriftarten aus einer XML-Datei.
LoadMsOfficeFallbackSettings()Lädt vordefinierte Fallback-Einstellungen, die den Fallback von Microsoft Word nachahmen und Microsoft Office-Schriftarten verwenden.
LoadNotoFallbackSettings()Lädt vordefinierte Fallback-Einstellungen, die Google Noto-Schriftarten verwenden.
Save(Stream)Speichert die aktuellen Fallback-Einstellungen im Stream.
Save(string)Speichert die aktuellen Fallback-Einstellungen in einer Datei.

Bemerkungen

Standardmäßig werden Fallback-Einstellungen mit vordefinierten Einstellungen initialisiert, die den Fallback von Microsoft Word nachahmen.

Beispiele

Zeigt, wie Fallback-Schriftarten über Unicode-Zeichencodebereiche verteilt werden.

Document doc = new Document();

FontSettings fontSettings = new FontSettings();
doc.FontSettings = fontSettings;
FontFallbackSettings fontFallbackSettings = fontSettings.FallbackSettings;

// Konfigurieren Sie unsere Schriftarteinstellungen so, dass Schriftarten nur aus dem Ordner „MyFonts“ bezogen werden.
FolderFontSource folderFontSource = new FolderFontSource(FontsDir, false);
fontSettings.SetFontsSources(new FontSourceBase[] {folderFontSource});

// Durch Aufrufen der Methode „BuildAutomatic“ wird ein Fallback-Schema generiert, das
// verteilt zugängliche Schriftarten auf so viele Unicode-Zeichencodes wie möglich.
// In unserem Fall hat es nur Zugriff auf die Handvoll Schriftarten im Ordner „MyFonts“.
fontFallbackSettings.BuildAutomatic();
fontFallbackSettings.Save(ArtifactsDir + "FontSettings.FallbackSettingsCustom.BuildAutomatic.xml");

// Wir können auch ein benutzerdefiniertes Substitutionsschema aus einer Datei wie dieser laden.
// Dieses Schema wendet die Schriftart "AllegroOpen" auf die Unicode-Blöcke "0000-00ff" an, die Schriftart "AllegroOpen" auf die Blöcke "0100-024f",
// und die Schriftart „M+ 2m“ in allen anderen Bereichen, die von anderen Schriftarten im Schema nicht abgedeckt werden.
fontFallbackSettings.Load(MyDir + "Custom font fallback settings.xml");

// Erstellen Sie einen Dokumentgenerator und legen Sie seine Schriftart auf eine fest, die in keiner unserer Quellen vorhanden ist.
// Unsere Schriftarteinstellungen rufen das Fallback-Schema für Zeichen auf, die wir mit der nicht verfügbaren Schriftart eingeben.
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Font.Name = "Missing Font";

// Verwenden Sie den Builder, um jedes Unicode-Zeichen von 0x0021 bis 0x052F zu drucken.
// mit beschreibenden Linien, die die Unicode-Blöcke trennen, die wir in unserem benutzerdefinierten Schriftart-Fallback-Schema definiert haben.
for (int i = 0x0021; i < 0x0530; i++)
{
    switch (i)
    {
        case 0x0021:
            builder.Writeln(
                "\n\n0x0021 - 0x00FF: \nBasic Latin/Latin-1 Supplement Unicode blocks in \"AllegroOpen\" font:");
            break;
        case 0x0100:
            builder.Writeln(
                "\n\n0x0100 - 0x024F: \nLatin Extended A/B blocks, mostly in \"AllegroOpen\" font:");
            break;
        case 0x0250:
            builder.Writeln("\n\n0x0250 - 0x052F: \nIPA/Greek/Cyrillic blocks in \"M+ 2m\" font:");
            break;
    }

    builder.Write($"{Convert.ToChar(i)}");
}

doc.Save(ArtifactsDir + "FontSettings.FallbackSettingsCustom.pdf");

Siehe auch