|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2012 Messages : 1 ![]() |
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... |
|
|
00
|
|
|
#2 | |
|
Membre confirmé
![]() Xavier PerrissoudDéveloppeur amateur Inscription : décembre 2008 Messages : 135 ![]() |
Je confirme sans pour autant pouvoir te donner de solution
Citation:
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' |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com