Leer información de fuentes

Solución API .NET para obtener información de fuentes y métricas.

 

Aspose.Font API Solution tiene una rica funcionalidad para trabajar con fuentes. Conversión, manipulaciones de glifos, detección de símbolos latinos y muchos más. Algunas de las funciones están vinculadas a manipulaciones con glifos, como obtener información sobre los glifos que están presentes en la fuente.

Un glifo es un carácter diseñado individualmente de un tipo de letra o una representación gráfica de un símbolo/carácter. Para obtener más información sobre esta unidad de fuente, lea el artículo Introducción a Glyph .

Esta página describe la opción sobre cómo obtener diferentes métricas de fuente (recuento de glifos, altura de letras, ancho del glifo ‘A’, etc.), pero toda la funcionalidad se describe cuidadosamente en Uso de objetos Glyph artículo. Este ejemplo también incluye una parte del código para obtener los metadatos de la fuente, el nombre de la fuente para ser específico. Dicha funcionalidad se puede implementar en software web como la aplicación Font Metadata que Aspose tiene en su ecosistema.

Para recibir métricas de fuentes necesitamos:

  • Aspose.Font para .NET API, que es una API de conversión y manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma C#.

  • Abra el administrador de paquetes NuGet y busque Aspose.Font e instálelo. También puede usar el siguiente comando desde la Consola del administrador de paquetes.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Pasos para obtener métricas de fuentes usando C#:

  1. Especifique la fuente de la que extraer información.
  2. Utilice una interfaz Aspose.Font.IFontMetrics para obtener las métricas especificadas.
  3. Obtenga la tabla de codificación Unicode cmap de la fuente como objeto TtfCMapFormatBaseTable para acceder a la información sobre el glifo de fuente necesario.
  4. Para obtener el índice de glifos para el símbolo ‘A’, use el método GetGlyphIndex() .
  5. Obtenga las métricas de glifo impresas.

Código C# para obtener información sobre los glifos de la fuente

    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)));
            }
        }
    }



Preguntas más frecuentes

1. ¿Cuál es la métrica de la fuente?

Es la propiedad que determina la forma en que la fuente se representará en la pantalla. Algunas de las métricas, como el ascenso, el descenso, el ancho y el kerning, son similares a Glyph metrics .

2. ¿Cómo obtengo métricas de fuentes?

Especifique la fuente con la que desea trabajar. Usando las propiedades de la interfaz de clase Aspose.Font.IFontMetrics, extraiga la información sobre las métricas de fuente que necesita.

3. ¿Qué son los metadatos de fuentes?

Los metadatos de fuentes son básicamente información al respecto. Incluye muchos datos como el nombre de la fuente, el nombre de la familia de fuentes, el nombre de Postscript, la licencia, la información del autor y del diseñador, y mucho más.

4. ¿Cómo cambio los metadatos de la fuente?

Para ver o cambiar la información de fuentes en línea, use nuestra aplicación Font Metadata .