Неверный размер шрифтов
Материал из ALT Linux Wiki
м (Новая страница: «Категория:FAQ == Что делать, если слишком большие/маленькие шрифты == Бывает, что после уст...») |
|||
(5 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | |||
- | |||
== Что делать, если слишком большие/маленькие шрифты == | == Что делать, если слишком большие/маленькие шрифты == | ||
Бывает, что после установки системы или загрузки с livecd/flash работать в графической системе невозможно, так как шрифты слишком маленькие (вплоть до "одна буква один пиксель"), или наоборот, слишком большие ("на экран влезло три буквы"). | Бывает, что после установки системы или загрузки с livecd/flash работать в графической системе невозможно, так как шрифты слишком маленькие (вплоть до "одна буква один пиксель"), или наоборот, слишком большие ("на экран влезло три буквы"). | ||
Строка 7: | Строка 5: | ||
=== Как должно быть === | === Как должно быть === | ||
- | Физический размер букв на экране (если измерять его линейкой, приложенной к экрану) не должен зависеть от типа и размера монитора, от разрешения и т.п. Он зависит только от "размера" шрифта, выставленного в настройках приложения (тот самый "десятый шрифт"). Для того, чтоб было именно так, система должна знать истинное разрешение монитора в точках на дюйм. Качественный монитор сообщает системе о своих физических размерах через интерфейс [[ruwp:Display_Data_Channel|DDC]]. Это легко увидеть, запустив программу ddcprobe: | + | Физический размер букв на экране (если измерять его линейкой, приложенной к экрану) не должен зависеть от типа и размера монитора, от разрешения и т.п. Он зависит только от "размера" шрифта, выставленного в настройках приложения (тот самый "десятый шрифт"). Для того, чтоб было именно так, система должна знать истинное разрешение монитора в точках на дюйм. Качественный монитор сообщает системе о своих физических размерах через интерфейс [[ruwp:Display_Data_Channel|DDC]]. Это легко увидеть, запустив программу {{cmd|ddcprobe}}: |
# ddcprobe | grep screen | # ddcprobe | grep screen | ||
screensize: 51 29 | screensize: 51 29 | ||
(размер в сантиметрах) | (размер в сантиметрах) | ||
- | На основании этих данных и текущем разрешении система (Х-сервер) вычисляет значение dpi, и обеспечивает | + | На основании этих данных и текущем разрешении система (Х-сервер) вычисляет значение dpi, и обеспечивает корректное отображение шрифтов, документов, изображений и т.п. (в текстовом процессоре при отображении 100% лист начинает '''физически''' совпадать с размером листа А4, например). |
+ | |||
+ | Проверить текущее значение dpi и размеров экрана можно либо командой {{cmd|xdpyinfo}} | ||
+ | $ xdpyinfo | grep -B1 dots | ||
+ | dimensions: 1920x1080 pixels (513x292 millimeters) | ||
+ | resolution: 95x94 dots per inch | ||
+ | либо попытаться найти нужную информацию в логах X-сервера | ||
+ | $ cat /var/log/Xorg.0.log | grep DPI | ||
+ | (--) NVIDIA(0): DPI set to (95, 94); computed from "UseEdidDpi" X config | ||
+ | |||
+ | === Как бывает === | ||
+ | Если проявляются выше перечисленные симптомы, то, возможно, система имеет неверное значение dpi. От величины в пару десятков до нескольких тысяч, в то время как нормальные значения лежат в пределах 80-90 (дешевые мониторы с большой диагональю), 90-100 (нормальные мониторы), 100-150 (очень качественные мониторы на дорогих компактных ноутбуках). | ||
+ | |||
+ | Если есть возможность запустить консоль в графическом режиме, воспользуйтесь {{cmd|xdpyinfo}} чтоб точно узнать в чем проблема. Если графический сервер запущен, но открыть консоль в нем не удается, то можно перейти в текстовую консоль (Ctrl-Alt-F1) а запустить {{cmd|xdpyinfo}} там, указав, с каким дисплеем ей работать | ||
+ | $ DISPLAY=:0 xdpyinfo | grep -B1 dots | ||
+ | |||
+ | === Что делать === | ||
+ | Конечно, самый верный способ это поменять монитор на другой, более качественный и соответствующий всем стандартам. Если такой возможности нет, то придется вручную указать системе физические размеры экрана. Для этого в файле {{path|/etc/X11/xorg.conf}} в секцию "Monitor" необходимо внести параметр {{term|DisplaySize}}: | ||
+ | Section "Monitor" | ||
+ | DisplaySize 400 300 | ||
+ | EndSection | ||
+ | Вместо 400 и 300 следует вписать ширину и высоту вашего экрана, '''измеренную в миллиметрах линейкой''' (!). Возможно, потребуется туда же добавить параметр(ы) | ||
+ | Option "UseEdidDpi" "FALSE" | ||
+ | Option "UseEdid" "FALSE" | ||
+ | чтоб указать графической системе не использовать данные, предоставляемые монитором. | ||
+ | |||
+ | === Что делать-2: путь Windows === | ||
+ | В Windows до сих пор такая проблема не встречается, потому что там по умолчанию разрешение экрана '''всегда''' равно 96 dpi. Что приводит к слишком мелким шрифтам на хороших мониторах, и слишком крупным на плохих, и порождает абсолютно абсурдные системные настройки типа "крупный шрифт", и делает бессмысленными размеры отображения в процентах в программах типа Word, графических редакторах и т.п. | ||
+ | |||
+ | Однако, данный идиотский метод можно с успехом применить в и Линуксе, например, передав X-серверу параметр -dpi 96 (или любое другое число). | ||
+ | |||
+ | <code>xrandr --dpi 96 </code> | ||
+ | записать | ||
+ | в <code>~/.bash_profile</code>, | ||
+ | работает только для одного юзера. | ||
+ | {{cmd|}} | ||
+ | {{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} |
Текущая версия на 12:49, 19 июля 2015
Содержание |
Что делать, если слишком большие/маленькие шрифты
Бывает, что после установки системы или загрузки с livecd/flash работать в графической системе невозможно, так как шрифты слишком маленькие (вплоть до "одна буква один пиксель"), или наоборот, слишком большие ("на экран влезло три буквы").
Одна из возможных причин: монитор и/или видеокарта не соответствуют стандартам и неверно сообщают системе о своих параметрах.
Как должно быть
Физический размер букв на экране (если измерять его линейкой, приложенной к экрану) не должен зависеть от типа и размера монитора, от разрешения и т.п. Он зависит только от "размера" шрифта, выставленного в настройках приложения (тот самый "десятый шрифт"). Для того, чтоб было именно так, система должна знать истинное разрешение монитора в точках на дюйм. Качественный монитор сообщает системе о своих физических размерах через интерфейс DDC. Это легко увидеть, запустив программу ddcprobe:
# ddcprobe | grep screen screensize: 51 29
(размер в сантиметрах) На основании этих данных и текущем разрешении система (Х-сервер) вычисляет значение dpi, и обеспечивает корректное отображение шрифтов, документов, изображений и т.п. (в текстовом процессоре при отображении 100% лист начинает физически совпадать с размером листа А4, например).
Проверить текущее значение dpi и размеров экрана можно либо командой xdpyinfo
$ xdpyinfo | grep -B1 dots dimensions: 1920x1080 pixels (513x292 millimeters) resolution: 95x94 dots per inch
либо попытаться найти нужную информацию в логах X-сервера
$ cat /var/log/Xorg.0.log | grep DPI (--) NVIDIA(0): DPI set to (95, 94); computed from "UseEdidDpi" X config
Как бывает
Если проявляются выше перечисленные симптомы, то, возможно, система имеет неверное значение dpi. От величины в пару десятков до нескольких тысяч, в то время как нормальные значения лежат в пределах 80-90 (дешевые мониторы с большой диагональю), 90-100 (нормальные мониторы), 100-150 (очень качественные мониторы на дорогих компактных ноутбуках).
Если есть возможность запустить консоль в графическом режиме, воспользуйтесь xdpyinfo чтоб точно узнать в чем проблема. Если графический сервер запущен, но открыть консоль в нем не удается, то можно перейти в текстовую консоль (Ctrl-Alt-F1) а запустить xdpyinfo там, указав, с каким дисплеем ей работать
$ DISPLAY=:0 xdpyinfo | grep -B1 dots
Что делать
Конечно, самый верный способ это поменять монитор на другой, более качественный и соответствующий всем стандартам. Если такой возможности нет, то придется вручную указать системе физические размеры экрана. Для этого в файле /etc/X11/xorg.conf в секцию "Monitor" необходимо внести параметр DisplaySize:
Section "Monitor" DisplaySize 400 300 EndSection
Вместо 400 и 300 следует вписать ширину и высоту вашего экрана, измеренную в миллиметрах линейкой (!). Возможно, потребуется туда же добавить параметр(ы)
Option "UseEdidDpi" "FALSE" Option "UseEdid" "FALSE"
чтоб указать графической системе не использовать данные, предоставляемые монитором.
Что делать-2: путь Windows
В Windows до сих пор такая проблема не встречается, потому что там по умолчанию разрешение экрана всегда равно 96 dpi. Что приводит к слишком мелким шрифтам на хороших мониторах, и слишком крупным на плохих, и порождает абсолютно абсурдные системные настройки типа "крупный шрифт", и делает бессмысленными размеры отображения в процентах в программах типа Word, графических редакторах и т.п.
Однако, данный идиотский метод можно с успехом применить в и Линуксе, например, передав X-серверу параметр -dpi 96 (или любое другое число).
xrandr --dpi 96
записать
в ~/.bash_profile
,
работает только для одного юзера.