Cómo obtener métricas de fuentes en C#

En esta guía paso a paso, explicaremos cómo obtener métricas de fuentes en C#. Este tutorial proporciona código para obtener métricas de fuentes Type1 en C#, pero Aspose.Font for .NET, una biblioteca de fuentes de C#, lo ayuda a leer las métricas de fuentes en C# de otros tipos de fuentes, incluidos los formatos de fuentes TruType y OpenType.

Pasos para obtener métricas de fuentes en C#

  1. Instale el paquete Aspose.Font for .NET desde NuGet.org
  2. Incluir espacios de nombres Aspose.Font, Aspose.Font.Sources y Aspose.Font.Type1
  3. Aplique la licencia a Aspose.Font para .NET para evitar la marca de agua de evaluación
  4. Cargue la fuente Type1 de entrada en el objeto FileSystemStreamSource
  5. Cree un objeto FontFileDefinition desde la fuente de flujo
  6. Cree un objeto FontDefinition a partir de la definición del archivo
  7. Abrir definición de fuente como objeto Type1Font
  8. Ahora, obtenga todos los atributos de métricas de la fuente Type1

Una fuente contiene información métrica que ayuda a describir los glifos dentro de una fuente. Esta información métrica de las fuentes ayuda a una computadora a aprender cómo dibujar caracteres y oraciones en la pantalla. Si queremos procesar esta información de métricas vía código en nuestras aplicaciones .NET, no es una tarea fácil. Sin embargo, Aspose.Font para .NET ayuda a que todo el proceso sea muy simple y fácil siguiendo unos pocos pasos, como se mencionó anteriormente.

Código para obtener métricas de fuentes en C#

using System;
//Add reference to Aspose.Font for .NET API
//Use following namespaces to get font metrics
using Aspose.Font;
using Aspose.Font.Sources;
using Aspose.Font.Type1;
namespace GetFontMetrics
{
class Program
{
static void Main(string[] args)
{
//Set Aspose license before getting font metrics
//using Aspose.Font for .NET
Aspose.Font.License AsposeFontLicense = new Aspose.Font.License();
AsposeFontLicense.SetLicense(@"c:\asposelicense\license.lic");
//Load Type1 font into a file stream object & read font definition
FileSystemStreamSource Type1FontFileSource = new FileSystemStreamSource("SampleInputType1Font.pfb");
FontFileDefinition Type1FontFileDefintion = new FontFileDefinition(Type1FontFileSource);
FontDefinition Type1FontDefinition = new FontDefinition(FontType.Type1, Type1FontFileDefintion);
//Open Type1 font
Type1Font InputType1Font = Font.Open(Type1FontDefinition) as Type1Font;
//Read font metrics information and use it for further processing
string FontName = InputType1Font.FontName;
int FontGlyphcount = InputType1Font.NumGlyphs;
double FontMetricsAscender = InputType1Font.Metrics.Ascender;
double FontMetricsDescender = InputType1Font.Metrics.Descender;
double FontMetricsTypoAscender = InputType1Font.Metrics.TypoAscender;
double FontMetricsTypoDescender = InputType1Font.Metrics.TypoDescender;
double FontMetricsUnitsPerEM = InputType1Font.Metrics.UnitsPerEM;
//display information to console in this case
Console.WriteLine(
"Font Name: {0}, " +
"Glyph Count: {1}, " +
"Asender: {2}, " +
"Descender: {3}, " +
"Typo Ascender: {4}, " +
"Typo Descender: {5}, " +
"Units Per EM: {6}",
FontName,
FontGlyphcount,
FontMetricsAscender,
FontMetricsDescender,
FontMetricsTypoAscender,
FontMetricsTypoDescender,
FontMetricsUnitsPerEM
);
}
}
}

En el código anterior, estamos cargando un formato de archivo PFB, que contiene nuestra fuente Type1 que nos interesa procesar en código C#. Una vez que hayamos cargado font y lo hayamos convertido en un objeto Type1Font, podremos extraer métricas de fuente en C# de este archivo.

Este código puede ayudarlo a crear un lector de fuentes C# fácilmente en sus aplicaciones .NET, incluidas las aplicaciones web, de escritorio, Windows y Microsoft Store.

 Español