LINUX.ORG.RU

Arch игнорирует размер шрифтов

 , , ,


0

2

Занялся настройкой шрифтов и столкнулся с такой проблемой, что я могу настроить только название шрифтов, а размер, dpi, и масштабирование игнорируется. Игнорируется приложениями, а консольные тесты через fc-match --verbose [serif|sans|mono] с радостью отображают все мои настройки.

Например вот я начал с моноширинных шрифтов. Выставил Ubuntu Mono, он применился, но в окнах браузеров выглядит значительно меньше чем дефолтный Dejavu Mono. Тогда я пробую выставить size - fc-match показывает, что размер изменился, но в браузере остается эта мелкотня достойная мема с китайцем. Тогда я начинаю перебирать dpi, scale - все без толку. fc-match все видит, но по факту в системе отображается очень мелкий шрифт.

Почему система/приложения игнорят настройки размера? Как их заставить? arch 4.13.11-1.

Конфиг:

# cat ~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

	<!-- <match target="pattern">
		<edit name="dpi" mode="assign"><double>125</double></edit>
	</match> -->

	<!-- Disable Bitmap Fonts -->
	<match target="font">
		<edit name="embeddedbitmap" mode="assign">
			<bool>false</bool>
		</edit>
	</match>

	<!-- Default monospace fonts -->
	<match target="pattern">
		<test qual="any" name="family"><string>monospace</string></test>
		<edit name="family" mode="prepend" binding="same"><string>Ubuntu Mono</string></edit>
		<edit name="size" mode="assign" binding="strong"><double>16</double></edit>
		<edit name="dpi" mode="assign" binding="strong"><double>96</double></edit>
		<edit name="scale" mode="assign" binding="strong"><double>1.5</double></edit>
	</match>

	<selectfont>
		<rejectfont>
			<pattern>
				<patelt name="family" >
					<string>DejaVu Sans</string>
				</patelt>
			</pattern>
			<pattern>
				<patelt name="family" >
					<string>DejaVu Sans Mono</string>
				</patelt>
			</pattern>
			<pattern>
				<patelt name="family" >
					<string>DejaVu Serif</string>
				</patelt>
			</pattern>
			<pattern>
				<patelt name="family" >
					<string>Nimbus Roman</string>
				</patelt>
			</pattern>
			<pattern>
				<patelt name="family" >
					<string>Nimbus Sans</string>
				</patelt>
			</pattern>
		</rejectfont>
	</selectfont>

</fontconfig>

это Арчъ - это фишка такая, смирись или гугли!

piwww ★★ ()

size и dpi не учитываются приложениями, а scale ваще устаревший.

Зато удалось получить результат с помощью pixelsize. Правда работает не везде - в sublime и rofi применилось, в браузерах(FF, Vivaldi) - нет.

	<match target="pattern">
		<test qual="any" name="family"><string>monospace</string></test>
		<edit name="family" mode="prepend" binding="same"><string>Ubuntu Mono</string></edit>
		<edit name="pixelsize" mode="assign"><times><name>pixelsize</name><double>1.1</double></times></edit>
	</match>
hxss ()

Для начала, предлагаю проверить:

blitz@inode ~ % sudo pacman -Q | grep -Ei 'fontconfig'
fontconfig-infinality-ultimate 2.12.6-1

Сложно и правильно, и только для Арч - должно быть ultimate в выводе.

Если нет, это Ubuntu.

blitz ()

~/.config/fontconfig/fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- created by lxqt-config-appearance (DO NOT EDIT!) -->
<fontconfig>
	<match target="pattern">
		<edit name="dpi" mode="assign" binding="strong">
			<double>72</double>
		</edit>
	</match>

	<match target="pattern">
		<test qual="any" name="family">
			<string>serif</string>
		</test>
		<edit name="family" mode="assign" binding="strong">
			<string>Georgia Pro</string>
			<string>Noto Serif</string>
		</edit>
	</match>

	<match target="pattern">
		<test qual="any" name="family">
			<string>sans-serif</string>
		</test>
		<edit name="family" mode="assign" binding="strong">
			<string>Tahoma</string>
			<string>Noto Sans</string>
		</edit>
	</match>

	<match target="pattern">
		<test qual="any" name="family">
			<string>monospace</string>
		</test>
		<edit name="family" mode="assign" binding="strong">
			<string>Consolas</string>
			<string>Noto Mono</string>
		</edit>
	</match>

	<match target="font">
		<edit name="antialias" mode="assign">
			<bool>true</bool>
		</edit>
	</match>

	<match target="font">
		<edit name="autohint" mode="assign">
			<bool>false</bool>
		</edit>
	</match>

	<match target="font">
		<test name="weight" compare="more">
			<const>medium</const>
		</test>
		<edit name="autohint" mode="assign">
			<bool>false</bool>
		</edit>
	</match>

	<match target="font">
		<edit name="hinting" mode="assign">
			<bool>true</bool>
		</edit>
	</match>

	<match target="font">
		<edit name="hintstyle" mode="assign">
			<const>hintslight</const>
		</edit>
	</match>

	<match target="font">
		<edit name="rgba" mode="assign">
			<const>rgb</const>
		</edit>
	</match>

	<match target="font">
		<edit name="lcdfilter" mode="assign">
			<const>lcddefault</const>
		</edit>
	</match>
</fontconfig>

blitz ()
Ответ на: комментарий от blitz

infinality же мертв. Да и я уже нашел решение и свой конфиг настроил

hxss ()

Попробуй задать dpi через xft: dpi в ~/.xsettings.

anonymous ()

Игнорируется приложениями, а консольные тесты через fc-match --verbose [serif|sans|mono] с радостью отображают все мои настройки.

Отображением шрифтов, в gtk-alikes DE - рулят непосредственно сами DE, будь то Gnome-shell, Mate или Cinnamon.

Какой зверь из этого зоопарка gtk3 поселился у тебя на компе?

blitz ()
Ответ на: комментарий от blitz

Попробуй задать dpi через xft: dpi в ~/.xsettings.

любая настройка dpi применится ко всем шрифтам. Меня же интересовал конкретный Ubuntu Mono и его отображение в браузере.

Я же уже написал, что можно через pixelsize умножить размер на заданное число. Эта настройка применяется во всех Gtk приложениях но ее игнорят браузеры(ff, chrome). Но в браузерах можно указать минимальный размер шрифта, что я изначально и сделал. Позже выяснилось, что Ubuntu Mono в принципе не приспособлен для использования в браузере(слишком мелкий на всех сайтах), поэтому поменял его на Droid Mono - во многом похожи. Последний кстати на этом сайте используется.

Конфиг я свой уже настроил, так что меня этот вопрос более не интересует. Всем спасибо.

https://imgur.com/a/5BAv7

hxss ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.