Images typographiques

Titres graphiques avec la police de son choix

Avec GD2 installé sur votre site, SPIP peut fabriquer, de lui-même, des images à partir de titres (ou tout élément de la base de donnée) en utilisant une police de caractères de votre choix.

La fonction qui réalise cet effet est image_typo. La présente page va vous présenter les différentes variables que l’on peut utiliser avec cette fonction.

[(#TITRE|image_typo)]

Si vous ne précisez aucune variable, image_typo va utiliser la police par défaut fournie avec SPIP : Dustismo, une police GPL de Dustin Norlander.
Elle figure dans le sous-dossier polices du dossier
dist ou squelettes-dist pour SPIP 2 (dans les versions précédentes de SPIP, il s’agissait du dossier ecrire).

police

Vous pouvez préciser le nom d’une autre police, que vous aurez pris soin d’installer sur votre site.

[(#TITRE|image_typo{police=dustismo_bold.ttf})]

(Dustismo-bold est également livré avec SPIP.)

En théorie, vous pouvez utiliser de nombreux formats de police : TrueType, PostScript Type 1, OpenType... Selon la configuration de votre site, il est possible que certains formats ne soient pas acceptés.

Les polices doivent être installées dans un sous-dossier /polices du dossier contenant vos squelettes.

Si nous installons, par exemple, un fichier TrueType ainsi :
polices/stencil.ttf
il est possible d’utiliser cette nouvelle police [1].

[(#TITRE|image_typo{police=stencil.ttf})]

taille

On peut préciser la taille d’affichage de la police. Cela s’utilise avec la variable taille.

[(#TITRE|image_typo{police=stencil.ttf,taille=36})]

Note : on ne précise pas « 36pt », on indique seulement « 36 », sans indication de l’unité.

couleur

Cette variable permet d’indiquer la couleur. Par défaut, le rendu est noir. Cette variable est une couleur RVB hexadécimale, toujours de la forme « 3399BB ». Notez : on omet le « # » qui précède habituellement ce type de code couleur.

[(#TITRE|image_typo{police=stencil.ttf,taille=36,couleur=4433bb})]

largeur

La variable largeur permet de fixer la largeur maximale de l’image. Notez bien : c’est une valeur maximale ; l’image réelle est « recadrée » automatiquement, ensuite, pour adopter les dimensions du texte réellement composé.

Le premier pavé ci-dessous est composé avec une largeur maximale de 300 pixels, le second avec une largeur de 400 pixels.

[(#TITRE|image_typo{police=stencil.ttf,largeur=300})]
[(#TITRE|image_typo{police=stencil.ttf,largeur=400})]

align

La variable align permet de forcer l’alignement de plusieurs lignes de texte (lorsque c’est le cas) à gauche, droite, ou au centre. Exceptionnellement, on utilise ici une syntaxe anglaise, proche de ce qui se fait pour les feuilles de style.

[(#TITRE|image_typo{police=stencil.ttf,align=left})]
[(#TITRE|image_typo{police=stencil.ttf,align=center})]
[(#TITRE|image_typo{police=stencil.ttf,align=right})]

hauteur_ligne

hauteur_ligne permet de fixer la hauteur entre chaque ligne de texte (dans le cas où l’image comporte plusieurs lignes).

[(#TITRE|image_typo{police=stencil.ttf,taille=36,hauteur_ligne=80})]

padding

Certaines polices « dépassent » de leur boîte de rendu, et on obtient un effet désastreux (polices « coupées »). La variable padding permet, exceptionnellement, de forcer un espace supplémentaire autour du rendu typographique.

[(#TITRE|image_typo{police=stencil.ttf,padding=5})]

Filtrer l’image

Le résultat de image_typo étant une image, il est tout à fait possible de lui appliquer des filtres d’images. Par exemple, ci-après, on rend l’image semi-transparente, ou on lui applique une texture.

[(#TITRE|image_typo{police=stencil.ttf,couleur=aa2244}|image_alpha{60})]
[(#TITRE|image_typo{police=stencil.ttf,couleur=aa2244}|image_masque{carre-mur.png})]

Voir aussi

Les filtres

L’article sur le Traitement automatisé des images, détaillant également de nombreux autres filtres image.

Notes

[1Attention : si vous ne protégez pas ce dossier (avec un htaccess par exemple), votre fichier de police sera accessible par le Web. Si vous utilisez des polices commerciales, faites attention à ne pas vous retrouver, ainsi, à diffuser des polices pour lesquelles cela n’est pas autorisé.

N.B.1. L’image créée par image_typo est au format PNG 24 avec une couche alpha pour réaliser la transparence. Pour forcer Microsoft Explorer à afficher correctement cette transparence, SPIP utilise une classe de feuille de style spécifique, format_png, définie dans spip_style.css ; celle-ci appelle un « comportement » (behavior) rendant l’affichage possible sous MSIE. On a donc, encore une fois, tout intérêt à intégrer le spip_style.css standard dans ses propres squelettes, quitte à le surcharger avec ses propres styles.

N.B.2. L’affichage de certaines polices (notamment les anglaises et certaines italiques) est problématique. Les techniques de rendu typographique dans GD2 sont, visiblement, encore en développement (nous rencontrons bugs sur bugs de ce côté). Espérons que les fonctions GD2 progresseront rapidement.

N.B.3. De l’arabe, du farsi, de l’hébreu ?
Depuis SPIP 2.0 c’est possible !

Auteur ARNO* Publié le : Mis à jour : 10/07/23

Traductions : català, English, Español, français, italiano, Nederlands