Discussion:
bidi et safari
(trop ancien pour répondre)
Jacques Andre
2004-11-26 09:59:38 UTC
Permalink
Jai mis sur un site dont je m'occupe un texte utf-8 principalement en
hébreu avec quelques mots français entre parenthèses :
http://www.garamonpatrimoine.org/traductions/hebrew.html

Avec Netscape, IE, Mozilla, etc. ça s'affiche bien.

Mais (sur Mac OS X) Safari met les parenthèses à l'envers, comme si
elles appartenaient au texte hébreu.

Safari traite-t'il mal l'algo bidi pour ces parenthèses ouvrantes et
fermantes, ou b ien, au contraire, sont-ce les autres qui se plantent
(sur un texte mal codé) ?


Jacques André
Inria-Rennes


P.S. J'en profite pour vous suggérer de remonter à
http://www.garamonpatrimoine.org/petition.html et de signer : ça devient
catastrophique...
Andreas Prilop
2004-11-26 13:45:47 UTC
Permalink
Post by Jacques Andre
Jai mis sur un site dont je m'occupe un texte utf-8 principalement en
http://www.garamonpatrimoine.org/traductions/hebrew.html
Avec Netscape, IE, Mozilla, etc. ça s'affiche bien.
Mais (sur Mac OS X) Safari met les parenthèses à l'envers, comme si
elles appartenaient au texte hébreu.
Safari traite-t'il mal l'algo bidi pour ces parenthèses ouvrantes et
fermantes, ou b ien, au contraire, sont-ce les autres qui se plantent
(sur un texte mal codé) ?
You have in your source <p ... dir="rtl"> but the page actually has
some LTR (French) text. To quote an expert in BIDI text,
http://ppewww.ph.gla.ac.uk/~flavell/charset/text-direction.html

| The recommendation to authors who are involved in authoring
| rtl or mixed-direction content is to make liberal use
| of appropriate dir= attributes.

Therefore label *all* your French text with "dir=ltr" as I have done
in http://www.unics.uni-hannover.de/nhtcapri/temp/hebrew.html .

Carefully inspect also my examples at
http://www.unics.uni-hannover.de/nhtcapri/temp/mazel-tov.html
http://www.unics.uni-hannover.de/nhtcapri/temp/parentheses.html

BTW:
Do NOT, never ever, specify absolute font sizes in pixels!
Leave the font size to the reader!
Specify font sizes in percent if you need larger text.

Write special Latin-1 letters as entities: &ccedil;
Patrick Andries
2004-11-27 15:33:24 UTC
Permalink
Post by Andreas Prilop
Post by Jacques Andre
Jai mis sur un site dont je m'occupe un texte utf-8 principalement en
http://www.garamonpatrimoine.org/traductions/hebrew.html
Avec Netscape, IE, Mozilla, etc. ça s'affiche bien.
Mais (sur Mac OS X) Safari met les parenthèses à l'envers, comme si
elles appartenaient au texte hébreu.
Safari traite-t'il mal l'algo bidi pour ces parenthèses ouvrantes et
fermantes, ou b ien, au contraire, sont-ce les autres qui se plantent
(sur un texte mal codé) ?
You have in your source <p ... dir="rtl"> but the page actually has
some LTR (French) text. To quote an expert in BIDI text,
http://ppewww.ph.gla.ac.uk/~flavell/charset/text-direction.html
| The recommendation to authors who are involved in authoring
| rtl or mixed-direction content is to make liberal use
| of appropriate dir= attributes.
Therefore label *all* your French text with "dir=ltr" as I have done
in http://www.unics.uni-hannover.de/nhtcapri/temp/hebrew.html .
Je me demande à quoi sert l'algorithme bidi si tous les passages
directionnels/paleirs directionnels doivent être explicitement enchassés
dans des balises directionnelles....
Post by Andreas Prilop
Write special Latin-1 letters as entities: &ccedil;
Pourquoi ?

P. A.
Patrick Andries
2004-11-27 20:06:11 UTC
Permalink
Je reçois à ce sujet cet avis expert (i18n du W3c) :

« En principe il n'est pas obligatoire de marquer explicitement un seul
niveau d'enchâssement (deux paliers donc, du GàD dans du DàG ou vice
versa). C'est toutefois permis mais -- en principe encore -- ne devrait
faire *aucune* différence, c'est même là l'idée de base de l'algo
bidirectionnel, ça marche tout seul.

La pratique peut évidemment être différente :

- En plus de mettre en bon ordre les glyphes, le mécanisme de rendu doit
aussi utiliser les images miroir de certains caractères en contexte DàG
; il semble que Safari ait des problèmes à ce niveau.

- Il peut y avoir des différences dans d'autres aspects du rendu comme
le repli de ligne. C'est ce qu'on observe en
http://www.unics.uni-hannover.de/nhtcapri/temp/parentheses.html où le
repli est légèrement meilleur (pas de parenthèse isolée en début ou fin
de ligne) dans le cas explicitement marqué (avec Firefox 1.0). Je
dirais que c'est un bogue subtil, le marquage explicite est alors une
béquille pour contourner ce bogue, mais c'est permis. Juste un peu lourd.

Je suis tout à fait d'accord avec le conseil de ne pas préciser de corps
de fonte absolu, mais tout à fait en désaccord avec celui d'utiliser
&ccedil; et consorts. Le codage des caractères doit rester au niveau,
justement, du codage des caractères, pas au niveau du balisage.
--
François (pas Fran&ccedil;ois)»
Nicolas Krebs
2004-11-28 11:16:19 UTC
Permalink
Bonjour,
Post by Patrick Andries
Post by Andreas Prilop
Therefore label *all* your French text with "dir=ltr" as I have done
in http://www.unics.uni-hannover.de/nhtcapri/temp/hebrew.html .
Je me demande à quoi sert l'algorithme bidi si tous les passages
directionnels/paleirs directionnels doivent être explicitement enchassés
dans des balises directionnelles....
Bonne question. Réponses :
- le système de fonctionnement en couches, utilisé par beaucoup de
structures informatiques (logicielles ou matérielle)
- la possibilité de spécifier le sens au niveau du texte, du html,
du CSS
- indiquer bidi avec unicode : voir documentations unicode
(dont U+200E, U+200F, U+202A, U+202B, U+202C, U+202D, U+202E)
- html ou xml :
- http://www.w3.org/TR/html4/struct/dirlang.html#adef-dir
- http://www.w3.org/TR/xhtml1/
- http://www.w3.org/TR/REC-xml/#sec-lang-tag
Beaucoup de « user-agent » appliquent un sens d'affichage aux contenus
spécifiés par « xml:lang » comme écrits dans une langue écrite dans un
seul sens, et la norme successeure de la rfc 3066 augmentera cette
possibilité en autorisant l'introduction dans un code de langue d'un
code d'écriture, qui n'ont en majorité qu'un seul sens d'écriture (1),
et donc xml:lang est utile.
- CSS
- http://www.w3.org/TR/REC-CSS2/visuren.html#direction
- http://www.w3.org/TR/CSS21/visuren.html#direction
- http://www.w3.org/TR/css3-text/#direction
- « W3C I18N Topic Index », paragraphe « Bidirectional text »
http://www.w3.org/International/resource-index.html#bidi
- « What you need to know about the bidi algorithm and inline markup »
http://www.w3.org/International/articles/inline-bidi-markup/
- « Questions & Answers: (X)HMTL & bidi formatting codes vs. markup »
http://www.w3.org/International/questions/qa-bidi-controls
- « FAQ: CSS vs. markup for bidi support »
http://www.w3.org/International/questions/qa-bidi-css-markup

Notes :
1 : http://www.inter-locale.com/ID/draft-phillips-langtags-08.html
Concernant le paragraphe 7 (#rfc.references1) alinéa 2 (#refs.ISO15924),
n'est-ce pas plutôt « ISO 15924:2004 » et ne serait-ce pas utile
d'indiquer l'adresse du site web officiel de la norme
(qui est http://www.iso.ch/iso/fr/CatalogueDetailPage.CatalogueDetail?
CSNUMBER=29546 ou http://www.unicode.org/iso15924/ il me semble) ?
Patrick Andries
2004-11-28 21:01:02 UTC
Permalink
Post by Nicolas Krebs
Bonjour,
Post by Patrick Andries
Post by Andreas Prilop
Therefore label *all* your French text with "dir=ltr" as I have done
in http://www.unics.uni-hannover.de/nhtcapri/temp/hebrew.html .
Je me demande à quoi sert l'algorithme bidi si tous les passages
directionnels/paleirs directionnels doivent être explicitement enchassés
dans des balises directionnelles....
- le système de fonctionnement en couches, utilisé par beaucoup de
structures informatiques (logicielles ou matérielle)
- la possibilité de spécifier le sens au niveau du texte, du html,
du CSS
- indiquer bidi avec unicode : voir documentations unicode
(dont U+200E, U+200F, U+202A, U+202B, U+202C, U+202D, U+202E)
Pas sûr de comprendre, pourquoi indiquer la directionalité sur chaque
passage directionnel, à la limite sur certains passages douteux
(résolutions des neutres), je veux bien, mais pourquoi sur chaque
passage directionnel ?
Post by Nicolas Krebs
- http://www.w3.org/TR/html4/struct/dirlang.html#adef-dir
- http://www.w3.org/TR/xhtml1/
- http://www.w3.org/TR/REC-xml/#sec-lang-tag
Idem en français, merci :

http://www.yoyodesign.org/doc/w3c/xml11/#sec-lang-tag
Post by Nicolas Krebs
- « W3C I18N Topic Index », paragraphe « Bidirectional text »
http://www.w3.org/International/resource-index.html#bidi
- « What you need to know about the bidi algorithm and inline markup »
http://www.w3.org/International/articles/inline-bidi-markup/
- « Questions & Answers: (X)HMTL & bidi formatting codes vs. markup »
http://www.w3.org/International/questions/qa-bidi-controls
- « FAQ: CSS vs. markup for bidi support »
http://www.w3.org/International/questions/qa-bidi-css-markup
En passant, une présentation en français présentée à Rabat sur le sujet
existe, j'espère que l'auteur du W3C la mettra bientôt en ligne.

Il ne s'agit pas de savoir si on doit utiliser des caractères Unicode
par opposition à du balisage ou à du « stylage », mais de savoir si
chaque passage directionnel doit explicitement voir sa directionalité
déclarée (je rappelle que les caractères ont une directionalité
forte/faible/neutre). La réponse est non, sauf rares cas ambigus ou
pathologiques que je sache.

Des liens en français svp. Il y en a tellement.

http://pages.videotron.com/hapax/

P. Andries
Andreas Prilop
2004-12-02 17:41:43 UTC
Permalink
Post by Patrick Andries
Pas sûr de comprendre, pourquoi indiquer la directionalité sur chaque
passage directionnel, à la limite sur certains passages douteux
(résolutions des neutres), je veux bien, mais pourquoi sur chaque
passage directionnel ?
To help broken browsers. It's better to have too much "dir" markup
than too few. Google Urdu has too few:
http://www.unics.uni-hannover.de/nhtcapri/temp/google-urdu.html
Google's own line (in red) is totally f^H messed up.

Andreas Prilop
2004-11-29 14:18:55 UTC
Permalink
Post by Patrick Andries
Post by Andreas Prilop
Therefore label *all* your French text with "dir=ltr" as I have done
in http://www.unics.uni-hannover.de/nhtcapri/temp/hebrew.html .
Je me demande à quoi sert l'algorithme bidi si tous les passages
directionnels/paleirs directionnels doivent être explicitement enchassés
dans des balises directionnelles....
The algorithm is mainly useful for text/*plain* but we have better
possibilities for text/*html*.
Post by Patrick Andries
Post by Andreas Prilop
Write special Latin-1 letters as entities: &ccedil;
Pourquoi ?
Because the original text contained an 8-bit Latin-1 encoded "ç"
inside UTF-8 text. You need to write "ç" also in UTF-8 of course.
A safe and easy alternative are entities.

[I'm sorry to write this in English but the matter is a bit too
complicated in French for me.]
Jacques Andre
2004-11-29 14:13:18 UTC
Permalink
Post by Patrick Andries
Post by Andreas Prilop
Write special Latin-1 letters as entities: &ccedil;
Pourquoi ?
P. A.
Parce que j'avais corrigé au dernier moment le texte utf-8 avec un
édtieur de texte 8 bits (ça marche souvent) mais tapé bêtement un "é" au
lieu du code utf-8 de "é"...

J.A.
Patrick Andries
2004-11-30 02:35:27 UTC
Permalink
Post by Jacques Andre
Post by Patrick Andries
Post by Andreas Prilop
Write special Latin-1 letters as entities: &ccedil;
Pourquoi ?
P. A.
Parce que j'avais corrigé au dernier moment le texte utf-8 avec un
édtieur de texte 8 bits (ça marche souvent) mais tapé bêtement un "é" au
lieu du code utf-8 de "é"...
Je comprends alors d'accord.

P. A.
Laurent Wacrenier
2004-11-26 16:42:42 UTC
Permalink
Post by Jacques Andre
Safari traite-t'il mal l'algo bidi pour ces parenthèses ouvrantes et
fermantes, ou b ien, au contraire, sont-ce les autres qui se plantent
(sur un texte mal codé) ?
Il faudrait déjà déclarer le language prédominant de la page avec
<html lang="he">

Ensuite il possible que les dir=rtl par ci par là ne soient
plus nessessaires (ce n'est pas clair et je n'ai pas testé).

Peut être des <span dir=ltr></span> autour des parties non hébreux
pallieraient aux défaillances des navigateurs supportant mal
l'algorithme bidi.
ol.g+ (Olivier Gutknecht)
2004-11-27 17:14:18 UTC
Permalink
Post by Jacques Andre
Jai mis sur un site dont je m'occupe un texte utf-8 principalement en
http://www.garamonpatrimoine.org/traductions/hebrew.html
Avec Netscape, IE, Mozilla, etc. ça s'affiche bien.
Mais (sur Mac OS X) Safari met les parenthèses à l'envers, comme si
elles appartenaient au texte hébreu.
Tu as corrigé le texte depuis ? Je ne remarque rien d'étrange à première
vue (screenshot sur
Loading Image...)

Safari 1.2.4 (v125.11)
MacOS X 10.3.6

Ol.
--
Olivier Gutknecht
Jacques Andre
2004-11-29 14:09:25 UTC
Permalink
Post by ol.g+ (Olivier Gutknecht)
Post by Jacques Andre
Mais (sur Mac OS X) Safari met les parenthèses à l'envers, comme si
elles appartenaient au texte hébreu.
Tu as corrigé le texte depuis ?
oui j'ai mis les parenthèses dans du texte "ltr" ce qui est bien sûr
contraire à la philo du bidi, mais qui fait que Safari marche...

J.André
Denis Liégeois
2004-11-29 21:50:44 UTC
Permalink
Post by Jacques Andre
oui j'ai mis les parenthèses dans du texte "ltr" ce
qui est bien sûr contraire à la philo du bidi, mais
qui fait que Safari marche...
Avec Internet explorer, en date d'envoi de cet article-ci,
la page ne s'affiche pas spontanément en décodant UTF-8.
Il faut demander ça manuellement.
Christophe Huguet
2004-11-30 09:57:16 UTC
Permalink
J'arrive un peu tard, mais bon...
Post by ol.g+ (Olivier Gutknecht)
Post by Jacques Andre
Jai mis sur un site dont je m'occupe un texte utf-8 principalement en
http://www.garamonpatrimoine.org/traductions/hebrew.html
Avec Netscape, IE, Mozilla, etc. ça s'affiche bien.
Mais (sur Mac OS X) Safari met les parenthèses à l'envers, comme si
elles appartenaient au texte hébreu.
Tu as corrigé le texte depuis ? Je ne remarque rien d'étrange à première
vue (screenshot sur
http://people.no-distance.net/ol/tmp/test-safari.png)
Ben pourtant « (Groupe Imprimerie Nationale) » est découpé n'importe
comment : « (Groupe Imprimerie » en fin de première ligne (à gauche
donc) et « Nationale) » en début de deuxième ligne !

Amicalement,

Christophe, néophyte mais observateur. ;-)
Andreas Prilop
2004-11-30 13:58:19 UTC
Permalink
Post by Christophe Huguet
Post by Jacques Andre
http://www.garamonpatrimoine.org/traductions/hebrew.html
Ben pourtant « (Groupe Imprimerie Nationale) » est découpé n'importe
comment : « (Groupe Imprimerie » en fin de première ligne (à gauche
donc) et « Nationale) » en début de deuxième ligne !
The source of the above page has

<span dir="ltr">(Imprimerie Nationale)</span>

which means that the parentheses are left-to-right.
However, the parentheses should be right-to-left

(<span dir="ltr">Imprimerie Nationale</span>)

so that you have a line wrapping such as

Groupe Imprimerie) ......
...... (Nationale

http://www.unics.uni-hannover.de/nhtcapri/temp/hebrew.html
Loading...