Wie kann ich dafür sorgen, dass Unicode-Symbole und TrueType-Schriftarten in xterm / uxterm funktionieren?

12

Ich möchte eine TrueType-Schriftart in xterm / uxterm (Version 278) verwenden, habe jedoch Probleme mit Unicode-Symbolen (é wird beispielsweise gut angezeigt, es handelt sich also vermutlich nicht um ein deaktiviertes utf8- oder ein Gebietsschema-Problem):

$ echo -e "\xE2\x98\xA0"

gibt mir ein Quadrat anstelle von ☠ mit folgender Konfiguration:

UXTerm*faceName: Liberation Mono
UXTerm*faceSize: 9
XTerm*faceName: Liberation Mono
XTerm*faceSize: 9

Wenn ich TrueType-Schriftarten über das Strg-Rechtsklick-Menü deaktiviere, wird das Symbol in Ordnung angezeigt, wenn die Standardschriftarten verwendet werden, die überhaupt nicht gut sind. Ich habe uxrvt ausprobiert und habe das gleiche Problem, wenn ich nicht genug Buchstabenabstand habe, aber es funktioniert gut, wenn ich es erhöhe. Allerdings gab mir uxrvt viele andere Probleme, genau wie alle anderen Terminalemulatoren, die ich ausprobiert habe. Hat jemand eine Idee?

Sebastian Blask
quelle
Haben Sie Grund zu der Annahme, dass diese Glyphe in Liberation Mono vorhanden ist?
HalosGhost
Ich habe es in LibreOffice Writer ausprobiert und es ist da. Es funktioniert auch in uxrvt, nachdem der Buchstabenabstand erhöht wurde. Mein Problem ist nicht spezifisch für diese eine Schriftart. Ich konnte keine TrueType-Schriftart finden, bei der ich dieses Problem nicht habe.
Sebastian Blask
Seltsam. Ich habe versucht, das LibreOffice Writer-Problem zu reproduzieren, und es hat funktioniert. Vielleicht wechselt LO-Writer zu einer anderen Schriftart, wenn ein bestimmter Unicode von der aktuellen nicht unterstützt wird? Wie kann eine Vergrößerung des Buchstabenabstands dazu führen, dass Liberation Mono plötzlich ein nicht unterstütztes Unicode-Zeichen unterstützt? Wie vergrößert man den Buchstabenabstand?
Polym
Antwort auf meine erste Frage: vinc17 hat herausgefunden, dass LibreOffice die Schriftart stillschweigend ändert!
Polym
1
In rxvt-unicode können Sie sehen, zu welcher Schriftart eine Glyphe gehört, indem Sie mit der linken Maustaste darauf klicken, während Sie die Steuerung und die Umschalttaste gedrückt halten. Die Details sollten unten links im Terminalfenster angezeigt werden. Schauen Sie sich auch den fontforge-Schrifteditor an, um eine ttf-Schrift zu überprüfen. Es ist erstaunlich, wie kompliziert eine Schrift sein kann.
Ätherfisch

Antworten:

8

Die Liberation-Schriftart scheint dieses Symbol nicht zu haben. Aber mitXTerm*faceName: DejaVu Sans Mono (die auch eine TrueType-Schriftart ist) ermöglicht jedoch die Anzeige von ☠.

BEARBEITEN: Verwenden Sie LibreOffice oder OpenOffice nicht, um festzustellen, ob eine Glyphe in einer Schriftart unterstützt wird, da diese stillschweigend auf eine andere Schriftart zurückgreift : OpenOffice-Fehler 45128 .

vinc17
quelle
wow cool schön zu finden. Scheint, als ob mein Verdacht richtig war haha: D! Upvote!
Polym
Ich war mir ziemlich sicher, dass Deja Vues in der Liste der Schriften war, die ich ausprobiert habe, aber anscheinend nicht. Peinlich, dass das so einfach war: - Lass es mich morgen einfach auf meinem Arbeitscomputer ausprobieren ...
Sebastian Blask
5

vinc17 ist richtig:

Der Buchstabe ☠, auch genannt SKULL AND CROSSBONES Liberation Mono" , wird nicht von der Schriftart "Liberation Mono" unterstützt, wie Sie hier und hier sehen können .

Sie müssen zu einer Schriftart wechseln, die diesen Unicode (Bereich) abdeckt.

Schriften , die diese besondere Glyphe ☠ unterstützen aufgeführt hier .

Verwenden Sie dieses Tool, um den Namen und verschiedene andere Informationen eines Unicode-Zeichens anhand von Text zu ermitteln .

Polym
quelle