1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226
|
Versin 0.2 23 May 2001
NOTA: Para una versin ms completa (en ingls) acuda al "Debian
Euro Manual" del paquete euro-support (/usr/share/doc/euro-support)
disponible tambin en http://www.debian.org/doc/manuals/debian-euro-support
Esbozo de un Euro-HowTo
=======================
Este documento tiene su origen en los hilos iniciados por ngel Parra
en abril de 2001 (Como poner el Euro???), el mensaje de Jose Carlos Garcia
Sogo <jose@jaimedelamo.eu.org> de 9 de mayo y la respuesta de Roberto
Suarez Soto <robe@alfa21.com> as como algunos otros que de vez en cuando
aparecen sobre el tema en la Lista de Usuarios de Debian en Espaol
<debian-user-spanish@lists.debian.org>.
Mi idea es movilizar, continuar el hilo hasta dar
una respuesta aceptable ante la inminencia del tema (y supongo que los grupos
franceses, alemanes, etc. estarn en un trabajo similar).
Notas:
N.1. Uso testing. Para Potato algunos nombres de ficheros de configuracin
cambian (y ah kbd es un paquete inferior a console-tools, creo). Creo que
usar framebuffer es indiferente a igualdad de resolucin. No analizar el
uso de fonty ni de fuentes UTF-8
N.2. Tengo un teclado de 105 teclas para un clnico i386, de esos con las
teclas con las ventanitas de gindous y otra para el men. YMMV
N.3. Por antiguos problemas con los locales y por mi trabajo como traductor
(y mi experimentos con UTF-8, pero esta es otra guerra) no soy partidario
de definir globalmente (system-wide) un locale sino permitir a cada
usuario elegir el suyo. YMMV
A. Consola
----------
A.1. El teclado
Resulta que tenemos dos paquetes alternativos para configurar el mapa
de teclado:
console-tools y kbd; la diferencia entre ambos en las versiones
actuales es que Yann Dirson es 'uno de los nuestros', un hombre de
Debian, y Andries E. Brouwer es ms un hombre BSD (esto son elucubraciones
mas...) - yo, por llevar la contraria (si no fuera cabezota todava
estara en gindous) uso kbd.
console-common instala /etc/init.d/keymap.sh, que lanza el loadkeys
de console-tools o de kbd sobre /etc/console/boottime.kmap.gz, generado
a su vez por install-keymap con los datos de console-data. Sencillo,
no? Al arrancar el sistema se ejecuta /etc/rcS.d/@S05keymap.sh y nos
pone el mapa de teclado elegido.
Cmo aadir una tecla para el euro (y de paso las teclas gindous)?
Opcin a) Puedes editar boottime.kmap.gz, aadiendo el contenido de
/usr/share/keymaps/i386/include/euro.inc.gz y
/usr/share/keymaps/i386/include/windowkeys.inc.gz
Opcin b) Yo aado en /etc/init.d/keymap.sh, tras la lnea de
loadkeys ${CONFDIR}/${CONFFILEROOT}.${EXT}.gz, lo siguiente:
loadkeys euro.inc
loadkeys windowkeys.inc
y no tengo que tocar /etc/console/boottime.kmap.gz.
La opcin b) me parece ms rpida y ms fcil. Tiene un problema
grave si montas tu sistema va red (lo que no es mi caso):
al lanzarse el teclado muy pronto en el arranque
(/etc/rcS.d/@S05keymap.sh) es posible que los sistemas de ficheros
de red an no estn montados.
Hemos puesto el mapa de teclado pero para ver el smbolo del
euro nos falta una fuente que pueda mostrarlo.
A.2. Las fuentes para consola
/etc/init.d/console-screen.kbd.sh o /etc/init.d/console-screen.sh
ponen la fuente de pantalla que hayas elegido en /etc/kbd/config o
/etc/console-tools/config. La codificacin que incluye el euro es la
latin0 (dejando aparte ISO-10646-1, superconjunto de todas las ISO).
latin-9 o Latin-0 o ISO-8859-15 (codepage 924 para IBM) difiere del
estndar Latin-1 (ISO 8859-1) en ocho posiciones, A4, A6, A8, B4, B8,
BC, BD, BE donde tiene Euro, Scaron, scaron, Zcaron, zcaron,
OEligature, oeligature e Ydiaeresis, respectivamente.
En /usr/share/consolefonts tenemos varias fuentes lat0-*, en distintos
tamaos. Podemos poner en 16 puntos la lat0-sun16.psf.gz, tal
como aconsejaba Roberto Suarez Soto, o la lat0-16.psfu.gz (cuestin
de gustos):
en /etc/console-tools/config
SCREEN_FONT=lat0-sun16
APP_CHARSET_MAP=iso15
en /etc/kbd/config
CONSOLE_FONT=lat0-16.psfu.gz
CONSOLE_MAP=8859-15_to_uni
Quieres ver si funciona? /usr/bin/shfont
para escribir el (el signo anterior debe ser un euro) Alt-Gr + E,
para pulsa Alt-Gr + c
A.3. locales
Ejecuta 'locale charmap' y anota la salida - no terminaremos hasta
ver 'ISO-8859-15'.
El locale adecuado para el espaol es es_ES.ISO-8859-15 (cataln ca_ES,
vasco eu_ES, gallego gl_ES). Las versiones actuales de glibc no traen
los locales sino que hay que generarlos editando /etc/locale.gen y
ejecutando despus como root /usr/sbin/locale-gen.
Para hacerlo en /etc/locale.gen descomenta la lnea
es_ES@euro ISO-8859-15
ahora tambin puedes/debes descomentar la lnea anterior por precaucin
es_ES ISO-8859-1
(en las primeras versiones descomentar una pisaba a la otra).
/usr/sbin/locale-gen deja el nuevo locale en /usr/lib/locale/es_ES@euro
si todo ha ido bien.
Prueba el nuevo locale con por ejemplo
LANG=es_ES.ISO-8859-15 date
Si todo funciona instlalo (uso bash. YMMV)
export LANG=es_ES.ISO-8859-15
export LC_ALL=es_ES@euro
a) para todo el sistema en /etc/environment o /etc/profile
b) como usuario en ~/.bash_profile o en el fichero de configuracin de
tu shell
En /etc/locale.alias tenemos 'spanish' como un alias de es_ES.ISO-8859-1
y por lo tanto no nos vale. Tampoco 'catalan', 'galego' y 'galician'.
No s qu hace el paquete user-es. Hay que modificarlo?
La parte de consola ha terminado, pero preprate para tener problemas
con las X (exactamente con Xlib).
es_ES es un locale que funciona porque en /etc/locale.alias remite
a es_ES ISO-8859-1, mientras que en
/usr/X11R6/lib/X11/locale/locale.alias es otro
nombre para es_ES.ISO8859-1 (sic).
Cmo escribimos el locale para que lo acepten a la vez glibc y
Xlib?
B. X Windows
------------
B.1. Teclado
En /etc/X11/XF86Config-4
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
# Option "CoreKeyboard"
Option "AutoRepeat" "500 5"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection
B.2. Fuentes
Necesitamos una fuente iso8859-15. Para ver si tienes alguna
instalada haz
xlsfonts | grep iso8859-15
Para mi sorpresa resulta que xfonts-jmk y los distintos paquetes
arphic (xfonts-arphic-bsmi00lp, xfonts-arphic-gbsn00lp,
xfonts-arphic-bkai00mp y xfonts-arphic-gkai00mp), que haba instalado
por otro asunto, traen fuentes iso8859-15.
Si no, no pasa nada. La solucin est en las fuentes ISO10646-1,
que como sabemos son un superconjunto de los distintos ISO8859-X
y de las que s disponemos de unas cuantas. Usando un script en perl de
Markus Kuhn <mkuhn@acm.org> que se llama ucs2any.pl
This Perl script allows you to generate from an ISO10646-1 encoded
BDF font other BDF fonts in any possible encoding. This way, you can
derive from a single ISO10646-1 master font a whole set of 8-bit
fonts in all ISO 8859 and various other encodings.
Si leis ingls no tiene desperdicio
http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
y las otras pginas de Markus Kuhn.
Entre ucs-fonts.tar.gz (28) y ucs-fonts-75dpi100dpi.tar.gz (176) tenemos
suficientes, incluidas times, helvtica, lucida, utopia, new century
schoolbook, courier...
No s si para un posible user-euro tendra sentido empaquetarlas
o hacer un script que las generara a partir de las ISO10646-1.
B.3. locales
En las X los locales de las aplicaciones que utilizan Xlib son
independientes de los de glibc y estn en /usr/X11R6/lib/X11/locale
Vemos que el nombre incluso cambia: ahora ser 'es_ES.ISO8859-15' y
no 'es_ES.ISO-8859-15'. Esta pequea diferencia dar problemas: cuando
no protesta la librera C (buscando sin encontrar en /etc/locale.alias)
protestar Xlib.
Despus de varios das de pruebas y experimentos creo que he dado con
una solucin sencilla: aadir a /usr/X11R6/lib/X11/locale/locale.alias
la lnea
es_ES@euro: es_ES.ISO8859-15
Ya est. No hace falta tocar .xsession, ni ningn otro fichero de
configuracin (recordemos que en .bash_profile habamos puesto
export LANG=es_ES.ISO-8859-15 y export LC_ALL=es_ES@euro y que yo uso
startx).
Un pequeo detalle (otro ms): revisa .Xdefaults por si has puesto
por defecto alguna fuente ISO8859-1.
C. Los programas
Qu hay que cambiar en Emacs, mutt, netscape...
(ToDo)
Una advertencia: casi todos los programas dan por supuesto que quieres
usar latin1. Mira en los .rc. Algunos no contemplan la posibilidad de
usar latin0. Para evitar los mensajes molestos basta hacer
LC_ALL=es_ES programa &
para ejecutarlos.
D. ToDo
Escribir sobre fonty, language-env, user-es
--
Juan Rafael Fernndez <jrfern@bigfoot.com>
GnuPG (www.gnupg.org) key available at your nearest wwwkeys server
|