Las fuentes definen la representación gráfica de un carácter individual en el texto, como su tamaño, estilo de visualización, peso, color, etc. TTF (True Type Font) funciona bien en todas las plataformas digitales y brinda una excelente calidad en- pantalla y en documentos impresos. Por otro lado, el WOFF (Web Open Font Format) se usa principalmente en páginas web. Contiene compresión específica del formato y metadatos XML adicionales. En ciertos casos, es posible que necesitemos convertir fuentes de tipo verdadero en fuentes web. En este artículo, aprenderemos cómo convertir TTF a WOFF usando C#.
En este artículo se tratarán los siguientes temas:
API de conversión de C# TTF a WOFF
Para convertir TTF a WOFF, utilizaremos la API Aspose.Font for .NET. Permite cargar, guardar y extraer información de tipos de fuentes compatibles. Descargue la DLL de la API o instálela usando NuGet.
PM> Install-Package Aspose.Font
Convierta TTF a WOFF usando C#
Podemos convertir fácilmente True Type Fonts (TTF) a Web Open Fonts (WOFF) siguiendo los pasos que se detallan a continuación:
- En primer lugar, cargue el archivo de fuente utilizando la clase FileSystemStreamSource.
- A continuación, cree una instancia de la clase FontFileDefinition con el objeto del archivo fuente como argumento.
- Luego, inicialice el objeto de clase FontDefinition con el tipo de fuente como TTF y el objeto FontFileDefinition.
- Después de eso, abra la fuente usando el método Fuente.Abrir() con el objeto FontDefinition como argumento.
- Finalmente, llame al método SaveToFormat() para guardarlo. Toma la ruta del archivo de salida y FontSavingFormats a WOFF como argumentos.
El siguiente ejemplo de código demuestra cómo convertir TTF a WOFF usando C#.
// Este ejemplo de código muestra cómo convertir TTF a WOFF.
// Ruta del archivo TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";
// Cargue el archivo de fuente
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Crear definición de archivo de fuente
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Crear definición de fuente
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// fuente abierta
Font font = Font.Open(fontDefinition);
// Ruta de salida WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);
// Convertir TTF a WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);
Convertir TTF a WOFF2 en C#
WOFF2 es una versión actualizada de WOFF. Ofrece más compresión debido a que es más pequeño en tamaño de archivo y proporciona un mejor rendimiento para los navegadores modernos. También podemos convertir TTF a WOFF2 siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos configurar FontSavingFormats como WOFF2 en el último paso.
El siguiente ejemplo de código demuestra cómo convertir TTF a WOFF2 usando C#.
// Este ejemplo de código muestra cómo convertir TTF a WOFF2.
// Ruta del archivo TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";
// Cargue el archivo de fuente
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Crear definición de archivo de fuente
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Crear definición de fuente
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// fuente abierta
Font font = Font.Open(fontDefinition);
// Ruta de salida WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);
// Convertir TTF a WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);
Obtenga una licencia gratis
Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.
Conclusión
En este artículo, hemos aprendido a convertir fuentes True Type en fuentes abiertas web en C#. También hemos visto cómo guardar TTF como WOFF2 programáticamente. Además, puede obtener más información sobre Aspose.Font for .NET API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.