User Tag List

Resultados 1 al 8 de 8

Tema: Mostrar caracteres con SDL_TTF

  1. #1

    Fecha de ingreso
    Jun 2004
    Ubicación
    Pinto (MADRID)
    Mensajes
    1,084
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    153
    Thanked in
    Agradecido 105 veces en [ARG:2 UNDEFINED] posts

    Mostrar caracteres con SDL_TTF

    Estoy haciendo un nuevo juego para Windows y GP2X. Lo tengo casi listo, pero hay un problema que no sé cómo solucionar. Al mostrar líneas de texto con "ñ" (por ejemplo), en GP2X no se muestran correctamente, pero en Windows sí.
    Aquí va un ejemplo con la selección de idioma (la palabra "ESPAÑOL"):


    ¿Alguien tiene una idea de por dónde van los tiros o cómo arreglarlo?
    Mi otra solución es quitar tildes, acentos y todo eso... pero no quiero eliminar un símbolo tan patriótico.

    PD: ¡No! No voy a utilizar bitmaps.

  2. #2

    Fecha de ingreso
    Mar 2006
    Ubicación
    Los que quieran @civantoz en twitter
    Mensajes
    820
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Pues no se mucho de SDL pero por el garabato que sale... o bien la fuente truetype que usas en GP2X no tiene caracteres especiales (ñ, tildes, simbolos...), o bien hay que indicar el tipo de codificacion para los caracteres que estas usando, indicar si es utf-8, iso... pero ya te digo que no lo se seguro, así que no te puedo orientar mucho con las funciones de SDL, pero si tienes la referencia por ahi a mano busca funciones relacionadas con el texto y la codificacion a ver que sale por ahi...

    saludos
    ¡Tu punto G! ¡Tu punto G! ¿Dónde coñ0o está?

  3. #3

    Fecha de ingreso
    Jan 2008
    Ubicación
    Madrid
    Mensajes
    4,466
    Mencionado
    14 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    93
    Agradecer Thanks Received 
    173
    Thanked in
    Agradecido 101 veces en [ARG:2 UNDEFINED] posts
    Es la codificación, windows usa Ansi y la consola posiblemente UTF-8 o lo que tengas configurado. Mira en settings y pon el charset iso europeo. No me acuerdo el número ahora.

  4. #4

    Fecha de ingreso
    Jun 2004
    Ubicación
    Pinto (MADRID)
    Mensajes
    1,084
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    153
    Thanked in
    Agradecido 105 veces en [ARG:2 UNDEFINED] posts
    Vale, ya lo tengo. Lo he arreglado en programación:

    En GP2X hay que utilizar:
    TTF_RenderUTF8_Blended(...)

    mientras que en Windows es:
    TTF_RenderText_Blended(...)

    ...se me han acabado las pilas justo cuando lo estaba probando, pero salía la "ñ".

    Gracias por la pista.
    < - >
    Editado:
    ¡Nada, retiro lo dicho! La "Ñ" la muestra bien, pero las tildes no. De la otra forma, muestra las tildes y la "Ñ" no. Así que:
    A) encuentro una solución y lo arreglo
    B) sacrifico la "Ñ" o las tildes
    C) to en inglés...
    Última edición por saboteur; 06/01/2009 a las 21:45 Razón: Edición automática anti doble-post.

  5. #5

    Fecha de ingreso
    Mar 2006
    Ubicación
    Los que quieran @civantoz en twitter
    Mensajes
    820
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    de todas formas puede seguir siendo factible lo que te dije antes... ¿ estas seguro que esa fuente incluye los simbolos especiales? no tienen por que llevarlos si la que estas usando para windows si los tiene copia ese mismo fichero y haz las pruebas con el para salir de dudas... sino ya no se me ocurren muchas mas historias, a ver si viene alguien que controle SDL a fondo

    saludos!
    ¡Tu punto G! ¡Tu punto G! ¿Dónde coñ0o está?

  6. #6

    Fecha de ingreso
    Jun 2004
    Ubicación
    Pinto (MADRID)
    Mensajes
    1,084
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    153
    Thanked in
    Agradecido 105 veces en [ARG:2 UNDEFINED] posts
    Sí, la fuente es la misma. El proyecto de windows y el de gp2x utilizan los mismos archivos, y la fuente "arial.ttf" es común para los dos.
    Lo que está claro es que es algo de la codificación, pero no sé cómo solucionarlo. Imagino que acabaré quitando la "Ñ" si no encuentro la manera... o eso, o nos olvidamos de la versión de gp2x, pero es que me ha quedado demasiado chulo...

  7. #7

    Fecha de ingreso
    Mar 2006
    Ubicación
    Los que quieran @civantoz en twitter
    Mensajes
    820
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    supongo que debe haber una solucion razonable... sino siempre puedes hacer ficheros para los textos diferentes y que segun el makefile se usen los de una codificacion con las funciones normales para todas las plataformas que usan iso, y otro con las funciones ttf con los textos para utf-8, si seperas así los textos tambien puede ser una facilidad para que puedas (o te puedan) traducir el juego a otros idiomas

    saludos
    ¡Tu punto G! ¡Tu punto G! ¿Dónde coñ0o está?

  8. #8

    Fecha de ingreso
    Jun 2004
    Ubicación
    Pinto (MADRID)
    Mensajes
    1,084
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    153
    Thanked in
    Agradecido 105 veces en [ARG:2 UNDEFINED] posts
    Bua.... ya está solucionada la estupidez.
    Resulta que tengo una clase que me lee todos los textos del juegos según el idioma seleccionado. Añadir idiomas es tan sencillo como añadir un nuevo archivo traducido.

    Resulta que dentro del archivo una linea indica el nombre del idioma:
    @lang Español
    o
    @lang English

    Y por supuesto, los nombres de los archivos se llaman igual que el idioma, aunque no es en absoluto necesario.
    Pues resulta que en lugar de mostrar en pantalla el nombre que se indica dentro del archivo de idioma (que es lo que había que mostrar), mostraba el nombre del archivo, que está en otra codificación distinta.

    Ahora está arreglado. Con esta clase puedo tener tantos idiomas como quiera, y el cambio de lengua se hace "al vuelo" con efecto inmediato.

    Pero bueno... eso ya lo veréis en su momento...

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •