how to create a multicolor "font-string" in pygame??

Diez B. Roggisch deets at
Fri Nov 10 00:31:48 CET 2006

Diez B. Roggisch schrieb:
> Iacopo.Marmo at schrieb:
>> Hi! I need to manipulate multicolor strings, i.e. strings with a color
>> associated with each letter.
>> Any suggestions?
> There is no support for multi-color strings as such in pygame. If you 
> use a fixed-width font, things are easy. Just create the strings one 
> after another using spaces as prefix. E.g.
> back = (0,0,0)
> font = pygame.font.Font(font_fn, size)
> images = []
> for i, c in enumerate("colored string"):
>     s = " " * i + c
>     color = color_for_index(i)
>     s_image = font.render(s, True, color, back)
>     images.append(s_image)

Don't drink and code... *sigh*

Of course you can just create an equally dimensioned image for each 
character and each color (cached or not, however you like it), and just 
blit these one after another, offsetting them with the character width.


More information about the Python-list mailing list