Allsorts é um analisador de fontes, moldando o motor e o subconjunto do OpenType, Woff e Woff2 escrito inteiramente em ferrugem. Foi extraído do Prince, uma ferramenta que digita e estabelece documentos HTML e CSS no PDF.
O mecanismo de modelagem de Allsorts foi desenvolvido em conjunto com uma especificação para a modelagem do OpenType, que visa especificar o comportamento de modelagem de fontes OpenType.
glyf , CFF , CFF2 ), WOFF e WOFF2.A modelagem de fontes é o processo de receber texto na forma de pontos de codepadores Unicode e uma fonte e colocar glifos da fonte de acordo com o texto. Isso envolve honrar kerning, ligaduras e substituições especificadas pela fonte. Para alguns idiomas, isso é relativamente simples. Para outros, como scripts indicativos, é bastante complexo. Após moldar, outra biblioteca como Pathfinder ou Freetype é responsável por renderizar os glifos. Para saber mais sobre a renderização de texto, Andrea Cognolato tem uma boa visão geral da fonte moderna que se desenrola no Linux. Os conceitos permanecem semelhantes em outras plataformas.
Consulte o Repositório de Ferramentas AllSorts para um conjunto de ferramentas que exercem allsorts para analisar, modelar e subconjuntar.
Atualmente não apoiamos:
Limitações conhecidas:
A AllSorts ainda está em desenvolvimento ativo, mas atingiu seu primeiro marco de liberação com sua inclusão no príncipe 13 em 2019. No príncipe, é responsável por todo o carregamento de fontes e modelagem de fontes.
Atualmente, o código de análise da fonte está manuscrito. Está planejado para que isso seja substituído pelo código gerado pela máquina por meio do nosso projeto de linguagem de definição declarativa de dados.
AllSorts CI executa testes no Linux, MacOS e Windows. Via príncipe, também é construído para o FreeBSD.
Versão mínima de ferrugem suportada: 1.66.0
Para construir a caixa, verifique se você tem ferrugem 1.66.0 ou mais recente instalado.
Construa com cargo build e execute os testes com cargo test .
| Recurso | Descrição | Padrão ativado | Dependências extras |
|---|---|---|---|
outline | Ativar código para acessar os contornos de glifos | ✅ | |
flate2_zlib | Use o back -end do Zlib para Flate2 | ✅ | zlib |
flate2_rust | Use o back -end da ferrugem para Flate2 | miniz_oxide | |
prince | Ativar testes e código específicos do príncipe | ||
specimen | Ativar módulo para gerar amostras de fonte HTML | upon , unicode-blocks |
Nota: Em nosso teste, o back -end zlib flate2 foi mais rápido, mas você pode preferir o back -end da ferrugem para uma solução de ferrugem pura ao compilar com WASM ou similar.
As contribuições são bem -vindas, consulte o documento contribuinte para obter mais detalhes.
Nosso objetivo é defender os padrões da comunidade de ferrugem:
Estamos comprometidos em fornecer um ambiente amigável, seguro e acolhedor para todos, independentemente de gênero, orientação sexual, deficiência, etnia, religião ou características pessoais semelhantes.
Seguimos o Código de Conduta Rust.
AllSorts é distribuído sob os termos da licença Apache (versão 2.0).
Consulte a licença para obter detalhes.