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

Symbole

15 réponses
Avatar
Kloug
Bonjour,
Dans Firefox 3.0, le code
<font face="Wingdings" >(</font>
affiche...une parenthèse...
Bizarre non ?
K

5 réponses

1 2
Avatar
Olivier Miakinen
Le 03/07/2009 20:04, SAM a écrit :

En wingdings, la parenthèse c'est le symbole téléphone.



Ben non, un symbole téléphone, ce n'est pas une parenthèse. Sauf bien



Bon.
Eh ben! moi non plus je ne comprends pas.



Pourtant, je pensais que ma dernière explication était claire. Quand tu
insères un caractère dans un fichier HTML, que ce soit directement
(caractère de code 28 en Latin1 ou en UTF-8) ou par un appel (de type
&#x28; ou &#x40;), cela fait référence à un numéro standardisé qui est
le numéro Unicode et *pas* à un quelconque index dans un fichier de font
propriétaire.

Si tu en as le courage, je te recommande la lecture de la page qu'a
donnée Andreas Prilop :
<http://www.alanflavell.org.uk/charset/fontface-harmful.html>.
Malheureusement c'est en anglais, mais tout y est : le fait que Mozilla
respecte bien le texte de la norme HTML, pourquoi c'est comme ça, et il
y a même un lien vers une page de bugzilla avec des échanges assez vifs.

Je suis assez persuadé qu'en html3 ça le faisait 'tél' pour '('



Les développeurs de Mozilla se sont laissés convaincre de réintroduire
le bug en mode quirks : c'est peut-être ça que tu as vu ?

(moi j'ai webdings et c'est un truc genre bulle de BD, mébon)



Cf. la page ci-dessus : Webdings c'est encore pire que tout car les
caractères utilisés sont définis dans la zone privée d'Unicode, et il
n'y a donc aucune garantie qu'un de ces caractères soit visible sur
une autre machine.

[...]

Est-ce que c'est plus clair ainsi ?



Non ! Pas du tout ! mais z'alors pas du tout!

Webdings est une police ne comportant que des symboles
le caractère '(' y est une bulle de BD



Ce n'est *pas* le caractère '(' ! C'est un caractère « bulle de BD »
dont le seul lien avec le caractère '(' est qu'ils ont le même numéro
d'index propriétaire dans leurs fichiers de fonte respectifs.

le navigateur doit afficher la bulle !
Je ne sors pas de là.



Si tu demandes au navigateur d'afficher une parenthèse, il doit afficher
une parenthèse, je ne sors pas de là.

et au diable les subtilités htmlentities ousskonveut de remplacement



Quoitudis à propos de htmlentities ? C'est complètement hors de propos,
d'autant que par défaut htmlentities ne gère que les caractères Latin1.

Il n'y a strictement aucune subtilité là-dedans. Tout simplement :
- si tu écris ( tu dois obtenir (
- si tu écris &#40; tu dois obtenir (
- si tu écris &#x28; tu dois obtenir (
- si tu écris ☎ tu dois obtenir ☎
- si tu écris &#9742; tu dois obtenir ☎
- si tu écris &#x260E; tu dois obtenir ☎
... quelles que soient les subtilités de rendu que tu demandes (choix de
la couleur des caractères, de leur taille, ou de leur fonte, pour n'en
citer que quelques-uns).

Les navigateurs qui ne respectent pas ça (et je vois qu'ils sont plus
nombreux que je ne le croyais) sont bugués, un point c'est tout.

Au passage, je signale qu'Opera aussi affiche la bulle.
ainsi qu'iCab ou Safari !

Il n'y a que Firefox à faire son mariole sur ma machine :-(



Eh bien Firefox est donc le seul à respecter le standard. Vivement que
les autres corrigent enfin ce bug.

--
Olivier Miakinen
Avatar
Olivier Miakinen
Le 03/07/2009 22:32, je répondais à SAM :

Je suis assez persuadé qu'en html3 ça le faisait 'tél' pour '('



Les développeurs de Mozilla se sont laissés convaincre de réintroduire
le bug en mode quirks : c'est peut-être ça que tu as vu ?



Ou alors, c'est que tu as le souvenir de Netscape 4 : ce navigateur
était bugué lui aussi, comme Internet Explorer et les autres.

--
Olivier Miakinen
Avatar
SAM
Le 7/3/09 10:32 PM, Olivier Miakinen a écrit :
Le 03/07/2009 20:04, SAM a écrit :
En wingdings, la parenthèse c'est le symbole téléphone.


Ben non, un symbole téléphone, ce n'est pas une parenthèse. Sauf bien


Bon.
Eh ben! moi non plus je ne comprends pas.



Pourtant, je pensais que ma dernière explication était claire. Quand tu
insères un caractère dans un fichier HTML, que ce soit directement
(caractère de code 28 en Latin1 ou en UTF-8) ou par un appel (de type
&#x28; ou &#x40;), cela fait référence à un numéro standardisé qui est
le numéro Unicode et *pas* à un quelconque index dans un fichier de font
propriétaire.



tu peux bien t'essscrimer, je n'arrive pas à te suivre !
Je dis '(' dans la police 'bidule' (que j'ai) il doit obéir, point!

Après qu'on puisse avoir accès par des manoeuvres scabreuses à des
glyphes ne figurant pas dans l'alphabet français, pourquoi pas et tant
mieux.

Si tu en as le courage, je te recommande la lecture de la page qu'a
donnée Andreas Prilop :
<http://www.alanflavell.org.uk/charset/fontface-harmful.html>.



Non, non merci.
j'ai déjà donné récemment.

Malheureusement c'est en anglais,



L'autre aussi :-(

mais tout y est :



Une autre fois ?

Je suis assez persuadé qu'en html3 ça le faisait 'tél' pour '('



Les développeurs de Mozilla se sont laissés convaincre de réintroduire
le bug en mode quirks : c'est peut-être ça que tu as vu ?



Ou bien je n'ai pas réussi à mettre Fx en Quirks, ou bien j'avais oublié
mes lunettes, mais non je ne l'ai pas vu me montrer la bulle au lieu de
la parenthèse.

(moi j'ai webdings et c'est un truc genre bulle de BD, mébon)



Cf. la page ci-dessus : Webdings c'est encore pire que tout car les
caractères utilisés sont définis dans la zone privée d'Unicode, et il



Oui c'est bien ce que me dit la "Palette de caractères" de mon Mac, et
puis ?
Je n'ai pas codé le fichier HTML en unicode (probable en Latin-1 ?).

n'y a donc aucune garantie qu'un de ces caractères soit visible sur
une autre machine.



?
j'ai eu eu plus que cette machine et j'ai comme l'impression que je n'ai
pas découvert cette police aujourd'hui.
Il doit donc il y avoir plus d'une machine qui parvienne à l'afficher.
J'ai même plusieurs applis qui y parviennent aussi.

Webdings est une police ne comportant que des symboles
le caractère '(' y est une bulle de BD



Ce n'est *pas* le caractère '(' ! C'est un caractère « bulle de BD »



Avec le lien que tu avais donné je n'ai pas réussi à le lui la faire
trouver.

dont le seul lien avec le caractère '(' est qu'ils ont le même numéro
d'index propriétaire dans leurs fichiers de fonte respectifs.



Oui ben peut-être et alors ?
De mon jeune temps pour les texteurs ça avait l'air de fonctionner comme ça.
J'ai d'ailleurs l'impression que ça fonctionne encore comme ça (peu
importe à quelle millième place est rangée la fonte, le caractère choisi
au clavier change à l'écran suivant celle-ci).

Il parait assez naturel qu'un brouteur puisse faire de même.
Sinon me dire à quoi sert font-family en CSS ?!

le navigateur doit afficher la bulle !
Je ne sors pas de là.



Si tu demandes au navigateur d'afficher une parenthèse, il doit afficher
une parenthèse, je ne sors pas de là.



Comment s'en dépatouille t-il finalement ce bougre de Fx (Quirks ou non)
pour m'afficher les décors de la Bodoni Ornaments ?

Et, je précise, dont la (
qui devient qque chose ressemblant à l'unicode 2747
(pas cherché les autres zigouisgouis s'il figuraient au tableau)

Il n'y a que Firefox à faire son mariole sur ma machine :-(





En tous cas avec cette Webdings et même ma 'Zapf Dingbats'
mais pas la DiagramTTFritz dont il veut bien.

Un peu comme s'il était fâché avec tout ce qui pourrait faire penser à
"ding". Dingue! non?

Eh bien Firefox est donc le seul à respecter le standard. Vivement que
les autres corrigent enfin ce bug.



Ben ... si les TtT "corrigent" aussi ce "bug" on va bien rigoler !

--
sm
Avatar
Olivier Miakinen
Le 04/07/2009 00:55, SAM a écrit :

tu peux bien t'essscrimer, je n'arrive pas à te suivre !
Je dis '(' dans la police 'bidule' (que j'ai) il doit obéir, point!



:-D

Et si tu demandes « 北京 » dans la police 'bidule', il doit t'obéir
aussi, même si 'bidule' ne possède aucun caractère chinois ? Non, il ne
peut pas le faire, alors Firefox a la gentillesse d'aller chercher ces
caractères dans une police autre que 'bidule' avant d'abandonner et de
mettre un caractère de remplacement (un '?' par exemple).

Avec '(' et 'Wingdings' c'est exactement la même chose : cette police ne
contient aucun caractère de la table ASCII, alors si tu lui en demandes
un elle ne peut pas te le fournir.

[...]

dont le seul lien avec le caractère '(' est qu'ils ont le même numéro
d'index propriétaire dans leurs fichiers de fonte respectifs.



Oui ben peut-être et alors ?



Et alors, la norme HTML désigne chacun des caractères par son numéro
Unicode, pas par un numéro défini par Adobe ou par Microsoft dans un
fichier propriétaire.

De mon jeune temps pour les texteurs ça avait l'air de fonctionner comme ça.



De mon jeune temps, les texteurs tournaient sur une seule machine à la
fois, et une technique propriétaire pour désigner les caractères était
bien suffisante. Ce genre de technique ne peut pas fonctionner sur un
média regroupant les machines du monde entier, et heureusement HTML a
choisi une autre méthode.

J'ai d'ailleurs l'impression que ça fonctionne encore comme ça (peu
importe à quelle millième place est rangée la fonte, le caractère choisi
au clavier change à l'écran suivant celle-ci).

Il parait assez naturel qu'un brouteur puisse faire de même.
Sinon me dire à quoi sert font-family en CSS ?!



Les CSS servent à changer la *présentation*, jamais le *contenu*. Avec
font-* tu peux choisir des caractères plus grands ou plus petits, plus
gras ou plus maigres, en italique ou en romain, avec ou sans empatte-
ments, mais tu ne peux pas changer un 'W' en 'Ω' ni un '(' en '☎' !

Comment s'en dépatouille t-il finalement ce bougre de Fx (Quirks ou non)
pour m'afficher les décors de la Bodoni Ornaments ?

Et, je précise, dont la (
qui devient qque chose ressemblant à l'unicode 2747
(pas cherché les autres zigouisgouis s'il figuraient au tableau)



Je suppose que cette police, contrairement à Wingdings qui a l'honnêteté
de dire que le '☎' est un '☎' et pas une '(', prétend que le zigouigoui
en question *est* une parenthèse.

Tiens, je te propose une expérience rigolote : tu mets ton caractère
dans un <div dir="rtl">...</div>, et il devrait échanger le zigouigoui
du '(' avec celui du ')' !


--
Olivier Miakinen
Avatar
Olivier Miakinen
Désolé, j'ai oublié de répondre à quelque chose.

Le 04/07/2009 00:55, SAM a écrit :

Je n'ai pas codé le fichier HTML en unicode (probable en Latin-1 ?).



Là, tu confonds « Unicode » avec « UTF-8 ». Ton fichier HTML, qu'il soit
codé en UTF-8, Latin-1, en MacRoman ou en EBCDIC, est *toujours* en
Unicode. C'est bien de cet « Unicode » que je parle dans mes articles
précédents (un numéro unique représente chaque caractère), le charset
n'ayant strictement rien à y voir.

--
Olivier Miakinen
1 2