عرض النص باستخدام الحروف

حل API لـ C++ لعرض النص بالخط المطلوب.

 

توفر حلول Aspose.Font API إمكانات غنية للعمل مع الخطوط، بما في ذلك التحويل، ومعالجة الحروف، واكتشاف الرموز اللاتينية، وأكثر. بعض الميزات تتعلق بمعالجة الحروف، مثل عرض النص.

الحرف هو تصميم فريد لحرف في نوع الخط أو تمثيل رسومي لرمز أو حرف. للحصول على فهم أعمق لهذه الوحدة الخطية، اقرأ مقال Introduction to Glyph .

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

لكتابة النصوص باستخدام الحروف نحتاج إلى:

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

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

Package Manager Console Command


    PM> Install-Package Aspose.Font

عرض النص باستخدام الحروف باستخدام C++

الخطوات التالية عادةً ما تكون مطلوبة لعرض النص باستخدام الحروف:

  1. تحميل ملف الخط إلى الذاكرة. هنا تحتاج إلى إنشاء كائن خط، مثل كائن Type1Font، وتمرير مسار ملف الخط إليه.
  2. فك شفرة النص إلى معرفات الحروف المقابلة. للقيام بذلك، مرّر كل حرف من النص عبر كائن الترميز الخاص بالخط وفك شفرةه إلى معرف الحرف المقابل.
  3. احصل على مخطط كل حرف. المخطط هو مسار يحدد شكل الحرف. يمكن تحقيق ذلك باستخدام طريقة GetGlyphOutline() لكائن Font .
  4. ارسم مخططات كل حرف باستخدام كائن رسومي، مثل كائن GraphicsPath. فقط أنشئ كائنًا يطبق واجهة IGlyphOutlinePainter، المسؤولة عن رسم مخططات الحروف.
  5. اعرض النص باستخدام كائن رسومي لرسم مخططات كل حرف. يمكن القيام بذلك باستخدام طريقة DrawPath() لكائن الرسومات.

كود C++ لعرض النص

    using Aspose::Font::Glyphs;
    using Aspose::Font::Rendering;
    using Aspose::Font::RenderingPath;
    class GlyphOutlinePainter: IGlyphOutlinePainter
    RenderingText::GlyphOutlinePainter::GlyphOutlinePainter(System::SharedPtr<System::Drawing::Drawing2D::GraphicsPath> path)
    {
        _path = path;
    }

    void RenderingText::GlyphOutlinePainter::MoveTo(System::SharedPtr<Aspose::Font::RenderingPath::MoveTo> moveTo)
    {
        _path->CloseFigure();
        _currentPoint.set_X((float)moveTo->get_X());
        _currentPoint.set_Y((float)moveTo->get_Y());
    }

    void RenderingText::GlyphOutlinePainter::LineTo(System::SharedPtr<Aspose::Font::RenderingPath::LineTo> lineTo)
    {
        float x = (float)lineTo->get_X();
        float y = (float)lineTo->get_Y();
        _path->AddLine(_currentPoint.get_X(), _currentPoint.get_Y(), x, y);
        _currentPoint.set_X(x);
        _currentPoint.set_Y(y);
    }

    void RenderingText::GlyphOutlinePainter::CurveTo(System::SharedPtr<Aspose::Font::RenderingPath::CurveTo> curveTo)
    {
        float x3 = (float)curveTo->get_X3();
        float y3 = (float)curveTo->get_Y3();
    
        _path->AddBezier(_currentPoint.get_X(), _currentPoint.get_Y(), (float)curveTo->get_X1(), (float)curveTo->get_Y1(), (float)curveTo->get_X2(), (float)curveTo->get_Y2(), x3, y3);
    
        _currentPoint.set_X(x3);
        _currentPoint.set_Y(y3);
    }

    void RenderingText::GlyphOutlinePainter::ClosePath()
    {
        _path->CloseFigure();
    }

    System::Object::shared_members_type Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::GetSharedMembers()
    {
        auto result = System::Object::GetSharedMembers();
    
        result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_path", this->_path);
        result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_currentPoint", this->_currentPoint);
    
        return result;
    }



التعليمات

1. كيف يتم عرض الخط عبر Aspose.Font؟

لعرض الخطوط باستخدام حل واجهة برمجة التطبيقات هذا، ستحتاج إلى كيانات Aspose.Font.Rendering و Aspose.Font.Renderers و مساحات الأسماء. أولاً، قم بتنفيذ أساليب IGlyphOutlinePainter، ثم قم بإنشاء أسلوب DrawText(). قم بإنشاء طريقة الأداة المساعدة لحساب عرض الخط واستدعاء وظيفة عرض النص.

2. ما هي العوامل التي يجب عليك الانتباه إليها عند عرض النص باستخدام الحروف الرسومية؟

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

3. ما هو تلميح الخط؟

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