Größere "xterm" -Schriften auf HIDPI-Displays

15

Nachdem ich mehrere Jahre lang verschiedene Terminal-Emulatoren wie Konsole , Gnome-TERMINAL und in letzter Zeit XFCE Terminal in ihren entsprechenden Desktop-Umgebungen verwendet hatte, entschied ich mich, gutes altes xterm mit seinen Bitmap-Schriftarten zu verwenden . Es funktioniert einwandfrei, es unterstützt Unicode und die standardmäßige feste Schriftfamilie enthält Zeichen aus fast allen Sprachen, was großartig ist.

Aber ich bin auf ein wichtiges Problem gestoßen. Die Schriften sind sehr klein. Sogar die so genannte riesige Größe (die 10 x 20 Bitmap-Schriftart) ist für mich sehr klein und unbrauchbar.

Meine Standardeinstellung für die XFCE-Umgebung ist 120 dpi, es werden jedoch xpdyinfo97 x 97 dpi ausgegeben

$ xdpyinfo |grep resolution
  resolution:    97x97 dots per inch

Also habe ich versucht, die DPI mit zu ändern xrandr, aber es hat nicht geholfen.

$ xrandr --dpi 120

Das Ergebnis scheint zuzutreffen

$ xdpyinfo | grep resolution
  resolution:    120x120 dots per inch

es ändert aber nichts an der auflösung von xterm. Ich habe sogar versucht, die Skalierung zu verwenden, aber dies betraf nicht nur eine einzelne Anwendung, sondern das gesamte X:

$ xrandr --output LVDS1 --scale 0.5x0.5

Es gibt Abhilfen für Qt und GTK , aber was ist Xlib-basierte Anwendungen wie Xterm, Xcalc, Xman, Xfige, etc? Sollen wir sehen, wie sie verblassen, wenn die DPI der Anzeige steigt? Bitte helfen Sie, wenn Sie Problemumgehungen kennen.


Dies ist, was ich getan habe, was irgendwie funktioniert hat, aber ich konnte die ursprüngliche "feste Schriftfamilie" nicht verwenden, so dass es jetzt möglicherweise nur für einige Sprachen funktioniert.


PS1: Ich habe 100 DPI-Schriftarten für X installiert, konnte sie jedoch nicht verwenden

$ sudo apt-get install xfonts-100dpi

PS2: Fontforgedie auch verwendet Xlib, verwendet ein schönes Thema und normale Schriftgrößen. Ich weiß nicht, wie es das macht.

PS3: Ich teste otf2bdfund bdftopcfnutze einige Tools, um experimentelle PCFBitmap-Schriften für HIDPI aus Vektor- TTF/OTFSchriften zu erstellen .

PS4: Nach der Installation von 100DPI-Schriftarten war dies gut, obwohl die Standardschrift nicht in allen Sprachen unterstützt wird fixed.

$ xterm -font -Adobe-Courier-Bold-r-Normal-*-34-*-100-100-*-*-*-*

Ich habe benutzt fontsel. Es ist sehr hilfreich.

PS5: Dies ist auch nützlich.

PS6: Ich könnte in der Lage sein, 120DPI-Bitmap-Schrift von Courier New mit 20pt zu erstellen

$ otf2bdf -p 20 -r 120 cour.ttf > cour.bdf
$ bdftopcf cour.bdf | gzip - > cour.pcf.gz
$ sudo cp cour.pcf.gz /usr/share/fonts/X11/misc/
$ fc-cache
$ xterm -font -*-*-*-*-*-*-*-*-120-120-*-*-*-*

PS7: 75 DPI ist in der BDF-Schriftart fest codiert. Vielleicht hilft es, es zu ändern.

PS8: vncdesk ist ein gutes Werkzeug zum Skalieren eines einzelnen Fensters .

Ho1
quelle
Xft.dpi: 120in ~/.Xresourcesfunktioniert nicht?
ILMostro_7,
xrdb -query | grep dpibereits berichtet:Xft.dpi: 120
Ho1
Haben Sie eine ~/.XresourcesDatei oder erstellt ~/.Xdefaults, oder ist dies auf Ihrem System angemessen? Der Link, auf den Sie verwiesen haben und den Sie als hilfreich bezeichnet haben, ist kein umfassender Optionssatz für xterm. Zum Beispiel Xft.lcdfilter: lcddefault Xft.antialias: true Xft.hinting: true Xft.hintstyle: hintslightund viele mehr.
ILMostro_7
1
@ MartinSchröder Ja, ich habe meine eigenen 120-dpi-Schriftarten getestet, die mit der TrueType-Schriftart Courier New erstellt wurden . Es fehlen jedoch alle Sprachen, die von "Fixed Bitmap Font Family" unterstützt werden. Daher suche ich nach einer besseren Möglichkeit, dies zu tun. Zur Zeit in meinem systme, / etc / X11 / app-defaults / XTerm, als Standard VT100.font6 (Huge) eingestellt ist 10x20 Schriftart aus Festschriftfamilie, die auf meinem Bildschirm recht klein ist. Ich würde mich freuen, wenn wir en.wikipedia.org/wiki/Fixed_%28typeface%29 für 20x40 hätten, aber das tun wir nicht.
Ho1
1
Haben Sie benötigen Bitmap - Fonts verwenden? xtermUnterstützt auch TrueType-Schriften. xterm -fa 'DejaVu Sans Mono' -fs 40(Obwohl nicht zwischen Schriftarten gewechselt wird, wenn Glyphen nicht verfügbar sind, wie dies bei einigen anderen Terminalemulatoren der Fall ist)
Stéphane Chazelas

Antworten:

10

Sie haben die Antwort selbst angedeutet, indem Sie auf https://en.wikipedia.org/wiki/Fixed_(typeface) verwiesen haben.

Dies ist die standardmäßige feste Bitmap- Schriftart, die von Markus Kuhn erweitert wurde , um einen ziemlich vollständigen Zeichensatz zu erhalten. Die Frage ist dann, wie man eine Bitmap skaliert .

Bisher haben Sie eine Vektorschrift skaliert und in eine Bitmap konvertiert (ttf → bdf → pcf) . Das ist eine gute Strategie, aber wie Sie bereits erwähnt haben, fehlt ihr eine gewisse Sprachunterstützung. Das scheint seltsam, da Courier New eine der vollständigeren Unicode-Schriften ist, aber ich schweife ab! Vielleicht versuchen Sie es mit Mono, das ein Klon ist.

Ich verstehe aber nicht , warum Sie tun dies als xterm tut Unterstützung Truetype .

Ändern Sie ~/.Xresourceswie folgt :

XTerm*renderFont: true
XTerm*faceName: VeraMono
XTerm*faceSize: 10

Zurück zur Aufgabe: Sie möchten eine größere Bitmap- Schrift.

Die größte verfügbare Bitmap ist:

10x20   -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1

Markus war so nett, dass er die Quell-BDF-Dateien liefert. Wenn Ihre Distribution nicht über die neuesten Updates (ab April 2009) verfügt, können Sie das Paket direkt von ihm beziehen.

Das Schriftpaket "-misc-fixed- *":

http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz

Anstatt zwischen pcf und bdf hin und her zu konvertieren , sollten Sie sich an das Quellformat halten. Sie können einen BDF-Schrifteditor verwenden, um die Schriftgröße zu ändern. Erwarten Sie kein Antialiasing oder einen solchen Trick - aber Sie können zumindest eine lesbare Größe erhalten.

Oder Sie können bdfresize von Hiroto Kagotani verwenden (auch in einigen Paketsystemen enthalten).

AKTUALISIEREN:

Ich kenne keine Möglichkeit, nur ein Fenster zu skalieren (hatte nie die Notwendigkeit). Sie können diese Superuser-Frage nachverfolgen. Wenn ich den Bedarf hatte, habe ich die gesamte Umgebung skaliert.

Sie können eine 3200x1800-Anzeige auf 1920x1080 herunterstufen, indem Sie Folgendes verwenden:

xrandr --dpi 141
xrandr --output eDP1 --scale 0.6x0.6

Weitere Tricks zur Bildschirmskalierung in verschiedenen Fenstermanagern finden Sie hier . Sie schlagen die Verwendung von VNC vor:

Ein Ansatz besteht darin, die Anwendung im Vollbildmodus und ohne Dekoration auf einem eigenen VNC-Desktop auszuführen. Skalieren Sie dann den Viewer. Mit Vncdesk ( vncdesk-git von der AUR) können Sie einen Desktop pro Anwendung einrichten und dann Server und Client mit einem einfachen Befehl wie z vncdesk 2.

x11vnc verfügt über eine experimentelle Option -appshare, die einen Viewer pro Anwendungsfenster öffnet. Vielleicht könnte etwas damit gehackt werden.

Claus Andersen
quelle
Tolle Antwort, danke. Ich werde die Antwort gerne annehmen. Warum nicht wahr? 1) Ich möchte es auf einem alten langsamen Computer benutzen. 2) Fixed Family hat eine großartige Sprachunterstützung, wie in cl.cam.ac.uk/~mgk25/ucs-fonts.html beschrieben. Und noch eine letzte Sache: Gibt es eine Möglichkeit, ein einzelnes Fenster in X zu skalieren? Ich denke, das wird die Antwort verbessern.
Ho1
1
W / R zum ursprünglichen Plakat benötigen für die breite Unterstützung der verschiedenen Sprachen, Vera ist begrenzt, aber das Spin-Off DejaVu unterstützt viele verschiedene Zeichensätze. Aus dieser Sicht sind auch die mehr oder weniger frei verfügbaren Monospaced-Schriften von MS sehr gut, sowohl Courier10 als auch Calibri. Ich habe mich irgendwie in Calibri verliebt!
gboffi
0

Im Moment können Sie die Schriftgröße erhöhen, indem Sie die Steuerung und die rechte Maustaste (dh ctrl+right mouse button) gedrückt halten und die Schriftgröße auswählen. Um es als Standard festzulegen, müssen Sie eine XresourcesKonfiguration haben. Ich versuche es und werde die Antwort aktualisieren, sobald ich sie erhalte.

Aktualisieren:

Sie können eine .XresourcesDatei in Ihrem Home-Verzeichnis erstellen und die folgende Zeile hinzufügen xterm*font: *-fixed-*-*-*-18-*. Führen Sie dann Ihre Änderungen mit dem Dienstprogramm für X-Server-Ressourcen zusammen, indem Sie xrdb(dh xrdb -merge ~/.Xresources) verwenden, oder Sie können das Dienstprogramm auch neu starten X. Die neue xtermssollte die geänderte Schriftgröße haben.

Thushi
quelle
Vielen Dank für Ihre Antwort, ich verwende die größte verfügbare Bitmap-Schriftart für feste Schriftfamilien: 10x20, die für große Schriftgrößen verwendet wird, aber auch auf HIDIP-Displays sehr klein ist. Bitte beachten Sie, dass ich von Bitmap-Schriftarten und nicht von TrueType-Schriftarten spreche.
Ho1
0

Ich bin mir nicht sicher, aber Sie können die Schriftart und die Größe möglicherweise wie folgt zusammenführen:

xterm -fn helvetica -fs 20x10

kleiner Test von Schriften

Grüße, maniat1k

maniat1k
quelle
Vielen Dank für Ihre Antwort. Dies bietet größere Schriftarten:, xterm -fs 20x10aber es handelt sich nicht um die "feste Schriftfamilie": de.wikipedia.org/wiki/Fixed_%28typeface%29 , enthält also keine internationalen Zeichen, die eine feste Schriftfamilie haben.
Ho1