aspose.info
BG

EOT - TrueType Font File Format

Обновено

Какво е EOT файл?

Файл с разширение .eot е OpenType шрифт, който е вграден в документ. Те се използват най-вече в уеб файлове като уеб страница. Създаден е от Microsoft и се поддържа от продукти на Microsoft, включително файл с презентация на PowerPoint .pps. Файлът не е за основна употреба и е нещо като придружаващ документ към основния документ или уеб страница. Подобно на OTF шрифтовете, EOT поддържа както Postscript, така и TrueType очертания за глифовете. EOT файловете са с по-малък размер поради причината, че са компресирани чрез LZ компресия. EOT използва инструмент на Microsoft за създаване на шрифт от съществуващи TTF/OTF шрифтове.

Кратка история

Шрифтът EOT беше представен на W3C през 2007 г. като част от CSS3, но поради изискванията му да бъде постоянно инсталиран на отдалечена система стана причина за отхвърлянето му. Беше изпратен отново през март 2008 г., но W3C в крайна сметка избра Формат на уеб шрифта (WOFF), който беше стандартизиран тогава.

EOT файлов формат

Подробностите за файловия формат на EOT могат да бъдат намерени на страницата за изпращане на W3 и уточняват структурата, използвана от този формат на шрифта. EOT се състои от една структура EMBEDDEDFONT, която предоставя достатъчно основна информация за името на шрифта и поддържаните знаци. Опаковането на тази информация позволява на потребителските агенти да избегнат разопаковането, декомпресирането или инсталирането на шрифта, ако той вече присъства на машината.

Структура на EMBEDDEDFONT

Структурата EMBEDDEDFONT е претърпяла три ревизии, с добавяне на допълнителни данни в края на структурата с всяка ревизия. Последната ревизия на структурата EMBEDDEDFONT е както е показано по-долу.

Тип данниИме на записОписание
unsigned longEOTSizeОбща дължина на структурата в байтове (включително данни за низ и шрифт)
unsigned longFontDataSizeДължина на OpenType шрифта (FontData) в байтове
неподписан дълъгВерсияНомер на версията на този формат - 0x00020002
неподписани дългиФлаговеФлагове за обработка
byte[10]FontPANOSEСтойността на PANOSE за този шрифт – Вижте https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
byteCharsetВ Windows това се извлича от 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
unsigned shortfsTypeФлагове за тип, които предоставят информация за разрешенията за вграждане - Вижте https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
unsigned shortMagicNumberМагическо число за 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
unsigned longCodePageRange1CodePageRange1 (битове 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
unsigned longCheckSumAdjustmenthead.CheckSumAdjustment – Вижте https://learn.microsoft.com/en-us/typography/opentype/spec/head
unsigned longReserved1Reserved - трябва да бъде 0
unsigned longReserved2Reserved - трябва да бъде 0
unsigned longReserved3Reserved - трябва да бъде 0
unsigned longReserved4Reserved - трябва да бъде 0
unsigned shortPadding1Попълване за поддържане на дълго подравняване. Стойността на запълване винаги трябва да бъде зададена на 0x0000.
unsigned shortFamilyNameSizeБрой байтове, използвани от масива FamilyName
byteFamilyName[FamilyNameSize]Масив от UTF-16 символи с дължина от FamilyNameSize байтове. Това е низът от семейството на шрифтовете на английски език, който се намира в таблицата с имена на шрифта (идентификатор на име = 1) – вижте https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding2Стойността на запълването винаги трябва да бъде зададена на 0x0000.
unsigned shortStyleNameSizeБрой байтове, използвани от StyleName
byteStyleName[StyleNameSize]Масив от UTF-16 символи с дължина StyleNameSize байтове. Това е низът на подсемейството на шрифта на английски език, който се намира в таблицата с имена на шрифта (ID на името = 2) – вижте https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding3Стойността на запълването винаги трябва да бъде зададена на 0x0000.
unsigned shortVersionNameSizeБрой байтове, използвани от VersionName
bytesVersionName[VersionNameSize]Масив от UTF-16 символи с дължина VersionNameSize байтове. Това е низът на версията на английски език, който се намира в таблицата с имена на шрифта (идентификатор на име = 5) - Вижте https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding4Стойността на запълването винаги трябва да бъде зададена на 0x0000.
unsigned shortFullNameSizeБрой байтове, използвани от пълното име
byteFullName[FullNameSize]Масив от UTF-16 символи с дължина FullNameSize байтове. Това е низът с пълно име на английски език, който се намира в таблицата с имена на шрифта (ID на името = 4) - Вижте https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding5Стойността на запълването винаги трябва да бъде зададена на 0x0000.
unsigned shortRootStringSizeБрой байтове, използвани от масива RootString
byteRootString[RootStringSize]Масив от UTF-16 символи с дължина RootStringSize байтове.
unsigned longRootStringCheckSumСтойност на RootString CheckSum. Вижте алгоритъма за обработка на RootStringChecksum по-долу.
unsigned longEUDCCodePageСтойност на кодовата страница, необходима за поддръжка на EUDC шрифт.
unsigned shortPadding6Стойността на запълването винаги трябва да бъде зададена на 0x0000.
unsigned shortSignatureSizeБрой байтове, използвани от масива Signature. В момента е запазено и трябва да бъде зададено на 0x0000.
byteПодпис[SignatureSize]В момента запазено. Ако SignatureSize е 0x0000, този масив няма дължина.
unsigned longEUDCFlagsФлагове за обработка на EUDC шрифта. Типичните стойности може да са TTEMBED_XORENCRYPTDATA и TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizeБрой байтове, използвани от масива Signature.
байтEUDCFontData[EUDCFontSize]Брой байтове, използвани за данните за EUDC шрифта. Ако EUDCFontSize е 0x00000000, този масив няма дължина.
byteFontData[FontDataSize]Данните за шрифта за този EOT файл. Данните могат да бъдат компресирани или криптирани чрез XOR, както е посочено от флаговете за обработка.

Препратки

Вижте също