После нескольких лет счастливого использования различных эмуляторов терминала, таких как Konsole , Gnome-TERMINAL и, в последнее время, XFCE Terminal, в соответствующих средах рабочего стола, я решил использовать старый добрый xterm с его растровыми шрифтами . Он работает просто отлично, поддерживает Unicode, а семейство фиксированных шрифтов по умолчанию содержит символы практически всех языков, и это здорово.
Но я столкнулся с важной проблемой. Шрифты действительно маленькие. Даже так называемый Огромный размер (который является растровым шрифтом 10x20) очень мал для меня и непригоден для использования.
Моя настройка по умолчанию для среды XFCE - 120 точек на дюйм, но с xpdyinfo
разрешением 97x97 DPI
$ xdpyinfo |grep resolution
resolution: 97x97 dots per inch
Поэтому я попытался изменить DPI xrandr
, но это не помогло.
$ xrandr --dpi 120
Результат вроде бы применяется
$ xdpyinfo | grep resolution
resolution: 120x120 dots per inch
но это никак не меняет разрешение xterm
. Я даже пытался использовать масштабирование, но оно затронуло весь X, а не одно приложение:
$ xrandr --output LVDS1 --scale 0.5x0.5
Есть обходные пути для Qt и Gtk , но что Xlib
-приложения нравятся Xterm
, Xcalc
, Xman
, Xfige
и т.д.? Должны ли мы смотреть, как они исчезают, поскольку DPI дисплея увеличивается? Пожалуйста, помогите, если вы знаете какие-либо обходные пути.
Это то, что я сделал, и это сработало, но я не смог использовать исходное «семейство фиксированных шрифтов», поэтому теперь оно может работать только для некоторых языков.
PS1: я установил 100 DPI шрифтов для X, но я не мог их использовать
$ sudo apt-get install xfonts-100dpi
PS2: Fontforge
который также использует Xlib
, использует хорошую тему и нормальный размер шрифта. Я не знаю, как это происходит.
PS3: я тестирую otf2bdf
и bdftopcf
использую для создания экспериментальных PCF
растровых шрифтов для HIDPI из векторных TTF/OTF
шрифтов.
PS4: После установки шрифтов 100DPI это было хорошо, хотя в нем отсутствует отличная языковая поддержка fixed
шрифта по умолчанию .
$ xterm -font -Adobe-Courier-Bold-r-Normal-*-34-*-100-100-*-*-*-*
Я использовал fontsel
. Это действительно полезно.
PS5: это тоже полезно.
PS6: я смог бы создать растровый шрифт 120DPI из Courier New с 20pt
$ otf2bdf -p 20 -r 120 cour.ttf > cour.bdf
$ bdftopcf cour.bdf | gzip - > cour.pcf.gz
$ sudo cp cour.pcf.gz /usr/share/fonts/X11/misc/
$ fc-cache
$ xterm -font -*-*-*-*-*-*-*-*-120-120-*-*-*-*
PS7: 75 DPI жестко закодирован шрифтом BDF. Может быть, изменение это поможет.
PS8: vncdesk - хороший инструмент для масштабирования одного окна .
Xft.dpi: 120
в~/.Xresources
не работает?xrdb -query | grep dpi
уже сообщает:Xft.dpi: 120
~/.Xresources
файл или~/.Xdefaults
, или б / е подходит в вашей системе? Ссылка, на которую вы указали, и которую вы назвали полезной, не является всеобъемлющим набором опций, доступных для xterm. Например,Xft.lcdfilter: lcddefault
Xft.antialias: true
Xft.hinting: true
Xft.hintstyle: hintslight
и многое другое.xterm
также поддерживает шрифты TrueType.xterm -fa 'DejaVu Sans Mono' -fs 40
(хотя не переключаться между шрифтами, когда глифы недоступны, как некоторые другие эмуляторы терминала)Ответы:
Вы сами подсказали ответ, сославшись на https://en.wikipedia.org/wiki/Fixed_(typeface).
Это стандартный фиксированный растровый шрифт, который был расширен Маркусом Куном, чтобы иметь довольно полный набор символов. Вопрос в том, как масштабировать растровое изображение .
До сих пор вы добились масштабирования векторного шрифта и преобразования его в растровое изображение (ttf → bdf → pcf) . Это хорошая стратегия, но, как вы упоминаете, ей не хватает языковой поддержки. Это кажется странным, так как Courier New - один из наиболее полных шрифтов Unicode, но я отвлекся! Возможно, попробуйте использовать Mono, который является клоном.
Однако я не понимаю , почему вы делаете это как Xterm делает поддержку TrueType .
Модифицировать
~/.Xresources
такие как это:Но вернемся к задаче: вам нужен больший растровый шрифт.
Наибольшее доступное растровое изображение:
Маркус был настолько хорош, что он поставляет исходные файлы BDF. Если в вашем дистрибутиве нет последних обновлений (с апреля 2009 года), вы можете получить пакет непосредственно у него.
Пакет шрифтов "-misc-fixed- *":
http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz
Вместо преобразования туда и обратно между ФКП и BDF вы могли бы / должны придерживаться исходного формата. Вы можете использовать редактор шрифтов BDF, чтобы изменить размер шрифта. Не ожидайте сглаживания или подобного обмана, но по крайней мере вы можете получить читаемый размер.
Или вы можете использовать bdfresize от Hiroto Kagotani (также встречается в некоторых пакетных системах).
ОБНОВИТЬ:
Я не знаю, как масштабировать только одно окно (никогда не было необходимости). Вы можете отследить этот вопрос суперпользователя. Когда у меня возникла необходимость, я масштабировал всю среду.
Вы можете понизить дисплей 3200x1800 до 1920x1080, используя:
Другие приемы масштабирования экрана в разных оконных менеджерах можно найти здесь . Они предлагают использовать VNC:
источник
Прямо сейчас вы можете увеличить размер шрифта, удерживая кнопку управления и правую кнопку мыши (т.е.
ctrl+right mouse button
) и выбрать размер шрифта. Чтобы сделать его по умолчанию, вам нужно иметьXresources
конфигурацию. Я пытаюсь, и я обновлю ответ, как только получу.Обновить:
Вы можете создать
.Xresources
файл в вашем домашнем каталоге и добавить строку нижеxterm*font: *-fixed-*-*-*-18-*
. Затем объедините ваши изменения с утилитой ресурсов X-сервера, используяxrdb
(т.е.xrdb -merge ~/.Xresources
), или вы можете перезапуститьX
также. Новыйxterms
должен иметь измененный размер шрифта.источник
Я не уверен, но вы можете, возможно, объединить шрифт и размер как это:
С уважением, maniat1k
источник
xterm -fs 20x10
но это не «семейство фиксированных шрифтов»: en.wikipedia.org/wiki/Fixed_%28typeface%29 , поэтому оно не содержит международных символов, которые есть в семействе фиксированных шрифтов.