Определите используемые шрифты xterm и соответствующий пакет Cygwin? - PullRequest
1 голос
/ 24 января 2020

В течение десятилетий я кропотливо пробовал разные шрифты из разных семейств, чтобы получить хорошую прогрессию размеров для xterm. Шесть, которые я нашел хорошими в 2015 году, имеют префикс ~/.Xresources: ниже. Поскольку Windows 7 стал неподдерживаемым и ваш старый ноутбук был слишком изношен, чтобы перейти на Windows 10, я купил новый ноутбук и недавно установленный Cygwin X- windows. Ранее хорошие шрифты теперь генерируют ошибки с префиксом Error: ниже.

~/.Xresources: xterm*font:        -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
Error: None

~/.Xresources: xterm*font1:       -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
Error: xterm: cannot load font "-B&H-LucidaTypewriter-medium-R-*-*-11-80-100-100-M-140-ISO10646-1"

~/.Xresources: xterm*font2:     -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
Error: xterm: cannot load font "-Misc-Fixed-medium-R-*-*-13-120-75-75-C-140-ISO10646-1"

~/.Xresources: xterm*font3:     -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
Error: xterm: cannot load font "-Misc-Fixed-medium-R-*-*-13-120-75-75-C-160-ISO10646-1"

~/.Xresources: xterm*font4:       -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
Error: xterm: cannot load font "-B&H-LucidaTypewriter-medium-R-*-*-14-140-75-75-M-180-ISO10646-1"

~/.Xresources: xterm*font5:    -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
Error: None

~/.Xresources: xterm*font6:     -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
Error: xterm: cannot load font "-Misc-Fixed-medium-R-*-*-20-200-75-75-C-200-ISO10646-1"

Other lines in ~/.Xresources
----------------------------
xterm*toolBar:  false
xterm*background:       rgb:00/00/66
xterm*foreground:       White

Несмотря на ошибки, возникающие при выборе некоторых из вышеперечисленных шрифтов, xterm по-прежнему переключает шрифты, и я считаю, что шрифты хорошо. Я предполагаю, что он выбирает какой-то шрифт с очень близкой спецификацией.

Если так, как я могу найти полную спецификацию для используемого шрифта? Я хочу использовать их в ~/.Xresources.

Если нет, то что происходит, когда я получаю сообщение об ошибке, и кажется, что шрифт все еще переключается?

Наконец, после того, как я определил шрифты, на которые переключаются, существует ли эффективный способ найти пакет Cygwin, который их содержит?

Обратите внимание, что следующее просто повторяет информация в моих ~ / .Xresources вместо отображения фактически используемых шрифтов (при условии, что они отличаются от ~/.Xresources из-за ошибок):

appres XTerm xterm | grep -w xterm | grep font | sort
xrdb -query | grep -w xterm | grep font | sort

Устранение неполадок с помощью xterm -report-fonts

Томас Дики предложил xterm -report-fonts, который сообщает загруженные шрифты в stdout:

Loaded VTFonts(default)
   fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
   fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
   fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
   fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
Loaded VTFonts(default)
   fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
   fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
   fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
   fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1

Loaded VTFonts(default)
   fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
   fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
   fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
   fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
Loaded VTFonts(font1)
   fNorm: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
   fBold: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
   fWide: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
   fWBold: -*-lucidatypewriter-medium-r-*-*-11-*-*-*-*-*-*-*
Loaded VTFonts(font2)
   fNorm: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
   fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-70-ISO8859-1
   fWide: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
   fWBold: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
Loaded VTFonts(font3)
   fNorm: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
   fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-80-ISO8859-1
   fWide: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
   fWBold: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
Loaded VTFonts(font4)
   fNorm: -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
   fBold: -B&H-LucidaTypewriter-bold-R-*-*-14-140-75-75-M-90-ISO8859-1
   fWide: -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
   fWBold: -*-lucidatypewriter-medium-r-*-*-14-*-*-*-*-*-*-*
Loaded VTFonts(font5)
   fNorm: -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
   fBold: -B&H-LucidaTypewriter-bold-R-*-*-14-140-75-75-M-90-ISO8859-1
   fWide: -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
   fWBold: -b&h-lucidatypewriter-bold-r-normal-sans-14-*-*-*-m-*-*-*
Loaded VTFonts(font6)
   fNorm: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
   fBold: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
   fWide: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
   fWBold: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1

Loaded VTFonts(default)
   fNorm: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
   fBold: -Misc-Fixed-bold-R-*-*-13-120-75-75-C-60-ISO8859-1
   fWide: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1
   fWBold: -Misc-Fixed-medium-R-*-*-13-120-75-75-C-120-ISO10646-1

Я добавил пустые строки, чтобы отделить избыточные отчеты VTFonts(default) от центрально расположенный основной корпус выхода. Я также удалил все подробные параметры, связанные с каждым X логическим описанием шрифта (XLFD).

Кажется, что происходит, что каждый раз, когда я выбираю xterm шрифт VTFonts (шрифт i ) , где шрифт i зависит от выбранного шрифта (либо default или font1 - font6), xterm сообщает 4 варианта шрифта для шрифта. Варианты шрифтов имеют названия fNorm, fBold, fWide и fWBold.

  • Для всех xterm шрифтов вариант fNorm всегда соответствует XLFD в ~/.Xresources.

  • Вариации fWide и fWBold соответствуют fNorm для всех xterm шрифтов, кроме default

  • Вариация fWBold отличается от fNorm для всех xterm шрифтов, кроме font1 и font6

  • Выбор xterm шрифта i создает ошибка о невозможности загрузить явно связанный шрифт, где i - это один из 1, 2, 3, 4, 6. Это ошибки, о которых сообщалось в исходном вопросе. XLFD связанного шрифта не соответствует ни одному из вариантов шрифта (fNorm, fBold, fWide, fWBold)

Из этих наблюдений кажется, что первоначально размещенный XLFD ошибки могут быть не связаны со шрифтами ~/.Xresources. Файлы XLFD также не соответствуют ни одному из вариантов шрифтов, сообщенных xterm. Не зная достаточно того, что происходит под капотом, я могу подумать, что xterm может попытаться загрузить некоторые из XLFD в сообщениях об ошибках и, будучи не в состоянии, установит XLFD, о которых сообщается с помощью xterm -report-fonts.

Мне просто странно, что я сталкиваюсь с таким поведением. В течение десятилетий у меня никогда не было сообщений об ошибках в XLFD, которые я не указывал. Возможно, X11 эволюционировал для поиска XLFD, связанных с теми, что я указал.

Ответы [ 2 ]

1 голос
/ 26 января 2020
Опция

xterm -report-fonts показывает подробности об используемом шрифте.

Есть скрипт find-xterm-fonts (который знает о пакетах Debian и RPM) это может показать имена пакетов, используемых для шрифтов (см. пример ). В некотором роде Cygwin пренебрегает пакетными инструментами командной строки, которые упрощают использование этой функции. Вы можете изменить скрипт, чтобы он работал с cygcheck, например, используя опцию -f:

   -f, --find-package   find the package to which FILE belongs

Сценарий пытается сообщить о пакете, содержащем файлы шрифтов, которые были найдены. Растровые шрифты находятся на компьютере, на котором работает X-сервер, поэтому, если вы запускаете / отображаете локально, скрипт может получить доступ ко всей необходимой информации.

0 голосов
/ 24 января 2020

Для Lucida я попробую xorg-x11-fonts-dpi100 и xorg-x11-fonts-dpi75

$ cygcheck -p lucida
Found 18 matches for lucida
font-bh-lucidatypewriter-dpi100-7.5-2 - font-bh-lucidatypewriter-dpi100: Obsolet
ed by xorg-x11-fonts-dpi100 (installed binaries and support files)
font-bh-lucidatypewriter-dpi100-7.5-3 - font-bh-lucidatypewriter-dpi100: Obsolet
ed by xorg-x11-fonts-dpi100 (installed binaries and support files)
font-bh-lucidatypewriter-dpi100-7.5-4 - font-bh-lucidatypewriter-dpi100: Obsolet
ed by xorg-x11-fonts-dpi100
font-bh-lucidatypewriter-dpi75-7.5-2 - font-bh-lucidatypewriter-dpi75: Obsoleted
 by xorg-x11-fonts-dpi75 (installed binaries and support files)
font-bh-lucidatypewriter-dpi75-7.5-3 - font-bh-lucidatypewriter-dpi75: Obsoleted
 by xorg-x11-fonts-dpi75 (installed binaries and support files)
font-bh-lucidatypewriter-dpi75-7.5-4 - font-bh-lucidatypewriter-dpi75: Obsoleted
 by xorg-x11-fonts-dpi75
texlive-collection-context-20170520-1 - texlive-collection-context: TeX Live con
text package collection
texlive-collection-context-20180414-1 - texlive-collection-context: TeX Live con
text package collection
texlive-collection-context-20190509-1 - texlive-collection-context: TeX Live con
text package collection
xorg-x11-fonts-dpi100-7.5-2 - xorg-x11-fonts-dpi100: X11 core fonts (installed b
inaries and support files)
xorg-x11-fonts-dpi100-7.5-3 - xorg-x11-fonts-dpi100: X11 core fonts (installed b
inaries and support files)
xorg-x11-fonts-dpi100-7.5-4 - xorg-x11-fonts-dpi100: X11 core fonts
xorg-x11-fonts-dpi75-7.5-2 - xorg-x11-fonts-dpi75: X11 core fonts (installed bin
aries and support files)
xorg-x11-fonts-dpi75-7.5-3 - xorg-x11-fonts-dpi75: X11 core fonts (installed bin
aries and support files)
xorg-x11-fonts-dpi75-7.5-4 - xorg-x11-fonts-dpi75: X11 core fonts
...

Для своих шрифтов Lucida я использую Windows шрифт

 $ fc-list.exe | grep -i lucida
/usr/share/fonts/microsoft/lucon.ttf: Lucida Console:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Navadno,Arrunta
/usr/share/fonts/microsoft/l_10646.ttf: Lucida Sans Unicode:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/microsoft/luconP.ttf: Lucida ConsoleP:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Navadno,Arrunta

Для фиксированного вы можете попробовать конечные шрифты или texlive-collection-fontsextra

$ cygcheck -p fixed| grep font | grep -v src
terminus-fonts-4.40-1 - terminus-fonts: Terminus fixed width font (installed binaries and support files)
...
texlive-collection-fontsextra-20170520-1 - texlive-collection-fontsextra: TeX Live fontsextra package collection
texlive-collection-fontsextra-20180414-1 - texlive-collection-fontsextra: TeX Live fontsextra package collection
texlive-collection-fontsextra-20190509-1 - texlive-collection-fontsextra: TeX Live fontsextra package collection
...