Wie mache ich manuell installierte Schriftarten für alle Anwendungen verfügbar, ohne `fc-cache -f 'auszuführen?

414
dirlago

Mit dpkgneuen Schriftarten werden Sie in kürzester Zeit installiert und nutzbar. Wenn ich eine Schriftart manuell hinzufüge, muss ich sie verwenden fc-cache -f, was sehr viel Zeit in Anspruch nimmt. Wie installiere ich Schriftarten manuell nach dpkg? Wie macht dpkg sie für alle Anwendungen zugänglich, ohne sie auszuführen fc-cache -f?

1
Was ist mit "-f"? Es sollte nicht nötig sein, * alles * neu zu generieren. Daniel B vor 6 Jahren 2
@DanielB Warum empfiehlt ** jeder ** fc-cache -f in seinem Tutorial, wie man eine Schrift installiert? dirlago vor 6 Jahren 1
dpkg arbeitet mit einer Quelle, die bereits verarbeitet wurde. Manuell ist es nicht. fixer1234 vor 6 Jahren 0
Nicht ganz richtig. Anscheinend funktioniert es so oder so. Also empfehlen sie das `-f` * nur für den Fall *. (Um alle vorstellbaren Fälle abzudecken.) dirlago vor 6 Jahren 0
Warum? Es tut sicherlich nicht weh. Jeder tut es auch, also muss es richtig sein. Es ist im Wesentlichen ein [Cargo-Kult] (https://en.wikipedia.org/wiki/Cargo_cult_programming). Daniel B vor 6 Jahren 0

1 Antwort auf die Frage

1
bertieb

Wie können Sie Zeichensätze zugänglich machen, ohne sie auszuführen fc-cache -f

Laufen Sie nicht fc-cache -f!

Zumindest auf meinem System (Arch) werden Zeichensätze aufgenommen, sobald sie in einem Verzeichnis gespeichert werden, das fontconfig bekannt ist (und der Cache automatisch neu erstellt wurde).

fc-cache -f erzwingt eine Neuerstellung des Font-Caches

Auf der Manpage für fc-cache :

-f Force re-generation of apparently up-to-date cache files,  overriding the timestamp checking. 

Aber wenn der Font-Cache nicht aktualisiert werden muss, warum sollten Sie ihn zwingen?

Sie können fc-cachestattdessen ohne Argumente ausführen . Das Arch-Wiki enthält weitere Vorschläge :

Um systemweite Schriftarten (für alle Benutzer verfügbar) zu installieren, verschieben Sie den Ordner in das Verzeichnis / usr / share / fonts /. [...]

Aktualisieren Sie dann den fontconfig-Zeichensatz-Cache: ( Dies ist normalerweise nicht erforderlich, da Software, die die fontconfig-Bibliothek verwendet, dies tut.)

 $ fc-cache 

(Hervorhebung meines)

Beispiel

Ich habe die Schriftart Titillium Web nicht installiert:

grep -i titi gibt nichts zurück

Also habe ich es heruntergeladen (permissive license, OFL!) Und die ttf-Dateien nach kopiert /usr/share/fonts/TTF. Ich wollte fc-cache(sans -f) laufen, um zu sehen, ob der Cache aktualisiert werden musste, aber zuerst las ich fc-list | grep -i titi:

oh da sind sie (die Schriftarten)

Das Gif hält eine Weile inne, bevor es sich wiederholt, da ich etwas überrascht war, dass der Font-Cache aktualisiert wurde

Und sie waren bereits zwischengespeichert worden! Sie standen erwartungsgemäß für Bewerbungen zur Verfügung. Keine Notwendigkeit fc-cacheund definitiv keine Notwendigkeit, es zu erzwingen -f.