<HTML> <HEAD> <TITLE>Comment faire pour que d'autres programmes acceptent les caractères non-ASCII</TITLE> </HEAD> <BODY> <H1>12. <A NAME="s12"></A>Comment faire pour que d'autres programmes acceptent les caractères non-ASCII</H1> <P> <A HREF="Keyboard-HOWTO.html#toc12">Contenu de cette section</A></P> <P></P> <P>C'était jadis un véritable calvaire. Il fallait convaincre individuellement chaque programme de travailler en 8 bits. Les choses ne sont pas encore idéales, mais récemment de nombreux utilitaires GNU ont appris à reconnaître les variables <CODE>LC_CTYPE=iso_8859_1</CODE> ou <CODE>LC_CTYPE=iso-8859-1</CODE>. Essayez d'abord ça, et si ça ne suffit pas essayez les trucs ci-dessous.</P> <P></P> <P>Tout d'abord, le huitième bit doit survivre au processus d'entrée du noyau, assurez-vous-en donc avec <CODE>stty cs8 -istrip -parenb</CODE>.</P> <P>A. Pour <CODE>emacs</CODE>, mettez les lignes <BLOCKQUOTE><CODE> <PRE> (standard-display-european t) (set-input-mode nil nil 1) (require 'iso-syntax) </PRE> </CODE></BLOCKQUOTE> et peut-être aussi <BLOCKQUOTE><CODE> <PRE> (load-library "iso-insert.el") (define-key global-map [?\C-.] 8859-1-map) </PRE> </CODE></BLOCKQUOTE> dans votre <CODE>$HOME/.emacs</CODE>. (Cette dernière ligne marche dans un <CODE>xterm</CODE>, en utilisant <CODE>emacs -nw</CODE>, mais il faut alors mettre <BLOCKQUOTE><CODE> <PRE> XTerm*VT100.Translations: #override\n\ Ctrl <KeyPress> . : string("\0308") </PRE> </CODE></BLOCKQUOTE> dans votre <CODE>.Xresources</CODE>.) NDT: fichiers pour clavier Qwerty, à vérifier pour azerty.</P> <P>B. Pour <CODE>less</CODE>, mettez <CODE>LESSCHARSET=latin1</CODE> dans l'environment.</P> <P>C. Pour <CODE>ls</CODE>, mettez l'option <CODE>-N</CODE>. (A priori en faisant un alias.)</P> <P>D. Pour <CODE>bash</CODE> (version 1.13.*), mettez <BLOCKQUOTE><CODE> <PRE> set meta-flag on set convert-meta off </PRE> </CODE></BLOCKQUOTE> et, selon le Danish-HOWTO, <BLOCKQUOTE><CODE> <PRE> set output-meta on </PRE> </CODE></BLOCKQUOTE> dans votre <CODE>$HOME/.inputrc</CODE>.</P> <P>E. Pour <CODE>tcsh</CODE>, définissez les variables: <BLOCKQUOTE><CODE> <PRE> setenv LANG fr_FR (ou fr_CA, fr_CH, fr_BE...) setenv LC_CTYPE iso_8859_1 </PRE> </CODE></BLOCKQUOTE> Si <CODE>nls</CODE> est installé, les routines correspondantes sont utilisées. Sinon <CODE>tcsh</CODE> agit en iso_8859_1, quelle que soit les valeurs données à LANG et LC_CTYPE. voir la section NATIVE LANGUAGE SYSTEM de tcsh(1). (d'après le Danish-HOWTO: <CODE>setenv LC_CTYPE ISO-8859-1; stty pass8</CODE>)</P> <P>F. Pour <CODE>flex</CODE>, donnez l'option <CODE>-8</CODE> si l'analyseur généré doit accepter les entrées 8-bits. (Bien sur qu'il doit le faire !)</P> <P>G. Pour <CODE>elm</CODE>, mettez <CODE>displaycharset</CODE> à <CODE>ISO-8859-1</CODE>. (Danish HOWTO: <CODE>LANG=C</CODE> et <CODE>LC_CTYPE=ISO-8859-1</CODE>)</P> <P>H. Pour les programmes utilisant curses (comme <CODE>lynx</CODE>) David Sibley dit: <BLOCKQUOTE> La version standard de curses utilise le huitième bit pour la vidéo inversée (voir le flag _STANDOUT défini dans <CODE>/usr/include/curses.h</CODE>). Cependant <CODE>ncurses</CODE> semble fonctionner en 8-bits et affiche le iso-latin-8859-1 correctement. </BLOCKQUOTE> </P> <P>I. Pour les programmes utilisant <CODE>groff</CODE> (comme <CODE>man</CODE>), utilisez le <CODE>-Tlatin1</CODE> au lieu de <CODE>-Tascii</CODE>. Les vieilles versions de <CODE>man</CODE> utilisent aussi <CODE>col</CODE>, et le point suivant s'applique aussi.</P> <P>J. Pout <CODE>col</CODE>, assurez-vous 1) qu'il a été corrigé et fait un <CODE>setlocale(LC_CTYPE,"");</CODE> et 2) de définir <CODE>LC_CTYPE=ISO-8859-1</CODE> dans l'environment.</P> <P>K. Pour <CODE>rlogin</CODE>, utilisez l'option <CODE>-8</CODE>.</P> <P>L. Pour <CODE>joe</CODE>, <CODE>sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz</CODE> devrait marcher après édition du fichier de configuration. J'ai aussi lu: <CODE>joe</CODE>: mettez l'option <CODE>-asis</CODE> dans <CODE>/usr/lib/joerc</CODE> en première colonne.</P> <P>M. Pour LaTeX: <CODE>\documentstyle[isolatin]{article}</CODE>.<BR> Pour LaTeX2e: <CODE>\documentclass{article}\usepackage{isolatin}</CODE> ou <CODE>isolatin.sty</CODE> est disponible à <CODE> <A HREF="ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit">ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit</A> </CODE>.</P> <P>Une belle discussion sur le thème de l'ISO-8859-1 et sur comment manipuler les caractères 8-bits est disponible dans <CODE> <A HREF="ftp://grasp.insa-lyon.fr/pub/faq/fr/accents">ftp://grasp.insa-lyon.fr/pub/faq/fr/accents</A> </CODE> (en français). Une autre, en anglais, peut être trouvée à <CODE> <A HREF="ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/character-sets/iso-8859-1-faq">ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/character-sets/iso-8859-1-faq</A> </CODE>. Encore une autre(?):<CODE> <A HREF="ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/FAQ-ISO-8859-1">ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/FAQ-ISO-8859-1</A> </CODE>.</P> <P></P> <HR> <P> Chapitre <A HREF="Keyboard-HOWTO-13.html">suivant</A>, Chapitre <A HREF="Keyboard-HOWTO-11.html">Précédent</A> <P> Table des matières de <A HREF="Keyboard-HOWTO.html#toc12">ce chapitre</A>, <A HREF="Keyboard-HOWTO.html#toc">Table des matières</A> générale</P> <P> <A HREF="Keyboard-HOWTO.html">Début</A> du document, <A HREF="#0"> Début de ce chapitre</A></P> </BODY> </HTML>