Jak získat metriky písem v C#

V tomto průvodci krok za krokem vysvětlíme, jak získat metriky písem v C#. Tento výukový program poskytuje kód pro získání metrik písem Type1 v C#, ale Aspose.Font for .NET, knihovna písem C# vám pomůže číst metriky písem v C# z jiných typů písem, včetně formátů písem TruType a OpenType.

Kroky k získání metrik písem v C#

  1. Nainstalujte balíček Aspose.Font for .NET z NuGet.org
  2. Zahrnout jmenné prostory Aspose.Font, Aspose.Font.Sources a Aspose.Font.Type1
  3. Aplikujte licenci na Aspose.Font for .NET, abyste se vyhnuli hodnocení vodoznaku
  4. Načtěte vstupní písmo Type1 do objektu FileSystemStreamSource
  5. Vytvořte objekt FontFileDefinition ze zdroje streamu
  6. Vytvořte objekt FontDefinition z definice souboru
  7. Otevřít definici písma jako objekt Type1Font
  8. Nyní získejte všechny atributy metrik písma Type1

Písmo obsahuje informace o metrikách, které pomáhají popsat glyfy uvnitř písma. Tyto informace o metrikách písem pomáhají počítači naučit se kreslit znaky a věty na obrazovce. Pokud chceme zpracovávat tyto informace o metrikách prostřednictvím kódu v našich aplikacích .NET, není to snadný úkol. Aspose.Font pro .NET však pomáhá celý proces velmi zjednodušit a usnadnit pomocí několika kroků, jak je uvedeno výše.

Kód pro získání metrik písem v 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
);
}
}
}

Ve výše uvedeném kódu načítáme formát souboru PFB, který obsahuje naše písmo Type1, které chceme zpracovat v kódu C#. Jakmile jsme načetli font a převedli jej na objekt Type1Font, jsme schopni z tohoto souboru extrahovat metriky písem v C#.

Tento kód vám může pomoci snadno vytvořit čtečku písem C# ve vašich aplikacích .NET, včetně webových, desktopových, Windows a aplikací Microsoft Store.

 Čeština