196
Desktop / Re:Jak vypnout čínské, japonské a další non-latin varianty písma?
« kdy: 19. 04. 2021, 20:53:43 »Koukněte ještě na příkazy fc-* (fc-list, fc-cat, ...) - možná tam najdete něco užitečného k filtrování fontů.Díky za navedení správným směrem. Zjistil jsem, že existuje fontconfig. Takže jsem vytvořil soubor ~/.config/fontconfig/fonts.conf s tímto obsahem:
Kód: [Vybrat]
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->
<!-- http://www.freedesktop.org/software/fontconfig/fontconfig-user.html -->
<selectfont>
<rejectfont>
<pattern>
<patelt name="charset">
<!-- CJK Symbols and Punctuation -->
<charset>
<int>0x3010</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Armenian -->
<charset>
<int>0x570</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Arabic -->
<charset>
<int>0x660</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Tamil -->
<charset>
<int>0xb83</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Devanagari -->
<charset>
<int>0x960</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Bengali -->
<charset>
<int>0x996</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Ethiopic -->
<charset>
<int>0x1220</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Georgian -->
<charset>
<int>0x10a0</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Hebrew -->
<charset>
<int>0xfb1d</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Thai -->
<charset>
<int>0xe01</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Gurmukhi -->
<charset>
<int>0xa01</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Malayalam -->
<charset>
<int>0xd20</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Oriya -->
<charset>
<int>0xb20</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Gujarati -->
<charset>
<int>0xa81</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Telugu -->
<charset>
<int>0xc01</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Kannada -->
<charset>
<int>0xc82</int>
</charset>
</patelt>
</pattern>
</rejectfont>
<acceptfont>
<pattern>
<patelt name="charset">
<!-- Mathematical Operators (*) -->
<charset>
<int>0x2217</int>
</charset>
</patelt>
</pattern>
<pattern>
<patelt name="charset">
<!-- Mathematical Operators (/) -->
<charset>
<int>0x2215</int>
</charset>
</patelt>
</pattern>
</acceptfont>
</selectfont>
V bloku "rejectfont" se fonty blacklistují a z tohoto blacklistu se pak v bloku "acceptfont" whitelistují. Nelze fonty jen blacklistnout, protože třeba "DejaVu Sans" obsahuje arabské i latin znaky a kdybych jen blacklistnul arabské znaky, tak deaktivuju celý "DejaVu Sans". Zjistil jsem, že ve všech těch čínsko-japonsko-bengálských znacích se nevyskytuje "*" a "/", proto jsou tyto znaky whitelistovány.
Pro hledání Unicode kódů mi byla nápomocná wikipedie.
Na mém Manjaru jsem výše uvedeným configurákem zakázal tyto konkrétní fonty:
Kód: [Vybrat]
TSCu_Times
Akaash
Mukti Narrow
Droid Arabic Kufi
orya
Droid Sans Ethiopic
Droid Sans Thai
Pothana2000
Droid Arabic Naskh
Likhan
Gargi\-1.2b,Gargi,edio,smita
malayalam
Droid Sans Devanagari
Droid Sans Japanese
Droid Sans Georgian
TAMu_Maduram
MalOtf
Sagar
AkrutiTml2
AkrutiTml1
Droid Sans Arabic
Droid Sans Hebrew
TSCu_Comic
GurbaniBoliLite
Sampige
TAMu_Kalyani
TAMu_Kadambri
Droid Sans Tamil
padmaa,padmmaa
Droid Sans Armenian
Droid Naskh Shift Alt
Možná se bude výše uvedený konfugurák někomu hodit a možná by šel ještě nějak vylepšit, aby fungoval i pro jiné distribuce. A možná, že se už něco takového někde na githubu válí.
: