Skąd znasz poprawną nazwę dla czcionek X11 dla XTerm * faceName lub xterm -fa <NAZWA>?

17

Używam Mac OS X 10.8 i XQuartz 2.7.2. Pobrałem i umieściłem kilka czcionek TrueType o nazwie *.ttfw moim /Users/<name>/.fontskatalogu. Po uruchomieniu XQuartz fonts.dirpowstaje kilka plików, w tym . Ten plik ma nazwy czcionek X11 różnych kodowań itp. Dla każdej zainstalowanej czcionki.

Mój problem jest, że nie zawsze „postać z” poprawną nazwę do wykorzystania w xterm -fa <NAME>lub w moim .Xresources XTerm*faceNamewpisu. W przypadku niektórych czcionek podstawowa nazwa czcionki wymieniona w szczegółowej nazwie czcionki X11 w fonts.dirpliku działa, a w przypadku innych nie.

Jason Waldrop
źródło
1
Jeśli to pomaga: strona podręcznika FreeBSD 10.2 dla xterm (1) zawiera informacje na -fatemat zasobu faceName .
Graham Perrin,

Odpowiedzi:

23

Następująca linijka często bardzo mi pomogła znaleźć prawidłową nazwę czcionki:

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

Zwłaszcza w przypadku japońskich czcionek, takich jak „IPAX0208Mincho”, nigdy nie byłbym w stanie odgadnąć poprawnej nazwy. Jeśli nie przeszkadza ci trochę więcej pisania na klawiaturze, możesz nawet wolić

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

aby uzyskać wynik stronicowania.

błąd składni
źródło
5

Możesz użyć xfontsel, aby uzyskać właściwą nazwę:

$ xfontsel

wprowadź opis zdjęcia tutaj

Wybierz interesującą Cię czcionkę, a następnie kliknij przycisk „Wybierz”. Spowoduje to skopiowanie nazwy czcionki do schowka. Użyj tej nazwy, aby uruchomić Xterm. Na przykład:

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

Nie mogę zmusić go do działania w moim systemie (Linux) za pomocą „-fa”, ale działa „-font”.

terdon
źródło
1
Tak, wiedziałem, że mogę użyć xfontsel, aby uzyskać nazwę czcionki X11 i użyć xterm -font, aby ją wybrać. Dziwne jest to, że w przypadku niektórych czcionek mogę używać xterm -fa <prosta nazwa czcionki> i działa dobrze na innych czcionkach, ale nie działa. Myślę, że musisz mieć bardzo specyficzną pisownię <prostej nazwy czcionki>, ponieważ jeśli wezmę czcionkę, w której ona działa, i zmienię jedną literę, przestanie ona działać. Zatem moim podstawowym pytaniem jest, w jaki sposób systematycznie określasz „poprawną” <prostą nazwę czcionki> tak, aby działała xterm -fa.
Jason Waldrop,
@JasonWaldrop Ah. W takim razie jestem zakłopotany.
terdon
Jeśli to pomaga (ze strony podręcznika): „… chociaż xfd akceptuje opcję„ -fa ”w celu oznaczenia czcionek FreeType), xfontsel nie został podobnie rozszerzony…”
Graham Perrin
@JasonWaldrop możesz być zainteresowany powyższym komentarzem.
terdon
0

Jeśli użyjesz FontBook do załadowania czcionki, wyświetli się poprawna nazwa do użycia xterm -fa.

Jason Waldrop
źródło
0

Brakuje wpisów w fonts.aliaspliku:

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

Plik ten udostępnia krótkie nazwy („aliasy”) dla zainstalowanych czcionek X Window. Kiedy próbujesz użyć krótkiej nazwy, której nie ma w pliku, podczas uruchamiania xterm pojawia się takie zachowanie:

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

(Xterm pojawia się i działa z domyślną, inną czcionką)

fonts.aliasPlik istnieje z powodu dłuższej długości nazw czcionek X11. Na przykład courr12 to krótka nazwa:

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

[Długie nazwy to w rzeczywistości 14 różnych pól edytowalnych połączonych z myślnikami / myślnikami. Uruchom program xfontsel, aby je zobaczyć; zacznie się od wszystkich pól oznaczonych gwiazdką, co oznacza, że ​​nie jest ustawiony na coś konkretnego.]

Każda linia w pliku zaczyna się od krótkiej nazwy (aliasu), spacji, a następnie długiej nazwy, na którą wskazuje / odnosi się. W ten sposób nie musisz cały czas używać długiej nazwy, po prostu skonfiguruj alias i użyj go. Umieszczając nowy wiersz w pliku, decydujesz, jaka będzie krótka nazwa, tylko pełna nazwa X11 musi mieć zainstalowany plik czcionek w systemie.

Kiedy po raz pierwszy wyciąłem zęby na systemach uniksowych w latach 90., natknąłem się na courr12, a później zacząłem pożądać czcionki (Courier „Roman” rozmiar 12) dla moich xterms. W systemach HP / UX i Solaris fonts.aliasplik już miał courr12, więc mogłem po prostu umieścić "XTerm*font: courr12"mój .Xdefaultsplik i wszystko działałoby dobrze.

użytkownik855923
źródło