Discussion:
panachage d'unicode et iso
(trop ancien pour répondre)
Herve Autret
2011-06-06 16:04:38 UTC
Permalink
Bonjour,

Je rencontre un problème en utilisant Doxygen. Les commentaires des
fichiers sources comportent des codes iso et de l'unicode car il ont été
écrits à différentes époques (et sur différentes machines par différentes
personnes). J'ai moi-meme déjà obtenu de genre de situation en changeant
de version de Linux au cours d'un travail...

Dans ces conditions, Latex ne peut pas traiter le code produit par
Doxygen et les pages html comportent des caratères inaffichables.

J'ai essayé de convertir ces fichiers avec iconv, dans les 2 sens :
- ISO vers UTF : les caratères utf prennent un octet de plus et ne sont
pas plus affichables qu'avant.
- UTF ves ISO : sans l'option -c, le traitement s'arrête au premier
caractère ISO (non UTF). Avec cette option, les caractères ISO sont
éliminés de la sortie. Je peux tout reprendre à la main à ce stade, notez.

Mais je me dis qu'avec une option -V[erbatim] pour laisser passer les
caractères non reconnus sans les modifier, je pourrais espérer m'en tirer.
Pour peu que le non-UTF ne soit pas trop hétérogène (un mélange de
caractères MAC, windows et autres, par exemple), oeuf corse.

En passant, j'ai essayé uconv (http://site.icu-project.org/ : c'est de
l'opensource, ok). Bien que ce programme semble avoir plus de
possibilités, je n'en ai rien obtenu de plus.

Avant de me pencher sur le code de la libiconv, pour voir si l'ajout de
l'option "verbatim" est réalisable sans y passer trop de temps,
j'aimerais savoir si quelqu'un connaît une solution pratique au problème
du mélange d'encodages ?

Cordialement,

[Xpost f.c.divers, f.c.application.libre, f.c.normes.unicode,
Suivi proposé sur sur f.c.divers]
--
Hervé
Yannick Duchêne (Hibou57)
2011-06-07 04:44:21 UTC
Permalink
Bonjour,

Le Mon, 06 Jun 2011 18:04:38 +0200, Herve Autret <***@lussinan.org> a=
=
Avant de me pencher sur le code de la libiconv, pour voir si l'ajout d=
e
l'option "verbatim" est r=C3=A9alisable sans y passer trop de temps,
j'aimerais savoir si quelqu'un conna=C3=AEt une solution pratique au p=
robl=C3=A8me
du m=C3=A9lange d'encodages ?
La solution que j=E2=80=99imaginerais, serait de traiter le flux =C3=A0 =
la recherche =

d=E2=80=99octets de la forme 10xxxxxx, et ainsi de d=C3=A9tecter les car=
act=C3=A8res encod=C3=A9s =

en UTF-8 (le d=C3=A9but du caract=C3=A8re se trouve alors au pr=C3=A9c=C3=
=A9dent 0xxxxxxx ou =

110xxxxx ou 1110xxxx ou 11110xxx); les autres seraient soit en ASCII 7 =

bits (qui de toute mani=C3=A8re ne peut pas =C3=AAtre distinguer de l=E2=
=80=99UTF-8 ni de =

l=E2=80=99ISO 8859-1), et les autres encore enfin =E2=80=94 ni ASCII ni =
UTF-8, seraient =

des caract=C3=A8res ISO 8859-1 (ou suppos=C3=A9 l=E2=80=99=C3=AAtre=E2=80=
=A6 une petite heuristique bas=C3=A9 =

sur les pages de code probables pourrait =C3=AAtre utile dans le pire de=
s cas).

Sinon =C3=A0 part =C3=A7a, je ne connais pas les sources de =E2=80=9Clib=
iconv=E2=80=9D, je ne peux =

donc pas me prononcer =C3=A0 ce sujet.

Bonne journ=C3=A9e


-- Yannick Duch=C3=AAne

-- =

=E2=80=9CSyntactic sugar causes cancer of the semi-colons.=E2=80=9D [Ep=
igrams on =

Programming =E2=80=94 Alan J. =E2=80=94 P. Yale University]
=E2=80=9CStructured Programming supports the law of the excluded muddle.=
=E2=80=9D [Idem]
=E2=80=9Cc++; /* this makes c bigger but returns the old value */=E2=80=9D=
[Anonymous]

Loading...