Destroy fonts and make ttf
PHP Pure Data CSS Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
PureData
SVGtoTTF
SpecimenBook
Specimens
LICENSE
README.md

README.md

NikeLaPolice

Destroy fonts and make ttf.
Un projet de Lucas Lejeune & Étienne Ozeray.
Voir les specimens des fontes générées : http://etienneozeray.fr/svg2ttf/specimens

1 --> PureData permet de déformer la fonte (ici Terminus) à partir d'un flux vidéo.
Voir les commentaires dans le fichier patch1.pd
Lancer ensuite l'exportation de chaque lettre en format tiff

2 --> Préparation des fichier pour les convertir en ttf
Utilisation du php pour créer un fichier svg font contenant chaque caractère qui est ensuite converti en ttf via l'api de Online Font Converter.
Le dossier de svg doit comporter, dans l'ordre, les lettres suivantes :
Capitales --> 'A', 'À', 'Æ', 'B', 'C', 'D', 'E', 'É', 'È', 'Ê', 'Ë', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'Ô', 'Ö', 'Œ', 'P', 'Q', 'R', 'S', 'T', 'U', 'Ù', 'Û', 'Ü', 'V', 'W', 'X', 'Y', 'Z'
Bas-de-casse --> 'a', 'à', 'æ', 'b', 'c', 'ç', 'd', 'e', 'é', 'è', 'ê', 'ë', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'ô', 'ö', 'œ', 'p', 'q', 'r', 's', 't', 'u', 'ù', 'û', 'ü', 'v', 'w', 'x', 'y', 'z'
Chiffres --> '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
Ponctuation --> '-', ',', ';', '!', '?', ''', '«', '»', '(', ')', '[', ']', '{', '}', '@', '*', '&', '#', '%', '+', '±', '=', '$', ':', '.', '/'
Si une lettre est manquante, la remplacer par un svg dont l'attribut 'd' de la balise <path> est vide. Chaque svg ne doit comporter qu'une balise <path> comprenant un attribut 'd' contenant l'ensemble des points. Ils doivent aussi être inversés verticalement et renommés de 1.svg à 26.svg. Enfin, compresser dans un .zip l'ensemble des svg (pas le dossier). À partir de fichiers tiff, il est possible d'automatiser le processus via le terminal (sous macOS ou Linux) :
Installer ImageMagick et Autotrace puis dans le terminal, taper :

# 1 -> aller dans le dossier
cd chemin/vers/le/dossier
# 2 -> flip les images
mogrify -flip  *.tif
# 3 -> Vectoriser le dossier entier
# 3.a -> Pour des images comprenant des courbes :
for i in .tif ; do
autotrace 
-background-color=FFFFFF
-color-count 2
"$i" -output-file="${i%.
}.svg" ; done # 3.b -> Pour des images sans courbes : for i in .tif ; do autotrace
-background-color=FFFFFF
-corner-threshold 360
-color-count 2
"$i" -output-file="${i%.
}.svg" ; done # 4 -> Renommer le dossier entier de 1.svg à 26.svg a=1 for i in *.svg; do new=$(printf "%2d.svg" ${a}) mv ${i} ${new} let a=a+1 done # 5 -> Créer un zip : zip svg.zip *.svg


3 --> Utiliser ensuite le formulaire de index.php
Une version en ligne est disponible à l'adresse http://etienneozeray.fr/svg2ttf

4 --> (optionnel) Les fichiers ttf pouvant peser très lourds, utiliser le script python Simplify de FontForge pour supprimer les points vectoriels en trop.

To do :

• Inverser et centrer les glyphes, voir screenshot 3. (une solution temporaire est utilisée en inversant les svg en amont) ;
• Empecher de nommer la fonte avec un nom existant (pour l'archivage) ;
• Se passer de l'API parfois defectueuse en utilisant les scripts python de FontForge ;
• Prendre en charge les autres formats de compression ;
• Prendre en charge les alphabets incomplets ;
• Prendre en charge les fontes à chasse variable ;

Specimen

specimen

License

NikeLaPolice is under The Artistic License 2.0 for the whole project. The tool SVG2TTF is under GNU GPL V3 License. Here is his own Git.