Перетворення TTF на WOFF у C#

Шрифти визначають графічне представлення окремого символу в тексті, як-от його розмір, стиль відображення, вага, колір тощо. TTF (True Type Font) чудово працює на всіх цифрових платформах і забезпечує чудову якість на на екрані та в друкованих документах. З іншого боку, WOFF (Web Open Font Format) переважно використовується на веб-сторінках. Він містить стиснення певного формату та додаткові метадані XML. У деяких випадках нам може знадобитися перетворити справжні шрифти на веб-шрифти. У цій статті ми дізнаємося, як конвертувати TTF у WOFF на C#.

У цій статті будуть розглянуті такі теми:

  1. C# TTF to WOFF Converter API
  2. Перетворення TTF на WOFF за допомогою C#
  3. Перетворення TTF на WOFF2 у C#

C# TTF в WOFF Converter API

Для перетворення TTF у WOFF ми будемо використовувати API Aspose.Font for .NET. Він дозволяє завантажувати, зберігати та видобувати інформацію з підтримуваних типів шрифтів.

Завантажте DLL API або встановіть його за допомогою NuGet.

PM> Install-Package Aspose.Font

Перетворення TTF на WOFF за допомогою C#

Ми можемо легко конвертувати True Type Fonts (TTF) у Web Open Fonts (WOFF), виконавши наведені нижче дії:

  1. По-перше, завантажте файл шрифту за допомогою класу FileSystemStreamSource.
  2. Далі створіть екземпляр класу FontFileDefinition з об’єктом вихідного файлу як аргументом.
  3. Потім ініціалізуйте об’єкт класу FontDefinition із типом шрифту як TTF і об’єктом FontFileDefinition.
  4. Після цього відкрийте шрифт за допомогою методу Font.Open() з об’єктом FontDefinition як аргументом.
  5. Нарешті, викличте метод SaveToFormat(), щоб зберегти його. Він бере вихідний шлях до файлу та FontSavingFormats до WOFF як аргументи.

Наступний приклад коду демонструє, як перетворити TTF на WOFF за допомогою C#.

// Цей приклад коду демонструє, як перетворити TTF на WOFF.
// Шлях до файлу TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Завантажте файл шрифту
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Створення визначення файлу шрифту
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Створення визначення шрифту
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Відкритий шрифт
Font font = Font.Open(fontDefinition);

// Вихідний шлях WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Перетворення TTF на WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);

Перетворення TTF на WOFF2 у C#

WOFF2 — це оновлена версія WOFF. Він забезпечує більше стиснення, завдяки чому має менший розмір файлу та забезпечує кращу продуктивність для сучасних браузерів. Ми також можемо конвертувати TTF у WOFF2, виконавши кроки, згадані раніше. Однак нам просто потрібно встановити FontSavingFormats як WOFF2 на останньому кроці.

Наступний приклад коду демонструє, як перетворити TTF на WOFF2 за допомогою C#.

// Цей приклад коду демонструє, як перетворити TTF на WOFF2.
// Шлях до файлу TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Завантажте файл шрифту
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Створення визначення файлу шрифту
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Створення визначення шрифту
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Відкритий шрифт
Font font = Font.Open(fontDefinition);

// Вихідний шлях WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Перетворення TTF на WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ми дізналися, як конвертувати шрифти True Type (TTF) у веб-відкриті шрифти (WOFF) у C#. Ми також бачили, як програмно зберегти TTF як WOFF2. Крім того, ви можете дізнатися більше про Aspose.Font for .NET API за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також