Linux - это интересно!
Вы не вошли.
Набросал тут для себя заметку про настройку шрифтов. Представляю на общий суд с целью, может кто дополнит и подскажет чего нить ещё, или заметит ошибочные утверждения.
Настройка отображения шрифтов в дистрибутиве Slackware Linux
Включение поддержки Unicode
Unicode, это стандарт кодирования символов, включающий в себя знаки почти всех письменных языков мира. При включенной поддержке юникода гарантировано отображение в одном документе текстового материала на разных языках от латиницы, вплоть до китайских иероглифов.
Для поддержки юникода на уровне ядра, при загрузке системы нужно передать ядру опцию «vt.default_utf8=1». При использовании загрузчика LILO, эта опция добавляется в файл /etc/lilo.conf, в строку начинающуюся со слова append:
append=" vt.default_utf8=1"
Если же в качестве загрузчика системы используется Grub2, то править нужно его конфигурационный файл /boot/grub/grub.cfg. Опция добавляется после команды загрузки ядра linux:
...
linux /boot/vmlinuz-huge-smp-4.14.19-smp root=/dev/sda3 ro pci=use_crs vt.default_utf8=1 vga=normal
...
Для загрузчика syslinux правится файл syslinux.cfg, например так:
...
LABEL 0
MENU LABEL Slackware
KERNEL /boot/vmlinuz
APPEND initrd=/boot/initrd.gz load_ramdisk=1 prompt_ramdisk=0 vt.default_utf8=1 vga=791
...
При объявлении локали в системе, в скрипте /etc/profile.d/lang.sh к выбраной национальной кодировке добавляется префикс «UTF-8» или как альтернатива «utf8». Пример lang.sh для объявления русской юникодной локали:
#!/bin/sh
export LANG=ru_RU.UTF-8
export LC_COLLATE=C
Загрузка юникодного шрифта для консоли
Консольные шрифты содержат юникодные символы не для всех языков, ибо если включать в шрифт все символы национальных алфавитов, плюс спецсимволы, файл шрифта получится непомерно большим и неудобств от этого будет больше чем пользы. Поэтому в консольных юникодных шрифтах могут содержаться символы для нескольких национальных алфавитов, близких между собой по использованию. Например, консольный шрифт LatArCyrHeb-16 содержит символы латиницы, кириллицы и иврита. То есть, при загруженном шрифте LatArCyrHeb-16 в текстовом файле гарантированно будут отображаться символы именно этих национальных алфавитов. В Slackware консольный шрифт загружается скриптом /etc/rc.d/rc.font. Пример скрипта:
#!/bin/sh
setfont LatArCyrHeb-16
for i in 1 2 3 4 5 6; do
echo -ne "\033%G" > /dev/tty$i
done
В этом скрипте загружается общесистемный шрифт для консоли. Но отдельный пользователь может для своего сеанса указать другой консольный фонт добавив в свой ~/.bashrc следующие строки:
if [ $TERM = "linux" ]; then
setfont ter-v16n
fi
В примере показана загрузка консольного шрифта Terminus.
Настройка масштабирования шрифтов в XORG
Немножко о разрешении мониторов и что такое DPI. При выборе монитора для компьютера или ноутбука при покупке, мы всегда обращаем внимание на характеристику дисплея. Чем больше разрешение дисплея, тем чётче отображается картинка, более читабельны тексты. И если с картинками и фотографиями более менее понятно, то по качеству вывода текстовой информации на экран у многих пользователей могут возникать претензии. Во многих дистрибутивах разработчики прилагают большие усилия по улучшению отображения на дисплее текстовой информации. Взять те же Ubuntu, MX-Linux, Manjaro... В этих дистрибутивах хорошее отображение шрифтов настроено «из коробки» и пользователю в большинстве случаев не нужно прилагать усилий по улучшению отображения шрифтов. В Slackware, как и в Debian впрочем, этой теме разработчики придают меньше внимания. В свежеустановленной системе шрифты и их отображение часто оставляют желать лучшего. Есть жидкокристаллические дисплеи, особенно старшего поколения, в которых без дополнительных усилий по настройке отображения шрифтов никак не обойтись. А есть дисплеи, на которых приемлимо выглядят шрифты даже без дополнительной настройки.
Разрешение дисплея измеряется в пикселях по вертикали и горизонтали. Чем больше разрешение, тем качественнее отображение. А отображение одного символа шрифта указывается в DPI, то есть в колличестве пикселей на один дюйм. И здесь уже понятие пиксель(точка) не физическое, а программное. То есть, если реальный DPI вашего монитора 150 пикселей на дюйм, то программно его можно и уменьшить. Если мы уменьшим DPI до значения 75, то два реальных пикселя программно будут работать как один и, естественно, качество отображения изменится в ту или иную сторону. Для того чтобы узнать реальный DPI вашего монитора, можно воспользоваться специализированным сайтом DPI Калькулятором. Разрешение вашего дисплея DPI Калькулятор может определить автоматически, а вот размер по диагонали в дюймах нужно ввести в ручную. Его можно узнать из характеристик вашего монитора/ноутбука.
Теперь понятно, что реальный DPI, это количество физических пикселей (не программных) на один дюйм вашего дисплея. Считается, что если указать системе реальный DPI, то отображение шрифтов будет наилучшим. Может быть это и так, но на величину отображаемых шрифтов это влияет точно. В Windows по умолчанию DPI равен 96. Некоторые программы могут затребовать для себя другой DPI, например MythTV просит DPI=100.
Для X-системы можно указать значение DPI несколькими способами. Если xorg запускается с помощью скрипта startx, откройте для редактирования в текстовом редакторе скрипт /usr/bin/startx, найдите в нём строку:
defaultserverargs=""
и впишите желаемое значение DPI, как пример 110:
defaultserverargs="110"
Если xorg запускается другим способом, например с помощью менеджера входа в систему kdm, то нужный DPI прописывается в его конфигурационном файле /etc/kde/kdm/kdmrc.
Проверить с каким разрешением загружаются шрифты в X-ах можно дав команду в консоли:
xdpyinfo | grep resolution
Для клиентских приложений X-сервера DPI задаётся в конфигурационном файле Xresources. Локальная, пользовательская версия этого файла находится в домашнем пользовательском каталоге - ~/.Xresources. В этом файле можно задать DPI монитора, сглаживание (antialiasing), хинтование (hinting) и другие настройки шрифтов X.
Fontconfig
Fontconfig - это библиотека, предназначенная для конфигурирования и настройки доступа к шрифтам, а также для настройки того, как шрифты будут отображаться. Файлы конфигураций fontconfig находятся в каталоге /etc/fonts. В каталоге /etc/fonts/conf.avail размещены все конфигурационные файлы библиотеки, но fontconfig не просматривает этот каталог. Для fontconfig рабочим является каталог /etc/fonts/conf.d, именно с этого каталога он считывает конфигурационные файлы. Поэтому достаточно сделать ссылку из каталога conf.d на любой из конфигов в каталоге conf.avail, чтобы fontconfig его смог прочесть. Таким образом можно компоновать комплект видимых библиотекой fontconfig конфигурационных файлов. После изменений в самих конфигурационных файлах, или добавления/удаления симлинков на нужные файлы конфигурации, чтобы обновления вступили в силу и fontconfig принял это, нужно дать команду:
fc-cache -f -v
В каталоге /etc/fonts/conf.d находится файл README с более подробной информацией.
Шрифты
Наличие большого количества установленных шрифтов может сильно грузить систему. Но при наличии комплекта хороших шрифтов и их качественной отрисовки, работа в системе становится намного приятнее. В Slackware есть возможность отключать каталоги с установленными шрифтами, во всяком случае для fontconfig точно. Стоит только закомментировать пути к каталогам со шрифтами в файле /etc/fonts/font.conf и система перестаёт их видеть. С X-ами сложнее. Какие то установленные шрифты X-ы видят по умолчанию, их список выдаёт команда xfontsel, и их немного. Но если X-ы не видят какие либо установленные шрифты, то стоит только прописать пути к ним в файле /etc/X11/xorg.conf, список видимых программой xfontsel шрифтов выползет за пределы дисплея.
Минимальное колличество шрифтов, необходимое для запуска Xorg можно посмотреть здесь. То есть, имеется возможность добавлять только те шрифты, которые нравятся Вам. Но это уже нужно повозиться.
Пока всё. Если ещё чего нибуть накопаю - дополню.
Вне форума
Форум слаквари все похоже? Да там собственно и оставалось два активных пользователя, Ярик да Бормант. Жаль конечно. ( Там бы это разместить, но увы.
In Tux We Trust
Вне форума
@cdrw, привет! Спасибо за материал.
у меня Монитор BenQ DL2215 21.5", согласно калькулятору получается DPI=102, то есть мне имеет смысл играться с цифрами 102; 51; 204.
и такое подозрение, что ~/.Xresources у меня в опенбоксе со шрифтами не работает
! шрифты ------------------------------------------
Xft.dpi: 102
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault
Добавлено спустя 02 мин 45 с:
~$ xdpyinfo | grep resolution
resolution: 96x96 dots per inch
Долой DE! Даёшь WM!
Вне форума
~/.Xresources у меня в опенбоксе со шрифтами не работает
А вот это делал?
xrdb -merge ~/.Xresources
In Tux We Trust
Вне форума
BigOrange пишет:~/.Xresources у меня в опенбоксе со шрифтами не работает
А вот это делал?
xrdb -merge ~/.Xresources
Вот, эту команду пропустил.
Вне форума
делал и xrdb ~/.Xresources, и xrdb -load ~/.Xresources
если ставлю 48 и 192, то результат есть
но xdpyinfo показывает 96
Долой DE! Даёшь WM!
Вне форума
и такое подозрение, что ~/.Xresources у меня в опенбоксе со шрифтами не работает
Я использую IceWM, а openbox из настроек тем gtk вроде бы тянет инфу.
Добавлено спустя 02 мин 01 с:
делал и xrdb ~/.Xresources, и xrdb -load ~/.Xresources
если ставлю 48 и 192, то результат есть
но xdpyinfo показывает 96
А сессия как запускается, DM или startx?
Добавлено спустя 31 мин:
Попробуй насильно переназначить командой:
xrandr --dpi 102
Вне форума
сессия запускается DM (slim)
xrandr --dpi 102 помогло
Долой DE! Даёшь WM!
Вне форума
Набросал тут для себя заметку про настройку шрифтов
Вот спасибо, будет куда засылать "вопрошающих", а то ...
Вне форума
пока ковырялся с xterm также в ~/.Xresources менял парамы шрифтов.
заметна разница когда меняешь Xft.dpi: и Xft.antialias: false/true
Долой DE! Даёшь WM!
Вне форума
пока ковырялся с xterm также в ~/.Xresources менял парамы шрифтов
А я подобным лет десять назад игрался, тогда с urxvt (rxvt-unicode) кажется возился, хотелось ему желаемое оформление предать, хотелось ему желаемое оформление предать, а потом то лень было, то некогда, то казалось что и так пойдёт...
Может когда то ещё займусь, благо есть где почитать, без поиска! )))
Вне форума
[ Сгенерировано за 0.019 сек, 9 запросов выполнено - Использовано памяти: 1.7 Мбайт (Пик: 1.79 Мбайт) ]