fdiff est un outil de comparaison de ligne de commande Python pour l'évaluation des différences granulaires dans les données de la table OpenType entre les fichiers de police. L'outil fournit une prise en charge multiplateforme pour les difficultés de police locales et distantes sur les systèmes macOS, Windows et GNU / Linux avec un interprète Python V3.7 +.
Vous cherchez un aperçu de haut niveau des différences de table OpenType plutôt que des changements de niveau de bas niveau? Découvrez l'outil fbdiff de Van Rossum.
--include ou --exclude-l ou --lines--head--tail--external Exécutez fdiff --help pour afficher toutes les options disponibles.
fdiff nécessite un interprète Python 3.7+.
L'installation dans un environnement virtuel Python3 est recommandée.
Utilisez l'une des approches d'installation suivantes:
$ pip3 install fdiff
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install -r requirements.txt .
L'approche suivante installe le projet et les dépendances des développeurs facultatives associées, afin que les modifications de source soient disponibles sans avoir besoin de réinstallation.
$ 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 prend en charge les demandes GET de fichiers de polices distants accessibles au public. Remplacez les arguments de chemin de fichier par URL:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE URL]
fdiff travaille avec toute combinaison de fichiers de police locaux et distants. Par exemple, pour comparer un fichier de police de post local avec un fichier pré-police distant pour évaluer les modifications locales par rapport à un fichier de police qui a été précédemment poussé vers une district, utilisez la syntaxe suivante:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE FILE PATH]
Astuce : les services d'hébergement du référentiel GIT distant (comme GitHub) prennent en charge l'accès aux fichiers sur différentes branches GIT par URL. Utilisez ces URL de branche du référentiel pour comparer les polices sur les branches GIT dans votre référentiel.
Pour inclure uniquement les tables spécifiées dans votre diff, utilisez l'option --include avec une liste de table de table séparée:
$ fdiff --include head,post [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Pour exclure les tables spécifiées dans votre diff, utilisez l'option --exclude avec une liste de noms séparés par des virgules:
$ fdiff --exclude glyf,OS/2 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
N'incluez pas les espaces entre les valeurs de nom de table séparées par les virgules!
Pour modifier le nombre de lignes de contexte au-dessus / inférieures aux différences, utilisez l'option -l ou --lines lines avec une valeur entière pour le nombre de lignes souhaité. La commande suivante réduit les informations contextuelles à une seule ligne au-dessus et en dessous des lignes avec des différences:
$ fdiff -l 1 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Utilisez l'option --head suivie d'un entier pour le nombre de lignes au début de la sortie. Par exemple, la commande suivante affiche les 20 premières lignes du DIFF:
$ fdiff --head 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Utilisez l'option --tail suivie d'un entier pour le nombre de lignes à la fin de la sortie. Par exemple, la commande suivante affiche les 20 dernières lignes du DIFF:
$ fdiff --tail 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Veuillez noter : cette fonctionnalité n'a pas été testée sur toutes les plates-formes prises en charge. Veuillez signaler tout problème que vous rencontrez sur le tracker du problème du projet.
Par défaut, FDIFF effectue des diffs avec Python Source. Si vous rencontrez des problèmes de performances avec cette approche, vous pouvez utiliser des exécutables Diff compilés disponibles sur votre plate-forme. FDIFF videra les fichiers TTX et exécutera la commande que vous fournissez sur la ligne de commande en passant les chemins de fichier de vidage pré et post et publication en tant que premier et deuxième arguments positionnels à votre commande.
Par exemple, vous pouvez exécuter la commande diff -u sur GNU / Linux ou macOS comme ceci:
$ fdiff --external="diff -u" [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
FDIFF prend en charge la mise en forme des couleurs intégrée et le filtrage de la table OpenType lorsqu'il est utilisé avec des outils Diff externes. Les options de ligne de contexte, de tête et de queue ne sont pas prises en charge avec l'utilisation d'outils de DIFF externes.
Les différences colorées du code ANSI sont effectuées par défaut dans les environnements terminaux.
Pour afficher un DIFF sans codes d'échappement ANSI dans votre terminal, incluez l'option --nocolor dans votre commande:
$ fdiff --nocolor [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Utilisez fdiff -h pour afficher toutes les options disponibles.
Veuillez signaler les problèmes sur le tracker des problèmes de projet.
Les contributions sont chaleureusement les bienvenues. Un environnement de dépendance de développement peut être installé en mode modifiable avec la documentation d'installation du développeur ci-dessus.
Veuillez utiliser l'approche standard de la demande de traction GitHub pour proposer des modifications de source.
Les fichiers source Python sont linés avec flake8 . Voir l'objectif test-lint MakeFile pour plus de détails.
Le projet exécute des tests d'intégration continue sur le service GitHub Actions avec la chaîne d'outils pytest . Les modules de test sont situés dans le répertoire tests du référentiel.
Les tests locaux par la version interprète Python peuvent être effectués avec la commande suivante exécutée à partir de la racine du référentiel:
$ tox -e [PYTHON INTERPRETER VERSION]
Veuillez consulter la documentation tox pour plus de détails.
La couverture des tests unitaires est exécutée avec l'outil coverage . Voir l'objectif test-coverage MakeFile pour plus de détails.
fdiff est construit avec la fantastique bibliothèque de logiciels gratuits Fonttools et effectue des difficultés de texte de fichiers de police binaires à l'aide de vidanges du format de sérialisation de données de table TTX OpenType tel que défini dans la bibliothèque Fonttools.
Copyright 2019 Source Foundry Auteurs et contributeurs
Licencié sous la licence Apache, version 2.0 (la "licence"); Vous ne pouvez pas utiliser ce fichier sauf conforme à la licence. Vous pouvez obtenir une copie de la licence à
http://www.apache.org/licenses/license-2.0
Sauf exiger la loi applicable ou convenu par écrit, les logiciels distribués en vertu de la licence sont distribués sur une base «tel quel», sans garantie ni conditions d'aucune sorte, expresse ou implicite. Voir la licence pour la langue spécifique régissant les autorisations et les limitations sous la licence.