Trabalhar com fontes TrueType

Trabalhar com fontes TrueType

Trabalhar com fontes TrueType

Este guia mostra como carregar fontes TrueType, inspecionar seus dados de tabela binária, ler bytes da tabulação cru e criar instâncias estáticas a partir de fontes variáveis usando TtfInstancer.

As fontes TrueType (TTF) são o formato de fonte mais comum para desktop e web. para exposições Python TtfFont para aceder a dados de tabela específicos da TTF, recuperação de blocos de glifos;, e controlo do eixo de fonte variável.


Carregamento de uma fonte TTF

FontLoader.open() detecta automaticamente o formato TTF e retorna um TtfFont-objeto de tipo. A instância devolvida fornece acesso a recursos específicos do TTF, tais como: ttf_tables, get_table_bytes(), e dados de eixo variável da fonte.

from aspose_font.loader import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name, font.num_glyphs, "glyphs")

Acesso a tabelas TTF

TtfFont.ttf_tables expõe um TtfTableSet com propriedades nomeadas para tabelas comuns.

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
tables = ttf_font.ttf_tables
print("kern table present:", tables.kern is not None)

Bytes de tabela brutos

Utilização: TtfFont.get_table_bytes(tag) para recuperar dados de tabela binária em bruto e TtfFont.set_table_bytes(tag, data) para escrever bytes de tabela modificados.

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
raw_cmap = ttf_font.get_table_bytes("cmap")

Instanças de fonte variável

TtfFont.get_axis() Retorna informações sobre o eixo. TtfInstancer.instantiate() produz uma instância estática de uma fonte variável em coordenadas especificadas do eixo.

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
from aspose_font.ttf.instancer import TtfInstancer

ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
# Get a static instance at wght=700, wdth=75
instance = TtfInstancer.instantiate(ttf_font, {"wght": 700.0, "wdth": 75.0})

Dicas e melhores práticas

  • Usar sempre: isinstance(font, TtfFont) antes de aceder à ttf_tables ou a) get_table_bytes()
  • Utilização: TtfTableSet.kern Para verificar a disponibilidade de núcleos antes da leitura dos pares de nuvens.
  • A instância de fonte variável produz um novo objeto de letra; o original é inalterado.

Resumo de referência da API

Classe / MétodoDescrição:
TtfFont.ttf_tablesAcesso ao conjunto de tabelas TTF
TtfFont.get_table_bytes(tag)Bytes cruos para uma tabela nomeada
TtfFont.set_table_bytes(tag, data)Escrever bytes de tabela modificados
TtfFont.get_axis()Informações sobre o eixo de fonte variável
TtfInstancer.instantiate(font, coords)Criar uma instância estática
TtfTableSet.kernTabela central (não se estiver presente)

Ver também:

 Português