→Implementacja
Angelfrost (dyskusja | edycje) (Utworzono nową stronę "'''Ligatura''' to glif bądź znak utworzony poprzez połączenie dwóch lub więcej grafemów w jeden. Przykładem ligatury jest ''fi'', znak będący połączeniem li...") |
Angelfrost (dyskusja | edycje) |
||
Linia 4: | Linia 4: | ||
Ligatury były również wcześniej używane w międzynarodowym alfabecie fonetycznym IPA w celu znaczenia afrykat: ⟨ʦ ʣ, ʧ ʤ, ʨ ʥ⟩. Współcześnie stosuje się łuk nad dwoma osobnymi znakami w celu podkreślenia afrykacji: ⟨t͡s d͡z, t͡ʃ d͡ʒ, t͡ɕ d͡ʑ⟩, lub pod, jeżeli jest to czytelniejsze: ⟨t͜s d͜z, t͜ʃ d͜ʒ, t͜ɕ d͜ʑ⟩. Rzadszą, ale również współcześnie stosowaną notacją jest zapisanie końcowej fazy artykulacji w formie indeksu górnego: ⟨t<sup>s</sup> d<sup>z</sup>, t<sup>ʃ</sup> d<sup>ʒ</sup>, t<sup>ɕ</sup> d<sup>ʑ</sup>⟩. | Ligatury były również wcześniej używane w międzynarodowym alfabecie fonetycznym IPA w celu znaczenia afrykat: ⟨ʦ ʣ, ʧ ʤ, ʨ ʥ⟩. Współcześnie stosuje się łuk nad dwoma osobnymi znakami w celu podkreślenia afrykacji: ⟨t͡s d͡z, t͡ʃ d͡ʒ, t͡ɕ d͡ʑ⟩, lub pod, jeżeli jest to czytelniejsze: ⟨t͜s d͜z, t͜ʃ d͜ʒ, t͜ɕ d͜ʑ⟩. Rzadszą, ale również współcześnie stosowaną notacją jest zapisanie końcowej fazy artykulacji w formie indeksu górnego: ⟨t<sup>s</sup> d<sup>z</sup>, t<sup>ʃ</sup> d<sup>ʒ</sup>, t<sup>ɕ</sup> d<sup>ʑ</sup>⟩. | ||
== Implementacja == | |||
Pierwotnie ligatury były implementowane jako osobne znaki w danym systemie kodowania tekstu, co było dość problematyczne, gdyż w efekcie podmieniało znak i sprawiało, że ligatura była traktowana jako osobny symbol zamiast {{abbr|np.|na przykład}} połączenia ''f'' oraz ''i''. | |||
Część najpopularniejszych ligatur oraz niektóre ligatury historyczne są zawarte w Unikodzie, na przykład ''ff'', ''ffi'', ''ffl'', ''fi'', ''fl''<ref group="!">Powyższe znaki zostaną wyświetlone jedynie w przypadku, gdy użytkownik posiada odpowiednią przeglądarkę oraz fonty które obsługują powyższe znaki Unicode.</ref>. Standard jednak odradza stosowanie w taki sposób tych ligatur, argumentując, że ligatury służą do prezentacji tekstu, aniżeli jako osobne znaki. Oczywiście, nie tyczy się to znaków takich jak ''æ'' i ''œ'' które w niektórych językach są osobnymi grafemami. | |||
Obecnie za sprawą technologii OpenType środowiska do składu i prezentacji tekstu potrafią automatycznie zamieniać dane ciągi znaków na odpowiadające im ligatury zdefiniowane przez twórców fontów. Sprawia to, że unika się problemów z kodowaniem tekstu co umożliwia poprawne parsowanie tekstu. | |||
Współcześnie ligatury w fontach są implementowane jako następujące funkcje środowiska OpenType: | |||
* '''Ligatury standardowe''' ({{kod|liga}}) to domyślny zestaw ligatur stosowanych w celu zwiększenia czytelności tekstu. Funkcja ta jest w większości systemów włączona automatycznie. Najczęściej są tam zaimplementowane popularne sekwencje ''fi'', ''fl'', ''ff'', ''ffi'', ''ffl'', czasem również ''fj'' oraz ''ffj''. | |||
* '''Ligatury ozdobne''' ({{kod|dlig}}) to zestaw ligatur służących do zdobienia tekstu, najczęściej wywodzących się z kaligrafii, {{abbr|np.|na przykład}} ''Th'', ''ck'', ''tt'', ''ct'', ''st'', ''sp''. [[Plik:Odmiany kontekstowe.png|thumb|Przykład odmiany kontekstowej krótkiego ''f'' (prawo), które jest podmienane gdy znajduje się przed znakiem zapytania ''?'' w celu uniknięcia nieestetycznej kolizji.]] | |||
* '''Ligatury historyczne''' ({{kod|hlig}}) to zestaw ligatur historycznych. Jest on stosunkowo rzadko implementowany w porównaniu do ligatur ozdobnych; jednak jeżeli dany font wspiera tą funkcję, można tam najczęściej znaleźć archaiczne specjalne ligatury przeznaczone dla badaczy okresu średniowiecza i specjalistów mediewistyki. | |||
* '''Odmiany kontekstowe''' ({{kod|calt}}), pomimo że formalnie niekoniecznie są ligaturami to można je podobnie sklasyfikować, gdyż w zamyśle pełnią tą samą funkcję – na podstawie pewnych wytycznych podmieniają określony znak na inną jego wersję, zdefiniowaną przez autora fontu. Jednak jak sama nazwa wskazuje, to działanie zależy od kontekstu, a konkretnie od tego, w jakim sąsiedztwie znajduje się znak, który potencjalnie ma być podmieniony. Jako alternatywa do ligatury ''fi'' w niektórych fontach zdefiniowany jest wariant krótkiego ''f'', który jest podmieniany gdy ''f'' znajduje się przed ''i'', ''l'', '')'', {{abbr|etc.|et cetera}}, w celu uniknięcia niekorzystnych kolizji kształtów. Część fontów również tutaj implementuje dekoracyjne ''Q'' z wydłużoną wstęgą, gdy znajduje się przed ''u''. | |||
W praktyce jednak powyższy podział nie jest zobowiązujący i jest wiele fontów, które wyłamują się powyższym schematom. W skrajnym przypadku zestawy ligatur mogą się różnić również w zależności od wersji i dystrybucji. Przykładowo, Times New Roman w wersji dla systemów Microsoft Windows zawiera wszystkie ligatury łacińskie zaimplementowane jako ozdobne (tag {{kod|dlig}}), zaś wersja Timesa na macOS implementuje wspomniane ligatury jako standardowe {{kod|liga}}, przez co są domyślnie poprawnie zamieniane w tekście jedynie na macOS. | |||
Wiele fontów Adobe, {{abbr|m.in.|między innymi}} Minion Pro czy Utopia ponadto dołącza do zestawu ligatur standardowych stosunkowo nową ligaturę ''Th'', która zdaniem typografów jest zbędna i jedynie rozprasza – gdyż w porównaniu do pozostałych ciąg ''Th'' nie jest problematyczny i łączenie tych liter w ligaturę może jedynie zwracać na siebie przesadną uwagę. Późniejsze wydania, {{abbr|np.|na przykład}} Minion 3 zazwyczaj umieszczają ''Th'' w zestawie ligatur ozdobnych ({{kod|dlig}}). | |||
=== Microsoft Word === | |||
Microsoft Word wyłącza domyślnie wszystkie ligatury, głównie ze względu na kompatybilność wsteczną podczas edycji dokumentu we wcześniejszych wersjach Worda. Istnieje możliwość włączenia ligatur w oknie ''Czcionka'', w zakładce ''Zaawansowane'' w sekcji ''Funkcje OpenType''. | |||
=== CSS === | |||
W CSS-ie istnieje właściwość <code>font-variant-ligatures</code>, która może przyjmować następujące wartości: <code>common-ligatures</code>, <code>discretionary-ligatures</code>, <code>historical-ligatures</code> oraz ponadto <code>contextual</code> (dla odmian kontekstowych zdefiniowanych w {{kod|calt}}). | |||
== Użycie == | == Użycie == | ||
Linia 11: | Linia 34: | ||
.bookpage { | .bookpage { | ||
... | |||
font-family: 'Lato','Noto Sans',sans-serif; | font-family: 'Lato','Noto Sans',sans-serif; | ||
font-variant: no-common-ligatures; | font-variant: no-common-ligatures; | ||
... | |||
} | } | ||