Настройте fontconfig для игнорирования растровых изображений в масштабируемых шрифтах
У меня установлены Microsoft C-Fonts, и они замечательные. Тем не менее, Calibri выглядит как растровый шрифт во многих размерах, которые он появляется. Как я могу сказать fontconfig запретить рендеринг Calibri (и Cambria, и т. Д.) Из встроенных растровых изображений? у меня уже есть 70-no-bitmaps.conf
в моем /etc/fonts/conf.d/
каталог.
Указанные шрифты можно извлечь из программы просмотра PowerPoint.
2 ответа
/etc/fonts/conf.d/70-no-bitmaps.conf
только отклоняет растровые шрифты, они не отключают встроенные растровые изображения, как здесь. Я не знаю, почему они не установили параметр отключения встроенных растровых изображений в одном и том же файле конфигурации. В любом случае, поместите следующее в ~/.config/fontconfig/conf.d/20-no-embedded.conf
(или, для более старых версий Ubuntu, в ~/.fonts.conf.d/20-no-embedded.conf
):
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>
Это отключит встроенное растровое изображение для всех шрифтов. Если вы хотите отключить только для выбранных шрифтов, добавьте <test>
элемент:
<test name="family" compare="contains">
<string>Calibri</string>
<string>Cambria</string>
</test>
до <edit ...
,
В приведенном вами примере у вас есть атрибут
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<test name="family" compare="contains">
<string>Calibri</string>
</test>
<test name="family" compare="contains">
<string>Cambria</string>
</test>
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>