34

خط.س: منضد الرياضيات العربي (كتابة الرياضيات بالعربية)

  • ghasan

بسم الله الرحمن الرحيم

الحمد لله رب العالمين، وصلاة وسلام على رسوله الأمين، أما بعد.

خط.س

أطلقت اليوم نظام (خط.س) - تنطق (خط سين) - وهو نظام تنضيد للرياضيات باللغة العربية، لما رأيته من افتقار لمنضد عربي في هذا المجال. يمكنكم زيارة النظام هنا:

الهدف الحالي من النظام هو توفير بيئة متكاملة لتنضيد رياضيات ما قبل الجامعة، وإن شاء الله، أتوسع بعدها إلى دعم رياضيات الجامعة والمراحل المتقدمة.

المزايا

سأذكر هنا بعض مزايا النظام:

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، وغيرها، ولكن هذا غالبًا سيأخذ وقتًا، فقد استغرق مني النظام قرابة ستة أشهر بحمد الله، لانشغالي بالوظيفة ^^

الأسئلة

سأكون سعيدًا باستقبال الأسئلة هنا، إن واجهتم مشكلات في استخدام نظام خط.س :)

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


التعليق السابق

وعليكم السلام أخي الكريم،

1- بالنسبة لإمكانية النسخ إلى المحررات، فهذا غير ممكن الآن إلى أن يكون هنالك إضافات لمحررات النصوص تفهم أوامر خط.س. وهذا ذات الأمر مع بقية أدوات كتابة الرياضيات، فهي إما تصدر لك الأوامر الأساسية، أو تصدر لك صورة. أشهرها MathJax، ومع أنه يصير المعادلات في المتصفحات باستخدام HTML وليس كصورة، لكنك لا تستطيع النسخ، حتى إلى موقع آخر، حتى يكون في ذلك الموقع مكتبة MathJax تفهم الأوامر وتصيرها مرة أخرى.

2- هذه فكرة جيدة، سأفكر فيها. لكن مع ملاحظة أن أوامر خط.س مختلفة عن أوامر LaTeX، وإن كانت مستوحاة منها.

3- الخطوط العربية التي تدعم حروف الرياضيات الخاصة UTF32 قليلة، وعلى حد علمي الخط الأميري هو من يوفرها حاليا. سأنظر فيما يتوفر من بدائل.

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

5- هذا هو بالضبط ما أفكر فيه، وسيحل النقطة رقم 1 أيضا، لكنه ليس بالأمر الهين. إن شاء الله أوفق فيه.

شكرا لك أخي الكريم.