aspose.info
NL

EOT - TrueType-lettertypebestandsindeling

Bijgewerkt

Wat is een EOT-bestand?

Een bestand met de extensie .eot is een OpenType-lettertype dat is ingesloten in een document. Deze worden meestal gebruikt in webbestanden zoals een webpagina. Het is gemaakt door Microsoft en wordt ondersteund door Microsoft-producten, inclusief het PowerPoint-presentatiebestand .pps. Het bestand is niet van primair gebruik en is een soort begeleidend document bij het hoofddocument of de webpagina. Net als bij OTF-lettertypen ondersteunt EOT zowel Postscript- als TrueType-contouren voor de glyphs. EOT-bestanden zijn kleiner omdat ze zijn gecomprimeerd met LZ-compressie. EOT gebruikt een Microsoft-tool om een lettertype te maken van bestaande TTF/OTF-lettertypen.

Korte geschiedenis

Het EOT-lettertype werd in 2007 ingediend bij W3C als onderdeel van CSS3, maar vanwege de vereisten om permanent op een extern systeem te worden geïnstalleerd, werd het de reden van afwijzing. Het werd in maart 2008 opnieuw ingediend, maar W3C koos uiteindelijk voor Web Font Format (WOFF), dat toen gestandaardiseerd was.

EOT-bestandsindeling

Details van EOT-bestandsindelingen zijn te vinden op W3-inzendingspagina en werken de structuur uit die door deze lettertype-indeling wordt gebruikt. De EOT bestaat uit een enkele EMBEDDEDFONT-structuur die voldoende basisinformatie biedt over de naam van het lettertype en de ondersteunde tekens. Door deze informatie in te pakken, kunnen User Agents voorkomen dat het lettertype wordt uitgepakt, gedecomprimeerd of geïnstalleerd als het al op de computer aanwezig is.

EMBEDDEDFONT-structuur

De EMBEDDEDFONT-structuur heeft drie revisies ondergaan, met toevoeging van aanvullende gegevens aan het einde van de structuur bij elke revisie. De laatste revisie van de EMBEDDEDFONT-structuur is zoals hieronder weergegeven.

GegevenstypeInvoernaamBeschrijving
unsigned longEOTSizeTotale lengte van de structuur in bytes (inclusief string- en lettertypegegevens)
unsigned longFontDataSizeLengte van het OpenType-lettertype (FontData) in bytes
unsigned longVersieVersienummer van dit formaat - 0x00020002
unsigned longVlaggenVerwerkingsvlaggen
byte[10]FontPANOSEDe PANOSE-waarde voor dit lettertype - zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
byteCharsetIn Windows is dit afgeleid van TEXTMETRIC.tmCharSet. Deze waarde geeft de tekenset van het lettertype aan. DEFAULT_CHARSET (0x01) geeft geen voorkeur aan. - Zie https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
byteItalicAls de bit voor ITALIC is ingesteld in OS/2.fsSelection, is de waarde 0x01 - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss
unsigned longWeightDe gewichtswaarde voor dit lettertype - zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc
unsigned shortfsTypeTyp vlaggen die informatie geven over insluitrechten - zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
unsigned shortMagicNumberMagisch nummer voor EOT-bestand - 0x504C. Wordt gebruikt om te controleren op gegevenscorruptie.
unsigned longUnicodeRange1os/2.UnicodeRange1 (bits 0-31) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange2os/2.UnicodeRange2 (bits 32-63) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange3os/2.UnicodeRange3 (bits 64-95) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange4os/2.UnicodeRange4 (bits 96-127) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longCodePageRange1CodePageRange1 (bits 0-31) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCodePageRange2CodePageRange2 (bits 32-63) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCheckSumAdjustmenthead.CheckSumAdjustment - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/head
unsigned longGereserveerd1Gereserveerd - moet 0 zijn
unsigned longGereserveerd2Gereserveerd - moet 0 zijn
unsigned longGereserveerd3Gereserveerd - moet 0 zijn
unsigned longGereserveerd4Gereserveerd - moet 0 zijn
unsigned shortOpvulling1Opvulling om een lange uitlijning te behouden. Opvulwaarde moet altijd worden ingesteld op 0x0000.
unsigned shortFamilyNameSizeAantal bytes gebruikt door de FamilyName-array
byteFamilyName[FamilyNameSize]Array van UTF-16 tekens met de lengte van FamilyNameSize-bytes. Dit is de Engelstalige Font Family-string die te vinden is in de naamtabel van het lettertype (naam-ID = 1) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortOpvulling2Opvulwaarde moet altijd op 0x0000 staan.
unsigned shortStyleNameSizeAantal bytes gebruikt door de StyleName
byteStyleName[StyleNameSize]Array van UTF-16 tekens met de lengte van StyleNameSize-bytes. Dit is de Engelstalige Lettertype-subfamiliereeks die te vinden is in de naamtabel van het lettertype (naam-ID = 2) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortOpvulling3Opvulwaarde moet altijd worden ingesteld op 0x0000.
unsigned shortVersionNameSizeAantal bytes gebruikt door VersionName
bytesVersionName[VersionNameSize]Array van UTF-16-tekens met de lengte van VersionNameSize-bytes. Dit is de Engelse versiereeks die te vinden is in de naamtabel van het lettertype (naam-ID = 5) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding4Opvulwaarde moet altijd worden ingesteld op 0x0000.
unsigned shortFullNameSizeAantal bytes gebruikt door FullName
byteFullName[FullNameSize]Array van UTF-16-tekens met de lengte van FullNameSize-bytes. Dit is de Engelse volledige naamreeks die te vinden is in de naamtabel van het lettertype (naam-ID = 4) - Zie https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortOpvulling5Opvulwaarde moet altijd worden ingesteld op 0x0000.
unsigned shortRootStringSizeAantal bytes gebruikt door de RootString-array
byteRootString[RootStringSize]Array van UTF-16-tekens met de lengte van RootStringSize-bytes.
unsigned longRootStringCheckSumRootString CheckSum-waarde. Zie het algoritme om RootStringChecksum hieronder te verwerken.
unsigned longEUDCCodePageCodepage-waarde nodig voor EUDC-lettertypeondersteuning.
unsigned shortOpvulling6Opvulwaarde moet altijd worden ingesteld op 0x0000.
unsigned shortSignatureSizeAantal bytes dat door de Signature-array wordt gebruikt. Momenteel gereserveerd en moet worden ingesteld op 0x0000.
byteSignature[SignatureSize]Momenteel gereserveerd. Als de SignatureSize 0x0000 is, heeft deze array geen lengte.
unsigned longEUDCFlagsVerwerkingsvlaggen voor het EUDC-lettertype. Typische waarden zijn mogelijk TTEMBED_XORENCRYPTDATA en TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizeAantal bytes gebruikt door de Signature-array.
byteEUDCFontData[EUDCFontSize]Aantal bytes dat is gebruikt voor de EUDC-lettertypegegevens. Als de EUDCFontSize 0x00000000 is, heeft deze array geen lengte.
byteFontData[FontDataSize]De lettertypegegevens voor dit EOT-bestand. De gegevens kunnen worden gecomprimeerd of XOR-gecodeerd zoals aangegeven door de verwerkingsvlaggen.

Referenties

Zie ook