更新されたフォントファイルをディスクに保存

ストリームからロードされたフォントを保存するC++ APIソリューション。

 

Aspose.Font API ソリューションは、フォントの変換、グリフ操作、ラテン文字シンボル検出など、多彩な機能を提供します。本記事ではフォントを保存する機能について取り上げます。

フォントをディスクに保存すると、フォントデータを長期的に保管し、共有できるようになります。これにより、将来のプロジェクトでフォントを使用したり、他の人と共有して特定のフォントがそのコンピュータ上で使用可能であることを保証できます。

さらに、フォントをディスクに保存すると、必要なときにリモートソースから毎回ロードすることなく、簡単にフォントデータを取得できます。これは、サイズが大きい、または頻繁に使用されるフォントで、ロードに時間がかかる場合に便利です。

フォントをディスクに保存することで、元のフォントソースが利用できなくなってもフォントを利用可能に保てます。これによりフォントデータが保存され、将来のプロジェクトで使用できるようになります。

このページでは TrueType フォントをディスクに保存する方法を説明しますが、ソリューションの使用方法に関するその他のコードスニペットはすべて Aspose Github Project にあります。

フォントファイルを保存するには以下が必要です:

  • 機能が豊富で強力かつ使いやすい、C++ プラットフォーム向けの文書操作および変換 API である Aspose.Font for C++ APIです。

  • NuGet パッケージ マネージャーを開き、Aspose.Font を検索してインストールします。または、Package Manager Console から以下のコマンドを使用できます。

Package Manager Console Command


    PM> Install-Package Aspose.Font

C++ を使用して変更前のフォントを保存する手順:

Aspose.Font for C++ はフォントファイルを変更し、変更されたものをディスクに保存する機能を提供します。以下のコード例は、変更された TTF フォントファイルを保存する方法を示しています。

  1. 新しい FontFileDefinition オブジェクトを作成します。
  2. FontType を TTF に、FontFileDefinition.ttf に設定します。
  3. TtfFont オブジェクトを作成し、前述の FontDefinition オブジェクトを使用してフォントファイルを開きます。
  4. TtfFontSave() メソッドで呼び出し、フルパスで出力ファイル名を指定してディスクに保存します。保存されたフォントファイルには更新された変更が反映されます。

ディスクに TrueType フォントを保存する C++ コード

    using Aspose::Font;
    using Aspose::Font::Sources;
    using Aspose::Font::Ttf;
    //byte array to load Font from
    System::String dataDir = RunExamples::GetDataDir_Data();
    
    System::ArrayPtr<uint8_t> fontMemoryData = System::IO::File::ReadAllBytes(dataDir + u"Montserrat-Regular.ttf");
    System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<ByteContentStreamSource>(fontMemoryData)));
    System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
    
    //Work with data from the just loaded TtfFont object
    
    //Save The TtfFont to disk
    //Output the Font file name with the full path
    System::String outputFile = RunExamples::GetDataDir_Data() + u"Montserrat-Regular_out.ttf";
    
    ttfFont->Save(outputFile);