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_tablesou a)get_table_bytes() - Utilização:
TtfTableSet.kernPara 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étodo | Descrição: |
|---|---|
TtfFont.ttf_tables | Acesso 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.kern | Tabela central (não se estiver presente) |