استقلال تقنيقراءة دقيقتين

مكتبة aared العربية تعرض ملفات Word وExcel وPowerPoint في المتصفح دون أن ينقلب اتجاه العربية

نشر المطوّر عبدالحميد عيد مكتبة اسمها aared تعرض ملفات Word وExcel وPowerPoint داخل المتصفح، مع دعم سليم للعربية. والمكتبة برخصة Apache 2.0، ومنشورة على npm باسم @aared/viewer. وتذكر صفحة المشروع على مرتكز اسمًا مختلفًا لصاحبه، لكن حقوق المستودع نفسه مسجلة باسم عبدالحميد عيد.

والمشكلة التي تعالجها معروفة لكل من عرض ملفًا عربيًا في المتصفح: اتجاه الفقرة ينقلب، أو تنكسر السطور في غير موضعها. والسبب أن أغلب العارضات ترسم الملف على canvas، وهو سطح يحوّل النص إلى ما يشبه الصورة، فيضيع اتجاه الفقرة وتظهر العربية مقلوبة أو مقطعة.

أما aared فترسم على DOM وSVG، ولا تستخدم canvas على الإطلاق. وبذلك تُترك مهام تشكيل الحروف واتجاه النص المختلط، أو bidi، واختيار الخط البديل للمتصفح نفسه، وهو يؤديها بشكل صحيح أصلًا.

ويجري العمل على مرحلتين. في الأولى يفكّ worker حزمة OOXML، وهي في حقيقتها ملف مضغوط يحتوي على ملفات XML، ويحوّلها إلى نموذج موحد. وفي الثانية يحوّل راسم خاص بكل صيغة هذا النموذج إلى عناصر في الصفحة. ويقول المشروع إن اتجاه الفقرة من اليمين إلى اليسار يعمل في الصيغ الثلاث، وإنه جُرّب على ملفات عربية حقيقية.

ويكتب المشروع حدوده بنفسه: اختيار الخط يؤثر على كسر السطور، وتقسيم صفحات DOCX لا يطابق Word تمامًا، وملفات PDF خارج نطاقه. وهو لا يزال صغيرًا جدًا، بنجمتين على GitHub، فهو أقرب إلى كود يُقرأ ويُجرَّب منه إلى dependency ناضجة.

ودلالة المشروع أن الحل لم يكن براعة في الكود، بل قرارًا معماريًا واحدًا: ترك المتصفح يؤدي ما يتقنه بالفعل.

المصادر

  1. مستودع المكتبة على GitHub
  2. تجربة حيّة في المتصفح
  3. المكتبة على npm
  4. صفحة المشروع على مرتكز

من عدد الاثنين 15 جمادى الأولى - 26 أكتوبر

أخبار ذات صلة

استقلال تقني

مطوّر عربي ينشر Verto لتفريغ الكلام المصري إلى نص داخل المتصفح دون رفع الصوت

المغزى: اللهجة المصرية والكلام المخلوط بالإنجليزية من أصعب ما تواجهه أدوات التفريغ الأجنبية، ومشروع صغير مفتوح يعالجها على جهاز المستخدم نفسه، مع اعتراف صريح بأن دقته لم تُقَس بعد.

11 جمادى الأولى - 22 أكتوبر
استقلال تقني

أداة مجتمعية تتيح سؤال قاعدة مشاريع منصة مرتكز بالعربية والحصول على ترتيب وأرقام

المغزى: قيمة الأداة ليست في نموذج ذكي، بل في طبقة سؤال بُنيت فوق بيانات عربية منظمة. وهذه الطبقة هي ما ينقص معظم المشاريع العربية، فالبيانات موجودة والسؤال غائب.

17 جمادى الأولى - 28 أكتوبر

أخبار الاثنين 15 جمادى الأولى - 26 أكتوبر