Чтение информации о шрифте
Решение .NET API для получения информации о метриках шрифта.
Aspose.Font API Solution имеет богатый функционал для работы со шрифтами. Преобразование, манипуляции с глифами, обнаружение латинских символов и многое другое. Некоторые функции связаны с манипуляциями с глифами, такими как получение информации о глифах, присутствующих в шрифте.
Глиф — это индивидуально разработанный символ шрифта или графическое представление символа/знака. Чтобы узнать больше об этой единице шрифта, прочитайте статью Introduction to Glyph .
На этой странице описывается возможность получения различных метрик шрифта (количество глифов, высота букв, ширина глифа «A» и т. д.), но вся функциональность подробно описана в статье Использование объектов глифов . Этот пример также включает часть кода для получения метаданных шрифта, имя шрифта, если быть точным. Такая функциональность может быть реализована в веб-программном обеспечении, таком как приложение Font Metadata , которое Aspose имеет в своей экосистеме.
Для получения метрик шрифта нам необходимо:
Aspose.Font for .NET API — многофункциональный, мощный и простой в использовании API для работы с документами и преобразования для платформы C#.
Откройте диспетчер пакетов NuGet, найдите Aspose.Font и установите его. Вы также можете использовать следующую команду из консоли диспетчера пакетов.
Package Manager Console Command
PM> Install-Package Aspose.Font
Шаги для получения метрик шрифта с помощью C#:
- Укажите шрифт для извлечения информации.
- Используйте интерфейс Aspose.Font.IFontMetrics , чтобы получить указанные метрики.
- Получите таблицу кодировки Unicode cmap из шрифта как объект TtfCMapFormatBaseTable , чтобы получить доступ к информации о необходимом глифе шрифта.
- Чтобы получить индекс глифа для символа «A», используйте Mетод GetGlyphIndex() .
- Распечатайте метрики глифа.
Код С# для получения информации о глифах шрифта
using Aspose.Font;
using Aspose.Font.Glyphs;
using Aspose.Font.Ttf;
//Font to extract info from
TtfFont font;
string name = font.FontName;
Console.WriteLine("Font name: " + name);
Console.WriteLine("Glyph count: " + font.NumGlyphs);
string metrics = string.Format(
"Font metrics: ascender - {0}, descender - {1}, typo ascender = {2}, typo descender = {3}, UnitsPerEm = {4}",
font.Metrics.Ascender, font.Metrics.Descender,
font.Metrics.TypoAscender, font.Metrics.TypoDescender, font.Metrics.UnitsPerEM);
Console.WriteLine(metrics);
//Get the cmap unicode encoding table from the font as an object TtfCMapFormatBaseTable to access information about the font glyph for symbol 'A'.
//Also check that font has the object TtfGlyfTable (table 'glyf') to access glyph.
Aspose.Font.TtfCMapFormats.TtfCMapFormatBaseTable cmapTable = null;
if (font.TtfTables.CMapTable != null)
{
cmapTable = font.TtfTables.CMapTable.FindUnicodeTable();
}
if (cmapTable != null && font.TtfTables.GlyfTable != null)
{
Console.WriteLine("Font cmap unicode table: PlatformID = " + cmapTable.PlatformId + ", PlatformSpecificID = " + cmapTable.PlatformSpecificId);
//Code for 'A' symbol
char unicode = (char)65;
//Glyph index for 'A'
uint glIndex = cmapTable.GetGlyphIndex(unicode);
if (glIndex != 0)
{
//Glyph for 'A'
Glyph glyph = font.GetGlyphById(glIndex);
if (glyph != null)
{
//Print glyph metrics
Console.WriteLine("Glyph metrics for 'A' symbol:");
string bbox = string.Format(
"Glyph BBox: Xmin = {0}, Xmax = {1}" + ", Ymin = {2}, Ymax = {3}",
glyph.GlyphBBox.XMin, glyph.GlyphBBox.XMax,
glyph.GlyphBBox.YMin, glyph.GlyphBBox.YMax);
Console.WriteLine(bbox);
Console.WriteLine("Width:" + font.Metrics.GetGlyphWidth(new GlyphUInt32Id(glIndex)));
}
}
}
Часто задаваемые вопросы
1. Что такое метрика шрифта?
Это свойство определяет способ отображения шрифта на экране. Некоторые метрики, такие как восхождение, спуск, ширина и кернинг, аналогичны метрикам глифов .
2. Как получить метрики шрифта?
Укажите шрифт, с которым вы хотите работать. Используя свойства интерфейса класса Aspose.Font.IFontMetrics, извлеките необходимую информацию о метриках шрифта.
3. Что такое метаданные шрифта?
Метаданные шрифта — это в основном информация о нем. Он включает в себя множество данных, таких как имя шрифта, имя семейства шрифтов, имя постскриптума, лицензирование, информацию об авторе и дизайнере и многое другое.
4. Как изменить метаданные шрифта?
Чтобы просмотреть или изменить информацию о шрифте онлайн, используйте наше приложение Метаданные шрифта .