Leggi le informazioni sui caratteri

Soluzione API .NET per ottenere informazioni e metriche sui caratteri.

 

Aspose.Font API Solution ha una ricca funzionalità per lavorare con i caratteri. Conversione, manipolazioni di glifi, rilevamento di simboli latini e molti altri. Alcune delle funzionalità sono collegate a manipolazioni con glifi come ottenere informazioni sui glifi presenti nel carattere.

Un glifo è un carattere disegnato individualmente di un carattere tipografico o una rappresentazione grafica di un simbolo/carattere. Per ulteriori informazioni su questa unità di caratteri, leggi l’articolo Introduction to Glyph .

Questa pagina descrive l’opzione su come ottenere diverse metriche dei caratteri (conteggio dei glifi, altezza delle lettere, larghezza del glifo ‘A’, ecc.), ma l’intera funzionalità è accuratamente descritta in Utilizzo degli oggetti glifo articolo. Questo esempio include anche una parte del codice per ottenere i metadati dei font, font Name se per essere specifico. Tale funzionalità può essere implementata in software web come l’app Font Metadata che Aspose ha nel suo ecosistema.

Per ricevere le metriche dei caratteri abbiamo bisogno di:

  • Aspose.Font per .NET API che è un'API di conversione e manipolazione dei documenti ricca di funzionalità, potente e facile da usare per la piattaforma C#.

  • Apri il gestore di pacchetti NuGet e cerca Aspose.Font e installa. È inoltre possibile utilizzare il seguente comando dalla Console di gestione pacchetti.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Passaggi per ottenere le metriche dei caratteri utilizzando C#:

  1. Specifica il carattere da cui estrarre le informazioni.
  2. Utilizzare un’interfaccia Aspose.Font.IFontMetrics per ottenere le metriche specificate.
  3. Ottieni la tabella di codifica Unicode cmap dal font as object TtfCMapFormatBaseTable per accedere alle informazioni sul glifo del font necessario.
  4. Per ottenere l’indice del glifo per il simbolo ‘A’, utilizzare il metodo GetGlyphIndex() .
  5. Ottieni la metrica del glifo stampata.

Codice C# per ottenere informazioni sui glifi del carattere

    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 .