[LinuxFocus-icon]
Sommaire  |  Carte  |  Index  |  Recherche

Nouvelles | Archives | Liens | A propos
Ce document est disponible en: English  Castellano  Deutsch  Francais  Nederlands  Portugues  Russian  Turkce  Arabic  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo de l'auteur]
par André Pascual
<apascual(at)club-internet.fr>

L´auteur:

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




Sommaire:

 

Freefont,TrueType et Patterns dans Gimp

[Illustration]

Résumé:

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.




 

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.  

Discussion sur cet article

Chaque article possède sa page de discussion. Vous pouvez y soumettre un commentaire ou lire ceux d´autres lecteurs:
 page de discussion 

Site Web maintenu par l´équipe d´édition LinuxFocus
© André Pascual, FDL
LinuxFocus.org

Cliquez ici pour signaler une erreur ou envoyer un commentaire à Linuxfocus
Translation information:
fr --> -- : André Pascual <apascual(at)club-internet.fr>

2001-10-17, generated by lfparser version 2.18