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#
- Instale el paquete Aspose.Font for .NET desde NuGet.org
- Incluir espacios de nombres Aspose.Font, Aspose.Font.Sources y Aspose.Font.Type1
- Aplique la licencia a Aspose.Font para .NET para evitar la marca de agua de evaluación
- Cargue la fuente Type1 de entrada en el objeto FileSystemStreamSource
- Cree un objeto FontFileDefinition desde la fuente de flujo
- Cree un objeto FontDefinition a partir de la definición del archivo
- Abrir definición de fuente como objeto Type1Font
- 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.