تنسيق توزيع الصور النقطية للرموز الرسومية

تنسيق توزيع الصور النقطية (BDF) من Adobe هو تنسيق ملفات لتخزين خطوط الصور النقطية . يأخذ المحتوى شكل ملف نصي مصمم ليكون قابلاً للقراءة من قِبل الإنسان والكمبيوتر. يُستخدم BDF عادةً في بيئات Unix X Window . وقد تم استبداله إلى حد كبير بتنسيق خطوط PCF الأكثر كفاءة، وبخطوط قابلة للتوسيع مثل خطوط OpenType و TrueType .

ملخص

في عام 1988، اعتمد اتحاد X معيار BDF 2.1 كمعيار لخطوط شاشة X Window، [ 2 ] ولكن X Windows انتقلت إلى حد كبير إلى معايير خطوط أخرى مثل PCF و Opentype و Truetype .

أضاف الإصدار 2.2 دعمًا للكتابة غير الغربية. على سبيل المثال، يمكن للرموز في تعريف خط BDF 2.2 تحديد عرضها من أعلى إلى أسفل بدلاً من عرضها من اليسار إلى اليمين فقط.

يحتوي ملف خط BDF على ثلاثة أقسام:

  1. قسم عام ينطبق على جميع الرموز في الخط؛
  2. قسم يحتوي على مدخل منفصل لكل رمز؛ و
  3. البيان ENDFONT.

مثال

هذا مثال على خط يحتوي على رمز واحد، وهو الحرف "A" الكبير في نظام ASCII. هذا الرمز مأخوذ من خط GNU Unifont .

STARTFONT 2.1 FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 المقاس 16 75 75 FONTBOUNDINGBOX 16 16 0 -2 STARTPROPERTIES 2 FONT_ASCENT 14 FONT_DESCENT 2 خصائص النهاية الحرف 1 STARTCHAR U+0041 التشفير 65 عرض 500 0 العرض 8 0 BBX 8 16 0 -2 صورة نقطية ٠٠ ٠٠ ٠٠ ٠٠ 18 24 24 42 42 7E 42 42 42 42 ٠٠ ٠٠ نهاية الحرف نهاية الخط

في المثال أعلاه، تبدأ التصريحات العامة بالسطر STARTFONTوتنتهي بالسطر CHARS.

STARTFONT 2.1يحدد إصدار ملف BDF هذا على أنه الإصدار 2.1.

FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1يُعرّف عائلة الخط وأسماء الخطوط كوصف خط منطقي X.

SIZE 16 75 75يُعرّف هذا الخط بأنه بحجم 16 نقطة، وبدقة 75 نقطة في البوصة على المحور السيني و75 نقطة في البوصة على المحور الصادي. وهذا هو الوضع الطبيعي في نظام X Window.

FONTBOUNDINGBOX 16 16 0 -2يُحدد هذا الأمر مربعًا محيطًا للخط بأبعاد 16 بكسل عرضًا و16 بكسل ارتفاعًا، حيث تبدأ الزاوية السفلية اليسرى عند x = 0 و y = -2 . لاحظ أنه على الرغم من أن المربع المحيط مُحدد مسبقًا على أنه خلية 16×16، إلا أنه يمكن تغيير هذا الإعداد للأحرف الفردية. فعلى سبيل المثال، يبلغ عرض حرف "A" 8 بكسل فقط.

STARTPROPERTIES 2يُعلن عن وجود خاصيتين مميزتين لاحقتين. يُعدّ هذا STARTPROPERTIESالخيار اختياريًا في مواصفات BDF. تسمح نافذة X للخاصيتين FONT_ASCENTو FONT_DESCENTبعرض الارتفاع أعلى وأسفل خط الأساس، على التوالي، لجميع الأحرف الرسومية. FONT_ASCENT 14يُعلن أن 14 من أصل 16 بكسلًا في الارتفاع تقع فوق خط الأساس. FONT_DESCENT 2يُعلن أن 2 من أصل 16 بكسلًا في الارتفاع تقع أسفل خط الأساس. ENDPROPERTIESيظهر هذا في نهاية القسم STARTPROPERTIES.

CHARS 1يُعلن أن حرفًا واحدًا سيتبع. على الرغم من أن أدوبي تُشير الآن إلى تنسيق الملف هذا باسم Glyph BDF، إلا أنها احتفظت بالكلمة المفتاحية CHARSفي النسخة النهائية من المواصفات.

يمكن إدراج الأسطر التي تبدأ بالكلمة COMMENTداخل ملف BDF. COMMENTيتم تجاهل أي شيء يلي الكلمة المفتاحية في السطر.

بعد التصريحات العامة المذكورة أعلاه، قد تتكرر الإدخالات التالية لكل رمز.

STARTCHAR U+0041يُحدد هذا الخيار بداية حرف في الإصدار 2.1 والإصدارات الأقدم، أو بداية رمز في الإصدار 2.2. اسم هذا الحرف هو U+0041، وهو يُعبّر، وفقًا لاتفاقية يونيكود، عن رمز النقطة السداسية العشرية 41 (العشرية 65، حرف ASCII "A"). في الإصدار 2.1 والإصدارات الأقدم، كان طول سلسلة اسم الحرف محدودًا بـ 14 حرفًا. أما في الإصدار 2.2، فيمكن أن تحتوي سلسلة اسم الرمز على ما يصل إلى 65,535 حرفًا.

ENCODING 65يُحدد هذا الرمز العشري لهذا الحرف في الخط.

SWIDTH 500 0يُحدد هذا الخيار عرضًا قابلًا للتوسيع بقيمة 500 على المحور السيني و0 (افتراضيًا) على المحور الصادي. ينتج عن ذلك إزاحة على المحور السيني للحرف التالي، ولكن لا توجد إزاحة على المحور الصادي (أي أن الأحرف تظهر بشكل مستقيم في خط مستقيم). يبلغ العرض القابل للتوسيع 1000 ضعف حجم النقطة الفعلي للحرف - وهي نفس الوحدة المستخدمة في ملف Adobe Font Metric (AFM). يُحسب عدد البكسلات كالتالي: عدد البكسلات = العرض القابل للتوسيع / ​​1000 * الدقة / 72 ، حيث العرض القابل للتوسيع هو 500 في هذا المثال ، والدقة هي 75 نقطة في البوصة لهذا الخط. لأن 75 يساوي تقريبًا 72، فإن عدد البكسلات هو العرض الكامل للرسم (المحدد عالميًا على أنه 16 بكسل) مضروبًا في 500 / 1000 ، أو بعبارة أخرى، عرض هذا الرسم هو 8 بكسلات.

DWIDTH 8 0يُحدد هذا الخيار عرض الجهاز للرمز. في هذه الحالة، بعد عرض الرمز، تُزاح بداية الرمز التالي بمقدار 8 بكسل على المحور السيني و0 بكسل على المحور الصادي من نقطة بداية الرمز الحالي. لاحظ أن عرض الجهاز ليس بالضرورة مساويًا لعرض الرمز، بل هو ببساطة مقدار الإزاحة على المحور السيني لنقل النقطة الحالية إلى بداية الرمز التالي.

يُستخدم العرض القابل للتوسيع لحساب عرض رمز عالي الدقة على الطابعة، بينما يُستخدم عرض الجهاز لحساب عرض الرمز على شاشة العرض. وبالتالي، يتم تحديد العرض القابل للتوسيع بدقة أكبر من عرض الجهاز.

BBX 8 16 0 -2يُحدد مربعًا محيطًا بعرض 8 بكسل وارتفاع 16 بكسل. تُزاح الزاوية السفلية اليسرى للحرف بمقدار 0 بكسل على المحور السيني و-2 بكسل على المحور الصادي.

BITMAPيبدأ هذا السطر برسم الصورة النقطية للرمز الحالي. يجب أن يتبعه سطر واحد لكل بكسل على المحور الصادي. في هذا المثال، يبلغ ارتفاع الرمز 16 بكسل، لذا يتبعه 16 سطرًا. يحتوي كل سطر على التمثيل الست عشري للبكسلات في صف واحد. يشير البت "1" إلى بكسل مُعالَج. يتم تقريب كل سطر إلى حد 8 بت (بايت واحد)، مع إضافة أصفار على اليمين. في هذا المثال، يبلغ عرض الرمز 8 بكسل بالضبط، وبالتالي يشغل 8 بت (بايت واحد) بالضبط لكل سطر، لذا لا توجد أصفار إضافية. يمثل البت الأكثر أهمية في سطر بيانات الصورة النقطية البكسل الموجود في أقصى اليسار.

ENDCHARينهي الرمز الحالي.

STARTCHARيتم تكرار التصريحات ENDCHARلكل حرف في الخط.

ENDFONTيظهر كسطر أخير في الملف، بعد تعداد جميع الرموز الرسومية في الخط.

ملحقات الإصدار 2.2

يُضيف الإصدار 2.2 من مواصفات BDF دعمًا للخطوط غير الغربية. تسمح هذه الإضافات بتحريك نقطة الأصل بحركة موجبة أو سالبة على المحورين X وY. وهذا لا يدعم فقط اتجاه الكتابة من اليمين إلى اليسار، بل يدعم أيضًا اتجاه الكتابة من الأعلى إلى الأسفل (على سبيل المثال، للغة الصينية). القيم التالية توفر دعمًا للخطوط متعددة اللغات:

METRICSETيتم ضبط القيمة على 0 لاتجاه الكتابة 0، و1 لاتجاه الكتابة 1، أو 2 (في المنطقة العامة الأولية) لكلا اتجاهي الكتابة ضمن نفس الخط. تستخدم النصوص الغربية التقليدية التي تُكتب من اليسار إلى اليمين هذه القيمة METRICSET 0.

SWIDTH1ولها DWIDTH1نفس المعايير الخاصة بـ SWIDTHو DWIDTH، على التوالي. DWIDTH1يجب أن يكون موجودًا للرسم METRICSET 1. يمكن أن تكون إزاحاته موجبة أو سالبة.

VVECTORيُحدد هذا الأمر إزاحة على المحور السيني وإزاحة على المحور الصادي للانتقال من رمز الوضع 0 إلى رمز الوضع 1. ويتم تطبيق إزاحة معاكسة أثناء الانتقال من رمز الوضع 1 إلى رمز الوضع 0.

يُتيح هذا النظام الكتابة بسهولة في اتجاهين. تاريخيًا، كانت الخطوط تحتوي على 128 أو 256 رمزًا. أما اليوم، فيُتيح نظام يونيكود أكثر من مليون رمز. يُمكن أن تحتوي الخطوط على آلاف الأحرف، بعضها يُكتب من اليسار إلى اليمين، وبعضها من اليمين إلى اليسار، وبعضها من الأعلى إلى الأسفل. تتطلب هذه الكتابة متعددة الاتجاهات استخدامًا إبداعيًا DWIDTH1لكل SWIDTH1حرف.

بالإضافة إلى الكلمات المفتاحية المضافة لدعم اللغات العالمية، يضيف الإصدار 2.2 CONTENTVERSIONتعريفًا. ويلي هذه الكلمة المفتاحية عدد صحيح يشير إلى رقم إصدار الخط.

للحصول على معلومات أكثر تفصيلاً، راجع مواصفات الإصدار 2.2.

خصائص نافذة X

تدعم أدوات خطوط X Window العديد من الخصائص التي يمكن تحديدها في STARTPROPERTIESقسم ملف BDF. [ 3 ] ملف BDF العام يكون بتنسيق ASCII . تُحدد خصائص X Window باستخدام تنسيق ISO 8859-1 ، وهو امتداد لتنسيق ASCII. تشمل هذه الخصائص ما يلي:

  • CAP_HEIGHT(عدد صحيح) الارتفاع فوق خط الأساس للحرف الكبير (انظر ارتفاع الحرف الكبير ).
  • COPYRIGHT(سلسلة) [ 4 ] بيان حقوق النشر.
  • DEFAULT_CHAR(عدد صحيح غير موقع) الحرف الافتراضي (الرسم) الذي سيتم عرضه في حالة عدم تعريف الرسم.
  • FACE_NAME(سلسلة [ 4 ] ) اسم الخط لهذا الخط.
  • FONT(سلسلة نصية) [ 4 ] اسم الخط في نافذة X.
  • FONT_ASCENT(عدد صحيح) الارتفاع فوق خط الأساس ، لحساب تباعد الأسطر.
  • FONT_DESCENT(عدد صحيح) الجزء السفلي أسفل خط الأساس، لحساب تباعد الأسطر.
  • FONT_VERSION(سلسلة نصية) [ 4 ] إصدار الخط.
  • FOUNDRY(سلسلة نصية) [ 4 ] اسم المسبك.
  • FAMILY_NAME(سلسلة نصية) [ 4 ] اسم عائلة الخط.
  • NOTICE(سلسلة نصية) [ 4 ] تعليق عام.
  • POINT_SIZE(عدد صحيح) انظر النقطة (الطباعة) . إذا لم يتم تحديدها بشكل منفصل، فإن EMspace = round(POINT_SIZE/10)، و ENspace = round(POINT_SIZE/20)، وTHINspace = round(POINT_SIZE/30).
  • RESOLUTION_X(عدد صحيح غير مُوقّع)
  • RESOLUTION_Y(عدد صحيح غير مُوقّع)
  • SLANT(سلسلة) [ 4 ] "R" هو رومان، "I" هو مائل، "O" هو مائل، "RI" هو مائل معكوس، "RO" هو مائل معكوس، "OT" هو آخر، ويشير الرقم إلى إمكانية الميل متعدد الأشكال.
  • WEIGHT_NAME(سلسلة) [ 4 ] وزن هذا الخط ("الخط العريض" و"الخط العادي" هما النمطان النموذجيان، على الرغم من عدم وجود تعداد محدد).
  • X_HEIGHT(عدد صحيح) الارتفاع فوق خط الأساس لحرف "x" صغير (انظر ارتفاع x ).

ملحوظات

  1. نوع MIME .bdf غير مسجل لدى IANA
  2. "نظام النوافذ X، الإصدار 11، الإصدار 3" . مؤسسة X.Org . أكتوبر 1988. تم الاطلاع عليه في 19 يناير 2016 .
  3. فلاورز، جيم (1994) [1988]. "3.2 خصائص الخط". X اصطلاحات وصف الخطوط المنطقية (الإصدار 1.5 ). X Consortium, Inc. ص 13. مؤرشف من الأصل بتاريخ 31-03-2013 . تم الاسترجاع بتاريخ 08-01-2009 .  
  4. 1 2 3 4 5 6 7 8 9 سلسلة أحرف ISO 8859-1.

مراجع