Прочитати інформацію про шрифт

Рішення .NET API для отримання інформації та метрик про шрифтів.

 

API Рішення Aspose.Font має багатий функціонал для роботи зі шрифтами. Перетворення, маніпуляції з гліфами, виявлення латинських символів, тощо. Деякі функції пов’язані з маніпуляціями з гліфами, наприклад, отримання інформації про гліфи, присутні в шрифті.

Гліф — це індивідуально розроблений символ гарнітури або графічне представлення символу/символу. Щоб дізнатися більше про цей елемент шрифту, прочитайте статтю Вступ до гліфа .

На цій сторінці описано, як отримати різні показники шрифту (кількість гліфів, висота літер, ширина гліфа «A» тощо), але вся функціональність детально описана в статті Використання об’єктів гліфів . Цей приклад також містить частину коду для отримання метаданих шрифту, якщо бути конкретним, назви шрифту. Такі функції можна реалізувати у веб-програмному забезпеченні, наприклад як у додатку *Метадата шрифтів * , який Aspose має у своїй екосистемі.

Для отримання метрики шрифту нам потрібно:

  • API Aspose.Font для .NET — це багатофункціональний, потужний і простий у використанні API для роботи з документами та перетворення для платформи C#.

  • Відкрити менеджер пакунків NuGet і знайти і встановити Aspose.Font. Ви також можете використати наступну команду з консолі менеджера пакетів.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Покрокова інструкція для отримання метрик шрифту за допомогою C#:

  1. Вкажіть шрифт, з якого потрібно отримати інформацію.
  2. Використовуйте інтерфейс Aspose.Font.IFontMetrics , щоб отримати вказані показники.
  3. Отримайте таблицю кодування cmap Unicode зі шрифту як об’єкт TtfCMapFormatBaseTable , щоб отримати доступ до інформації про потрібний гліф шрифту.
  4. Щоб отримати індекс гліфа для символу «A», використовуйте метод GetGlyphIndex() .
  5. Виведіть на екран мертики гліфа.

Код C# для отримання інформації про гліфи

    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)));
            }
        }
    }



FAQ

1. Що таке метрика шрифту?

Це властивість, яка визначає спосіб відображення шрифту на екрані. Деякі показники, як-от підйом, спуск, ширина та кернінг, схожі на метрики гліфа .

2. Як вилучити метрики шрифту?

Вкажіть шрифт, з яким ви хочете працювати. Використовуючи властивості інтерфейсу класу Aspose.Font.IFontMetrics, витягніть потрібну інформацію про метрику шрифту.

3. Що таке метадані шрифту?

Метадані шрифту — це в основному інформація про нього. Це можуть бути дані, як-от назва шрифту, назва сімейства шрифту, назва Postscript, інформація про ліцензування, автора та дизайнера та багато іншого.

4. Як змінити метадані шрифту?

Щоб переглянути або змінити інформацію про шрифт онлайн, скористайтеся нашою програмою Метадані шрифту .