2009-11-16 3 views
0

Nous avons un contenu XML qui utilise Wingdings pour afficher des graduations et éventuellement d'autres caractères. Notre contenu Web est généré dynamiquement à partir du contenu XML par une application écrite en Delphi.NET. Il affiche actuellement <span style="font-family: Wingdings;">ü</span> qui affiche la coche correctement dans Internet Explorer et Chrome, mais affiche "ü" dans Firefox, Safari et Opera.Si je connais la police et le caractère, comment puis-je trouver par programme l'équivalent Unicode?

Y at-il une fonction .NET pour convertir automatiquement les caractères insérés dans Wingdings (et d'autres polices) en leurs équivalents Unicode, ou est-ce impossible?

Répondre

2

Il existe des tables de mappage entre Wingdings et Unicode - ici one et another - que vous pouvez utiliser comme base pour une solution programmatique.

+0

Merci. Je pense que c'est ce que je vais devoir faire. – matthewk

1

La sortie est-elle affichée dans Windings ou devez-vous afficher le même symbole dans les polices standard? Dans ce dernier cas, vous devrez appliquer une conversion spéciale comme dans les tables déjà liées. Dans le premier cas, il s'agit probablement d'une simple conversion de page de codes. Je suppose que votre XML est UTF-8 comme la plupart.

Est-ce génèrent 0xFC ou une variante comme &#252;/&#xfc; ou la séquence de deux octets 0xC3 0xBC? Si ce n'est pas 0xC3 0xBC, votre XML est et non UTF-8, et votre en-tête XML doit correctement définir exactement ce qu'il est, par exemple, ISO-8859-1. Une fois que vous avez fait cela, idéalement tout le monde serait capable de le lire correctement (en supposant qu'ils utilisent Wingdings pour ce texte particulier). Sinon, vous devrez peut-être le convertir explicitement en UTF-8.

+0

L'application ne prend pas en charge Unicode et le code XML n'est donc pas non plus Unicode. La sortie est configurée pour s'afficher dans Wingdings mais Firefox/Safari/Opera semble ignorer cela. – matthewk

Questions connexes