Šiame žingsnis po žingsnio vadove paaiškinsime, kaip gauti šriftų metriką C#. Šioje mokymo programoje pateikiamas kodas, skirtas gauti Type1 šriftų metriką C#, tačiau Aspose.Font for .NET, C# šriftų biblioteka, padeda skaityti šriftų metriką C# iš kitų šriftų tipų, įskaitant TruType ir OpenType šriftų formatus.
Veiksmai norint gauti šrifto metriką C#
- Įdiekite Aspose.Font for .NET paketą iš NuGet.org
- Įtraukti Aspose.Font, Aspose.Font.Sources ir Aspose.Font.Type1 vardų erdves
- Pateikite licenciją Aspose.Font for .NET, kad išvengtumėte įvertinimo vandens ženklo
- Įkelkite įvesties Type1 šriftą į FileSystemStreamSource objektą
- Sukurkite FontFileDefinition objektą iš srauto šaltinio
- Sukurkite objektą FontDefinition iš failo apibrėžimo
- Atidaryti šrifto apibrėžimą kaip Type1Font objektą
- Dabar gaukite visus 1 tipo šrifto metrikos atributus
Šrifte yra metrikos informacijos, kuri padeda apibūdinti šrifto viduje esančius glifus. Ši šriftų metrikos informacija padeda kompiuteriui išmokti piešti simbolius ir sakinius ekrane. Jei norime apdoroti šią metrikos informaciją naudodami kodą savo .NET programose, tai nėra lengva užduotis. Tačiau Aspose.Font for .NET padeda padaryti visą procesą labai paprastą ir lengvą, atlikus kelis aukščiau nurodytus veiksmus.
Kodas šrifto metrikai gauti 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 | |
); | |
} | |
} | |
} |
Aukščiau pateiktame kode įkeliame PFB failo formatą, kuriame yra 1 tipo šriftas, kurį norime apdoroti C# kodu. Įkėlę font ir konvertavę ją į Type1Font objektą, iš šio failo galėsime išgauti šrifto metriką C#.
Šis kodas gali padėti lengvai sukurti C# šriftų skaitytuvą .NET programose, įskaitant žiniatinklio, darbalaukio, Windows ir Microsoft Store programas.