aspose.info
FA

EOT - فرمت فایل فونت TrueType

به‌روزرسانی

فایل EOT چیست؟

یک فایل با پسوند .eot یک فونت OpenType است که در یک سند جاسازی شده است. اینها بیشتر در فایل های وب مانند صفحه وب استفاده می شوند. این توسط مایکروسافت ایجاد شده است و توسط محصولات مایکروسافت از جمله فایل ارائه پاورپوینت .pps پشتیبانی می‌شود. این فایل کاربرد اصلی ندارد و به نوعی سند همراه با سند اصلی یا صفحه وب است. مشابه فونت‌های OTF، EOT از خطوط Postscript و TrueType برای گلیف‌ها پشتیبانی می‌کند. فایل‌های EOT از نظر اندازه کوچک‌تر هستند به این دلیل که با استفاده از فشرده‌سازی LZ فشرده می‌شوند. EOT از یک ابزار مایکروسافت برای ایجاد یک فونت از فونت های موجود TTF/OTF استفاده می کند.

تاریخچه مختصر

فونت EOT در سال 2007 به عنوان بخشی از CSS3 به W3C ارسال شد اما به دلیل الزامات آن برای نصب دائمی بر روی سیستم از راه دور دلیل رد آن شد. در مارس 2008 دوباره ارسال شد، اما W3C در نهایت Web Font Format (WOFF) را انتخاب کرد که در آن زمان استاندارد شد.

فرمت فایل EOT

جزئیات فرمت فایل EOT را می توان در W3 submission page پیدا کرد و ساختار استفاده شده توسط این قالب فونت را تشریح می کند. EOT از یک ساختار EMBEDDEDFONT تشکیل شده است که اطلاعات اولیه کافی در مورد نام فونت hte و کاراکترهای پشتیبانی شده را ارائه می دهد. بسته‌بندی این اطلاعات به نمایندگی‌های کاربر اجازه می‌دهد از باز کردن بسته‌بندی، فشرده‌سازی یا نصب فونت در صورت وجود فونت در دستگاه خودداری کنند.

ساختار EMBEDDEDFONT

ساختار EMBEDDEDFONT سه تجدید نظر شده است، با افزودن داده های اضافی در پایان ساختار با هر بازبینی. آخرین ویرایش ساختار EMBEDDEDFONT همانطور که در زیر نشان داده شده است.

نوع دادهنام ورودیتوضیحات
unsigned longEOTSizeطول کل ساختار بر حسب بایت (شامل داده های رشته و فونت)
unsigned longFontDataSizeطول فونت OpenType (FontData) به بایت
unsigned longنسخهشماره نسخه این فرمت - 0x00020002
بلند بدون امضاپرچمپرچم پردازش
byte[10]FontPANOSEمقدار PANOSE برای این فونت - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan مراجعه کنید
byteCharsetدر ویندوز این از TEXTMETRIC.tmCharSet مشتق شده است. این مقدار مجموعه کاراکتر فونت را مشخص می کند. DEFAULT_CHARSET (0x01) هیچ ترجیحی را نشان نمی دهد. - به https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica مراجعه کنید
byteItalicاگر بیت ITALIC در OS/2.fsSelection تنظیم شده باشد، مقدار 0x01 خواهد بود - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss مراجعه کنید
unsigned longWeightمقدار وزن این فونت - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc مراجعه کنید
کوتاه بدون امضاfsTypeپرچم هایی را تایپ کنید که اطلاعاتی درباره مجوزهای جاسازی ارائه می دهند - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst مراجعه کنید
کوتاه بدون امضاMagicNumberشماره جادویی برای فایل EOT - 0x504C. برای بررسی خرابی داده ها استفاده می شود.
unsigned longUnicodeRange1os/2.UnicodeRange1 (بیت های 0-31) - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur مراجعه کنید
unsigned longUnicodeRange2os/2.UnicodeRange2 (بیت های 32-63) - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur مراجعه کنید
unsigned longUnicodeRange3os/2.UnicodeRange3 (بیت های 64-95) - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur مراجعه کنید
unsigned longUnicodeRange4os/2.UnicodeRange4 (بیت های 96-127) - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur مراجعه کنید
بدون علامت طولانیCodePageRange1CodePageRange1 (بیت های 0-31) - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr مراجعه کنید
unsigned longCodePageRange2CodePageRange2 (بیت های 32-63) - به https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr مراجعه کنید
بدون امضا طولانیCheckSumAdjustmenthead.CheckSumAdjustment - به https://learn.microsoft.com/en-us/typography/opentype/spec/head مراجعه کنید
unsigned longReserved1Reserved - باید 0
بدون امضا طولانیرزرو شده2رزرو شده - باید 0 باشد
بدون امضا طولانیرزرو شده3رزرو شده - باید 0 باشد
unsigned longReserved4Reserved - باید 0
کوتاه بدون علامتPadding1بالشتک برای حفظ تراز طولانی. مقدار padding همیشه باید روی 0x0000 تنظیم شود.
unsigned shortFamilyNameSizeتعداد بایت های استفاده شده توسط آرایه FamilyName
byteFamilyName[FamilyNameSize]آرایه از UTF-16 کاراکتر به طول بایت FamilyNameSize. این رشته زبان انگلیسی Font Family است که در جدول نام فونت یافت می شود (شناسه نام = 1) - به https://learn.microsoft.com/en-us/typography/opentype/spec/name مراجعه کنید
unsigned shortPadding2مقدار Padding همیشه باید روی 0x0000 تنظیم شود.
unsigned shortStyleNameSizeتعداد بایت های استفاده شده توسط StyleName
byteStyleName[StyleNameSize]آرایه از UTF-16 کاراکتر به طول بایت StyleNameSize. این رشته Font Subfamily زبان انگلیسی است که در جدول نام فونت (شناسه نام = 2) یافت می شود - به https://learn.microsoft.com/en-us/typography/opentype/spec/name مراجعه کنید
unsigned shortPadding3مقدار Padding همیشه باید روی 0x0000 تنظیم شود.
unsigned shortVersionNameSizeتعداد بایت های استفاده شده توسط VersionName
بایتVersionName[VersionNameSize]آرایه UTF-16 کاراکتر به طول بایت VersionNameSize. این رشته نسخه انگلیسی زبان موجود در جدول نام فونت است (شناسه نام = 5) - به https://learn.microsoft.com/en-us/typography/opentype/spec/name مراجعه کنید
unsigned shortPadding4مقدار Padding همیشه باید روی 0x0000 تنظیم شود.
unsigned shortFullNameSizeتعداد بایت های استفاده شده توسط FullName
byteFullName[FullNameSize]آرایه UTF-16 کاراکتر به طول بایت های FullNameSize. این رشته نام کامل زبان انگلیسی است که در جدول نام فونت یافت می شود (شناسه نام = 4) - به https://learn.microsoft.com/en-us/typography/opentype/spec/name مراجعه کنید
unsigned shortPadding5مقدار Padding همیشه باید روی 0x0000 تنظیم شود.
unsigned shortRootStringSizeتعداد بایت های استفاده شده توسط آرایه RootString
byteRootString[RootStringSize]آرایه از UTF-16 کاراکتر به طول بایت RootStringSize.
unsigned longRootStringCheckSumمقدار CheckSum RootString. الگوریتم پردازش RootStringChecksum را در زیر ببینید.
unsigned longEUDCCodePageمقدار صفحه کد برای پشتیبانی از فونت EUDC مورد نیاز است.
unsigned shortPadding6مقدار Padding همیشه باید روی 0x0000 تنظیم شود.
unsigned shortSignatureSizeتعداد بایت های استفاده شده توسط آرایه Signature. در حال حاضر رزرو شده و باید روی 0x0000 تنظیم شود.
بایتامضا[SignatureSize]در حال حاضر رزرو شده است. اگر SignatureSize 0x0000 باشد، طولی برای این آرایه وجود ندارد.
unsigned longEUDCFlagsپرچم پردازش برای فونت EUDC. مقادیر معمولی ممکن است TTEMBED_XORENCRYPTDATA و TTEMBED_TTCOMPRESSED باشد.
unsigned longEUDCFontSizeتعداد بایت های استفاده شده توسط آرایه Signature.
byteEUDCFontData[EUDCFontSize]تعداد بایت های استفاده شده برای داده های فونت EUDC. اگر EUDCFontSize 0x00000000 باشد، طولی برای این آرایه وجود ندارد.
byteFontData[FontDataSize]داده های فونت این فایل EOT. داده ها ممکن است فشرده یا XOR رمزگذاری شوند که توسط پرچم های پردازش نشان داده شده است.

منابع

همچنین ببینید