Ist es möglich, den vertikalen Zeilenabstand der Konsole (und anderer CLI-Apps) anzupassen?

Ist es möglich, den vertikalen Zeilenabstand der Konsole (und anderer CLI-Apps) anzupassen?

Ist es möglich, den vertikalen Zeilenabstand in der Konsole zu verringern?

Unter Einstellungen/Erweitert gibt es eine Option für den Zeilenabstand, aber dieser geht nur bis 0 und selbst bei 0 gibt es einen beträchtlichen Abstand zwischen den Zeilen (d. h. zu viel von dem, was in der Typografie allgemein alsführend, der vertikale Abstand zwischen den Textzeilen). Ich verwende die vertikal sehr konservative Schriftart Inconsolata, die im Vergleich zu Monospace beispielsweise nur einen minimalen vertikalen Abstand aufweist, aber selbst bei dieser Schriftart ist der Abstand zwischen den Zeilen bei der von mir verwendeten Punktgröße (13) immer noch viel zu groß.

Gibt es eine Möglichkeit, den vertikalen Zeilenabstand weiter zu reduzieren, ohne die Schriftart selbst zum Ausgleich bearbeiten zu müssen? Viele Editoren erlauben dies, aber ich kann keine Möglichkeit finden, dies in Konsole (unter Null) oder vielleicht in KDE allgemein als eine Art Systemeinstellung zu tun.

Antwort1

Für alle, die interessiert sind: Ich habe eine Möglichkeit gefunden, dies zu tun, aber es erfordert die Bearbeitung der Schriftart. Dies sollte Ihnen Stunden, wenn nicht Tage des Googelns und der Frustration ersparen, denn ich weiß, dass ich übermäßig viel Zeit damit verbracht habe, das alles herauszufinden. Bitte lassen Sie sich nicht von der Textwand der einzelnen Schritte entmutigen. Der gesamte Prozess dauert buchstäblichweniger als fünf Minuten. Ich habe mir gerade große Mühe gegeben, es vollständig zu erklären, so dass es fünf Minuten dauern kann :) und es gibtso wenig Zweideutigkeit wie möglichhinsichtlich dessen, was zu tun ist und in welcher Reihenfolge.

So können Sie den vertikalen Zeilenabstand in allen Linux-GUI-Apps nach Herzenslust anpassen:

  1. Laden Sie FontForge herunter und installieren Sie es (das Paket sollte fontforgemit yum, apt-get, dnf, oder dem von Ihnen verwendeten Paketmanager aufgerufen werden). Es ist auch auf GitHub verfügbar, wenn Sie die Dinge lieber manuell erledigen möchten:GitHub-Installationsdetails
  2. Öffnen Sie die Schriftart, die Sie ändern möchten (in meinem Fall Inconsolata). Hinweis: Bevor Sie eine Schriftart ändern oder sogar eine neue Schriftart erstellen, was ich dringend empfehle, kopieren Sie die alte(n) von /usr/share/fonts/...nach ~/.local/share/fontsund nehmen Sie alle Änderungen (oder das Hinzufügen neuer Schriftarten) in Ihrem lokalen fontsVerzeichnis vor, für das Sie als Bonus Schreibrechte haben, ohne dass Sie Root-Zugriff (auf ) benötigen /usr/share/fonts.
  3. OK, zurück zu FontForge, das Sie fontforgenach der Installation als: ausführen können. Öffnen Sie zunächst die Schriftart aus dem .local/share/fontsVerzeichnis, in das Sie die Originalschriftart kopiert haben. Geben Sie einfach ein .local/share/fonts, vorausgesetzt, Sie haben FontForge aus Ihrem Home-Verzeichnis gestartet, und Sie werden in dieses Verzeichnis weitergeleitet. Beachten Sie, dass FontForge das Zeichen anstelle Ihres Home-Verzeichnisses nicht mag. ~Verwenden Sie daher relative oder absolute Pfade, aber nicht ~beim Öffnen der Schriftartdatei. Wenn Sie dort ein Unterverzeichnis für Ihre Schriftart haben, klicken Sie einfach darauf, um es zu öffnen, und wählen Sie schließlich die Schriftart selbst aus und öffnen Sie sie. Bevor wir etwas anderes ändern, sollten wir die Schriftart umbenennen. Wählen Sie im Menü Element/Schriftartinfo..., um das Font InformationDialogfeld zu öffnen. Gehen Sie zur Kategorie Allgemein auf der linken Seite und ändern Sie den Namen der Schriftart, indem Sie ein Suffix dahinter setzen (z. B. habe ich Inconsolata in InconsolataDense80 geändert, um anzuzeigen, dass ich den vertikalen Zeilenabstand (d. h. den Zeilenabstand) auf 80 Prozent seines aktuellen Werts reduzieren werde). Stellen Sie sicher, dass Sie diese Änderung dreimal für jedes der Felder Schriftname, Familienname und Name für Menschen vornehmen.
  4. Wählen Sie als Nächstes links die Kategorie „OS/2“ aus (wer hätte das gedacht???) und wählen Sie dann oben die Registerkarte „Metriken“ aus.
  5. Wir werden die HHead Ascent- und Descent-Werte ändern, die einzigen beiden Werte, die den vertikalen Abstand unter Linux beeinflussen. Viel Glück dabei, dies selbst herauszufinden. Ich habe ewig gebraucht, um diese sprichwörtlichen Nadeln im Heuhaufen, Rohdiamanten, Ihre Analogie der Wahl zu finden :) !
  6. Notieren Sie unbedingt die aktuellen Werte, bevor Sie Änderungen vornehmen.
  7. Um nun den vertikalen Abstand zu ändern, müssen wir die beiden Werte mit einem Faktor multiplizieren, der davon abhängt, um wie viel Sie den vertikalen Abstand reduzieren möchten (ich habe 80 % der aktuellen Werte verwendet). In 99 % aller Fälle möchten Sie wahrscheinlich für beide den gleichen Faktor verwenden. Wenn das nicht funktioniert oder Anzeigeartefakte verursacht, können Sie später als allerletzte Möglichkeit verschiedene Faktoren verwenden, um die einzelnen Werte fein abzustimmen. Artefakte können auch bedeuten, dass Sie die Werte zu stark reduziert haben, und mit Reduzieren meine ich, dass sie sich in Richtung Null bewegen (d. h. ihre Größenordnungen, ihre absoluten Werte reduzieren, da der HHead Descent negativ sein kann, sodass Sie ihn tatsächlich im numerischen Sinne erhöhen, wenn Sie ihn mit einem positiven prozentualen Skalierungsfaktor multiplizieren).
  8. Stellen Sie den HHead-Aufstieg und -Abstieg jeweils auf die Werte ein, die Sie in Schritt 7 berechnet haben (z. B. sind 80 % der vorherigen Werte ein guter Anfang).
  9. Wir sind mit dem Dialog „Schriftinformationen“ fertig. Klicken wir also auf die Schaltfläche „OK“
    1. Speichern wir an dieser Stelle unsere Schriftart als SDF-Datei. Wählen Sie dazu „Datei/Speichern unter …“. Der neue Name der Schriftart, den Sie zuvor festgelegt haben, sollte sich dann merken.
    2. Um unsere Änderungen anzuwenden, müssen wir die Schriftart nun (neu) generieren. Wählen Sie im FontForge-Menü Schriftart/Schriftarten generieren... aus. Wenn Sie mit einer TrueType-Schriftart arbeiten, stellen Sie sicher, dass TrueType unter dem Dateinamen der Schriftart ausgewählt ist. Klicken Sie dann auf die Schaltfläche Generieren. Möglicherweise werden verschiedene Fehler angezeigt, die Sie ignorieren können. Klicken Sie in diesem Dialogfeld auf die Schaltfläche Generieren, wenn dies der Fall ist, um mit der Schriftartgenerierung fortzufahren.
    3. Sie können jetzt loslegen, müssen aber den Schriftart-Cache zurücksetzen. Geben Sie dazu ein: fc-cache -v -r.
    4. Öffnen Sie ein neues Konsolenfenster (die neue Schriftart oder möglicherweise sogar Änderungen an einer vorhandenen Schriftart werden in bereits geöffneten Fenstern nicht angezeigt).
    5. Wählen Sie die neue Schriftart aus, indem Sie zu „Einstellungen/Aktuelles Profil bearbeiten“ gehen und die Registerkarte „Darstellung“ auswählen. Die Optionen zur Schriftartauswahl finden Sie auf der Einstellungsseite. Klicken Sie auf „Schriftart auswählen...“ und Sie sollten Ihre neue Schriftart aufgelistet sehen und sie auswählen können. Die Änderung wird sofort wirksam, nachdem Sie auf „OK“ geklickt haben.
    6. Herzlichen Glückwunsch, Sie sind fertig! Wenn die Linien immer noch zu weit auseinander oder zu nah beieinander liegen, gehen Sie zurück zu Schritt 7 und optimieren Sie die HHead Ascent/Descent-Werte auf ein anderes Vielfaches ihrer Originale. Vergessen Sie nicht, (alle drei) der Schriftnamenwerte so zu ändern, dass sie den Prozentsatz beschreiben, mit dem Sie multiplizieren, damit Sie später darauf zurückgreifen können. Speichern Sie die Schriftart dann unbedingt unter einem neuen Dateinamen (und generieren Sie sie auch als neue Schriftart unter dem neuen Namen). Vergessen Sie schließlich nicht, den Schriftartcache zu aktualisieren und ein neues Fenster zu öffnen, um die Effekte anzuzeigen.

Normalerweise führe ich ein „ ls -loder ls -lR“ aus, bevor ich die Schriftart in Konsole ändere, damit ich die Auswirkung auf den Zeilenabstand zwischen den aufgelisteten Dateinamen sehen kann. Es ist eine gute Idee, Dateinamen zu haben, die Oberlängen (wie l) und Unterlängen (wie „y“) verwenden, die über/untereinander liegen, damit Sie sicherstellen können, dass die Zeilen nicht zu nah beieinander liegen und dass sich Ober- und Unterlängen nicht überschneiden. Sie können dies ganz einfach tun, indem Sie drei Dateien erstellen: „agjpqy“, „mbdfijlt“ und „zgjpqy“. Der erste Buchstabe der Dateinamen dient nur dazu, die Dateien wie erwartet alphabetisch zu sortieren. Der Rest der Buchstaben enthält Oberlängen, Unterlängen oder beides. Sie können sehen, ob sie sich überschneiden, und den vertikalen Abstand der Schriftart entsprechend anpassen, wie es Ihnen subjektiv gefällt (erinnert mich an die Geschichte von Goldlöckchen und den drei Bären).

Ich hoffe, das hilft Ihnen und erspart Ihnen sprichwörtlich jede Menge Zeit und Frust. Benutzer mit Zwangsstörungen werden das am meisten zu schätzen wissen!

verwandte Informationen