aspose.info
PL

EOT — format pliku czcionek TrueType

Zaktualizowano

Czym jest plik EOT?

Plik z rozszerzeniem .eot to czcionka OpenType osadzona w dokumencie. Są one najczęściej używane w plikach internetowych, takich jak strony internetowe. Został stworzony przez firmę Microsoft i jest obsługiwany przez produkty firmy Microsoft, w tym plik prezentacji programu PowerPoint .pps. Plik nie ma podstawowego zastosowania i jest rodzajem dokumentu towarzyszącego głównemu dokumentowi lub stronie internetowej. Podobnie jak czcionki OTF, EOT obsługuje zarówno kontury Postscript, jak i TrueType dla glifów. Pliki EOT mają mniejszy rozmiar z tego powodu, że są kompresowane przy użyciu kompresji LZ. EOT używa narzędzia firmy Microsoft do tworzenia czcionki z istniejących czcionek TTF/OTF.

Krótka historia

Czcionka EOT została zgłoszona do W3C w 2007 roku jako część CSS3, ale ze względu na wymagania dotyczące trwałej instalacji w systemie zdalnym stała się powodem jej odrzucenia. Został ponownie przesłany w marcu 2008 roku, ale ostatecznie W3C wybrało Web Font Format (WOFF), który został wówczas ustandaryzowany.

Format pliku EOT

Szczegóły formatu pliku EOT można znaleźć na stronie przesyłania W3 i omówiono strukturę używaną przez ten format czcionki. EOT składa się z pojedynczej struktury EMBEDDEDFONT, która zapewnia wystarczającą ilość podstawowych informacji o nazwie czcionki i obsługiwanych znakach. Pakowanie tych informacji pozwala agentom użytkownika uniknąć rozpakowywania, dekompresji lub instalowania czcionki, jeśli jest ona już obecna na komputerze.

Struktura EMBEDDEDFONT

Struktura EMBEDDEDFONT została poddana trzem rewizjom, z dodaniem dodatkowych danych na końcu struktury przy każdej rewizji. Ostatnia wersja struktury EMBEDDEDFONT jest przedstawiona poniżej.

Typ danychNazwa wpisuOpis
unsigned longEOTSizeCałkowita długość struktury w bajtach (łącznie z łańcuchem i danymi czcionki)
unsigned longFontDataSizeDługość czcionki OpenType (FontData) w bajtach
unsigned longWersjaNumer wersji tego formatu - 0x00020002
unsigned longFlagiPrzetwarzanie flag
byte[10]FontPANOSEWartość PANOSE dla tej czcionki — zobacz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
bajtZestaw znakówW systemie Windows pochodzi z TEXTMETRIC.tmCharSet. Ta wartość określa zestaw znaków czcionki. DEFAULT_CHARSET (0x01) oznacza brak preferencji. — Zobacz https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
bajtKursywaJeśli bit kursywy jest ustawiony w OS/2.fsSelection, wartość będzie równa 0x01 — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss
unsigned longWagaWartość wagi tej czcionki — zobacz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc
unsigned shortfsTypeFlagi typu, które dostarczają informacji o uprawnieniach osadzania — zobacz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
unsigned shortMagicNumberMagiczny numer dla pliku EOT - 0x504C. Służy do sprawdzania uszkodzeń danych.
unsigned longUnicodeRange1os/2.UnicodeRange1 (bity 0-31) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange2os/2.UnicodeRange2 (bity 32-63) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange3os/2.UnicodeRange3 (bity 64-95) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange4os/2.UnicodeRange4 (bity 96-127) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longCodePageRange1CodePageRange1 (bity 0-31) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCodePageRange2CodePageRange2 (bity 32-63) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCheckSumAdjustmenthead.CheckSumAdjustment — zobacz https://learn.microsoft.com/en-us/typography/opentype/spec/head
unsigned longZarezerwowany1Zarezerwowany - musi wynosić 0
unsigned longZarezerwowany2Zarezerwowany - musi wynosić 0
unsigned longZarezerwowany3Zarezerwowany - musi wynosić 0
unsigned longZarezerwowany4Zarezerwowany - musi wynosić 0
unsigned shortWypełnienie1Wypełnienie, aby zachować długie wyrównanie. Wartość wypełnienia musi być zawsze ustawiona na 0x0000.
unsigned shortFamilyNameSizeLiczba bajtów używanych przez tablicę FamilyName
bajtNazwaRodziny[RozmiarNazwyRodziny]Tablica znaków UTF-16 o długości bajtów RozmiarNazwyRodziny. To jest ciąg rodziny czcionek w języku angielskim znaleziony w tabeli nazw czcionki (identyfikator nazwy = 1) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortDopełnienie2Wartość dopełnienia musi być zawsze ustawiona na 0x0000.
unsigned shortStyleNameSizeLiczba bajtów używanych przez StyleName
byteStyleName[StyleNameSize]Tablica znaków UTF-16 o długości StyleNameSize bajtów. To jest łańcuch podrodziny czcionek w języku angielskim znaleziony w tabeli nazw czcionki (identyfikator nazwy = 2) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortDopełnienie3Wartość dopełnienia musi być zawsze ustawiona na 0x0000.
unsigned shortVersionNameSizeLiczba bajtów używanych przez VersionName
bajtyNazwaWersji[RozmiarNazwyWersji]Tablica znaków UTF-16 o długości bajtówRozmiarNazwyWersji. To jest ciąg wersji języka angielskiego znaleziony w tabeli nazw czcionki (identyfikator nazwy = 5) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortDopełnienie4Wartość dopełnienia musi być zawsze ustawiona na 0x0000.
unsigned shortFullNameSizeLiczba bajtów używanych przez FullName
byteFullName[FullNameSize]Tablica znaków UTF-16 o długości FullNameSize bajtów. To jest ciąg pełnej nazwy w języku angielskim znaleziony w tabeli nazw czcionki (identyfikator nazwy = 4) — patrz https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortDopełnienie5Wartość dopełnienia musi być zawsze ustawiona na 0x0000.
unsigned shortRootStringSizeLiczba bajtów używanych przez tablicę RootString
byteRootString[RootStringSize]Tablica znaków UTF-16 o długości bajtów RootStringSize.
unsigned longRootStringCheckSumRootString wartość sumy kontrolnej. Zobacz algorytm przetwarzania RootStringChecksum poniżej.
unsigned longEUDCCodePageWartość strony kodowej potrzebna do obsługi czcionek EUDC.
unsigned shortDopełnienie6Wartość dopełnienia musi być zawsze ustawiona na 0x0000.
unsigned shortSignatureSizeLiczba bajtów używanych przez tablicę Signature. Obecnie zarezerwowane i powinno być ustawione na 0x0000.
bajtPodpis[SignatureSize]Obecnie zarezerwowane. Jeśli SignatureSize wynosi 0x0000, ta tablica nie ma długości.
unsigned longEUDCFlagsFlagi przetwarzania dla czcionki EUDC. Typowe wartości to TTEMBED_XORENCRYPTDATA i TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizeLiczba bajtów używanych przez tablicę Signature.
bajtEUDCFontData[EUDCFontSize]Liczba bajtów użytych dla danych czcionki EUDC. Jeśli EUDCFontSize to 0x00000000, ta tablica nie ma długości.
byteFontData[FontDataSize]Dane czcionki dla tego pliku EOT. Dane mogą być skompresowane lub zaszyfrowane XOR, jak wskazują flagi przetwarzania.

Bibliografia

Zobacz też