[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

pslib i polskie znaki



Dzień dobry,

Piszę wraz z żoną Alicją swój program w języku C jednak tym razem po raz
pierwszy wykorzystując bibliotekę gtk.
Ten program ma służyć mojej mamie do wypisywania świadectw w szkole.
W klasach 1-3 jest ocena opisowa i wszystkie dane muszą mieścić się
dokładnie linia pod linią w jednakowych odstępach dla danego pola.
Nie mogłem czegoś takiego znaleźć w gtk, więc do wprowadzania tekstu
użyłem kontrolki textview, lecz do wydruku używam debianowego 'pslib1'.
Pojawił się problem z polskimi znakami. Rozwiązałem go w najprostszy
sposób jaki mi przyszedł do głowy (proszę się nie śmiać: ;-) w źródłach
pslib podmieniłem 'input encoding vector' oraz 'font encoding vector'
na iso-8859-2).
Dziwne lecz to zadziałało dla większości potrzebnych mi rzeczy. Polskie
ogonki wyświetlają się prawidłowo. Mam jednak problem z niektórymi
znakami, np. gdy chcę zostawić jedną pustą linię w tekście to wyskakuje
komunikat:
"PSLib: Character 10 not in input encoding vector."
i kończy się to paskudnie:
"Naruszenie ochrony pamięci"
Próbowałem oczywiście modyfikować ten wektor, lecz oprócz usunięcia
problemu ze znakiem minusa (który również się nie wyświetlał) nie udało
mi się nic sensownego zrobić.

Bibliotekę pslib tworzy Uwe Steinmann, chyba rozwijający Debiana (tak to
przynajmniej zrozumiałem). Na stronie poświęconej pslib sposób
przedstawienia polskich znaków to użycie funkcji PS_symbol.
Jednak do powyższego jest mi potrzebna funkcja PS_show_boxed, za pomocą
której mogę wyświetlać kilka linii tekstu w prostokątach o zadanych
wymiarach i odstępach linii. Zwraca ona, liczbę znaków które się nie
zmieściły w polu i dzięki temu mogę wykreślać puste linie na końcu pola
oraz informować o tym, że użytkownik wpisał zbyt wiele znaków.

Oczywiście program po utworzeniu sensownie działającej wersji będzie
udostępniony dla wszystkich zgodnie z licencją GNU GPL. Nawet jeśli
nikt nie pomoże to z programu będzie można korzystać, lecz niestety
z kilkoma problemami.

Jeśli ktoś może pomóc to proszę o wskazówki. 

W razie potrzeby, naniesione przeze mnie zmiany mogę wysłać na listę lub
zamieścić na jakiejś stronie www.

z poważaniem
-- 
Artur Dulęba | gpg:0x5F938547 | rlu:305151
Olbrachcice Wielkie, 57-200, Dolny Śląsk
Uniksy od marca 2001, od 2003 bez Windows
Używam Debiana, bo jest zwykły (zamiast być extra).

Attachment: signature.asc
Description: Digital signature


Reply to: