fdiff é uma ferramenta de comparação de linha de comando Python para avaliação de diferenças granulares nos dados da tabela OpenType entre os arquivos de fontes. A ferramenta fornece suporte de plataforma cruzada para sistemas de fonte local e remota em sistemas MacOS, Windows e GNU/Linux com um intérprete Python v3.7+.
Procurando uma visão geral de alto nível das diferenças de tabela OpenType, em vez de alterações de baixo nível? Confira apenas a ferramenta fbdiff de Van Rossum.
--include ou --exclude-l ou --lines--head--tail--external Execute fdiff --help para visualizar todas as opções disponíveis.
fdiff requer um intérprete Python 3.7+.
Recomenda -se a instalação em um ambiente virtual do Python3.
Use qualquer uma das seguintes abordagens de instalação:
$ pip3 install fdiff
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ 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/fdiff.git
$ cd fdiff
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
$ fdiff [OPTIONS] [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
fdiff suporta solicitações de obter arquivos de fonte remota acessíveis ao público. Substitua os argumentos do caminho do arquivo por URL:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE URL]
fdiff trabalha com qualquer combinação de arquivos de fonte local e remoto. Por exemplo, para comparar um arquivo de fonte postal local com um arquivo pré -fonte remoto para avaliar as alterações locais em relação a um arquivo de fonte que foi previamente empurrado para um controle remoto, use a seguinte sintaxe:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE FILE PATH]
Dica : Serviços de hospedagem de repositório Git Remote (como o GitHub) Apoie o acesso a arquivos em diferentes ramificações Git pela URL. Use esses URL de ramificação do repositório para comparar fontes nos ramos Git em seu repositório.
Para incluir apenas tabelas especificadas em seu diferencial, use a opção --include com uma lista separada por vírgula de nomes de tabela:
$ fdiff --include head,post [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Para excluir tabelas especificadas em seu diferencial, use a opção --exclude com uma lista separada por vírgula de nomes de tabela:
$ fdiff --exclude glyf,OS/2 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Não inclua espaços entre os valores de nome da tabela separados por vírgula!
Para alterar o número de linhas de contexto acima/abaixo das linhas que têm diferenças, use a opção -l ou --lines com um valor inteiro para o número desejado de linhas. O comando a seguir reduz as informações contextuais para uma única linha acima e abaixo das linhas com diferenças:
$ fdiff -l 1 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Use a opção --head seguida de um número inteiro para o número de linhas no início da saída. Por exemplo, o comando a seguir exibe as 20 primeiras linhas do diferencial:
$ fdiff --head 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Use a opção --tail seguida de um número inteiro para o número de linhas no final da saída. Por exemplo, o comando a seguir exibe as últimas 20 linhas do diferencial:
$ fdiff --tail 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Observação : esse recurso não foi testado em todas as plataformas suportadas. Por favor, relate todos os problemas que você encontrar no rastreador de edição do projeto.
Por padrão, o FDIFF realiza diferenças com a fonte Python. Se você tiver problemas de desempenho com essa abordagem, poderá usar executáveis diff compilados disponíveis em sua plataforma. O FDIFF despejará os arquivos TTX e executará o comando que você fornece na linha de comando que passa no arquivo de arquivo de despejo TTX PRE e POST POST como os primeiros e os segundos argumentos posicionais ao seu comando.
Por exemplo, você pode executar o comando diff -u em gnu/linux ou macOS como este:
$ fdiff --external="diff -u" [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
O FDIFF suporta formatação de cores embutidas e filtragem de tabela OpenType quando usada com ferramentas Diff externas. As opções de linha de contexto, cabeça e cauda não são suportadas com o uso de ferramentas de diferença externa.
Os diferenciais coloridos do código de escape ANSI são realizados por padrão em ambientes de terminal.
Para visualizar um diferencial sem os códigos de escape do ANSI no seu terminal, inclua a opção --nocolor em seu comando:
$ fdiff --nocolor [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Use fdiff -h para visualizar todas as opções disponíveis.
Por favor, relate questões sobre o rastreador de problemas do projeto.
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.
Os arquivos de origem do Python são flake8 . Consulte o alvo de test-lint makefile para obter detalhes.
O projeto executa testes contínuos de integração 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.
Os testes locais da versão de intérprete Python podem ser realizados com o seguinte comando executado a partir da raiz do repositório:
$ tox -e [PYTHON INTERPRETER VERSION]
Consulte a documentação tox para obter detalhes adicionais.
A cobertura do teste de unidade é executada com a ferramenta coverage . Consulte o alvo test-coverage Makefile para obter detalhes.
fdiff é construído com a biblioteca de software gratuita Fantastic Fonttools e executa diferentes diferenças de arquivos de fonte binária usando despejos do formato de serialização de dados da tabela OpenType TTX, conforme definido na biblioteca Fonttools.
Copyright 2019 Source Foundry Authors and Contribuidores
Licenciado sob a licença Apache, versão 2.0 (a "licença"); Você não pode usar esse arquivo, exceto em conformidade com a licença. Você pode obter uma cópia da licença em
http://www.apache.org/license/license-2.0
A menos que exigido pela lei aplicável ou acordada por escrito, o software distribuído pela licença é distribuído "como está", sem garantias ou condições de qualquer tipo, expressa ou implícita. Consulte a licença para o idioma específico que rege as permissões e limitações sob a licença.