Woher kennen Sie den richtigen Namen für X11-Schriftarten für XTerm * faceName oder xterm -fa <NAME>?

17

Ich verwende Mac OS X 10.8 und XQuartz 2.7.2. Ich habe mehrere TrueType-Schriftarten heruntergeladen und *.ttfin meinem /Users/<name>/.fontsVerzeichnis abgelegt . Beim Ausführen von XQuartz werden mehrere Dateien einschließlich fonts.direrstellt. Diese Datei enthält X11-Schriftnamen mit verschiedenen Codierungen usw. für jede von mir installierte Schriftart.

Mein Problem ist, dass ich nicht immer den richtigen Namen "herausfinden" kann, der in xterm -fa <NAME>oder in meinem .Xresources XTerm*faceNameEintrag verwendet werden soll. Bei einigen Schriftarten fonts.dirfunktioniert der Name der Kernschriftart, wie er im detaillierten X11-Schriftartnamen in der Datei aufgeführt ist, bei anderen nicht.

Jason Waldrop
quelle
1
Wenn es hilft: Die FreeBSD 10.2-Handbuchseite für xterm (1) enthält Informationen zu -faund die faceName- Ressource.
Graham Perrin

Antworten:

23

Der folgende Einzeiler hat mir oft sehr geholfen, den richtigen Schriftnamen zu finden:

$ fc-list | cut -f2 -d: | sort -u

Insbesondere bei japanischen Schriftarten wie 'IPAX0208Mincho' hätte ich nie den richtigen Namen erraten können. Wenn es Ihnen nichts ausmacht, etwas mehr zu tippen, ziehen Sie es vielleicht sogar vor

$ fc-list | cut -f2 -d: | sort -u | less -r

um eine ausgelagerte Ausgabe zu erhalten.

Syntax-Fehler
quelle
5

Sie können xfontsel verwenden, um den richtigen Namen zu erhalten:

$ xfontsel

Geben Sie hier die Bildbeschreibung ein

Wählen Sie die Schriftart, die Sie interessiert, und klicken Sie dann auf die Schaltfläche "Auswählen". Dadurch wird der Schriftname in die Zwischenablage kopiert. Verwenden Sie diesen Namen, um xterm auszuführen. Z.B:

$ xterm -font -adobe-helvetica-*-r-normal-*-12-120-*-*-*-*-*-*

Ich kann es auf meinem System (Linux) nicht mit "-fa" zum Laufen bringen, aber "-font" funktioniert.

Terdon
quelle
1
Ja, ich wusste, dass ich xfontsel verwenden musste, um den X11-Schriftnamen zu erhalten, und xterm -font, um ihn auszuwählen. Was seltsam ist, ist, dass ich für einige Schriftarten xterm -fa <einfacher Schriftartname> verwenden kann und es bei anderen Schriftarten gut funktioniert, wenn dies nicht der Fall ist. Ich denke, Sie müssen eine sehr spezifische Schreibweise des <einfachen Schriftartnamens> haben, denn wenn ich eine Schriftart nehme, in der sie funktioniert, und einen Buchstaben ändere, funktioniert sie nicht mehr. Meine grundlegende Frage ist also, wie Sie systematisch den "richtigen" <einfachen Schriftnamen> ermitteln, damit xterm -fa funktioniert.
Jason Waldrop
@ JasonWaldrop Ah. In diesem Fall bin ich ratlos.
Terdon
Wenn es hilft (von der Manpage): "... obwohl xfd eine" -fa "-Option akzeptiert, um FreeType-Schriftarten zu kennzeichnen), wurde xfontsel nicht ähnlich erweitert ..."
Graham Perrin
@ JasonWaldrop Sie könnten an dem obigen Kommentar interessiert sein.
Terdon
0

Wenn Sie die Schriftart mit FontBook laden, wird der richtige Name angezeigt xterm -fa.

Jason Waldrop
quelle
0

Was fehlt, sind Einträge in der fonts.aliasDatei:

/usr/share/X11/fonts/75dpi/fonts.alias

Diese Datei enthält Kurznamen ("Aliase") für installierte X Window-Schriftarten. Wenn Sie versuchen, einen Kurznamen zu verwenden, der nicht in der Datei enthalten ist, wird beim Starten von xterm das folgende Verhalten angezeigt:

lansdale:~> xterm -xrm \*font:courr12
xterm: cannot load font "courr12"

(Das xterm wird mit einer anderen Standardschriftart ausgeführt.)

Die fonts.aliasDatei existiert aufgrund der langen Länge der X11-Schriftnamen. Zum Beispiel ist courr12 der Kurzname für:

-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1

[Die langen Namen sind eigentlich 14 verschiedene bearbeitbare Felder, die mit Bindestrichen / Bindestrichen zusammengefügt sind. Führen Sie das Programm xfontsel aus, um sie anzuzeigen. Es beginnt mit allen Feldern, die mit einem Sternchen angezeigt werden, was bedeutet, dass sie nicht auf etwas Bestimmtes festgelegt sind.]

Jede Zeile in der Datei beginnt mit einem kurzen Namen (einem Alias), einem Leerzeichen und dem langen Namen, auf den sie verweist. Auf diese Weise müssen Sie nicht immer den langen Namen verwenden, sondern nur einen Alias ​​einrichten und diesen verwenden. Wenn Sie eine neue Zeile in die Datei einfügen, entscheiden Sie, wie der Kurzname lauten soll. Nur für den vollständigen X11-Namen muss eine Schriftartdatei auf dem System installiert sein.

Als ich in den 1990er Jahren zum ersten Mal auf Unix-Systemen meine Zähne geschnitten habe, bin ich auf courr12 gestoßen und habe später die Schriftart (Courier 'Roman' Größe 12) für meine xterms gewünscht. Unter HP / UX und Solaris hatte die fonts.aliasDatei bereits courr12, so dass ich einfach "XTerm*font: courr12"meine .XdefaultsDatei einfügen konnte und alles gut funktionieren würde.

user855923
quelle