Ebben a lépésről lépésre szóló útmutatóban elmagyarázzuk, hogyan szerezhet be betűtípus-metrikákat C#-ban. Ez az oktatóanyag kódot tartalmaz a Type1 betűtípus-metrikák C#-ban való lekéréséhez, de a Aspose.Font for .NET, egy C#-betűkészlet-könyvtár segít elolvasni a C#-beli betűtípus-metrikákat más betűtípusokból is, beleértve a TruType és OpenType betűtípusokat is.
A betűtípus-metrikák lekérésének lépései a C#-ban
- Telepítse a Aspose.Font for .NET csomagot a NuGet.org webhelyről
- Tartalmazzon Aspose.Font, Aspose.Font.Sources és Aspose.Font.Type1 névtereket
- Az értékelési vízjel elkerülése érdekében kérjen licencet az Aspose.Font for .NET számára
- Töltse be a bemeneti Type1 betűtípust a FileSystemStreamSource objektumba
- Hozzon létre egy FontFileDefinition objektumot a streamforrásból
- Hozzon létre egy FontDefinition objektumot a fájldefinícióból
- Nyissa meg a betűtípus meghatározását Type1Font objektumként
- Most szerezze be a Type1 betűtípus összes metrika attribútumait
A betűtípus olyan metrikus információkat tartalmaz, amelyek segítenek a betűtípuson belüli karakterjelek leírásában. A betűtípusok mérőszámai segítenek a számítógépnek megtanulni, hogyan kell karaktereket és mondatokat rajzolni a képernyőre. Ha ezeket a mérőszámokat kódon keresztül szeretnénk feldolgozni .NET-alkalmazásainkban, ez nem könnyű feladat. Az Aspose.Font for .NET azonban néhány fent említett lépéssel nagyon egyszerűvé és egyszerűvé teszi az egész folyamatot.
Kód a betűtípus-metrikák lekéréséhez C#-ban
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 | |
); | |
} | |
} | |
} |
A fenti kódban egy PFB fájlformátumot töltünk be, amely tartalmazza a Type1 betűtípusunkat, amelyet C# kódban szeretnénk feldolgozni. Miután betöltöttük a font fájlt, és Type1Font objektummá konvertáltuk, ki tudjuk bontani a betűtípus-metrikákat C#-ban ebből a fájlból.
Ezzel a kóddal könnyedén létrehozhat egy C# betűtípus-olvasót .NET-alkalmazásaiban, beleértve a webes, asztali, Windows- és Microsoft Store-alkalmazásokat.