فایل TTF چیست؟
یک فایل با پسوند ttf. فایل های فونت را بر اساس فناوری فونت مشخصات TrueType نشان می دهد. در ابتدا توسط Apple Computer, Inc برای سیستم عامل مک طراحی و راه اندازی شد و بعداً توسط مایکروسافت برای سیستم عامل ویندوز پذیرفته شد. فونت های TrueType بالاترین کیفیت نمایش را بر روی صفحه نمایش کامپیوتر و چاپگرها بدون وابستگی به وضوح ارائه می دهند. تمام برنامه های مدرن با استفاده از فونت ها قادر به کار با فایل های TTF هستند. فایل های فونت TTF به صورت رایگان از طریق اینترنت در دسترس هستند و همچنین می توانند به فرمت های فایل فونت دیگر مانند OTF و WOFF تبدیل شوند.
تاریخچه مختصر
Designed by Apply Computer, Inc in 1980s for MacOS, the TTF font format was aimed at resolving some technical limitations by Adobe’s Type 1 format. Apple included support for TrueType fonts in Mac in 1991. هدف طراحی پشت فونت های TTF کارایی در ذخیره سازی و پردازش و توسعه پذیری بود. بر اساس این توسعه پذیری، فونت های موجود را می توان به فرمت TrueType تبدیل کرد.
مایکروسافت برای اولین بار از فونت های TrueType در ویندوز 3.1 در آوریل 1992 پس از موافقت اپل با مجوز TrueType به مایکروسافت استفاده کرد. این مکانیسم شطرنجی سازی را بهبود بخشید و کارایی و عملکرد آن را بهبود بخشید.
مشخصات فرمت فایل True Type
یک فایل فونت TrueType یک فایل باینری است که از دنباله ای از جداول به هم پیوسته تشکیل شده است. هر جدول دنباله ای از کلمات است و نامی به نام «تگ» دارد. هر تگ از نوع داده uint32 و از چهار کاراکتر تشکیل شده است. اولین جدول موجود در فایل، دایرکتوری فونت است که امکان دسترسی به سایر جداول موجود در فایل فونت را فراهم می کند. داده های فونت در جداول دیگری که پس از جدول فهرست فونت دنبال می شوند وجود دارد. از آنجایی که هر جدول با برچسب خود قابل دسترسی است، جداول می توانند به هر ترتیبی در فایل ظاهر شوند.
جداول مورد نیاز و نام تگ آنها در جدول زیر نشان داده شده است.
تگ | جدول |
---|---|
‘cmap’ | نگاشت کاراکتر به گلیف |
‘گلیف’ | داده گلیف |
‘سر’ | هدر فونت |
‘هه’ | هدر افقی |
‘hmtx’ | متریک های افقی |
’loca' | فهرست به مکان |
‘maxp’ | حداکثر مشخصات |
‘نام’ | نامگذاری |
‘پست’ | پست اسکریپت |
انواع داده
فونت های TrueType از انواع داده های اعداد صحیح و اضافی مطابق جدول زیر استفاده می کنند.
نوع داده | توضیحات |
---|---|
shortFrac | کسری امضا شده 16 بیتی |
ثابت | شماره نقطه ثابت امضا شده 16.16 بیتی |
FWord | عدد صحیح امضا شده 16 بیتی که کمیتی را در FUnits توصیف می کند، کوچکترین فاصله قابل اندازه گیری در فضای em. |
uFWord | عدد صحیح بدون علامت 16 بیتی که کمیتی را در FUnits، کوچکترین فاصله قابل اندازه گیری در فضای em را توصیف می کند. |
F2Dot14 | عدد ثابت امضا شده 16 بیتی با 14 بیت پایین نشان دهنده کسری است. |
longDateTime | The long internal format of a date in seconds since 12:00 midnight, January 1, 1904. It is represented as a signed 64-bit integer. |
فهرست فونت
اولین جدول در فونت TrueType، دایرکتوری فونت است که دسترسی به اطلاعات مورد نیاز برای دسترسی به داده ها در جداول دیگر را فراهم می کند. همچنین شامل موارد زیر است:
- زیر جدول افست - رکورد جداول را در فونت نگه می دارد و اطلاعات افست را برای دسترسی به هر جدول در فهرست ارائه می دهد.
- «دایرکتوری جدول» - شامل ورودیهایی برای هر جدول در فونت است
زیر جدول افست
جدول فرعی افست در زیر نشان داده شده است.
نوع | نام | توضیحات |
---|---|---|
uint32 | نوع مقیاس کننده | برچسبی برای نشان دادن مقیاسکننده OFA که برای شطرنجی کردن این فونت استفاده میشود. برای اطلاعات بیشتر به یادداشت مربوط به نوع مقیاس کننده زیر مراجعه کنید. |
uint16 | numTables | تعداد جداول |
uint16 | محدوده جستجو | (حداکثر توان 2 <= numTables)*16 |
uint16 | ورود انتخاب | log2 (حداکثر توان 2 <= numTables) |
uint16 | rangeShift | numTables*16-searchRange |
دایرکتوری جدول
دایرکتوری جدول درست بعد از جدول فرعی افست می آید. ساختار آن مطابق جدول زیر است.
نوع | نام | توضیحات |
---|---|---|
uint32 | برچسب | شناسه 4 بایتی |
uint32 | چک جمع | چک جمع برای این جدول |
uint32 | افست | افست از ابتدای sfnt |
uint32 | طول | طول این جدول بر حسب بایت (طول واقعی بدون بالشتک) |
هر جدول در یک فایل فونت باید ورودی فهرست جدول مخصوص به خود را داشته باشد. ورودی های یک جدول باید به ترتیب صعودی بر اساس برچسب مرتب شوند.