Próbuję użyć ~ / .fonts.conf, aby zastąpić Helveticę Droidem Sansem, oto zawartość pliku:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test qual="any" name="family"><string>Helvetica</string></test>
<edit name="family" mode="assign"><string>Droid Sans</string></edit>
</match>
</fontconfig>
ale bez względu na wszystko wydaje się, że nic się nie dzieje. Próbowałem uruchomić fc-cache, zalogowałem się /etc/fonts/conf.d
i znalazłem, 50-user.conf
który wyraźnie wywołuje konfiguracje specyficzne dla użytkownika.
czego mi brakuje?
Dzięki
EDYCJA: po badaniu dowiedziałem się, że inne reguły /etc/fonts/conf.d
zastępują konfigurację użytkownika, więc link user.conf
do 00-user.conf
pomógł. Nadal jest to tylko częściowy sukces, ponieważ mogę określić, które czcionki powinny zostać zastąpione, ale wybrany przez nas zamiennik jest ignorowany: innymi słowy, mogę uczynić Helvetica
niepoprawnym, a system wraca do następnej czcionki (tj. W przeglądarce pobiera następną czcionkę określoną w arkuszu stylów, jeśli nie ma żadnej, wyświetla standardową czcionkę bezszeryfową).
źródło
Odpowiedzi:
Myślę, że brakowało atrybutu wiązania w konfiguracji. (zobacz także fonts-conf ). W zależności od innej konfiguracji powiązanie „tego samego” lub „silnego” może prawdopodobnie działać, podczas gdy „słabe” może nie dać ci tego, czego chcesz.
źródło
binding
atrybutu robi różnicę. Używam fontconfig-2.8.0.Sądzę, że mechanizm aliasu by na to zadziałał:
źródło
<accept>
ma pierwszeństwo, gdy czcionka nie jest zainstalowana,<prefer>
ma pierwszeństwo, niezależnie od tego, czy czcionka jest zainstalowana..conf
plik zawierający tę regułę zostanie przeczytany jako pierwszy.binding="strong"
jest używany wraz z<alias>
elementem!Czy „lista FC” faktycznie pokazuje „Helvetica”? Co mówi fc-match? Na moim pudełku (F-12) dostaję:
Być może musisz również dodać aliasowaną czcionkę do zamiany.
źródło
Podobny problem napotkałem, próbując pseudonimu Helvetica jako rodziny bezszeryfowej. Dla każdego, kto dotknie ten sam problem, spójrz na konfigurację systemu, w
/etc/fonts/conf.d/
której będą zawarte linki do plików z/etc/fonts/conf.avail
. Musiałem usunąć wiele z tych aliasów, aby uzyskać deterministyczne zachowanie.źródło