Unicode en la terminal Gnuplot

Unicode en la terminal Gnuplot

Por ejemplo, en la línea de comando bash puedo escribir un carácter δ usando la tecla Redactar y un ~/.XComposearchivo ad hoc, pero si intento hacer lo mismo en Gnuplot lo que obtengo es

13:48 boffi@debian:~ $ δ
bash: δ: command not found
13:48 boffi@debian:~ $ gnuplot

        G N U P L O T
        Version 5.2 patchlevel 6    last modified 2019-01-01 

        Copyright (C) 1986-1993, 1998, 2004, 2007-2018
        Thomas Williams, Colin Kelley and many others

        gnuplot home:     http://www.gnuplot.info
        faq, bugs, etc:   type "help FAQ"
        immediate help:   type "help"  (plot window: hit 'h')

Terminal type is now 'qt'
gnuplot> δ

La mejor respuesta me enseñará cómo hacer que Gnuplot acepte caracteres Unicode, una buena respuesta explicará por qué Gnuplot no acepta caracteres Unicode.

13:53 boffi@debian:~ $ env | grep LANG
LANG=C.UTF-8

Respuesta1

gnuplot en Debian está construido con la editlinebiblioteca para manejar el historial en la línea de comandos de gnuplot, y eso no es compatible con UTF-8; de hecho el configureguión menciona que:

  --with-readline=builtin  use the built-in readline
  --with-readline=gnu      use the GNU readline library (default if present)
  --with-readline=bsd      use the NetBSD editline library (NB: does not handle UTF-8!)

Hay un error de hace 15 años sobre este comportamiento,#273002, con una solicitud de función gnuplot correspondiente,#265(que está cerrado, presumiblemente porque se solucionó mediante la adición de la implementación interna de readline).

Fedora usa el software integrado readliney no sufre este error. (Sin embargo, sufre otros errores; intente ingresar 'δ' y luego retroceder).

Para solucionar este problema, reconstruya el paquete Debian:

cd /tmp
apt source gnuplot
cd gnuplot-5.0.5+dfsg1
sed -i 's/readline=bsd/readline=builtin/' debian/rules
sudo apt install devscripts equivs
mk-build-deps debian/control
sudo apt install ./gnuplot-build-deps_5.0.5+dfsg1-6+deb9u1_all.deb
mv ./gnuplot-build-deps_5.0.5+dfsg1-6+deb9u1_all.deb ..
dch -n "Use built-in readline."
dch -r ignored
dpkg-buildpackage -us -uc
sudo apt purge gnuplot-build-deps

Esto producirá paquetes gnuplot en el directorio principal, que puede instalar usando sudo dpkg -i.

información relacionada