Виктор, благодарю за ответ. Нет, проблема касается только шрифтов, причём исключительно серверных -- сам X-сервер работает в правильном разрешении, что легко проверяется путём > xdpyinfo | grep -F resolution Соответственно, `Xft.dpi` вычисляется автоматом внутри `~/.xinitrc`, и это полностью закрывает вопрос с "клиентскими" шрифтами. А вот что касается "серверных" шрифтов (мой исходный вопрос), то, как я написал выше, механизма, реализующего *самый распространённый пользовательский сценарий* и позволяющего запросить у сервера растеризованный шрифт с именем /M/ и размером в /N/ пунктов *в разрешении собственно сервера* (162 dpi) -- так вот, такого механизма, похоже, нет. X-клиент должен сначала запросить разрешение экрана у X-сервера, а уже потом в соответствии с этим разрешением сформировать маску запроса шрифта, в духе > sprintf(buf, "-monotype-courier new-medium-r-normal--*-120-%d-%d-m-*-iso10646-1", (int) resx, (int) resy); Но так ни один X-клиент не делает: man-страницы пестрят описаниями ресурсов вида `xterm.vt100.font`. P. S. За скрипт спасибо. Однажды я таки сяду и таки выучу Tcl =) On 03.02.2021 17:49, Victor Wagner wrote: > В Wed, 3 Feb 2021 13:20:54 +0300 > Andrey ``Bass'' Shcheglov <andrewbass@gmail.com> пишет: > >> Всем здравствуйте. >> >> *Проблема*: X-сервер отдаёт серверные шрифты в фиксированном >> разрешении 100 dpi, а не в разрешении, текущем для сервера. > > Интересный вопрос - а это касается только шрифтов, или вообще всей > информации о разрешении, которую X-сервер отдает своим клиентам? > > Я в свое время с этой проблемой столкнулся и написал вот такой скриптик > > https://www.wagner.pp.ru/~vitus/software/tcl/measure_screen.html > > Его запускаем, измеряем сторону получившегося квадрата линейкой. > Если вдруг там окажется не 10 сантиметров, то значит X-сервер не > доносит до программ информацию о реальном разрешении экрана, которую > монитор должен был ему рассказать по EDID. > > В таких случаях я обычно прописываю X-серверу в командную строку > опцию -dpi n и это помогает.
Attachment:
signature.asc
Description: OpenPGP digital signature