Unicode-Symbole im Terminal mit Unifont

Sickboy

Müßiggänger
Hallo allerseits,

ich möchte gerne Unicode-Symbole im Terminal (urxvt, xterm, …) darstellen und dazu Unifont benutzen. Zunächst starte ich ein Terminal mit Unifont als Schriftart:

Code:
$ xset +fp /usr/local/share/fonts/gnu-unifont
$ xterm -font '-gnu-unifont-*-*-*-*-*-*-*-*-*-*-*'

Die Unicode-Basis-Zeichen kann ich problemlos ausgeben:

Code:
$ fetch http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
$ cat UTF-8-demo.txt

Leider klappt das nicht mit den „Unicode Supplemental Multilingual Plane“, also Unicode-Zeichen, die hinter U+FFFF liegen (zum Beispiel im Bereich U+01F300 … U+01F3FF). Wie kann ich auch solche Unicode-Zeichen auf dem Terminal ausgeben?
 
Doch, doch, GNU Unifont hat sie definitiv; siehe U+01F300 … U+01F3FF.
Die Schrift ist anscheinend unterteilt. Die "normale" Unifont enthält nur die Zeichen bis 0xFFFF, alles andere gehört in "Unifont upper". Zusätzlich gibt es von beiden noch eine "csur"-Variante, keine Ahnung, was das ist.
Die "upper"-Schrift ist in den Dateien "fonts.dir" und "fonts.scale" nicht aufgeführt, vielleicht kann XLFD nur die "Basic plane".
Im übrigen ist die Version in den Ports etwas veraltet, aber das ist nicht der Knackpunkt hier.
 
Mit der TTF-Variante geht es so halb (wie du schon geschrieben hast, die Version aus den Ports ist veraltet). Leider klappt es nicht mit der PCF-Variante.
 
Ich hab's mir angeschaut und mit xterm/uxterm kriege ich es ums Verrecken nicht hin, Zeichen ab U+10000 anzuzeigen. urxvt macht das aber.
 
Mit der TTF-Variante geht es so halb (wie du schon geschrieben hast, die Version aus den Ports ist veraltet). Leider klappt es nicht mit der PCF-Variante.
Was klappt nicht? Die Ausgabe der von Dir oben vorgestellten Demo-Datei? Die klappt bei mir mit beiden Varianten sehr gut, bis auf ein, zwei Kleinigkeiten. Oder die Anzeige von Zeichen wie U+01F300? Die sind, wie gesagt, in der "normalen" TTF-Unifont nicht drin, wahrscheinlich auch nicht in der PCF.
Ich hab's mir angeschaut und mit xterm/uxterm kriege ich es ums Verrecken nicht hin, Zeichen ab U+10000 anzuzeigen. urxvt macht das aber.
Jetzt hab' ich's auch mal getestet, auf Debian, mit der "Courier New" von Windows. Die hat z. B. ab U+1EE00 oder ab U+1F100 einige Zeichen definiert. Unifont geht ja nicht, weil die Zeichen über und unter U+10000 in verschiedene Fonts aufgespaltet sind. Mit "Unifont upper" weigert sich xterm zu starten, weil die "normalen" Zeichen alle fehlen.
Langer Rede kurzer Sinn: xterm kann das offenbar nicht. Wenn ich solche Zeichen über die Primary selection einfüge, erscheinen nur Leerzeichen. Diese "Leerzeichen" kann ich dann markieren (wobei sie nicht invertiert werden!) und anderswo, z. B. in Skype (was verwenden die eigentlich unter Linux für eine Schriftart?), einfügen, wo sie als korrekte Unicode-Zeichen erscheinen. Die Zeichen sind also in xterm im Prinzip "da", sie werde nur nicht dargestellt.
Steht einer von Euch mit Thomas Dickey in Kontakt, z. B. über eine Mailingliste?
 
Zurück
Oben