martes, 31 de diciembre de 2024

¿Cómo instalo Mined para editar en UTF-8 en Ubuntu?

Reunido con visitantes en su Quinta 17 de Octubre, Juan Perón explica cómo instalar el editor Mined en Ubuntu, el editor especializado en texto codificado Unicode para la terminal.

(...)

Como podrá imaginar tuve que renunciar a muchas pasiones juveniles… Es difícil olvidar que uno ha sido boxeador, futbolista, rugbier, polista, jugador de básquet y maestro esquiador. De todas maneras, reconozco que esa experiencia me permite sobrellevar mis años de un modo bastante envidiable.

Mi receta es muy simple. Ciento cinco miligramos de hormona de potro todas las semanas. Yo no me tiño el cabello, ¿Sabe usted? Esa fórmula sirve para todo…

Cuando me pongo a la máquina, tengo que hacerlo pensando sobre todo a quienes me leerán en la Argentina, pero también en todos lados del mundo. Es por eso que para comunicarme, utilizo GNU con Linux. Y entre ellos múltiples editores, de entre los cuales me he favorecido por Mined.

Basicamente, Mined es un editor a medida para edición confiable y eficiente de documentos de texto plano y programas, con funcionalidades cómodas e intuitivas, comportamiento interactivo diseñado para este propósito. Se trata de un poderoso editor de texto con una interfaz amplia pero concisa y fácil de utilizar, que soporta los paradigmas de interacción más modernos, y presenta un comportamiento veloz y liviano. 

Mined soporta control completo de ratón, y un sistema de menúes en terminales de texto plano (siendo el primer editor en suportar Unicode en Xterm). Mined ofrece a todos un conjunto completo de funciones de manejo de texto y ficheros, como prevención de pérdida de datos (cuenta con respaldos automáticos opcionales configurables, archivos de recuperación, y bloqueo de archivos interoperables con otros editores, y monitoreo de cambio de ficheros), y un selector interactivo de ficheros, y un conmutador de ficheros.

Para instalarlo debemos descargar su código fuente y compilarlo en nuestro sistema GNU con Linux. En el caso de Ubuntu podremos hacerlo abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

cd /tmp ;
wget http://towo.net/mined/download/mined-2022.27.tar.gz ;
tar xvjf mined-2022.27.tar.gz ;
cd /tmp/mined-2022.27/ ;
make ;
sudo make install

Una vez compilado el programa, podremos ejecutarlo desde la terminal con:

mined fichero.txt

o bien recurriendo a su versión gráfica, mediante

xmined fichero.txt

Tras iniciar nos encontraremos con un editor de pantalla compatible con mouse, y si bien consta de una interfaz bastante convencional provista de barras de desplazamiento, es totalmente programable. Lo primero que llamará la atención es una barra de menúes desplegables, activable mediante la tecla F10.

Mediante esta tecla podremos acceder a los menúes "Archivo", "Edición", "Búsqueda/Ir", "Párrafo" y "Opciones". Sin embargo, usando las flechas del cursor izquierda/derecha, podremos acceder a otros menúes adicionales que aparecen abreviados: "Info Display", "Encomillado", "Codificación", "Combinación", "Texto", "Buffer de Pegado", "Indentado/Tabulado", "Justificado".

Con F3 podremos abrir un fichero, y con Alt+F3 podremos conmutar entre varios ficheros abiertos (presentables en solapas). 

Mined siempre está en modo de inserción, con lo cual podemos comenzar a escribir sin mas. Podremos escoger un word wrap (corte de línea) relativo (ajustable al ancho de terminal, o ajustable a un ancho de corte alertado predeterminado, por ejemplo de 72 caracteres) o bien duro, que genera líneas de manera automática al llegar a tal borde.


Los comandos son caracteres de control simple, comandos de dos teclas que comienzan con la tecla Escape, mas una colección de teclas de función (para distintos teclados y terminales). Especialmente se debe notar la "tecla salto" (normalmente el 5 del teclado numérico o Ctrl+Barra Espaciadora), que expande los efectos de ciertos comandos "de la manera obvia"; esto permite editar sin tener que recordar demasiadas teclas.

Por defecto, Mined usa el teclado de desplazamiento para las siguientes funciones:

Ins: Pegar
Supr: Borrar/Cortar
Inicio: Comienzo de Línea
Fin: Final de Línea
RePág: ídem
AvPág: ídem

Las funciones del teclado numérico tienen otros significados, que pueden ser alterados con la tecla salto:

Teclado Numérico 7/Inicio: Marcar Inicio de Seleccion. Ir a marca.
Teclado Numérico 8/Arriba: Arriba. Parte superior de la pantalla.
Teclado Numérico 9/RePág: Previo. Comienzo del archivo.
Teclado Numérico 4/Izquierda: Izquierda. Comienzo de línea.
Teclado Numérico 5: Tecla Salto
Teclado Numérico 6/Derecha: Derecha. Fin de línea.
Teclado Numérico 1/Fin: Copiar. Agregar.
Teclado Numérico 2/Abajo: Abajo. Parte inferior de la pantalla.
Teclado Numérico 3/AvPág: Siguiente. Final del archivo.
Teclado Numérico 0/Ins: Pegar. Pegado entre ventanas.
Teclado Numérico ./Supr: Suprimir/Cortar Agregar+.

Por defecto, en Mined la selección de textos se hace marcando el inicio del sector seleccionado con la tecla Inicio, y el Final del sector seleccionado con la tecla Final (y uno se desplaza al principio de línea con Mayúsculas+Inicio y al final de línea con Mayúsculas+Fin). Este comportamiento simula en cierta medida el de el clásico editor de texto privativo PC-Write para DOS.

Sin embargo, este comportamiento puede ser alterado para seleccionar "al estilo Window$", en que se recurre a combinaciones con Mayúsculas+Flechas del Cursor.

En este caso, configuramos la opción de teclado de selección con Mayúsculas, las funciones son más convencionales, como las siguientes:

Mayúscula-Izq Selecciona caracter a la izquierda
Mayúscula-Der Selecciona caracter a la derecha
Mayúscula-Control-Izq Selecciona palabra a la izquierda
Mayúscula-Control-Der Selecciona palabra a la derecha
Mayúscula-Arriba selecciona línea arriba
Mayúscula-Abajo selecciona línea abajo
Mayúscula-Ctrl-Arriba selecciona hasta el comienzo del párrafo anterior
Mayúscula-Ctrl-Abajo selecciona hasta el comienzo del párrafo siguiente
Mayúscula-Inicio selecciona al comienzo de la línea
Mayúscula-Fin selecciona al final de la línea
Mayúscula-Control-Inicio selecciona hasta el comienzo del texto
Mayúscula-Control-Fin selecciona hasta el final del texto
Mayúscula-RePag selecciona página previa
Mayúscula-AvPag selecciona página siguiente
Mayúscula-5 (en teclado numérico) copia el texto seleccionado para pegar al búfer

Para pegar entre ventanas podemos usar Ctrl+G, Ctrl+P.

Un aspecto que puede resultar importante y en el que destaca Mined es el uso de métodos de entrada alternativos, adecuados para escribir en griego, cirílico, arábico, hebreo, kazajo, etíope, amhárico, y esperanto. También cuenta con las múltiples variaciones de entrada para la escritura de los pueblos chinos y coreanos (pinyín, cangjie, WuBi, Boshiami, escritura de radicales y pinceladas, escritura de 4 bordes, Bopomofo), así como el hiragana y katakana del Japón. Es de destacar que contamos con un traductor de ideogramas (sólo al inglés).

En particular presenta su sapiencia es el soporte Unicode UTF8 y CJK (para idiomas de asia oriental, Chino, Japonés y Coreano). Esto avala cubrir aspectos que otros editores no son tan capaces o halagüeños - como funcionalidades de autodetección y manejo automático de variaciones de terminal, y la información de los caracteres Han. Gracias a ello, puedo comunicarme con el chino Mao, que siempre me escribe...

Pero además de hacer caso a los caracteres del Asia, permite funcionar completamente bien con las condificación universal y otras anteriores. Esta compatibilidad lo vuelve adecuado para enfrentar la edición de texto para distinto tipo de máquinas.

Si bien podremos alterar el funcionamiento de Mined a través de los menúes respectivos, sus aspectos principales pueden alterarse de forma más permanente modificando su completo y guiado archivo de configuración ~/.minedrc.

En la web oficial podremos encontrar el manual en línea de Mined (en inglés)

jueves, 5 de diciembre de 2024

¿Cómo convierto imagenes de mapa de bits a trazados SVG en Ubuntu?

Reunido con las trabajadoras del Sindicato de Obreros Gráficos, Juan Perón expone cómo convertir imágenes de mapas de bits a trazados SVG escalables en Ubuntu.

 

¡Trabajadoras!

Donde existe una necesidad nace un derecho. Esto es un dogma que hemos escrito en el frontispicio de nuestras instituciones, y al cual nos adherimos con el quehacer diario.

En este caso las muchachas peronistas nos aproximan con un problema a resolver para lograr una impresión DTF (directo a film) para adherir térmicamente a tela. Esta técnica nos permite un resultado superior al impreso de vinilo para corte por termoadhesión, el cual tiene como inconveniente la imposibilidad de recurrir a líneas finas, y necesita amplias zonas de impresión para ser efectivo.

Naturalmente, ante estas nuevas técnicas, el software libre cuenta con las herramientas para suplirlas de contenido. Veamos el caso de recurrir a una imagen para hacerla por medio de DTF e imprimirlas en camisetas de algodón o algodón-poliéster.

Un uso típico es crear gráficos vectoriales a partir de una imágen escaneada (logotipos, escritura manuscrita. El problema es que al usar estas imágenes, podremos encontrar con efectos tipo "serrucho", la más de las veces indeseados.

Pues bien señores, para evitarlo, habremos de convertir imágenes de referencia de linearsts en formato raster (en este caso BMP), a los mucho más cómodos trazados SVG. En tal caso, la imagen resultante no es "irregular" como un mapa de bits, sino suave. Luego se puede renderizar en cualquier resolución.

Para hacer la conversión recurriremos a uno de los mejores programas de terminal encargados de esto: el potrace, que opera desde la línea de comandos. Este nos presentará el aliciente de poder lograr nuestro cometido sin tener que recurrir a software privativo alguno (tal los arteros Adobe Illustrator o Corel Draw.

Intentaremos lo propio con una imagen especialmente pixelada, obtenida a través de la pantalla inicial del popular juego de MS-DOS "Truco Arbiser". Se trata de un lineart de sólo 320x200 pixels, representativo de un autóctono gaucho con una inempardable mano de truco consistente en el ancho de espadas, el macho de bastos, y un siete que - a pesar de no verse entero - bien podría ser el de espadas. Esta es una imagen de arte de línea que sigue la vieja norma CGA a cuatro colores (ante un fondo negro, se delinea en blanco y se suman detalles estridentes en cian y magenta, típicos de esta antediluviana placa de video).

Para instalarlo en nuestro sistema GNU con Linux simplemente abrimos una Terminal. En el caso de Ubuntu podremos recurrir al siguiente Comando de Organización:

sudo apt install potrace

 
potrace se revela como excepcional herramienta para trazar un mapa de bits, es decir, transforma la imagen de mapa de bits en una imagen de trazado matemático, normalmente suave y escalable.
 
Es capaz de funcionar con imágenes de origen en mapas de bits que sigan los siguientes formatos: PBM, PGM, PPM (conocidos colectivamente como PNM, así como BMP (formatos de mapa de bits de Windows y OS/2).

Si a cualquiera de estas la queremos convertir específicamente en una imagen de trazado vectorial en formato SVG, utilizamos la opción -s, de la siguiente manera

potrace -s archivo.bmp

Por defecto, esto nos generará automáticamente un resultado de salida en blanco y negro con el mismo nombre del fichero de entrada, o sea archivo.svg, con la ventaja que este será completamente escalable.

Aunque este blanco y negro es particulamente efectivo para logotipos y obtener base de trabajo, en este caso particular deseamos realizar una reproducción escalable que sume los colores a 4 bits de profundidad de color. Por tal motivo, habremos de enfrascarnos en dividir el mapa de bits en las componentes de los canales magenta, cian y blanco (esto podremos hacerlo con cualquier programa con selector de color).

Como la imagen CGA sólo contiene dos colores (además del blanco y negro que pueden representar el campo principal y el fondo respectivamente), la selección puede realizarse fácilmente en GIMP con la herramienta Selector por Color (Mayúsculas+O). Con solo hacer clic en un pixel del color anhelado, podremos seleccionar todo, copiarlo y pegarlo en un documento nuevo, y exportarlo de forma independiente.

Cada uno de los dos colores - en este caso - representan otro fichero BMP, al cual convertimos a SVG con potrace.

Hechos con las tres capas (blanco, cian y magenta), bien podremos utilizar Inkscape, LibreOffice Draw -o cualquier otro programa de dibujo vectorial compatible con SVG- para abrirlas, seleccionarlas y pegarlas (de forma combinada y superpuesta) en un único fichero SVG. 

Asimismo, el uso de SVG independientes nos permitirá la facilidad de poder hacer no solo impresiones DTF a film, sino trazados con una cortadora de vinílicos, pues estas máquinas son capaces de utilizar archivos SVG como indicador escalable de corte. Esto nos permitiría realizar logotipos plenos (aunque no linearts de trazo fino), y adherirlos térmicamente.

En cualquiera de los casos, ambos resultados - sumado al fondo de una camiseta negra - nos otorgará el resultado deseado, como expresión de Justicia Social adherida a una tela.

Es bueno mencionar que si bien  prefiero operar con el viejo y peludo GIMP ara este menester, si recurrimos al escritorio KDE, podríamos querer compilar una antigua herramienta que oficia de interfaz gráfica para Potrace, el potracegui.

Para hacer esto desde nuestra terminal ingresamos:

cd /tmp ;
wget https://sourceforge.net/projects/potracegui/files/potracegui/1.3.4/potracegui-1.3.4.tar.gz ;
cd tmp/potracegui-1.3.4/ ;
./configure ;
make ;
sudo make install

En conclusión, gracias a las herramientas libres podremos contar con potentes alternativas a los programas privativos, y contar con toda una panoplia operativa para hacer impresiones de impresión, corte y confección para telas de alta calidad y vistosidad, a la vez que difundimos el Software Libre que GNU nos dio.