aspose.info
DA

EOT - TrueType Font File Format

Opdateret

Hvad er en EOT fil?

En fil med filtypenavnet .eot er en OpenType-skrifttype, der er indlejret i et dokument. Disse bruges mest i webfiler såsom en webside. Den blev oprettet af Microsoft og understøttes af Microsoft-produkter, herunder PowerPoint-præsentationsfilen .pps. Filen er ikke til primær brug og er en slags ledsagedokument med hoveddokumentet eller websiden. I lighed med OTF-skrifttyper understøtter EOT både Postscript- og TrueType-konturer for glyfferne. EOT-filer er mindre i størrelse af den grund, at de er komprimeret ved hjælp af LZ-komprimering. EOT bruger et Microsoft-værktøj til at oprette en skrifttype ud fra eksisterende TTF/OTF-skrifttyper.

Kort historie

EOT-skrifttypen blev indsendt til W3C i 2007 som en del af CSS3, men på grund af dens krav om at blive permanent installeret på fjernsystemet blev det årsagen til dens afvisning. Det blev genindsendt i marts 2008, men W3C valgte i sidste ende Web Font Format (WOFF), som blev standardiseret dengang.

EOT filformat

EOT-filformatdetaljer kan findes på W3 submission page og uddyber den struktur, der bruges af dette skrifttypeformat. EOT består af en enkelt EMBEDDEDFONT-struktur, der giver tilstrækkelig grundlæggende information om skrifttypenavnet og understøttede tegn. Pakningen af disse oplysninger gør det muligt for brugeragenter at undgå at pakke ud, dekomprimere eller installere skrifttypen, hvis den allerede findes på maskinen.

EMBEDDEDFONT-struktur

EMBEDDEDFONT-strukturen har gennemgået tre revisioner, med tilføjelse af yderligere data i slutningen af strukturen med hver revision. Den sidste revision af EMBEDDEDFONT-strukturen er som vist nedenfor.

DatatypeIndtastningsnavnBeskrivelse
unsigned longEOTSizeSamlet strukturlængde i bytes (inklusive streng- og skrifttypedata)
unsigned longFontDataSizeLængde af OpenType-skrifttypen (FontData) i bytes
unsigned longVersionVersionsnummer for dette format - 0x00020002
unsigned longFlagBehandler flag
byte[10]FontPANOSEPANOSE-værdien for denne skrifttype - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
byteCharsetI Windows er dette afledt fra TEXTMETRIC.tmCharSet. Denne værdi angiver skrifttypens tegnsæt. DEFAULT_CHARSET (0x01) angiver ingen præference. - Se https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
byteItalicHvis bit for ITALIC er indstillet i OS/2.fsSelection, vil værdien være 0x01 - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss
unsigned longVægtVægtværdien for denne skrifttype - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc
unsigned shortfsTypeTypeflag, der giver oplysninger om indlejringstilladelser - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
unsigned shortMagicNumberMagisk nummer til EOT-fil - 0x504C. Bruges til at kontrollere for datakorruption.
unsigned longUnicodeRange1os/2.UnicodeRange1 (bits 0-31) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange2os/2.UnicodeRange2 (bits 32-63) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange3os/2.UnicodeRange3 (bits 64-95) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange4os/2.UnicodeRange4 (bits 96-127) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longCodePageRange1CodePageRange1 (bits 0-31) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCodePageRange2CodePageRange2 (bits 32-63) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCheckSumAdjustmenthead.CheckSumAdjustment - Se https://learn.microsoft.com/en-us/typography/opentype/spec/head
unsigned longReserved1Reserved - skal være 0
unsigned longReserved2Reserved - skal være 0
unsigned longReserved3Reserved - skal være 0
unsigned longReserved4Reserved - skal være 0
unsigned shortPadding1Padding for at opretholde lang justering. Udfyldningsværdi skal altid sættes til 0x0000.
unsigned shortFamilyNameSizeAntal bytes brugt af FamilyName-arrayet
byteFamilyName[FamilyNameSize]Array af UTF-16-tegn længden af FamilyNameSize-bytes. Dette er den engelsksprogede Font Family-streng, der findes i skrifttypens navnetabell (navn-id = 1) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding2Padding-værdi skal altid sættes til 0x0000.
unsigned shortStyleNameSizeAntal bytes brugt af StyleName
byteStyleName[StyleNameSize]Array af UTF-16-tegn længden af StyleNameSize-bytes. Dette er den engelsksprogede Font Subfamily-streng, der findes i skrifttypens navnetabell (navn-ID = 2) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding3Padding-værdi skal altid sættes til 0x0000.
unsigned shortVersionNameSizeAntal bytes brugt af VersionName
bytesVersionsnavn[VersionNameSize]Array af UTF-16-tegn længden af VersionNameSize-bytes. Dette er den engelsksprogede versionsstreng, der findes i navnetabellen for skrifttypen (navn-ID = 5) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding4Padding-værdi skal altid sættes til 0x0000.
unsigned shortFullNameSizeAntal bytes brugt af FullName
byteFuldnavn[FuldnavnStørrelse]Array af UTF-16-tegn længden af FullNameSize-bytes. Dette er den engelsksprogede fulde navnestreng, der findes i navnetabellen for skrifttypen (navn ID = 4) - Se https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding5Padding-værdi skal altid sættes til 0x0000.
unsigned shortRootStringSizeAntal bytes brugt af RootString-arrayet
byteRootString[RootStringSize]Array af UTF-16-tegn længden af RootStringSize-bytes.
unsigned longRootStringCheckSumRootString CheckSum værdi. Se algoritmen til at behandle RootStringChecksum nedenfor.
unsigned longEUDCCodePageTidstabelværdi er nødvendig for EUDC-skrifttypeunderstøttelse.
unsigned shortPadding6Padding-værdi skal altid sættes til 0x0000.
unsigned shortSignatureSizeAntal bytes brugt af signaturarrayet. I øjeblikket reserveret og bør indstilles til 0x0000.
byteSignatur[SignatureSize]I øjeblikket reserveret. Hvis SignatureSize er 0x0000, er der ingen længde på dette array.
unsigned longEUDCFlagsBehandler flag for EUDC-skrifttypen. Typiske værdier kan være TTEMBED_XORENCRYPTDATA og TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizeAntal bytes brugt af signaturarrayet.
byteEUDCFontData[EUDCFontSize]Antal bytes brugt til EUDC-skrifttypedata. Hvis EUDCFontSize er 0x00000000, er der ingen længde på denne matrix.
byteFontData[FontDataSize]Skriftdataene for denne EOT-fil. Dataene kan være komprimeret eller XOR-krypteret som angivet af behandlingsflag.

Referencer

Se også