Portál AbcLinuxu, 26. dubna 2024 10:13

Ruční konfigurace fontů pomocí textového editoru

24.11.2013 18:48 | Přečteno: 1834× | fonty

Byl jsem "nucen" si přečíst a alespoň částečně pochopit manuálovou stránku fonts-conf. Chtěl bych zde uvést podle mě nejdůležitější poznatky z jejího čtení. Berte to jako takový "výcuc" pro moje potřeby. Dle mě málo používané vlastnosti jsem vynechal.

Doporučuji (zatím) dávat konfiguraci fontů do ~/.fonts.conf, později můžete použít system-wide konfiguraci.

Bavím se tu o fontech v X Window System (konkrétně Xorg).

Trocha teorie

Knihovna Fontconfig se konfiguruje přes validní XML soubory. Minimální konfigurační soubor vypadá takto:

<?xml version="1.0"?>
            <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
            <fontconfig>
       ...
            </fontconfig>

<fontconfig></fontconfig>

Toto je hlavní značka (tag), která obaluje všechny ostatní značky (vybírám pro mě nejdůležitější):

<dir></dir>

Jejím obsahem je jméno adresáře, který bude prohledán na výskyt souborů s fonty, které budou zařazeny do množiny (seznamu) dostupných fontů.

<include></include>

Jejím obsahem je jméno konfiguračního souboru nebo adresáře. Všechny soubory *.conf v adresáři budou zpracovány v seřazeném pořadí.

<match></match>

V této značce se "testují" určité vlastnosti fontů (značky <test>) a pokud tomuto testování vyhovují (podmínka je splněna), tak se provede značkami <edit> určitá změna.

<test qual="any" name="property" target="default" compare="eq"></test>

Tato značka obsahuje jednu jedinou hodnotu, která se porovnává s hodnotou vlastnosti property (viz seznam vlastností pod <pattern>). Atribut compare může nabývat hodnot: eq, nebo not_eq nebo less nebo less_eq nebo more nebo more_eq nebo contains nebo not_contains (kdo zná aspoň trochu angličtinu a programování, tak není potřeba cokoli vysvětlovat).

<edit name="property" mode="assign" binding="weak"></edit>

Slouží ke změně vlastnosti property. mode může nabývat hodnot assign, nebo assign_replace, nebo prepend, nebo prepend_first, nebo append, nebo append_last, delete, delete_all (více info viz man fonts-conf, kdo zná angličtinu a programování, tak další nápovědu nebude asi ani potřebovat).

<alias></alias>

Obsahuje značku <family></family> následovanou volitelně značkami <prefer></prefer> nebo <accept></accept> nebo <default></default>

Fonty vyhovující dané rodině jsou upraveny tak, že v případě <prefer> budou tyto fonty v seznamu preferovaných rodin před danou rodinou. V případě <accept> se připojí do seznamu akceptovaných rodin za danou rodinu. V případě <default> se připojí na konec vychozích rodin.

<selectfont></selectfont>

Slouží pro zakázání/povolení fontů. Obsahuje:

<acceptfont></acceptfont>

a/nebo

<rejectfont></rejectfont>

Tyto značky slouží pro ochranu fontů před jejich zakázáním (acceptfont) a pro jejich zakázání (rejectfont). Obsahují tyto značky:

<glob></glob>

Slouží k výběru adresářů pomocí shellovských zástupných znaků. Lze např. i vybrat i určitý typ souborů s fonty (např. *.pcf.gz).

<pattern></pattern>

Slouží k výběru fontů podle jejich vlastností (tučnost, kurzíva apod.).

Podřízenou značkou je <patelt name="property"></patelt> Atribut name je povinný a může nabývat těchto hodnot (uvádím pro mě nejdůležitější): family, familylang, style, stylelang, fullname, slant, weight, pixelsize, spacing, antialias, hinting, hintstyle, autohint, file, outline, scalable, scale, dpi, rgba, lcdfilter, minspace, charset, lang, fontversion, prgname (podrobnější info viz man fonts-conf).

Patelt obsahuje tyto značky: <int></int> nebo <double></double> nebo <string></string> nebo <bool></bool> nebo <charset></charset> nebo <const></const>. (Myslím, že podrobnější komentář není ani třeba.)

<int></int> <double></double> <string></string> <bool></bool> <range></range>

Tyto značky uchovávají jednu jedinou hodnotu daného typu (neplatí pro <range>). <range> obsahuje dvě hodnoty typu <int> (začátek a konec intervalu). Není snad třeba cokoli vysvětlovat.

<name></name>

Obsahuje název vlastnoti fontu. Pokud se kouknete do man fonts-conf, tak tam najdete celou tabulku vlastností. V popisu <pattern> zde v tomto zápisku naleznete skoro všechny možné vlastnosti.

<or> <and> <not> <plus> <minus> <times> <divide>

<eq> <not_eq> <less> <less_eq> <more> <more_eq> <contains> <not_contains>

Není snad třeba vysvětlovat.

<if></if>

Tato značka obsahuje tři výrazy (značky). V případě, že první výraz je pravdivý, tak navrátí hodnotu druhého, jinak navrátí hodnotu třetího.

<family></family>

Není snad třeba vysvětlovat.

<const></const>

Obsahuje název konstanty. Více viz man fonts-conf. Jsou to např.: normal, medium, bold, roman, italic, proportional, mono...

Praktické příklady, anebo konečně praxe!

Zde bych chtěl uvést pár odkazů na praktické používání:

Manuálová stránka fonts-conf, praktické příklady v ní najdete ke konci.

wiki.archlinux.org: Font Configuration obsahuje spoustu kvalitních informací tykajících se fontů.

wiki.gentoo.org: Na Gentoo Wiki naleznete kvalitní informace tykájící se konfigurace fontů.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.