La police est une boîte à outils pour générer des polices et des outils pour un flux de travail collaboratif.
Développé à la Ligue de type mobile avec les besoins des projets de polices open source à l'esprit, la police automatise le processus de transformation de vos sources de conception en fichiers de police prêts à la production et de les regrouper pour la publication. Oui, vous pouvez prendre toutes les mêmes étapes manuellement. Oui, vous pouvez écrire vos propres scripts pour faire le même travail. Ce que la police apporte à la table est un paquet complet de tous les outils dont vous avez besoin pour rassembler avec la plupart des bits câblés.
Un bâtiment des polices provenant de sources est entièrement automatisé, les constructions automatiques à partir des versions CI et de publication sont à un petit pas. En prime, tout est soigneusement organisé pour rendre la collaboration à distance asynchrone via des systèmes de contrôle de version (tels que GIT) aussi faciles que possible. Les concepteurs n'ont même pas besoin d'utiliser les mêmes outils de conception!
Presque tous les aspects des étapes de construction et du flux de travail peuvent être modifiés sur une base par projet, mais les paramètres de la boîte devraient fonctionner pour construire la plupart des projets de police.
La police peut être utilisée de trois manières différentes:
Remarque: Une quatrième méthode prise en charge via V0.5.0, l'inclusion directe des fichiers de règle de Fondship dans le fichier de make de votre projet, a été obsolète. Selon votre projet, une telle utilisation peut continuer à fonctionner avec des limites pour le moment, mais les nouvelles fonctionnalités ajoutées à la CLI seront supposées dans les règles à l'avenir.
Construisez vos polices sans installer ou exécuter quoi que ce soit localement! Il suffit de pousser vos sources vers un référentiel git distant et de laisser faire le reste.
Pour une utilisation avec les actions GitHub, ajoutez un fichier de configuration à votre référentiel tel que .github/workflows/fontship.yml :
name : Fontship
on : [push, pull_request]
jobs :
fontship :
runs-on : ubuntu-latest
name : Fontship
steps :
- name : Checkout
uses : actions/checkout@v2
with :
fetch-depth : 0
- name : Fetch tags
run : git fetch --prune --tags
- name : Fontship
uses : theleagueof/fontship@latestÀ l'heure actuelle, la police ne fait que les polices dans le répertoire de projet actuel, il ne les publie nulle part. Vous devrez publier les artefacts résultants par (par exemple en les attachant à chaque exécution de CI ou en les publiant sur les versions) comme une autre étape du flux de travail de votre projet. Pour un exemple de travail complet, voir les flux de travail de la Ligue Spartan ou de Libertinus.
D'autres coureurs CI pourraient facilement être pris en charge, voir le numéro 32 pour plus de détails ou pour demander des exemples de configurations pour votre favori.
Les images docker prédéfinies sont disponibles auprès des packages Docker Hub, GitHub, ou vous pouvez les construire vous-même.
Le moyen le plus simple d'instancier un conteneur Docker avec tous les bons arguments est de définir un alias (qui peut être ajouté au fichier RC de votre shell pour le persister):
En utilisant Docker Hub comme exemple, un alias pourrait être:
$ alias fontship= ' docker run -it --volume "$(pwd):/data" --user "$(id -u):$(id -g)" theleagueof/fontship:latest ' Docker tirera automatiquement les conteneurs dont il a besoin pour l'exécuter la première fois que vous l'utilisez, après quoi il n'utilisera que son cache de conteneur local. Pour sauter le téléchargement sans faire fontship ou pour mettre à jour manuellement votre cache plus tard (par exemple, lorsque le dernier est mis à jour vers une nouvelle version), utilisez docker pull theleagueof/fontship:latest .
Vous pouvez remplacer les dernières personnes (qui seront toujours la dernière étiquette de version publiée) avec Master pour utiliser la version la plus fraîche inédite, avec un nom de balise tel que V0.3.2 pour utiliser explicitement une version spécifique, ou avec la tête pour utiliser une image construite localement.
Pour construire une image Docker localement, vous voudrez cloner ce référentiel et exécuter ./bootstrap.sh ou télécharger et extraire les sources à partir d'une version, puis exécuter:
$ ./configure
$ make dockerSi vous utilisez Arch Linux, vous pouvez installer ce package AUR (prédéfini dans ce référentiel).
Sinon, pour installer et utiliser localement à partir de la source, vous aurez besoin de certaines dépendances:
diffutils , bsdtar , entr , zsh ,make (4.2+) avec des outils AutoConf correspondants,cargo et rustc pour construire la CLI,sfnt2woff-zopfli , psautohint , ttfautohint et woff2_compress . Pour installer le logiciel sur votre ordinateur, clone ce référentiel et exécuter ./bootstrap.sh ou télécharger et extraire la dernière version, puis exécuter:
$ ./configure
$ make
$ sudo make installPour construire tous les formats possibles pour votre projet de police, exécutez
$ fontship make allPour générer uniquement un format spécifique, essayez:
# Just static OTF fonts
$ fontship make otf
# All static formats
$ fontship make static
# All variable formats
$ fontship make variable
# Just variable TTF format
$ fontship make variable-ttfSi vous êtes uniquement intéressé par un fichier spécifique (par exemple, une instance de poids statique), vous pouvez spécifier le nom de fichier exact que vous attendez d'obtenir la reconstruction la plus rapide possible de ce fichier:
$ fontship make FooBar-Black.otfLorsque tout est prêt ou que vous souhaitez réellement expédier une police (ou envoyer un échantillon à un ami), vous voudrez construire le forfait de distribution:
$ fontship make dist Le paramètre de version de police dans toutes les polices générées est déterminée par la balise du référentiel GIT. Les balises de version doivent être conformes au format MAJOR.MINOR décrit par OpenFV.