كشف معلومات الترخيص المضمنة

حل Poverful C++ API للكشف عن معلومات الترخيص الخاصة بالخط. اكتشف القيمة المخفية باستخدام Aspose.Font لـ C++: استخرج معلومات الترخيص المضمنة بسهولة!

 

أطلق العنان لقوة استخراج معلومات الترخيص! سيساعدك حل C++ API المتطور الخاص بنا على استخراج معلومات الترخيص المضمنة بسهولة. ويستخدم خوارزميات متقدمة لاستخراج معلومات الترخيص، مما يضمن حصولك على البيانات الأكثر موثوقية. سواء كانت مضمنة في المستندات أو ملفات الوسائط أو البرامج، فإن واجهة برمجة التطبيقات (API) الخاصة بنا تدعم نطاقًا واسعًا من تنسيقات الملفات. سواء كنت شركة ناشئة أو مؤسسة كبيرة، فإن واجهة برمجة التطبيقات (API) الخاصة بنا تتوسع لتلبية احتياجات استخراج معلومات الترخيص الخاصة بك. تم تصميم واجهة برمجة التطبيقات (API) الخاصة بنا باستخدام لغة C++ لتحقيق التكامل السلس، ويمكن دمجها بسهولة في تطبيقات البرامج وسير العمل الموجودة لديك. لا تدع معلومات الترخيص المضمنة تظل مخفية وغير مستغلة بشكل كافٍ. قم بتمكين إدارة الترخيص وجهود حماية الملكية الفكرية من خلال حل C++ API الخاص بنا. احصل على نسخة تجريبية مجانية للتأكد من أن Aspose.Font هي الأداة التي تحتاجها.

من المهم أن تتذكر أن الخطوط تعتبر برامج ، وعلى هذا النحو ، يجب دفع ثمنها لاستخدامها بشكل قانوني. على الرغم من توفر بعض الخطوط المجانية ، إلا أن معظمها ليس كذلك. للتأكد من أنك تستخدم خطًا وفقًا لقوانين حقوق النشر ، من الضروري شراء ترخيص.

تراخيص الخطوط مطلوبة قانونًا لاستخدام خط بطريقة معينة ، على سبيل المثال على موقع ويب ، أو مطبوعة ، أو في برنامج. بدون ترخيص مناسب ، قد يؤدي استخدام الخط بطرق معينة إلى انتهاك حقوق منشئ الخط أو مالكه. يحدد ترخيص الخط البنود والشروط التي يمكن بموجبها استخدام الخط. يمكن أن تختلف قيود ترخيص الخطوط. هناك عدد قليل من الخيارات:

  • قد يتم تضمين الخط وتحميله مؤقتًا على أنظمة أخرى. يسمح بالتحرير ، بما في ذلك تنسيق النص الجديد بالخط المضمن ، ويمكن حفظ أي تغييرات.

  • قد يتم تضمين الخط وتثبيته بشكل دائم للاستخدام على الأنظمة البعيدة أو بواسطة مستخدمين آخرين.

  • قد يتم تضمين الخط وتحميله مؤقتًا على أنظمة أخرى لعرض المستند أو طباعته.

  • لا يمكن تعديل الخط أو تضمينه أو استبداله بأي شكل من الأشكال دون الحصول على إذن صريح من المالك القانوني.

توفر هذه الصفحة معلومات حول كيفية استخراج معلومات حول قيود الترخيص في خطوط تنسيق TrueType. يمكن العثور على باقي أجزاء التعليمات البرمجية التي توضح كيفية استخدام الحل في مشروع Aspose Github Project . يحتوي هذا المستودع على العديد من أمثلة كود C++. لعرض الترخيص والمعلومات المضمنة الأخرى بخط ما ، جرب تطبيقنا عبر الأنظمة الأساسية Font Metadata .

لاستخراج الترخيص المضمّن ، نحتاج إلى:

  • Aspose.Font لـ C++ API وهي واجهة برمجة تطبيقات لمعالجة المستندات وتحويلها غنية بالميزات وقوية وسهلة الاستخدام.

  • افتح مدير الحزم NuGet ، وابحث عن Aspose.Font وقم بالتثبيت. يمكنك أيضًا استخدام الأمر التالي من Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Font

خطوات لاكتشاف ما إذا كان الخط يتضمن معلومات الترخيص باستخدام C++:

  1. حدد الخط الذي يجب التحقق منه.
  2. قم بإنشاء مثيل لفئة FontDefinition وقم بتمرير نوع الخط ومعلومات ملف الخط. يتم فتح ملف الخط بعد ذلك باستخدام الأسلوب Open() .
  3. تحقق مما إذا كان الخط يحتوي على جدول OS / 2 ، حيث يتم تخزين معلومات الترخيص. استرجع علامات الترخيص باستخدام طريقة GetLicenseFlags() إذا كان هناك أي منها. يكتشف الرمز بعد ذلك نوع التضمين المسموح به.

كود C++ للكشف عن معلومات الترخيص في الخطوط

    using Aspose::Font::Ttf;
    //Font to check
    System::String fileName = dataDir + u"Montserrat-Regular.ttf";
    //Font file name with the full path
    
    System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<FileSystemStreamSource>(fileName)));
    System::SharedPtr<TtfFont> font = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
    System::SharedPtr<LicenseFlags> licenseFlags;
    if (font->get_TtfTables()->get_Os2Table() != nullptr)
    {
        licenseFlags = font->get_TtfTables()->get_Os2Table()->GetLicenseFlags();
    }
    
    if (licenseFlags == nullptr || licenseFlags->get_FSTypeAbsent())
    {
        System::Console::WriteLine(System::String::Format(u"Font {0} has no embedded license restrictions", font->get_FontName()));
    }
    else
    {
        if (licenseFlags->get_IsEditableEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} may be embedded, and may be temporarily loaded on other systems.", font->get_FontName()) + u" In addition, editing is permitted, including ability to format new text" + u" using the embedded font, and changes may be saved.");
        }
        else if (licenseFlags->get_IsInstallableEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} may be embedded, and may be permanently installed", font->get_FontName()) + u" for use on a remote systems, or for use by other users.");
        }
        else if (licenseFlags->get_IsPreviewAndPrintEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} may be embedded, and may be temporarily loaded", font->get_FontName()) + u"  on other systems for purposes of viewing or printing the document.");
        }
        else if (licenseFlags->get_IsRestrictedLicenseEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} must not be modified, embedded or exchanged in any manner", font->get_FontName()) + u" without first obtaining explicit permission of the legal owner.");
        }
    }



التعليمات

1. ما هو ترخيص الخط؟

إنه مستند للإعلان عما يمكن فعله بالخط وقيود الاستخدام والبدلات وحقوق النشر.

2. هل تحتاج إلى ترخيص الخطوط؟

مثل أي برنامج آخر ، فإن الخطوط محمية بموجب حقوق النشر ولذا فهي مرخصة. على أي حال ، يمكن استخدام بعض الخطوط المرخصة لتلبية الاحتياجات التجارية مجانًا.

3. هل يمكنني استخدام خط تجاريًا؟

نعم ، يمكن استخدام الخطوط تجاريًا إما مدفوعة أو مجانية. يتضمن الترخيص مثل هذا النوع من المعلومات أيضًا.

4. كيفية التحقق من ترخيص الخط؟

لمعرفة ما إذا كان الخط يتضمن معلومات الترخيص عبر الإنترنت، يمكنك استخدام تطبيق Font Metadata . هناك سترى معلومات مثل وصف الترخيص والترخيص عنوان URL للمعلومات وإشعار حقوق الطبع والنشر. للحصول على هذه المعلومات برمجيًا، تحتاج إلى استخدام خصائص LicenseFlag فصل.