LINUX.ORG.RU

Некачественные шрифты в wine (Debian 12)

 , , , ,


0

1

Использую Debian Bookworm (12) и штатный wine (8.0~repack-4). Пакет msttcorefont с не использую и не хотел бы. Не устраивает меня то, как отрисована часть текста в некоторых окнах wine.

Вопросы в конце, а далее раскрою суть претензий:

  1. На части окон текст отрисован шрифтом, похожим на Tahoma.
  2. Штрихи слишком бледные, вокруг много радужных разводов (см. рисунок).
  3. Через winecfg для всех доступных элементов настроен шрифт DejaVu Sans.
  4. Настройка по п. 4. применяется к большинству окон запускаемых через wine приложений, но не к штатным приложениям wine вроде winecfg или regedit.
  5. Для freetype использую настройку в /etc/profile.d:
export FREETYPE_PROPERTIES="truetype:interpreter-version=35"
  1. Настроенный через systemsettings от KDE пользовательский файл ~/.config/fontconfig/fonts.conf (хинтинг полный, субпиксельное сглаживание выключено):
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <its:rules version="1.0" xmlns:its="http://www.w3.org/2005/11/its">
  <its:translateRule selector="/fontconfig/*[not(self::description)]" translate="no"/>
 </its:rules>
 <!-- 
 Artificial oblique for fonts without an italic or oblique version
 -->
 <match target="font">
  <!-- check to see if the font is roman -->
  <test name="slant">
   <const>roman</const>
  </test>
  <!-- check to see if the pattern requested non-roman -->
  <test target="pattern" compare="not_eq" name="slant">
   <const>roman</const>
  </test>
  <!-- multiply the matrix to slant the font -->
  <edit name="matrix" mode="assign">
   <times>
    <name>matrix</name>
    <matrix>
     <double>1</double>
     <double>0.2</double>
     <double>0</double>
     <double>1</double>
    </matrix>
   </times>
  </edit>
  <!-- pretend the font is oblique now -->
  <edit name="slant" mode="assign">
   <const>oblique</const>
  </edit>
  <!-- and disable embedded bitmaps for artificial oblique -->
  <edit name="embeddedbitmap" mode="assign">
   <bool>false</bool>
  </edit>
 </match>
 <!--
 Synthetic emboldening for fonts that do not have bold face available
 -->
 <match target="font">
  <!-- check to see if the weight in the font is less than medium which possibly need emboldening -->
  <test compare="less_eq" name="weight">
   <const>medium</const>
  </test>
  <!-- check to see if the pattern requests bold -->
  <test target="pattern" compare="more_eq" name="weight">
   <const>bold</const>
  </test>
  <!--
		  set the embolden flag
		  needed for applications using cairo, e.g. gucharmap, gedit, ...
		-->
  <edit name="embolden" mode="assign">
   <bool>true</bool>
  </edit>
  <!--
		 set weight to bold
		 needed for applications using Xft directly, e.g. Firefox, ...
		-->
  <edit name="weight" mode="assign">
   <const>bold</const>
  </edit>
 </match>
 <match target="font">
  <edit name="hinting" mode="assign">
   <bool>true</bool>
  </edit>
 </match>
 <match target="font">
  <edit name="hintstyle" mode="assign">
   <const>hintfull</const>
  </edit>
 </match>
 <dir>~/.fonts</dir>
</fontconfig>

Вопросы:

  1. Возможно ли так настроить fontconfig, чтобы Tahoma и Verdana всегда заменялись на DejaVu Sans?
  2. Возможно ли как-то настроить wine, чтобы вместо Tahoma и Verdana всегда использовался DejaVu Sans?

Ответ на: комментарий от anonymous

Я попробовал создать /etc/fonts/conf.d/60-tahoma.conf с таким содержимым:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

<alias>
  <family>Tahoma</family>
    <prefer>
      <family>DejaVu Sans</family>
    </prefer>
</alias>

<alias>
  <family>Verdana</family>
    <prefer>
      <family>DejaVu Sans</family>
    </prefer>
</alias>

</fontconfig>

Простая проверка через

fc-match Verdana

или

fc-match Tahoma

возвращает

DejaVuSans.ttf: "DejaVu Sans" "Book"

Но в wine шрифты остались на местах. Вопрос пока открыт, но спасибо на добром слове.

akj
() автор топика