Bonjour,

sur un site que je fais pour une amie qui est iranienne j'affiche du texte en persan.

Avec firefox, le texte persan qui n'est pas en italique est très bien affiché. Par contre le texte persan en italique est remplacé par des carrés.

Ce phénomène ne se produit pas avec IE: le texte est très bien affiché qu'il soit en italique ou non.

vous pouvez tester avec ce code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fa" dir="rtl"><head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Probleme italique</title>
</head>
<body>

	&#1607;&#1606;&#1585;&#1607;&#1575;&#1740; &#1578;&#1580;&#1587;&#1605;&#1740;<br>
      <i>&#1607;&#1606;&#1585;&#1607;&#1575;&#1740; &#1578;&#1580;&#1587;&#1605;&#1740;</i>

</body>
</html>


Auriez-vous une idée d'où cela pourrait venir ?

Merci pour votre aide.
Modifié par Florent V. (05 Sep 2008 - 19:07)
Bonjour,

Ce problème survient peut-être parce qu'il n'y a pas de fonte italique pour les caractères utilisés, ou parce que Firefox n'arrive pas à la trouver. En effet, il me semble que chaque navigateur a sa propre méthode pour détecter les fontes installées sur le système et choisir quelle fonte utiliser.

Tu peux comparer également quelles sont les fontes par défaut utilisées par les navigateurs. Il se peut que la fonte par défaut utilisée par Firefox ne soit pas la même que celle pour IE, et que sa variation en italiques ne possède pas les bons caractères.

Je ne connais pas les détails (c'est un sujet plutôt technique et assez complexe), mais en gros tu ne peux pas y faire grand chose. Sauf installer des fontes supplémentaires ou utiliser un système déjà configuré pour afficher cette gamme de caractères.

Pour information, j'ai testé de mon côté et les caractères s'affichent bien sous Firefox… avec une installation fraiche de Mac OS X (en français). Smiley cligne
Tout d'abord merci pour la rapidité de la réponse.

J'ai vérifié les polices par défaut de firefox et IE. Je n'ai rien trouvé de très différent: les 2 navigateurs utilisent les polices Times New Roman, Courrier et Arial par défaut.

Pour faire un test supplémentaire, j'ai téléchargé Opéra 9.52. Il affiche bien les caractères persan italiques sauf pour le caractère virgule (remplacé par un carré).
(N.B.: le caractère virgule n'est pas le même qu'en police "latine".)

Cela ne semble pas venir de la police utilisée car elle est la même quelque soit le navigateur et de plus elle est très classique.

Le cas d'Opera est assez révélateur: celui-ci trouve bien la fonte de forme italique puisqu'il affiche correctement la plupart des caractères. Pourtant il y a certains caractères qu'il n'arrive pas à afficher.

Je ne connais rien en fonte mais le problème ici exposé me laisse penser que les navigateurs recherchent pour chaque valeur de caractère le "dessin" correspondant et que pour certaines valeurs ils n'arrivent pas à associer de "dessin". Donc ils affichent un carré par défaut.

Pour moi une fonte est un fichier qui décrit pour un ensemble de valeurs de caractères le dessin associé qui va représenté graphiquement ce caractère.
Donc:
- soit le navigateur ne trouve pas ce fichier et il n'est pas capable d'afficher le moindre caractère: ici ce n'est pas notre cas car sinon il n'afficherait même pas les caractères non italiques,
- soit le navigateur trouve ce fichier mais dans ce fichier certains caractères sont manquants: cela pourrait expliquer le problème de firefox. Mais alors il se passerait la même chose pour IE.

Peut-être qu'il y a en fait plusieurs fichiers qui décrivent une même fonte et IE les trouverait tous, firefox et opéra n'auraient qu'un morceau de la fonte.

Je trouve quand même curieux que la gestion des polices ne soit pas plus normalisée.

Un exemple de ce que ça donne:
upload/17818-ex.jpg
Modifié par Benjah (05 Sep 2008 - 22:08)