SDL2_ttf wyświetlanie polskich znaków
Ostatnio zmodyfikowano 2014-07-03 15:14
wicher Temat założony przez niniejszego użytkownika |
SDL2_ttf wyświetlanie polskich znaków » 2014-07-03 12:30:28 Witam Tworzę program korzystający z SDL2_ttf by wyświetlić tekst. Stworzyłem przycisk do którego można w kodzie wpisać tekst. Niestety zamiast polskich liter mam krzaczki. Przeczytałem już na ten temat wiele informacji niestety nadal nie mogę sobie poradzić z tym. Coś robię nie tak, ale nie mogę dociec co. Oto fragmenty kodu: SDL_Texture * TexFont; string strTekst; int iWysokosc; SDL_Color TextKolor; string strCzcionka; SDL_Surface * textSurface;
iWysokosc = 12; strTekst = "łąka"; TextKolor.b = 255; TextKolor.g = 255; TextKolor.r = 255; strCzcionka = "Tahoma.ttf";
Font = TTF_OpenFont( strCzcionka.c_str(), iWysokosc );
textSurface = TTF_RenderUTF8_Solid( Font, strTekst.c_str(), TextKolor );
TexFont = SDL_CreateTextureFromSurface( renderer, textSurface );
SDL_RenderCopyEx( renderer, TexFont, NULL, & destRect, dKat, Center, Flip ); Czcionka oczywiście posiada polskie znaki. Projekt w konfiguracji ma: Use of MFC:Use MFC in a Shared DLL Character Set: Use Multi-Byte Character Set No Common Language Runtime Support: No Common Language Runtime Support |
|
pekfos |
» 2014-07-03 12:42:52 Masz tekst w UTF-8? |
|
wicher Temat założony przez niniejszego użytkownika |
» 2014-07-03 13:01:03 chodzi właśnie oto, że plik z "łąką" specjalnie otworzyłem w notatniku i potem zapisałem jako plik z UTF-8 by mieć pewność, a potem ponownie dodałem go do projektu |
|
pekfos |
» 2014-07-03 13:57:52 textSurface = TTF_RenderUNICODE_Solid( Font, L"Zażółć gęślą jaźń", TextKolor );
A tak działa? |
|
wicher Temat założony przez niniejszego użytkownika |
» 2014-07-03 14:03:14 Ta forma działa |
|
Monika90 |
» 2014-07-03 14:11:07 A jak zrobisz tak?
strTekst = "\xc5\x82\xc4\x85ka"; textSurface = TTF_RenderUTF8_Solid(Font, strTekst.c_str(), TextKolor);
|
|
wicher Temat założony przez niniejszego użytkownika |
» 2014-07-03 14:16:42 ta forma też działa. To co problem jest w podawaniu string-a? |
|
pekfos |
» 2014-07-03 14:19:16 Tak. Jeśli masz zgodny ze standardem kompilator, to zrób tak: Lub przejdź na wstringi i TTF_RenderUNICODE_Solid(). |
|
« 1 » 2 |