Suivant | Précédant | Retour sujet

7. Couleurs et Fontes (Polices de Caractères)

Il y a de nombreux trucs pour les polices et les couleurs utilisées dans X. Ils ne sont pas tout à fait aussi simples que dans d'autres systèmes, par exemple, la police n'est pas simplement un nom uni terme. Vous indiquez ces ressources tout à fait explicitement, et la tâche semble être plutôt complexe à première abord, mais avec un peu d'expérience vous le ferait en sifflant.

7.1 Fontes Démystifiées

La description logique de fonte dans X (``XLFD'') (X Logical Font Description) est le nom complet pour une fonte. Il se compose des champs suivants: De la lumière dans ce chaos, le programme xfontsel (le programme de sélection des polices par défaut de X Window) vous paraîtra énormément utile. Essayez de le lancer correctement maintenant. Vous ne trouverez étrangement rien d'utile dans la fenêtre principale, mais essayez de baisser le bouton gauche de la souris sur le bouton fndry. Si toutes vos fontes sont dans l'ordre, vous pourrez voir un menu de sélection tel que adobe et b&h et bitstream et so forth. Sélectionnez en une tel que b&h et vous pourrez noter que la fonte, dans la fenêtre réduite, change pour quelques chose d'intelligible. C'est généralement la méthode avec laquelle vous sélectionnerez les fontes avec ce programme, démarrant depuis la gauche, laquelle est le plus souvent choisi, et déplace vers la droite, pour les options les plus spécifiques. Sélectionnant une option vers la fin la plus à droite ne fera pas sensation avant la mises en fonte, par exemple, est sélectionné, parce que les options sont généralement ordonné par leurs dépendances sur chaque autres.

Quand vous en serez à choisir à partir de la sélection fmly, vous verrez la plupart de options se griser en dehors, et seulement trois demeurerons. Cela signifie que ces trois sont la seule famille de fonte faites par cette même fonderie (créateur ou société propriétaire de la fonte). Certaine familles apparaissent sous plus d'une fonderie, par exemple, les deux Adobe et Bitstream font une variation de la fonte Courrier. Maintenant vous pouvez sélectionner le wght, et so forth. Après avoir acquis un certain recul vous pourrez adapter la fonte que vous voulez. Vous n'avez pas nécessairement à remplir toutes les options pour choisir une simple police de caractères, il n'y à pas que ces nombreuses polices sur votre système! Les options que vous n'avez pas choisi seront représentées par une * indiquant que n'importe quelle option agira dans ce spot.

Quand vous serez content de votre sélection de polices, vous pourrez atteindre le bouton de sélection, et votre sélection sera placé dans le presse papiers X, prêt à être collé dans votre document ou tout ce sur quoi vous travaillé. Par exemple, aller sur votre fenêtre xterm et tapez dans quelque chose comme xterm -font poursuivant par l'ouverture d'une marque de citation. A ce moment sélectionnez cet endroit sur votre écran, et cliquez sur le bouton central de votre souris (ou  cliquez sur les deux le gauche et droit, si vous avez middle-button impaired). Cela collera la sélection à partir du presse-papiers, lequel sera la police que vous venez de choisir. Alors entrer le guillemet fermant, et taper Enter. Par exemple, un agréable gros xterm avec une fonte Courrier spécifié pourra paraître comme ça: xterm -font "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*" Un xterm frais sera le pop up utilisant la police que vous avez choisi.

L'utilitaire xfd est très utile pour examiner une police. Si vous le lancer avec une ligne de commande tel que  xfd -fn fixed, il vous montrera le jeu de caractère pour la police, avec une grande similitude avec les keycaps sur Macintosh. Noter que vous pouvez aussi limiter le nombre de polices que vous voulez, xfontsel les affiche avec l'option de ligne de commande  -pattern, suivi par un référence de spécification de fonte, comme nous l'avons vu au-dessus. 

7.2 Aliases et Configuration des Polices de Caractères

Parfois ça devient assommant et vraiment impossible de se rappeler tous les longs noms de fonte. Heureusement, il n'est pas nécessaire de taper cent frappes ou même d'obtenir très exactement le nom de fonte que vous voulez, parce que X fournit quelque chose appelés font aliases.

Si vous regardez dans le répertoire  /usr/X11R6/lib/fonts/misc/fonts.alias, vous trouverez des noms de raccourcis pour de nombreuses fontes. Par exemple, 8x16 est listé comme un raccourcis pour -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1, et n'importe ou vous entrez  8x16 en tant que ressource de fonte d'X ou vers une ligne de commande pour un nom de police de caractères, la version longue de la fonte pourra être substitué. Les répertoires 75dpi et 100dpi ont des aliases similaire pour tirer avantage de, sur la plupart des systèmes la fonte Lucida Sans a un agréable raccourcis.

Si vous ajoutez des polices ou des aliases à votre système, vous devrez publier quelques commandes (probablement comme root). Si vous ajoutez des polices, vous devrez publier les deux commandes suivantes (ce sont des exemples, vous devrez mettre dans le bon  répertoire, ou peut-être les laisser en dehors, pour faire relire vos polices correctement.

 mkfontdir /usr/lib/X11/fonts/misc
   xset fp rehash
Si  pour une police vous changez le fichier alias, vous n'aurai seulement qu'à publier la dernière commande ci-dessus, mais
ce peut être une bonne idée de les publier toutes les deux, pour être sûr.  Avec la commande de xset que vous pouvez explicitement publier un chemin de police que vous souhaitez que le serveur utilise, vous pouvez supprimer un répertoire  spécifique de votre chemin de police, voir le Home Page pour plus d'information.

Un autre problème commun est que quelques distributions (notamment Red Hat 5.2, pour l'instant) arrivent avec les polices
configurées dans un faux ordre.  Si vous jetez un coup d'oeil aux votre /etc/XF86Config (il peut être quelque part ailleurs dans quelques autres distributions, malheureusement, et je ne suis pas sûr où il est sur Red Hat à l'heure actuelle, le localiser avec  locate peut-être...)  Jeter un coup d'oeil à ce dossier si vos polices vous semblent trop laides dans X (très difficile à lire même à de grandes tailles).  Vous verrez un groupe d'entrées qui ressemblent à quelque chose comme ceci:

 FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
 FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
 FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
 FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
 FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
La chose importante à noter ici est que nous avons démonté les polices bitmaped (polices graphique établies avec une correspondance de bits) (les répertoires divers, 75dpi, 100dpi) avant les polices mesurées (telles que Type1 et
Speedo).  Des polices bipmapped établies par bits sont préférées pour le serveur X, parce que les polices mesurées ne
paraissent pas très jolies pour un usage commun, elles sont meilleures, peut être, pour des choses comme Gimp ou Netscape.  Vous devriez aussi faire un contrôle de bon sens pour voir que tous ces répertoires, en fait existe, et si vous avez modifié
récemment, vous pourriez avoir besoin (comme root) entrez et lancez une commande mkfontdir *  dans le répertoire des fontes.
 

7.3 Utilisez les Polices de Type 1 Dans X

Les types de police qu' X accepte généralement sont d'usage limité, considérant que le seul endroit ou vous trouverez des polices de ce type, utilisés, sont dans le système de fenêtres de X lui même, et malheureusement la plupart des drogués de médias et de travail de fontaholics dans les logiciels d'exploitation, préfèrent d'autres formats.  Fontes de Type 1, le plus généralement utilisées en même temps que des formats de document Post Script, peuvent être trouvées en libre sur l'internet avec une facilité considérable.  Essayez ftp://ftp.cdrom.com/pub/os2/fonts/ pour commencer.

Se servir de ces polices n'est pas aussi difficile, et graphiques que des programmes comme GIMP qui tireront profit d'elles énormément, et le meilleur de tous, les serveurs X de Linux comprennent les polices de Type 1 "out of the box".  Pour les employer, déballer d'abord les archives en utilisant les commandes appropriées, et mettez les polices avec une extension .pfb dans /usr/X11R6/lib/X11/fonts/type1/ sur votre système.  Puis, ajouter la référence de ces fontes dans le fichier fonts.scale dans cet répertoire, en utilisant le format pour les autres polices, déjà présentes.  Puis sauvez le fichier.

Maintenant, vous devriez être capable envers mkfontdir de discerner le serveur X au sujet des mises à jour, et puis exécutez
xset fp rehash pour relire le chemin de police.  Si ceci ne fonctionne pas pour vous, vous pourriez devoir remettre en marche X pour voir les changements.

Si vous vous trouvez à employer de nombreuses polices de Type 1, et pour des choses autres que X (GhostScript, par exemple, peut manipuler ce format de police aussi bien), vous voudrez vérifier l'utilitaire type1inst par James Macnicol.  Ce programme peut configurer des polices de Type 1 pour GhostScript et X, et il peut également produire des feuilles témoin pour vos polices, et effectue la majeure partie du travail de la configuration pour vous.  Ce programme peut habituellement être trouvé à : ftp://metalab.unc.edu/pub/Linux/X11/xutils/.
 

7.4 Utilisation des Polices TrueType Dans X

Si vous aviez utilisé un système d'exploitation tel que Windows ou le MacOS, vous pouvez avoir un bon nombre de polices se trouvant déjà sur votre ordinateur ce sont des polices de TrueType.  Les polices TrueType sont mieux considérées sur les plus petits moniteurs, à basse résolution affichages, tels que votre moniteur d'ordinateur, et tente de fournir d'agréables caractéristiques comme ombrager et anticrénelage, faisant paraître votre affichage plus lisse.  Il est également vraiment facile de trouver les polices bon marché de TrueType en vrac, et les CD's comprenant plus de 500 polices dans le format de TrueType sont communs dans des boutiques informatiques.

X ne comprend pas des polices de TrueType, et n'a aucune possibilité innée (actuellement) à faire ainsi, et donc il a besoin d'un programme séparé pour faire le font rendering (le re-dessinage des polices) pour lui.  Il y a une bibliothèque de Free Type pour faire ça, mais si vous voulez juste les employer sur votre ordinateur, tout ce donc vous aurez besoin est un programme appelé le xfstt, le serveur de police de X pour TrueType. Ce programme devrait être disponible à ftp://metalab.unc.edu/pub/Linux/X11/fonts /.

L'installation est assez franche.  Extraire les archives, et make le fichier, et puis make install.  Vous pouvez obtenir
quelques erreurs qui ne semblent pas prêter à conséquences après la deuxième commande;  les ignorer.  Ce que vous devez faire après est de créer un répertoire assignable appelé /usr/ttfonts et y mettre certaines de vos polices .ttf là, pour s'assurer juste qu'il va fonctionner. Synchroniser alors le serveur de police avec xfstt la commande xfstt --sync.

Si vous n'obtenez pas d'erreurs ici, exécutez le serveur de police dans l'arrière plan fond avec la commande xfstt & et renseignez votre serveur X11 au sujet du service de police avec la commande xset fp+ unix/:7100 . Si vous n'obteniez aucune erreur, vous devriez pouvoir exécuter Netscape, le GIMP, même le xfontsel, et avoir ces polices disponibles
pour vous.  Votre plus grand problème peut être de trouver la police que vous voulez, mais ce n'est pas vraiment une mauvaise chose.

On a porté à ma connaissance que des versions plus récentes de xset exigent une version légèrement modifiée de cette commande, en raison des changements du code du xset.  Si vous lancer une distribution basée sur le Red Hat 6,0 ou postérieure, ou quelque chose d'équivalent, vous voudrez d'abord essayer le xset fp+ unix/:7101.

Si tout semble fonctionner très bien, à ce moment vous voudrez sûrement configurer votre système de sorte que les polices fonctionnent quand vous commencez X. Si vous êtes justement en train de démarrer X de la ligne de commande, c'est facile.  Tout ce que vous devrez faire c'est d'ajouter les deux commandes du paragraphe précédent à votre fichier .xinitrc, dans cet ordre. Lors du prochain démarrage d'X, il devrait travailler finement.  Si vous commencez X via xdm, vous aurez besoin d'ajouter /usr/X11R6/bin/xfstt & à  /usr/X11R6/lib/X11/xdm/Xsetup_0.  Obtenu cela?
Ajouter alors le xset vp+ unix/:7100 comme il se doit.

Considérer que l'installation d'un serveur de police de TrueType peut être une affaire de ruses.  Se rappeler que l'ordre que vous publiez les commandes ci-dessus est important.  Le serveur de police doit être commencé avant que X soit commencé, autrement vous courrez au devant des problèmes.  Être sûr d'avoir lu le dossier de FAQ qui est arrivé avec la distribution, et le home page de xfstt aussi.

7.5 Couleurs

Retournons à notre fenêtre de terminale et essayons encore quelques autres choses. Essayer d'ouvrir un xterm avec une ligne de commande comme celle qui suit:

xterm -fg darkslateblue -bg red3 &

Tant que cette fenêtre n'est pas totalement à votre goût, vous ne pourrez pas donner le meilleur de votre travail dedans, cela fait la démonstration d'un thème intéressant de X, les noms des couleurs. Tant que tout n'est pas très précis, les couleurs sont une agréable méthode pour se rappeler plus facilement qu'une série de nombres hexadécimaux.  Noter que les noms de couleur ne sont jamais des case sensibles.

Si vous êtes intéressé par les détails sanglants, ou voulez voir les exemples, ou même vouloir remplacer ces noms idiots de
couleur par les vôtres propres pour quelle obscure raison que ce soit, vous pouvez trouver le fichier d'enregistrement qui énumère toutes les couleurs avec leur représentation hexadécimale dans  /usr/X11R6/lib/X11/rgb.txt sur votre
système.  Il y a également quelques utilitaires extrêmement secourables avec des noms comme le xcolorsel et tels.  Ils peuvent être trouvés dans les endroits habituels, sur http://metalab.unc.edu/pub/Linux/ et ailleurs.

Une manière plus précise d'indiquer des couleurs est par la définition numérique.  Ceci se compose d'un nom de l'espace de
couleur et d'un ensemble de valeurs dans la syntaxe suivante:

<colorspace-name>:<value>/.../<value>

Un Driver RGB, que vous utiliserez très probablement, est spécifié avec le préfixe " rgb: "  et a la syntaxe suivante:

rgb:<red>/<green>/<blue>, où <color> est un nombre d'hexadécimal de 1 à 4 chiffres.

Comme exemple, vous pourriez représenter le rouge de couleur avec rgb:ffff/0/0.  Pour la compatibilité en arrière, vous pouvez également indiquer le rouge avec une syntaxe telle que #ff0000 ou #ffff00000000, et vous verrez probablement cela une syntaxe (plus ancienne) beaucoup.



Suivant | Précédant | Retour sujet