Thread View: fr.usenet.8bits
1 messages
1 total messages
Started by Marc SCHAEFER
Fri, 18 Oct 1996 00:00
FAQ - les accents francais et Usenet
Author: Marc SCHAEFER
Date: Fri, 18 Oct 1996 00:00
Date: Fri, 18 Oct 1996 00:00
1714 lines
80791 bytes
80791 bytes
Posted-By: auto-faq 3.1.1.2
Archive-name: fr/accents
[ Note du posteur:
Ce document est desormais poste tous les mois automatiquement
jusqu'a ce que l'auteur originel reposte ce document.
En vertu de la notice de copyright, il ne m'est pas permis de faire
des modifications, sous une autre forme que des notices ou des ajouts.
J'ai garde le cross-posting assez etendu originel, envoyez-moi les
critiques en courrier prive (mail) exclusivement merci.
]
Version: 2.8 1995/06/19
Copyright (C) 1993, 1994, 1995 Franc,ois Yergeau
La copie et la distribution de ce document sont permises, pourvu que
la mention de copyright et cette notice de licence de copie apparaissent
sur chaque copie.
--xxxSECTIONxxx
Content-Type: text/plain; charset=ISO-8859-1
Introduction
************
Cet article se veut un compendium sur l'art et la manie`re de lire et
d'e'crire des articles Usenet contenant des caracte`res accentue's.
Comme il s'adresse d'abord et avant tout a` ceux qui ont pre'sentement
des proble`mes avec les accents, il est re'dige' en US-ASCII, et ne
contient que peu d'accents ve'ritables, les principales exceptions
e'tant la table ISO-8859-1 de l'annexe 1 et la phrase suivante, qui
vous permettra de de'terminer si vous avez des proble`mes:
� O� qu'il r�side, � N�mes ou m�me Capharna�m, tout
Fran�ais inscrit au r�le payera son d� d�s avant No�l, qu'il
soit na�f ou r�leur. �
Voici la me^me phrase en format *uuencode'*; utilisez-la pour essayer
votre nouvelle configuration avec accents !
begin 644 accents.tst
MJR!/^2!Q=2=I;"!RZ7-I9&4L(. @3NYM97,@;W4@;>IM92!#87!H87)N8?QM
M+"!T;W5T($9R86[G86ES(&EN<V-R:70@874@<O1L90IP87EE<F$@<V]N(&3[
M(&3H<R!A=F%N="!.;^ML+"!Q=2=I;"!S;VET(&YA[V8@;W4@<N)L975R+B"[
!"F3H
`
end
Pour toute correction, information comple'mentaire, suggestion,
commentaire, etc., vous e^tes cordialement invite's a` me contacter a`
l'adresse suivante:
yergeau@alis.ca
Si vous avez quelque chose d'intere^t ge'ne'ral, vous pouvez
re'pondre a` cet article sur Usenet, bien su^r. Notez toutefois la
ligne `Followup-To:' dans l'en-te^te, qui dirige les re'ponses vers le
groupe `fr.news.8bits'. Si ce groupe ne vous convient pas, changez la
ligne `Newsgroups:' en composant votre re'ponse.
Si vous avez acce`s au W3, vous pouvez y consulter cet article a`
l'adresse suivante :
http://www.iro.umontreal.ca/labs/ltp/accents
Une copie d'archive de cet article peut e^tre re'cupe're'e par ftp
anonyme aux adresses suivantes:
ftp://grasp.insa-lyon.fr/pub/faq/fr/accents
ftp://ftp.ulaval.ca/contrib/yergeau/faq-accents
ftp://ftp.iro.umontreal.ca/pub/contrib/pinard/accents/accents.faq
On trouvera les versions Texinfo (`.texi') et Info (`.info') sur les
deux derniers sites, et une version Postscript sur le dernier.
*** Table des matie`res ***
N.B. Les nume'ros des sections nouvelles sont pre'ce'de's d'un +. Les
nume'ros des sections modifie'es depuis la dernie`re parution sont
pre'ce'de's d'une *.
1- Le jeu de caracte`res ISO-8859-1
2- Les logiciels qui comptent
3- Unix
4- X-Window
5- MS-DOS
*6- MS-Windows
7- Macintosh
8- VMS
9- OS/2
A1- Table ISO-8859-1
A2- MIME
A3- Xdefaults
A4- Programmes C
A5- Collaborateurs
--xxxSECTIONxxx
Le jeu de caracte`res ISO-8859-1
********************************
Pour pouvoir lire et e'crire des articles avec accents sur Usenet,
il est d'abord ne'cessaire de s'entendre sur un jeu de caracte`res
communs a` tous. A` premie`re vue, la situation n'est pas rose: a`
l'exception de certains dinosaures qui de'pendent encore du jeu EBCDIC,
tout le monde comprend le jeu US-ASCII, mais cette norme ne compte que
128 caracte`res, dont aucun accentue'. Pour les accents, il faut un
jeu de caracte`res 8 bits, mais les fabricants ne se sont jamais
entendus sur le codage des 128 caracte`res supple'mentaires. Les
micros PC utilisent un codage qui leur est propre, les Macs un autre,
les terminaux DEC encore un autre, etc.
Heureusement il existe une norme internationale, ISO-8859-1, a`
laquelle on peut se fier. Cette norme est de'ja` utilise'e par la
quasi-totalite' des syste`mes Unix supportant les caracte`res 8 bits,
les terminaux DEC VT220 et poste'rieurs, les PC sous MS-Windows, les
Amigas sous AmigaOS, et su^rement bien d'autres syste`mes. En plus de
n'e^tre pas particulie`re a` un seul syste`me, la norme ISO a
l'avantage de ne pas de'finir de codes entre 128 et 159, domaine
utilise' par certains terminaux pour des codes de contro^le. Cet
avantage peut e^tre important sur un re'seau tre`s he'te'roge`ne comme
Usenet.
En fait, ISO-8859-1 n'est qu'une partie de la norme ISO-8859, qui
spe'cifie au moins 9 jeux de caracte`res pour diverses langues.
ISO-8859-1 convient aux langues ouest-europe'ennes, -4 a` la
scandinavie, -6 a` l'arabe, etc.
Pourquoi adopter ISO-8859-1 sur Usenet? Tout simplement parce qu'il
n'y a pas de meilleur choix. ISO-8859-1 convient pour toutes les
langues suivantes: allemand, anglais, danois, espagnol, fe'ringien,
finnois, franc,ais, islandais, irlandais, italien, ne'e'rlandais,
norve'gien, portuguais et sue'dois. On trouvera une liste des
caracte`res ISO-8859-1 a` l'annexe 1.
En parcourant cette liste, ne perdez pas votre temps a` chercher la
ligature `oe' utilise'e en franc,ais: elle n'y est pas. La petite
histoire veut que ce manque soit du^ a` une absence du repre'sentant
franc,ais sur le comite' ISO-8859 au moment crucial de l'adoption
finale; on en aurait profite' pour remplacer les `oe' et `OE' (lie's),
qui e'taient dans la proposition originale, par les signes de
multiplication et de division. Si c,a vous chatouille, vous pouvez
vous consoler en songeant que le clavier d'une machine a` e'crire ne
comprend pas non plus cette ligature, qui n'a qu'une valeur purement
typographique; on peut argumenter que ce n'est pas le ro^le d'un jeu de
caracte`res d'indiquer les ligatures purement de'coratives, tout comme
il laisse a` d'e'ventuels codes de formattage le soin de pre'ciser le
type de caracte`re, la taille, la graisse, etc.
Le site `ftp://ftp.uni-erlangen.de/pub/doc/ISO' posse`de quelques
documents inte'ressants sur les standards ISO, y compris 8859. Un
autre site digne de mention est
`ftp://ftp.ulg.ac.be/pub/docs/iso8859/', qui contient deux textes
d'Andre' Pirard traitant de l'usage de l'ISO-8859-1 et contenant des
tables de traductions entre ce dernier et quelques autres jeux de
caracte`res d'usage courant. Ces textes se trouvent aussi en
`ftp://ftp.sri.ucl.ac.be/pub/ISO.8859-1/'.
--xxxSECTIONxxx
Les logiciels qui comptent
**************************
Plusieurs logiciels interviennent dans la cre'ation, la
transmission, le stockage et la lecture des messages Usenet. Au plus
pre`s de l'usager, il y a d'abord le terminal, ou ce qui en tient lieu
(e.g. un PC avec un logiciel d'e'mulation, ou un `xterm' sous `X11'),
ainsi que le syste`me d'exploitation. Pour pouvoir utiliser les
accents dans les News, il faut bien su^r que le terminal puisse les
afficher, et que le syste`me d'exploitation veuille bien les
transmettre au terminal sans tronquer le huitie`me bit. Un petit
effort de configuration peut souvent re'gler des proble`mes a` ce
niveau.
Vient ensuite l'outil de lecture des News (ci-apre`s le lecteur). Au
minimum, il doit transmettre sans rechigner les caracte`res 8 bits, mais
peut aussi aider a` corriger des incompatibilite's dans les jeux de
caracte`res. Lors de la re'daction des messages, un e'diteur,
inte'gre' ou non au lecteur, est utilise'. Il doit bien su^r e^tre
gentil avec les caracte`res 8 bits, mais doit aussi offrir un moyen de
les ge'ne'rer, a` moins que le syste`me d'exploitation ou le terminal
n'offre de'ja` un moyen approprie' (e.g. une touche Compose, ou un
clavier AZERTY).
Pour les machines monte'es en re'seau qui tirent les articles de
News d'un serveur, un logiciel appele' `NNTP' entre en jeu. Bien que
le standard de'crivant le protocole NNTP spe'cifie l'usage exclusif de
l'ASCII, les re'alisations existantes de serveurs NNTP, ainsi que les
re'seaux qu'ils desservent, ne semblent avoir aucun proble`me avec les
caracte`res 8 bits. Rien a` faire ici, c'est le beau fixe.
Pour que vous puissiez les lire, les articles doivent e^tre stocke's
sur un disque, classe's par Newsgroup, et de'truits pe'riodiquement
pour faire place aux articles nouvellement arrive's. Le logiciel qui
s'occupe de ces ta^ches est tout simplement appele' "logiciel de News"
(News software), et existe en plusieurs versions. `BNews', pie`ce de
muse'e tournant sous Unix, tronque le huitie`me bit de tout caracte`re,
et est donc un obstacle important a` la propagation des articles avec
accents; le malheur, c'est qu'un article qui transite par un site BNews
est de'finitivement cha^tre', me^me s'il ne passe par la suite que par
des sites *propres*. L'effet n'est pas que local au site BNews.
`CNews' et `INN', deux logiciels de News plus modernes, ne s'occupent
tout simplement pas des caracte`res 8 bits, ce qui est la bonne
manie`re de faire. Sur les machines IBM (les grosses, pas les PC), le
jeu de caracte`res est EBCDIC au lieu d'ASCII, ce qui constitue une
complication supple'mentaire qu'on ne semble pas avoir voulu attaquer.
En ge'ne'ral, ces sites cha^trent les articles en 8 bits; heureusement
ils sont de plus en plus rares, tout comme les sites BNews, qui tendent
a` disparai^tre sous la pression de la circulation Usenet grandissante
que `BNews' ne sait tout simplement pas ge'rer.
Finalement, les articles doivent e^tre transmis d'un site a`
l'autre, soit par `UUCP' sur des liens du genre ligne te'le'phonique,
soit par `NNTP' sur Internet. Dans tous les cas, les caracte`res 8
bits ne semblent pas souffrir.
On constate donc que les obstacles a` l'usage des accents ne se
trouvent qu'a` deux niveaux:
* le logiciel de News, ou` les sites coupables sont de'ja` fort
rares, et de plus, tendent a` disparai^tre sous la pression
e'volutive.
* au niveau de l'utilisateur, ou un peu de configuration suffit
souvent a` arranger les choses. Le reste de cet article
s'attachera donc a` e'tudier l'art et la manie`re de configurer
son syste`me pour pouvoir lire, et me^me e'crire, des articles
Usenet avec accents.
--xxxSECTIONxxx
Unix
****
[Lisez cette section, me^me si vous utilisez `X11'.]
Sous Unix, on interagit toujours avec le syste`me par le biais d'un
terminal, me^me si ce terminal est la console d'une station ou une
fene^tre sous X. Il faut donc d'abord s'inquie'ter de ce terminal, et
de ce que le syste`me en pense. A` priori, on n'aura pas d'accents si
le ve'ritable terminal n'affiche que l'ASCII. Si c'est le cas pour
vous, la seule solution est de changer pour un terminal postde'luvien,
a` moins qu'une fouille de la notice technique ne re've`le une option de
configuration qu'un constructeur sadique aurait laisse' en position
ASCII. (Essayez F3 sur les terminaux DEC).
Il faut ensuite avertir le syste`me que le terminal accepte et
transmet des octets entiers, sans troncature du huitie`me bit. Sous un
syste`me d'ascendance BSD, la commande idoine est `stty pass8', que
vous pouvez placer dans votre fichier `.profile' ou `.login', selon le
shell utilise'. Sous System V, essayez `stty cs8 -istrip', ou me^me
`stty cs8 -istrip -parenb'. Si l'entre'e pour votre terminal dans
`/etc/gettytab' contient l'option `ap', remplacez-la par `p8'. Si vous
acce'dez au syste`me via `rlogin', l'option `-L' ou `-8' peut e^tre
ne'cessaire.
Il peut aussi e^tre utile d'avertir le syste`me du jeu de caracte`res
utilise', par exemple par `setenv LC_CTYPE iso_8859_1' sous `csh' et
de'rive's, ou `LC_CTYPE=iso_8859_1; export LC_CTYPE' sous `sh' et les
shell POSIX (`ksh', `zsh', `bash', etc.). Le comportement ici de'pend
un peu du syste`me; il se peut que la variable `LANG' soit plus
approprie'e, avec une valeur comme `fr_Fr' ou `french.88591' (HP-UX) ou
me^me `iso_8859_1'. Ces variables peuvent affecter le comportement 8
bits de votre e'diteur et d'autres commandes. Par exemple, si je ne
mets pas `LC_CTYPE' a` `iso_8859_1', ma version de `vi' affiche `\351'
pour un `e' accent aigu et `fmt' enle`ve sans vergogne les caracte`res
8 bits.
`bash' (Bourne Again Shell) ne supporte les caracte`res 8 bits qu'a`
partir de la version 1.13.4. Solutions possibles: de'marrez un `sh'
avant de faire de'marrer le lecteur ou l'e'diteur, ou encore obtenez une
version 1.13.4 ou ulte'rieure et mettez ceci dans un fichier `.inputrc':
set convert-meta off
set output-meta on
A` ce stade, vous pouvez ve'rifier si c,a marche: faites afficher un
fichier contenant des accents, et tapez quelques lettres accentue'es au
clavier. Il se peut que votre shell interpre`te les caracte`res 8 bits
tape's au clavier comme des se'quences META-X; essayez alors de faire un
`cat' sans argument, qui ne vous donnera qu'un e'cho. Ctrl-D vous sort
de la`. Si un `e' accent aigu devient un `i', et de me^me pour `e'
accent grave, etc., c'est que le huitie`me bit est masque'. Ve'rifiez
que la connexion entre le terminal et la machine est bien en 8 bits:
port se'rie, modem, serveur de terminal, etc. Votre administrateur
local pourra peut-e^tre vous aider ici. Si vous utilisez la commande
`less', il pourra e^tre utile d'inclure `setenv LESSCHARSET latin1'
dans votre fichier `.login' ou `.profile'.
Pour e'crire les accents, il y a plusieurs possibilite's. Si vous
avez un clavier franc,ais, assurez-vous qu'il est bien ge're' (par
exemple sur AIX); sinon, essayez de trouver une rustine et
appliquez-la. Votre terminal peut aussi fournir une touche Compose,
dont l'usage sera indique' dans la notice. C'est moins convivial qu'un
vrai clavier accentue', mais c'est utilisable; ve'rifiez donc si vous
pouvez reprogrammer le clavier a` votre convenance (pour `X', voir la
section suivante). En dernier ressort, certains e'diteurs offrent des
moyens, plus ou moins simples, de ge'ne'rer des caracte`res arbitraires;
voyez le manuel de celui qui vous servira a` composer vos articles
Usenet (cf. ci-bas pour GNU Emacs).
Un proble`me un peu pe'riphe'rique est celui d'obtenir des copies sur
papier d'articles Usenet. Si vous voulez imprimer des articles
contenant des caracte`res 8 bits sur une imprimante PostScript, vous
aurez peut-e^tre des proble`mes. Si votre installation est base'e sur
Adobe Transcript, vous de'couvrirez rapidement que le programme
`enscript' qui fait le travail ne veut rien savoir des caracte`res 8
bits. La solution est d'obtenir un des nombreux convertisseurs
texte=>PostScript, dont `a2ps' qui est non seulement gratuit, mais ge`re
l'ISO-8859-1 (avec l'option `-8') et produit de tre`s jolies
impressions. Disponible sur `ftp://ftp.imag.fr:archive/postscript/'.
Les lecteurs:
`rn'
(graticiel) Comple`tement pe'rime', mais encore assez re'pandu.
Malgre' son a^ge canonique, il accepte les caracte`res 8 bits.
`trn'
(graticiel) `trn' signifie "Threaded Read News", ce qui veut dire
qu'il vous permet de suivre les fil de la conversation dans
l'ordre, re'ponses avant questions, etc. Il n'a aucun proble`me
avec les accents, bien qu'on dise qu'il soit faussement 8-bits.
Il faut bien su^r l'associer a` un editeur 8 bits (`vi' ou GNU
Emacs font l'affaire, ainsi que `textedit' sur Sun). Les versions
re'centes offrent un certain support pour MIME. Une rustine
non-officielle pour `trn' 3.4.1 a paru re'cemment dans
`alt.sources', qui permet la substitution de caracte`res a` la
lecture des articles; utile pour transformer la notation TeX en
vrai ISO-8859-1, ou pour transcoder l'ISO-8859-1 en ASCII pur si
votre terminal est 7 bits.
`strn'
(graticiel) Base sur `trn', les versions 0.9.1 et ulte'rieures
fonctionnent bien en 8 bits.
`nn'
(graticiel) L'auteur avoue qu'il a honte de laisser sortir du
Danemark un programme qui ne supporte pas comple`tement les
caracte`res 8 bits. Cependant, avec une version suffisamment
re'cente (6.4.6 et suivante, je crois), on peut *lire* les
caracte`res ISO-8859, a` condition d'ajuster la variable
`data-bits' a` 8. Pour ce faire, on peut de'marrer `nn' avec la
commande `nn data-bits=8', ou mettre une commande
`set data-bits 8' dans le fichier `~/.nn/init', ou mieux encore
dans le fichier d'initialisation global (possiblement
`/usr/local/lib/nn/init'). Si vous e^tes coince' avec un terminal
7 bits, il existe une rustine a` `nn', utilisant le programme
`iso2asc' de Markus Kuhn, qui transforme les caracte`res
accentue's en un ersatz ASCII. Avec la version courante (6.4.18),
on peut aussi e'crire les accents, et avoir acce`s a` `metamail'
pour une certaine mesure de compatibilite' MIME. Finalement, `nn'
ge`re les "threads".
`tin'
(graticiel) Roule parfaitement en 8 bits a` partir de la version
1.1.8. `tin' est aussi un "threaded Newsreader".
`tass'
(graticiel) Tre`s convivial (plein e'cran, "threaded"), mais on
signale qu'il plante s'il trouve un caracte`re 8 bits dans
l'en-te^te d'un article, ou s'il rec,oit un 255 via NNTP.
`GNUS'
(graticiel) `GNUS' est un lecteur de News associe' a` l'e'diteur
Emacs (en option avec Emacs 18, standard avec Emacs 19). Il
supporte les caracte`res 8 bits a` partir du moment ou` Emacs les
supporte, ce qui est le cas pour Emacs 19. Pour Emacs 18, des
rustines sont disponibles: la rustine "8-bit ctl-arrow patch" pour
Emacs 18.58, du^e semble-t-il a` Johan Vromans, permet a` Emacs
d'afficher les caracte`res de 128 a` 255. A` chercher parmi les
adresses suivantes:
ftp://ftp.eu.net/gnu/emacs/FP-EightBit.Z
ftp://ftp.urc.tue.nl/pub/tex/emacs/FP-EightBit
ftp://cs.purdue.edu/pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57
ftp://sics.se:archive/emacs-18.55-8bit-diff
ftp://laas.laas.fr/pub/emacs/patch-8bit-18.55
ftp://laas.laas.fr/pub/emacs/patch-8bit-18.57
Anders Edenbrandt `anderse@dna.lth.se' a e'crit une rustine plus
comple`te pour 18.59 qui permet la saisie aussi bien que
l'affichage en 8 bits.
La source est: `ftp://ftp.efd.lth.se:pub/gnu/emacs_8-bit.patch'.
Les rustines les plus comple`tes pour Emacs 18 seraient celles de
Howard Gayle, mises a` jour par Thomas Bellman pour 18.59.
Cherchez dans la liste suivante:
ftp://sics.se/archive/emacs-gayle.tar.Z
ftp://ftp.lysator.liu.se/pub/emacs/gayle-18.58.diff.tar.Z
ftp://ftp.lysator.liu.se/pub/emacs/emacs-18.59-gayle.tar.Z
Avec Emacs 19, il suffit d'ajouter a` son fichier `.emacs':
;; Affichage des caracte`res 8 bits.
(standard-display-european t)
;; Les nouveaux caracte`res sont des lettres.
(require 'iso-syntax )
;; Incantation magique, pas tre`s ne'cessaire
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode)) 0)
Pour inse'rer des caracte`res 8 bits, vous pouvez utiliser la
touche Compose, si vous en avez une.
Autrement, avec Emacs 18, voyez les extensions de Matthieu Herrb
(`ftp://laas.laas.fr/pub/emacs/iso-latin-1.el'), de Johan Vromans
`jv@mh.nl' {site FTP??}, et de Marc Shapiro `shapiro@sor.inria.fr'
{site FTP??}. Il y aurait aussi des rustines du^es a` Karl Heuer
`karl@haddock.ima.isc.com' et George-Wilhelm Koltermann
`gwk@crmunich0.cray.com'.
Avec Emacs 19, qui est 8 bits tel que fourni, il suffit d'ajouter
la ligne:
(require 'iso-insert)
au fichier `.emacs' pour obtenir une me'thode utilisant la
se'quence de touches `CTRL-x 8'. Vous pouvez aussi utiliser une
extension en Emacs LISP: `cfr1.el' de'finit un mode mineur,
enclenchable a` volonte', qui reprogramme le clavier selon le
mode`le d'un clavier de machine a` e'crire que'be'coise (QWERTY
le'ge`rement modifie', avec la plupart des lettres accentue'es
obtenues suivant le mode`le du "me'canisme de touche morte", e.g.
`'e' affichera un `e' accent grave); disponible sur
`ftp://ftp.ulaval.ca:/contrib/yergeau/'. A` partir de la version
19.22, vous pouvez enclencher le mode mineur `iso-accents-mode'
pour taper des accents de fac,on fort conviviale. Ajoutez la
ligne suivante a` votre fichier `.emacs' pour avoir ce mode au
bout des doigts: `(global-set-key [f1] 'iso-accents-mode)'.
--xxxSECTIONxxx
X-Window
********
Sous `X', il y a deux grandes possibilite's: ou bien vous utilisez un
lecteur en mode caracte`re dans une fene^tre e'mulant un terminal
(`xterm', `commandtool', etc.), ou bien vous utilisez un lecteur qui
est un authentique client X. Dans le premier cas, la plupart des
conside'rations de la section pre'ce'dente s'appliquent.
Dans les deux cas, il faut d'abord s'assurer que la fene^tre
d'affichage est munie d'une fonte ISO-8859-1. Ceci se fait au moyen
d'une ressource `X' que l'on spe'cifie normalement dans un fichier
`.Xdefaults' dans le re'pertoire $HOME. Pour `xterm', par exemple, ce
fichier devra contenir une ligne ressemblant a`:
XTerm*VT100*font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1
Le choix de la fonte particulie`re est vo^tre, bien su^r. Ce qui
compte, c'est que ce soit une fonte de largeur fixe (non
proportionnelle), et que son nom se termine par `m-*-iso8859-1'. Les
utilitaires `X' `xfontsel' et `xlsfonts' sont utiles pour choisir une
fonte approprie'e. Les utilisateurs de `X11R4' (mais pas OpenWindows)
feront bien de prendre note que les fontes y sont marque'es ISO sans
vraiment l'e^tre! Une solution, plus facile que la mise a` jour
comple`te a` R5, est de recopier les fontes `fixed' de `X11R5' a` la
place des fontes correspondantes de `X11R4'.
Les `commandtool' et `shelltool' de OpenWindows ont des fontes
ISO-8859-1 par de'faut, il n'y a rien a` faire. Si vous utilisez un
lecteur X (e.g. `xrn'), remplacez `XTerm*VT100' dans l'exemple
ci-dessus par le nom de l'application (e.g. `xrn*font:'). Ceci devrait
suffire pour lire les accents.
N.B. Lorsque vous modifiez votre fichier `.Xdefaults', les nouvelles
ressources n'ont pas d'effet imme'diat. Pour voir l'effet, vous devez
avertir le serveur `X' de vos de'sirs en donnant la commande
`xrdb -merge ~/.Xdefaults'. Apre`s ceci, les *nouvelles* fene^tres
`xterm' ou autres tiendront compte des changements. Vous pouvez aussi,
bien su^r, sortir de `X' et y revenir, mais c'est plus lent.
Pour e'crire des accents, il y a encore un peu de chemin a` faire.
`xterm' exige une ressource pour lui dire d'accepter les caracte`res 8
bits. Placez ceci dans votre `.Xdefaults':
XTerm*EightBitInput: True
Ceci n'est plus ne'cessaire a` partir de `X11R5'. Les lecteur `X'
ont peut-e^tre des exigences semblables, je n'en sais rien.
Reste le proble`me du clavier. Si vous avez une touche Compose, vous
e^tes pare', mais peut-e^tre pas content (c'est pluto^t pe'nible a`
utiliser). La commande `xmodmap' vous inte'ressera alors probablement:
elle permet de reprogrammer le clavier de manie`re passablement
flexible. Voir le manuel pour le mode d'utilisation, et l'utilitaire
`xkeycaps' pour un moyen convivial de ge'ne'rer un fichier `.xmodmap'.
Si vous utilisez un lecteur en mode caracte`re dans un `xterm', il
existe une solution tre`s e'le'gante, utilisant la ressource
`translations', pour reprogrammer le clavier de facon dynamique. Un
extrait de fichier `.Xdefaults' que l'on trouvera en appendice (*note
Xdefaults::.) donne un bon exemple de l'utilisation de cette ressource.
La touche F1 permet de basculer entre le clavier par de'faut et un
clavier Selectric que'be'cois, la touche F2 bascule entre le standard
et un clavier multinational permettant d'entrer tous les caracte`res
ISO-8859-1.
Les lecteurs:
`xrn'
(graticiel) Cordialement de'teste' par certaines gens, mais fait
les accents sans proble`me. Une ressource de la forme
`*Text*translations: #override' dans le fichier `~/.Xdefaults'
peut e^tre utilise'e pour reprogrammer le clavier pour e'crire des
accents.
`xvnews'
(graticiel) Un lecteur base' sur `XView' (qu'il faut avoir pour
compiler). Affiche sans proble`me les caracte`res accentue's.
MS-DOS
******
[Cf. la section suivante si vous utilisez Windows.]
Les machines MS-DOS utilisent par de'faut un codage diffe'rent de
ISO-8859-1 (CP 437) pour les caracte`res accentue's. Il faut donc faire
un transcodage pour se conformer a` la norme. Depuis MS-DOS 3.3, on
peut installer la page de code CP 850, qui contient les me^mes
caracte`res que l'ISO-8859-1, mais dans un ordre diffe'rent. Ceci
n'enle`ve pas la ne'cessite' de transcodage, mais permet au moins de le
faire sans perte.
Enfin, et peut-e^tre le plus inte'ressant, il existe des tables
ISO-8859 en format page de code (`.CPI'). Elles sont disponibles a`
l'adresse `ftp://ftp.uni-erlangen.de/pub/doc/ISO/charsets'.
Le fichier `isocp101.zip' permet de transformer comple`tement un PC en
terminal ISO-8859-1, ce qui e'limine bien des proble`mes. J'ai aussi
copie ce fichier sur le site
`ftp://ftp.ulaval.ca/contrib/yergeau/'.
Le site `watson.cc.columbia.edu' offre `fntutl15.zip', qui semble e^tre
similaire.
On trouvera en appendice une paire de fonctions en C qui fait le
transcodage de CP437 a ISO-8859-1 et retour. *Note Filtres::.
Si vous utilisez un des logiciels de communications `Telix',
`Procomm Plus' et `Telemate' pour rejoindre une autre machine qui livre
les articles, vous serez peut-e^tre interesse' par le fichier
`xlate.zip', qui contient des tables de transcodage pour ces
programmes. `xlate.zip' contient:
pcplus.xlt ISO --> IBM translation for ProComm Plus
telixout.xlt IBM --> ISO translation for Telix
telixin.xlt ISO --> IBM translation for Telix
tm.key ISO <-> IBM translation for Telemate
readme.txt Setup information
table.txt ISO <-> IBM translation tables (Text)
Obtenez-le sur Modula BBS ou par ftp sur:
ftp://plaza.aarnet.au.edu/micros/pc/garbo/pc/termutil/
ftp://plaza.aarnet.au.edu/micros/pc/oak/modem/
(deux versions le'ge`rement diffe'rentes, semble-t-il, faites votre
choix).
Les lecteurs:
`Trumpet'
(partagiciel) Je l'ai essaye', c,a ne marche pas. C,a passe les 8
bits, mais il faudrait faire pression sur l'auteur pour qu'il
fasse le transcodage (*note Filtres::., les sources n'e'tant pas
disponibles (?).
`Waffle'
(?) Waffle est transparent aux 8 bits, mais ne fait pas le
transcodage entre les jeux IBM et ISO. Vous pouvez le configurer
pour pouvoir *e'diter* les articles correctement de la manie`re
suivante:
Dans le fichier `\waffle\extern\_editors', mettez la ligne suivante
(une seule ligne en fait, que nous avons du^ de'couper en deux ici
pour qu'elle entre dans la largeur du document):
nix /access=9 /slash /command="c:\command.com /E:512
/c d:\waffle\bin\nix.bat %i"
Cre'ez ensuite un fichier `\waffle\bin\nix.bat' contenant les
lignes suivantes:
iso2ibm %1 > temp
ued temp
ibm2iso temp > %1
del temp
`ued' est l'e'diteur, et `iso2ibm' et `ibm2iso' sont les routines
de transcodage de Rene' Cougnenc cite'es en appendice (*note
Filtres::.).
`nwreader'
Aucune information disponible.
`rusnews'
(graticiel) Fonctionne normalement sous Waffle, mais peut e^tre
installe' autrement. `rusnews' est transparent aux caracte`res 8
bits, ce qui est tre`s bien mais insuffisant, puisque le jeu de
caracte`res n'est pas ISO-8859-1. Disponible par ftp sur
`ftp://wsmr-simtel20.army.mil:waffle/rusn-*.zip' et sur
`ftp://halcyon.com:/pub/waffle/news/rusn-*.zip' pour la version la
plus re'cente. On rapporte que `rusnews' est peut-e^tre
de'ce'de', remplace' par `rnr'.
`rnr'
Aucune information disponible.
`znreader'
Aucune information disponible.
`rnf'
Aucune information disponible.
`pcnews'
Aucune information disponible.
`FTPNuz'
Aucune information disponible.
`snews'
(graticiel) `snews' est un lecteur destine' a` e^tre utilise' avec
`uupc'/Extended, un logiciel UUCP pour MS-DOS. La version 1.91 a
e'te' modifie'e par Daniel Fandrich, et comprend un sous-ensemble
du standard MIME, en particulier l'utilisation des jeux de
caracte`res ISO-8859-1 et PC 437. Supporte aussi les accents dans
les en-te^tes, selon la norme RFC 1342. Il y a une version OS/2.
`Minuet'
(partagiciel, 50$US) Un logiciel multi-usage de l'U. du Minnesota,
la portion lecteur de la version 1.0b15 semble supporter non
seulement les caracte`res 8 bits mais l'ISO-8859-1 aussi!
Fonctionne avec le protocole SLIP (i.e. lien TCP/IP sur ligne
se'rie). Minuet combine un lecteur NNTP, le courrier via POPmail,
un client gopher, Telnet, FTP, Finger et Ping. Malheureusement,
la version beta courante semble un peu instable et ne
fonctionnerait pas avec `INN' 1.4. Le lecteur fonctionne en mode
hors-ligne et ne ge`re pas encore les "threads" ou les filtres par
sujet. Disponible sur
`ftp://boombox.micro.umn.edu/pub/pc/minuet/'.
MS-Windows
**********
Windows utilise les caracte`res ISO-8859-1 (plus pre'cisement Unicode
tronque' a` 8 bits, mais il ne semble pas y avoir de diffe'rence en
pratique). Si aucun logiciel cruel ne tronque le huitie`me bit en
chemin, vous e^tes pare'.
Les lecteurs:
`WinQVT/Net'
(partagiciel) Un logiciel polyvalent (telnet, ftp, News, mail et
impression a` distance), qui s'en tire tre`s bien avec les
accents. Le lecteur de News est toutefois simple a` l'exce`s, et
il tronque les articles trop longs, comme cette FAQ, ou` il
n'atteint pas la section MS-DOS.
`WinTrumpet'
(partagiciel) NNTP seulement. Les accents fonctionnent au moins
dans la version WinSock. Disponible par ftp sur
`ftp://ftp.utas.edu.au/pc/trumpet/wintrump/'.
`HellDiver'
Fonctionne avec Waffle. Aucune autre information disponible.
`WinVN'
(domaine public, beta) ftp anonyme de `ripem.msu.edu' et
`ftp://ftp.ksc.nasa.gov/[pub.win3.winvn]/'. Traite correctement
les accents au moins a` partir de la version 0.93.14, mais
ge'ne`re des en-te^tes MIME incomplets. Au moins un bogue
se'rieux (n'obe'it pas a` l'en-te^te Followup-To) sera corrige'
de`s la prochaine version. De tradition unixienne, il est
comple`tement gratuit, y compris les sources.
`News Xpress'
(graticiel, beta) `News Xpress' est un tout nouveau lecteur NNTP
qui exige `Winsock'. La version la plus re'cente est la 1.0b3. Il
s'en tire fort bien avec les accents, mais ne ge`re pas MIME.
D'autre part, il permet d'acce'der a` des URL dans le texte
simplement en cliquant dessus. Son port d'attache est
`ftp://ftp.hk.super.net/pub/windows/winsock-utilities/nx10b3.zip',
mais on le trouvera aussi sur `ftp.cica.indiana.edu' et ses
miroirs.
`Free Agent'
(graticiel, beta) Un autre nouveau, NNTP sur Winsock, mais hors
ligne aussi bien qu'en ligne. La version courante est 0.42. Il
semblerait qu'il ge`re l'ISO-Latin-1. On le trouve sur
`ftp://ftp.forteinc.com/pub/agent/agent038.zip'. Il a un grand
fre`re commercial (`Agent') qui fait aussi le courriel via POP.
`Netscape Navigator'
(partagiciel) C'est un fureteur pour le W3, mais il a un mode
d'acce`s a` Usenet via NNTP. Il affiche correctement les accents
ISO Latin-1, mais la version 1.1b (contrairement a` la 1.0) les
de'figure a` l'expe'dition (il ge'ne`re du quoted-printable a` la
norme MIME, ce qui n'a gue`re sa place sur Usenet). Disponible
sur `ftp://ftp.netscape.com/netscape/'.
--xxxSECTIONxxx
Macintosh
*********
Les Mac utilisent un codage diffe'rent de ISO-8859-1 pour les
caracte`res accentue's. Il faut donc faire un transcodage pour se
conformer a` la norme. On trouvera en appendice une paire de fonctions
en C qui fait cette ope'ration tre`s simple, dans les deux sens. *Note
Filtres::.
Notons qu'il n'y a pas correspondance de un a` un entre les deux
jeux, certains caracte`res existant dans un jeu mais pas dans l'autre;
le transcodage ne saurait donc e^tre parfait, mais il n'y a pas de
proble`me avec les lettres accentue'es franc,aises ordinaires.
Les lecteurs:
`TheNews'
(partagiciel, 25$US) Fonctionne avec MacTCP ou un lien se'rie. A`
partir de la nouvelle version 2.3 (qui inte`gre UUCP et TCP), les
tables ISO sont fournies et facilement rendues utilisables en
changeant les nume'ros d'id de deux ressources `xlat' au moyen de
ResEdit. Disponible sur
`ftp://mac.archive.umich.edu/mac/util/comm/thenews2.31.sit.hqx'.
`NewsWatcher'
(graticiel) NewsWatcher est possiblement le lecteur le plus
populaire sur Mac, bien qu'il soit encore en de'veloppement.
N'existe plus qu'en version MacTCP, la version lien se'rie ayant
e'te' abandonne'e lors du passage a` la se'rie 2.0b. Ces versions
re'centes supportent les caracte`res 8 bits et ISO-8859-1, en
faisant un lecteur de choix pour les Macs en re'seau. Le site
officiel est `ftp://ftp.acns.nwu.edu/pub/newswatcher/'. La version
franc,aise se trouve en `ftp://ftp.sri.ucl.ac.be/pub/NewsWatcher/'.
`Nuntius'
(graticiel) Requiert MacTCP. Traite correctement les accents
ISO-8859-1 a` partir d'au moins la version 1.1.1d21. Avec
1.1.1d25, choisir l'option `ISO-Latin1' dans le menu `Prefs',
article `News server', option `Character set translate table'.
Disponible par ftp anonyme sur `frederick.ruc.dk', `ftp.luth.se',
`nic.switch.ch',
`ftp.cit.cornell.edu' et probablement ailleurs.
`InterNews'
(gratuit pour les maisons d'enseignement, 25$US autrement) Tout
nouveau, InterNews requiert un Mac tournant MacTCP, les articles
provenant d'un serveur NNTP. La nouvelle version 1.0.1 supporte
l'ISO-8859-1. InterNews classe les articles par sujet.
Disponible sur `ftp://ftp.dartmouth.edu/pub/mac/'.
`Mews'
(?) Requiert MacTCP. Comportement 8 bits inconnu. Disponible sur
`ftp://ftp.utas.edu.au:/mac/Mews_2.4.2.sit.hqx'.
`StackedNews'
(?) Requiert MacTCP. Comportement 8 bits inconnu. Disponible sur
`ftp://sumex-aim.stanford.edu/info-mac/comm/stacked-news-14-hc.hqx'.
`NetNewsReader'
(?) Requiert MacTCP. Comportement 8 bits inconnu. Disponible sur
`ftp://ra.nrl.navy.mil/MacSciTech/comm/NetNewsReader121.sit.hqx'.
`MacNews'
(?) Fonctionne par lien se'rie. Comportement 8 bits inconnu.
Disponible sur
`ftp://mac.archive.umich.edu/mac/util/comm/macnews1.1.cpt.hqx'.
`NetFeed'
(?) Fonctionne par lien se'rie. Comportement 8 bits inconnu.
Disponible sur
`ftp://sumex-aim.stanford.edu/info-mac/comm/net-feed-101.hqx'.
--xxxSECTIONxxx
VMS
***
Le "DEC Multinational Character Set", employe' depuis 1982 sur les
ordinateurs VAX/VMS et les terminaux VT2xx, est base' sur une version
provisoire d'ISO-8859-1, duquel il est donc tre`s proche. Il y a tre`s
peu de diffe'rences au niveau des caracte`res accentue's, la plus grande
e'tant la ligature `oe' qui a disparu du standard. Depuis quelques
anne'es, les VAX et les terminaux VT3xx utilisent l'ISO-8859-1 standard.
Les VT2xx et VT3xx internationaux posse`dent une touche Compose, qui
sert a` composer des caracte`res accentue's assez facilement: `Compose
e '' par exemple donnera un `e' accent aigu. C'est donc dire que cette
compagnie n'est pas insensible a` la ne'cessite' des accents et qu'on
peut espe'rer ne pas avoir trop de proble`mes.
La commande `SET TERMINAL/EIGHT_BIT' pourra eventuellement e^tre
utile. Si c,a ne suffit pas, assurez-vous que les parame`tres du
terminal sont tels que la communication est en 8 bits, et offrez-vous
un `SET TERMINAL/INQ' avant de continuer. Si vous utilisez EDT comme
e'diteur, la touche SPECINS (SPECial INSert) peut servir pour e'crire
les accents. Par exemple, `GOLD-233-GOLD-SPECINS' devrait donner un
`e' accent aigu (Beurk!).
Sous Decwindows/Motif, on rapporte que la combinaison UPSS DEC
supplemental (et non pas UPSS ISO Latin 1?), avec le 8 bit
Multinational Character Set et ANU-News fonctionne a` merveille.
Les lecteurs:
`ANU-News'
Un syste`me de gestion des News complet, incluant un lecteur avec
une interface usager de style VMS. Passe les 8 bits sans
proble`me.
Disponible par ftp sur `kuhub.cc.ukans.edu'.
`VMS News'
(?) Client NNTP. Ce lecteur est capable d'afficher et de ge'ne'rer
les caracte`res accentue's, au moins pour la version 1.20. Il est
"threaded". Disponible sur
`ftp://info.rz.uni-ulm.de/pub/VMS/communication/news125.zip' ou
`ftp://ftp.spc.edu/[anonymous.ucx]news_125.share'.
`VNEWS'
(?) Client NNTP. Comportement 8 bits inconnu.
Contactez Joel Snyder `jms@arizona.edu' pour l'obtenir par ftp.
`DXRN'
(?) Version DECwindows de `xrn'. Client NNTP. Accepte les 8 bits
sans proble`me. Tourne aussi sous Ultrix. Il existe aussi une
version Motif, `mxrn', qui accepte les 8 bits et tourne sous VMS
et Ultrix. Disponible sur
`ftp://decuac.dec.com:/pub/DEC/dxrn.share'.
`NEWSRDR'
(?) Client NNTP. Comportement 8 bits inconnu. Disponible par
`ftp://ftp.spc.edu/[.MADISON.NEWSRDR]/'.
`Fnews'
(?) Comportement 8 bits inconnu. Disponible sur
`ftp://zephyr.grace.cri.nz:/pub/fnews/vms/'.
--xxxSECTIONxxx
OS/2
****
OS/2 2.1 utilise malheureusement le jeu IBM CP 850 au lieu de
l'ISO-8859-1 (alias CP 819). Les lecteurs en mode texte devraient donc
souffrir du proble`me de jeux de caracte`res incompatibles, alors que
les lecteurs tournant sous Presentation Manager pourraient be'ne'ficier
du fait que ce logiciel utilise l'ISO-8859-1 (mais voir NewsReader/2
ci-dessous).
Les lecteurs:
`tin'
(?) Il y a une version OS/2 de tin 1.22 disponible sur
`ftp://ftp-os2.cdrom.com:/pub/os2/2_x/network/'. NNTP ou acce`s
direct. Cf. la section Unix pour des de'tails sur `tin', de'tails
qui ne s'appliquent pas ne'cessairement a` la version OS/2.
`IBM NewsReader/2'
(commercial) Interface Presentation Manager. Livre' avec le
"TCP/IP 2.0 base" de IBM. Passe correctement les caracte`res 8
bits, mais affiche la page de code CP850, apparemment sans
possibilite' de configuration de CP819.
`snews'
[Cf. la section MS-DOS.]
--xxxSECTIONxxx
Content-Type: text/plain; charset=ISO-8859-1
Table ISO-8859-1
****************
Les 128 premiers caracte`res sont identiques a` l'US-ASCII, et ne
sont pas re'pe'tes ici. Les caracte`res 128 a` 159 re'pe`tent les
caracte`res de contro^le de 0 a` 31 de l'US-ASCII, et sont donc sans
inte're^t.
+----+-----+---+------------------------------------------------------
|Hex | Dec |Car| Description
+----+-----+---+------------------------------------------------------
| | | |
| A0 | 160 | | espace ins�cable
| A1 | 161 | ! | point d'exclamation invers�
| A2 | 162 | � | symbole centime
| A3 | 163 | � | symbole livre
| A4 | 164 | � | symbole mon�taire
| A5 | 165 | � | symbole yen
| A6 | 166 | � | barre (verticale) bris�e
| A7 | 167 | � | symbole paragraphe
| A8 | 168 | � | tr�ma
| A9 | 169 | � | symbole copyright
| AA | 170 | � | indicateur ordinal, f�minin
| AB | 171 | � | guillemet fran�ais gauche
| AC | 172 | � | symbole n�gation
| AD | 173 | � | trait d'union conditionnel
| AE | 174 | . | symbole enregistr�
| AF | 175 | � | macron
| | | |
| B0 | 176 | � | symbole degr�
| B1 | 177 | � | signe plus ou moins
| B2 | 178 | � | exposant deux
| B3 | 179 | � | exposant trois
| B4 | 180 | � | accent aigu
| B5 | 181 | � | symbole micro
| B6 | 182 | � | symbole alin�a, pied-de-mouche
| B7 | 183 | � | point central
| B8 | 184 | � | c�dille
| B9 | 185 | � | exposant un
| BA | 186 | � | indicateur ordinal, masculin
| BB | 187 | � | guillemet fran�ais droit
| BC | 188 | � | fraction un quart
| BD | 189 | � | fraction un demi
| BE | 190 | � | fraction trois quarts
| BF | 191 | ? | point d'interrogation invers�
| | | |
| C0 | 192 | � | A majuscule avec accent grave, latin
| C1 | 193 | � | A majuscule avec accent aigu, latin
| C2 | 194 | � | A majuscule avec accent circonflexe, latin
| C3 | 195 | � | A majuscule avec tilde, latin
| C4 | 196 | � | A majuscule avec tr�ma ou signe umlaut, latin
| C5 | 197 | � | A majuscule avec rond, latin
| C6 | 198 | � | ligature AE majuscule, latin
| C7 | 199 | � | C majuscule avec c�dille, latin
| C8 | 200 | � | E majuscule avec accent grave, latin
| C9 | 201 | � | E majuscule avec accent aigu, latin
| CA | 202 | � | E majuscule avec accent circonflexe, latin
| CB | 203 | � | E majuscule avec tr�ma ou signe umlaut, latin
| CC | 204 | � | I majuscule avec accent grave, latin
| CD | 205 | � | I majuscule avec accent aigu, latin
| CE | 206 | � | I majuscule avec accent circonflexe, latin
| CF | 207 | � | I majuscule avec tr�ma ou signe umlaut, latin
| | | |
| D0 | 208 | � | ETH majuscule islandais
| D1 | 209 | � | N majuscule avec tilde, latin
| D2 | 210 | � | O majuscule avec accent grave, latin
| D3 | 211 | � | O majuscule avec accent aigu, latin
| D4 | 212 | � | O majuscule avec accent circonflexe, latin
| D5 | 213 | � | O majuscule avec tilde, latin
| D6 | 214 | � | O majuscule avec tr�ma ou signe umlaut, latin
| D7 | 215 | � | signe multipli� par
| D8 | 216 | � | O majuscule avec barre, latin
| D9 | 217 | � | U majuscule avec accent grave, latin
| DA | 218 | � | U majuscule avec accent aigu, latin
| DB | 219 | � | U majuscule avec accent circonflexe, latin
| DC | 220 | � | U majuscule avec tr�ma ou signe umlaut, latin
| DD | 221 | � | Y majuscule avec accent aigu, latin
| DE | 222 | � | THORN majuscule, islandais
| DF | 223 | � | double s minuscule, allemand
| | | |
| E0 | 224 | � | a minuscule avec accent grave, latin
| E1 | 225 | � | a minuscule avec accent aigu, latin
| E2 | 226 | � | a minuscule avec accent circonflexe, latin
| E3 | 227 | � | a minuscule avec tilde, latin
| E4 | 228 | � | a minuscule avec tr�ma ou signe umlaut, latin
| E5 | 229 | � | a minuscule avec rond, latin
| E6 | 230 | � | ligature ae minuscule, latin
| E7 | 231 | � | c minuscule avec c�dille, latin
| E8 | 232 | � | e minuscule avec accent grave, latin
| E9 | 233 | � | e minuscule avec accent aigu, latin
| EA | 234 | � | e minuscule avec accent circonflexe, latin
| EB | 235 | � | e minuscule avec tr�ma ou signe umlaut, latin
| EC | 236 | � | i minuscule avec accent grave, latin
| ED | 237 | � | i minuscule avec accent aigu, latin
| EE | 238 | � | i minuscule avec accent circonflexe, latin
| EF | 239 | � | i minuscule avec tr�ma ou signe umlaut, latin
| | | |
| F0 | 240 | � | eth minuscule, islandais
| F1 | 241 | � | n minuscule avec tilde, latin
| F2 | 242 | � | o minuscule avec accent grave, latin
| F3 | 243 | � | o minuscule avec accent aigu, latin
| F4 | 244 | � | o minuscule avec accent circonflexe, latin
| F5 | 245 | � | o minuscule avec tilde, latin
| F6 | 246 | � | o minuscule avec tr�ma ou signe umlaut, latin
| F7 | 247 | � | symbole divis� par
| F8 | 248 | � | o minuscule avec barre, latin
| F9 | 249 | � | u minuscule avec accent grave, latin
| FA | 250 | � | u minuscule avec accent aigu, latin
| FB | 251 | � | u minuscule avec accent circonflexe, latin
| FC | 252 | � | u minuscule avec tr�ma ou signe umlaut, latin
| FD | 253 | � | y minuscule avec accent aigu, latin
| FE | 254 | � | thorn minuscule, islandais
| FF | 255 | � | y minuscule avec tr�ma ou signe umlaut, latin
+----+-----+---+------------------------------------------------------
--xxxSECTIONxxx
Content-Type: text/plain; charset=ISO-8859-1
MIME
****
MIME (Multipurpose Internet Mail Extensions) est, comme son nom
l'indique, un standard pour le courrier e'lectronique sur l'Internet,
codifie' dans les documents RFC 1521, 1522, 1523 et 1524 (les RFC 1341
et 1342 sont maintenant de'suets). Bien que ne s'appliquant en principe
qu'au courrier, et non aux News, MIME inte'resse beaucoup les
utilisateurs de Usenet, au point que certains lecteurs commencent a`
apparai^tre avec un support limite' pour MIME (`trn' 3.x, par exemple).
Le groupe `comp.mail.mime' est consacre' aux discussions sur ce sujet.
L'utilisation des accents est facilite'e par MIME, qui spe'cifie des
en-te^tes indiquant le jeu de caracte`res utilise' dans un message, ou
dans une partie d'un message a` multiples parties. Pour indiquer qu'un
message est re'dige' en ISO-8859-1, ajoutez les lignes suivantes a`
l'en-te^te:
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Si votre site utilise le logiciel de News `INN', l'administrateur
peut l'installer pour qu'il ajoute des en-te^tes MIME de facon sense'e.
Il suffit d'ajouter les lignes suivantes dans le fichier
`$inn/lib/inn.conf' et de relancer `innd':
## roberto - 16/8/93
MIME-version: 1.0
MIME-contenttype: text/plain; charset=ISO-8859-1
MIME-encoding: 8bit
On me signale que ces lignes sont suspectes, le libelle' ne
correspondant pas exactement a` la norme MIME. A` essayer avec
prudence!
Pour `CNews' (version de'but 1992, pour toute autre version soyez
prudent), la rustine suivante, a` e^tre installe'e dans
`/usr/lib/newsbin/inject', fera s'inse'rer des en-te^tes MIME s'ils sont
manquants.
--- defhdrs.awk.orig Tue Feb 15 04:09:25 1994
+++ defhdrs.awk Mon Oct 31 05:37:12 1994
@@ -26,6 +26,11 @@
sendername = "Sender:"
expiresname = "Expires:"
+ # tom - Mime headers - matching is case-insensitive
+ mmversion = "MIME-Version:"
+ mmtype = "Content-Type:"
+ mmtransfer = "Content-Transfer-Encoding:"
+
# nullify headers with empty contents
for (i in hdrval)
if (hdrval[i] ~ /^[^\t ]*:[\t ]*$/)
@@ -57,6 +62,32 @@
else if (hdrval[sendername] == "")
hdrval[sendername] = sendername " " deffrom
+ # tom - mime headers
+ # First pass: fetch MIME headers (matching is case-insensitive)
+ # Transfer them to mmhdrval[]. We'll print them at the end.
+ for (i in hdrval) {
+ if(tolower(i) == tolower(mmversion)) {
+ mmhdrval[mmversion] = hdrval[i]
+ hdrval[i] = ""
+ }
+ if(tolower(i) == tolower(mmtype)) {
+ mmhdrval[mmtype] = hdrval[i]
+ hdrval[i] = ""
+ }
+ if(tolower(i) == tolower(mmtransfer)) {
+ mmhdrval[mmtransfer] = hdrval[i]
+ hdrval[i] = ""
+ }
+ }
+ # Second pass: fill inexistant MIME headers with default values.
+ # There is a space before the (default) value of the header !!!
+ if(mmhdrval[mmversion] == "")
+ mmhdrval[mmversion] = mmversion " 1.0"
+ if(mmhdrval[mmtype] == "")
+ mmhdrval[mmtype] = mmtype " text/plain; charset=ISO-8859-1"
+ if(mmhdrval[mmtransfer] == "")
+ mmhdrval[mmtransfer] = mmtransfer " 8bit"
+
# replace user's headers (if any) [this is not currently done]
# snuff some headers
@@ -126,6 +157,11 @@
for (i in hdrval)
if (hdrval[i] != "" && hdrval[i] !~ /^[^\t ]*:[\t ]*$/)
print hdrval[i]
+
+ # tom - Ok, now we can print the MIME headers
+ print mmhdrval[mmversion]
+ print mmhdrval[mmtype]
+ print mmhdrval[mmtransfer]
exit status
}
Pour les utilisateurs de `trn' (et `strn'), une solution e'le'gante
consiste a` cre'er un fichier `.trninit' contenant (au minimum):
-ENEWSHEADER="%(%[followup-to]=^$?:X-ORIGINAL-NEWSGROUPS: %n
)Newsgroups: %(%F=^$?%C:%F)
Subject: %(%S=^$?%\"
Subject: \":Re: %S)
Summary:
Expires:
%(%R=^$?:References: %R
)Sender:
Followup-To:
%(%{REPLYTO}=^$?:Reply-To: %{REPLYTO}
)Distribution: %(%i=^$?%\"Distribution: \":%D)
Organization: %o
Keywords: %[keywords]
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Cc: %(%F=poster?%t:%(%F!=@?:%F))
"
(N'oubliez pas la ligne vierge et le `"' final). Apre`s avoir
annonce' l'existence de ce fichier par la variable d'environnement
idoine (`TRNINIT'), ces en-te^tes apparai^tront dans votre e'diteur a`
la composition des articles. Vous pouvez me^me les modifier avant
l'expe'dition!
La norme MIME pre'voit d'autres encodages que le tre`s simple 8 bits
(octets transmis tel quel); en particulier, on retrouve assez souvent,
dans le courrier ou sur Usenet, des messages code's en
"Quoted-Printable". Ils se reconnaissent par l'en-te^te
`Content-Transfer-Encoding: quoted-printable', ainsi que par le codage
des caracte`res accentue's sous la forme `=XX', ou` XX est le code
hexade'cimal de la lettre en question. En voici un exemple
`d=E9g=E9n=E9r=E9'. Cette manie`re de faire a l'avantage que le message
n'est jamais cha^tre' par un serveur ou une passerelle 7 bits, et qu'il
reste plus ou moins lisible (sauf cas pathologiques) me^me sans lecteur
MIME. A` de'faut d'un tel lecteur, vous pouvez de'coder un message en
le filtrant par le script suivant (sous Unix).
sed -e '/=$/N' \
-e 's/=\n//' \
-e '/=$/N' \
-e 's/=\n//' \
-e 's/=A1/!/g' \
-e 's/=A2/�/g' \
-e 's/=A3/�/g' \
-e 's/=A4/�/g' \
-e 's/=A5/�/g' \
-e 's/=A6/�/g' \
-e 's/=A7/�/g' \
-e 's/=A8/�/g' \
-e 's/=A9/�/g' \
-e 's/=AA/�/g' \
-e 's/=AB/�/g' \
-e 's/=AC/�/g' \
-e 's/=AD/�/g' \
-e 's/=AE/./g' \
-e 's/=AF/�/g' \
-e 's/=B0/�/g' \
-e 's/=B1/�/g' \
-e 's/=B2/�/g' \
-e 's/=B3/�/g' \
-e 's/=B4/�/g' \
-e 's/=B5/�/g' \
-e 's/=B6/�/g' \
-e 's/=B7/�/g' \
-e 's/=B8/�/g' \
-e 's/=B9/�/g' \
-e 's/=BA/�/g' \
-e 's/=BB/�/g' \
-e 's/=BC/�/g' \
-e 's/=BD/�/g' \
-e 's/=BE/�/g' \
-e 's/=BF/?/g' \
-e 's/=C0/�/g' \
-e 's/=C1/�/g' \
-e 's/=C2/�/g' \
-e 's/=C3/�/g' \
-e 's/=C4/�/g' \
-e 's/=C5/�/g' \
-e 's/=C6/�/g' \
-e 's/=C7/�/g' \
-e 's/=C8/�/g' \
-e 's/=C9/�/g' \
-e 's/=CA/�/g' \
-e 's/=CB/�/g' \
-e 's/=CC/�/g' \
-e 's/=CD/�/g' \
-e 's/=CE/�/g' \
-e 's/=CF/�/g' \
-e 's/=D0/�/g' \
-e 's/=D1/�/g' \
-e 's/=D2/�/g' \
-e 's/=D3/�/g' \
-e 's/=D4/�/g' \
-e 's/=D5/�/g' \
-e 's/=D6/�/g' \
-e 's/=D7/�/g' \
-e 's/=D8/�/g' \
-e 's/=D9/�/g' \
-e 's/=DA/�/g' \
-e 's/=DB/�/g' \
-e 's/=DC/�/g' \
-e 's/=DD/�/g' \
-e 's/=DE/�/g' \
-e 's/=DF/�/g' \
-e 's/=E0/�/g' \
-e 's/=E1/�/g' \
-e 's/=E2/�/g' \
-e 's/=E3/�/g' \
-e 's/=E4/�/g' \
-e 's/=E5/�/g' \
-e 's/=E6/�/g' \
-e 's/=E7/�/g' \
-e 's/=E8/�/g' \
-e 's/=E9/�/g' \
-e 's/=EA/�/g' \
-e 's/=EB/�/g' \
-e 's/=EC/�/g' \
-e 's/=ED/�/g' \
-e 's/=EE/�/g' \
-e 's/=EF/�/g' \
-e 's/=F0/�/g' \
-e 's/=F1/�/g' \
-e 's/=F2/�/g' \
-e 's/=F3/�/g' \
-e 's/=F4/�/g' \
-e 's/=F5/�/g' \
-e 's/=F6/�/g' \
-e 's/=F7/�/g' \
-e 's/=F8/�/g' \
-e 's/=F9/�/g' \
-e 's/=FA/�/g' \
-e 's/=FB/�/g' \
-e 's/=FC/�/g' \
-e 's/=FD/�/g' \
-e 's/=FE/�/g' \
-e 's/=FF/�/g' \
-e 's/=3D/-/g' \
-e 's/=09/ /g' \
-e 's/=20//'
[Si vous lisez une copie cha^tre'e de cette FAQ, sachez que chaque
ligne de ce script, de la cinquie`me a` la quatrie`me avant-dernie`re,
est de la forme `-e 's/=XX/X/g' \', ou` X est le caracte`re 8 bit
correspondant au code hexade'cimal XX.]
Cette FAQ est formatte'e comme un message MIME a` parties multiples,
toutes les parties sauf trois ayant le format par de'faut (text/plain en
US-ASCII); la partie contenant la table ISO-8859-1 utilise un en-te^te
Content-Type pour indiquer la pre'sence de caracte`res 8 bits. Si vous
mettez la main sur un lecteur connaissant MIME, essayez-le sur cet
article, et donnez-m'en des nouvelles!
--xxxSECTIONxxx
..Xdefaults
**********
Il est possible, sous `X', de parame'triser l'usage du clavier afin
de faciliter la frappe de caracte`res proprement franc,ais.
! Fichier .Xdefaults expe'rimental
! Auteur: Guy Basque (le 10 mai 1992)
xterm*EightBitInput: True
! Le clavier CFr1 ressemble au clavier conventionnel de la machine a`
! e'crire Selectric d'IBM (cle' morte accent grave a` la place de
! l'apostrophe), tandis que le clavier CFr2 utilise les diacritiques
! en cle' morte a` leur endroit normal sur le clavier et il permet
! d'entrer tous les caracte`res accentue's de l'ISO-8859.
!
! Pour activer la table CFr1, on utilise la cle' de fonction F1, et pour le
! de'sactiver on utilise F1 a` nouveau (cle' a` bascule). Pour utiliser la
! table CFr2, on utilise la cle' de fonction F2 qui fonctionne a` bascule
! tout comme la cle' F1.
!
xterm*vt100*Translations: #override <Key>F1: keymap(CFr1)\n\
<Key>F2: keymap(CFr2)
!
! Table CFr1 (clavier de type machine a` e'crire Selectric)
!
! D O X Nom franc,ais Nom Xt taper
!
! 034 \042 0x22 : guillemets : quotedbl : ""
! 039 \047 0x27 : apostrophe : apostrophe : ''
! interrogation : : "?
! oblique : : '/
! 224 \340 0xE0 : a accent grave : agrave : 'a
! 226 \342 0xE2 : a accent circonflexe : acircumflex : "a
! 231 \347 0xE7 : c ce'dille : ccedilla : ?
! 232 \350 0xE8 : e accent grave : egrave : 'e
! 233 \351 0xE9 : e accent aigu : eacute : /
! 234 \352 0xEA : e accent circonflexe : ecircumflex : "e
! 238 \356 0xEE : i accent circonflexe : icircumflex : "i
! 244 \364 0xF4 : o accent circonflexe : ocircumflex : "o
! 249 \371 0xF9 : u accent grave : ugrave : 'u
! 251 \373 0xFB : u accent circonflexe : ucircumflex : "u
!
xterm.vt100.CFr1Keymap.translations: \
:!None<Key>F1: keymap(None)\n\
:!None<Key>F2: keymap(None)\n\
:!None<Key>apostrophe, :!None<Key>e: string(0xe8)\n\
:!None<Key>apostrophe, :!None<Key>apostrophe: string("'")\n\
:!None<Key>quotedbl, :!None<Key>e: string(0xea)\n\
:!None<Key>e: string(e)\n\
:!None<Key>quotedbl, :!None<Key>quotedbl: string(0x22)\n\
:!None<Key>apostrophe, :!None<Key>a: string(0xe0)\n\
:!None<Key>quotedbl, :!None<Key>a: string(0xe2)\n\
:!None<Key>a: string(a)\n\
:!None<Key>apostrophe, :!None<Key>u: string(0xf9)\n\
:!None<Key>quotedbl, :!None<Key>u: string(0xfb)\n\
:!None<Key>u: string(u)\n\
:!None<Key>/: string(0xe9)\n\
:!None<Key>apostrophe, :!None<Key>/: string("/")\n\
:!None<Key>?: string(0xe7)\n\
:!None<Key>quotedbl, :!None<Key>?: string("?")\n\
:!None<Key>quotedbl, :!None<Key>i: string(0xee)\n\
:!None<Key>i: string("i")\n\
:!None<Key>quotedbl, :!None<Key>o: string(0xf4)\n\
:!None<Key>o: string("o")
!
! Table du clavier CFr2: (combinaison accent-lettre)
!
! Lettres mortes :
!
! D O X Nom franc,ais Nom Xt taper
!
! 034 \042 0x22 : guillemets : quotedbl : ""
! 039 \047 0x27 : apostrophe : apostrophe : ''
! 044 \054 0x2C : virgule : comma : ,,
! 094 \136 0x5E : accent circonflexe : asciicircum : ^^
! 096 \140 0x60 : accent grave : grave : ``
! 126 \176 0x7E : tilde : asciitilde : ~~
!
! Lettres compose'es a` l'aide de ces lettres mortes :
!
! D O X Nom francais Nom Xt taper
!
! 192 \300 0xC0 : A accent grave : Agrave : `A
! 193 \301 0xC1 : A accent aigu : Aacute : 'A
! 194 \302 0xC2 : A accent circonflexe : Acircumflex : ^A
! 195 \303 0xC3 : A tilde : Atilde : ~A
! 196 \304 0xC4 : A tre'ma : Adiaeresis : "A
! 197 \305 0xC5
! 198 \306 0xC6
! 199 \307 0xC7 : C ce'dille : Ccedilla : ,C
! 200 \310 0xC8 : E accent grave : Egrave : `E
! 201 \311 0xC9 : E accent aigu : Eacute : 'E
! 202 \312 0xCA : E accent circonflexe : Ecircumflex : ^E
! 203 \313 0xCB : E tre'ma : Ediaeresis : "E
! 204 \314 0xCC : I accent grave : Igrave : `I
! 205 \315 0xCD : I accent aigu : Iacute : 'I
! 206 \316 0xCE : I accent circonflexe : Icircumflex : ^I
! 207 \317 0xCF : I tre'ma : Idiaeresis : "I
! 208 \320 0xD0
! 209 \321 0xD1 : N tilde : Ntilde : ~N
! 210 \322 0xD2 : O accent grave : Ograve : `O
! 211 \323 0xD3 : O accent aigu : Oacute : 'O
! 212 \324 0xD4 : O accent circonflexe : Ocircumflex : ^O
! 213 \325 0xD5 : O tilde : Otilde : ~O
! 214 \326 0xD6 : O tre'ma : Odiaeresis : "O
! 215 \327 0xD7
! 216 \330 0xD8
! 217 \331 0xD9 : U accent grave : Ugrave : `U
! 218 \332 0xDA : U accent aigu : Uacute : 'U
! 219 \333 0xDB : U accent circonflexe : Ucircumflex : ^U
! 220 \334 0xDC : U tre'ma : Udiaeresis : "U
! 221 \335 0xDD : Y accent aigu : Yacute : 'Y
! 222 \336 0xDE
! 223 \337 0xDF
! 224 \340 0xE0 : a accent grave : agrave : `a
! 225 \341 0xE1 : a accent aigu : aacute : 'a
! 226 \342 0xE2 : a accent circonflexe : acircumflex : ^a
! 227 \343 0xE3 : a tilde : atilde : ~a
! 228 \344 0xE4 : a tre'ma : adiaeresis : "a
! 229 \345 0xE5
! 230 \346 0xE6
! 231 \347 0xE7 : c ce'dille : ccedilla : ,c
! 232 \350 0xE8 : e accent grave : egrave : `e
! 233 \351 0xE9 : e accent aigu : eacute : 'e
! 234 \352 0xEA : e accent circonflexe : ecircumflex : ^e
! 235 \353 0xEB : e tre'ma : ediaeresis : "e
! 236 \354 0xEC : i accent grave : igrave : `i
! 237 \355 0xED : i accent aigu : iacute : 'i
! 238 \356 0xEE : i accent circonflexe : icircumflex : ^i
! 239 \357 0xEF : i tre'ma : idiaeresis : "i
! 240 \360 0xF0
! 241 \361 0xF1 : n tilde : ntilde : ~n
! 242 \362 0xF2 : o accent grave : ograve : `o
! 243 \363 0xF3 : o accent aigu : oacute : 'o
! 244 \364 0xF4 : o accent circonflexe : ocircumflex : ^o
! 245 \365 0xF5 : o tilde : otilde : ~o
! 246 \366 0xF6 : o tre'ma : odiaeresis : "o
! 247 \367 0xF7
! 248 \370 0xF8
! 249 \371 0xF9 : u accent grave : ugrave : `u
! 250 \372 0xFA : u accent aigu : uacute : 'u
! 251 \373 0xFB : u accent circonflexe : ucircumflex : ^u
! 252 \374 0xFC : u tre'ma : udiaeresis : "u
! 253 \375 0xFD : y accent aigu : yacute : 'y
! 254 \376 0xFE
! 255 \377 0xFF : y tre'ma : ydiaeresis : "y
xterm.vt100.CFr2Keymap.translations: \
:!None<Key>F2: keymap(None)\n\
:!None<Key>F1: keymap(None)\n\
:!None<Key>quotedbl, :!None<Key>quotedbl: string(0x22)\n\
:!None<Key>quotedbl, :!None<Key>A: string(0xC4)\n\
:!None<Key>quotedbl, :!None<Key>E: string(0xCB)\n\
:!None<Key>quotedbl, :!None<Key>I: string(0xCF)\n\
:!None<Key>quotedbl, :!None<Key>O: string(0xD6)\n\
:!None<Key>quotedbl, :!None<Key>U: string(0xDC)\n\
:!None<Key>quotedbl, :!None<Key>a: string(0xE4)\n\
:!None<Key>quotedbl, :!None<Key>e: string(0xEB)\n\
:!None<Key>quotedbl, :!None<Key>i: string(0xEF)\n\
:!None<Key>quotedbl, :!None<Key>o: string(0xF6)\n\
:!None<Key>quotedbl, :!None<Key>u: string(0xFC)\n\
:!None<Key>quotedbl, :!None<Key>y: string(0xFF)\n\
:!None<Key>apostrophe, :!None<Key>apostrophe: string(0x27)\n\
:!None<Key>apostrophe, :!None<Key>A: string(0xC1)\n\
:!None<Key>apostrophe, :!None<Key>E: string(0xC9)\n\
:!None<Key>apostrophe, :!None<Key>I: string(0xCD)\n\
:!None<Key>apostrophe, :!None<Key>O: string(0xD3)\n\
:!None<Key>apostrophe, :!None<Key>U: string(0xDA)\n\
:!None<Key>apostrophe, :!None<Key>Y: string(0xDD)\n\
:!None<Key>apostrophe, :!None<Key>a: string(0xE1)\n\
:!None<Key>apostrophe, :!None<Key>e: string(0xE9)\n\
:!None<Key>apostrophe, :!None<Key>i: string(0xED)\n\
:!None<Key>apostrophe, :!None<Key>o: string(0xF3)\n\
:!None<Key>apostrophe, :!None<Key>u: string(0xFA)\n\
:!None<Key>apostrophe, :!None<Key>y: string(0xFD)\n\
:!None<Key>comma, :!None<Key>comma: string(0x2C)\n\
:!None<Key>comma, :!None<Key>C: string(0xC7)\n\
:!None<Key>comma, :!None<Key>c: string(0xE7)\n\
:!None<Key>asciicircum, :!None<Key>asciicircum: string(0x5E)\n\
:!None<Key>asciicircum, :!None<Key>A: string(0xC2)\n\
:!None<Key>asciicircum, :!None<Key>E: string(0xCA)\n\
:!None<Key>asciicircum, :!None<Key>I: string(0xCE)\n\
:!None<Key>asciicircum, :!None<Key>O: string(0xD4)\n\
:!None<Key>asciicircum, :!None<Key>U: string(0xDB)\n\
:!None<Key>asciicircum, :!None<Key>a: string(0xE2)\n\
:!None<Key>asciicircum, :!None<Key>e: string(0xEA)\n\
:!None<Key>asciicircum, :!None<Key>i: string(0xEE)\n\
:!None<Key>asciicircum, :!None<Key>o: string(0xF4)\n\
:!None<Key>asciicircum, :!None<Key>u: string(0xFB)\n\
:!None<Key>grave, :!None<Key>grave: string(0x60)\n\
:!None<Key>grave, :!None<Key>A: string(0xC0)\n\
:!None<Key>grave, :!None<Key>E: string(0xC8)\n\
:!None<Key>grave, :!None<Key>I: string(0xCC)\n\
:!None<Key>grave, :!None<Key>O: string(0xD2)\n\
:!None<Key>grave, :!None<Key>U: string(0xD9)\n\
:!None<Key>grave, :!None<Key>a: string(0xE0)\n\
:!None<Key>grave, :!None<Key>e: string(0xE8)\n\
:!None<Key>grave, :!None<Key>i: string(0xEC)\n\
:!None<Key>grave, :!None<Key>o: string(0xF2)\n\
:!None<Key>grave, :!None<Key>u: string(0xF9)\n\
:!None<Key>asciitilde, :!None<Key>asciitilde: string(0x7E)\n\
:!None<Key>asciitilde, :!None<Key>A: string(0xC3)\n\
:!None<Key>asciitilde, :!None<Key>N: string(0xD1)\n\
:!None<Key>asciitilde, :!None<Key>O: string(0xD5)\n\
:!None<Key>asciitilde, :!None<Key>a: string(0xE3)\n\
:!None<Key>asciitilde, :!None<Key>n: string(0xF1)\n\
:!None<Key>asciitilde, :!None<Key>o: string(0xF5)\n\
:!None<Key>A: string(A)\n\
:!None<Key>C: string(C)\n\
:!None<Key>E: string(E)\n\
:!None<Key>I: string(I)\n\
:!None<Key>N: string(N)\n\
:!None<Key>O: string(O)\n\
:!None<Key>U: string(U)\n\
:!None<Key>Y: string(Y)\n\
:!None<Key>a: string(a)\n\
:!None<Key>c: string(c)\n\
:!None<Key>e: string(e)\n\
:!None<Key>i: string(i)\n\
:!None<Key>n: string(n)\n\
:!None<Key>o: string(o)\n\
:!None<Key>u: string(u)\n\
:!None<Key>y: string(y)
--xxxSECTIONxxx
Programmes C
************
Voici une paire de fonctions C pour transcoder entre les jeux de
caracte`res CP437 et ISO Latin-1.
/*
* ibm2iso (c): Translates ibm accentuated chars by ISO char.
* iso2ibm (c): Translates iso accentuated chars to IBM ones.
*
* The character is modified !!!! (Pointer )
*
* Rene' Cougnenc 1990 - Public Domain -
*/
#define NONE 0xfa /* Car IBM pour remplacer les inexistants */
static unsigned char IsoTable[256]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,
0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,NONE,
0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,
0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,
0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,
0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,
0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,
0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,
0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,
0x79,0x7a,0x7b,0x7c,0x7d,0x7e,NONE,NONE,NONE,NONE,NONE,
NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
NONE,NONE,0x60,0x27,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
NONE,NONE,NONE,NONE,NONE,NONE,0x20,0xad,0x9b,0x9c,0xfe,
0x9d,0xb3,0x15,NONE,NONE,0xa6,0xae,0xaa,0x2d,NONE,0xc4,
0xf8,0xf1,0xfd,NONE,0x27,0xe6,0xe3,NONE,0x2c,NONE,0xb1,
0xaf,0xac,0xab,NONE,0xa8,0x41,0x41,0x41,0x41,0x8e,0x8f,
0x92,0x80,0x45,0x90,0x45,0x45,0x49,0x49,0x49,0x49,0x44,
0xa5,0x4f,0x4f,0x4f,0x4f,0x4f,0x78,0xed,0x55,0x55,0x55,
0x55,0x59,NONE,0xe1,0x85,0xa0,0x83,0x61,0x84,0x86,0x91,
0x87,0x8a,0x82,0x88,0x89,0x8d,0xa1,0x8c,0x8b,NONE,0xa4,
0x95,0xa2,0x93,0x6f,0x94,0xf6,0xed,0x97,0xa3,0x96,0x81,
0x79,NONE,0x98,
};
#define NOPE 0xb7 /* Car ISO pour remplacer les inexistants */
static unsigned char TableIso[256]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,
0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0xa7,
0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,
0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,
0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,
0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,
0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,
0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,
0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,
0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x20,0xc7,0xfc,0xe9,0xe2,
0xe4,0xe0,0xe5,0xe7,0xea,0xeb,0xe8,0xef,0xee,0xec,0xc4,
0xc5,0xc9,0xe7,0xc6,0xf4,0xf6,0xf2,0xfb,0xf9,0xff,0xd6,
0xdc,0xa2,0xa3,0xa5,NOPE,NOPE,0xe1,0xed,0xf3,0xfa,0xf1,
0xd1,0xaa,0xba,0xbf,0xaf,0xac,0xbd,0xbc,0xa1,0xab,0xbb,
NOPE,NOPE,NOPE,0xa6,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,NOPE,NOPE,NOPE,NOPE,0xdf,NOPE,0xb6,NOPE,NOPE,0xb5,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,0xf8,NOPE,NOPE,NOPE,0xb1,
NOPE,NOPE,NOPE,NOPE,0xf7,NOPE,0xb0,0xb7,0xb7,NOPE,NOPE,
0xb2,0xa4,0x20
};
iso2ibm( unsigned char *c )
{
*c = IsoTable[ *c ] ;
}
ibm2iso( unsigned char *c )
{
*c = TableIso[ *c ] ;
}
Les me^mes, mais pour le Macintosh.
/*
* mac2iso (c): Transcodage du Mac a` ISO-8859-1.
* iso2mac (c): Transcodage de ISO-8859-1 au Mac.
*
* Le caracte`re c est modifie' en place
*
* (c) Franc,ois Yergeau 1993 - Distribution illimite'e
*
* Ce fichier a e'te' adapte' d'un programme de conversion de fichier
* plus ge'ne'ral, dont j'ai tire' les tables de conversion. Il est ba^ti
* sur le mode`le des fonctions ibm2iso() et iso2ibm() de Rene' Cougnenc.
*
* ***Attention*** je n'ai aucunement teste' ce programme, n'ayant pas
* de Mac a` ma disposition. Utilisez a` vos risques.
*
*/
#define NONE 0x2E /* Car. Mac pour remplacer les inexistants */
static unsigned char mactoiso1[256]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
0xc4,0xc5,0xc7,0xc9,0xd1,0xd6,0xdc,0xe1,
0xe0,0xe2,0xe4,0xe3,0xe5,0xe7,0xe9,0xe8,
0xea,0xeb,0xed,0xec,0xee,0xef,0xf1,0xf3,
0xf2,0xf4,0xf6,0xf5,0xfa,0xf9,0xfb,0xfc,
NONE,0xb0,0xa2,0xa3,0xa7,0xba,0xb6,0xdf,
0xae,0xa9,NONE,0xb4,0xa8,NONE,0xc6,0xd8,
NONE,0xb1,NONE,NONE,0xa5,0xb5,NONE,NONE,
NONE,NONE,NONE,NONE,NONE,NONE,0xe6,0xf8,
0xbf,0xa1,0xac,NONE,NONE,NONE,NONE,0xab,
0xbb,NONE,NONE,0xc0,0xc3,0xd5,NONE,NONE,
0x2d,0x2d,0x22,0x22,0x27,0x27,NONE,NONE,
0xff,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE
};
#define NOPE 0xB7 /* Car. ISO-8859-1 pour remplacer les inexistants */
static unsigned char iso1tomac[256]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,0xc1,0xa2,0xa3,NOPE,0xb4,0x7c,0xa4,
0xac,0xa9,NOPE,0xc7,0xc2,0x2d,0xa8,NOPE,
0xa1,0xb1,NOPE,NOPE,0xab,0xb5,0xa6,0xa5,
NOPE,NOPE,NOPE,0xc8,NOPE,NOPE,NOPE,0xc0,
0xcb,NOPE,NOPE,0xcc,0x80,0x81,0xae,0x82,
NOPE,0x83,NOPE,NOPE,NOPE,NOPE,NOPE,NOPE,
NOPE,0x84,NOPE,NOPE,NOPE,0xcd,0x85,NOPE,
0xaf,NOPE,NOPE,NOPE,0x86,NOPE,NOPE,0xe1,
0x88,0x87,0x89,0x8b,0x8a,0x8c,0xbe,0x8d,
0x8f,0x8e,0x90,0x91,0x93,0x92,0x94,0x95,
NOPE,0x96,0x98,0x97,0x99,0x9b,0x9a,0xd6,
0xbf,0x9d,0x9c,0x9e,0x9f,NOPE,NOPE,0xd8
};
mac2iso( unsigned char *c )
{
*c = mactoiso1[ *c ] ;
}
iso2mac( unsigned char *c )
{
*c = iso1tomac[ *c ] ;
}
--xxxSECTIONxxx
Collaborateurs
**************
Ont participe' (parfois a` leur insu) a` la re'daction de cette FAQ:
Je'ro^me ABELA mop@coredump.efrei.fr
Patrick ANDRIES pandries@alis.ca
Guy BASQUE basque@ere.umontreal.ca
Gilles BERGER SABBATEL Gilles.Berger@imag.fr
Ce'dric BEUST beust@indri.inria.fr
Michel BILLAUD Michel.Billaud@labri.u-bordeaux.fr
Philippe BONAL philb@blips.fr.mugnet.org
Ste'phane BORTZMEYER bortzmeyer@pasteur.fr
Claude BOUCHER boucherc@nbnet.nb.ca
Sylvain CHAMBERLAND sylvain@bioxinia.upc.qc.ca
Rene' COUGNENC
Philippe DEGAND Degand@slig.ucl.ac.be
Paulo Ney DE SOUZA desouza@math.berkeley.edu
Daniel FANDRICH dan@fch.wimsey.bc.ca
Farzad FARID faridf@watson.ibm.com
Jean-Luc KORS kors@rubis.iie.cnam.fr
Kosta KOSTIS kosta@live.blues.sub.de
Jean-Pierre KUYPERS Kuypers@sri.ucl.ac.be
Daniel LACROIX lacroix@aix-a.sobeco.com
Pierre LAFORGUE Pierre@imag.fr
Nat MAKAREVITCH nat@nataa.fr.eu.org
Jean-Claude MICHOT jcmichot@teaser.com
Caoimhin P. ODONNAILE caoimhin@sabhal-mor-ostaig.ac.uk
Thomas PARMELAN tom@ankh.fr.EU.org
Robert PELLERIN robert@rp.cam.org
Lasse Hilleroe PETERSEN lassehp@imv.aau.dk
Pascal PETIT petit@litp.ibp.fr
Franc,ois PINARD pinard@iro.umontreal.ca
Andre' PIRARD PIRARD@vm1.ulg.ac.be
Ollivier ROBERT roberto@keltia.freenix.fr
Jean ROBITAILLE jrobitai@riq.qc.ca
Herve' SCHAUER Herve.Schauer@hsc.fr
Gilles SERASSET Gilles.Serasset@imag.fr
John WILCOCK john.wilcock@fyo.mts.dec.com
Christophe WOLFHUGEL wolf@schnok.fr.net
--xxxSECTIONxxx--
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads