Отображение шрифта Unicode в Xquartz Xterm
По какой-то причине я не могу заставить работать юникод-шрифты внутри xterm, когда запускаю его со вкладки приложений xquartz, как показано ниже:
Я попытался установить для команды xterm -u8, но шрифты по-прежнему отсутствуют. Однако, если я создаю новое окно xterm из текущего окна с xterm -u8
Новое окно правильно отображает шрифты.
Что дает?
1 ответ
Меню показывает
xterm -u8 -fa Mono -fs 9
и комментарий о запуске его из командной строки говорит
xterm -u8
Есть несколько возможностей:
Большинство шрифтов TrueType не являются шрифтами Unicode, а скорее ISO-8859-1 с несколькими символами вне этого набора. Вы можете увидеть покрытие, используя
xfd -fa Mono
без
-fa
опция, xterm по умолчанию использует растровые шрифты, которые могут иметь достаточно хорошее покрытие Unicode (в зависимости от того, что вы хотите).- ваш системный язык не может использовать кодировку UTF-8; если ваша оболочка устанавливает язык в своем скрипте инициализации, вы можете увидеть различия
- аналогично, если ваша оболочка устанавливает файлы ресурсов для файлов, отличных от системных, это может иметь значение.
Но, скорее всего, разница заключается в выборе шрифта. Например, на моем компьютере с OSX "Mono" отображается в xfd
как битовый поток Vera Sans Mono-12: style = Roman, который (см. Font Squirrel) имеет такой ограниченный охват.
Есть шрифты TrueType с хорошим покрытием (лучше, во всяком случае). Поскольку xterm не реализует наборы шрифтов, он показывает только один шрифт. Вот несколько интересных ссылок на тему TrueType против Unicode: