Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Fuente ISO - Mas gaitas

Fuente ISO - Mas gaitas

 ----- 
CopyLeft Tutorial de Urko Lusa Oiza - 22 de Diciembre de 2006
Temas Relacionados: Linux
4. Mas gaitas

Mientras esperamos el día en que las distribuciones de Linux traigan las diferentes definiciones de locale para su internacionalización, hay algunas cosillas que podemos afinar.

4.1 Variables de entorno

Puedes ponerlas en /etc/profile o en tu .profile particular. He seguido la sintaxis de bash. Si usas otro shell posiblemente tengas que cambiar export por la orden equivalente.

less

Para visualizar con less ficheros que contengan caracteres de 8 bits:

export LESSCHARDEF=8bcccbcc18b.

Esto hará que se consideren como imprimibles todos los caracteres desde el 32 hasta el 255, lo que puede acarrear problemas si se usa en una terminal vt200, por ejemplo, pero permite ver caracteres gráficos desde el PC. Si tienes una terminal en ttySn puedes poner esto:

export LESSCHARDEF=8bcccbcc18b.
if [ "`tty`" = "/dev/ttySn" ]
then
   TERM=vt220d
   unset LESSCHARDEF
   export LESSCHARSET=latin1
else
   TERM=linux
fi
export TERM

lo que hará que si se entra por ttySn, less no considere como imprimibles los caracteres del 128 al 160 (los caracteres gráficos en la fuente lat1-16.psf, pero que son interpretados como caracteres de control por el vt200).

LANG, LC_CTYPE, etc...

Estas variables son las que se usan para presentar el formato de la fecha, orden alfabético, etc. Desgraciadamente que yo sepa aún no están implementadas en las distribuciones habituales de Linux. De todas formas puedes añadir esto:

export LANG=es_ES

4.2 isprint

Esta es la función del sistema que decide si un carácter es imprimible o no. Si la distribución soportase locale, debería funcionar bien, pero tal como está ahora la cuestión, sólo devuelve como imprimibles los caracteres ASCII.

Esto provoca que muchos programas compilados con #include <ctype.h> no muestren correctamente los caracteres no ASCII. Como esto puede cambiar en un futuro, es importante que antes de aplicar el cambio que se propondrá a continuación compruebes tu sistema con el siguiente programa:

#include <locale.h>
#include <ctype.h>

void main(void)
{
unsigned char c;

setlocale(LC_CTYPE,
);

for (c=191;c<211;c++)
{
printf("%d - %c ",c,c);
if (isprint(c)) puts("es imprimible");
else puts("no es imprimible");
}
}
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>Graba el texto anterior con el original nombre de <CODE>prueba.c</CODE> y compílalo con</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>$ gcc -s -o prueba prueba.c
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>y pruébalo así:</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>$ export LC_CTYPE=ISO-8859-1
$ ./prueba
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>Seguramente saldrán todos los caracteres como no imprimibles. Por si acaso asegúrate antes probando con otros valores de <CODE>LC_CTYPE</CODE>, tales como <CODE>es_ES</CODE>, <CODE>fr_FR</CODE>, <CODE>pt_PT</CODE>, etc. Para saber más posibles valores de <CODE>LC_CTYPE</CODE>, consulta el fichero <CODE>locale.alias</CODE>, que tendrás (si instalaste X) por <CODE>/var/X11R6/lib/locale</CODE> o algún otro directorio similar.</FONT></P>
<P><FONT size=2>Si, y <B>sólo si</B>, el programa <CODE>prueba</CODE> clasifica como no imprimibles los caracteres que saca, puedes hacer el siguiente cambio en <CODE>/usr/include/ctype.h</CODE>.</FONT></P>
<P><FONT size=2>Primero haz copia de seguridad del fichero:</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2># cd /usr/include
# cp -a ctype.h ctype.h.orig
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>En la línea 150 aprox. cambia </FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>#define isprint(c) isctype((c), _ISprint)
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>por</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>#define isprint(c) (((c & 0xff)
0x1b) || ((c & 0xff) > 0x1f)) </FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>Este cambio de <CODE>ctype.h</CODE> fue publicado por Pablo Saratxaga <CODE><srtxg@f2219.n293.z2.fidonet.org></CODE> en el difunto grupo <CODE>es.foro.unix.</CODE> Yo he recompilado con él algunos programas como <CODE>ncftp</CODE> y <CODE>tin</CODE>, y ha funcionado muy bien.</FONT></P>
<H2><FONT size=2>4.3 Configuración de algunos programas</FONT></H2>
<H3><CODE><FONT size=2>dosemu</FONT></CODE></H3>
<P><FONT size=2>Si arrancamos dosemu en modo texto, los caracteres que ocupen una posición mayor que el 127 ya no se verán bien. Para remediarlo se puede habilitar el acceso a la VGA, con lo que <CODE>dosemu</CODE> usará el juego de caracteres de nuestra tarjeta gráfica, que es del tipo IBM, por lo menos si usamos Linux en un ix86. Esto se consigue poniendo lo siguiente en el fichero de configuración (generalmente <CODE>/etc/dosemu.conf</CODE>):</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>video { vga console graphics }
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>También es conveniente que tengamos las siguiente opción:</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>keyboard { layout es-latin1 keybint on rawkeyboard on }
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>Con esto y el programa <CODE>keybes.com</CODE> de Pedro Maicas, no debería haber ningún problema para ver y teclear los caracteres mayores de 127.</FONT></P>
<H3><CODE><FONT size=2>pine</FONT></CODE></H3>
<P><FONT size=2>Se puede cambiar la configuración desde el propio programa, o bien editar el siguiente cambio en el fichero <CODE>~/.pinerc</CODE>:</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>character-set=ISO-8859-1
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>Desde la versión 3.92, Pine ya permite poner artículos con 8 bits en los grupos de noticias (en el correo dependerá de la versión de sendmail y de cómo esté configurado). Para habilitar esta opción, añadir <CODE>enable-8bit-nntp-posting</CODE> a la lista <CODE>feature-list</CODE> del fichero mencionado.</FONT></P>
<P><FONT size=2>Existe también un fichero que efectúa cambios globales (para todos los usuarios del sistema). El fichero se llama <CODE>pine.conf</CODE>, y su ubicación depende de la distribución que usemos.</FONT></P>
<H3><CODE><FONT size=2>ELM</FONT></CODE></H3>
<P><FONT size=2>Añadir lo siguiente a <CODE>~/.elm/elmrc</CODE>:</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>charset=ISO-8859-1
displaycharset=ISO-8859-1
textencoding = 8bit
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>También se pueden hacer estos cambios para todos los usuarios. Basta añadir lo mismo al fichero general de configuración, que en la Slackware está en <CODE>/var/lib/elm/elm.rc</CODE>.</FONT></P>
<H3><CODE><FONT size=2>TIN</FONT></CODE></H3>
<P><FONT size=2>Añadir lo siguiente a <CODE>~/.tin/headers</CODE>:</FONT></P>
<P><FONT size=2></FONT>
<BLOCKQUOTE><CODE><PRE><FONT size=2>Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
</FONT></PRE></CODE></BLOCKQUOTE>
<P><FONT size=2></FONT></P>
<P><FONT size=2>Algunas versiones modernas, como la 1.3 unoff, ya incorporan este tipo de cabeceras, por lo que la edición de este fichero es innecesaria.</FONT></P>""
Autor y licencia de 'Fuente ISO - Mas gaitas'
Urko Lusa Oiza Extraído de: http://www.insflug.org/COMOs/Fuente-ISO-Como/Fuente-ISO-Como.html CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Fuente ISO - Mas gaitas'

Todos tenemos "archivados" en el baúl de nuestra memoria, un conjunto de antiguos conocimientos heredados... Más »
Cuando se brinda una capacitación en ISO, se aclara desde el inicio el significado de... Más »
¿Qué es una imagen ISO? Las imágenes ISO son archivos que siguen los estándares ISO-9660... Más »
El enfoque de procesos aplicado a la gestión de calidad ha permitido la identificación de... Más »
Actualmente una buena parte de las empresas chilenas están, fruto de los alcances del proceso... Más »
¿Estás seguro de que deseas eliminar este capítulo?