بسم الله الرحمن الرحيم
الحمد لله رب العالمين، وصلاة وسلام على رسوله الأمين، أما بعد.
خط.س
أطلقت اليوم نظام (خط.س) - تنطق (خط سين) - وهو نظام تنضيد للرياضيات باللغة العربية، لما رأيته من افتقار لمنضد عربي في هذا المجال. يمكنكم زيارة النظام هنا:
الهدف الحالي من النظام هو توفير بيئة متكاملة لتنضيد رياضيات ما قبل الجامعة، وإن شاء الله، أتوسع بعدها إلى دعم رياضيات الجامعة والمراحل المتقدمة.
المزايا
سأذكر هنا بعض مزايا النظام:
1- يدعم اللغة العربية أساسًا، ولكنه قابل للتوسع لدعم التنضيد اللاتيني.
2- أوامر الإدخال في خط.س تكتب بالعربية، وهي مستوحاة من أوامر لاتكس (LaTeX) لإدخال المعادلات.
3- مصمم للعمل على أي خط، ولا يحتاج ضبطًا للخطوط الجديدة كما هو الحال مع منضدات (TeX).
4- يدعم الأرقام المشرقية، ويستخدم رموز يونيكود المعتمدة باستخدام الخط الأميري.
5- يدعم تصيير النصوص العربية المتقدمة باستخدام مكتبة HarfBuzz، كما أنه يتقبل النصوص مختلفة الاتجاه باستخدام FriBidi.
أوامر خط.س
في الموقع أمثلة كثيرة على مختلفة الأوامر، ولكن هذه أمثلة بسيطة:
1- س + /على {1} {2} = 10
2- /تكا{س + 1}{ص + 1}
3- /نها{س + 1}{ص + 1}
دعم الخطوط المختلفة
1- الخط الأميري
2- خط Arial
3- خط Seogo UI (خط نظام ويندوز 10)
الأدوات والتقنيات المستخدمة
1- النظام والموقع مبرمجان باستخدام#C مع .NET Core.
2- استخدمت SkiaSharp لرسم المعادلات.
3- استخدمت HarfBuzzSharp لرسم الحروف العربية.
4- أنشأت واستخدمت مكتبة FriBidiSharp (واجهة #C للمكتبة الأصلية FriBidi) لمعالجة اتجاه النصوص (مثلا النص العربي من اليمين إلى اليسار، ولكن الأعداد من اليسار إلى اليمين).
5- النظام إلى حد ما يستوحي الأفكار الأساسية من نظام تكس (TeX)، مثل فكرة المربعات (Boxes) والمسافات بين المربعات.
6- يستخدم النظام الخط الأميري في اللغة العربية، وخط XITS في الرموز الرياضية، وكلاهما من نفس المطور.
7- النظام يعمل داخل نظام لينكس داخل حاوية Docker.
8- يستخدم خادم الويب nginx في الموقع.
9- يستخدم النظام أداة ANTLR4 في بناء لغة أوامر خط.س وتحليلها.
الخطط المستقبلية
إن شاء الله، أخطط لعمل إضافات تعمل على محررات النصوص مثل وورد Word، وغيرها، ولكن هذا غالبًا سيأخذ وقتًا، فقد استغرق مني النظام قرابة ستة أشهر بحمد الله، لانشغالي بالوظيفة ^^
الأسئلة
سأكون سعيدًا باستقبال الأسئلة هنا، إن واجهتم مشكلات في استخدام نظام خط.س :)
والسلام عليكم ورحمة الله وبركاته.
التعليقات
عمل رائع ومجهود يستحق التقدير
كيف تتحكم بموضع النص العربي؟
MeasureText لا يعمل مع الأحرف العربية في skiasharp
حياك الله أخي الكريم.
تعمل MeasureText مع النص العربي، ولكن ليست بطريقة مباشرة. إدخال النص مباشرة إليها مثل "قال" سيدخلها في الذاكرة (من اليسار إلى اليمين) كـ (ل ا ق). وهذا ما ستحسبه الدالة، وهذا بالتأكيد خطأ. الحل هنا أن نستخدم مكتبة تكوين (Shaping)، فهي تقوم بتحويل النص (ا ل ق) في الذاكرة إلى (قـ ا ل)، ومن ثم تحسبها الدالة بشكل صحيح.
أشهر مكتبة والتي تدعمها مايكروسوفت للتكوين هي HarfBuzzSharp (من الأصل HarfBuzz)، وهي تقوم بقراءة الحروف واختيار التكوين المناسب لها إذا كانت بادئة تختار (قـ) وإذا كانت متوسطة تختار (ـقـ)، وإذا كانت متطرفة، اختارت (ـق)، أو (ق) إذا كانت معزولة وهكذا.
شكرًا جزيلا لك.
شكرا لك على هذا المشروع الرائع، قمت بالكتابة عنه في وادي التقنية
جميل جدًا، صراحًة أبدعت صديقي، واعجبتني المنصة كثيرًا..
ولكن ما هي الغاية .. فكـرة أن تقوم بالحساب سريعًا، اعتقد انها لم تعد لها اهمية بعد ان اصبحت الآلة الحاسبة موجودة في أي هاتف صغير .. أو تطبيقات الهواتف الخاصة بالرياضيات.... هل تعتقد أنّ الموقع قد ينجح؟ أو يلقى رواجًا...
واعتقد ان هناك العديد من الطرق المدهشة لدى الرياضيين يمكنهم حساب الارقام المعقدة بسرعة مدهشة .. شاهدت بعضها عبر يوتيوب ولكني لا اتذكر القنوات للأسف...
لذلك أليس من الأفضل انشاء تطبيق مربوط بالموقع حيث يُمكن استخدامه من على الهواتف أليس ذلك قد يسهل على المستخدمين استخدامه بدلاً من الدخول للموقع والبدء بعمل الحسابات؟
في النهاية سؤال بسيط، ما هي لغات البرمجة المُستخدمة في عمل مثل آلية هذه المواقع؟ أو كيف يتم ربط هذه الأمور معًا، وأعتذر إذا كان سؤالي خارج سياق الموضوع :)
ولكن ما هي الغاية .. فكـرة أن تقوم بالحساب سريعًا، اعتقد انها لم تعد لها اهمية بعد ان اصبحت الآلة الحاسبة موجودة في أي هاتف صغير .. أو تطبيقات الهواتف الخاصة بالرياضيات.... هل تعتقد أنّ الموقع قد ينجح؟ أو يلقى رواجًا...
على حسب تصفحي للمنصة، فهي ليست لإجراء العمليات الحسابية، ولكنها لإنشاء المعادلات وكتابتها باللغة العربية بدلا من اللاتينية المستخدمة في برامج الورد، وإن كنت مخطىء أرجو من صاحب المنصة التصحيح والتوضيح، إذ قمت بإجراء بعض العمليات الحسابية وكان الناتج كتابة المعادلة مرة ثانية بخط عربي دون إظهار النتيجة.
فعلاً لاحظت الأمر.... نفس الذي فعلته بعد التجربة، لم يظهر نتيجة...
لذلك فعلاً قد أكون مُخطئ بخصوص الأمر والعمليات الحسابية، وبعد تعليقك اختلط علي الأمر، رغم وضوح تعليقك عن الأمر، لذلك أصبح هناك سؤال آخر، ما هي الفائدة الفعلية من هذا النوع من المنصات
تواجه صعوبة كبيرة عند كتابة المعادلات الرياضية وخاصة المعقد منها في الأبحاث العلمية وفي الإحصاء، فحتى تكتب معادلة معينة على الورد تحتاج للضغط على Insert لتكوين المعادلة وعلى عدة مراحل، لذا قد تكون طريقة سهلة لكتابة المعادلة باللغة العربية بدلا من اللاتينية، وإن كنت مخطىء أرجو التوضيح والتصحيح من صاحب المنصة.
حياك الله أخي الكريم. مثلما تفضل الأخ قبلي، النظام هو لكتابة المعادلات، وليس لحلها. كتابة المعادلات باللغة العربية بالحاسب يكاد يكون شبه مستحيل للمستخدم العادي، فأحببت أن أوفر أداة تغنيهم عن استخدام المنضدات (أدوات الكتابة) اللاتينية.
بالنسبة للتطبيق، فأفكر في عمل تطبيق يوازي الموقع ويكون أسهل للدخول للمستخدم.
بالنسبة للغات البرمجة والأدوات المستخدمة حدثت الموضوع وذكرتها :)
شكرًا جزيلا لك.
عمل رائع جدّا.
بالمناسبة في الخط الافتراضي بالموقع يقع تعارض بين حرف الهاء "ه" المعقوفة والرقم 5 المشرقي.
حيث يبدوان واحدا مع فارق بسيط في الحجم.
أتمنى إضافة الأرقام العربية بالإضافة للأرقام المشرقية.
عمل سيساعد الكثيرين بارك الله فيك وحفظك
حياك الله أخي الكريم.
بالنسبة لتعارض حرف الهاء مع الرقم 5، فقد لاحظت ذلك أيضًا، سوف أرسل تذكرة لمطور الخط الأميري للنظر في الأمر. شكرًا لك :)
الأرقام المغربية أيضًا مدعمومة، ما عليك سوى إدخال أمر الخيارات (#مغرب) قبل أي أمر، وستتحول الأرقام إلى العربية المغربية.
مثال: (#مغرب س + /على {1} {2} = 10)
ستجد في دليل الاستخدام في للموقع شرحًا لكافة الأوامر المتاحة.
شكرًا جزيلا لك.
السلام عليكم
في البداية الله يعطيك العافية على هذا المجهود الجميل
1-كنت اتمنى ان تكون النتيجة بعد الضغط على زر ارسال عبارة عن نص و ليس صورة لكي يتم نسخه و الاستفادة منه في محررات النصوص
2- و أرى انه لو كان هناك لوحة تحتوي على ازرار مختصرة تقوم بكتابة الرموز بلغة (latex) في صندوق الكتابة
3-يمكنك أيضا السماح للمستخدم بتخصيص خط معين
4- أتمنى أن تكون النتيجة موافقة للطريقة التي تكتب في الكتب العلمية
5- ارى انه من الأفضل برمجته كإضاقة للمحررات النصوص المشهورة مثل وورد ليبرا
كل الإحترام و التقدير لشخصك الكريم
وعليكم السلام أخي الكريم،
1- بالنسبة لإمكانية النسخ إلى المحررات، فهذا غير ممكن الآن إلى أن يكون هنالك إضافات لمحررات النصوص تفهم أوامر خط.س. وهذا ذات الأمر مع بقية أدوات كتابة الرياضيات، فهي إما تصدر لك الأوامر الأساسية، أو تصدر لك صورة. أشهرها MathJax، ومع أنه يصير المعادلات في المتصفحات باستخدام HTML وليس كصورة، لكنك لا تستطيع النسخ، حتى إلى موقع آخر، حتى يكون في ذلك الموقع مكتبة MathJax تفهم الأوامر وتصيرها مرة أخرى.
2- هذه فكرة جيدة، سأفكر فيها. لكن مع ملاحظة أن أوامر خط.س مختلفة عن أوامر LaTeX، وإن كانت مستوحاة منها.
3- الخطوط العربية التي تدعم حروف الرياضيات الخاصة UTF32 قليلة، وعلى حد علمي الخط الأميري هو من يوفرها حاليا. سأنظر فيما يتوفر من بدائل.
4- أرجو أن توضح أكثر، هلا وضحت في أي جانب خط.س غير موافق للكتب العلمية المكتوبة بالعربية؟ فقد استندت إلى مناهج الرياضيات في الدول التي تستخدم اللغة العربية في المعادلات مثل اليمن، وسوريا، ومصر.
5- هذا هو بالضبط ما أفكر فيه، وسيحل النقطة رقم 1 أيضا، لكنه ليس بالأمر الهين. إن شاء الله أوفق فيه.
شكرا لك أخي الكريم.
جزاكم الله خيرا.
أنا استعمل مكتبة MathQuill في تطبيق الموقع هذا، (
)، وأنوي بإذن الله العمل على تعريب الـ latex من خلال المشروع المتواجد بالفعل مفتوح المصدر katex ومن ثم تعريب الـ mathquill وبعد ذلك أقوم باستخدام صدونق المعادلات العربية في هذا التطبيق وتعريبه بالكامل.
لكن أنا الآن أتساءل عن مشروعك هذا، هل هو مفتوح المصدر، ولو لم يكن فأرجو أن تجيب طلبي بفتح مصدره، لأن ذلك أدعى للوصول لهدفك وللتعاون المشترك ونقل الخبرات وضمان التطوير المستمر بإذن الله.
إن شاء الله، سأنشر على هذه المنصة مقالا عن تعريبي للجافاسكريبت:
مشروع جميل..
بدى رآيك فى برنامج مجاني لصناعة نسخة إلكترونية من كتب الرياضيات بالذكاء الإصطناعى أى تحويل الكتاب لنسخة إلكترونية سهلة التعديل من قبل المعلم وصناعة التمارين ذات النماذج المتعددة بسهولة وسرعة فائقة. فى مراحل صناعة البرنامج صنعت محرك لرسم المعادلات الرياضية ذا شكل قريب جداً من نفس جودة كتب الرياضيات ممكن نتعاون فى فصل المحرك دا لبرنامج منفصل لو عجبك ... دا رابط تحميل البرنامج بنسخته التجريبية: https://www.mediafire.com/f...
ودا تكوين عشوائى لمحرك رسم المعادلات .
ما شاء الله عمل جميل، والناتج جميل. استخدامك للخطوط الخاصة بالرياضيات العربية أضفى على الناتج شكل جميل. كما أن رسم الأقواس الكبير أكثر جودة من ناتج خطسين.
هل اتبعت نفس طريقة TeX/Latex في رسم المعادلات؟ بتحديد أبعاد الخط؟ مثل هذا:
حاولت تشغيل البرنامج لكن ظهر لي خطأ "Unable to run script" .
وعفوًا على الرد المتأخر فلم يصلني إشعار إلى البريد بردك.
بالتوفيق :)