aspose.info
AR

OTF - تنسيق ملف خط TrueType

تاريخ التحديث

ما هو ملف OTF؟

يشير الملف بامتداد .otf إلى تنسيق خط OpenType. تنسيق خط OTF أكثر قابلية للتوسع ويوسع الميزات الحالية لتنسيقات TTF للطباعة الرقمية. يجمع OTF ، الذي طورته Microsoft و Adobe ، ميزات تنسيقات خطوط PostScript و TrueType. هذا يجعل تنسيق OTF مناسبًا لأنظمة الكتابة ذات الأغلبية وهذا هو السبب في استخدامه بشكل موحد على منصات الكمبيوتر الرئيسية. تنسيق خط OpenType مدعوم من قبل نظامي التشغيل Mac OS X و Windows 2000 والإصدارات الأحدث.

نبذة تاريخية

نشأت متطلبات خطوط OpenType كمتطلب لتنسيق خط أكثر تعبيرًا يمكنه التعامل مع الطباعة الدقيقة. بالإضافة إلى ذلك ، كان يهدف إلى تلبية متطلبات السلوك المعقد للعديد من أنظمة الكتابة في العالم. حاولت Microsoft ترخيص تقنية الطباعة المتقدمة من Apple ، والمعروفة باسم GX Typography ، في أوائل التسعينيات. لم يسير هذا على ما يرام ونتيجة لذلك ، بدأت Microsoft في تحسين تقنية خطوط TrueType الخاصة بها في عام 1994. وتضمنت التعديلات أيضًا تقديم تنسيق خط أكثر ملاءمة يلبي أيضًا ميزات تنسيقات خطوط Adobe Type 1 (PostScript).

انضمت Adobe ، في عام 1996 ، إلى Microsoft في جهودها لإلغاء كل من TrueType من Apple وتنسيقات خطوط Type 1 الخاصة بها. نتج عن ذلك مزيج من تنسيقات الخطوط الأساسية للتغلب على القيود وإضافة امتدادات جديدة. تم تقديم هذه التقنية الجديدة في نفس العام باسم ** OpenType **.

مواصفات تنسيق ملف OTF

تتوفر مواصفات OTF للجمهور بواسطة Microsoft ويمكن الرجوع إليها من منظور المطور. مثل TTF ، فإنه يستخدم نفس بنية حاوية ‘sfnt’ ومتوافق مع مواصفات TrueType. تُستخدم البيانات الموجودة داخل ملف خط OpenType لأغراض مختلفة مثل حساب تخطيط النص ، وتعريف الحروف الرسومية على أنها مخططات TrueType أو Compact Font Format (CFF) ، وتوفير صور نقطية أحادية اللون أو ملونة أو مستندات SVG كأوصاف حروف رسومية بديلة ، ومعلومات بيانات التعريف.

أنواع بيانات OTF

تستخدم ملفات OTF أنواع البيانات التالية وكلها في Big Endian.

نوع البياناتالوصف
uint8عدد صحيح بدون إشارة 8 بت.
int8عدد صحيح ذو إشارة 8 بت.
uint16عدد صحيح بدون إشارة 16 بت.
int16عدد صحيح ذو إشارة 16 بت.
uint24عدد صحيح بدون إشارة 24 بت.
uint32عدد صحيح بدون إشارة 32 بت.
int3232 بت عدد صحيح موقع.
ثابترقم ذو نقطة ثابتة موقعة 32 بت (16.16)
FWORDint16 الذي يصف كمية في وحدات تصميم الخط.
UFWORDuint16 الذي يصف كمية في وحدات تصميم الخط.
F2DOT14رقم ثابت موقع 16 بت مع 14 بت منخفضة من الكسر (2.14).
وقت طويليتم تمثيل التاريخ والوقت بعدد الثواني منذ 12:00 منتصف الليل ، 1 يناير 1904 ، التوقيت العالمي المنسق. يتم تمثيل القيمة كرقم صحيح 64 بت بعلامة.
علامةمصفوفة من أربعة uint8s (الطول = 32 بت) تُستخدم لتعريف جدول ، أو محور تباين التصميم ، أو نص ، أو نظام لغة ، أو ميزة ، أو خط أساس
Offset16إزاحة قصيرة لجدول ، مثل uint16 ، إزاحة NULL = 0x0000
Offset32إزاحة طويلة لجدول ، مثل uint32 ، إزاحة فارغة = 0x00000000
الإصدار 16 دوت 16قيمة 32 بت معبأة بأرقام الإصدارات الرئيسية والثانوية. (راجع أرقام إصدارات الجدول.)

دليل جداول OTF

يبدأ ملف OTF بدليل جدول. هذا الدليل هو مجموعة المستوى الأعلى من الجداول في ملف الخط. بناءً على عدد الخطوط في الملف ، قد يكون دليل الجدول موجودًا في موقع مختلف في الملف. على سبيل المثال ، في حالة احتواء ملف الخط على خط واحد فقط ، يبدأ دليل الجدول عند البايت 0 من الملف. في حالة تجميع خطوط OpenType متعددة ، يشار إلى بداية دليل الجدول في TTCHeader.

النوعالاسمالوصف
uint32sfntVersion0x00010000 أو 0x4F54544F (“OTTO”)
uint16numTablesعدد الجداول.
uint16searchRangeأقصى قوة 2 أقل من أو تساوي numTables ، مضروبة في 16 ((2 \ ** floor (log2 (numTables))) * 16 ، حيث “**” عامل أسي).
uint16entrySelector Log2 ذات الطاقة القصوى التي تبلغ 2 أقل من أو تساوي numTables (log2 (searchRange / 16) ، والتي تساوي floor (log2 (numTables))).
uint16rangeShiftnumTables مرات 16 ، مطروحًا منها نطاق البحث ((numTables * 16) - searchRange).
الجدول سجلtableRecords [numTables]صفيف سجلات الجدول - واحد لكل جدول من جداول المستوى الأعلى في الخط

سجل الجدول

لكل جدول مستوى أعلى في الخط ، يوجد سجل جدول يتكون من الحقول التالية.

النوعالاسمالوصف
علامةالجدول معرف الجدول.
uint32اختباريالمجموع الاختباري لهذا الجدول.
Offset32تعويضالإزاحة من بداية ملف الخط.
uint32طول هذا الجدول.

يتم تمثيل كل جدول في ملف خطوط OpenType بأسماء تعرف باسم علامات الجدول. من الضروري أن يتم فرز جميع السجلات في المصفوفة بترتيب تصاعدي حسب العلامة.

مراجع

انظر أيضًا