الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رسم النصوص باستخدام Fonts محددة

بدأه mohammed_k في 26 أكتوبر 2011 · 3 رد · 410 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

إنني أقوم يتصميم برنامج، تصادفني مشكلة مع بعض أنماط الخطوط عند رسم الآيات

Private drawFont As Font = New Font("me_quran", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte), False)
        Private drawFormat As StringFormat

 Private Sub DrawAyaFormat()
            drawFormat = New StringFormat
            drawFormat.FormatFlags = StringFormatFlags.NoFontFallback
            drawFormat.FormatFlags = StringFormatFlags.NoWrap
            drawFormat.FormatFlags = StringFormatFlags.DirectionRightToLeft
            drawFormat.SetDigitSubstitution(&HC01, StringDigitSubstitute.National)
                   End Sub

Dim text as string="بِسْمِ اللَّـهِ الرَّ‌حْمَـٰنِ الرَّ‌حِيمِ"
Dim dc As Graphics = e.Graphics
dc.DrawString(text, drawFont, Brushes.Black, xy, drawFormat)

المشكلة عند رسم النص يظهر كالتالي

بِسْمِ اللَّـهِ الرَّ‌حْم ـٰنِ الرَّ‌حِيمِ

قمت بكتابة هذا النص على المفكرة بنفس نمط الخط ظهر بشكل صحيح "بِسْمِ اللَّـهِ الرَّ‌حْمَـٰنِ الرَّ‌حِيمِ"

#2

السلام عليكم ورحمه الله وبركاته

اخي انا جربت الكود التالي وتم عملية الطباعة على الفورم بنجاح

Private drawFont As Font = New Font("me_quran", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte), False)
	Private drawFormat As StringFormat

	Private Sub DrawAyaFormat()
    	drawFormat = New StringFormat
    	drawFormat.FormatFlags = StringFormatFlags.NoFontFallback
    	drawFormat.FormatFlags = StringFormatFlags.NoWrap
    	drawFormat.FormatFlags = StringFormatFlags.DirectionRightToLeft
    	drawFormat.SetDigitSubstitution(&HC01, StringDigitSubstitute.National)
    	Dim text As String = "بِسْمِ اللَّـهِ الرَّ‌حْمَـٰنِ الرَّ‌حِيمِ"
    	Dim dc As Graphics = Me.CreateGraphics()
    	dc.DrawString(text, drawFont, Brushes.Black, New Point(300, 10), drawFormat)
	End Sub

	Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    	DrawAyaFormat()
	End Sub

.:: Wish to become better and better ::.

#3

بالفعل يا أخي ان عملية الطباعة على الفورم تمت بنجاح

ولكن المشكة ظهرت مع هذا الفونت بتحديد "me_quran" بسبب طريقة كتابة كلمة "الرحمن"

إذا كانت الكلمة مكتوبة بهذا الشكل "الرَّ‌حْمَـٰنِ" تتم عملية الطباعة بنجاح

أما اذا كانت مكتوبة بهذا الشكل "الرَّ‌حْمَٰنِ" اي بدون "-" تظهر المشكلة تتم عملية الطباعة بهذا الشكل "الرَّ‌حْم'نِ"

علما ان هذه المشكلة لا تظهر مع معظم "Fonts"

او في Labels , TextBox رغم استخدام "me_quran"

وشكرا على الرد

#4

السلام عليكم ورحمه الله وبركاته

اخي قمت بنسخ كلمة الرحمن السابقة وضبطت معاي!!<br>

تم تعديل هذه المشاركة بواسطة VB Helper في 26 أكتوبر 2011 في 19:18

.:: Wish to become better and better ::.

مواضيع مشابهة