aspose.info
PT

TTF - Formato de arquivo de fonte TrueType

Atualizado em

O que é um arquivo TTF?

Um arquivo com extensão .ttf representa arquivos de fonte com base na tecnologia de fonte de especificações TrueType. Ele foi inicialmente projetado e lançado pela Apple Computer, Inc para Mac OS e mais tarde foi adotado pela Microsoft para Windows OS. As fontes TrueType fornecem exibição da mais alta qualidade em telas de computador e impressoras sem qualquer dependência de resolução. Todos os aplicativos modernos que usam fontes podem trabalhar com arquivos TTF. Os arquivos de fonte TTF estão disponíveis gratuitamente na Internet e também podem ser convertidos para outros formatos de arquivo de fonte, como OTF e WOFF.

Breve história

Projetado pela Apply Computer, Inc na década de 1980 para MacOS, o formato de fonte TTF visava resolver algumas limitações técnicas do formato Type 1 da Adobe. A Apple incluiu suporte para fontes TrueType no Mac em 1991. O objetivo do design por trás das fontes TTF era eficiência no armazenamento e processamento e extensibilidade. Com base nessa extensibilidade, as fontes existentes podem ser convertidas para o formato TrueType.

A Microsoft usou pela primeira vez as fontes TrueType no Windows 3.1 em abril de 1992, depois que a Apple concordou em licenciar TrueType para a Microsoft. Melhorou o mecanismo de rasterização e melhorou sua eficiência e desempenho.

Especificações de formato de arquivo True Type

Um arquivo de fonte TrueType é um arquivo binário que consiste em uma sequência de tabelas concatenadas. Cada tabela é uma sequência de palavras e tem um nome conhecido como ‘Tag’. Cada tag é do tipo de dados uint32 e consiste em quatro caracteres. A primeira tabela no arquivo é o diretório de fontes que dá acesso a outras tabelas no arquivo de fontes. Os dados da fonte estão contidos em outras tabelas seguidas da tabela do diretório de fontes. Como cada tabela é acessível por sua tag, as tabelas podem aparecer em qualquer ordem no arquivo.

As tabelas necessárias e seus nomes de tags são mostrados na tabela a seguir.

EtiquetaTabela
‘cmap’mapeamento de caracteres para glifos
‘glif’dados de glifo
‘cabeça’cabeçalho da fonte
‘hea’cabeçalho horizontal
‘hmtx’métricas horizontais
’localização’índice para localização
‘maxp’perfil máximo
’nome'nomeação
‘postar’PostScript

Tipos de dados

As fontes TrueType usam o número inteiro padrão e os tipos de dados adicionais, conforme listado na tabela a seguir.

Tipo de dadosDescrição
shortFracfração assinada de 16 bits
CorrigidoNúmero de ponto fixo assinado de 16,16 bits
FWordInteiro com sinal de 16 bits que descreve uma quantidade em FUnits, a menor distância mensurável no espaço em.
uFWordInteiro sem sinal de 16 bits que descreve uma quantidade em FUnits, a menor distância mensurável no espaço em.
F2Ponto14Número fixo assinado de 16 bits com os 14 bits baixos representando fração.
longDateTimeO formato interno longo de uma data em segundos desde 12:00 meia-noite de 1º de janeiro de 1904. Ele é representado como um inteiro de 64 bits assinado.

Diretório de fontes

A primeira tabela na fonte TrueType é o diretório de fontes que fornece acesso às informações necessárias para acessar dados em outras tabelas. Consiste ainda em:

  • Subtabela de deslocamento - mantém registro das tabelas na fonte e fornece informações de deslocamento para acessar cada tabela no diretório
  • Table Directory - Contém entradas para cada tabela na fonte

Subtabela de deslocamento

A subtabela de deslocamento é mostrada abaixo.

TipoNomeDescrição
uint32tipo de escalaUma tag para indicar o scaler OFA a ser usado para rasterizar essa fonte; consulte a nota sobre o tipo de escalonador abaixo para obter mais informações.
uint16numTabelasnúmero de mesas
uint16searchRange(potência máxima de 2 <= numTables)*16
uint16seletor de entradalog2(potência máxima de 2 <= numTables)
uint16rangeShiftnumTables*16-searchRange

Diretório de tabelas

O diretório da tabela vem logo após a subtabela de deslocamento. Sua estrutura é conforme a tabela a seguir.

TipoNomeDescrição
uint32etiquetaidentificador de 4 bytes
uint32checkSumsoma de verificação para esta tabela
uint32deslocamentodeslocamento do início de sfnt
uint32comprimentocomprimento desta tabela em bytes (comprimento real não preenchido)

Cada tabela em um arquivo de fonte deve ter sua própria entrada de diretório de tabela. As entradas em uma tabela devem ser classificadas em ordem crescente por tag.

Referências

Veja também