Felesleges fontok letiltása

Felesleges fontok

Rengeteg betűtípust telepítenek a linuxos rendszerekre, és emiatt a grafikus szerkesztőkben vagy szövegszerkesztőkben a betűtípusok görgető listája fájdalmasan meghosszabbodik.
Ahogy a képen is látni, idegen karakterek, amikre nekem nem lesz soha szükségem
Eddig grafikus fontkezelőket használtam a betűtípusok elrejtésére, vagy kézzel töröltem azokat a betűtípusokat, amelyeket nem akartam. De valahogy ezek a nem kívánt betűtípusok mindig visszakúsztak, amikor hátat fordítottam. Vagy valami függőség miatt, vagy egyéb elvárások miatt újra és újra ott lesznek a listában. Én egyik nyelv betűivel sem írok, elég nekem a magyar és az szabvány latin karakterkészlet.

Több megoldást olvastam, de egyik sem volt univerzális, hiszen vagy egy csomagkezelőhöz kötött, vagy egy-egy plusz programot kívánt, de sok volt ami működött ideiglenesen, de egy frissítés után már újra előkerültek.

A megoldás:

A ~/.config/fontconfig/fonts.conf segítségével találtam megoldást. Ez egy általános megoldás. Nem kell hozzá emelt jog, ami előnyös lehet, ha valaki nem szeretné szerkeszteni a rendszerjoghoz kötött állományokat.
Itt is az első lépés a mentés. Bár nagyon elszúrni nem lehet, hiszen sima copy-paste a dolog, de az óvatosság nem árt.

Majd nyisd meg a kedvenc szerkesztőddel, amit ismersz és jól tudsz használni.
Már valószínűleg elég sok bejegyzés van, azokhoz ne nyúlj, mert nem feltétlen lesz jó, ha beletörölsz. Majd menj a végére és

<fontconfig>

sor elé illeszd be ezt a részt:

<selectfont>
    <rejectfont>
       <glob>/usr/share/fonts/noto/Noto*</glob>
       <glob>/usr/share/fonts/gsfonts/*</glob>
       <glob>/usr/share/fonts/TTF/DejaVuMathTeX*</glob>
       <glob>/usr/share/fonts/TTF/odo*</glob>
       <glob>/usr/share/fonts/mathjax2/*</glob>
       <glob>/usr/share/fonts/croscore/*</glob>
    </rejectfont>
    <acceptfont>
       <glob>/usr/share/fonts/noto/NotoSans-*</glob>
       <glob>/usr/share/fonts/noto/NotoSerif-*</glob>
       <glob>/usr/share/fonts/gsfonts/NimbusMono*</glob>
       <glob>/usr/share/fonts/gsfonts/NimbusRoman*</glob>
       <glob>/usr/share/fonts/gsfonts/NimbusSans*</glob>
       <glob>/usr/share/fonts/gsfonts/URW*</glob>
    </acceptfont>
 </selectfont>
 

Ahogy látni van egy reject rész, amivel letiltunk egy csomó font családod, és van egy olyan, amivel engedélyezzünk egy részt. A felépítése egyszerű, azokat kell kikeresni a látható útvonalon ami nem kell, és ki kell logikázni, hogy melyek azok, akik kellenek. Az első példáján végigmenve: letiltottul az összes Noto-val kezdődő fontot, majd engedélyeztük azt, aminek az eleje NotoSans- és NotoSerif-. Bár elsőre nagyon sok munkának tűnik, de nem olyan nehéz, mint ahogy látni.
Ezek után már kevesebb idegen karakterű típust látunk, ami a gyorsabb munkát segíti.
Ha még ezentúl is lesznek (lesznek...) ilyen sorok a fontlistában, akkor azokat a megfelelő helyre be kell majd írni, de a fenti pár szabály kiszedi a legtöbbet.

Miért ne töröljük, távolítsuk el?

Mert több környezet elvárja őket és elég helytelenül függőségnek tekinti, a lokalizációtól függetlenül. Ilyen a KDE is, aminél ha ezeket leszeded, vagy törlöd, akkor a következő frissítésnél visszarakhatja. Ezzel a megoldással ott lesznek a fontok, csak nem jelenik meg annál a felhasználónál, aki a saját konfigurációjában ezeket letiltotta.

A megoldást 2023. februárjában Arch Linux alatt teszteltem!