CFF in OTF konvertieren

CFF-zu-OTF-Konvertierungsfunktion für C# .NET. API zur Umwandlung von Schriftarten.

 

Um zu verstehen, warum Sie eine CFF-zu-OTF-Schriftkonvertierung benötigen, ist es hilfreich, zunächst zu klären, was die einzelnen Formate beinhalten.

CFF ist eine kompakte Darstellung von PostScript-Konturen in einer OpenType-Schrift. Es ist auf effiziente Dateigröße und Parsing ausgelegt und eignet sich daher für Webanwendungen und andere Umgebungen, in denen Bandbreite und Leistung entscheidend sind. Viele OpenType-Schriften verwenden CFF für ihre Glyphendaten, insbesondere solche mit PostScript-Konturen.

OpenType Font (OTF) hingegen ist ein breiteres Schriftformat. Es kombiniert die Funktionen von PostScript- und TrueType-Schriftformaten und bietet erweiterte typografische Funktionen wie Ligaturen, Stilsätze und kontextbezogene Alternativen. Eine OTF-Datei kann entweder TrueType-Konturen (Glyf-Tabelle) oder Compact Font Format-Konturen (CFF-Tabelle) enthalten.

Wenn wir von der Konvertierung von CFF in OTF sprechen, meinen wir in der Regel das Einbetten oder Verpacken von CFF-Daten in eine vollständige OpenType-Schriftdatei. Es handelt sich dabei nicht unbedingt um eine Konvertierung des Outline-Formats selbst, sondern vielmehr um die Erstellung einer funktionalen OpenType-Schrift, die CFF-Outlines nutzt. Dies ist entscheidend für die korrekte Verwendung und Anzeige der Schrift auf verschiedenen Betriebssystemen, Anwendungen und Webbrowsern.

Aspose.Font für .NET ermöglicht Ihnen eine solche Konvertierung. Sie können CFF auf zwei Arten in OTF konvertieren, die in den folgenden Codebeispielen beschrieben und veranschaulicht werden. Weitere Informationen zur Arbeit mit der API und zu den Grundlagen von Schriftarten finden Sie in der Dokumentation .

Um die Konvertierung zu testen, benötigen Sie:

  • Aspose.Font für .NET API, eine funktionsreiche, leistungsstarke und benutzerfreundliche API zur Dokumentbearbeitung und -konvertierung für die C#-Plattform.

  • Öffnen Sie den NuGet-Paketmanager, suchen Sie nach Aspose.Font und installieren Sie es. Sie können auch den folgenden Befehl aus der Paketmanager-Konsole verwenden.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Schritte zum Umwandeln von CFF in OTF mit C#:

Dieser Code zeigt eine gemeinsame Schriftmanipulationsaufgabe. Es benötigt eine Schriftart, die CFF -Umrisse verwendet und in eine Openentype -Schriftart konvertiert, die TrueType -Umrisse verwendet.

  1. Öffnen Sie die CFF -Schriftdatei mit Open() Methode.
  2. Konvertieren Sie die Schrift in das TrueType -Format (innerhalb von OTF) mit Convert() .
  3. Ändern Sie den Namen der konvertierten Schriftart.
  4. Geben Sie die OTF -Ausgabeinstellungen an, indem Sie den Ausgangsverzeichnispfad OutputDir mit dem gewünschten Schriftdateinamen mit Path.Combine() kombinieren.
  5. Speichern Sie die resultierende Schriftart mit dem geänderten Schriftartamen.

C# Code für CFF zu OTF -Konvertierung

    using Aspose.Font.Sources;
    using Aspose.Font.Cff;
    using System;
    using System.IO;
    // Open cff font
    string fontPath = Path.Combine(DataDir, "CenturyGothic.cff");
    FontDefinition fontDefinition = new FontDefinition(FontType.CFF, new FontFileDefinition("cff", new FileSystemStreamSource(fontPath)));
    Font font = Font.Open(fontDefinition);
 
    // Convert font into TrueType format and cast font returned to Aspose.Font.Ttf.TtfFont
    Aspose.Font.Ttf.TtfFont destFont = font.Convert(FontType.OTF) as Aspose.Font.Ttf.TtfFont;
 
    // Change the name of the converted font
    destFont.FontName = "CenturyGothic_Converted";
 
    // Ttf output settings
    string outPath = Path.Combine(OutputDir, "CffToOtf_out.otf");
 
    // Save the resultant font with the font name changed
    destFont.Save(outPath);

Schritte zum Umwandeln von CFF in OTF mit C# (einfacherer Weg):

  1. Dieser C# -Codes -Snippet zeigt auch eine CFF -zu -OTF -Konvertierung unter Verwendung der Aspose.Font -Bibliothek, jedoch mit einem etwas anderen Ansatz als dem vorherigen Beispiel. Der Hauptunterschied hier ist, dass dieser Conversion darauf abzielt, eine OTF -Datei zu erstellen, die die CFF -Umrisse beibehält, anstatt sie in TrueType -Umrisse zu konvertieren.
  2. Öffnen Sie die CFF -Schriftdatei mit Open() Methode.
  3. Geben Sie die OTF -Ausgabeinstellungen an, indem Sie den Ausgangsverzeichnispfad OutputDir mit dem gewünschten Schriftdateinamen mit Path.Combine() kombinieren.
  4. Konvertieren Sie CFF in OTF (Konservierung von CFF -Umrissen) unter Verwendung der Methode Font.SaveToFormat() .

C# Code für CFF zu OTF -Konvertierung

    // Open cff font
    string fontPath = Path.Combine(DataDir, "Montserrat-Regular.cff");
    FontDefinition fontDefinition = new FontDefinition(FontType.CFF, new FontFileDefinition(new FileSystemStreamSource(fontPath)));
    Font font = Font.Open(fontDefinition);
 
    // Otf output settings
    string outPath = Path.Combine(OutputDir, "Montserrat-Regular.otf");
    FileStream outStream = File.Create(outPath);
    
    // Convert cff to otf
    font.SaveToFormat(outStream, FontSavingFormats.OTF);

CFF Was ist CFF Dateiformat

CFF (Compact Font Format) ist ein komprimiertes Format, das in OpenType‑ (OTF) und Type 1‑Dateien verwendet wird. Es basiert auf PostScript‑Path‑Definitionen, speichert Glyphen effizient und unterstützt fortgeschrittenes Hinting.

OTF Was ist OTF Dateiformat

OTF (OpenType) kombiniert die Vorteile von TrueType und Type 1, bietet umfassende Unicode‑Unterstützung, erweiterte typografische Features und skaliert ohne Qualitätsverlust auf allen Plattformen.