Charger une typographie dans Processing

La fonction text() emploie une typo par défaut, mais il est évidemment possible de charger une typographie présente dans votre système pour l’afficher dans un script.

Précédent | 2/15 | Suivant

Utiliser createFont()

Les deux méthodes principales pour charger une typographie dans un script sont loadFont() et createFont(). On va directement oublier loadFont() qui est une "vieille" méthode, peu intéressante pour nous.

createFont() permet de charger une typo en provenance du sytème, en donnant juste son nom. Mais ce nom est le nom "technique" de la fonte, telle que le système la reconnais. Ce n’est pas le même, souvent, que le nom que vous voyez apparaitre dans un logiciel comme word.
Pour connaître ce nom, il y a une méthode simple, un script tout prêt qui accompagne la documentation de la fonction createFont().

PFont myFont;

void setup() {
 size(200, 200);
 // Uncomment the following two lines to see the available fonts
 String[] fontList = PFont.list();
 printArray(fontList);
 myFont = createFont("Georgia", 32);
 textFont(myFont);
 textAlign(CENTER, CENTER);
 text("!@#$%", width/2, height/2);
}

Attention : comme le code l’indique, il faut "décommenter" deux lignes du code, comme c’est fait dans le script ci-dessus.

Une fois lancé, le script affiche dans la console du logiciel la liste des polices disponibles. Il suffit de récupérer le nom de la police désirée.

Déclarer, charger puis utiliser la police

Pour utiliser la police, on passe par trois étapes que voici

// 1) créer un variable de type PFont
PFont unepolice;
void setup(){
 size(600,300);
 // 2) charger la fonte dans la variable
 unepolice=createFont("Montserrat-Bold",24);
}
void draw(){
 background(255);
 fill(0);
 // 3) utiliser cette police pour la suite du script
 textFont(unepolice,24);
 text("un texte avec ma typo en taille 24",30,50);
 // changer la taille quand c'est nécessaire
 textFont(unepolice,64);
 textLeading(72); // interlignage
 text("un texte avec\nma typo\nen taille 64",30,120);
}

Attention, ce code ne marche que si la typo Montserrat est disponible sur votre ordinateur. Vous pouvez la trouver ici.