Загрузка встроенных шрифтов OpenType (EOT) | .NET
Contents
[
Hide
Show
]Загрузка шрифтов EOT с помощью Aspose.Font для .NET
Embedded OpenType (EOT) — это компактный веб‑ориентированный формат шрифтов, первоначально представленный Microsoft для использования в Internet Explorer. Хотя его популярность упала в пользу WOFF/WOFF2, многие устаревшие веб‑приложения по‑прежнему используют файлы EOT. Библиотека Aspose.Font предоставляет чистый .NET API, позволяющий читать, изменять, конвертировать и записывать шрифты EOT без необходимости графической подсистемы.
Что вам нужно
| Требование | Подробности |
|---|---|
| .NET Runtime | .NET 6.0 или новее (библиотека также поддерживает .NET Framework 4.6.2+) |
| Aspose.Font for .NET | Установить через NuGet: dotnet add package Aspose.Font |
| IDE | Visual Studio 2022, VS Code или любой редактор, поддерживающий C# |
| License | Для производства требуется действующая лицензия Aspose.Font. Библиотеку можно оценить в пробном режиме с водяным знаком. |
Загрузка шрифта EOT
Пошагово
- Инициализируйте источник файла. Укажите приложению физическое расположение вашего шрифта. Использование дословной строки (@) корректно обрабатывает обратные слэши в путях Windows.
- Загрузите и откройте шрифт с помощью метода
Font.Open, который загружает бинарные данные в объект. На этом этапе библиотека проверяет, повреждён ли файл или защищён. - Если шрифт загружен корректно, вы можете извлечь технические данные.
1using Aspose.Font;
2using Aspose.Font.Sources;
3
4// Path to the EOT file
5string eotPath = @"C:\Fonts\MyWebFont.eot";
6
7// Create a FontDefinition from the file source
8FontDefinition fontDef = new FontDefinition(
9 FontType.EOT, // Explicitly specify the format
10 new FileSystemFontSource(eotPath)
11);
12
13// Load the font into memory
14Font font = Font.Open(fontDef);
15
16// Verify that the font was loaded correctly
17Console.WriteLine($"Family: {font.FamilyName}");
18Console.WriteLine($"Style: {font.Style}");
19Console.WriteLine($"Units per EM: {font.UnitsPerEm}");Ключевые моменты
FontDefinitionсвязывает перечисление FontType с реализацией FontSource. Оно сообщает системе, какой это тип шрифта (EOT, TTF и т.д.) и где находятся исходные данные.FileSystemFontSourceчитает шрифт из локальной файловой системы; также поддерживаются другие источники (поток, память). Это указывает библиотеке искать шрифт на вашем жёстком диске. При необходимости можно использоватьByteContentFontSource, если шрифт хранится в базе данных или в памяти.- Возвращаемый объект
Fontпредоставляет доступ только для чтения ко всем таблицам OpenType. Font.Open(fontDef) разбирает бинарные данные файла .eot и создаёт в памяти объект, понимающий глифы, кернинг и метаданные.