Les HOWTO Linux...
Page suivante - Page précédente - Table des matières
2. Configuration de l'affichage
Nous supposons que vous avez déjà adapté votre console Linux et la configuration de X11 à votre clavier et avez positionné correctement la variable de localisation LANG. Ceci est expliqué dans le Danish/International HOWTO, et dans les autres HOWTOS nationaux : Finish, French, German, Italian, Polish, Slovenian, Spanish, Cyrillic, Hebrew, Chinese, Thai, Esperanto. Mais, s'il vous plaît, ne suivez pas le conseil donné dans le Thai-HOWTO vous disant de faire croire que vous utilisez des caractères ISO-8859-1 (U0000..U00FF) alors que vous tapez des caractères Thai (U0E01..U0E5B). Faire cela ne vous causera que des problèmes lorsque vous passerez à Unicode.
2.1 La console Linux
Je ne parle pas tellement de la console ici, parce que je ne l'utilise
que pour rentrer mon login, password, et taper xinit
sur les
machines dépourvues de xdm.
Mais revenons à nos moutons : le package kbd-0.99
ftp://sunsite.unc.edu/pub/Linux/system/keyboards/kbd-0.99.tar.gz,
et une version largement étendue, le package console-tools-0.2.2
ftp://sunsite.unc.edu/pub/Linux/system/keyboards/console-tools-0.2.2.tar.gz,
contiennent dans le répertoire kbd-0.99/src/ (ou
console-tools-0.22/screenfonttools/) deux programmes : «unicode_start»
et «unicode_stop». Quand vous appelez «unicode_start», la sortie de la
console est interprétée comme de l'UTF-8. De plus, le clavier est mis en
mode Unicode (voir "man kbd_mode"). Dans ce mode, les caractères
Unicode tapés par Alt-x1...Alt-xn (où x1...xn sont les chiffres de
pavé numérique) seront émis en UTF-8. Si votre clavier, ou plus
précisément, votre keymap a des touches correspondant à des
caractères non ASCII(comme le Umlaute allemand), que vous souhaiteriez
pouvoir «CapsLocker», vous devez appliquer au kernel le patch
linux-2.2.9-keyboard.diff ou
linux-2.3.12-keyboard.diff.
Vous voudrez probablement afficher des caractères de différents
alphabets sur le même écran. Pour cela, vous aurez besoin d'une fonte
Unicode pour la console.
Le package
ftp://sunsite.unc.edu/pub/Linux/system/keyboards/console-data-1999.08.29.tar.gz
contient une fonte (LatArCyrHeb-{08,14,16,19}.psf), qui couvre les
lettres pour le latin, le cyrillique, l'hébreu, et l'arabe. Il
supporte les parties 1, 2, 3, 4, 5, 6, 8, 9, 10 d'ISO-8859 à lui tout
seul.
Pour l'installer, copiez le dans /usr/lib/kbd/consolefonts/, et
exécutez /usr/bin/setfont /usr/lib/kbd/consolefonts/LatArCyrHeb-14.psf
.
Si vous voulez que le copier-coller marche avec les consoles UTF-8, vous aurez besoin du patch linux-2.3.12-console.diff d'Edmund Thomas, Grimley Evans et Stanislav Voronyi.
2.2 Fontes étrangères pour X11
N'hésitez pas à installer des fontes cyrilliques, chinoises, japonaises, etc. Même si ce ne sont pas des fontes Unicodes, elles aideront à afficher des documents Unicode : au moins Netscape Communicator 4 et Java feront usage des fontes étrangères si elles sont disponibles.
Les programmes suivants sont utiles pour installer des fontes :
- "mkfontdir répertoire" prépare un répertoire de fontes utilisables par le serveur X. Il doit être exécuté après avoir installé les fontes dans un répertoire.
- "xset fp+ répertoire" ajoute un répertoire au chemin de fontes actuel du serveur X. Pour que ce soit permanent, ajoutez une ligne "FontPath" à votre fichier /etc/XF86Config, dans la section "Files".
- "xset fp rehash" doit être exécuté après avoir appelé mkfontdir sur un répertoire qui est déjà contenu dans le chemin de fontes actuel du serveur X.
- "xfontsel" vous permet de parcourir les fontes installées en filtrant selon les diverses propriétés des fontes.
- "xlsfonts -fn motif-de-recherche" liste toutes les fontes qui correspondent à un motif de recherche. Il affiche aussi diverses propriétés des fontes. En particulier, "xlsfonts -ll -fn fonte" liste les propriétés de la fonte CHARSET_REGISTRY et CHARSET_ENCODING, qui ensemble déterminent l'encodage de la fonte.
- "xfd -fn fonte" affiche une fonte page par page.
Les fontes suivantes sont disponibles gratuitement (liste non exhaustive) :
- Celle contenues dans XFree86, quelquefois contenues dans un package séparé. Par exemple, la SuSE a seulement les fontes 75 dpi normales dans le package "xf86" de base. Les autres fontes sont dans les packages "xfnt100", "xfntbig", "xfntcyr", "xfntscl".
- Les fontes internationales pour Emacs, ftp://ftp.gnu.org/pub/gnu/intlfonts/intlfonts-1.1.tar.gz. Comme il a été mentionné précédemment, elles sont utiles même si vous préférez XEmacs à GNU Emacs, ou même si vous n'utilisez pas Emacs du tout.
2.3 Les fontes Unicode pour X11
Les applications qui souhaitent pouvoir afficher du texte utilisant différentes alphabets (comme le cyrillique et le grec) en même temps, peuvent le faire en utilisant les différentes fontes X pour chaque partie de texte. C'est ce que font Netscape Communicator et Java. Cependant, cette approche est plus compliquée, parce que au lieu de travailler avec "Font" et "XFontStruct", le programmeur devra utiliser "XFonSet", et aussi parce que toutes les fontes dans le jeu de fontes doivent avoir les mêmes dimensions.
- Markus Kuhn a assemblé des fontes à largeur fixe (fixed width) de 75 dpi avec Unicode couvrant le latin, le grec, le cyrillique, l'arménien, le géorgien, l'hébreu, et les écritures symboliques. Elles couvrent les parties 1 à 10 et 13 à 15 de ISO-8859 en un seul jeu de fontes. Cette fonte est nécessaire pour utiliser un xterm en mode UTF-8. http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz
- Roman Czyborra a assemblé une fonte 8x16/16x16 75 dpi avec l'encodage
Unicode couvrant une partie énorme d'Unicode. Teléchargez
unifont.hex.gz et hex2bdf depuis
http://czyborra.com/unifont/
Elle n'est pas à largeur fixe : 8 pixels de large pour les caractères
européens, 16 pour les caractères chinois. Instructions
d'installation :
$ gunzip unifont.hex.gz $ hex2bdf < unifont.hex> unifont.bdf $ bdftopcf -o unifont.pcf unifont.bdf $ gzip -9 unifont.pcf $ cp unifont.pcf.gz /usr/X11R6/lib/X11/fonts/misc $ cd usr/X11R6/lib/X11/fonts/misc $ mkfontdir $ xset fp rehash
- Primoz Peterlin a assemblé un famille de fontes ETL couvrant le latin, le grec, le cyrillique, l'arménien, le géorgien, et l'hébreu. ftp://ftp.x.org/contrib/fonts/etl-unicode.tar.gz. Utilisez le programme "bdftopcf" pour l'installer.
2.4 Unicode xterm
xterm fait partie de X11R6 et XFree86, mais il est maintenu
séparément par Tom Dickey.
http://www.clark.net/pub/dickey/xterm/xterm.html.
Les nouvelles versions (patch niveau 109 et plus) supportent la
conversion des touches (keystrokes) en UTF-8 avant de les envoyer à
l'application qui tourne dans le xterm, et l'affichage des caractères
Unicode que l'application renvoie comme une séquence d'octets UTF-8.
Pour obtenir un xterm UTF-8 fonctionnel, vous devez :
- Rapatrier http://www.clark.net/pub/dickey/xterm/xterm.tar.gz.
- Le configurer en exécutant "./configure -enable-wide-chars...", puis le compiler et l'installer.
- Avoir une fonte Unicode à largeur fixe installée. ucs-fonts.tar.gz de Markus Kuhn (voir ci-dessus) est fait pour ça.
- Lancer "xterm -u8 -fn fixed". L'option "-u8" enclenche le support d'Unicode et d'UTF-8. La fonte "fixed" est celle de Markus Khun.
- Jeter un oeil aux fichiers-exemples contenus dans le package ucs-fonts
de Markus Khun :
Vous devriez voir (entre autre) des caractères grecs et cyrilliques.$ cd .../ucs-fonts $ cat quickbrown.txt $ cat utf-8-demo.txt
- Pour configurer xterm pour qu'il utilise le support UTF-8 dès le lancement, ajoutez la ligne "XTerm*utf8:1" à votre $HOME/.Xdefaults (pour vous seul). Je ne recommande pas de changer directement /usr/X11R6/lib/X11/app-defauts/XTerm, parce que vos changements seront effacés lorsque vous installerez une nouvelle version de XFree86.
- Si vous avez aussi changé le nom de la fonte, vous aurez besoin d'une ligne "*VT100*font: votre-fonte" dans votre fichier $HOME/.Xdefaults. Pour les fontes "fixes" ce n'est pas nécessaire, puisque "fixed" est la valeur par défaut de toute façon.
2.5 Divers
Un petit programme qui teste si une console Linux est en mode UTF-8 peut être trouvé dans le package ftp://sunsite.unc.edu/pub/Linux/system/keyboards/x-lt-1.18.tar.gz de Ricardas Cepas. Ce sont les fichiers testUTF-8.c et testUTF8.c.
Page suivante - Page précédente - Table des matières