O PanOsifier é um aplicativo de linha de comando Python 3.6+ que edita dados de panose em fontes. A ferramenta edita os campos panose de especificação OpenType OS/2.
Em muitos casos, você pode definir esses valores em seus arquivos de origem de design de tipo e confiar no compilador de fontes para gravar esses valores em suas instâncias de fonte. No entanto, existem situações em que esse comportamento não é bem definido e difere entre os compiladores de fontes.
Um exemplo é a abordagem para gravar dados do Panose em arquivos de formato de fonte variável. Nesse caso, a especificação do OpenType é vaga, ambientes em que esses dados são essenciais não são bem definidos e os compiladores lidam com os dados do Panose definidos pelo arquivo de origem de maneira diferente.
Esta ferramenta permite modificar as decisões de tempo de construção nessas situações.
pip install panosifier--panose Command Line ou individualmente com as dez opções de campo OpenSey Panose disponíveis (consulte panosifier --help para obter uma lista de opções disponíveis)Veja a documentação abaixo para obter detalhes adicionais.
Este projeto requer um intérprete Python 3.6+.
Recomendamos a instalação em um ambiente virtual do Python3.
Use qualquer uma das seguintes abordagens de instalação:
$ pip3 install panosifier
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install -r requirements.txt .
A abordagem a seguir instala o projeto e as dependências opcionais de desenvolvedor associadas, para que as alterações da fonte estejam disponíveis sem a necessidade de reinstalação.
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
O Panossifier suporta duas abordagens da linha de comando para editar dados de Panose em um ou mais caminhos de fonte definidos pela linha de comando:
--panoseVocê pode definir todos os campos de Panose de uma só vez com uma lista ordenada e delimitada por vírgula de todos os 10 valores do OpenPey Panose. Estes devem ser valores inteiros.
A ordem de campo é:
A imagem a seguir exemplifica essa ordem no idioma --panose Option Definition. Observe que os valores neste exemplo não se destinam a ser válidos para uma fonte, mas para demonstrar como a ordem de definição mapeia os campos de definição de panosia.

Existem dez definições disponíveis no OpenType Panose. Cada campo panose possui uma opção correspondente na ferramenta Panossifier. Essas opções permitem definir cada campo individualmente e tornar as definições de Panose explícitas em fluxos de trabalho de construção com script. Defina essas opções com valores inteiros.
O exemplo abaixo modifica os dados de Panose escreve na seção de lista delimitados por vírgula acima com novos valores de família e proporção de 2 e 9, respectivamente:

Use panosifier --help para visualizar todas as opções disponíveis.
Nota : Esta ferramenta não executa verificações de sanidade em suas definições e pode ser usada para escrever definições inválidas em fontes. A ferramenta pressupõe que você entenda como definir esses valores de panose. Consulte a documentação de Panose para obter um plano de fundo detalhado.
O PanOsifier relata definições de dados do Panose no fluxo de saída padrão no final da execução.
As contribuições são calorosamente bem -vindas. Um ambiente de dependência de desenvolvimento pode ser instalado no modo editável com a documentação de instalação do desenvolvedor acima.
Por favor, use a abordagem padrão de solicitação de tração do github para propor alterações de fonte.
Nós fingimos arquivos de origem python com flake8 . Consulte o alvo de test-lint makefile para obter detalhes.
O teste de integração contínuo é realizado no serviço de ações do GitHub com a cadeia de ferramentas pytest . Os módulos de teste estão localizados no diretório tests do repositório.
Execute o teste local da versão de intérprete Python com o seguinte comando executado da raiz do repositório:
$ tox -e [PYTHON INTERPRETER VERSION]
Consulte a documentação tox para obter detalhes adicionais.
Realizamos testes de cobertura de teste de unidade com a ferramenta coverage . Consulte o alvo test-coverage Makefile para obter detalhes.
O PanOsifier é construído com a fantástica biblioteca Fonttools Python.
Licença Apache v2.0