O webu
Font-feature-settings

Pro vytvoření lépe čitelného textu a lepší přenositelnosti písem vznikl tzv. formát OpenType. Tento formát umožňuje, aby v souboru s písmy bylo mnohem více symbolů. To má tu výhodu, že OpenType písmo může kromě standardních znaků a diakritiky nabízet i více variant téhož znaku, třeba závislých na kontextu a podobně.

Jde tak vytvořit i spojité písmo, kde se přirozeně napojují jednotlivé znaky. Daní za to je potom případná větší datová náročnost.

Podpora

Funkční od IE 10, Chrome 16, Firefoxu 4.

Zápis

Nejprve je potřeba pravidlem @font-face připojit OpenType písmo:

@font-face {  
  font-family: 'Název';  
  src: url('pismo.otf') format('opentype');  
} 

Následně ho nastavit nějakému prvku a konečně použít font-feature-settings (momentálně vyžaduje prefixy):

element {
  font-feature-settings: 
    "vlastnost" hodnota, 
    "dalsi-vlastnost" hodnota
}

Hodnota bývá většinou 0 nebo 1 ve smyslu zapnuto/vypnuto, jednotlivé hodnoty je možné kombinovat. Funkčnost stojí a padá na podpoře dané vlastnosti přímo v použitém fontu.

Vylepšení

Z pohledu webových stránek jsou zajímavé vlastnosti jako je:

  • Kontextové alternativy – písmena mohou mít různé varianty, které se použijí dle kontextu. Je tak možné vytvořit spojité písmo.

    font-feature-settings: "calt" 1

    Calt je zkratka pro Contextual Alternates.

    Na následujícím pohyblivém obrázku je například písmeno „i“ ve 3 variantách (nespojené, spojené a na začátku slova).

    Spojování písem

  • Vyrovnání (Kerning) – přizpůsobení vzdáleností mezi určitými písmeny, aby více lahodily oku.

    font-feature-settings: "kern" 1

    Na obrázku kerning zmenší zbytečně velkou mezeru mezi „A“ a „T“.

    Vyrovnání písem

  • Svazování (Ligatura) – optické spojení více písmen v jeden znak. Příkladem budiž například „fi“ nebo „fl“.

    font-feature-settings: "liga" 1
    Svazování písem

  • Zlomky – hezčí podoba zápisu zlomků, kdy je čitatel i jmenovatel vertikálně odlišen. Simulovat to někdy lze pomocí speciálních znaků: 3/4 vs. ¾.

    font-feature-settings: "frac" 1
    Zlomky

  • Různá velikost čísel – někdy může lépe vypadat, když mají číslice různou velikost.

    font-feature-settings: "onum" 1

    Zkratka onum znamená Oldstyle number (starý styl čísel). Tento styl používá například písmo Georgia (ukázka).

    Různé varianty čísel

OpenType písma

Aby speciální vlastnosti mohly fungovat, musí je podporovat dané písmo. Moc jich zatím není a zdarma ještě méně.

Specifikace

V CSS specifikaci jsou potom místo zápisu prostřednictvím font-feature-settings uvedeny přímo font-* vlastnosti.

  • font-variant-ligatures
  • font-kerning
  • font-variant-position
  • font-variant-caps
  • font-variant-numeric
  • font-variant-alternates

Odkazy jiam