حفظ ملفات الخط المحدثة على القرص
حل API للغة C++ لحفظ الخطوط التي تم تحميلها مسبقًا من التدفق.
توفر لك حلول Aspose.Font API إمكانات غنية للعمل مع الخطوط، بما في ذلك التحويل، ومعالجة الأحرف، واكتشاف الرموز اللاتينية، وأكثر من ذلك. سيتناول موضوع هذه المقالة وظيفة حفظ الخطوط.
يتيح حفظ الخطوط على القرص تخزين بيانات الخط لفترة طويلة ومشاركتها. يمكن بعدها استخدام الخط في المشاريع المستقبلية أو مشاركته مع الآخرين لضمان توافر خط معين للاستخدام على حواسيبهم.
بالإضافة إلى ذلك، يتيح حفظ الخط على القرص استرجاع بيانات الخط بسهولة، دون الحاجة إلى تحميل الخط من مصدر بعيد في كل مرة يلزم فيها ذلك. وهذا يمكن أن يكون مفيدًا للخطوط الكبيرة أو المتكررة الاستخدام التي قد تستغرق وقتًا طويلاً للتحميل.
من خلال حفظ الخطوط على القرص، يمكنك أيضًا التأكد من أن الخط متاح حتى إذا لم يعد مصدر الخط الأصلي متاحًا. يساعد ذلك في الحفاظ على بيانات الخط ويجعل من الممكن استخدام الخط في المشاريع المستقبلية.
تصف هذه الصفحة الطريقة التي يمكن من خلالها حفظ خط TrueType على القرص، لكن جميع مقاطع الشيفرة المتبقية حول كيفية استخدام الحل موجودة في مشروع Aspose Github Project .
لحفظ ملفات الخط نحتاج إلى:
Aspose.Font لـ C++ API وهو API غني بالميزات، قوي وسهل الاستخدام لمعالجة وتحويل المستندات على منصة C++.
افتح مدير حزم NuGet، وابحث عن Aspose.Font وقم بالتثبيت. يمكنك أيضًا استخدام الأمر التالي من وحدة تحكم مدير الحزم.
Package Manager Console Command
PM> Install-Package Aspose.Font
خطوات حفظ الخط قبل التغيير باستخدام C++:
توفر Aspose.Font لـ C++ القدرة على تعديل ملفات الخط وتخزين الملفات المعدلة على القرص. توضح مثال الشيفرة أدناه كيفية حفظ ملف خط TTF معدل.
- إنشاء كائن FontFileDefinition جديد.
- تعيين
FontType
كـ TTF وFontFileDefinition كـ
.ttf. - إنشاء كائن TtfFont وفتح ملف الخط باستخدام كائن FontDefinition المحدد مسبقًا.
- احفظ الـ
TtfFontعلى القرص من خلال استدعاء طريقة Save() وتمرير اسم ملف الإخراج مع المسار الكامل. سيكون ملف الخط المحفوظ يحتوي على التغييرات المحدثة.
شيفرة C++ لحفظ خط TrueType على القرص
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);