Freefont,TrueType et Patterns dans Gimp

ArticleCategory:

Graphics

AuthorImage:

[Photo de l'auteur]

TranslationInfo:

Original in fr André Pascual

AboutTheAuthor:

Dessinateur industriel d'origine,maintenant professeur de productique,il enseigne la CAO.
L'infographie,principalement 3D,est l'une de ses passions.


Abstract:

Les tutoriaux "Pseudo 3D" et "Effets de feu" m'ont valu beaucoup de courriers suscit�s,pour la plus grande partie,par la difficult� � r�aliser les exercices propos�s. En fait,Il ne s'agissait de difficult�s que pour l'utilisateur d�butant. Le linuxien exp�riment� n'est pas arr�t� par une police ou un "pattern" manquant: il a t�t fait d'installer des polices,ou de retrouver un chemin de sauvegarde,ce qui n'�tait pas le cas de mes correspondants. Tout le monde a �t� d�butant,et qui ne le reste pas dans un domaine ou un autre en utilisant Linux ? Aussi,cet article s'adresse-t'il aux d�butants,quand bien m�me les puristes seraient-ils offusqu�s par les m�thodes d�crites.


ArticleIllustration:

[Illustration]

ArticleBody:

Pr�liminaires

La Mandrake 8.0 et Gimp 1.2.1 servent de r�f�rence � cet article. Arborescence, r�pertoires ou menus d�crits peuvent donc diff�rer selon les versions de produits utilis�s. Sans doute une adaptation � des configurations sp�cifiques est-elle � pr�voir.
Pour parler des caract�res d'imprimerie, on dira indiff�remment polices ou fontes.
Pour parler des motifs de remplissage, on dira tout aussi indiff�remment motifs ou patterns.
Lorsque l'on parlera de Xfree86, faisant fi de l'appellation officielle, on dira X.
Lorsque l'on en appellera � Midnight Commander, qui autorise la gestion de fichiers sans n�cessit� de conna�tre les fonctions de base de Linux et leur pl�thore d"options,on dira MC. Tout utilisateur de Norton Commander et Xtree Gold sous Dos, ou de WinCommander sous Windows, se retrouvera en terrain connu. Jusqu'aux touches de fonction qui ont re�u la m�me affectation dans MC que dans WinCommander! Soyons donc pragmatiques. Sans doute vaut-il mieux faire balourd et fonctionnel que sophistiqu� et inop�rant!

Installer les Freefont et les Sharefont

Les scripts-fu utilisent par d�faut des polices que les diff�rentes distributions n'installent pas toujours automatiquement. Ces polices sont r�parties dans deux paquetages: Freefont et Sharefont. L'un est libre, l'autre est distribu� selon le principe du shareware, mais tous deux sont fort int�ressants. Ils apportent sans conteste une plus-value � X en soignant sa pr�sentation.



[Figure 1]


Ces deux paquetages sont disponibles en archives .tgz aupr�s de Christoph Lameter � l'adresse suivante: Christoph Lameter.
Plusieurs sites les proposent (par exemple http://ibiblio.org/pub/Linux/X11/fonts/, ibiblio se nommait � l'origine metalab ou sunsite) Plusieurs distributions les proposent dans un r�pertoire /Contrib, de m�me que des c�d�roms de couverture de magazines informatiques. Ainsi Linux Magazine 9 les proposent dans le r�pertoire /Gimp/fonts de son CD d'accompagnement.
Supposons que l'on dispose de ce c�d�rom et que l'on soit en mode console (mode texte donc). Proc�der alors comme suit:

Si cette option n'est pas dans le menu, sortir de MC (F10), le curseur �tant positionn� sur la fen�tre pointant les fichiers copi�s. Si l'on a pris la peine d'ajouter la ligne suivante dans .bashrc :
mc () MC=`/usr/bin/mc -P "$@"`; [ -n "$MC" ] && cd "$MC"; unset MC ;
on se retrouve dans le r�pertoire point�. Sinon, s'y rendre par
cd /usr/X11R6/lib/X11/fonts
et lancer la commande de d�compression:
tar xvfz *.tgz

On obtiendra alors deux nouveaux r�pertoires, l'un appel�: freefont et l'autre appel�: sharefont. Les fichiers compress�s .tgz peuvent �tre effac�s maintenant.
Freefont contient 79 polices, presque toutes utilisables, et sharefont contient 22 polices.



[Figure 2]


Chaque r�pertoire contient en outre un fichier sp�cial et obligatoire appel� fonts.dir, qui d�crit pour X les caract�ristiques des polices contenues dans ce r�pertoire. Point n'est besoin donc d'ex�cuter la commande mkfontdir pour g�n�rer ce fichier.
Les polices seront prises en comptes par X au prochain lancement de celui-ci � condition qu'on lui indique qu'il doit les utiliser. Pour cela, il convient d'ajouter dans /etc/X11/XF86Config, � la section " Files" les lignes suivantes:
FontPath "/usr/X11R6/lib/X11/fonts/freefont"
FontPath "/usr/X11R6/lib/X11/fonts/sharefont"
Toutefois, dans Mandrake 8.0 un serveur de polices est utilis�. Pour ajouter les polices au chemin du serveur, ex�cutez l'utilitaire chkfontpath :

chkfontpath --add /usr/X11R6/lib/X11/fonts/freefont/
chkfontpath --add /usr/X11R6/lib/X11/fonts/sharefont/
Red�marrez le serveur de polices :

/etc/rc.d/init.d/xfs restart

Si l'on est en session graphique, et non en mode console, la manipulation ci-dessus reste valable � ceci pr�s qu'elle s'effectuera dans un terminal (rxvt, kvt, wmterm...). Mais les polices ne seront pas imm�diatement prises en compte; elles ne le seront que lors du red�marrage de X, ou bien si l'on ex�cute dans le terminal encore ouvert les commandes suivantes:
xset fp+ /usr/X11R6/lib/X11/fonts/freefont
xset fp rehash
xset fp+ /usr/X11R6/lib/X11/fonts/sharefont
Xset fp rehash

R�sultats

On verifiera que les polices sont prises en charge en ex�cutant
xlsfonts | egrep 'sharefont|freefont'
ou en lan�ant xfontsel, ou mieux, parce que moins rustique, gtkfontsel ou tout simplement le gestionnaire de polices de KDE.
Les polices sont alors utilisables par toute (pas vraiment) application X.
Ces polices peuvent �tre regroup�es dans un tableau, comme dans cet article, en utilisant Gimp avec la commande:
xtns> Script-Fu> Utils> Font Map.
Attention: outil impitoyable. La moindre erreur lors de l'entr�e d'un nom de police vous refoulera sans piti� avec obligation de tout recommencer. Le mieux est d'op�rer avec le gestionnaire de police de KDE ouvert en m�me temps que Gimp, parce qu'il indiquera le nom correct de la fonte tout en la visualisant dans le champ �chantillon. La figure3 montre certaines de ces polices, utiles pour cr�er des logos fantaisistes ou cr�er des lettrines.



[Figure 3]


Utiliser des polices True Type

Les polices que l'on vient d'installer sont int�ressantes, mais qui n'a pas sur son disque dur une partition Windows et sa cohorte de fontes True Type de fort belle facture? Il est donc l�gitime de vouloir les utiliser.
Si vous n'avez pas Windows vous pouvez t�l�charger des polices TrueType � partir de diff�rents sites web, tels que http://hugemcgriffin.com/fonts/a/, http://www.fontguy.com/, http://www.freepcfonts.com/index.html, ... Elles s'utilisent sans probl�me.
Les derni�res distributions de Linux, et celles � venir encore plus, pr�voient naturellement leur emploi. Il n'en est pas de m�me sur une distribution plus ancienne, comme la Mandrake 5.3.
Cependant, au moins une solution existe. Il s'agit d'un serveur appel� Xfstt (un simple fichier ex�cutable de 130 Ko apr�s compilation) disponible,entre autres, � l'adresse suivante: ftp://sunsite.unc.edu/pub/Linux/X11/fonts/.

Il s'agit d'une archive appel�e Xfstt-0.9.10.tgz de 80 Ko. Le num�ro de version indique que le programme n'est pas encore finalis�, mais il fonctionne sans gros probl�mes.
Avant compilation, il faut pr�parer le terrain en cr�ant un r�pertoire destin� � recevoir des fontes TrueType, tel que /usr/ttfonts (mkdir /usr/ttfonts ou F7 dans MC). Ensuite, il faut copier dans ce r�pertoire les polices � utiliser, ou cr�er un lien symbolique (Dans MC, F9, File puis SymLink) pointant vers le r�pertoire Fonts de Windows. Dans ma configuration, /usr/ttfonts contient le lien ~winfonts pointant vers /mnt/Win98/windows/fonts, �tant entendu que /mnt/Win98 est le point de montage de ma partition Windows.
La compilation du programme peut alors commencer; � cet effet, se rendre dans /tmp/xfstt0910 cr�� lors de la d�compression de l'archive et ex�cuter ensuite la commande:
make xfstt && make install
Quand le processus est termin�, le fichier binaire ex�cutable xfstt produit est install� dans /usr/X11R6/bin. Il convient maintenant d'indiquer au serveur xfstt quelles polices True Type il aura � utiliser. A cette fin, ex�cuter la commande:
xfstt --sync
Cela a pour effet de cr�er deux fichiers de description dans /usr/ttfonts appel�s ttinfo.dir et ttname.dir.
Le serveur se lance par la commande: xfstt &.
Mais rien ne semble se passer � l'ex�cution de la commande: ces fontes n'�tant utilis�es que par X, elles ne sont donc pas disponibles en mode console, et si l'on est en mode graphique, il faut indiquer � X de les prendre en charge. Cela s'obtient par la commande:
xset +fp unix/:7100
V�rifier ensuite avec xfontsel ou le gestionnaire de polices de KDE que les TrueType sont alors disponibles; elles devraient l'�tre pour toutes (presque!) les applications X. SatrOffice5 les accepte pour StarDraw, StarImpress, StarCalc... mais bizarrement pas pour StarWriter, � moins qu'il y ait une option � activer, laquelle aura �chapp� � ma sagacit� :-).
En tout cas, elles sont utilisables pour Gimp (voir figure 4). Il existe �galement un plugin freefont pour Gimp. Si ce plugin est install� sur votre machine, vous b�n�ficiez alors d'une nouvelle possibilit� d'utiliser les polices TrueType dans Gimp. A la diff�rence du serveur xfstt, le plugin freefont ne rend pas les polices disponibles � toutes les applications.



[Figure 4]


La documentation du programme indique la possibilit� d'ajouter dans XF86Config, � la section "Files" la ligne suivante: FontPath "unix/:7100"; cela ne marche pas chez moi; il est dit �galement de lancer xfstt avant le d�marrage d'une session X, ce qui suppose d'ex�cuter les autres commandes dans un terminal, au risque d'en oublier. Le mieux est d'automatiser les t�ches en �crivant deux petits scripts, l'un pour actver le serveur, l'autre pour le d�sactiver. On n'oubliera pas de rendre ces scripts ex�cutables (dans MC, F9 puis File et Chmod) et de les sauver dans /usr/local/bin, par exemple. Le sript d'activation pourrait s'appeler ttf et le script de d�sactivation pourrait s'appeler ttf. Le premier contiendrait les lignes suivantes:
#!/bin/sh
xfstt --sync --dir /usr/share/fonts/truetype
xfstt &
xfstt +fp unix/:7100

Le second contiendrait simplement:

#!/bin/sh
xset -fp unix/:7100

C'est la solution que j'utilise: elle fonctionne.

Cr�er des Patterns

Les patterns (motifs) ne sont rien d'autres que des fichiers d'image bitmap au format .pat sp�cifique (pour ne pas dire propri�taire) de Gimp, qui servent � remplir une surface � l'aide du "pot de peinture". Ils sont sauvegard�s dans les r�pertoire /usr/share/gimp/1.2/patterns/. Ceux que l'on cr�e peuvent �tre sauv�s � cet emplacement, auquel cas tous les utilisateurs y auront acc�s, ou dans son r�pertoire personnel ~/.gimp/patterns, auquel cas seul root et soi-m�me y auront acc�s.

Supposons que l'on veuille utiliser la figure5 pour "tapisser" le fond (background) d'une image.



[Figure 5]


On peut le faire manuellement par copier-coller, mais l'op�ration est longue et peu pr�cise: les motifs seront-ils juxtapos�s au pixel pr�s? Il vaut mieux laisser � Gimp le soin de le faire, et il le fera si l'image � r�p�ter est un motif pour lui, c'est � dire un fichier .pat.
Ce n'est actuellement pas le cas. On y rem�die en proc�dant comme suit:

Quittons Gimp, puisque ce nouveau motif ne sera utilisable qu'au red�marrage, et relan�ons-le.
Dans la bo�te � outils, cliquer sur File>Dialogs>Patterns. La bo�te Patterns Selection apparait et affiche des �cantillons minuscules des motifs disponibles; si l'on clique sur un �chantillon, celui-ci s'affiche momentan�ment � l'�chelle 1 sous le pointeur de la souris. De plus, le fait de cliquer sur un �chantillon s�lectionne le motifqu'il repr�sente.
Recherchons le motif Tuxdor, en fin de liste donc, puisque les patterns sont class�s par ordre alphab�tique, et s�lectionnons-le pour l'utiliser.
Cr�er un dessin de travail par File>New>Width 288 Height 286 (dimension pour 4 motifs).
Double cliquer sur Fill with a color or pattern (le pot de peinture) S�lectionner Pattern Fill
Cliquer n'importe o� dans l'image vide et celle-ci se remplit de Tux d'Or.



[Figure 6]


Cependant le remplissage n'est pas esth�tique: les "coutures" entre motifs sont visibles. Cela vient du motif lui-m�me, qui n'a pas �t� cr�� pour effectuer un nappage sans raccord. Fabriquons-en un. Ouvrir de nouveau la figure5 Clic droit sur l'image> Filters> Map> Make Seamless On obtient un nouveau motif



[Figure 7]


Le sauvegarder au m�me emplacement que Tux2.pat, avec l'identifiant TuxTile. Quiiter Gimp, relancer, pr�parer une image de 432x392 La remplir avec le motif TuxTile On obtient alors une image sans raccord mais avec un aspect un peu militaire (qui peut �tre recherch� ailleurs, selon la destination de l'image).L'aspect est cependant de meilleure qualit� que pr�c�demment.



[Figure 8]


On pourrait vouloir malgr� tout une image plus douce, plus fondue.Fabriquons le motif ad�quat:



[Figure 10]


Conclusion provisoire

L'image finale montre l'utilisation que l'on peut faire de ces polices de caract�res venues d'ailleurs, et des motifs autres que les motifs standards de Gimp. Les textes sont r�alis�s avec le Sript-Fu logo; certes, ils ont �t� quelque peu travaill�s pour offrir cet aspect, mais faire la m�me chose est � la port�e de tous. Il suffit d'explorer les innombrables possibilit�s du logiciel, et de s'amuser avec.