Glyphen und Metriken von Type1-Schriftarten | .NET

Rufen Sie Schriftmetriken ab

Schriftartmetriken enthalten Informationen wie „Ascender“, „Descender“, „TypoAscender“, „TypoDescender“ und „UnitsPerEm“. Aspose.Font für .NET API kann die Font-Metrikinformationen aus der Type1-Fontdatei mithilfe des folgenden Beispielcodes lesen.

  1. Erstellen Sie eine FontDefinition – Erstellen Sie den vollständigen Pfad zur Type1-Schriftdatei (z. B. string fontPath = Path.Combine(dataDir, "courier.pfb");) und erstellen Sie eine FontFileDefinition für das .pfb-Format. Erstellen Sie anschließend eine FontDefinition mit FontType.Type1 und der Dateidefinition.
  2. Öffnen Sie die Schriftart und greifen Sie auf Metriken zu – Öffnen Sie die Schriftart mit Aspose.Font.Font.Open(fd), wodurch ein Font-Objekt zurückgegeben wird. Konvertieren Sie es in Type1Font, um auf Type1-spezifische Eigenschaften zuzugreifen, und lesen Sie anschließend Metrikeigenschaften wie Ascender, Descender, TypoAscender, TypoDescender und UnitsPerEm.
  3. Metriken verwenden – Diese Werte können für Layoutberechnungen, Skalierungen oder andere typografische Bearbeitungen Ihrer Anwendung verwendet werden.
 1// For complete examples and data files, please go to https://github.com/aspose-font/Aspose.Font-for-.NET
 2string fileName = dataDir + "courier.pfb"; //Font file name with full path
 3
 4FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
 5Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;
 6
 7string name = font.FontName;
 8Console.WriteLine("Font name: " + name);
 9Console.WriteLine("Glyph count: " + font.NumGlyphs);
10string metrics = string.Format(
11    "Font metrics: ascender - {0}, descender - {1}, typo ascender = {2}, typo descender = {3}, UnitsPerEm = {4}",
12    font.Metrics.Ascender, font.Metrics.Descender,
13    font.Metrics.TypoAscender, font.Metrics.TypoDescender, font.Metrics.UnitsPerEM);
14
15Console.WriteLine(metrics);

Erkennen Sie lateinische Symbole

Mit Aspose.Font für .NET können Sie lateinische Symbole aus Type1-Schriftdateien erkennen. Dies kann mit dem folgenden Beispielcode erreicht werden.

  1. Schriftart Type1 laden – Erstellen Sie eine FontFileDefinition für die .pfb-Datei (z. B. string fontPath = Path.Combine(dataDir, "courier.pfb");) und erstellen Sie anschließend eine FontDefinition mit FontType.Type1 und der Dateidefinition.

  2. Unterstützte lateinische Symbole erkennen – Iterieren Sie über die Glyphensammlung der Schriftart und verwenden Sie DecodeToGid(), um jedes Unicode-Zeichen in seine interne Glyphen-ID zu übersetzen. Gibt die Methode eine ID ungleich Null zurück, ist die Glyphe in der Schriftart vorhanden und unterstützt das lateinische Zeichen.

 1// For complete examples and data files, please go to https://github.com/aspose-font/Aspose.Font-for-.NET
 2string fileName = dataDir + "courier.pfb"; //Font file name with full path
 3
 4FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
 5Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;
 6
 7bool latinText = true;
 8
 9
10for (uint code = 65; code < 123; code++)
11{
12    GlyphId gid = font.Encoding.DecodeToGid(code);
13    if (gid == null || gid == GlyphUInt32Id.NotDefId)
14    {
15        latinText = false;
16    }
17}
18
19if (latinText)
20{
21    Console.WriteLine(string.Format("Font {0} supports latin symbols.", font.FontName));
22}
23else
24{
25    Console.WriteLine(string.Format("Latin symbols are not supported by font {0}.", font.FontName));
26}

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.