Convertir TTF en WOFF en utilisant C#

Les polices définissent la représentation graphique d’un caractère individuel dans le texte, comme sa taille, son style d’affichage, son poids, sa couleur, etc. TTF (True Type Font) fonctionne bien sur toutes les plateformes numériques et offre une excellente qualité sur- écran et dans les documents imprimés. D’autre part, le WOFF (Web Open Font Format) est principalement utilisé dans les pages Web. Il contient une compression spécifique au format et des métadonnées XML supplémentaires. Dans certains cas, nous pouvons être amenés à convertir des polices True Type en polices Web. Dans cet article, nous allons apprendre à convertir TTF en WOFF en utilisant C#.

Les sujets suivants seront traités dans cet article :

API de conversion C# TTF en WOFF

Pour convertir TTF en WOFF, nous utiliserons l’API Aspose.Font for .NET. Il permet de charger, d’enregistrer et d’extraire des informations à partir de types de polices pris en charge. Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Font

Convertir TTF en WOFF en utilisant C#

Nous pouvons facilement convertir les polices True Type (TTF) en polices Web Open Fonts (WOFF) en suivant les étapes ci-dessous :

  • Tout d’abord, chargez le fichier de police à l’aide de la classe FileSystemStreamSource.
  • Ensuite, créez une instance de la classe FontFileDefinition avec l’objet de fichier source comme argument.
  • Ensuite, initialisez l’objet de classe FontDefinition avec le type de police comme objet TTF et FontFileDefinition.
  • Après cela, ouvrez la police en utilisant la méthode Font.Open() avec l’objet FontDefinition comme argument.
  • Enfin, appelez la méthode SaveToFormat() pour l’enregistrer. Il prend le chemin du fichier de sortie et FontSavingFormats vers WOFF comme arguments.

L’exemple de code suivant montre comment convertir TTF en WOFF à l’aide de C#.

// Cet exemple de code montre comment convertir TTF en WOFF.
// Chemin du fichier TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Charger le fichier de police
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Créer une définition de fichier de police
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Créer une définition de police
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Ouvrir la police
Font font = Font.Open(fontDefinition);

// Chemin de sortie WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Convertir TTF en WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);

Convertir TTF en WOFF2 en C#

WOFF2 est une version mise à jour de WOFF. Il offre plus de compression grâce à sa taille de fichier plus petite et offre de meilleures performances pour les navigateurs modernes. Nous pouvons également convertir TTF en WOFF2 en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir FontSavingFormats sur WOFF2 à la dernière étape.

L’exemple de code suivant montre comment convertir TTF en WOFF2 à l’aide de C#.

// Cet exemple de code montre comment convertir TTF en WOFF2.
// Chemin du fichier TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Charger le fichier de police
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Créer une définition de fichier de police
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Créer une définition de police
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Ouvrir la police
Font font = Font.Open(fontDefinition);

// Chemin de sortie WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Convertir TTF en WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris à convertir des polices True Type en polices ouvertes Web en C#. Nous avons également vu comment enregistrer TTF en tant que WOFF2 par programme. En outre, vous pouvez en savoir plus sur Aspose.Font for .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également