Next
Previous
Contents
Tout d'abord, un mot sur le vocabulaire employé :
Des caractères sont dits « 8 bits » s'ils correspondent à des accents ou
à des signes spéciaux comme « § », non inclus dans le standard
ASCII « 7 bits ».
Ce standard, sans accents ni caractères spéciaux, correspond aux 128
(2^7) premiers caractères des 256 (2^8), de 0 à 255.
Pour des raisons historiques (place disponible, inutilité pour les états
uniens) seuls les 128 (2^7) premiers caractères ont été normalisés par
l'ASCII : par exemple le A qui est le 65e caractère de la table ASCII
s'écrit 0100 0001 en notation binaire.
Pour les caractères situés hors de la norme ASCII, différentes « normes
» ou « standards » incompatibles, comme l'Unicode, l'iso-8859, le latin,
le cp (...) fixent ces correspondances.
Par exemple, dans le standard ASCII étendu par l'iso-8859-1, le 224ème
caractère équivalent noté « eb » en hexadécimal correspond à « ë ».
Une police de caractères est une correspondance entre des codes
informatiques et des caractères (alphanumériques...) affichables par
l'ordinateur.
La police de caractères est l'ensemble des représentations graphiques des
caractères d'un standard.
Il existe plusieurs polices de caractères 8 bits pouvant répondre au
besoins des francophones.
Je vous recommande de lire à ce sujet l'excellent site de Roman Czyborra
qui a fait une thèse sur ce sujet et qui vous donnera une
explication fort détaillée Pour résumer, il est nécessaire de choisir une police de caractères pour
que tous les caractères français soient disponibles.
Voici la liste des polices dites « ISO 8859 », mais attention, il existe
leurs équivalents en « code page » pour windows (comme cp1252).
- ISO 8859-1 : latin 1 : langues d'Europe de l'ouest, Afrikaans,
Swahili.
Le Swahili, n'utilise aucun caractère accentué (comme l'Anglais, le
Malais et l'Indonésien), donc n'importe quel version fait l'affaire.
Pour l'Afrikaans, je ne sais plus exactement quel était le choix initial
(c'est-à-dire où avait été rangé le 'n au départ), mais il ne me semble
pas que ce soit dans Latin 1.
Dans la pratique, bien sûr, les Afrikaaner utilisent Latin 1 ; la même
chose se passe pour un certain nombre des cas qui suivent.
- ISO 8859-2 : latin 2 : langues d'Europe centrale et orientale.
Dans les faits : Polonais, Tchèque, Slovaque, Slovène, Croate, Hongrois,
Roumain, probablement aussi le Sorbe ou Sorabe (Wende en allemand).
Officiellement, je crois que l'Albanais s'écrit aussi en Latin-2, mais
comme dans les faits c'est identique au Latin 1...
Il y a un problème pour le Roumain, car le Latin 2 contient formellement
les caractères avec une cédille, quand en roumain on utilise une virgule
souscrite.
- ISO 8859-3 : latin 3 : Espéranto et Maltais.
Initialement, c'était prévu pour les langues d'Europe du Sud, y compris
le Turc, les langues d'Espagne (donc Catalan, Basque), le Français.
Mais dans la pratique, c'est limité à ces deux langues.
- ISO 8859-4 : latin 4 : langues baltes (incomplet).
Pas utilisé dans la pratique, remplacé par Latin 7 (iso-8859-13), ou
plutôt en pratique la codepage 1257 Windows.
Pour l'Este ou Estonien, on peut aussi utiliser Latin 9.
- ISO 8859-9 : latin 5 (comme latin 1, moins l'Islandais, plus le
Turc).
Usage : le Turc et peut-être l'Azéri, mais il manque le schwa, un « e »
renversé.
Codage officiel aux Pays-Bas du fait des Turcs qui y habitent.
- ISO 8859-10 : latin 6 : langues nordiques, sauf le Lapon Skolt.
Pas utilisé dans la pratique : ne servirait que pour les langues sames
(ou lapones), mais il manque des caractères, et le public concerné est
de toute manière assez limité.
- ISO 8859-11 : Thai.
Pas encore officiellement adopté.
- ISO 8859-12 : Indien (n'existe pas encore).
Prévu pour le devanagari, pour écrire l'Hindi, la langue principale de
l'Inde, et aussi un grand nombre d'autres langues indiennes, dont le
Sanskrit.
- ISO 8859-13 : latin 7 : langues baltes.
Plus exactement : couvre les langues du pourtour de la mer Baltique,
donc aussi le Polonais, l'Allemand et les langues de scandinavie.
Mais dans la pratique il est réduit en utilisation aux langues baltes
et à l'Este ou Estonien.
- ISO 8859-14 : latin 8 : langues celtes.
Pour le Breton, le Gaélique et les dialectes parlées au Pays de Galles
et en Irlande.
- ISO 8859-15 : latin 9 : comme latin 1, en y comblant quelques
manques.
Pour le Français, le Finnois (en concurrence avec Latin 1) et l'Este ou
Estonien (en concurrence avec Latin 7).
De cette longue liste, il convient de ne retenir que :
- ISO 8859-1 latin 1 : police ouest-européenne utilisée par la
majorité des systèmes UNIX, elle permet de disposer de tous les
caractères Français sauf les « o e liés », l'euro et l'y tréma majuscule
- cp850 : équivalent sous DOS de cette police, mais incompatible :
il faut utiliser un outil de traduction de fichiers tel GNU recode.
- ISO 8859-15 latin 9 : police de l'union européenne, il s'agit
d'une version révisée de l'ISO 8859-1 latin 1 pour inclure tous les
caractères des pays européens ; ainsi on y retrouve les caractères
Français manquant, l'euro, et des caractères finlandais manquants.
- latin 0 : l'ISO 8859-15 latin 9 est souvent incorrectement
abrégée en latin0, qui correspondait au nom du projet, de par
son ambition à remplacer le latin 1 un jour. Je vous renvoie au
site de l'ISO et à la
documentation complète de ce standard
- cp1252 : équivalent sous Windows de cette police, aussi
incompatible, qui apporte les mêmes caractères manquants, du fait d'une
révision récente de cette norme.
- ISO 8859-9 latin 5 : police officielle en Turquie et en Hollande,
où les caractères Islandais peu utilisés ont été remplacés par les
caractères turcs.
- cp1254 : équivalent sous Windows de cette police, aussi
incompatible, qui apporte les caractères manquant au Français
précédemment cités et remplace les caractères Islandais peu utilisés par
les caractères turcs.
Les choix de polices de caractères sont souvent des questions ou la
raison se heurte aux habitudes.
Pour ma part, si vous hésitez, je vous recommande l'ISO 8859-15 latin 9,
pour diverses raisons :
- Il supporte l'intégralité des caractères utilisés en Français de
manière standard sur les UNIX, pour les échanges de fichiers entre
Solaris et Linux par exemple
- Il s'agit de la police 8 bits choisie par l'union européenne si
l'Unicode, évolution du 8 bits, n'est pas disponible
- Il permet d'écrire des textes avec l'intégralité des
caractères utilisés dans l'union
- Il est en train de devenir le nouveau standard dans la
messagerie électronique au sens large, supplantant progressivement l'ISO
8859-1 latin 1
Le Francophones HOWTO utilise donc le latin 9 dans tous les exemples, car il y
a de grandes chances que votre système ne soit pas encore compatible
latin 9... autant donc vous proposer des manipulations et des travaux
pratiques utiles :-)
Toutefois, si vous ne pouvez utiliser l'ISO 8859-15 latin 9 et
décidez d'en choisir une autre, je vous recommande d'éviter les cp
propres au monde DOS/Windows et de vous rabattre sur l'ISO
8859-1 latin 1 qui est encore un standard fort répandu : dans chaque
exemple je vous invite alors à remplacer les « latin9 » par des « latin1 »
Une table de clavier est un fichier permettant de faire correspondre
l'empreinte physique des cabochons, « touches » du clavier, au résultat
obtenu sur l'écran de l'ordinateur.
Pour linux, ces fichiers sont dans /usr/lib/kbd/keytables/ ou
/usr/share/kbd/keytables/
Par exemple, les claviers français AZERTY ont une table de clavier
différente des claviers suisse romands QWERTZ, ou des claviers du reste
du monde, QWERTY.
Cela ne concerne que l'apparence du clavier, l'empreinte des cabochons,
donc disposition relative des caractères sur le clavier, et non son
électronique interne ; si votre clavier ne vous convient pas, il vous
suffit donc d'utiliser des autocollants pour le transformer en un autre
clavier francophone.
Les touches « Home », « End », « Page_Up » et « Page_Down » dont les noms
varient selon les claviers sont les touches permettant respectivement
d'aller en début/fin de ligne et de monter/descendre d'une page.
Les codes affectes à ces touches sont respectivement 102 et 107 pour «
Home » et « End » en mode terminal.
Dans les pictogrammes des claviers ISO 9995-7, ces touches sont
représentés par des flèches aux traits appuyés.
Lorsqu'on presse une touche, le clavier émet un code, qui est
intercepté par la table de clavier.
La table de clavier, si elle reconnait le code, renvoie la chaine
associée à la touche, en l'occurence« "\e[4 » pour « End ».
Lorsque bash ou un autre programme reçoit cette chaine, il ne la connait
pas !
Donc il faut lui dire, dans le .inputrc que "\e[4 " signifie "aller à la
fin de la ligne"
Donc pour que ces touches fonctionnent dans le shell bash, on ajoutera
donc dans le fichier .inputrc (dans votre / ou dans /etc/inputrc) les
lignes:
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on
set bell-style visible
"\e[1~":beginning-of-line
"\e[3~":delete-char
"\e[4~":end-of-line
"\e\C-h": backward-kill-word
"\e\e[3~": kill-word
Les premières lignes permettent d'afficher les caractères 8 bits, et de
remplacer le « bip » en cas d'erreur par un éclair blanc à l'écran.
Les touches mortes sont des touches qui ne produisent pas de caractères
en elles-mêmes, mais qui modifient la façon dont la frappe suivante va
être interprétée, par exemple, le tréma ou l'accent circonflexe sont en
général des touches mortes.
Une touche morte est une touche qui doit donc être suivie d'un espace
pour obtenir l'accent seul, ou dans le cas où elle est suivie d'une
voyelle y positionne un accent, par exemple :
« ^ » puis « e » donne « ê »
« ^ » puis « espace » donne « ^ »
Les touches mortes sont :
- be et fr: l'accent aigu en AltGr de 1 pour les Français et en
AltGr de ù pour les Belges, l'accent grave en AltGr de 7 pour les
français & en AltGr de carré/cube pour les Belges, le tréma et
l'accent circonflexe tous deux à côté du P
- sf et usx: les accent aigus, graves, circonflexes, les
trémas et la tilde
- qc: les accent graves, circonflexes, les trémas et la cédille
En raison d'une erreur volontaire et historique sous Linux, pour
« émuler » le fonctionnement d'un clavier de console VT, ces 2 touches
sont fréquemments mélangées, au mieux fonctionnant à l'identique, au
pire ne fonctionnant pas du tout.
Commençons donc par bien les définir :
- BackSpace : touche placée en haut à droite du pavé principal, au
dessus d' « Entrée », au cabochon marqué d'une flèche vers la gauche.
- Delete : touche du pavé curseur au cabochon marqué « Suppr » ou
« Del », à gauche de « Fin » ; en ISO 9995-7 elle correspond à trois
barres obliques fines orientées sud-ouest/nord-est.
Le pavé numérique offre une touche au marquage identique et à effet
identique lorsque « Verr Num » ou « Num Lock » est désactivé.
Ces deux touches correspondent chacune à un de ces codes :
- BS : caractère ASCII 0x08, ou control-h.
- DEL : caractère ASCII 0x7F, ou control-?
- ^D : caractère ASCII 0x04, ou control-d.
Ceci dans le but d'effacer à gauche du curseur avec BackSpace, à droite du
curseur avec Delete.
Chaque partie du monde a sa propre norme horaire, basée sur des
fuseaux.
La France se trouve en zone MET, « heure moyenne européenne » soit GMT+1 ;
la zone « MET DST » correspond à l'heure d'été activée soit GMT+2.
- GMT est l'heure solaire moyenne de Greenwich. L'heure est comptée à
partir de midi et est donc décalée de 12 h par rapport au temps
universel. GMT est basée sur la rotation de la terre, ce n'est donc pas
un temps régulier. En effet, la vitesse de rotation de la Terre subit
des variations faibles mais assez chaotiques, en plus elle diminue sur
le long terme.
- UTC, « temps universel coordonné », est compté à partir de
minuit toujours par rapport au méridien zéro. Il est
basé sur des étalons atomiques, mais des secondes intercalaires
sont ajoutées occasionnellement pour faire en sorte qu'il ne
s'écarte jamais de plus de une seconde de l'heure solaire moyenne.
Le site de l'opdaf et
le lexique donnent plus de
renseignements.
C'est le temps UTC, défini à Paris, qui sert de référence aux
différentes heures légales.
L'acronyme « GMT » est employé 99% du temps pour
désigner UTC, mais c'est une erreur ou un abus de langage.
Enfin, à titre purement indicatif, il existe l'heure astronomique, aussi
comptée sur des étalons atomiques mais décalée de 4 minutes par jour de
l'heure terrestre car se basant sur la position de la terre dans
l'espace par rapport aux étoiles.
Next
Previous
Contents
|