Гліфи та метрики шрифтів Type 1 | .NET
Отримати показники шрифту
Показники шрифту містять таку інформацію, як Ascender, Descender, TypoAscender, TypoDescender і UnitsPerEm. API Aspose.Font для .NET може зчитувати інформацію про показники шрифту з файлу шрифтів Type1 за допомогою наступного прикладу коду.
- Створіть 
FontDefinition– повний шлях до файлу шрифту Type1 (наприклад,string fontPath = Path.Combine(dataDir, "courier.pfb");) та створітьFontFileDefinitionдля формату.pfb, потім створітьFontDefinitionзFontType.Type1та визначенням файлу. - Відкрийте шрифт та отримайте доступ до метрик – Відкрийте шрифт за допомогою 
Aspose.Font.Font.Open(fd), який повертає об’єктFont. Приведіть його доType1Fontдля доступу до властивостей, специфічних для Type1, а потім зчитайте властивості метрик, такі якAscender,Descender,TypoAscender,TypoDescenderтаUnitsPerEm. - Використайте метрики – Ці значення можна використовувати для розрахунків макета, масштабування або будь-якої типографської обробки, необхідної вашій програмі.
 
 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);Виявлення латинських символів
Aspose.Font для .NET дозволяє виявляти латинські символи у файлах шрифтів Type1. Цього можна досягти за допомогою наступного прикладу коду.
Завантаження шрифту Type1 – Створіть
FontFileDefinitionдля файлу.pfb(наприклад,string fontPath = Path.Combine(dataDir, "courier.pfb");), потім створітьFontDefinitionзFontType.Type1та визначенням файлу.Виявлення підтримуваних латинських символів – Переберіть колекцію гліфів шрифту та використовуйте
DecodeToGid()для перетворення кожного символу Unicode на його внутрішній ідентифікатор гліфа. Якщо метод повертає ненульовий ідентифікатор, гліф присутній у шрифті, що вказує на підтримку цього латинського символу.
 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}