aspose.info
PT

EOT - Formato de arquivo de fonte TrueType

Atualizado em

O que é um arquivo EOT?

Um arquivo com extensão .eot é uma fonte OpenType incorporada em um documento. Eles são usados principalmente em arquivos da Web, como uma página da Web. Ele foi criado pela Microsoft e é suportado pelos produtos da Microsoft, incluindo o arquivo de apresentação do PowerPoint .pps. O arquivo não é de uso principal e é uma espécie de documento que acompanha o documento principal ou a página da web. Semelhante às fontes OTF, a EOT suporta contornos Postscript e TrueType para os glifos. Os arquivos EOT são menores em tamanho porque são compactados usando a compactação LZ. A EOT usa uma ferramenta da Microsoft para criar uma fonte a partir de fontes TTF/OTF existentes.

Breve história

A fonte EOT foi submetida ao W3C em 2007 como parte do CSS3, mas devido aos seus requisitos de estar permanentemente instalada em sistema remoto tornou-se o motivo de sua rejeição. Foi reenviado em março de 2008, mas o W3C finalmente escolheu Web Font Format (WOFF), que foi padronizado na época.

Formato de arquivo EOT

Os detalhes do formato do arquivo EOT podem ser encontrados na página de envio do W3 e elabora a estrutura usada por esse formato de fonte. O EOT consiste em uma única estrutura EMBEDDEDFONT que fornece informações básicas suficientes sobre o nome da fonte e os caracteres suportados. O empacotamento dessas informações permite que os Agentes do Usuário evitem descompactar, descompactar ou instalar a fonte se ela já estiver presente na máquina.

Estrutura da FONTE EMBEDDED

A estrutura EMBEDDEDFONT passou por três revisões, com adição de dados adicionais ao final da estrutura a cada revisão. A última revisão da estrutura EMBEDDEDFONT é mostrada abaixo.

Tipo de dadosNome da entradaDescrição
unsigned longEOTSizeComprimento total da estrutura em bytes (incluindo dados de string e fonte)
unsigned longFontDataSizeComprimento da fonte OpenType (FontData) em bytes
unsigned longVersãoNúmero da versão deste formato - 0x00020002
unsigned longFlagsProcessing Flags
byte[10]FontPANOSEO valor PANOSE para esta fonte - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
byteCharsetNo Windows isso é derivado de TEXTMETRIC.tmCharSet. Este valor especifica o conjunto de caracteres da fonte. DEFAULT_CHARSET (0x01) indica nenhuma preferência. - Consulte https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
byteItalicSe o bit para ITALIC estiver definido em OS/2.fsSelection, o valor será 0x01 - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss
unsigned longWeightO valor do peso para esta fonte - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc
unsigned shortfsTypeTipo sinalizadores que fornecem informações sobre permissões de incorporação - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
unsigned shortMagicNumberNúmero mágico para arquivo EOT - 0x504C. Usado para verificar se há corrupção de dados.
unsigned longUnicodeRange1os/2.UnicodeRange1 (bits 0-31) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange2os/2.UnicodeRange2 (bits 32-63) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange3os/2.UnicodeRange3 (bits 64-95) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange4os/2.UnicodeRange4 (bits 96-127) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longCodePageRange1CodePageRange1 (bits 0-31) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCodePageRange2CodePageRange2 (bits 32-63) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCheckSumAdjustmenthead.CheckSumAdjustment - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/head
unsigned longReserved1Reserved - deve ser 0
unsigned longReserved2Reservado - deve ser 0
unsigned longReserved3Reserved - deve ser 0
unsigned longReserved4Reserved - deve ser 0
unsigned shortPadding1Padding para manter o alinhamento longo. O valor de preenchimento sempre deve ser definido como 0x0000.
unsigned shortFamilyNameSizeNúmero de bytes usados pelo array FamilyName
byteFamilyName[FamilyNameSize]Matriz de caracteres UTF-16 com o comprimento de bytes FamilyNameSize. Esta é a cadeia de caracteres da família de fontes do idioma inglês encontrada na tabela de nomes da fonte (ID do nome = 1) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding2O valor de preenchimento deve sempre ser definido como 0x0000.
unsigned shortStyleNameSizeNúmero de bytes usados pelo StyleName
byteStyleName[StyleNameSize]Matriz de caracteres UTF-16 com o comprimento de bytes StyleNameSize. Esta é a cadeia de caracteres da subfamília de fontes do idioma inglês encontrada na tabela de nomes da fonte (ID do nome = 2) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding3O valor de preenchimento deve sempre ser definido como 0x0000.
unsigned shortVersionNameSizeNúmero de bytes usados pelo VersionName
bytesVersionName[VersionNameSize]Matriz de caracteres UTF-16 com o comprimento de bytes VersionNameSize. Esta é a string da versão do idioma inglês encontrada na tabela de nomes da fonte (ID do nome = 5) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding4O valor de preenchimento deve sempre ser definido como 0x0000.
unsigned shortFullNameSizeNúmero de bytes usados pelo FullName
byteFullName[FullNameSize]Matriz de caracteres UTF-16 com o comprimento de bytes FullNameSize. Esta é a cadeia de caracteres de nome completo do idioma inglês encontrada na tabela de nomes da fonte (ID do nome = 4) - Consulte https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding5O valor de preenchimento deve sempre ser definido como 0x0000.
unsigned shortRootStringSizeNúmero de bytes usados pelo array RootString
byteRootString[RootStringSize]Matriz de caracteres UTF-16 com o comprimento de bytes RootStringSize.
unsigned longRootStringCheckSumValor de RootString CheckSum. Veja algoritmo para processar RootStringChecksum abaixo.
unsigned longEUDCCodePageValor de página de código necessário para suporte de fonte EUDC.
unsigned shortPadding6O valor de preenchimento deve sempre ser definido como 0x0000.
unsigned shortSignatureSizeNúmero de bytes usados pelo array Signature. Atualmente reservado e deve ser definido como 0x0000.
byteAssinatura[SignatureSize]Atualmente reservado. Se o SignatureSize for 0x0000, não há comprimento para esta matriz.
unsigned longEUDCFlagsProcessando sinalizadores para a fonte EUDC. Os valores típicos podem ser TTEMBED_XORENCRYPTDATA e TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizeNúmero de bytes usados pelo array Signature.
byteEUDCFontData[EUDCFontSize]Número de bytes usados para os dados de fonte EUDC. Se o EUDCFontSize for 0x00000000, não há comprimento para esta matriz.
byteFontData[FontDataSize]Os dados da fonte para este arquivo EOT. Os dados podem ser compactados ou criptografados por XOR conforme indicado pelos sinalizadores de processamento.

Referências

Veja também