Caracteres especiales en pygame

Agrupa todas las consultas sobre los lenguajes de programacion como C, C++, Python, Java ...

Caracteres especiales en pygame

Notapor Metallium » Sab Ene 10, 2009 10:51 pm

Buenas, tengo un problema al usar el modulo Font de pygame. No puedo mostrar caracteres especiales tales como ñ, o letras con acento ya que al hacerlo lo único que se muestran son unos rectángulos.
Todo esto ocurre incluso especificando # -*- coding: utf-8 -*- en la cabecera.

Necesito estos caracteres como sea, ya que desarrollo una aventura gráfica. Por eso pido ayuda a quien sepa alguna manera de conseguirlo, aunque sea poniendo el codigo del caracter como se hace en c o c++.

Muchas gracias de antemano.
Metallium
 
Mensajes: 2
Registrado: Sab Ene 10, 2009 10:33 pm

Notapor Metator de Arkalot » Dom Ene 11, 2009 12:15 am

Sensishito, utiliza cadenas unicode;

Aunque con la declaración utf-8 python reconoce cadenas como esta:
>>> print "áéíóú"
en pygame necesitas usar cadenas unicode:
>>> font.render(u"áéíóúñ", ...... etc)

Solo coloca una "u" al principio de la cadena.

#-*-

También puedes utilizar escapes unicode:
>>> u"\u263A"

Con esto, pygame renderizará una carita feliz (si la fuente la soporta):
http://www.fileformat.info/info/unicode/char/263a/index.htm

Solo pon u"\u" + el codigo unicode del carácter...
Avatar de Usuario
Metator de Arkalot
 
Mensajes: 34
Registrado: Mié Abr 23, 2008 2:17 am
Ubicación: México ñ_ñ !!

Notapor Metallium » Dom Ene 11, 2009 2:13 pm

Muchas gracias, con esto ahora funciona. También lo he conseguido de otra manera: Grabando el archivo .py que contiene el texto que quiero renderizar con la codificación ISO-8859-15 en lugar de UTF-8 (esto sin tener nada que ver con la cabecera del archivo).
Metallium
 
Mensajes: 2
Registrado: Sab Ene 10, 2009 10:33 pm


Volver a Sobre lenguajes de programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado