Configura fontconfig per ignorare le bitmap nei caratteri scalabili


12

Ho i Microsoft C-Fonts installati e sono meravigliosi. Tuttavia, Calibri appare come un carattere bitmap in molte dimensioni che appare. Come posso dire a fontconfig di impedire a Calibri (e Cambria, ecc.) Di essere riprodotto dalle bitmap incorporate? Ho già 70-no-bitmaps.confnella mia /etc/fonts/conf.d/directory.

I caratteri in questione possono essere estratti dal Visualizzatore di PowerPoint .


AFAIK quei caratteri non sono liberamente distribuibili? (Quindi non posso provarli.) Ma sei sicuro che usano bitmap e non disabilitano solo l'antialiassing?
JanC

@JanC I caratteri usano effettivamente bitmap prerenderizzate.
Paul Fisher,

Risposte:


19

/etc/fonts/conf.d/70-no-bitmaps.confrifiuta solo i caratteri bitmap, non disabilitano le bitmap incorporate, come è il caso qui. Non so perché non abbiano impostato le impostazioni per disabilitare le bitmap incorporate nello stesso file conf. Ad ogni modo, inserisci quanto segue nel tuo ~/.config/fontconfig/conf.d/20-no-embedded.conf(o, per le versioni precedenti di Ubuntu, in ~/.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>

Ciò disabiliterà la bitmap incorporata per tutti i caratteri. Se vuoi disabilitare solo per determinati caratteri, aggiungi <test>elemento:

<test name="family" compare="contains">
  <string>Calibri</string>
  <string>Cambria</string>
</test>

prima <edit ....


Dovrebbe essere inserito in /etc/fonts/conf.d, o meglio in /etc/fonts/conf.avail e collegato a conf.d, come tutti gli altri file di configurazione? È riservato ai file di configurazione forniti dalla distribuzione Ubuntu? Importa?
Knb

1
@knb per impostazione predefinita Ubuntu / Debian, fontconfig caricherà anche qualsiasi cosa ~/.fonts.conf.d/. Quindi ti consiglio di metterlo lì per evitare confusione con le configurazioni di sistema. A meno che non si desideri renderlo disponibile a tutti gli utenti, è possibile inserirlo /etc/fonts/conf.do availcollegarlo e ricollegarlo conf.dper utilizzarlo quando serve (è possibile eliminare il collegamento simbolico quando si desidera accenderlo, viceversa)
Syockit,

3
Con le versioni correnti di fontconfig, il nome del file deve essere ~/.fonts.conf.d/20-no-embedded.confche non verrà caricato se non è preceduto da un numero. Esegui ad esempio FC_DEBUG=1024 geditper vedere se la tua configurazione è caricata se non sembra avere alcun effetto.
Pascal,

@pascal +1 per FC_DEBUG. E no, il numero prima del nome non era necessario su 10.04 LTS, basta averlo chiamato .fonts.config. A quale versione di fontconfig ti riferisci?
LAFK dice di reintegrare Monica il

1

Nell'esempio fornito hai l'attributo "<stringa>" menzionato due volte nella stanza "<test>". Ciò provoca un avviso su Ubuntu 13.10 e 14.04. Per eliminare l'avviso, la stanza nel file dovrebbe apparire come:

<?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>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.