更新されたフォントファイルをディスクに保存
ストリームからロードされたフォントを保存する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 フォントファイルを保存する方法を示しています。
- 新しい FontFileDefinition オブジェクトを作成します。
- FontType
を TTF に、FontFileDefinition を
.ttfに設定します。 - TtfFont オブジェクトを作成し、前述の FontDefinition オブジェクトを使用してフォントファイルを開きます。
TtfFontを Save() メソッドで呼び出し、フルパスで出力ファイル名を指定してディスクに保存します。保存されたフォントファイルには更新された変更が反映されます。
ディスクに 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);