Hello franmate,
you wrote> Esto es para determinar si Lazarus se debe de construir con soporte
> Unicode o no, digamos que eso de un dia a otro desaparecer� ya que el
> comportamiento de Lazarus es homogeneo tanto si el sistema operativo
> por debajo soporta Unicode como si no.
fgc> Lo que hago en este momento es utilizar una variable boolean ( esansi fgc> ) y la pongo a true si es windows, de esta forma todo funciona bien en fgc> linux-ubuntu y windows, pero tengo que cambiar el valor antes de cada fgc> compilaci�n ( lo que no se deber�a hacer en lazarus: "escribe una vez, fgc> compila donde quieras" ) , el problema aparecer� si el usuario utiliza fgc> un linux ansi o si windows cambia a UTF-8
fgc> Utilizo utf8toansi y ansitoutf8, no acabo de familiarizarme con fgc> utf8tosys y systoutf8
El problema viene por lo que crees que significa "UTF8ToAnsi", no significa "UTF8ToPageCode", vamos que no convierte los caracteres que tengas a una p�gina de c�digos, si no UTF8 al juego de caracteres que usa el sistema operativo anfitri�n.
De este modo tomando un Linux configurado como UTF8 (1), otro configurado para ISO8859-1 (2) y cualquier Windows (95,98,XP...) y que est� configurado en Espa�ol de Espa�a (3):
1) UTF8ToAnsi = UTF8ToUTF8
2) UTF8ToAnsi = UTF8ToISO8859-1
3) UTF8ToAnsi = UTF8ToWin1252
fgc> La aplicaci�n tambi�n genera un zip , y aqu� las cosas empeoran . Con fgc> zipper ( bajado de svn ) perfecto en linux, pero en windows vuelven fgc> los caracteres extra�os con acentos y �.
El formato ZIP normal no soporta Unicode de ning�n tipo, no existe un modo standard de pasar un ZIP comprimido en Rusia con nombres cir�licos a Espa�a por ejemplo. Si creas los nombres de ficheros con UTF8 se mostrar�n bien en un Linux UTF8 pero mal en Windows. Por decirlo de otro modo los nombres s�lo se recuperar�n correctamente si se escriben en ASCII<127 o si se recuperan en el mismo sistema en el que han sido comprimidos usando UTF8ToAnsi.
fgc> Haciendo pruebas en chino ( copi� unos caracteres en chino de la web fgc> ), con linux perfecto, pero en windows nada de nada . Esto no tiene fgc> que ver con lazarus, es un problema de windows, pero es un comentario
No es una limitaci�n de Windows, es una limitaci�n actual del RTL de FreePascal. En Windows tendr�s problemas para mostrar caracteres en chino si no tienes una fuente unicode completa que soporte los caracteres chinos (por defecto creo que no hay ninguna, puedes instalar Arial Unicode).
La limitaci�n de FreePascal en Windows me imagino que ser� subsanada "en breve" con el soporte de las nuevas variables de cadena Unicode nativas y cargando din�micamente las versiones "W" de las API necesarias.
fgc> para afirmar las posibilidades de linux.
A este nivel las posibilidades de ambos son muy similares, s�lo que Linux mayormente ha tomado el camino del UTF8 mientras que Windows desde 2000 en adelante ha tomado el camino del UTF-16BE. No son ni mejores ni peores, simplemente diferentes aunque no mucho. Otra cosa son las in-"utilidades" que acompa�an el kernel de Windows que con el unicode, sea el que sea, suelen pasarlo muy mal, desde el explorador de ficheros al omnipresente CMD.EXE que para poco m�s vale que para borrar un archivo...
Best regards,
JoshyFun