Überprüfen Sie die Unterstützung lateinischer Symbole für TrueType- oder Type1-Schriftarten in C#

Ein lateinisches Zeichensymbol ist ein Zeichen in Form einer Marke, eines Zeichens oder eines Wortes. Schriftart definiert, wie die Zeichen/Symbole digital oder in einer druckbaren Form unter Verwendung einer Reihe von Eigenschaften angezeigt werden sollen. Die Schriftartdatei enthält das Design und andere Informationen zur Schriftart. In bestimmten Fällen müssen wir möglicherweise prüfen, ob eine bestimmte Schriftart lateinische Symbole unterstützt oder nicht. In diesem Artikel erfahren Sie, wie Sie die Unterstützung lateinischer Symbole für TrueType- oder Type1-Schriftarten in C# überprüfen.

Folgende Themen sollen in diesem Artikel behandelt werden:

  1. C#-API zum Erkennen der Unterstützung lateinischer Symbole in Schriftarten
  2. Lateinische Symbole in TrueType-Schriftarten mit C# erkennen
  3. Lateinische Symbole in Type1-Schriftarten mit C# erkennen

C#-API zum Erkennen der Unterstützung lateinischer Symbole in Schriftarten

Zur Erkennung der Unterstützung lateinischer Symbole in Schriftarten verwenden wir die API Aspose.Font for .NET. Es ermöglicht das Laden, Speichern und Extrahieren von Informationen aus unterstützten Schriftarten. Bitte downloaden Sie die DLL der API oder installieren Sie sie mit NuGet.

PM> Install-Package Aspose.Font

Lateinische Symbole in TrueType-Schriftarten mit C# erkennen

Wir können lateinische Symbole in den TrueType-Schriftarten erkennen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst die Schriftartdatei mit der Klasse FontFileDefinition.
  2. Initialisieren Sie als Nächstes das Klassenobjekt FontDefinition mit FontType (TTF) und dem FontFileDefinition-Objekt als Argumente.
  3. Rufen Sie dann die Methode Font.Open() mit dem FontDefinition-Objekt als Argument auf und initialisieren Sie das Klassenobjekt TtfFont.
  4. Durchlaufen Sie danach die verschiedenen Codes und dekodieren Sie sie in Glyph IDs.
  5. Überprüfen Sie abschließend die Glyphen-IDs auf die Unterstützung lateinischer Symbole.

Das folgende Codebeispiel zeigt, wie in C# erkannt wird, ob eine bestimmte TrueType-Schriftart lateinische Symbole unterstützt oder nicht.

// Dieses Codebeispiel zeigt, wie Sie erkennen, ob eine bestimmte TrueType-Schriftart lateinische Symbole unterstützt oder nicht.
// TTF-Dateipfad
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Laden Sie die Schriftartdatei
FontFileDefinition fontFileDefinition = new FontFileDefinition("ttf", new FileSystemStreamSource(fontPath));

// Schriftdefinitionsobjekt
FontDefinition fd = new FontDefinition(FontType.TTF, fontFileDefinition);

// Öffnen Sie die Schriftart
TtfFont font = (TtfFont)Font.Open(fd);

var latinText = true;

// Prüfen Sie, ob lateinische Symbole unterstützt werden
for (uint code = 65; code < 123; code++)
{
    GlyphId gid = font.Encoding.DecodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.NotDefId)
    {
        latinText = false;
    }
}

if (latinText)
{
    Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
    Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}

Lateinische Symbole in Type1-Schriftarten mit C# erkennen

Wir können auch lateinische Symbole in den Type1-Schriftarten erkennen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst die Schriftartdatei mit der Klasse FontFileDefinition.
  2. Initialisieren Sie als Nächstes das Klassenobjekt FontDefinition mit FontType (Type1) und dem FontFileDefinition-Objekt als Argumente.
  3. Rufen Sie dann die Methode Font.Open() mit dem FontDefinition-Objekt als Argument auf und initialisieren Sie das Klassenobjekt Type1Font.
  4. Durchlaufen Sie danach die verschiedenen Codes und dekodieren Sie sie in Glyph IDs.
  5. Überprüfen Sie abschließend die Glyphen-IDs auf die Unterstützung lateinischer Symbole.

Das folgende Codebeispiel zeigt, wie in C# erkannt wird, ob eine bestimmte Type1-Schriftart lateinische Symbole unterstützt oder nicht.

// Dieses Codebeispiel zeigt, wie man erkennt, ob eine bestimmte Type1-Schriftart lateinische Symbole unterstützt oder nicht.
// Typ1-Schriftartdateipfad
string fontPath = @"D:\Files\font\courier.pfb";

// Laden Sie die Schriftartdatei
FontFileDefinition fontFileDefinition = new FontFileDefinition("pfb", new FileSystemStreamSource(fontPath));

// Schriftdefinitionsobjekt
FontDefinition fd = new FontDefinition(FontType.Type1, fontFileDefinition);

// Öffnen Sie die Schriftart
Type1Font font = (Type1Font)Font.Open(fd);

var latinText = true;

// Prüfen Sie, ob lateinische Symbole unterstützt werden
for (uint code = 65; code < 123; code++)
{
    GlyphId gid = font.Encoding.DecodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.NotDefId)
    {
        latinText = false;
    }
}

if (latinText)
{
    Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
    Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie Sie feststellen können, ob eine bestimmte TrueType- oder Type1-Schriftart lateinische Symbole in C# unterstützt oder nicht. Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.Font für die .NET-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch