Logo BPI
Accueil TCAO  |  Remerciements  |  Un aperçu  |  Licence BPI  |  Distribution  |  Installation  | 
Claviers  |  Pointeurs  |  Alibi  |  Concorde  |  Recode  |  Ventile  |  Vocable  |  Accueil BPI

Progiciels de TCAO - Free Recode - Exemples

Table des matières - Recode - Exemples

Résumé

Free recode est constitué d'une bibliothèque (ou logithèque) de recodage, baptisée recode, et d'un programme portant le même nom. Cette logithèque de recodage permet de transformer et de convertir les jeux de caractères et les surfaces de fichiers. Lorsqu'une conversion ne peut être faite fidèlement, le programme recode peut laisser tomber les caractères incriminés ou proposer un caractère de repli comme approximation. La logithèque reconnaît ou produit environ 175 charsets différents, traite une douzaine de surfaces, et est en mesure de convertir les fichiers entre la plupart des paires de charsets. Puisque chaque charset peut être converti vers la plupart des 174 autres charsets, plusieurs milliers de conversions différentes sont alors possibles. La plupart des jeux de caractères de la norme RFC 1345 sont supportés. Le programme Recode est une partie-avant pratique de la logithèque.

Dans cette rubrique, les exemples de Free recode porteront plus particulièrement sur le traitement des langues africaines. Les explications seront limitées aux commandes les plus générales ou les plus essentielles. Pour comprendre les commandes d'appel de Recode formulées dans les prochains exemples, consultez le Menu d'aide de Recode.


Les charsets africains

À partir de la commande recode -l qui énumère la liste de toutes les surfaces et de tous les charsets supportés, le Tableau 1 reproduit la liste des charsets qui se rapportent plus spécifiquement aux langues africaines:


TABLEAU 1 - Liste des charsets africains
Nom du charset Noms alias du charset
AFRL1-101-BPI_OCIL afrl1101bpiocil, tfrancais, et tfra sont des alias pour ce charset.
AFRFUL-102-BPI_OCIL afrful102bpiocil, bambara, bra, ewondo, et fulfulde sont des alias pour ce charset.
AFRFUL-103-BPI_OCIL afrful103bpiocil, tbambara, tbra, tewondo, et tfulfulde sont des alias pour ce charset.
AFRLIN-104-BPI_OCIL afrlin104bpiocil, lin, lingala, sango, et wolof sont des alias pour ce charset.
AFRLIN-105-BPI_OCIL afrlin105bpiocil, tlin, tlingala, tsango, twolof sont des alias pour ce charset.

Dans cette liste de charsets du Tableau 1, le premier élément désigne le nom officiel de ce charset tandis que les autres éléments successifs sont des noms alias pour ce dit charset. Pour les langues africaines, les charsets pairs AFRFUL-102-BPI_OCIL et AFRLIN-104-BPI_OCIL servent à produire des fichiers textuels en version encodée tandis que les charsets impairs AFRFUL-103-BPI_OCIL et AFRLIN-105-BPI_OCIL servent à produire des fichiers textuels en version translittérée.

Dans la prochaine section, nous utiliserons le nom alias bra pour identifier le charset AFRFUL-102-BPI_OCIL ainsi que le terme bra comme nom d'extension de fichier pour identifier un fichier en version encodée. Nous utiliserons le nom alias tbra pour identifier le charset AFRFUL-103-BPI_OCIL ainsi que le terme tbra comme nom d'extension de fichier pour identifier un fichier en version translittérée.

De plus, nous utiliserons le nom alias lin pour identifier le charset AFRLIN-104-BPI_OCIL ainsi que le terme lin comme nom d'extension de fichier pour identifier un fichier en version encodée. Nous utiliserons le nom alias tlin pour identifier le charset AFRLIN-105-BPI_OCIL ainsi que le terme tlin comme nom d'extension de fichier pour identifier un fichier en version translittérée.

Exemples de recodage africain

Un fichier textuel est qualifié de fichier en version translittérée lorsque son contenu est codifié conformément aux conventions de clavier qui ont été présentées dans la rubrique Clavier. Un fichier textuel est qualifié de fichier en version encodée lorsque son contenu est codifié conformément à l'un ou l'autre des deux jeux de caractères africains à 255 positions qui ont été présentés dans la rubrique Annexe 2 - Jeu de caractères AFRFUL et la rubrique Annexe 3 - Jeu de caractères AFRLIN.

Pour les recodages africains, Recode permet de convertir un fichier en version translittérée vers un fichier en version encodée ou, dans le sens contraire, d'un fichier translittéré vers un fichier encodé. Notons que la version translittérée d'un fichier pourra être utilisée pour transmettre directement par courrier électronique des données textuelles africaines dans des environnements informatiques hostiles qui ne protègent pas le huitième bit ou qui le détruisent automatiquement.

La commande en (1) demande de recoder le charset tbra du fichier d'entrée xbam.tbra vers le charset bra, et d'écrire les résultats dans le fichier xbam-2.bra. La commande en (2) permet d'effectuer la même opération dans le sens inverse. Cette commande en (2) demande de lire le fichier d'entrée xbam-2.bra, de recoder le charset bra du fichier d'entrée vers le charset tbra, et d'écrire ensuite les résultats dans le fichier xbam-2.tbra. Suite à ces deux commandes, le fichier résultant xbam-2.tbra sera strictement équivalent au fichier initial xbam.tbra.

(1)  recode tbra..bra < xbam.tbra  > xbam-2.bra
(2)  recode bra..tbra < xbam-2.bra > xbam-2.tbra

Pour illustrer cette commande en (2), si le fichier xbam.tbra contient le texte bambara suivant en version translittérée:

N ye n ka nsiirin nin da Amadu Tara la.  Jamanatigi do` tun be` yen muso
ko`no`nto` de tun be` a fe`.  Muso ko`no`nto` be`e` ye denke` kelen kelen
wolo a ye.  A denke` kelen kelen be`e` fana to`go` ye ko Amadu.  Amadu ninw,
u ba to`go` de tun be` da u kan ka u bo` nyo`go`n na.  Amadu be`e` ncinin
tun ye denke` ninw be`e` la do`go`nin o de tun ye Amadu Tara ye.  O tun
ye jamanatigi nin ka taramuso den ye.

alors le fichier xbam-2.bra résultant contiendra le texte bambara suivant en version encodée:

N ye n ka nsiirin nin da Amadu Tara la.  Jamanatigi dò tun bè yen muso
kònòntò de tun bè a fè.  Muso kònòntò bèè ye denkè kelen kelen
wolo a ye.  A denkè kelen kelen bèè fana tògò ye ko Amadu.  Amadu ninw,
u ba tògò de tun bè da u kan ka u bò nyògòn na.  Amadu bèè  ncinin
tun ye denkè ninw bèè la dògònin o de tun ye Amadu Tara ye.  O tun
ye jamanatigi nin ka taramuso den ye.

La commande en (3) demande de recoder le charset tbra du fichier d'entrée xful.tbra vers le charset bra, et d'écrire les résultats dans le fichier xful-2.bra. La commande en (4) permet d'effectuer la même opération dans le sens inverse. Suite à ces deux commandes, le fichier résultant xful-2.tbra sera strictement équivalent au fichier initial xful.tbra.

(3)  recode tbra..bra < xful.tbra > xful-2.bra
(4)  recode bra..tbra < xful-2.bra > xful-2.tbra

Pour illustrer la commande en (3), si le fichier xful.tbra contient le texte fulfulde suivant en version translittérée:

Woni d[on haa b[ooyi.  Oya mard[o jiwo kaanaro on maayi.  Suka no ton no
wi?^ee Buubu Yeeb[e, on suka e nder sukaab[e aduna on alaa burd[o mo
labeede.  On suka yahi safaari, o woni ton haa neeb[i --- wa duub[i
sappo o ko fawi! --- Yumma makko maraa b[id[d[o go?^o si wonaa kanko.

alors le fichier xful-2.bra résultant contiendra le texte fulfulde suivant en version encodée:

Version encodée fulfulde

La commande en (5) demande de recoder le charset tlin du fichier d'entrée xlin.tlin vers le charset lin, et d'écrire les résultats dans le fichier xlin-2.lin. La commande en (6) permet d'effectuer la même opération dans le sens inverse.

(5)  recode tlin..lin < xlin.tlin > xlin-2.lin
(6)  recode lin..tlin < xlin-2.lin > xlin-2.tlin

Pour illustrer la commande en (5), si le fichier xlin.tlin contient le texte lingala suivant en version translittérée:

Moba\'li mo['ko[', azala\'ki\' se\' ye\'mo['ko[' na\' bilo['ko[ mi\'ngi.
Moko[lo[ mo['ko[' alobi\': ti\'ka\' na\'ke[nde[ koluka mwa\vsi\'.  Ake[i'.
Ata\'mbo\'li\' ka\' ka\'  ka\', ako\'mi\' nambo\'ka mo['ko[', aku\'ti\'
wa^na\' Ntaba.  Ntaba atu\'ni\' ye\v: ndeko, o\vkoke[nde[ wa\'pi?
Moto alobi\': na\vkoke[nde[ koluka mwa\vsi yakoba\'la naye\'.  Ntaba
alobi\': zila\' nga\'i\' to\'ke[nde[ elo[ngo['.

alors le fichier xlin-2.lin résultant contiendra le texte lingala suivant en version encodée:

Version encodée lingala

La commande en (7) demande de recoder le charset tlin du fichier d'entrée xsaj.tlin vers le charset lin, et d'écrire les résultats dans le fichier xsaj-2.lin. La commande en (8) permet d'effectuer la même opération dans le sens inverse.

(7)  recode tlin..lin < xsaj.tlin > xsaj-2.lin
(8)  recode lin..tlin < xsaj-2.lin > xsaj-2.tlin

Pour illustrer la commande en (7), si le fichier xsaj.tlin contient le texte sango suivant en version translittérée:

Ma^leyo"mbo" ayeke mbe^ni^ wakua ti^ leta"a.  Lo yeke zo so^ lo ye^ kua ti^
lo mi^ngi.  Azo ti^ ya^ ti^ vaka so^ si" lo yeke la"ngo" daa" so^ aye^
te"ne" ti^ lo mi^ngi ngbanga ti^ nzo"ni^ duti" ti^ lo na ya^nga^da ti^
lo na a^se"wa" ti^ lo.

alors le fichier xsaj-2.lin résultant contiendra le texte sango suivant en version encodée:

Mâleyömbö ayeke mbênî wakua tî letäa.  Lo yeke zo sô lo yê kua tî
lo mîngi.  Azo tî yâ tî vaka sô sï lo yeke längö daä sô ayê
tënë tî lo mîngi ngbanga tî nzönî dutï tî lo na yângâda tî
lo na âsëwä tî lo.

La commande en (9) demande de recoder le charset tlin du fichier d'entrée xwol.tlin vers le charset lin, et d'écrire les résultats dans le fichier xwol-2.lin. La commande en (10) permet d'effectuer la même opération dans le sens inverse.

(9)  recode tlin..lin < xwol.tlin > xwol-2.lin
(10)  recode lin..tlin < xwol-2.lin > xwol-2.tlin

Pour illustrer la commande en (9), si le fichier xwol.tlin contient le texte wolof suivant en version translittérée:

Ca 1965 ba leegi, Suwaahili mooy la`kk re\'e\'wum Tansani.  La`kk woowu
lan^uy ja`ngalee ci daara yu ndaw yi ag yu yem yi.  Ci moom la n^uy jottalee
xabaar yi n^uy wax ag yi n^uy bind.

alors le fichier xwol-2.lin résultant contiendra le texte wolof suivant en version encodée:

Version encodée wolof

Pour les recodages africains, toutes les commandes de (1) à (10) se formulent de cette manière autant sous Linux que sous Windows95. Toutefois, il faut porter une attention particulière à la surface CR-LF lorsqu'un fichier est fabriqué sur une plateforme et qu'il est ensuite copié sur l'autre plateforme. Selon le contexte, il faudra alors soit ajouter ou soit enlever la surface CR-LF. Cette opération peut être effectuée soit pendant le recodage de fichiers ou soit sur un fichier déjà recodé.

Par exemple, examinons la commande en (11) en considérant que vous êtes sous Linux et que le fichier xwol.tlin a été fabriqué sous Linux. La commande en (11) demande de recoder le fichier d'entrée xwol.tlin du charset tlin vers le charset lin, d'ajouter ensuite la surface CR-LF, et d'écrire enfin les résultats dans le fichier de sortie xwol-2.lin. Si ce fichier résultant est ensuite copié sous Windows95, il sera alors un fichier MS-DOS compatible. Dans ce cas-ci, l'ajout de la surface CR-LF a été effectué tout simplement sous Linux avant de transporter le fichier résultant sous Windows95.

(11)  recode tlin..lin/crlf < xwol.tlin > xwol-2.lin

Il n'est pas obligatoire d'ajouter la surface CR-LF sous Linux afin de pouvoir copier un fichier sous Windows95. Cette surface CR-LF peut aussi être ajoutée sous Windows95. L'important c'est de l'ajouter à un moment donné. Par exemple, considérons que la commande en (12) a été exécutée sous Linux et que le fichier xwol-2.lin résultant a été copié ensuite sous Windows95. Pour ajouter la surface CR-LF à ce fichier, il suffit d'exécuter la commande en (13) dans un shell MS-DOS sous Windows95.

(12)  recode tlin..lin     < xwol.tlin > xwol-2.lin
(13)  recode lin..lin/crlf < xwol-2.lin

Maintenant, examinons la commande en (14) en considérant que vous êtes sous Windows95 et que le fichier xwol.tlin a été fabriqué sous Windows95. La commande en (14) demande d'enlever d'abord la surface CR-LF du fichier d'entrée xwol.tlin, de recoder ensuite du charset tlin vers le charset lin, et d'écrire enfin les résultats dans le fichier de sortie xwol-2.lin. Si ce fichier résultant est ensuite copié sous Linux, il sera alors un fichier Linux compatible. Dans ce cas-ci, l'enlèvement de la surface CR-LF a été effectué tout simplement sous Windows95 avant de transporter le fichier résultant sous Linux.

(14)  recode tlin/crlf..lin < xwol.tlin > xwol-2.lin

Il n'est pas obligatoire d'enlever la surface CR-LF sous Windows95 afin de pouvoir copier un fichier sous Linux. Cette surface CR-LF peut aussi être enlevée sous Linux. L'important c'est de l'enlever à un moment donné. Par exemple, considérons que la commande en (15) a été exécutée sous Windows95 et que le fichier xwol-2.lin résultant a été copié ensuite sous Linux. Pour enlever la surface CR-LF à ce fichier, il suffit d'exécuter la commande en (16) sous Linux.

(15)  recode tlin..lin     < xwol.tlin > xwol-2.lin
(16)  recode lin/crlf..lin < xwol-2.lin

ANNEXE 1 - Menu d'aide Recode

«Free recode» transforme les jeux de caractères et les surfaces de fichiers

Usage: recode [OPTION]... [ [CHARSET] | DEMANDE [FICHIER]... ]

Un paramètre obligatoire pour une option de forme longue l'est aussi pour une
option de forme courte.  La même règle s'applique à un paramètre indiqué comme
étant optionnel.

Listes:
  -l, {-}{-}list[=FORMAT]     afficher un charset donné, ou fournir toute la liste
  -k, {-}{-}known=PAIRES      choisir les charsets selon quelques PAIRES connues
  -h, {-}{-}header[=[LN/]NOM] tabuler NOM sur stdout, utilisant LN, puis terminer
  -F, {-}{-}freeze-tables     produire un module C contenant toutes les tables
  -T, {-}{-}find-subsets      lister tout charset qui est sous-ensemble d'un autre
  -C, {-}{-}copyright         afficher les conditions de copie, puis terminer
      {-}{-}help              fournir ce message d'aide, puis terminer
      {-}{-}version           identifier la programme, puis terminer

Modes d'opération:
  -v, {-}{-}verbose           afficher les étapes prévues, suivre la progression
  -q, {-}{-}quiet, {-}{-}silent   taire les messages sur les recodages irréversibles
  -f, {-}{-}force             effectuer même les recodages irréversibles
  -t, {-}{-}touch             «touch»er les fichiers après leur remplacement
  -i, {-}{-}sequence=files    fabriquer des fichiers pour ordonnancer les passes
      {-}{-}sequence=memory   utiliser des tampons pour ordonnancer les passes
  -p, {-}{-}sequence=pipe     utiliser «pipe» pour ordonnancer les passes

Ajustements fins:
  -s, {-}{-}strict            recoder strictement, perte possible de caractères
  -d, {-}{-}diacritics        se restreindre aux diacritiques pour HTML/LaTeX
  -S, {-}{-}source[=LN]       ne recoder que les chaînes et les commentaires LN
  -c, {-}{-}colons            utiliser «:» plutôt que «"» pour les trémas
  -g, {-}{-}graphics          convertir au mieux possible les «rulers» IBMPC
  -x, {-}{-}ignore=CHARSET    ignorer CHARSET durant le choix des étapes

L'option «-l» sans FORMAT ni CHARSET donne la liste des charsets et
des surfaces disponibles.  FORMAT vaut «decimal», «octal»,
«hexadecimal» ou «full», ou encore un caractère dans
«dohf».  Le charset «Latin-1» est la valeur par défaut.
LN est le nom d'un langage: `c', `perl' ou `po'; `c' par défaut.

DEMANDE est SOUS-DEMANDE[,SOUS-DEMANDE]...; SOUS-DEMANDE est
CODAGE[..CODAGE]...  CODAGE est [CHARSET][/[SURFACE]]...;
DEMANDE ressemble souvent à AVANT..APRÈS où AVANT et APRÈS étant des charsets.

Un CHARSET omis sous-entend le charset canonique (par défaut);
une [/SURFACE]... omise sous-entend les surfaces implicites
pour CHARSET; un / sans surface indique l'absence de toute surface.
Voir le manuel de documentation!

En l'absence de «-i» ou «-p», choisir «-i» avec FICHIER, sinon «-p».
Chaque FICHIER est recodé sur lui-même, détruisant l'original.
Si aucun FICHIER n'est donné, alors agir comme un filtre
et recoder stdin sur stdout.

Rapporter tout disfonctionnement à recode-bugs@iro.umontreal.ca;
et rapporter les problèmes de francisation à fr@li.org.
Accueil TCAO  |  Remerciements  |  Un aperçu  |  Licence BPI  |  Distribution  |  Installation  | 
Claviers  |  Pointeurs  |  Alibi  |  Concorde  |  Recode  |  Ventile  |  Vocable  |  Accueil BPI

http://progiciels-bpi.ca  |  bourbeau@progiciels-bpi.ca
Copyright ©  Progiciels Bourbeau Pinard inc., Montréal, 1999. Tous droits réservés / All rights reserved.