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

[Allegro] Problem z polskimi znakami przy zmienionej czcionce

Ostatnio zmodyfikowano 2012-03-09 22:21
Autor Wiadomość
McAffey
Temat założony przez niniejszego użytkownika
[Allegro] Problem z polskimi znakami przy zmienionej czcionce
» 2012-03-09 16:04:22
Witam. Piszę sobie jakiś tam projekt w allegro i postanowiłem zmienić czcionkę z tej brzydkiej domyślnej na coś przyzwoitszego. Za pomocą pobranego z internetu programu wygenerowałem sobie czcionkę Times New Roman do formatu allegro (.pcx). Czcionkę ustawiłem i wyświetlałem za pomocą :

C/C++
FONT * font = load_font( "times.PCX", default_palette, NULL );

textout_ex( bufor, font, "To jest tekst ktory zostal napisany przy uzyciu czcionki times new roman ćąó Gżegżółka ę", 22, 138, makecol( 0, 0, 0 ), - 1 );

Skompilowałem i wszystko ładnie działało, polskie znaki się poprawnie wyświetlały.

Następnego dnia wróciłem do projektu, a tam niespodzianka - zamiast polskich znaków pojawiły się krzaczki, a oprócz tego wydaje mi się, że cała czcionka wygląda inaczej (chyba większe trochę litery się zrobiły, a korzystam z tego samego pliku cały czas). Nie wiem, czy przy powtórnym odpaleniu środowiska (code::blocks) zmieniło się formatowanie pliku źródłowego? Próbowałem zmieniać format pliku źródłowego za pomocą notepada++, ale nic to nie dało. Dodam, że w oryginalnej czcionce allegro polskie znaki mi się wyświetlają, tylko się "wykrzaczyły" na tej nowej.

Dorzucam plik z czcionką i screenshot jak to wygląda u mnie dla porównania. Jeśli by komuś zadziałały polskie znaki to jak może niech zrobi screenshota. Macie może jakiś pomysł co z tym zrobić ? Z góry wielkie dzięki :)
P-52286
pekfos
» 2012-03-09 16:08:19
A nie trzeba było użyć textprintf_ex?

//edit:
Może tu coś będzie:
http://www.allegro.cc/manual/4/api/unicode-routines/
P-52287
McAffey
Temat założony przez niniejszego użytkownika
» 2012-03-09 16:25:39
textprintf_ex daje ten sam efekt. A dokumentację już przeglądałem i nie znalazłem tam żadnej wskazówki.
P-52288
pekfos
» 2012-03-09 16:26:59
A to (http://www.allegro.cc/manual/4/api/unicode-routines/set_uformat) masz w kodzie? Kodowanie pliku też jest dobre?
P-52289
McAffey
Temat założony przez niniejszego użytkownika
» 2012-03-09 16:33:00
Tak, próbowałem zarówno tym :
set_uformat( U_UTF8 );
 jak i zmieniając format przez notepada (na różnych próbowałem, koniec końców zostawiłem na tym polecanym UTF-8).
P-52292
Gabes
» 2012-03-09 16:54:51
Od dawna stosuje polskie znaki w Allegro przeczytaj te tematy.
http://cpp0x.pl/forum/temat/?id=5810&p=2
http://cpp0x.pl/forum/temat/?id=5934
http://forum.warsztat.gd/index.php?topic=24343.msg283052#msg283052

Streszczenie:
Program do własnych czcionek z TTF → PCX
http://www.allegro.cc/resource/Tools/Fonts/ttf2pcx

Aby wyświetlać Polskie znaki font typu ttf musi je również  mieć a przy konwersji zmieniamy w konwerterze Max char:0x7F na 0x17F .
W CodeBlocks zmiana kodowania na UTF-8

Najważniejsze czcionka ttf musi mieć Polskie znaki "zażółć gęślą jaźń" a nie "Jackdaws love my big..."
Jeśli masz Code::Blocks to ustaw Settings -> Editor...->Encoding ->UTF-8 i tyle.
W Dev trochę więcej pracy zamykamy projekt , otwieramy w notatniku zapisujemy w kodowaniu UTF-8 , otwieramy w Dev , usuwamy znaki które pojawiły się na początku ( każdy Polski znak został zmieniony na dwu bajtowy kod , nie możemy już zmieniać tekstu najlepiej zrobić to na końcu ).
Dotyczy to czcionki standardowej , Bitmapowej i typu ttf.Co się tyczy Visual Studio to nie sprawdzałem ale chyba w opcjach można ustawić kodowanie.

W Windows -> fonts (dla Win XP) są czcionki dla systemu i jeśli chcesz dodać własne aby używać w swoich programach  to je tam wrzucasz .(np. dla programu ttf2pcx)
Edit:Czcionkę którą uzyskaliśmy w programie ttf2pcx  możemy obejrzeć w programie  IrfanView i
zmienić na inny format który obsługuje allegro (bmp, png, jpg).Możemy również dokonać drobnych poprawek w programie GIMP.
P-52295
McAffey
Temat założony przez niniejszego użytkownika
» 2012-03-09 22:21:25
Te tematy co podałeś już czytałem. Programu używałem innego, ale ten zdecydowanie lepszy, więc dzięki. A co do całego Twojego postu : wielkie dzięki, bardzo mi pomogłeś, dokładnie o to mi chodziło! :)
P-52336
« 1 »
  Strona 1 z 1