الشبكة العربية لمطوري الألعاب

خبير مدير وسام البهنسي مشاركة 21

شكراً وليد! المكتبة فعلاً قوية ومتكاملة... هذا هو الرابط لها:
 
http://site.icu-project.org/
 
تقدم إمكانيات التعامل مع نصوص يونيكود لطيف واسع من اللغات متضمنة العربية. المكتبة لا تقوم بالرسم، ولكنها تعطيك كل المعلومات اللازمة لرسم النص بشكل صحيح وبالتنسيق الصحيح، مما يعني أنك تستطيع استخدامها للرسم بأية تقنية وعلى أية منصة (هذه خدمات محرك التنسيق في المكتبة أو ما يدعى LayoutEngine).
 
إضافة لذلك توجد خدمات عدة كالبحث والاستبدال والعمليات النصية المختلفة والتقويم.
 
أعتقد أنها حل ناجح لمن يودّ دعم العربية على منصات لا تدعمها البتة، كمنصات الألعاب مثلاً. ☺

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  عليوات مشاركة 22

الـسلام عليكم و رحمة الله وبركاته
إسمحولي لم أتابع الموضوع منذ البداية ولكن إذا كنتم تبحثون عن دالة تظهر الحروف العربية بالـ opengl بلغة ++C فإني كتبت دالة إذا لم يكن عندكم مانع سأحملها لكم .
جـربوها وأعطوني رأيكم من فضلكم فإن رأيكم مهم.

خبير مدير وسام البهنسي مشاركة 23

في 05/جمادى الأولى/1434 07:08 م، عقد عليوات حاجبيه بتفكير وقال:

الـسلام عليكم و رحمة الله وبركاته
إسمحولي لم أتابع الموضوع منذ البداية ولكن إذا كنتم تبحثون عن دالة تظهر الحروف العربية بالـ opengl بلغة ++C فإني كتبت دالة إذا لم يكن عندكم مانع سأحملها لكم .
جـربوها وأعطوني رأيكم من فضلكم فإن رأيكم مهم.

وعليكم السلام عليوات،
 
ملف الترويسة يحوي بعض الغموض. ما هو "Police"؟  وما هي مدخلات ArabGlEnable؟
 
وهل لك أن تشرح لنا ما الطريقة التي تتبعها لرسم الخطوط؟

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  عليوات مشاركة 24

ملفpolice يعني عالميا ملف الحروف هناك "arial - times new roman -new courier ....." وهي جزء من الـ windows المشغل للحاسوب وهي معرفة
    في الـ   +GDI بـ WCHAR
ArabGlEnable هي دالة التي  تحول البرنامج من 3D إلى 2D  فتظهر الحروف الذين هم مكتوبون بـ 2D ثم تأتي الدالة ArabGlDisable لتعيد البرنامج إلى 3D من جديد
 
أما الطـريقة فهي أستعمال موارد الحاسوب فبعد البحث في مكتبات الـ  C و ++ C  وجدت أنه في الـ  +GDI  الكثير من الموارد التي يمكن إستغلالها في هذا الموضوع  أنظر في gdiplusheaders.h فستجد في الـ    class Font: public GdiplusBase      الـ  constructor  :
;(Font(const WCHAR *familyName,Real emSize,INT style = FontStyleRegular,const FontCollection*fontcollection=NULL 
ثم أستغل هذا في الـ OpenGl ثم أظهره بـالـ SDL أو بغيرها .
هل جربت المثال الملحق أعطيني ملاحطاتك فإن رأيك و رأي الجميع مهم بالنسبة لي .
إلى القاء.