12 octubre 2006

Caprichosa altura default del Internet Explorer

El conocido y masivamente utilizado Internet Explorer (IE), alias: la pesadilla del webmaster (joke by ShaQ), entre otros, tiene un problema que muchos de los programadores de sitios web sufrimos: la altura default de las líneas (DIV, TR/TD, P, etc).

Como podrá entenderse, este post es para experimentados o desarrolladores web, así que no se quemen la cabeza si no se dedican a esto (o piensen dedicarse), seguramente su médico amigo no se los recomendará.

El problema de “la altura default del IE” yo lo he sufrido desde hace años y luego de algunas búsquedas descargadas de éxito, utilicé algún artilugio como para que el diseño no quede “tan feo” en el IE y así patear la pelota. Hoy Shaq me consultó por esto, dado que anda renegando desde hace unos días y tampoco había encontrado la solución.

Como tantas veces hemos convenido con Shaq y otros amigos: no encontrar algo en internet, no significa que no exista, muy probablemente requiera algo más de inspiración, quizás un ducha de por medio, y cambiar los parámetros de búsqueda en Google para dar con la página exacta. Como buenos usuarios de Google, lo hemos comprobado montones de veces. Eh aquí que se me ocurrió buscar: ie div height. El primer resultado ya tenía olor a éxito y así fue como encontramos la solución al problema... claro, como solemos decir con Shaq y tantos otros amigos: en internet casi siempre existe alguien que ya le pasó lo mismo.

En fin, la soluciones planteadas por un señor llamado Bruno para el caso de un DIV, fueron:
- Escribir un comentario vacío, por ejemplo: <div style="height: 4px"><!-- --></div>
- Escribir un &nbsp; y dar el estilo “font-size: 1px; line-height: 0”, por ejemplo: <div style=”font-size: 4px; line-height: 0”>&nbsp;</div>

Ambas soluciones me funcionaron perfectamente, pero me parecen muy ridículas, tan ridículas como el capricho de IE para hacer valer su altura default en todos los casos, pero vaya uno a saber en qué estuvieron pensando los programadores de Microsoft.

11 octubre 2006

Por qué Comic Sans MS en los comentarios del Notepad++?? ehh?? ehh??

Muchos de nosotros (en realidad seguramente muy pocos) usamos el Notepad++ como editor de textos básico. Se trata, para los que no lo conocen, de un editor de textos free con muchas opciones, tales como resaltar códigos de un gran número de lenguajes (más de 40), herramientas varias a través de plugines, una asistencia al estilo code-completition bastante simple pero no por ello menos útil, herramientas de reemplazo de texto en múltiples archivos, etc. La verdad es un excelente programa.

Sin embargo, tal y como lo comentamos casi al mismo tiempo con Sergio y con Euler via chat tiene, a nuestro parecer, un inconveniente importante. Los comentarios de los lenguajes de programación vienen por defecto para ser mostrados con la odiosa letra Comic Sans. La verdad no entiendo a que se debe pero la verdad, a mi gusto y evidentemente el de varios, no es una letra muy agradable para ver el código fuente de nuestros archivos. Por lo general, al menos yo, prefiero que todo el texto figure con una misma tipografía y en todo caso distinguir entre palabras reservadas, comentarios, constantes, cadenas, números, etc. a través de diferentes colores o estilos (negrita por ejemplo).

Muchas veces, la manera de solucionar este inconveniente era usar la herramienta para configurar los estilos y cambiar a mano los formatos de los lenguajes que solemos usar habitualmente (PHP, HTML, Javascript, Java, XML). Pero es un trastorno modificar a mano siempre y más teniendo en cuenta que al instalar una nueva versión suelen perderse las configuraciones antiguas. Así que me decidí a buscar la solución al problema. Consiste simplemente en editar el archivo stylers.xml que se encuentra (normalmente) en el directorio:

C:\Documents and Settings\[NUESTRO USUARIO]\Datos de Programa\Notepad++
Casualmente podemos editarlo rápidamente con el Notepad++. Al abrirlo nos encontramos con la definición de los estilos. Haciendo rápidamente un reemplazo (Menú Buscar->Reemplazar) podemos reemplazar la cadena "Comic Sans MS" por "MS Sans Serif" y ya habremos modificado para que no se nos muestre nada más usando la tipografía Comic Sans y en su reemplazo utilizaremos la "MS Sans Serif" que es la tipografía por defecto del Notepad++ (al menos en mi caso así lo era). Sin embargo al menos a mi no me convence que el tamaño de letra por defecto para los comentarios sea 8 puntos... prefiero 10 puntos, así que en realidad podemos hacer los siguientes reemplazos y a mi gusto tendremos un buen resultado:

Reemplazar:

fontName="Comic Sans MS" fontStyle="0" fontSize="8"

por:

fontName="MS Sans Serif" fontStyle="0" fontSize="10"

y reemplazar:

fontName="Comic Sans MS" fontStyle="1" fontSize="8"

por:

fontName="MS Sans Serif" fontStyle="1" fontSize="10"

Una alternativa a esto, si preferimos dejar la tipografía libre para que se adapte a la tipografía por defecto, esto es, en lugar de forzar que sea "MS Sans Serif" que sea la que se setea como fuente por defecto del Notepad++, consiste en dejar el nombre de la fuente vacío, es decir reemplazar "Comic Sans MS" por " " o bien:

Reemplazar:

fontName="Comic Sans MS" fontStyle="0" fontSize="8"

por:

fontName=" " fontStyle="0" fontSize="10"

y reemplazar:

fontName="Comic Sans MS" fontStyle="1" fontSize="8"

por:

fontName=" " fontStyle="1" fontSize="10"

E incluso, el fontSize también se puede setear a " " de forma que adopte el tamaño de la fuente por defecto.

Bueno, quizás fue un poco largo el post pero bueno, es lo que hay. Espero que les sirva. Saludos.