Класи шрифтів для підтримуваних форматів шрифтів | API для .NET

Ієрархія класів Aspose.Font

Ієрархія класів Aspose.Font для підтримки шрифтів різних форматів досить проста.

Клас Font — це єдиний базовий клас і будь-який клас, який підтримує певний формат шрифту, успадкований від Font. Існує спільна інформація для шрифтів усіх форматів, зібраних у цьому класі. Ця інформація включає такі дані, як стиль шрифту, назва шрифту, назва шрифту postscript, сімейство шрифтів, показники шрифту, кількість гліфів шрифту, кодування тощо.

Клас Font є абстрактним класом, тому екземпляр об’єкта типу Aspose.Font.Font не може бути створений безпосередньо.

Посилання на щойно створений об’єкт повертається статичними методами цього класу, які відповідають за завантаження шрифту, сімейство перевантажених методів Open().

Що стосується специфічної для того чи іншого формату шрифту інформації, то за надання такої інформації відповідають об’єкти, успадковані від бази Aspose.Font.Font. Єдиними даними, специфічними для формату шрифту, які включає базовий клас Font, є значення з переліку FontType.

Наступні класи успадковані від Aspose.Font і використовуються для роботи з певним форматом шрифту: TtfFont, Type1Font, CffFont ).

Взаємозв’язки між форматом шрифту, значенням FontType і типом об’єкта Aspose.Font

У наведеній нижче таблиці показано відповідність між форматами, які підтримує Aspose.Font, відповідні значення цих форматів із переліку FontType і класи, що використовуються для роботи з кожним із цих форматів.

Формат шрифтуЗначення FontTypeТип об’єкта Aspose.Font
TrueTypeTTFTtfFont
Type 1Type 1Type1Font
Compact Font Format (CFF)CFFCffFont

Взаємозв’язки між форматом файлу шрифту, значенням FontType і типом об’єкта Aspose.Font

Формати вищезгаданих шрифтів із переліку FontType є ширшими термінами, ніж формати файлів для цих шрифтів.

Наприклад, формат TrueType охоплює такі формати файлів, доступні для завантаження за допомогою Aspose.Font: ttf, ttc, eot, woff, woff2. Отже, спільною рисою шрифтів із розширеннями .ttf, .ttc, .eot, .woff, .woff2 є те, що всі вони пов’язані з сімейством шрифтів TrueType.

Тому, замінивши в таблиці стовпець «Формат шрифту» на стовпець «Формат файлу шрифту», ми отримаємо наступну таблицю співвідношення між форматами файлу шрифту, підігнавши до них значення FontType, і об’єкти, призначені для роботи з відповідним форматом шрифту в Aspose.Font.

Формат файлу шрифтуЗначення FontTypeТип об’єкта Aspose.Font
ttf, ttc, eot, woff, woff2TTFTtfFont
pfa, pfbType 1Type1Font
afm, pfmType 1Type1MetricFont
binary data of Compact Font Format typeCFFCffFont

Функціональність класу Aspose.Font.Font

Функціональність визначається класом Font, який можна розділити на кілька областей.

Функціональні можливості, визначені інтерфейсами, які реалізує клас Font

Найважливішим інтерфейсом у списку інтерфейсів шрифтів є інтерфейс IFont. Він надає властивості для інтерфейсів IGlyphAccessor і IFontSaver, які реалізовані класом Font, тому всі функції, визначені інтерфейсами, які реалізує клас Font, охоплюються цим Інтерфейс IFont.

Інтерфейс IFont визначає властивості, загальні для всіх форматів шрифтів, які підтримуються Aspose.Font. Нижче наведено описи для кожної власності.

Властивості для керування форматами шрифтів

Також інтерфейс IFont визначає метод Convert(), який використовується для перетворення шрифту в інший формат. На даний момент доступні конвертації з будь-якого формату, який підтримує Aspose.Font, для читання у формат TTF. Підтримувані формати шрифтів представлені в таблиці.

Див. Конвертер шрифтів для отримання додаткової інформації про те, як конвертувати шрифти за допомогою Aspose.Font.

Завантаження шрифту

Функція завантаження шрифтів не охоплюється реалізованими інтерфейсами, і ця функція представлена ​​сімейством статичних методів Open(). Параметри для передачі в ці методи описано в статті Як завантажити шрифти?.

Збереження шрифту

Клас Font реалізує інтерфейс IFontSaver, який оголошує функціональні можливості для операцій збереження шрифтів. Щоб зберегти шрифт, скористайтеся одним із перевантажених методів Save() і передайте назву файлу шрифту або потік, куди слід записати шрифт.

У деяких випадках виникає необхідність зберегти шрифт в іншому форматі. Наприклад, багато веб-сторінок віддають перевагу роботі зі шрифтами у форматі WOFF, і якщо ви хочете розмістити свій шрифт на такій сторінці, вам доведеться зберегти шрифт у форматі WOFF. Для таких випадків розроблено метод SaveToFormat().

Класи, успадковані від базового класу Aspose.Font.Font

Класи CffFont і Type1Font

Ці класи використовуються для роботи зі шрифтами формату Compact Font Format і Adobe Type 1 відповідно.

Ці класи замінюють певні властивості та методи класу Font, адаптуючи їх для фактичного формату шрифту.

Клас TtfFont

Цей клас призначений для підтримки шрифтів формату TrueType. Посилання на об’єкт цього типу можна отримати викликом статичного методу Font.Open() із передачею TTF як значення для перерахування FontType. Метод Font.Open() повертає посилання на базовий тип Font, тому отримане посилання має бути приведено до типу об’єкта TtfFont.

Як відомо зі специфікації формату TrueType, дані шрифту представлені в різних таблицях. На даний момент бібліотека Aspose.Font підтримує такі таблиці: head, cmap, glyf, loca, hhea, hmtx, maxp, OS/2, name, post, kern, cvt, fpgm, prep. *Найближчим часом планується впровадження підтримки інших таблиць стандарту TrueType.

Підтримка таблиць TrueType в Aspose.Font реалізована класами з простору імен Aspose.Font.TtfTables. Кожен клас, який підтримує певну таблицю, має ім’я, пов’язане з ім’ям відповідної таблиці.

Іменування класу виконується за наступним правилом: ім’я кожного класу має префікс Ttf, після цього префікса йде назва таблиці, а потім слово “Table” закінчує назву класу.

Наприклад, таблиця head підтримується класом TtfHeadTable, таблиця hhea підтримується класом TtfHheaTable і так далі.

Посилання на всі класи, які підтримують таблиці TrueType, збираються об’єктом типу TtfTableRepository.

Клас TtfFont надає посилання на об’єкт TtfTableRepository як властивість TtfTables, тому отримати доступ до будь-якої таблиці TrueType можна за допомогою синтаксису font.TtfTables, де font - це посилання на тип TtfFont.

Підтримка функцій шрифту OpenType представлена ​​властивістю CffFont. Ця властивість повертає посилання на об’єкт Font, завантажений із таблиці CFF, яка містить представлення шрифту Compact Font Format.

Властивість IsSymbolic використовується для визначення того, чи є шрифт символічним – спеціалізованим шрифтом, який складається з неалфавітних символів, графіки або обох.

Доступ до гліфів шрифтів

Клас TtfFont надає розширену функціональність для доступу до гліфів шрифту. На додаток до методів, визначених інтерфейсом IGlyphAccessor, TtfFont надає два перевантажені методи з іменем GetGlyphById(), які вимагають ідентифікаторів гліфів у формі цілого чи рядка.

Використання цих методів працює швидше, ніж використання методу GetGlyphById() з інтерфейсу IGlyphAccessor. Крім того, клас TtfFont надає набір перевантажених методів GetGlyphComponentsById(). Ці методи призначені для роботи зі складеними гліфами.

Композитний гліф – це гліф, який посилається на один або кілька інших гліфів у шрифті. Наприклад, гліф для символу Ä (Unicode U+00C4) може складатися з гліфа для символу A (як основного гліфа) та гліфа діарезису.

Методи GetGlyphComponentsById() беруть ідентифікатор складеного гліфа та повертають список гліфів, на які посилається переданий складений гліф.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.