JFreeChart + polskie znaki

0

Witam,

W opisach osi czasu wyświetlam datę w formacie EEE'\n'dd-MM-yy problem polega na tym, że nie wyświetlane są polskie znaki tj. zamiast śr pokazywane jest samo r.

Czcionka którą ustawiam obsługuje polskie znaki.
Wiem, że napis wyświetlany jest przez metodę TextUtilities.drawRotatedString,
próbowałem wyświetlać przez g2.drawString ale efekt jest ten sam. Być może chodzi o jakieś ustawienia Graphics ?

0

Implementacja Graphics2D w tym przypadku to PdfGraphics2D więc pewnie w tym tkwi problem.

0

Wyswietlasz to na panelu czy PDF? Jesli pdf, to musisz ustawic odpowiednie kodowanie, takie ktore zna polskie znaki (np utf-8 czy cp1250). Z utf-8 moze byc problem poniewaz czcionka ktora masz ustawiona moze nie miec glyphow dla danych kodow unicode...

0

Wyświetlam w PDF'ie. Czcionka wydaje się obsługiwać polskie znaki ponieważ są wyświetlane choćby w tabelach, nie działa tylko na wykresie.

0

Pytanie czy wykres i opis osi uzywaja ta sama czcionke. Niestety nie mam wiecej pmyslow.

0

Generalnie do generowania PDF używam biblioteki itext, nie mam problemów z wyświetlaniem polskich znaków. Itext używa czcionki z klasy com.lowagie.text.pdf.BaseFont. Do wykresów używam bibliotek JFreeChart, i tam przypisuje standardową czcionkę java.awt.Font. Do domain/range axis przypisuje się czcionkę oddzielnie.

Renderowanie etykiet odbywa się za pomocą metody:
protected AxisState drawTickMarksAndLabels w klasie implementującej ValueAxis.

Samo wyświetlanie tekstu odbywa się przez metodę TextUtilities.drawRotatedString, próbowałem zamienić te wywołanie na standardowe g2.drawString ale efekt jest ten sam.

0

Próbowałem również wyświetlać tekst na BufferedImage, w przypadku Graphics2D utworzonego z obrazka otrzymuje obiekt sun.java2d.SunGraphics2D. Napisy przezeń wyświetlane zawierają polskie znaki jednak są w kiepskiej jakości.

0

Ok rozwiązanie było banalne. Należy napisać klasę mapującą (standardowo jest to DefaultFontMapper) i zamienić kodowanie z 1252 na 1250 :P
http://usenet.gazeta.pl/usenet/0,48205.html;JSESSIONID_GW=RWpGKLfYr2nnsZppVzslxj388LLH18knL76RJfwtlKQwylJbXflN!-608482116?group=pl.comp.lang.java&tid=1084597&pid=&strona=0

0

Moj pierwszy post wspominal o kodowaniu...

0

Jakaś łopata mi się pewnie należy, ale... Jak rozwiązać ten problem z brakiem polskich znaków? Jak ta klasa mapująca powinna wyglądać?

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