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