Własność CSS font-variant-alternates umożliwia wybór obecnych w fontach alternatywnych zestawów glifów, którym nadano przyjazną dla użytkownika nazwę za pomocą reguły @font-feature-values
.
Niektóre fonty, oprócz domyślnego zestawu glifów, mogą zawierać ich różne alternatywne wersje, na przykład wersję historyczną albo kaligraficzną itd. Dzięki własności font-variant-alternates
można w wygodny sposób korzystać z tych dodatkowych odmian znaków.
Dostępność i liczba alternatywnych zestawów glifów zależą od fontu. Jeśli dana rodzina fontów zawiera alternatywne wersje glifów określonego rodzaju, to są one ponumerowane od 1 i za pomocą tych indeksów można się do nich odnosić na dwa sposoby.
Pierwsza, mniej zalecana, metoda polega na użyciu własności font-feature-settings
, która umożliwia korzystanie z różnych zaawansowanych właściwości fontów OpenType. Na przykład poniższa deklaracja wybiera pierwszą kaligraficzną wersję kroju pisma, który jest w użyciu (nazwa właściwości OpenType swsh
pochodzi od angielskiego słowa swash oznaczającego właśnie pismo kaligraficzne):
Druga, bardziej zalecana, technika polega na użyciu reguły @font-feature-values
, która umożliwia zdefiniowanie aliasu dla wybranego indeksu alternatywnego zestawu glifów i użycie tego aliasu jako wartości własności font-variant-alternates
. Jest to wygodniejszy i przyjaźniejszy dla użytkownika sposób posługiwania się dodatkowymi glifami. Spójrz na poniższy przykład:
Rodzina fontów Zap Fino Extra LT Pro zawiera zestaw glifów kaligraficznych, który został użyty w powyższym przykładzie. Normalnie tekst wyrenderowany przy użyciu tego fontu wygląda tak*:
A tak wygląda tekst wyrenderowany przy użyciu kaligraficznej wersji glifów z tego fontu:
Można powiedzieć, że własność font-variant-alternates
i reguła @font-feature-values
to wzajemnie uzupełniająca się nierozłączna para.
Wartości i składnia
Wartością własności font-variant-alternates
może być słowo kluczowe normal
albo dowolna liczba (nie mniejsza od jeden) rozdzielanych spacjami elementów z poniższej listy:
- normal
- Wyłącza alternatywne zestawy glifów.
- historical-forms
- To słowo kluczowe włącza historyczne formy znaków, czyli takie, które były używane w przeszłości, ale już wyszły z użycia. Odpowiada ono tagowi OpenType
hist
. - annotation(identyfikator)
Włącza różne adnotacyjne odmiany glifów, na przykład cyfry w okręgu, prostokącie, rombie itd. Parametr tej funkcji jest aliasem numeru właściwości OpenType
nalt
zdefiniowanym w regule@font-feature-values
np.:- character-variant(identyfikator)
Włącza specyficzne odmiany stylistyczne znaków, które nie muszą wspólnie tworzyć spójnego zestawu, tzn. mogą całkowicie różnić się wyglądem. Parametr tej funkcji jest aliasem właściwości OpenType
cvindeks
zdefiniowanym w regule@font-feature-values
(obecnie OpenType przewiduje wartości odcv01
docv99
), np.:- ornaments(identyfikator)
Włącza ornamenty, czyli zdobnicze elementy używane w typografii. Parametr tej funkcji jest aliasem numeru właściwości OpenType
ornm
zdefiniowanym w regule@font-feature-values
np.:Poniższy zrzut ekranu przedstawia kilka ornamentów obecnych w foncie Zap Fino Extra LT Pro:
- styleset(identyfikator)
Włącza alternatywne stylistyczne podzbiory znaków, np. różne warianty małych liter. Parametr tej funkcji jest aliasem właściwości OpenType
ssindeks
zdefiniowanym w regule@font-feature-values
(obecnie OpenType przewiduje wartości odss01
doss20
), np.:- stylistic(identyfikator)
Włącza alternatywne wersje stylistyczne pojedynczych znaków. Parametr tej funkcji jest aliasem numeru właściwości OpenType
salt
zdefiniowanym w regule@font-feature-values
np.:- swash(identyfikator)
- Włącza kaligraficzną odmianę znaków. Parametr tej funkcji jest aliasem numeru właściwości OpenType
swsh
zdefiniowanym w regule@font-feature-values
. Przykład jej użycia znajduje się na początku tej strony.
Zastosowanie
Własność CSS font-variant-alternates
ma zastosowanie do wszystkich elementów HTML.
Podsumowanie
Zastosowanie | Wszystkie elementy HTML |
---|---|
Obsługiwane wartości |
|
Wartość początkowa | normal |
Dziedziczenie | Tak |
Specyfikacja | CSS Fonts Module Level 4, własność font-variant-alternates |
* Źródło przypisu: Jan Himilsbach, Działka rosyjskiego boga