Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[decouverte] Programme pour ajouter les codes de césure aux documents XHTML en UTF-8

6 réponses
Avatar
Lea GRIS
Bonjour,

Je vous fais part de l'existence d'un petit outil pratique libre et
inédit pour intégrer les codes de césure UTF-8 aux documents XHTML.

xhtml_hyphenate est un programme de césure pour les documents XHTML.

À découvrir ici en anglais :
<http://swolter.sdf1.org/software/article-xhtml_hyphenate.html>

xhtml_hyphenate: An hyphenation program for XHTML documents

As an ex­am­ple for re­al-world us­age of lib­hy­phen­ate, I proud­ly
present you the XHTML hy­phen­ator. By scru­ti­niz­ing the xml:lang tag
present in XML doc­u­ments, it hy­phen­ates all non-head­er text nodes
of an XHTML doc­u­ment with stan­dard UTF-8 soft hy­phens, which are
used by all stan­dard browsers ex­cept Mozil­la Fire­fox as
hy­phen­ation hints. Fire­fox ig­nores them com­plete­ly, so no harm is
done.

--
Léa Gris

6 réponses

Avatar
Olivier Miakinen
Le 24/03/2008 21:41, Lea GRIS a écrit :

Je vous fais part de l'existence d'un petit outil pratique libre et
inédit pour intégrer les codes de césure UTF-8 aux documents XHTML.

xhtml_hyphenate est un programme de césure pour les documents XHTML.

À découvrir ici en anglais :
<http://swolter.sdf1.org/software/article-xhtml_hyphenate.html>

xhtml_hyphenate: An hyphenation program for XHTML documents

As an ex­am­ple for re­al-world us­age of lib­hy­phen­ate, I proud­ly
present you the XHTML hy­phen­ator. [...]



Ainsi que le laisse supposer cette dernière phrase il faut conjointement
récupérer libhyphenate, car c'est cette bibliothèque qui fait tout le
boulot : <http://swolter.sdf1.org/software/libhyphenate.html>.

Si j'en crois la présence de fichiers en, es, fr, de et de-DE-1901, il
y a déjà tout ce qu'il faut pour l'anglais, l'espagnol, le français, et
deux versions de l'allemand (avant et après 1901 ?).
Avatar
Lea GRIS
Olivier Miakinen a écrit :

Ainsi que le laisse supposer cette dernière phrase il faut conjointement
récupérer libhyphenate, car c'est cette bibliothèque qui fait tout le
boulot : <http://swolter.sdf1.org/software/libhyphenate.html>.



Tout à fait :)

Je viens de compiler la bibliothèque et le programme dans Ubuntu Gutsy
(ne pas oublier de faire un (sudo ldconfig pour répertorier la nouvelle
bibliothèque). Tout semble bien fonctionner avec un document mélangé
français/anglais, bien que je ne sois pas allée vérifier l'exactitude du
placement des césures selon les différentes langues.

En bonus, ce que ne précise pas l'auteur, les césures UTF-8 sont bien
prises en compte par Firefox3 (testé avec la nightly 3.0b5pre Minefield).

Si j'en crois la présence de fichiers en, es, fr, de et de-DE-1901, il
y a déjà tout ce qu'il faut pour l'anglais, l'espagnol, le français, et
deux versions de l'allemand (avant et après 1901 ?).



Au sujet de l'allemand, je ne saurais te répondre.


--
Léa Gris
Avatar
Olivier Miakinen
Le 24/03/2008 23:12, Lea GRIS a écrit :

Si j'en crois la présence de fichiers en, es, fr, de et de-DE-1901, il
y a déjà tout ce qu'il faut pour l'anglais, l'espagnol, le français, et
deux versions de l'allemand (avant et après 1901 ?).



Au sujet de l'allemand, je ne saurais te répondre.



Il y a bien eu une modification des règles de césure en allemand, mais
c'était en 1996. Du coup je suis moins étonné qu'il propose les deux
fichiers car c'est vraiment très récent (devenu obligatoire en 2005).

http://fr.wikipedia.org/wiki/R%C3%A9forme_de_l'orthographe_allemande_de_1996#C.C3.A9sure
Avatar
Mickaël Wolff
Lea GRIS a écrit :
which are
used by all stan­dard browsers ex­cept Mozil­la Fire­fox as
hy­phen­ation hints. Fire­fox ig­nores them com­plete­ly, so no harm is
done.




Aux dernières nouvelles, Mozilla Firefox 3 n'est pas concerné par le
problème.

Cependant, je doute de la pertinence de l'usage d'un tel outil pour
les documents XHTML. Le XHTML n'est pas un média graphique, et selon le
type de caractères, la configuration de l'écran, la disponibilité de la
police de caractère, etc la césure ne sera certainement pas à la bonne
place.
Pour moi c'est le boulot du navigateur web graphique. Insérer les
césures dans le HTML est du même acabit que l'usage des tableaux pour la
mise en page.

Bref, au pire, on peut imaginer que ce genre de manipulations est à
reléguer aux CSS en conjugaison des attributs xml:lang et xhtml:lang.
Mais c'est plus facile à dire qu'à faire, visiblement
<http://www.w3.org/TR/css3-text/#hyphenate>.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
Olivier Miakinen
Le 25/03/2008 10:53, Mickaël Wolff a écrit :
Lea GRIS a écrit :
which are
used by all stan­dard browsers ex­cept Mozil­la Fire­fox as
hy­phen­ation hints. Fire­fox ig­nores them com­plete­ly, so no harm is
done.



Aux dernières nouvelles, Mozilla Firefox 3 n'est pas concerné par le
problème.



C'est déjà ce qu'écrivait Léa dans son article de 23 h 12 (heure française).

Cependant, je doute de la pertinence de l'usage d'un tel outil pour
les documents XHTML. Le XHTML n'est pas un média graphique, et selon le
type de caractères, la configuration de l'écran, la disponibilité de la
police de caractère, etc la césure ne sera certainement pas à la bonne
place.



Je ne comprends pas ta remarque, ou alors c'est toi qui n'a pas compris
la même chose que moi. Ce que j'ai compris de ce « césureur XHTML »,
c'est qu'il insère à chaque endroit possible un caractère U+00AD, qui
est une autorisation (du moins dans quelques langues telles que le
français et l'anglais) d'afficher un trait d'union suivi d'un saut de
ligne (ou bien rien).

Par exemple, dans la phrase « la césure ne sera certainement pas à la
bonne place », il écrira (en notant § le caractère &shy;) « la cé§su§re
ne se§ra cer§tai§ne§ment pas à la bon§ne pla§ce », ce que le navigateur,
parmi de multiples autres possibilités, pourra rendre :
--------------------------------------------------------------------
la césure ne sera certainement pas à la bonne place
--------------------------------------------------------------------
la césure ne sera certainement pas à la bonne pla-
ce
--------------------------------------------------------------------
la césure ne sera certainement pas à la bonne
place
--------------------------------------------------------------------
la césure ne sera certainement pas à la bon-
ne place
--------------------------------------------------------------------
la césure ne sera certainement pas à la
bonne place
--------------------------------------------------------------------
...
--------------------------------------------------------------------
la césure ne sera certaine-
ment pas à la bonne place
--------------------------------------------------------------------
la césure ne sera certai-
nement pas à la bonne pla-
ce
--------------------------------------------------------------------
la césure ne sera cer-
tainement pas à la bonne
place
--------------------------------------------------------------------
la césure ne sera cer-
tainement pas à la bon-
ne place
--------------------------------------------------------------------
etc.

Pour moi c'est le boulot du navigateur web graphique.



C'est donc au navigateur du visiteur de connaître toutes les langues des
sites webs visités. Pourquoi pas, en effet, mais c'est un autre choix.

[...]

Bref, au pire, on peut imaginer que ce genre de manipulations est à
reléguer aux CSS en conjugaison des attributs xml:lang et xhtml:lang.
Mais c'est plus facile à dire qu'à faire, visiblement
<http://www.w3.org/TR/css3-text/#hyphenate>.



Noter que l'insertion de caractères U+00AD est très loin de résoudre
tous les problèmes : <http://www.cs.tut.fi/~jkorpela/shy.html>.
Avatar
Mickaël Wolff
Olivier Miakinen a écrit :

C'est déjà ce qu'écrivait Léa dans son article de 23 h 12 (heure française).



Rha... où ais-je donc rangé mes orties fraîches ?

Je ne comprends pas ta remarque, ou alors c'est toi qui n'a pas compris
la même chose que moi.



Effectivement, nous n'avions pas compris la même chose. J'avais
compris que le programme agisait comme un coupeur de ligne, mais qu'à la
place d'insérer un retour charriot, il insérait un soft hyphen.

Merci de ton éclairante explication.

Pour moi c'est le boulot du navigateur web graphique.



C'est donc au navigateur du visiteur de connaître toutes les langues des
sites webs visités. Pourquoi pas, en effet, mais c'est un autre choix.



Certes, et je penses que ce serait un plus intéressant. Enfin
l'attribut lang servirait à quelque chose.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org