Завантажити шрифт із файлу TTF | .NET

Тут описано чотири по-різному виконаних приклади того, як завантажити шрифт із файлу Montserrat-Regular.ttf.


Спочатку ознайомтеся з основами завантаження на сторінці Як завантажувати шрифти?.

Додайте наступні простори імен у заголовок файлу:

1using System;
2using Aspose.Font;
3using Aspose.Font.Sources;
4using System.IO;

Завантаження з файлу за допомогою об’єкта FileSystemStreamSource

Виконайте наступні кроки для виконання операції:

  1. Побудувати шлях до файлу.
  2. Ініціювати об’єкт FontDefiniton.
  3. Установіть fileExtension на ttf.
  4. Завантажте шрифт.
 1    // Construct path to the file
 2    string fontPath = Path.Combine(DataDir, "Montserrat-Regular.ttf");
 3
 4    // Initialize FontDefinition object passing TTF as FontType value and using FontFileDefinition
 5    FontFileDefinition fileDef = new FontFileDefinition("ttf", new FileSystemStreamSource(fontPath));
 6
 7    // Based on FileSystemStreamSource object, set fileExtension to "ttf"
 8    FontDefinition fontDef = new FontDefinition(FontType.TTF, fileDef);
 9
10    // Load the font
11    Font font = Font.Open(fontDef);

Завантаження з файлу за допомогою об’єкта FileInfo

Щоб виконати завантаження, виконайте наступне:

  1. Побудувати шлях до файлу.
  2. Ініціювати об’єкт FontDefiniton, передаючи TTF як значення FontType.
  3. Отримати автоматично розраховане значення fileExtension.
  4. Завантажте шрифт.
 1     // Construct path to the file
 2     string fontPath = Path.Combine(DataDir, "Montserrat-Regular.ttf");
 3
 4     // Initialize FontDefinition object passing TTF as FontType value and using FontFileDefinition
 5     FontFileDefinition fileDef = new FontFileDefinition(new FileInfo(fontPath));
 6
 7     // Based on FileInfo object, fileExtension value is calculated automatically from FileInfo fields.
 8     FontDefinition fontDef = new FontDefinition(FontType.TTF, fileDef);
 9
10     // Load the font
11     Font font = Font.Open(fontDef);

Завантаження з файлу, виключаючи об’єкт FontFileDefinition з ланцюжка ініціалізації

Для завантаження шрифту таким чином потрібно виконати наступні дії:

  1. Побудувати шлях до файлу.
  2. Ініціювати об’єкт FontDefiniton, передаючи TTF як значення FontType, ttf як значення fileExtension і об’єкт FileSystemStreamSource . Параметр fileExtension тут не є повторюваним значенням для параметра FontType.
  3. Завантажте шрифт.
 1     // Construct path to the file
 2     string fontPath = Path.Combine(DataDir, "Montserrat-Regular.ttf");
 3
 4     // Initialize FontDefinition object passing TTF as FontType value, "ttf" as fileExtension value, 
 5     // and FileSystemStreamSource object. Parameter 'fileExtension' here is not duplicate value 
 6     // for parameter 'FontType' and it's needed for correct font format detection
 7     FontDefinition fontDef = new FontDefinition(FontType.TTF, "ttf", new FileSystemStreamSource(fontPath));
 8
 9     // Load the font
10     Font font = Font.Open(fontDef);     

Завантаження шрифту з байтового масиву

Щоб завантажити шрифт із масиву байтів:

  1. Побудувати шлях до файлу.
  2. Завантажте двійкові дані шрифту в масив байтів.
  3. Ініціалізуйте об’єкт FontDefiniton, передавши TTF як значення FontType, ttf як значення fileExtension і ByteContentStreamSource об’єкт на основі масиву fontBytes.
  4. Завантажте шрифт.
 1     // Construct path to the file
 2     string fontPath = Path.Combine(DataDir, "Montserrat-Regular.ttf");
 3
 4     // Load font binary data into byte array
 5     byte[] fontBytes = File.ReadAllBytes(fontPath);
 6
 7     // Initialize FontDefinition object  passing TTF as FontType value, "ttf" as fileExtension value, 
 8     // and ByteContentStreamSource object based on fontBytes array
 9     FontDefinition fontDef = new FontDefinition(FontType.TTF), "ttf", new ByteContentStreamSource(fontBytes);
10
11     // Load the font
12     Font font = Font.Open(fontDef);

Ви можете отримати приклади використання Aspose.Font у Aspose.Font.Examples.sln рішенні, у net-examples [Aspose.Font Documentation](https ://github.com/aspose-font/Aspose.Font-Documentation).

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.