aspose.info
CS

EOT - TrueType Font File Format

Aktualizováno

Co je soubor EOT?

Soubor s příponou .eot je písmo OpenType, které je vložené do dokumentu. Ty se většinou používají ve webových souborech, jako je webová stránka. Byl vytvořen společností Microsoft a je podporován produkty společnosti Microsoft včetně souboru prezentace PowerPoint .pps. Soubor nemá primární použití a je jakýmsi doprovodným dokumentem s hlavním dokumentem nebo webovou stránkou. Podobně jako u písem OTF podporuje EOT pro glyfy obrysy Postscript i TrueType. Soubory EOT mají menší velikost z toho důvodu, že jsou komprimovány pomocí komprese LZ. EOT používá nástroj Microsoftu k vytvoření písma z existujících písem TTF/OTF.

Stručná historie

Písmo EOT bylo předloženo W3C v roce 2007 jako součást CSS3, ale kvůli jeho požadavkům na trvalou instalaci na vzdáleném systému se stalo důvodem jeho zamítnutí. V březnu 2008 byl znovu předložen, ale W3C nakonec zvolilo Web Font Format (WOFF), který byl tehdy standardizován.

Formát souboru EOT

Podrobnosti o formátu souboru EOT lze nalézt na stránce odeslání W3 a obsahuje strukturu používanou tímto formátem písem. EOT se skládá z jediné struktury EMBEDDEDFONT, která poskytuje dostatek základních informací o názvu písma a podporovaných znacích. Zabalení těchto informací umožňuje uživatelským agentům vyhnout se rozbalení, dekomprimaci nebo instalaci písma, pokud je již na počítači přítomno.

Struktura EMBEDDEDFONT

Struktura EMBEDDEDFONT prošla třemi revizemi s přidáním dalších dat na konec struktury s každou revizí. Poslední revize struktury EMBEDDEDFONT je znázorněna níže.

Typ datNázev položkyPopis
unsigned longEOTSizeCelková délka struktury v bajtech (včetně dat řetězce a písma)
unsigned longFontDataSizeDélka písma OpenType (FontData) v bajtech
unsigned longVerzeČíslo verze tohoto formátu - 0x00020002
nepodepsané dlouhéPříznakyZpracování příznaků
byte[10]FontPANOSEHodnota PANOSE pro toto písmo – viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
byteZnaková sadaV systému Windows je odvozena z TEXTMETRIC.tmCharSet. Tato hodnota určuje znakovou sadu písma. DEFAULT_CHARSET (0x01) označuje žádnou preferenci. – Viz https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
byteItalicPokud je bit pro ITALIC nastaven v OS/2.fsSelection, hodnota bude 0x01 – viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss
unsigned longWeightHodnota váhy pro toto písmo – viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc
nepodepsané shortfsTypePříznaky typu, které poskytují informace o oprávněních pro vkládání – viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
nepodepsané zkratkaMagicNumberMagické číslo pro soubor EOT - 0x504C. Používá se ke kontrole poškození dat.
unsigned longUnicodeRange1os/2.UnicodeRange1 (bity 0-31) – viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange2os/2.UnicodeRange2 (bity 32-63) – Viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange3os/2.UnicodeRange3 (bity 64-95) – Viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange4os/2.UnicodeRange4 (bity 96-127) – Viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longCodePageRange1CodePageRange1 (bity 0-31) – viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCodePageRange2CodePageRange2 (bity 32-63) – viz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCheckSumAdjustmenthead.CheckSumAdjustment – viz https://learn.microsoft.com/en-us/typography/opentype/spec/head
unsigned longReserved1Reserved - musí být 0
unsigned longReserved2Reserved - musí být 0
unsigned longReserved3Reserved - musí být 0
unsigned longReserved4Reserved - musí být 0
unsigned shortPadding1Padding pro zachování dlouhého zarovnání. Hodnota výplně musí být vždy nastavena na 0x0000.
unsigned shortFamilyNameSizePočet bajtů použitých polem FamilyName
byteFamilyName[FamilyNameSize]Pole znaků UTF-16 o délce bajtů FamilyNameSize. Toto je řetězec rodiny písem v anglickém jazyce nalezený v tabulce názvů písma (ID názvu = 1) – viz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding2Hodnota odsazení musí být vždy nastavena na 0x0000.
unsigned shortStyleNameSizePočet bajtů použitých StyleName
byteStyleName[StyleNameSize]Pole znaků UTF-16 o délce bajtů StyleNameSize. Toto je řetězec podrodiny písem v anglickém jazyce nalezený v tabulce názvů písma (ID názvu = 2) – viz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding3Hodnota odsazení musí být vždy nastavena na 0x0000.
unsigned shortVersionNameSizePočet bajtů použitých názvem VersionName
bytesVersionName[VersionNameSize]Pole znaků UTF-16 o délce bajtů SizeNameSize. Toto je řetězec anglické verze nalezený v tabulce názvů písma (ID názvu = 5) – viz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding4Hodnota výplně musí být vždy nastavena na 0x0000.
unsigned shortFullNameSizePočet bajtů použitých celým jménem
byteFullName[FullNameSize]Pole znaků UTF-16 o délce bajtů FullNameSize. Toto je řetězec úplného názvu v angličtině, který se nachází v tabulce jmen písma (ID názvu = 4) – viz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding5Hodnota výplně musí být vždy nastavena na 0x0000.
unsigned shortRootStringSizePočet bajtů použitých polem RootString
byteRootString[RootStringSize]Pole znaků UTF-16 o délce bajtů RootStringSize.
unsigned longRootStringCheckSumHodnota kontrolního součtu kořenového řetězce. Viz algoritmus pro zpracování RootStringChecksum níže.
unsigned longEUDCCodePageHodnota kódové stránky potřebná pro podporu písem EUDC.
unsigned shortPadding6Hodnota výplně musí být vždy nastavena na 0x0000.
unsigned shortSignatureSizePočet bajtů použitých polem Signature. Aktuálně rezervováno a mělo by být nastaveno na 0x0000.
bytePodpis[Velikost podpisu]Momentálně rezervováno. Pokud je SignatureSize 0x0000, toto pole nemá žádnou délku.
unsigned longEUDCFlagsZpracování příznaků pro písmo EUDC. Typické hodnoty mohou být TTEMBED_XORENCRYPTDATA a TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizePočet bajtů použitých polem Signature.
byteEUDCFontData[EUDCFontSize]Počet bajtů použitých pro data písem EUDC. Pokud je EUDCFontSize 0x00000000, toto pole nemá žádnou délku.
byteFontData[FontDataSize]Data písem pro tento soubor EOT. Data mohou být komprimována nebo zašifrována XOR, jak indikují příznaky zpracování.

Reference

Viz také