Re: X Logical Font Description и HiDPI

Andrey ``Bass'' Shcheglov <[email protected]>
Newsgroups gmane.linux.debian.user.russian
Organization MIPT
Message-ID <[email protected]>
Виктор, благодарю за ответ.

Нет, проблема касается только шрифтов, причём исключительно серверных -- сам 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 <[email protected]> пишет:
> 
>> Всем здравствуйте.
>>
>> *Проблема*: X-сервер отдаёт серверные шрифты в фиксированном
>> разрешении 100 dpi, а не в разрешении, текущем для сервера.
> 
> Интересный вопрос - а это касается только шрифтов, или вообще всей
> информации о разрешении, которую X-сервер отдает своим клиентам?
> 
> Я в свое время с этой проблемой столкнулся и написал вот такой скриптик
> 
> https://www.wagner.pp.ru/~vitus/software/tcl/measure_screen.html
> 
> Его запускаем, измеряем сторону получившегося квадрата линейкой.
> Если вдруг там окажется не 10 сантиметров, то значит X-сервер не
> доносит до программ информацию о реальном разрешении экрана, которую
> монитор должен был ему рассказать по EDID.
> 
> В таких случаях я обычно прописываю X-серверу в командную строку
> опцию -dpi n и это помогает.
signature.asc (application/pgp-signature, 195 B)
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQSk78qvEH59Jewf+OAVfbB6hOsMZwUCYBrBQAAKCRAVfbB6hOsM
Z4qqAKDiFgb94df/2b9jzgm93Xbmlof6RQCg7haV/o7f6zZqj/xLFxgGVbiNTHg=
=ydFw
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.