Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > wxWidgets
wxWidgets Forums d'entraide pour la programmation wxWidgets en C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/07/2012, 15h07   #1
poiuytrem
Invité de passage
 
Inscription : juillet 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2012
Messages : 1
Points : 0
Points : 0
Par défaut Migration de wxWidgets 2.8 à 2.9 et wxFont

Je viens de migrer mon code de wxWidgets 2.8.8 à 2.9.4 (Vista et Windows 7 pour chaque).
Ce code affiche du texte à l'écran en Times New Roman, en utilisant toutes sortes de caractères unicode, de plusieurs langues.

Police=new wxFont(8, wxROMAN, wxNORMAL, wxLIGHT, false, _T(""));
MonDC.SetTextForeground(*wxBLACK); // ou wxGREY
MonDC.SetFont(*Police);
MonDC.DrawText(Buffer, X, Y);

Buffer est wxString. Ce code affiche correctement le texte avec la 2.8.8, mais pas en 2.9.4: les lettres latines sont OK, mais le e tilde par exemple (unicode 0x1ebd) est remplacé par un rectangle.

Si on remplace wxLIGHT par wxBOLD en 2.9.4, des caractères s'affichent correctement! Agrandir la police de 8 à 10 puis 12 améliore les choses. Mais l'idéal serait de refaire marcher le code initial...
poiuytrem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 19h44   #2
wxXav
Membre confirmé
 
Avatar de wxXav
 
Homme Xavier Perrissoud
Développeur amateur
Inscription : décembre 2008
Messages : 135
Détails du profil
Informations personnelles :
Nom : Homme Xavier Perrissoud
Localisation : France

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : décembre 2008
Messages : 135
Points : 226
Points : 226
Je confirme sans pour autant pouvoir te donner de solution

Citation:
Envoyé par poiuytrem Voir le message
Si on remplace wxLIGHT par wxBOLD en 2.9.4, des caractères s'affichent correctement! Agrandir la police de 8 à 10 puis 12 améliore les choses.
Pour ma part, le fait de modifier la taille de la police ne change rien.
C'est apparemment le wxLIGHT qui pose problème.

A mon avis, ça doit venir de la police réellement sélectionnée.
Parce que même sous wx-2.8.12, si tu remplaces wxROMAN par wxFONTFAMILY_DECORATIVE, ça foire quelque soit la valeur weight

La seule solution serait de vérifier quelle police est utilisée pour wxROMAN avec wx-2.8.12 et utiliser celle-ci avec wx-2.9.4

@+
Xav'
wxXav est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h48.


 
 
 
 
Partenaires

Hébergement Web