Polskie znaki ...

0

Witam ponownie.
Dzisiejsze pytaie brzmi: jak sprawić żeby przy ort! z trybu graficznego (egavga.bgi w BC++3.1) wyświetlały się polskie znaki. Strony kodowe mam OK. Wydaje mi się że cała wina leży po stronie BGI. W oknie kompilatora są a w wykonanym programie nie... jak to spolszczyć????

0

Muszisz zdefiniować własne ostatnie 128 znaków. Jeżeli jest to rastrowa (8x8), to spróbuj ustawić przerwanie 1fh (0x1f) na bufor definicji tych 128 znaków. To działało przy niektórych drajwerach bgi. A jeśli nie, to niestety musisz pomęczyć się i napisać własne outext/outtextxy, takie które bedą rysowały znaczek pixel po pixelu. Wtedy sam decydujesz skąd zaczerpnąć dane. W ostateczności, jeśli umiesz -> własny drajwer.

0

Hmm... może by i zadziałało przechwycenie, pod warunkiem że wiedział bym jak to zrobić. Czy nie znasz jakiegoś linku z nieco okładniejszym opisem? No a zrobienie własnego sterownika odpada... niestety jeszcze do takiego poziomu nie doSZEDŁem...

0

Nie przechwycenie, tylko ustawienie wektora przerwań. Na upartego możesz to zrobić bezpośrednio w pamięci:

char* far* wektrory=null; // zapomniałem o tym far wcześniej

asm cli;
wektory[0x1f]=&mój_bufor;
asm sti;

Pod adresesm 0000:0000 jest tablica 256 wektorów. Albo setvect(). A co do linku... W downloadzie umieściłem dwa pliki (http://4programmers.net/download.html?cat=9) tfd1.zip i tfd2.zip- bawiłem się czcionkami dosowymi przez kilka ładnych latek. W drugim są źródla (niestety wtedy uzywałem tylko tp) i jest tam przykład wykorzystania 0x1f. W szczególności pliki _graph.pas, litery.pas i jako efekt wizualny litery.exe.

(nieskromny jestem, ale każda pliszka... ma swój ogon :> )

0

Dzięki :) Muszę to jescze "przemóżdżyć". Nie będzie łatwo ale powinienem to załapać. W razie czego będę nękał Was znów :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1