Как узнать правильное имя для шрифтов X11 для XTerm * faceName или xterm -fa <NAME>?

17

Я использую Mac OS X 10.8 и XQuartz 2.7.2. Я скачал и поместил несколько шрифтов TrueType, названных *.ttfв моем /Users/<name>/.fontsкаталоге. После запуска XQuartz fonts.dirсоздается несколько файлов, в том числе . Этот файл содержит названия шрифтов X11 различных кодировок и т. Д. Для каждого установленного мной шрифта.

Моя проблема в том, что я не всегда могу «найти» правильное имя для использования в xterm -fa <NAME>или в моей .Xresources XTerm*faceNameзаписи. Для некоторых шрифтов имя основного шрифта, указанное в подробном названии шрифта X11 в fonts.dirфайле, работает, а для других - нет.

Джейсон Уолдроп
источник
1
Если это поможет: страница руководства FreeBSD 10.2 для xterm (1) содержит информацию о ресурсе faceName-fa и о нем .
Грэм Перрин

Ответы:

23

Следующие строки часто помогли мне найти правильное имя шрифта:

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

Особенно с такими японскими шрифтами, как «IPAX0208Mincho», я бы никогда не смог угадать правильное имя. Если вы не против немного больше печатать, вы можете даже предпочесть

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

чтобы получить постраничный вывод.

ошибка синтаксиса
источник
5

Вы можете использовать xfontsel, чтобы получить правильное имя:

$ xfontsel

введите описание изображения здесь

Выберите интересующий вас шрифт и нажмите кнопку «Выбрать». Это скопирует имя шрифта в буфер обмена. Используйте это имя для запуска xterm. Например:

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

Не могу заставить его работать в моей системе (linux), используя "-fa", но "-font" работает.

terdon
источник
1
Да, я знал, что нужно использовать xfontsel для получения имени шрифта X11 и использовать xterm -font для его выбора. Что странно, так это то, что для некоторых шрифтов я могу использовать xterm -fa <имя простого шрифта>, а на других шрифтах он работает нормально. Я думаю, у вас должно быть очень точное написание <простого имени шрифта>, потому что, если я возьму шрифт, где он работает, и поменяю одну букву, он больше не будет работать. Итак, мой основной вопрос: как вы систематически определяете «правильное» <простое имя шрифта> так, чтобы xterm -fa работал.
Джейсон Уолдроп
@JasonWaldrop Ах. В таком случае я в тупике.
тердон
Если это помогает (со страницы руководства): «… хотя xfd принимает опцию« -fa »для обозначения шрифтов FreeType), xfontsel не был расширен аналогичным образом…»
Грэм Перрин
@JasonWaldrop Вас может заинтересовать комментарий выше.
Тердон
0

Если вы используете FontBook для загрузки шрифта, он отобразит правильное имя для использования xterm -fa.

Джейсон Уолдроп
источник
0

Чего не хватает, так это записей в fonts.aliasфайле:

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

Этот файл предоставляет короткие имена («псевдонимы») для установленных шрифтов X Window. Когда вы пытаетесь использовать короткое имя, которого нет в файле, вы получаете такое поведение при запуске xterm:

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

(Xterm подходит и запускается с другим шрифтом по умолчанию)

fonts.aliasФайл существует из - за большой длины имен шрифтов X11. Например, courr12 - это короткое имя для:

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

[Длинные имена на самом деле представляют собой 14 различных редактируемых полей, сшитых вместе с тире / дефисами. Запустите программу xfontsel, чтобы увидеть их; он будет начинаться со всех полей, отмеченных звездочкой, что означает, что для него не задано что-то конкретное.]

Каждая строка в файле начинается с короткого имени (псевдонима), пробела, затем длинного имени, на которое он указывает / ссылается. Таким образом, вам не нужно постоянно использовать длинное имя, просто установите псевдоним и используйте его. Добавляя новую строку в файл, вы решаете, какое короткое имя будет иметь, только файл полного имени X11 должен иметь установленный файл шрифтов в системе.

Когда я впервые порезался о зубах в системах Unix в 1990-х годах, я наткнулся на courr12 и позже захотел использовать шрифт (12-й вариант Courier) для моих xterms. На HP / UX и Solaris fonts.aliasфайл уже был courr12, так что я мог просто вставить "XTerm*font: courr12"свой .Xdefaultsфайл, и все будет работать нормально.

user855923
источник