Schriftinformationen lesen

.NET-API-Lösung zum Abrufen von Schriftinformationen und Metriken.

 

Die Aspose.Font API-Lösung verfügt über umfangreiche Funktionen zum Arbeiten mit Schriftarten. Konvertierung, Glyph-Manipulationen, Erkennung lateinischer Symbole und vieles mehr. Einige der Funktionen sind mit Manipulationen mit Glyphen verknüpft, z. B. das Abrufen von Informationen über Glyphen, die in der Schriftart vorhanden sind.

Eine Glyphe ist ein individuell gestaltetes Zeichen einer Schriftart oder eine grafische Darstellung eines Symbols/Zeichens. Um mehr über diese Schriftarteinheit zu erfahren, lesen Sie den Artikel Einführung in Glyph .

Diese Seite beschreibt die Option zum Abrufen verschiedener Schriftartmetriken (Glyphenanzahl, Buchstabenhöhe, Breite der Glyphe ‘A’ usw.), aber die gesamte Funktionalität wird ausführlich im Using Glyph objects Artikel. Dieses Beispiel enthält auch einen Teil des Codes zum Abrufen von Schriftartmetadaten, Schriftartname, um genau zu sein. Solche Funktionen können in Websoftware wie die App Font Metadata implementiert werden, die Aspose in seinem Ökosystem hat.

Um Schriftmetriken zu erhalten, benötigen wir:

  • Aspose.Font für die .NET-API, eine funktionsreiche, leistungsstarke und benutzerfreundliche API zur Dokumentenbearbeitung und -konvertierung für die C#-Plattform.

  • Öffnen Sie den NuGet-Paket-Manager, suchen Sie nach Aspose.Font und installieren Sie es. Sie können auch den folgenden Befehl in der Paket-Manager-Konsole verwenden.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Schritte zum Abrufen von Schriftartmetriken mit C#:

  1. Geben Sie die Schriftart an, aus der Informationen extrahiert werden sollen.
  2. Verwenden Sie eine Schnittstelle Aspose.Font.IFontMetrics , um die angegebenen Metriken abzurufen.
  3. Rufen Sie die Cmap-Unicode-Codierungstabelle aus der Schriftart als Objekt TtfCMapFormatBaseTable ab, um auf Informationen über die benötigte Schriftart-Glyphe zuzugreifen.
  4. Um den Glyphenindex für das Symbol „A“ zu erhalten, verwenden Sie die Methode GetGlyphIndex() .
  5. Lassen Sie die Glyphenmetriken drucken.

C#-Code zum Abrufen von Informationen über Glyphen der Schriftart

    using Aspose.Font;
    using Aspose.Font.Glyphs;
    using Aspose.Font.Ttf;
    //Font to extract info from
    TtfFont font;
    string name = font.FontName;
    Console.WriteLine("Font name: " + name);
    Console.WriteLine("Glyph count: " + font.NumGlyphs);
    string metrics = string.Format(
        "Font metrics: ascender - {0}, descender - {1}, typo ascender = {2}, typo descender = {3}, UnitsPerEm = {4}",
        font.Metrics.Ascender, font.Metrics.Descender,
        font.Metrics.TypoAscender, font.Metrics.TypoDescender, font.Metrics.UnitsPerEM);

    Console.WriteLine(metrics);

    //Get the cmap unicode encoding table from the font as an object TtfCMapFormatBaseTable to access information about the font glyph for symbol 'A'.
    //Also check that font has the object TtfGlyfTable (table 'glyf') to access glyph.
    Aspose.Font.TtfCMapFormats.TtfCMapFormatBaseTable cmapTable = null;
    if (font.TtfTables.CMapTable != null)
    {
        cmapTable = font.TtfTables.CMapTable.FindUnicodeTable();
    }
    if (cmapTable != null && font.TtfTables.GlyfTable != null)
    {
        Console.WriteLine("Font cmap unicode table: PlatformID = " + cmapTable.PlatformId + ", PlatformSpecificID = " + cmapTable.PlatformSpecificId);

        //Code for 'A' symbol
        char unicode = (char)65;

        //Glyph index for 'A'
        uint glIndex = cmapTable.GetGlyphIndex(unicode);

        if (glIndex != 0)
        {
            //Glyph for 'A'
            Glyph glyph = font.GetGlyphById(glIndex);
            if (glyph != null)
            {
                //Print glyph metrics
                Console.WriteLine("Glyph metrics for 'A' symbol:");
                string bbox = string.Format(
                    "Glyph BBox: Xmin = {0}, Xmax = {1}" + ", Ymin = {2}, Ymax = {3}",
                    glyph.GlyphBBox.XMin, glyph.GlyphBBox.XMax,
                    glyph.GlyphBBox.YMin, glyph.GlyphBBox.YMax);
                Console.WriteLine(bbox);
                Console.WriteLine("Width:" + font.Metrics.GetGlyphWidth(new GlyphUInt32Id(glIndex)));
            }
        }
    }



FAQ

1. Was ist die Schriftartmetrik?

Es ist die Eigenschaft, die bestimmt, wie die Schriftart auf dem Bildschirm gerendert wird. Einige der Metriken wie Aufstieg, Abstieg, Breite und Kerning ähneln Glyph-Metriken .

2. Wie erhalte ich Schriftartmetriken?

Geben Sie die Schriftart an, mit der Sie arbeiten möchten. Extrahieren Sie mithilfe der Eigenschaften der Aspose.Font.IFontMetrics-Klassenschnittstelle die Informationen zu Schriftartmetriken, die Sie benötigen.

3. Was sind Font-Metadaten?

Schriftart-Metadaten sind im Grunde Informationen darüber. Es enthält viele Daten wie Schriftname, Schriftfamilienname, Postscript-Name, Lizenzierung, Autoren- und Designerinformationen und vieles mehr.

4. Wie ändere ich Schriftart-Metadaten?

Um Schriftinformationen online anzuzeigen oder zu ändern, verwenden Sie unsere Anwendung Font Metadata .