Petit rappel sur image_typo
Le filtre image_typo est très pratique, il permet de créer une image à partir de texte. Historiquement, les navigateurs ne peuvent afficher les caractères typographiques que des fontes qui sont présentes sur l’ordinateur du visiteur du site, image_typo permet de contourner cette limitation.
La spécification CSS3 @font-face permettra de spécifier la source d’un fichier TTF [1], cependant à l’heure actuelle, très peu de navigateurs disposent de cette fonctionnalité.
Ainsi, en ajoutant ce code dans votre squelette
[(#VAL{"Bonjour"}|image_typo{police=dustissimo.ttf,taille=29,couleur=ff99cc})]
Vous produirez cette image
De même, en spécifiant par exemple
[(#TITRE|image_typo{police=garamond.ttf,taille=29,couleur=cccccc})]
vous créerez automatiquement une image de la bonne couleur et de la bonne police tant soi peu que vous ayez placé le fichier garamont.ttf dans votre dossier /squelettes/polices
Comment ça se passe ?
SPIP envoie le #TITRE à la librairie GD (librairie graphique de PHP) et si celle-ci a été compilée avec ’—enable-gd-native-ttf’ (ce qui est presque toujours le cas), le script va générer une image au format PNG avec les bonnes instructions de texte, de couleur, de taille et de typographie.
Cette image va être insérée dans le code HTML généré par SPIP. Si vous n’avez pas tout compris, ce n’est pas grave.
Le problème de plateforme
Bien que cela ne présente pas de problème majeur, il est important de noter que les rendus diffèrent souvent selon la plate-forme sur-lesquels ils sont effectués.
- Fig1. La version de travail
- Fig2. La version en ligne
- Fig3. Une superposition des deux versions pour mieux voir les différences.
Quand vous travaillez sur les squelettes de votre site, vous travaillez normalement sur votre ordinateur et vous accédez à votre site SPIP par une adresse locale [2] comme vous êtes sous Mac, Windows (et plus rarement Linux), le rendu des typographies est fait par votre système d’exploitation.
Quand vous publiez en ligne, les rendus des images générées par image_typo dépendent alors du système d’exploitation du serveur, c’est la plupart du temps basé sur FreeBSD ou Linux CentOs, du coups les images vont très certainement différer.
Par conséquent, alors que sur votre ordinateur le rendu est propre, les typographies sont joliement lissées, ça vous plaît...
Le rendu une fois envoyé sur le serveur peut être catastrophique
Solutions
Il n’y a pas vraiment de solution miracle, cependant je peux vous conseiller 3 astuces :
- Agrandir : les problèmes de lissage ne posent véritablement problème que dans le cas où les textes sont écrits tout petit, en grossissant votre texte, les problèmes seront minimes.
- Utiliser des images fixes : s’il s’agit de rubriques, les textes des rubriques vont-ils vraiment changer ? pouvez-vous envisager de les passer en images statiques (ou en logo de rubriques).
- Attendre : peut être que la librairie GD sera améliorée ou que les navigateurs internet deviennent compatible avec CSS 3.
Discussions par date d’activité
3 discussions
Bonjour
Le filtre image_typo ne conserve pas les saut de ligne. Est-ce qu’il y a une astuce ?
Je souhaite générer une image avec le titre d’une rubrique à la verticale, est-ce possible ?
Merci de votre aide
Essayer \n (fin de ligne Unix) ?
Répondre à ce message
Bonjour,
merci pour cette fonctionnalité très intéressante.
Si j’ai bien compris, le fait que je travaille sous Linux et que mon hébergeur soit lui aussi sous Linux, évite le problème ?
Répondre à ce message
dans les solutions, je citerais le filtre image_reduire_par qui, pour certaines typos, nous fournit un crénelage parfois convenable en « floutant » légèrement les textes trop petits.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |