Большие шрифты «xterm» на дисплеях HIDPI

После нескольких лет счастливого использования различных терминальных эмуляторов, таких как Konsole , Gnome-TERMINAL и в последнее время XFCE Terminal в соответствующих средах рабочего стола, я решил использовать добрые старые xterm с его растровыми шрифтами . Он работает отлично, он поддерживает Unicode, а по умолчанию фиксированное семейство шрифтов содержит символы почти всех языков, что отлично.

Но я столкнулся с важной проблемой. Шрифты действительно маленькие. Даже так называемый Огромный размер (размер шрифта 10×20 bitmap) очень мал для меня и непригодным для использования.

Моя настройка по умолчанию для среды XFCE установлена ​​на 120 dpi, но xpdyinfo сообщает 97×97 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 таких как Xcalc , Xman , Xfige , Xfige и т. Д.? Должны ли мы наблюдать, как они исчезают, когда дисплей DPI поднимается? Пожалуйста, помогите, если вы знаете какие-либо обходные пути.


Это то, что я сделал, что как-то сработало, но я не смог использовать оригинальный «фиксированный семейство шрифтов», поэтому теперь он может работать только на некоторых языках.


PS1: Я установил 100 DPI-шрифтов для X, но я не мог использовать их

 $ sudo apt-get install xfonts-100dpi 

PS2: Fontforge который также использует Xlib , использует приятную тему и нормальные размеры шрифта. Я не знаю, как это получается.

PS3: Я тестирую otf2bdf и bdftopcf utiliites для создания экспериментальных растровых шрифтов 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 – хороший инструмент для масштабирования одного окна .

  • Какова цель запуска xterm из обычного терминала
  • Что значит установить «название значка» терминала?
  • используя часы с ssh
  • Изменение размера xterm заставляет оболочку испортить
  • Отсутствие цвета в терминале KDE
  • Почему карта вставки «<F4>» непредсказуемо вставляет себя или выполняет намеченные штрихи?
  • Как сохранить конфигурацию Xterm, установленную во время выполнения?
  • Диспетчер файлов Ranger - открыть gnome-терминал вместо xterm
  • 3 Solutions collect form web for “Большие шрифты «xterm» на дисплеях HIDPI”

    Вы сами указали ответ, указав https://en.wikipedia.org/wiki/Fixed_(typeface)

    Это стандартный шрифт фиксированного растрового изображения, который был расширен Маркусом Кеном, чтобы иметь довольно полный набор символов. Вопрос в том, как масштабировать растровое изображение .

    До сих пор вы достигли масштабирования векторного шрифта и преобразования его в растровое изображение (ttf → bdf → pcf) . Это прекрасная стратегия, но, как вы уже упоминаете, ей не хватает поддержки языка. Кажется странным, поскольку Courier New является одним из самых полных шрифтов unicode, но я отвлекся! Возможно, попробуйте использовать Mono, который является клоном.

    Однако я не понимаю, почему вы это делаете, поскольку xterm поддерживает TrueType .

    Измените ~/.Xresources например:

     XTerm*renderFont: true XTerm*faceName: VeraMono XTerm*faceSize: 10 

    Но вернемся к задаче: вам нужен более крупный шрифт растрового изображения .

    Доступна самая большая доступная растровая карта:

     10x20 -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 

    Маркус был так хорош, что он поставляет исходные файлы BDF. Если ваш дистрибутив не имеет последних обновлений (с апреля 2009 года), вы можете взять пакет прямо у него.

    Пакет шрифтов «-misc-fixed- *»:

    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz

    Вместо того, чтобы конвертировать назад и вперед между pcf и bdf, вы могли / должны придерживаться исходного формата. Вы можете использовать редактор шрифтов BDF для изменения размера шрифта. Не ожидайте никакого сглаживания или такого обмана, но, по крайней мере, вы можете получить удобочитаемый размер.

    Или вы можете использовать bdfresize от Hiroto Kagotani (также можно найти в некоторых системах пакетов).

    ОБНОВИТЬ:

    Я не знаю способа масштабирования только одного окна (никогда не было необходимости). Вы можете отслеживать этот вопрос суперпользователя. Когда у меня возникла необходимость, я масштабировал всю среду.

    Вы можете понизить дисплей 3200×1800 до 1920×1080, используя:

     xrandr --dpi 141 xrandr --output eDP1 --scale 0.6x0.6 

    Другие трюки для масштабирования экрана в разных оконных менеджерах можно найти здесь . Они предлагают использовать VNC:

    Один из подходов состоит в том, чтобы запустить приложение в полноэкранном режиме и без декорации на собственном рабочем столе VNC. Затем масштабируйте зрителя. С помощью Vncdesk ( vncdesk-git из AUR) вы можете настроить рабочий стол для каждого приложения, а затем запустить сервер и клиент с помощью простой команды, такой как vncdesk 2 .

    x11vnc имеет экспериментальный вариант -appshare , который открывает один просмотрщик для каждого окна приложения. Возможно, что-то можно взломать.

    Прямо сейчас вы можете увеличить размер шрифта, удерживая кнопку управления и правую кнопку мыши (например, ctrl+right mouse button ) и выберите размер шрифта. Чтобы сделать это по умолчанию, вам необходимо иметь конфигурацию Xresources . Я пытаюсь, и я обновлю ответ, как только получу его.

    Обновить:

    Вы можете создать файл .Xresources внутри своего домашнего каталога и добавить строку ниже xterm*font: *-fixed-*-*-*-18-* . Затем объедините свои изменения с помощью утилиты ресурсов X-сервера с помощью xrdb (например, xrdb -merge ~/.Xresources ) или вы также можете перезапустить X Новые xterms должны иметь измененный размер шрифта.

    Я не уверен, но вы можете объединить шрифт и siz вот так:

     xterm -fn helvetica -fs 20x10 

    небольшой тест шрифтов

    привет, maniat1k

    Interesting Posts

    Текст эха, предложенный подсказкой в ​​bash

    Счетный вход от считывания всегда возвращает 1 в оболочке

    В сценарии bash, что отличается между объявлением и нормальной переменной?

    Как проверить, какой гипервизор используется с моей виртуальной машины?

    Я добавил пользователя в группу, но групповые разрешения на файлы по-прежнему не влияют

    Объединить несколько файлов HTML в обратном порядке?

    как вернуться к базовому скрипту из хвоста -f

    Каков размер Debian OS 8.6? & Как скачать его через торрент?

    Portage on Gentoo как просматривать доступные версии программного обеспечения?

    Установка переменных readline в оболочке

    Показать PATH в удобном для восприятия человеком способом

    Сравнение запрещенных символов и имен в разных ФС

    Почему моя туннельная связь IPv6 падает через короткий промежуток времени?

    Escape shell arg из одного сценария в другой

    SED заменить после игнорирования

    Linux и Unix - лучшая ОС в мире.