Fontista Control en ligne de commande
Fontista Control relit une fonte glyphe par glyphe et liaison par liaison. Tout ce qu'il mesure et tout ce que la revue contient se lit aussi sans fenêtre : un script, une chaîne de fabrication ou un assistant IA peut lancer la relecture, lire les résultats, corriger la fonte, puis recommencer.
Où est le programme
| Système | Commande |
|---|---|
| macOS | "/Applications/Fontista Control.app/Contents/MacOS/fontista-control" |
| Windows | fontista-control.exe, dans le dossier décompressé |
| Linux | ./fontista-control, dans le dossier décompressé (ou fontista-control après install.sh) |
fontista-control --help rappelle toutes les options. Les exemples ci-dessous écrivent fontista-control.
Les trois commandes sans fenêtre
fontista-control Ma-Fonte.ttf --glyphs-report=glyphes.tsv # relevé des glyphes
fontista-control Ma-Fonte.ttf --links-report=liaisons.tsv # relevé des liaisons (paires)
fontista-control Ma-Fonte.ttf --export=revue.json # revue de la passe en cours
fontista-control Ma-Fonte.ttf --links --export=revue-liaisons.json # revue des liaisons- La fonte :
.fontista,.glyphs,.glyphspackage,.ufo,.designspace,.ttf,.otf,.woff,.woff2. Plusieurs fichiers binaires d'une même famille (Regular.ttf Bold.ttf) deviennent les styles d'une seule fonte. Une fonte variable donne un style par instance nommée. -à la place du nom de fichier écrit sur la sortie standard :--glyphs-report=- | grep fix.--pass=Nlit une autre passe que la passe en cours ;--data=dossierlit les revues d'un autre dossier.- Ces commandes lisent la revue enregistrée, sans jamais la modifier ; elles ne touchent pas non plus aux réglages de l'application. Code de sortie : 0 si tout est écrit, 1 si la fonte est illisible ou le fichier impossible à écrire.
- Durée indicative : une seconde pour le relevé des glyphes d'une fonte variable de 12 000 glyphes ; une dizaine de secondes pour les 1 470 paires d'une fonte latine (la mise en forme passe par le moteur OpenType de Fontista).
Relevé des glyphes (--glyphs-report)
Texte tabulé (TSV, UTF-8), une ligne d'en-tête, puis une ligne par glyphe et par style, dans l'ordre de la fonte.
| Colonne | Contenu |
|---|---|
glyphe | nom du glyphe (a, a.ss01, uni0627.fina) |
car | caractère montré (le sien, sinon celui de sa base) |
code | codes Unicode, U+0061 (plusieurs séparés par une espace), vide pour un glyphe non codé |
groupe | catégorie de Control (Latin de base, Chiffres, Arabe…) |
style | nom du style (Regular, Bold, Italic…) |
chasse | avance horizontale, en unités de la fonte |
contours | nombre de contours |
xmin ymin xmax ymax | boîte du dessin, en unités de la fonte ; vides pour un glyphe sans dessin |
alerte | vide : caractère codé (hors espaces et caractères invisibles) sans aucun dessin ; styles : le nombre de contours change d'un style à l'autre (interpolation à vérifier) ; plusieurs alertes séparées par une espace |
statut | revue en cours : ok (validé), fix (à corriger), vide (pas encore vu) |
note | note de la revue (tabulations et retours à la ligne remplacés par des espaces) |
reperes | repères posés sur le dessin pour ce style : x;y;note, séparés par | |
Relevé des liaisons (--links-report)
Une ligne par paire et par style. Les paires sont celles de la vue Liaisons (touche L) : minuscules, capitales, accentuées, arabe, chacune composée par la fonte entre des lettres neutres, avec ses formes contextuelles.
| Colonne | Contenu |
|---|---|
paire | les deux caractères, a→n |
groupe | Liaisons : minuscules, Liaisons : capitales, Liaisons : accentuées, Liaisons : arabe |
style | nom du style |
glyphes | glyphes choisis par la fonte pour la paire, séparés par une espace (F.court h) |
touche | oui si les deux lettres se touchent, non, ou ligature (un seul glyphe) |
ecart | plus petite distance entre les deux lettres quand elles ne se touchent pas, en unités |
angle | angle le plus fort entre les deux contours là où ils se croisent, en degrés (0 : raccord tangent) |
noeud | bosse au raccord : hauteur@x;y (unités de la fonte) |
croisements | nombre de croisements visibles des deux contours |
suspecte | oui si la jonction mérite un regard : angle de plus de 30°, nœud de plus de 0,4 % du cadratin, ou écart dans un groupe dont les lettres se lient d'habitude |
ou | point du croisement le plus marqué, x;y |
statut note | revue des liaisons en cours, comme pour les glyphes |
Les coordonnées sont celles de la paire composée : l'origine est le point de départ de la première lettre, sur la ligne de base.
Revue exportée (--export, bouton Exporter)
JSON, le même que celui du bouton Exporter de l'application et de la version en ligne :
{
"police": "Chancelière",
"fichier": "Chanceliere-Italic.ttf",
"application": "Fontista Control 1.3.0",
"passe": 1,
"exporte": "2026-10-29T09:45:15Z",
"total": 258, "vus": 12, "valides": 11, "a_corriger": 1,
"position": "g",
"liste_a_corriger": [
{
"nom": "g", "car": "g", "code": "U+0067", "groupe": "Latin de base",
"note": "queue trop courte",
"reperes": [ { "x": 300.0, "y": -250.0, "style": "Italic", "note": "boucle trop ouverte" } ]
}
],
"statuts": { "a": "ok", "g": "fix" }
}statuts: chaque élément vu,okoufix. Ce qui n'y figure pas n'a pas encore été vu.liste_a_corriger: les élémentsfix, avec la note et les repères (position en unités de la fonte, style s'il y en a plusieurs).- Revue des liaisons :
"liaisons": true,nomest la paire (a→n), et chaque élément porte aussiglyphes(les glyphes choisis par la fonte) etmesure(raccord 34°,écart 12…).
Importer
Un fichier au même format s'importe dans la passe en cours : menu Revue › Importer, glisser le fichier sur la fenêtre, ou fontista-control Ma-Fonte.ttf --import=revue.json. Seuls statuts et, pour les éléments fix, la note et les repères de liste_a_corriger sont lus. Un script ou une IA peut donc préparer une liste (« ces douze glyphes me semblent trop gras ») que l'on relit ensuite dans Control.
Passes
La première passe couvre toute la fonte. Une nouvelle passe (bouton Nouvelle passe) ne reprend que les éléments marqués fix, à côté de leur version d'avant : on corrige, on enregistre (Control recharge la fonte tout seul), on ouvre une passe, on ne revoit que ce qui a changé. Les revues sont rangées dans le dossier de l'application :
| Système | Dossier |
|---|---|
| macOS | ~/Library/Application Support/Fontista Control/revues/ |
| Windows | %APPDATA%\Fontista Control\revues\ |
| Linux | ~/.local/share/Fontista Control/revues/ |
Leur format interne peut changer d'une version à l'autre : pour un script, passer par l'export et l'import.
Boucle type avec un script ou une IA
# 1. relire : les glyphes à corriger et les alertes
fontista-control Ma-Fonte.ttf --glyphs-report=- | awk -F'\t' 'NR>1 && ($12!="" || $13=="fix")'
# 2. les liaisons suspectes
fontista-control Ma-Fonte.ttf --links-report=- | awk -F'\t' '$10=="oui"'
# 3. corriger la source (Fontista, script Lua, fontmake…), recompiler, recommencerPour un assistant IA (Claude, par exemple) : lui donner l'export JSON de la revue et le relevé, lui demander de corriger la source, puis relancer les relevés pour vérifier. Les repères situent chaque défaut en unités de la fonte, ce qui suffit à retrouver le nœud ou le segment en cause.
Avec Fontista
- Dans Control, « Modifier dans Fontista » (touche E) ouvre le glyphe montré, ou les deux lettres d'une paire, dans la vue Édition de Fontista. Une source (
.fontista,.glyphs,.ufo…) s'y ouvre au besoin ; une fonte compilée (TTF, OTF) y retrouve sa source déjà ouverte par le nom de famille. - Dans Fontista, Fichier › Relire dans Fontista Control (⌘⇧C, Ctrl+Maj+C) enregistre la fonte et l'ouvre dans Control sur le glyphe en cours. Control suit ensuite chaque enregistrement.
- Sous macOS, un script peut faire de même avec une adresse :
open "fontista://glyphes?fichier=/chemin/Ma-Fonte.fontista&noms=a%20n"(Fontista) ouopen "fontista-control://glyphes?fichier=/chemin/Ma-Fonte.ttf&noms=g"(Control). Paramètres, encodés comme dans une URL :fichier,famille,noms(noms de glyphes séparés par des espaces),codes(codes Unicode en hexadécimal, même ordre, quand les noms diffèrent entre la source et la fonte compilée).