Завантаження шрифтів Type‑1 (PostScript) | .NET
Contents
[
Hide
Show
]Завантаження шрифтів Type‑1 за допомогою Aspose.Font для .NET
Чому шрифти Type‑1?
- Шрифти Type‑1 (PostScript) – .pfb (бінарні) і .pfa (ASCII) – все ще використовуються у багатьох старих робочих процесах видавництва та CAD.
- Aspose.Font може читати, аналізувати, рендерити та конвертувати ці шрифти без будь‑яких зовнішніх залежностей, що робить його ідеальним для серверної обробки та генерації документів.
Що потрібно
| Елемент | Мінімальна версія |
|---|---|
| .NET Framework | 4.6 (or .NET Core 2.x / .NET 5+) |
| Aspose.Font for .NET | 23.12 or later |
| License | Дійсний файл .lic (необов’язковий для пробної версії – інакше діє 30‑денна оцінка). |
Add the NuGet package to your project:
1dotnet add package Aspose.FontОсновні концепції API
| Клас / Перелічення | Призначення |
|---|---|
FontDefinition | Описує який тип шрифту потрібно відкрити (FontType.Type1). |
FontFileDefinition | Описує де знаходиться шрифт – файлову систему (FileSystemStreamSource), пам’ять (ByteContentStreamSource) або будь‑яке інше джерело потоку. |
FontType | Перелічення, яке повідомляє Aspose, який формат очікувати (CFF, TTF, Type1, …). |
Aspose.Font.Font.Open(fd) | Статичний метод, який читає визначення і повертає реалізацію IFont (Type1Font). |
Type1Font | Конкретний клас, що надає гліфи, метрики, кодування та можливості рендерингу для шрифтів Type‑1. |
Завантаження шрифту Type‑1 з диска
1using System;
2using System.IO;
3using Aspose.Font;
4using Aspose.Font.Sources;
5
6// Path to the .pfb or .pfa file
7string fileName = @"C:\Fonts\courier.pfb"; // change to your file
8
9// Ensure the file exists
10if (!File.Exists(fileName))
11 throw new FileNotFoundException($"Font file not found: {fileName}");
12
13// Build a FontDefinition that tells Aspose we are dealing with a Type‑1 font.
14FontDefinition fd = new FontDefinition(
15 FontType.Type1, // format hint
16 new FontFileDefinition(
17 "pfb", // extension hint (pfb or pfa)
18 new FileSystemStreamSource(fileName))); // reads directly from the file system
19
20// Load it
21Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;
22
23// Verify that the font really loaded
24if (font == null)
25 throw new InvalidOperationException("Unable to load the Type‑1 font.");Завантаження Type‑1 з пам’яті
1byte[] fontBytes = File.ReadAllBytes(fileName);
2FontDefinition fd = new FontDefinition(
3 FontType.Type1,
4 new FontFileDefinition("pfb", new ByteContentStreamSource(fontBytes)));
5Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;Порада: Рядок
"pfb"є лише підказкою. Використовуйте"pfa"для ASCII‑кодуваних файлів Type‑1.
Висновок
- Aspose.Font спрощує завантаження та роботу зі старими шрифтами Type‑1: визначте джерело (
FileSystemStreamSource,ByteContentStreamSource, …), відкрийте черезAspose.Font.Font.Open, і ви миттєво отримуєте доступ до метрик, таблиць кодування та потужних API рендерингу. - Той же шаблон застосовується до шрифтів CFF та TrueType/OpenType — просто змініть
FontType.Type1на відповідне значення перелічення.