Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro, C++] Wyświetlanie polskich znaków

Ostatnio zmodyfikowano 2010-07-10 18:12
Autor Wiadomość
trupank
Temat założony przez niniejszego użytkownika
[Allegro, C++] Wyświetlanie polskich znaków
» 2010-07-09 09:39:54
Witam,
Przepraszam, ze zakladam tak trywialny temat - ale googlowalem ile moglem, staralem sie rozne rady zastosowac, a i tak pomimo 3.5h spedzonych nad problemem "nie bangla" :/
Kompiluje w visual studio jakby co.

Mam zainstalowane allegro, z dodatkowym alfontem.
Alfont dziala OK, wczytuje nim sobie czcionke .ttf z polskimi znakami (dejavusans)
Wszystkie funkcje typu ustawianie wielkosci czcionki, kolorow itd dzialaja. Problem jest gdy probuje wyswietlic na ekran chociazby przy pomocy alfont_textout_aa.
Normalne znaki wyswietla tak jak chce; za to na polskich znakach (ąęćłó itd) wychodza kwadraciki :/

w oparciu o znalezione na necie rzeczy sprobowalem dorzucic do kodu fragment
C/C++
if( alfont_need_uconvert( copperplate_font, SAMPLE_TEXT ) ) {
    allegro_message( "%s", "the unicode conversion is required for SAMPLE_TEXT string." );
}
 Zgodnie z podejrzeniem wyskakuje ta wiadomosc, czyli SAMPLE_TEXT (dokladnie: char *SAMPLE_TEXT="żółć mnie zalewa"; ) wymaga konwersji.

I nie mam pojecia jak tej konwersji dokonac :/

Uprzedzajac: probowalem set_unicode stosowac. Przy parametrach ASCII, UTF8 itd nie dziala (tzn np zamiast prostokatow wyswietlaja sie krzaczki, ale nie polskie znaki). za to set_unicode(U_UNICODE) wywala mi program momentalnie.


Z gory dzieki za pomoc, najchetniej jakby ktos mial chwile to prosilbym z przykladowym fragmentem kodu jak konwersji na pojedynczym c-stringu (czy normalnym stringu) dokonac, zeby sie wyswietlalo dobrze.

Edit: oczywiscie alfonta ustawilem na "polish"
P-19693
DejaVu
» 2010-07-09 11:39:45
P-19694
trupank
Temat założony przez niniejszego użytkownika
» 2010-07-09 12:37:46
Dzieki za odpowiedz,
Niestety jest pewien problem. Otoz, gdy otwieram tym Notatnikiem++ czy Gzegzolka swoje pliki, to rozponaje ich kodowanie jako "Kodowanie: Unicode UTF-8".
Gdzies w opcjach Visuala jak grzebalem rano tez widzialem, ze domyslnie tak koduje wszystko. Stad tym bardziej nie rozumiem czemu finalnie na ekranie wypisuje krzaki; no i nie mam jak uzyc podanych przez Ciebie metod (bo jak przekonwertowac cos, co jest juz skonertowane?)
P-19697
DejaVu
» 2010-07-09 13:04:45
Ja Ci dałem tylko tematy, które były poruszane na forum. Być może nie wywołałeś funkcji do zmiany obsługi kodowania przez Allegro we właściwym miejscu.

/edit:
Poza tym najpierw spróbuj z czcionkami standardowymi, a potem eksperymentuj z jakimiś fontami nieznajomego pochodzenia.
P-19699
trupank
Temat założony przez niniejszego użytkownika
» 2010-07-10 16:11:41
dzieki, udalo mi sie jakos z tym poradzic finalnie.

istnieje podobny sposob, zeby w tytul okna (przez chociazby set_window_title) wrzucic polskie znaki?
P-19725
DejaVu
» 2010-07-10 18:12:34
Mógłbyś łaskawie podać rozwiązanie najpierw, które zadziałało.

/edit:
Co do tytułu to zapewne wystarczy wywołać funkcję, która zapisuje tekst unicodem, bądź użyć kodowania znaków CP1250 czy jak to tam szło dla Windowsa.
P-19726
« 1 »
  Strona 1 z 1