Leggi le informazioni del carattere

.NET API Solution per ottenere informazioni e metriche dei caratteri.

 

Aspose.Font API Solution offre una ricca funzionalità per lavorare con i font. Conversione, manipolazioni di glifi, rilevamento di simboli latini e molto altro. Alcune delle caratteristiche sono legate alle manipolazioni dei glifi, come ottenere informazioni sui glifi presenti nel font.

Un glifo è un carattere progettato individualmente di un tipo di carattere o una rappresentazione grafica di un simbolo/carattere. Per saperne di più su questa unità tipografica, leggi l’articolo Introduzione al Glifo .

Questa pagina descrive le opzioni su come ottenere diverse metriche dei font (conteggio glifi, altezza della lettera, larghezza del glifo ‘A’, ecc.) ma l’intera funzionalità è descritta in dettaglio nell’articolo Utilizzo degli oggetti Glifo . Questo esempio include anche una parte di codice per ottenere i metadati del font, il nome del font se necessario. Tale funzionalità può essere implementata in software web come l’app Font Metadata presente nell’ecosistema Aspose.

Per ottenere le metriche dei font abbiamo bisogno di:

  • Aspose.Font per .NET API, una soluzione ricca di funzionalità, potente e facile da usare per la manipolazione e conversione dei documenti sulla piattaforma C#.

  • Apri il gestore dei pacchetti NuGet, cerca Aspose.Font e installalo. Puoi anche usare il seguente comando dalla Console del Gestore Pacchetti.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Passaggi per ottenere le metriche dei font usando C#:

  1. Specifica il font da cui estrarre le informazioni.
  2. Utilizza l’interfaccia Aspose.Font.IFontMetrics per ottenere le metriche specificate.
  3. Ottieni la tabella di codifica Unicode cmap dal font come oggetto TtfCMapFormatBaseTable per accedere alle informazioni sul glifo del font necessario.
  4. Per ottenere l’indice del glifo per il simbolo ‘A’ usa il metodo GetGlyphIndex() .
  5. Ottieni le metriche del glifo stampate.

Codice C# per ottenere informazioni sui glifi del font

    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. Qual è la metrica del carattere?

È la proprietà che determina il modo in cui il carattere verrà visualizzato sullo schermo. Alcune delle metriche come ascesa, discesa, larghezza e crenatura sono simili a Metriche dei glifi .

2. Come ottengo le metriche dei caratteri?

Specifica il carattere con cui vuoi lavorare. Utilizzando le proprietà dell’interfaccia della classe Aspose.Font.IFontMetrics, estrai le informazioni sulla metrica dei caratteri di cui hai bisogno.

3. Cosa sono i metadati dei caratteri?

I metadati dei caratteri sono fondamentalmente informazioni al riguardo. Include molti dati come il nome del carattere, il nome della famiglia del carattere, il nome Postscript, le informazioni sulla licenza, sull’autore e sul designer e molto altro.

4. Come si modificano i metadati dei caratteri?

Per visualizzare o modificare le informazioni sui caratteri online, utilizza la nostra applicazione Metadati dei caratteri .