aspose.info
LT

EOT – „TrueType“ šrifto failo formatas

Atnaujinta

Kas yra EOT failas?

Failas su plėtiniu .eot yra OpenType šriftas, įdėtas į dokumentą. Jie dažniausiai naudojami žiniatinklio failuose, tokiuose kaip tinklalapis. Jį sukūrė Microsoft ir palaiko Microsoft produktai, įskaitant PowerPoint pristatymo failą .pps. Failas nėra pagrindinis naudojimas ir yra tarsi lydimasis dokumentas su pagrindiniu dokumentu arba tinklalapiu. Panašiai kaip OTF šriftai, EOT palaiko ir Postscript, ir TrueType kontūrus, skirtus glifams. EOT failai yra mažesnio dydžio dėl to, kad jie suglaudinami naudojant LZ glaudinimą. EOT naudoja Microsoft įrankį, kad sukurtų šriftą iš esamų TTF/OTF šriftų.

Trumpa istorija

EOT šriftas buvo pateiktas W3C 2007 m. kaip CSS3 dalis, tačiau dėl jo reikalavimų būti nuolat įdiegtam nuotolinėje sistemoje tapo jo atmetimo priežastimi. Jis buvo pakartotinai pateiktas 2008 m. kovo mėn., tačiau W3C galiausiai pasirinko Web Font Format (WOFF), kuris tada buvo standartizuotas.

EOT failo formatas

Išsamią EOT failo formato informaciją galite rasti adresu W3 submission page. Čia išsamiai aprašoma šio šrifto formato naudojama struktūra. EOT sudaro viena EMBEDDEDFONT struktūra, kuri suteikia pakankamai pagrindinės informacijos apie hte šrifto pavadinimą ir palaikomus simbolius. Šios informacijos supakavimas leidžia naudotojo agentams neišpakuoti, išspausti arba neįdiegti šrifto, jei jis jau yra įrenginyje.

EMBEDDEDFONT Struktūra

EMBEDDEDFONT struktūra buvo peržiūrėta tris kartus, o kiekvienos peržiūros pabaigoje struktūros pabaigoje buvo pridėta papildomų duomenų. Paskutinė EMBEDDEDFONT struktūros peržiūra yra tokia, kaip parodyta toliau.

Duomenų tipasĮrašo pavadinimasAprašymas
unsigned longEOTSizeBendras struktūros ilgis baitais (įskaitant eilutės ir šrifto duomenis)
unsigned longFontDataSizeOpenType šrifto ilgis (FontData) baitais
unsigned longVersijaŠio formato versijos numeris - 0x00020002
nepasirašytas ilgasVėliavosApdorojamos vėliavėlės
byte[10]FontPANOSEŠio šrifto PANOSE reikšmė – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
byteCharsetWindows sistemoje tai gaunama iš TEXTMETRIC.tmCharSet. Ši reikšmė nurodo šrifto simbolių rinkinį. DEFAULT_CHARSET (0x01) nerodo pirmenybės. – Žr. https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
byteItalicJei ITALIC bitas nustatytas OS/2.fsSelection, reikšmė bus 0x01 – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss
unsigned longWeightŠio šrifto svorio reikšmė – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc
unsigned shortfsTypeTipo vėliavėlės, teikiančios informaciją apie įterpimo leidimus – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
nepasirašytas trumpasMagicNumberMagiškas EOT failo numeris – 0x504C. Naudojamas patikrinti, ar nėra duomenų sugadinimo.
unsigned longUnicodeRange1os/2.UnicodeRange1 (bitai 0–31) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange2os/2.UnicodeRange2 (32–63 bitai) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange3os/2.UnicodeRange3 (64–95 bitai) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange4os/2.UnicodeRange4 (96–127 bitai) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longCodePageRange1CodePageRange1 (bitai 0–31) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCodePageRange2CodePageRange2 (32–63 bitai) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
nepasirašytas ilgasCheckSumAdjustmenthead.CheckSumAdjustment – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/head
nepasirašytas ilgasRezervuotas1Rezervuotas – turi būti 0
nepasirašytas ilgasRezervuotas2Rezervuotas – turi būti 0
nepasirašytas ilgasRezervuotas3Rezervuotas – turi būti 0
nepasirašytas ilgasRezervuotas4Rezervuotas – turi būti 0
unsigned shortPadding1Padding, siekiant išlaikyti ilgą lygiavimą. Užpildymo reikšmė visada turi būti nustatyta į 0x0000.
unsigned shortFamilyNameSizeFamilyName masyve naudojamų baitų skaičius
byteFamilyName[FamilyNameSize]UTF-16 simbolių masyvas, kurio ilgis yra FamilyNameSize baitų. Tai anglų kalbos šriftų šeimos eilutė, rasta šrifto pavadinimo lentelėje (pavadinimo ID = 1) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding2Padding vertė visada turi būti nustatyta į 0x0000.
unsigned shortStyleNameSizeStyleName naudojamų baitų skaičius
byteStyleName[StyleNameSize]UTF-16 simbolių masyvas, kurio ilgis yra StyleNameSize baitų. Tai anglų kalbos šriftų pogrupio eilutė, rasta šrifto pavadinimo lentelėje (pavadinimo ID = 2) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding3Padding vertė visada turi būti nustatyta į 0x0000.
unsigned shortVersionNameSizeVersionName naudojamų baitų skaičius
baitaiVersionName[VersionNameSize]UTF-16 simbolių masyvas, kurio ilgis yra VersionNameSize baitų. Tai anglų kalbos versijos eilutė, rasta šrifto pavadinimų lentelėje (pavadinimo ID = 5) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding4Padding vertė visada turi būti nustatyta į 0x0000.
unsigned shortFullNameSizeFullName naudojamų baitų skaičius
byteFullName[FullNameSize]UTF-16 simbolių masyvas, kurio ilgis yra FullNameSize baitų. Tai anglų kalbos viso pavadinimo eilutė, esanti šrifto pavadinimų lentelėje (pavadinimo ID = 4) – žr. https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding5Padding vertė visada turi būti nustatyta į 0x0000.
unsigned shortRootStringSizeBaitų, naudojamų RootString masyvo, skaičius
byteRootString[RootStringSize]UTF-16 simbolių masyvas, kurio ilgis yra RootStringSize baitų.
unsigned longRootStringCheckSumRootString CheckSum reikšmė. Žemiau žr. algoritmą RootStringChecksum apdorojimui.
unsigned longEUDCCodePageKodo puslapio reikšmė reikalinga EUDC šrifto palaikymui.
unsigned shortPadding6Padding vertė visada turi būti nustatyta į 0x0000.
unsigned shortSignatureSizeSignature masyvo naudojamų baitų skaičius. Šiuo metu rezervuota ir turėtų būti nustatyta į 0x0000.
baitasParašas[SignatureSize]Šiuo metu rezervuotas. Jei SignatureSize yra 0x0000, šio masyvo ilgis nėra.
nepasirašytas ilgasEUDCFlagsApdorojamos EUDC šrifto vėliavėlės. Įprastos reikšmės gali būti TTEMBED_XORENCRYPTDATA ir TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizeParašo masyvo naudojamų baitų skaičius.
baitasEUDCFontData[EUDCFontSize]Baitų, naudojamų EUDC šrifto duomenims, skaičius. Jei EUDCFontSize yra 0x00000000, šio masyvo ilgis nėra.
byteFontData[FontDataSize]Šio EOT failo šrifto duomenys. Duomenys gali būti suspausti arba XOR užšifruoti, kaip nurodo apdorojimo vėliavėlės.

Nuorodos

Taip pat žiūrėkite