
Beispielsweise kann ich in der Bash-Befehlszeile mit der Compose-Taste und einer Ad-hoc ~/.XCompose
-Datei ein δ-Zeichen eingeben. Wenn ich jedoch versuche, dasselbe in Gnuplot zu tun, erhalte ich Folgendes:
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> δ
Die beste Antwort zeigt mir, wie ich Gnuplot dazu bringe, Unicode-Zeichen zu akzeptieren. Eine gute Antwort erklärt, warum Gnuplot keine Unicode-Zeichen akzeptiert.
13:53 boffi@debian:~ $ env | grep LANG
LANG=C.UTF-8
Antwort1
gnuplot in Debian wird mit der editline
Bibliothek zum Verwalten des Verlaufs auf der gnuplot-Befehlszeile erstellt, und diese unterstützt kein UTF-8. Tatsächlich configure
erwähnt das Skript Folgendes:
--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!)
Es gibt einen 15 Jahre alten Fehler zu diesem Verhalten,#273002, mit einer entsprechenden Gnuplot-Funktionsanforderung,#265(das geschlossen ist, vermutlich weil es durch das Hinzufügen der internen Implementierung von behoben wurde readline
).
Fedora verwendet die integrierte Funktion readline
und ist von diesem Fehler nicht betroffen. (Allerdings sind andere Fehler vorhanden – versuchen Sie, „δ“ einzugeben und dann die Rücktaste zu drücken.)
Um dies zu beheben, erstellen Sie das Debian-Paket neu:
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
Dadurch werden Gnuplot-Pakete im übergeordneten Verzeichnis erstellt, die Sie mit installieren können sudo dpkg -i
.