Как установить шрифт XTerm Unicode?

Как установить шрифт XTerm Unicode?

Могу ли я добавить дополнительный шрифт в свой .Xresources, чтобы, если в шрифте по умолчанию нет некоторых символов Unicode, дополнительный шрифт мог их отобразить?

решение1

Да. Существует семь размеров шрифта, как видно по значку Ctrl+ MouseRightButtonв XTerm.Их можно задать в .Xresources.

  • font= По умолчанию
  • font1= Нечитаемо
  • font2= Крошечный
    ...
  • font6= Огромный

Таким образом, вы можете установить значение по умолчанию font, которое пропускает некоторые символы Unicode. Если вам их не хватает, измените шрифт на поддерживающий их, например, Tiny. Этот .Xresourcesфайл делает это:

XTerm*font:  -*-courier 10 pitch-medium-r-*-*-*-*-*-*-*-*-ascii-*
XTerm*font2: -*-fixed-medium-r-*-*-15-*-*-*-*-*-iso10646-*

решение2

xterm имеет два набора растровых шрифтов:

Файлы приложений по умолчаниюXTermиUXTermесть оба варианта, но в последнем случае эти шрифты Unicode отсутствуют внутриutf8Шрифтыслой. Вот содержимое XTermфайла app-defaults:

*VT100.utf8Fonts.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
*VT100.utf8Fonts.font:  -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
*VT100.utf8Fonts.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
*VT100.utf8Fonts.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
*VT100.utf8Fonts.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
*VT100.utf8Fonts.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1

а вот содержимое файла UXTermapp-defaults:

*VT100.font2:   -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
*VT100.font:    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
*VT100.font3:   -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
*VT100.font4:   -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
*VT100.font5:   -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
*VT100.font6:   -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1

Просто читаюXTermфайл app-defaults, большинство пользователей не заметят, что шрифты, не являющиеся шрифтами UTF-8, представленные здесь, выглядятчто-нибудьнапример шрифты UTF-8:

*VT100.font1:       nil2
*IconFont:      nil2
*fontMenu*font2*Label:  Tiny
*VT100.font2:       5x7
*fontMenu*font3*Label:  Small
*VT100.font3:       6x10
*fontMenu*font4*Label:  Medium
*VT100.font4:       7x13
*fontMenu*font5*Label:  Large
*VT100.font5:       9x15
*fontMenu*font6*Label:  Huge
*VT100.font6:       10x20

Эти короткие имена (как подробно описано вxterm не может загрузить шрифт) псевдонимы для шрифтов ISO-8859-1, которые (что неудивительно, учитывая историю UTF-8) выглядят так же, как шрифты UTF-8. Но у них всего 192 символа (256 - 64 управляющих символа), тогда как у растровых шрифтов UTF-8 их тысячи.

Существует более одного файла app-defaults, поскольку это показалось более простым решением, чемutf8FontsРасположение.uxtermскрипт выбирает последний при запуске с помощью-сортопция, но, как описано на странице руководства, xterm автоматически выберет utf8Fonts при запуске на основе настроек локали.

xterm имеет пункты меню дляКодировка UTF-8иШрифты UTF-8. Если ваша локаль использует кодировку UTF-8 (и еслиlocaleресурс использует значение по умолчанию), то xterm предварительно выбирает эти пункты меню и отключает их изменение. Если локаль не использует кодировку UTF-8, вы можете изменить эти пункты меню и увидеть полученные различия.

Вы можете указать в своих ресурсах X, какой файл использовать, добавив к ресурсам префиксXTermилиUXTerm, соответственно.

В то время как можно было бы сделатьнаборы шрифтовс использованием растровых шрифтов, что позволило бы сделать то, о чем говорится в вопросе:

Могу ли я добавить дополнительный шрифт в свой .Xresources, чтобы, если в шрифте по умолчанию нет некоторых символов Unicode, дополнительный шрифт мог их отобразить?

xterm использует только один из этих bitmap-шрифтов за раз (вместе с автоматическим использованием жирных и курсивных версий). В библиотеках X есть функция font-set, но она имеет серьезные проблемы с производительностью и никогда широко не использовалась. В xterm она рассматривается как помеха (см.менюLocaleресурс).

Помимо растровых шрифтов, xterm также поддерживает шрифты TrueType и автоматически ищет шрифты, необходимые для заполнения отсутствующих глифов из семейства, указанного с помощью-faвариант. В зависимости от вашего расположения fontconfig вы можете получить работоспособное покрытие из шрифтов TrueType (с оговоркой, что некоторые из них имеют неправильный размер).

Связанный контент