عرض محرك متصفح Kosmonaut المكتوب بلغة Rust

في حدود المشروع كوسموناوت يجري تطوير محرك متصفح مكتوب بالكامل بلغة Rust وباستخدام بعض تطورات مشروع Servo. شفرة وزعت من خلال مرخص بموجب MPL 2.0 (رخصة Mozilla العامة). يتم استخدام روابط OpenGL للعرض gl-rs بلغة الصدأ. يتم تنفيذ إدارة النوافذ وإنشاء سياق OpenGL بواسطة المكتبة الغلوتين. يتم استخدام المكونات لتحليل HTML وCSS html5ever и com.cssparserالتي طورها المشروع أجهزة.
يعتمد رمز العمل مع DOM على تطورات المشروع كوتشيكيتطوير مكتبة للتعامل مع HTML/XML. ومن بين المشاريع المستخدمة، تم ذكر محرك الويب التجريبي أيضًا روبنسون، والتي كانت في حالة شبه مهجورة منذ حوالي 5 سنوات.

في المرحلة الحالية من التطوير، يتم توفير دعم HTML الأساسي ومجموعة محدودة من إمكانيات CSS، والتي ليست كافية بعد لعرض معظم الصفحات الحديثة. مع ذلك صفحات بسيطة على divs مع CSS يتم رسمها بشكل صحيح. تم تأسيس المشروع في الأصل قبل عام لتدريس عملية تطوير محركات المتصفح، ولكنه يحاول الآن العثور على مجالات جديدة للتطبيق.

ما تم تنفيذه بالفعل:

  • تحليل HTML، مجموعة فرعية من CSS، CSS المتتالية، DOM.
  • عرض الصفحة، وتخطيط محتوى الكتلة.
  • دعم جزئي للملخص نماذج الصندوق وخصائص "اتجاه".
  • إنشاء عمليات تفريغ التصحيح باستخدام شجرة من العناصر المعروضة.
  • يدعم عوامل التحجيم التعسفية لشاشات DPI العالية.
  • عرض النص باستخدام مكتبة FreeType.
  • Поддержка تخطيط تدفقالتنسيق والعرض المضمّن الحساس للسياق.

المصدر: opennet.ru

إضافة تعليق