Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[pygame] polskie literki i pygame.font

124 views
Skip to first unread message

Aragorn/Vime

unread,
Nov 20, 2003, 5:16:22 PM11/20/03
to
Witam.

Jak zmusić Pygame do wyświetlania polskich literek? Standardowe:

font = pygame.font.SysFont ("Verdana", 36)
text = font.render ("Tekst ąśćół", 1, (10,10,10))

owocuje krzaczkami, w dokumentacji na ten temat nic nie widzę, w
googlach znalazłem coś po japońsku ale o ile zdołałem się zorientować to
raczej nie to o co mi chodzi.

Może nie ustawia się tego tutaj, tylko jakąś systemową biblioteką
Pythona? Przyznam że akurat tej dokumentacji nie przekopałem dogłębnie,
ale chciałem poprosić o hinta, bo nie za bardzo wiem czego szukać.

# -*- coding: iso-8859-2 -*- mam ustawione.

Wracam do googli, może uda mi się jeszcze coś znaleźć.

--
+---> http://apcoln.linuxpl.org <----- | -----> Aragor...@jabber.org <----+
| Może lepiej nie wiedzieć, że masz tylko siebie |
| Łatwiej karmić się prawdą, że On jest - tylko zasnął |
+---------------=> Aragorn/Vime^LinuxPL.org (Marcin Stępnicki) <=------------+

Zbigniew Chyla

unread,
Nov 21, 2003, 2:36:02 AM11/21/03
to
On Thu, 20 Nov 2003 22:16:22 +0000, Aragorn/Vime wrote:

> Jak zmusić Pygame do wyświetlania polskich literek? Standardowe:
>
> font = pygame.font.SysFont ("Verdana", 36)
> text = font.render ("Tekst ąśćół", 1, (10,10,10))
>

> owocuje krzaczkami, (...)

Użyj Unicode:
text = font.render (u"Tekst ąśćół", True, (10,10,10))


pozdrawiam

--
Zbigniew Chyla
cy...@gnome.pl
cy...@python.org.pl

Paweł Kowalak

unread,
Dec 8, 2003, 3:22:53 AM12/8/03
to
On Fri, 21 Nov 2003 08:36:02 +0100, Zbigniew Chyla wrote:

> On Thu, 20 Nov 2003 22:16:22 +0000, Aragorn/Vime wrote:
>
>> Jak zmusić Pygame do wyświetlania polskich literek? Standardowe:
>>
>> font = pygame.font.SysFont ("Verdana", 36)
>> text = font.render ("Tekst ąśćół", 1, (10,10,10))
>>
>> owocuje krzaczkami, (...)
>
> Użyj Unicode:
> text = font.render (u"Tekst ąśćół", True, (10,10,10))

A jak zamienić zmienną na unicode?
np. text = font.render(zmienna, True, (10,10,10))

JZ

unread,
Dec 8, 2003, 12:37:13 PM12/8/03
to
On Mon, 08 Dec 2003 09:22:53 +0100, Paweł Kowalak
<vi...@WytnijTobzimage.us> wrote:


>A jak zamienić zmienną na unicode?
>np. text = font.render(zmienna, True, (10,10,10))

np. tak: unicode(zmienna, 'iso-8859-2')

--
JZ

Paweł Kowalak

unread,
Dec 8, 2003, 1:04:22 PM12/8/03
to
On Mon, 08 Dec 2003 18:37:13 +0100, JZ wrote:

>>A jak zamienić zmienną na unicode?
>>np. text = font.render(zmienna, True, (10,10,10))
>
> np. tak: unicode(zmienna, 'iso-8859-2')

Dziękuję, jednak to mi nie pomogło... Już piszę o co chodzi. Mam w
tej zmiennej kilka \n. I każdy \n jest wyświetlany jako prostokąt :/
Myślałem że unicode pomoże, ale nie pomogło. Czy musze zawartość
tej zmiennej wyświetlać linijka po linijce, czy da się jakoś to
ładnie ominąć?

Pozdrawiam

JZ

unread,
Dec 9, 2003, 4:47:52 AM12/9/03
to
On Mon, 08 Dec 2003 19:04:22 +0100, Paweł Kowalak
<vi...@WytnijTobzimage.us> wrote:

>Myślałem że unicode pomoże, ale nie pomogło. Czy musze zawartość
>tej zmiennej wyświetlać linijka po linijce, czy da się jakoś to
>ładnie ominąć?

Musisz poeksperymentować. Wygląda na to, że to ta metoda font.render()
coś miesza ze znakami \n.

--
JZ

Grzegorz Makarewicz

unread,
Dec 9, 2003, 6:36:41 AM12/9/03
to

Dodatkowo metoda malowania tekstu dodatkowo powinna dokonać justyfikacji
oraz domysleć się, że pisanie powinna rozpocząć od prawej do lewej.

Chłopaki bez przesady :)

Jezeli masz wewnątrz jakiegoś ciagu jeszcze np. tabulatory, \x03 lub
jakieś inne znaki nie mające swojej reprezentacji w wybranym foncie to
możesz oczekiwać nieoczekiwanego - pusty znak (word), kwadracik
(charmap) lub cokolwiek innego w zależności od użytej biblioteki.

mak

0 new messages