Перетворення шрифтів. Додаткові відомості | .NET

У деяких випадках є сенс прочитати/змінити перетворені дані шрифту перед збереженням шрифту.

Метод Aspose.Font.Font.Convert(FontType fontType) був розроблений для таких випадків. Цей метод перетворює шрифт у вказаний тип і повертає об’єкт, успадкований від класу Aspose.Font.Font, який відповідає значенню FontType, переданому в метод Convert().

Наступна таблиця показує карту узгодженості між значеннями FontType та об’єктами, успадкованими від базового класу Aspose.Font.Font.

Тип шрифтуОб’єкт шрифту
TTFAspose.Font.Ttf.TtfFont
Type1Aspose.Font.Type1.Type1Font
CFFAspose.Font.Cff.CffFont
OTFAspose.Font.Ttf.TtfFont

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

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

Наступний фрагмент коду завантажує шрифт CFF CenturyGothic з диска, перетворює його у формат TrueType і змінює назву перетвореного шрифту на “CenturyGothic_Converted”.

Виконайте наступні дії:

  1. Завантажте вихідний шрифт CFF
1string fontPath = Path.Combine(DataDir, "CenturyGothic.cff");

Це гарантує правильне розташування файлу незалежно від операційної системи.

1var fontFileDef = new FontFileDefinition("cff", new FileSystemStreamSource(fontPath));
1var fontDefinition = new FontDefinition(FontType.CFF, fontFileDef);
  1. Конвертуйте шрифт на TrueType
1Aspose.Font.Font convertedFont = font.Convert(FontType.TTF);
  1. Приведіть результат до конкретного класу TrueType та перейменуйте
1Aspose.Font.Ttf.TtfFont destFont = convertedFont as Aspose.Font.Ttf.TtfFont;
1destFont.FontName = "CenturyGothic_Converted";
  1. Підготуйте шлях до вихідного файлу
1string outPath = Path.Combine(OutputDir, "CffToTtf_out.ttf");
  1. Збережіть конвертований шрифт TrueType
1destFont.Save(outPath);
1bool exists = System.IO.File.Exists(outPath);
 1 
 2    // Open cff font
 3    string fontPath = Path.Combine(DataDir, "CenturyGothic.cff");
 4    FontDefinition fontDefinition = new FontDefinition(FontType.CFF, new FontFileDefinition("cff", new FileSystemStreamSource(fontPath)));
 5    Font font = Font.Open(fontDefinition);
 6
 7    // Convert font into TrueType format and cast font returned to Aspose.Font.Ttf.TtfFont
 8    Aspose.Font.Ttf.TtfFont destFont = font.Convert(FontType.TTF) as Aspose.Font.Ttf.TtfFont;
 9
10    // Change name of converted font
11    destFont.FontName = "CenturyGothic_Converted";
12
13    // Ttf output settings
14    string outPath = Path.Combine(OutputDir, "CffToTtf_out.ttf");
15
16    // Save resultant font with font name changed
17    destFont.Save(outPath);

Повний набір прикладів використання Aspose.Font для.NET розміщено в [Aspose.Font.Examples.sln]( https://github.com/aspose-font/Aspose.Font-Documentation/tree/master/ net-examples) у папці net-examples папки Aspose.Font Документація репозиторій github.

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.