Foros del Web » Programando para Internet » PHP »

GD y Caracter chino

Estas en el tema de GD y Caracter chino en el foro de PHP en Foros del Web. Necesito enviar por GET un caracter chino y que php me regrese una imagen de este caracter extraido de un archivo ttf (tipo de letra) ...
  #1 (permalink)  
Antiguo 26/04/2011, 10:18
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 18
Pregunta GD y Caracter chino

Necesito enviar por GET un caracter chino y que php me regrese una imagen de este caracter extraido de un archivo ttf (tipo de letra) que tambien subi el servidor, este tipo de letra es exclusivamente de caracteres chinos (http://www.clearchinese.com/resources/fonts.htm).

Tengo un script que lee los caracteres que llegan por GET y los convierte en imagen, funciona perfectamente usando caracteres latinos y varios tipos de letra, pero los caracteres chinos no se muestran. Use una fuente unicode y me muestra caracteres japoneses en vez de los caracteres chinos que le envio.

Sospecho hay un problema de codificación, he utilizado el ut8_encode y ut8_decode pero no logro nada.

Código PHP:
<?php

header 
"content-type: image / gif");
$pic imagecreate (840,30);

$black imagecolorallocate ($pic0,0,0);
$white imagecolorallocate ($pic255,255,255);

//$font  = 'chino.ttf';
$font 'ARIALUNI.TTF';

//$str =$_GET['c'];
$str chr (0xE8). chr (0xB5). chr (0x9B). chr (0xE8). chr (0xBF). chr (0xAA). chr (0xE7). chr (0xBD). chr (0x91). "texto";
//$str ='漢鼎繁中變';
//$str = utf8_encode($str):
//$str = utf8_decode($str);

imagettftext ($pic20,0,10,20$white$font$str);

imagegif ($pic);
imagedestroy ($pic);
?>
He buscado mucho en internet y no encuentro como
  #2 (permalink)  
Antiguo 26/04/2011, 10:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: GD y Caracter chino

Me pregunto si ya revisaste el manual de dicha función imagettftext() para saber que dice al respecto, ¿cierto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/04/2011, 11:52
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 18
Respuesta: GD y Caracter chino

Si, claro que he leido el manual, en especial la parte de:
Cita:
The text string in UTF-8 encoding.

May include decimal numeric character references (of the form: €) to access characters in a font beyond position 127. The hexadecimal format (like &#xA9;) is supported. Strings in UTF-8 encoding can be passed directly.

Named entities, such as &copy;, are not supported. Consider using html_entity_decode() to decode these named entities into UTF-8 strings (html_entity_decode() supports this as of PHP 5.0.0).

If a character is used in the string which is not supported by the font, a hollow rectangle will replace the character.
Justamente meto la cadena codificada en UTF8, el problema es que me arroja caracteres que no son los que solicité, si instalo el tipo de letra en mi computadora, puedo usarlo perfectamente en word.

Lo que pasa es que ciertamente ha algunos que no solo no muestra equivocados, si no que no los muestra en absoluto, es como si la codifacación "estuviera movida", en vez de darme el caracter 20, me da al 38, por poner un ejemplo.
  #4 (permalink)  
Antiguo 26/04/2011, 11:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: GD y Caracter chino

Suena interesante, igualmente supongo que la tipografía que empleas debe tener todos los caracteres que mencionas.

Pero no así la codificación, quizá estés cometiendo algún error al momento de pasar el texto como UTF-8. ¿Sabes si de casualidad existen algunas entidades para caracteres chinos?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 26/04/2011, 12:03
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: GD y Caracter chino

mira, no se si te sirva, pero tuve un problema parecido hace unos días y lo solucioné aquí:

http://www.forosdelweb.com/f18/carac...imagen-906058/
  #6 (permalink)  
Antiguo 26/04/2011, 12:06
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 18
Respuesta: GD y Caracter chino

ya probe con varias tipografias, resulta que algunas contienen 14,148 glifos, supongo que si contien todos los caracteres, si instalo la fuente puedo usarla en todos los programas.

En el codigo que uso (esta donde inico este tema) estan comentados mis intentos, ya intente no codificarlo, usar las entidades del chino en hexadecimal y finalmente codificarlo a unicode, que es lo mas universal y de hecho los caracteres que se usan de otro idioma en word y demas programas estan en unicode.
  #7 (permalink)  
Antiguo 26/04/2011, 12:26
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 18
Respuesta: GD y Caracter chino

Cita:
Iniciado por stramin Ver Mensaje
mira, no se si te sirva, pero tuve un problema parecido hace unos días y lo solucioné aquí:

[url]http://www.forosdelweb.com/f18/caracteres-especiales-imagen-906058/[/url]
Si!!!, eso funcionó.

Con la función que mencionas se corrige todo. A fin de cuentas si estaba "recorrida la codificación".

Muchas gracias.

Etiquetas: chino, caracteres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:06.