Dans ce guide étape par étape, nous expliquerons comment obtenir des métriques de police en C#. Ce didacticiel fournit du code pour obtenir les métriques de police Type1 en C#, mais Aspose.Font for .NET, une bibliothèque de polices C# vous aide à lire les métriques de police en C# à partir d’autres types de police, y compris les formats de police TruType et OpenType.
Étapes pour obtenir des métriques de police en C#
- Installez le package Aspose.Font for .NET à partir de NuGet.org
- Inclure les espaces de noms Aspose.Font, Aspose.Font.Sources et Aspose.Font.Type1
- Appliquer la licence à Aspose.Font pour .NET pour éviter le filigrane d’évaluation
- Chargez la police d’entrée Type1 dans l’objet FileSystemStreamSource
- Créer un objet FontFileDefinition à partir de la source du flux
- Créez un objet FontDefinition à partir de la définition de fichier
- Ouvrir la définition de police en tant qu’objet Type1Font
- Maintenant, obtenez tous les attributs métriques de la police Type1
Une police contient des informations métriques qui aident à décrire les glyphes à l’intérieur d’une police. Ces informations métriques sur les polices aident un ordinateur à apprendre à dessiner des caractères et des phrases à l’écran. Si nous voulons traiter ces informations de métrique via du code dans nos applications .NET, ce n’est pas une tâche facile. Cependant, Aspose.Font pour .NET aide à rendre l’ensemble du processus très simple et facile en quelques étapes comme mentionné ci-dessus.
Code pour obtenir les métriques de police 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 | |
); | |
} | |
} | |
} |
Dans le code ci-dessus, nous chargeons un format de fichier PFB, qui contient notre police Type1 que nous souhaitons traiter dans le code C#. Une fois que nous avons chargé le font et l’avons converti en un objet Type1Font, nous sommes en mesure d’extraire les métriques de police en C# à partir de ce fichier.
Ce code peut vous aider à créer facilement un lecteur de polices C# dans vos applications .NET, notamment les applications Web, de bureau, Windows et Microsoft Store.