Perguntas Frequentes
Licenciamento e código aberto
Qual é o modelo de licenciamento?
Aspose.Font FOSS for Python is released under the Licença MIT.Podes usar, cópia., modificar, unir, publicar, distribuir, sublicenciar ou vender cópias do software sem que o O único requisito é que o aviso de direitos autorais e o texto da licença sejam Incluído em todas as cópias ou partes substanciais do software.
Posso usá-lo em produtos comerciais?
Sim, a licença MIT permite o uso em produtos de código fechado e comerciais. Não há royalties ou obrigações de atribuição além da retenção do cabeçalho de direitos autorais nas suas cópias da própria biblioteca.
Existe uma versão paga com mais recursos?
Aspose.Font FOSS is the open-source edition. The FOSS edition covers TTF, OTF, CFF, Type 1, WOFF, WOFF2, and EOT — which covers the majority of real-world font work.
Instalação e requisitos
Como eu instalar Aspose.Email FOSS para Python?
Instalar o pacote a partir do PyPI (requer Python 3.10+):
pip install "aspose-font>=1.0.0"Não são necessárias dependências nativas a nível de sistema.
Quais versões do Python são suportadas?
Python 3.10 e posteriores. A biblioteca usa apenas recursos de biblioteca padrão, então ele funciona em implementações CPython e PyPy que suportam o Python 3.0+.
Há dependências nativas ou de plataforma?
Não. Aspose.Font FOSS para Python não tem extensões C, sem fontes de sistema e sem APIs de plataforma. Ele funciona idêntico no Windows, macOS e Linux.
Suporte de formato
Que tipos de fonte podem ser lidos?
FontLoader.open() Pode carregar TTF, OTF e CFF (autônomos), Tipo 1, WOFF, WOff2 e EOT.
from aspose_font.loader import FontLoader
font = FontLoader.open("MyFont.ttf")Que formatos podem ser escritos?
FontConverter.convert() Suporta a conversão para TTF, CFF, WOFF e WOff2. A fonte pode ser salva em bytes ou um fluxo de arquivo.
A descompressão WOFF2 está integrada?
Sim. WOFF2 Brotli compressão e descompressão são implementados inteiramente dentro da biblioteca. Não é necessário nenhum pacote externo de brotli.
Utilização da API
Como carrego uma fonte e inspeccio os seus metadados?
Utilização: FontLoader.open() que retorna um Font Para fontes TTF/OTF, em formato de TtfFont Para aceder a propriedades específicas de uma TTF:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)Como eu converter um TTF para WOFF2?
Carregar a fonte com: FontLoader.open(), então passa-o para o FontConverter.convert() especificando: FontType.WOFF2 O objeto retornado é um Woff2Font instância pronta para serialização:
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)Como subconfiguro uma fonte para entrega na web?
Utilização: FontSubsetter.subset_by_text() para produzir uma nova fonte que inclua apenas os glifos necessários para render a cadeia de texto fornecida, reduzindo o tamanho do arquivo para inserção da página web:
from aspose_font.loader import FontLoader
from aspose_font.subsetter import FontSubsetter
font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")Como posso aceder a glifos individuais?
Utilização: Font.glyph_accessor que aplica: GlyphAccessor.- Ligue. get_glyph_by_unicode() com um ponto de código Unicode para recuperar o objeto do glifo correspondente e inspecionar suas métricas ou contorno:
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041) # 'A'
print(glyph.glyph_id)Limitações conhecidas
Font.to_bytes ((() está implementado?
A classe de base abstrata Font.to_bytes() aumentos de valor NotImplementedError se for chamada directamente. No entanto, todas as classes de fontes concretas TtfFont, CffFont, WoffFont, Woff2Font, EotFont, e Type1Font implementação to_bytes() Carregar uma fonte com FontLoader.open() E chama-me. to_bytes() no caso concreto devolvido. FontConverter.convert() também pode ser produzir uma nova fonte em qualquer formato de destino suportado.
Todos os tipos de tabela no TtfTableSet estão preenchidos?
Apenas as tabelas comuns (head, hhea, maxp, os2, name, post, cmap, loca, hmtx, kern) são expostos como propriedades denominadas em: TtfTableSet.Outras tabelas podem ser lidas como bytes brutos . via: TtfFont.get_table_bytes(tag).
A biblioteca suporta a instanciação de fontes variáveis?
- Sim, é verdade.
TtfFont.instantiate()produz um estado estático.TtfFontem coordenadas de eixo especificadas. Utilização:TtfFont.is_variablee a)TtfFont.axesDetetar primeiro os eixos de variação.