خط جنو الموحد
GNU Unifont هو خط يونيكود نقطي مجاني من تصميم رومان تشيبورا. يغطي الخط الرئيسي كامل المستوى اللغوي الأساسي (BMP). أما الخط المصاحب "العلوي" فيغطي أجزاءً كبيرة من المستوى اللغوي التكميلي (SMP). ويحتوي الخط المصاحب "Unifont JP" على أحرف كانجي يابانية موجودة في مجموعة أحرف JIS X 0213 .
يتواجد هذا الخط في معظم أنظمة التشغيل المجانية وأنظمة النوافذ مثل لينكس ، و XFree86 ، وخادم X.Org ، وبعض البرامج الثابتة المدمجة مثل RockBox ، [ 2 ] بالإضافة إلى Minecraft Java Edition . [ 3 ] يُنشر كود المصدر بموجب رخصة GPL-2.0 أو أحدث . يُنشر الخط بموجب رخصة GPL-2.0 أو أحدث مع استثناء الخط 2.0 (لا يتطلب تضمين الخط في مستند أن يخضع المستند لنفس الرخصة)؛ ومن الإصدار 13.0.04، يُرخص بترخيص مزدوج بموجب رخصة SIL Open Font License 1.1 . يُنشر الدليل بموجب رخصة GFDL-1.3 أو أحدث .
أصبح حزمة GNU في أكتوبر 2013. المسؤول الحالي عن صيانته هو بول هاردي.
حالة
يغطي المستوى الأساسي متعدد اللغات في يونيكود 2 ^ 16 ( 65,536 ) نقطة ترميز. من هذا العدد، 2,048 نقطة محجوزة للاستخدام الخاص كأزواج بديلة في UTF-16، و6,400 نقطة محجوزة للاستخدام الخاص . يتبقى بذلك 57,088 نقطة ترميز يمكن تخصيص رموز لها. بعض هذه النقاط عبارة عن قيم خاصة ليس لها رمز مخصص، ولكن معظمها له رموز مخصصة.
اعتبارًا من مايو 2019 يتمتع خط GNU Unifont بتغطية كاملة للمستوى متعدد اللغات الأساسي كما هو محدد في Unicode 12.1.0. أما الخطوط المصاحبة له، Unifont Upper و Unifont CSUR، فلديهما تغطية كبيرة للمستوى متعدد اللغات التكميلي وسجل ConScript Unicode ، على التوالي.
في الإصدار 12.1.02، تم إصدار خط Unifont JP، الذي يغطي 10000 حرف كانجي ياباني موجود في مجموعة أحرف JIS X 0213 ، بعضها موجود في المستوى التصويري التكميلي . وهو مشتق من Jiskan16، وهو خط مجاني الاستخدام.
يمكن لأي مساهم إضافة نصوص غير مكتملة إليها.
معظم الرموز الصينية واليابانية والكورية في هذا الخط مأخوذة من خط " يونيبت" الخاص بـ "وين كوان يي " بإذن منه. [ 4 ] : وين كوان يي: ربيع الحروف
يخزن خط Unifont رمزًا واحدًا فقط لكل نقطة ترميز Unicode قابلة للطباعة. ولهذا السبب، فهو لا يدعم ميزات OpenType اللازمة لعرض النصوص ذات التنسيقات المعقدة بشكل صحيح، كما أنه لا يضع علامات التشكيل المركبة مع الأحرف الأساسية بشكل صحيح إذا لم تكن هذه التركيبات مُرمّزة في Unicode بشكلها المُدمج مسبقًا؛ ولا يتم التعامل مع الأشكال السياقية (بما في ذلك أنواع الربط والمجموعات الفرعية) بشكل جيد أيضًا. هذا يزيد من عدد الرموز المطلوب تضمينها في الخط الأساسي، ومن غير الممكن حاليًا (بسبب قيود OpenType الحالية) ترميز جميع الرموز اللازمة لتمثيل جميع التركيبات المطلوبة التي يمكن أن توجد في مستوى Unicode واحد (ينطبق هذا أيضًا على الخطوط الصينية التي لا يمكنها تغطية جميع الرموز التصويرية المُرمّزة حاليًا في مستويين، وكذلك في مستوى ثالث). لذلك، يُقصد استخدام Unifont كخط افتراضي "كحل أخير"، مناسب للنصوص الأبجدية البسيطة، أو لعرض الأحرف المنفردة، ولكنه سيجعل قراءة النصوص الفعلية صعبة أو مستحيلة في بعض الأحيان. لعرض الأبجديات الهندية بشكل صحيح ( والأبجديات السامية إذا كانت مكتوبة بعلامات التشكيل الاختيارية الخاصة بها)، يجب تحديد خطوط أخرى قبل هذا الخط، وستكون هناك حاجة إلى خطوط إضافية لتغطية الأحرف الصينية المشفرة في مستويات تكميلية، أو لعرض معظم النصوص التاريخية (أو النصوص الحديثة للأقليات) غير المشفرة في BMP .
توزيع
يتوفر خط Unifont، بدءًا من الإصدار 15.0.6، بصيغ TTF (و OTF ) و BDF و PCF و.hex و PSF للإصدار القياسي. أما إصدار TrueType فهو الوحيد الذي ينقسم إلى خطين. [ 4 ]
قام بول هاردي بإنشاء بعض "الإصدارات المتخصصة" بناءً على طلب المستخدمين، وأتاحها للجميع. تشمل هذه الإصدارات ملف TTF نقطي (SBIT) يحتوي على رموز فارغة مُعبأة بقيم نقاط الترميز ليقرأها مستخدمو FontForge ، وملف PSF نقطي يحتوي على رموز لمبرمجي APL ، وإصدارات بملف واحد بصيغة .hex الخاصة بـ Roman (انظر أدناه). [ 4 ] يتكون الهيكل الأساسي للمصدر من ملفات .hex أصغر حجمًا يتم تجميعها معًا وتحويلها إلى صيغ أخرى في عملية البناء. [ 5 ]
تحويل البيانات إلى متجهات
كتب لويس أليخاندرو غونزاليس ميراندا برامج نصية لتحويل خط BDF إلى تنسيق TrueType باستخدام برنامج FontForge . [ 6 ] قام بول هاردي بتعديل هذه البرامج النصية لمعالجة دمج الأحرف (علامات التشكيل، وما إلى ذلك) لأحدث إصدارات TrueType. [ 4 ] : توليد خط TrueType
صيغة .hex
يُعرّف تنسيق GNU Unifont .hex رموزه الرسومية إما بعرض 8 أو 16 بكسل وارتفاع 16 بكسل. يمكن تعريف معظم رموز الكتابة الغربية بعرض 8 بكسل، بينما تُعرّف رموز أخرى (خاصةً مجموعة الصينية واليابانية والكورية، أو CJK) عادةً بعرض 16 بكسل.
يحتوي ملف unifont.hex على سطر واحد لكل رمز. يتألف كل سطر من رمز يونيكود سداسي عشري مكون من أربعة أرقام، ونقطتين رأسيتين، وسلسلة الصورة النقطية. تتكون سلسلة الصورة النقطية من 32 رقمًا سداسيًا عشريًا لرمز بعرض 8 بكسل، أو 64 رقمًا سداسيًا عشريًا لرمز بعرض 16 بكسل. الهدف هو إنشاء تنسيق وسيط يُسهّل إضافة رموز جديدة.
يتم تحويل سلسلة البتات من النظام الست عشري إلى النظام الثنائي. كل 1بت في سلسلة البتات الثنائية يُمثل بكسلًا مُضاءً. تُخزن بتات البكسل سطرًا بسطر، من الأعلى إلى الأسفل، بترتيب البايتات الكبير .
مثال
هذا مثال على خط يحتوي على رمز واحد، وهو الحرف "A" الكبير في نظام ASCII.
0041:0000000018242442427E424242420000
الرقم الأول هو رمز يونيكود السداسي العشري، ويتراوح بين 0000 وFFFF. الرقم السداسي العشري 0041 يُعادل الرقم العشري 65، وهو رمز الحرف "A". تفصل النقطتان الرأسيتان رمز الحرف عن الصورة النقطية. في هذا المثال، يبلغ عرض الرمز 8 بكسلات، لذا فإن سلسلة البتات تتكون من 32 رقمًا سداسيًا عشريًا.
تبدأ سلسلة البتات بثمانية أصفار، لذا ستكون الصفوف الأربعة العلوية فارغة (رقمان سداسيان عشريان لكل بايت من 8 بتات، مع 8 بتات لكل صف لرمز بعرض 8 بكسل). وتنتهي سلسلة البتات أيضًا بأربعة أصفار، لذا سيكون الصفان السفليان فارغين. ويستنتج من ذلك أن امتداد الخط الافتراضي لأسفل هو صفان أسفل خط الأساس، وأن ارتفاع الأحرف الكبيرة هو 10 صفوف أعلى خط الأساس. هذا هو الحال في خط GNU Unifont مع الأحرف اللاتينية.
بمرور الوقت، تم ابتكار عدة طرق للتعامل مع هذا التنسيق. أقدم هذه الطرق هي استخدام hexdrawسكربت بيرل، الذي يحول السلسلة النصية إلى تمثيل فني ASCII ليتم تعديله في محرر نصوص. وهناك طريقة أخرى تتضمن إنشاء شبكة صور نقطية لنطاق كامل من نقاط الترميز والعمل عليها باستخدام محرر صور. في كلتا الحالتين، يتم تحويل الرموز الرسومية المُعدّلة لاحقًا إلى ملفات بصيغة .hex للتخزين. [ 5 ]
٠٠ ٠٠٠٠٠٠٠٠٠ □□□□□□□□ ٠٠ ٠٠٠٠٠٠٠٠٠ □□□□□□□□ ٠٠ ٠٠٠٠٠٠٠٠٠ □□□□□□□□ ٠٠ ٠٠٠٠٠٠٠٠٠ □□□□□□□□ 18 00011000 □□□██□□□ 24 00100100 □□█□□█□□ 24 00100100 □□█□□█□□ 42 01000010 □█□□□□█□ 42 01000010 □█□□□□█□ 7ه 01111110 □██████□ 42 01000010 □█□□□□█□ 42 01000010 □█□□□□█□ 42 01000010 □█□□□□█□ 42 01000010 □█□□□□█□ ٠٠ ٠٠٠٠٠٠٠٠٠ □□□□□□□□ ٠٠ ٠٠٠٠٠٠٠٠٠ □□□□□□□□ |
تاريخ
ابتكر رومان تشيبورا تنسيق Unifont في عام 1998 [ 7 ] بعد جهود سابقة تعود إلى عام 1994.
في عام 2008، كتب لويس أليخاندرو غونزاليس ميراندا برنامجًا لتحويل خط Unifont إلى خط TrueType. قام بول هاردي بتعديله لاحقًا لدعم دمج الأحرف في إصدار TrueType.
وفي وقت لاحق، نشر ريتشارد ستالمان برنامج Unifont كحزمة GNU في أكتوبر 2013، وكان بول هاردي هو المسؤول عن صيانته.
انظر أيضاً
مراجع
- ↑ بول هاردي (13 مارس 2026). "إصدار Unifont 17.0.04" . تم الاطلاع عليه بتاريخ 25 أبريل 2026 .
- ↑ speachy (2023-12-03). "الخطوط: تحديث خط GNU Unifont بحجم 16 بكسل إلى نسخة مشتقة من 15.0.06-JP" . GitHub . تم الاطلاع عليه بتاريخ 2025-01-08 .
- ↑ "GNU Unifont" . ويكي ماينكرافت . 20 أكتوبر 2024.
- 1 2 3 4 رموز GNU Unifont ، مؤرشفة من الأصل بتاريخ 12-11-2013 ، تم استرجاعها بتاريخ 16-07-2008
- 1 2 "أدوات Unifoundry Unicode" . unifoundry.com . مؤرشف من الأصل في 4 أبريل 2019. تم الاطلاع عليه في 16 أبريل 2019 .
- ↑ خط GNU Unifont بصيغة TrueType ، مؤرشف من الأصل بتاريخ 2016-02-01
- ↑ "صفحة رومان تشيبورا الخاصة بخط جنو الموحد" . مؤرشفة من الأصل بتاريخ 27 أغسطس 2011. تم الاطلاع عليها بتاريخ 3 يونيو 2009 .
- اتحاد يونيكود: معيار يونيكود 5.0 . الطبعة الخامسة، أديسون ويسلي 2007؛ رقم ISBN 0-321-48091-0.
روابط خارجية
- الخطوط العربية
- الخطوط السيريلية
- خطوط ديفاناغاري
- الخطوط اليونانية
- الخطوط العبرية
- خطوط الأبجدية الصوتية الدولية
- الخطوط اللاتينية
- برامج مجانية لأنواع الخطوط المتوافقة مع يونيكود
- برنامج مشروع جنو
- أنواع الخطوط والأنماط التي تم طرحها في عام 1998
- الخطوط النقطية
