14-12-13, 03:51 PM
(آخر تعديل لهذه المشاركة : 14-12-13, 05:32 PM {2} بواسطة الشاكي لله.)
بعد التنقيح والتتبع وجدت الكود المسؤول عن رسم النص :-
لماذا حصل ذلك ؟؟
الدالة السابقة تقوم برسم كل حرف على حدة وليس لها علاقة بما قبله
فهي لاتعرف ان الحرف هو في وسط الجملة او في نهايتها
فقط هي ترسم الحرف وتضعه في التكست بوكس .
كما نعرف الانجلينز حروفهم لها شكل واحد سواء كانت في وسط الكلمة او بدايتها او نهايتها
بما ان مصمم الفئة شخص اجنبي فلا يعلم بان هذه مشكلة لحروفنا . فشكلها يتغير حسب مكانها
مثلا :- ب < في نهاية الكلمة ، ـبـ < في وسط الكلمة , بـ < في بداية الكلمة
>الدالة المسؤولة عن رسم النصوص هي Draw ضمن فئة TextStyle ضمن ملف style.cs
الحل بسيط .. لو قمت بتعديل الكود السابق بدل ان يرسم [color=#800080]حرف-حرف الى كلمة-كلمة ستحل المشكلة وستظهر لك الحروف سليمة
ها انا وضحت لك المشكلة والان يمكنك حلها او انظاري ريثما احلها
PHP كود :
//classic mode
for (int i = range.Start.iChar; i < range.End.iChar; i++)
{
//draw char
gr.DrawString(line[i].c.ToString(), f, ForeBrush, x, y,stringFormat);
x += dx;
}
لماذا حصل ذلك ؟؟
الدالة السابقة تقوم برسم كل حرف على حدة وليس لها علاقة بما قبله
فهي لاتعرف ان الحرف هو في وسط الجملة او في نهايتها
فقط هي ترسم الحرف وتضعه في التكست بوكس .
كما نعرف الانجلينز حروفهم لها شكل واحد سواء كانت في وسط الكلمة او بدايتها او نهايتها
بما ان مصمم الفئة شخص اجنبي فلا يعلم بان هذه مشكلة لحروفنا . فشكلها يتغير حسب مكانها
مثلا :- ب < في نهاية الكلمة ، ـبـ < في وسط الكلمة , بـ < في بداية الكلمة
>الدالة المسؤولة عن رسم النصوص هي Draw ضمن فئة TextStyle ضمن ملف style.cs
الحل بسيط .. لو قمت بتعديل الكود السابق بدل ان يرسم [color=#800080]حرف-حرف الى كلمة-كلمة ستحل المشكلة وستظهر لك الحروف سليمة
ها انا وضحت لك المشكلة والان يمكنك حلها او انظاري ريثما احلها


