FAQ grupy pl.comp.dtp

Powrót do części o fontach

Część 2.1.7 – Po co nam fonty Open Type?

Od redaktora: Tekst ten został wysłany na grupę przez Adama Twardocha jako dwa uzupełniające się posty. Pozwoliłem sobie je skleić i dołączyć tu, gdyż jest to ważne i ciekawe, a nie wszyscy potrafią sprawnie przeszukiwać archiwa grup.
MW.
Funkcje zecerskie OpenType wymyślone zostały nie w celu typograficznej "dekoracji" tekstu, ale w zupełnie innym celu: aby w ogóle umożliwić pisanie tekstu w niektórych językach zgodnie z ich ortografią. Języki oparte na systemach pisma takich jak arabski, hebrajski, dewanagari czy tajski (i wiele innych) mają zasady ortograficzne bardziej skomplikowane od językach używających alfabetu łacińskiego. Wiele z tych systemów pisma to systemy pisma łączonego, gdzie kształt liter zmienia się w zależności od położenia.
W alfabecie łacińskim istnieją dwie podstawowe formy liter: wielkie i małe. W piśmie arabskim dla każdej litery istnieją cztery takie formy – początkowa, środkowa, końcowa i wolno stojąca:

W niektórych kontekstach (tj. przed pewną konkretną literą, albo po pewnej konkretnej literze), litery dodatkowo przyjmują formy alternatywne, albo składają się w ligatury. Na ilustracji poniżej pokazałem u góry słowo arabskie złożone litera po literze (l + h + q) z form wolno stojących. Oczywiście górna czerwona forma jest niepoprawna. U dołu pokazałem to samo słowo, ale złożone z użyciem form odpowiednio dobranych w zależności od kontekstu (początkowe l, środkowe h i końcowe q). Dolna czerwona forma pokazuje, jak prawidłowo powinno wyglądać to słowo.

W piśmie łacińskim wielkie i małe litery niosą ze sobą różnicującą informację sematyczną ("kowalski" i "Kowalski" to co innego). W związku z tym naturalne jest, że litery te kodowane są osobno. W piśmie arabskim jest inaczej – nie istnieje "kasztowość" pisma czyli rozróżnienie liter wielkich i małych. "h" pozostaje literą "h" niezależnie od tego, czy czy znajduje się na początku, w środku czy na końcu wyrazu. Jedynie forma zewnętrzna tego znaku się zmienia. Dlatego każda litera arabska zakodowana jest w tekście przy użyciu jednego kodu. Natomiast zadaniem procesora tekstu jest odpowiednia poprawna prezentacja tekstu na ekranie. Oczywisty przykład: jeżeli wstawię kursor w środek arabskiego słowa i nacisnę spację, wówczas otaczające kursor litery powinny automatycznie się zmienić z form środkowych w, odpowiednio, początkową i końcową, a między nimi powinna pojawić się spacja.
No i do tego właśnie (w dużym uproszczeniu) wymyślony został przede wszystkim OpenType. Wcześniej, przed opracowaniem tego formatu, nie istniał żaden wspólny system kodowania czy składania w tych językach. Istniały specjalizowane, zupełnie niekompatybilne ze sobą rozwiązania. W OpenType zaimplementować można natomiast, w każdym foncie, mechanizmy dające dostęp to tych wszystkich znaków alternatywnych. Robi się to w foncie, gdyż każdy font może mieć inny zestaw znaków i inny repertuar takich funkcji. Oprócz podmiany indywidualnych znaków w foncie OpenType implementuje się też pozycjonowanie akcentów w locie. To znów sprawa bardzo istnotna np. dla języka arabskiego (ale też dla wielu innych, których ortografia jest jeszcze bardziej złożona, więc nie będę tego tu wyjaśniał). Pismo arabskie to kombinacja "szlaczków" oznaczających spółgłoski i "ptaszków" oznaczających samogłoski. W potocznej arabszczyźnie zapisuje się tylko spółgłoski, ale w tekstach eleganckich czy oficjalnych, a także oczywiście w Koranie, zapisuje się też samogłoski. W zależności od danej kombinacji spółgłosek w słowie, dokładna pozycja fruwających nad nimi samogłosek może się zmieniać. Można to sobie wyobrazić jako taki kontekstowy kerning w obu wymiarach (x i y).

Na ilustracji powyższej pokazałem skład arabski z samogłoskami. To to samo wyrażenie (oznaczające "laboratorium pism", czyli przetłumaczoną na arabski nazwę firmy FontLab) napisane dwa razy. Układ typograficzny jest różny, gdyż to dwa alternatywne warianty stylistyczne tego samego wyrażenia. Tu faktycznie decydują kwestie estetyczne. Ale istotne jest to, co napisałem na temat samogłosek. Jak widzimy, drugi ptaszek od prawej jest położony albo bardzo wysoko (w pierwszym przykładzie) albo bardzo nisko (w drugim przykładzie). To właśnie efekt dynamicznego pozycjonowania w zależności od tego, jaką formę literową wybraliśmy i czy w okolicy znajdują się jeszcze inne samogłoski.
Ta informacja o miejscu zawieszenia samogłoski musi się oczywiście różnić w każdym kroju pisma – wszystko zależy od stylu i rysunku danego kroju, od tego czy jest to krój tekstowy i ozdobny, od repertuaru znaków i obsługiwanych języków (np. tylko arabski, czy również perski) itp.
Ponieważ poprawnie pod względem ortograficznym redakcja tekstów w złożonych systemach pisma takich jak arabski wymaga istnienia mechanizmów takich jak kontekstowa zamiana znaków pisma (glfów), wstawianie ligatur czy dynamiczne pozycjonowanie znaków względem siebie w dwuwymiarowym układzie współrzędnych, zaimplementowano je w OpenType. Podczas projektowania formatu okazało się, że "tanim kosztem" można jednocześnie dodać funkcje typograficzne pozwalające na uzyskanie eleganckiej typografii również w językach europejskich. Niektóre funkcje typograficzne, takie jak ligatury ozdobne (jak pokazana na ilustracji ligatura "ct") czy kapitaliki powinny się znaleźć w profesjonalnych programach edytorskich takich jak InDesign, gdzie skład tekstu odbywa się pod kontrolą profesjonalnego typografa. Takie funkcje zecerskie można by nazwać "efektowymi".

Istnieje jednak cała masa funkcji zecerskich które mogą, a nawet powinny znaleźć się w każdym edytorze tekstu. Choćby kontekstowy dobór znaków pisarskich, taki jak pokazano na ilustracji:

Jeśli odwrócony znak zapytania używany w języku hiszpańskim pojawi się w składzie wyłącznie wersalikowym, wówczas powinien on zostać podsunięty do góry o dystans zwykle odpowiadający długości wydłużeń dolnych danego kroju pisma. Podobnie o kilka procent powininny zostać podniesione nawiasy. Gdy użytkownik wpisze jakąś cyfrę we frakcji górnej, wówczas – gdy dany font zawiera takie, osobno zaprojektowane cyfry – powinny one zostać zastosowane automatycznie zamiast mechanicznie pomniejszonych cyfr podstawowych (które zwykle po pomniejszeniu okazują się za "lekkie").
Tego typu funkcje zecerskie robią właśnie to, na co wskazuje ich nazwa – zastępują (choćby po części) zawodowego zecera. Nie widzę powodu, dlaczego takie usprawnienia nie miałyby się znaleźć w każdym programie, w którym pojawia się tekst – czy to na ekranie, czy na papierze. Nie widzę powodu, dlaczego nie tylko Word, ale i mój program do obsługi poczty elektronicznej nie miałby przedstawiać tekstu w sposób estetyczny. Dość mam już podwójnych dywizów w miejsce myślników, niepolskich cudzysłowów i innych takich prymitywnych rozwiązań.
Poprawna typografia jest tak samo ważna jak poprawna ortografia, choć wielu tego nie zauważa. Poprawna typografia przyspiesza i ułatwia czytanie i rozumienie tekstu. Stawiam tezę, że im lepsza typografia, tym mniej wtórnych analfabetów (oczywiście nie mówimy to o odchyleniach kilkudziesięciu- a jedynie kilkuprocentowych, ale to już coś).
Każdy tekst, jaki czyta przeciętny użytkownik, powinien być złożony i przedstawiony w sposób jak najlepszy. Nie ma znaczenia, czy to jest news na stronie internetowej, szyld budki z hamburgerami, menu w restauracji, artykuł w gazecie codziennej czy album poezji. Oczywiście stylistyka formy graficznej powinna oddawać styl przekazu, ale w żadnym wypadku nie powinno dochodzić do kompromisów jakościowych. Nawet jeżeli kupujemy koszulę za 10 zł, a nie za 250, to nie chcemy, by po dwóch tygodniach noszenia urwał nam się guzik. Nie chcemy, by klamka, nawet w toalecie publicznej, urywała się, gdy za nią chwytamy. Podobnie pewien poziom jakości powinien być zachowany w przypadku tekstu.
TYLKO WTEDY przeciętny klient będzie w stanie docenić wysoką jakość pracy typografa czy operatora DTP. Porównując rynek usług DTP w Niemczech i w Polsce zauważam, że przeciętny klient niemiecki szybciej zauważa, że tekst jest złożony "brzydko". Dlaczego tak się dzieje? To nie kwestia jakichś wrodzonych predyspozycji. Dzieje się tak dlatego, że w swoim życiu przeciętny Niemiec (z Zachodu) częściej niż przeciętny Polak styka się – na co dzień! – z dobrą typografią. Gazety codzienne, beletrystyka, czasopisma, napisy w telewizji, szyldy na stacjach kolejowych, rozkłady jazdy, tablice informacyjne itd. – wszystko to od lat, uśredniając, jest w Niemczech publikowane na wyższym poziomie jakości. Oko ludzkie trenuje się na tym – podświadomie. Nawet jeśli nie potencjalny klient w sposób świadomy nie jest w stanie opisać, co mu się nie podoba, jednak wychwyci typograficzną tandetę. W Polsce ludzie mają w tej chwili znacznie mniej punktów odniesienia. Niewielki procent ludzi miało styczność z *naprawdę pięknie* wydanymi książkami.
Dlatego właśnie typografia powinna wchodzić pod strzechy. Typografia to nie jest jakieś fiu-bździu dla zamożnych. Jest to jedna – przyznam, malutka, ale jednak – cegiełka w budowaniu sprawności umysłowej człowieka. Jak już pisałem, stawiam tezę (trudną niestety do udowodnienia), że dobrze złożone książki i gazety powodują, że wiedzę przyswaja się szybciej i łatwiej. Odwracając tę tezę – jeżeli ktoś wychowa się na słowie drukowanym podanym w sposób niechlujny, ta niechlujność w pewnym stopniu odbije się na nim. To trochę jak pylica płuc u górników – nie nabawisz się jej po jednym dniu wizyty w kopalni, ale jeśli przepracujesz tam 20 lat...
W dzisiejszych czasach Internet i komputery stanowią bardzo ważne źródło, z którego szczególnie dzieci i młodzież czerpią wiedzę. Typograficzna jakość prezentacji tekstu w mediach elektronicznych na razie pozostaje daleko za tym, co dobry typograf może stworzyć na papierze. Ale postęp techniki pozwala na zmiany.
Podam przykład: Microsoft Word posiada sprytny mechanizm automatycznego rozpoznawania języka, w którym napisany jest dany tekst. Jeżeli piszemy tekst po polsku, naciśniemy klawisz cudzysłowu, wpiszemy jakieś słowo i naciśniemy klawisz cudzysłowu ponownie, Word automatycznie poprawi znaki cala na prawdziwe polskie cudzysłowy. Podobnie stanie się z tekstem angielskim, czeskim, niemieckim czy francuskim. Gdyby funkcja ta wymagała jakichś ręcznych ustawień, wówczas 99% dokumentów tworzonych w Wordzie straszyłaby obrzydliwymi znakami cala. Po 10-15 latach stałoby się to normą i piękna, a przede wszystkim pożyteczna tradycja poszłaby w niepamięć. Podobnie, Word sprytnie zamienia dywizy na półpauzy. W przyszłych wersjach będzie też wstawiał pasujące pod względem typograficznym znaki we frakcji górnej i dolnej, korygował położenie znaków pisarskich (np. nawiasów) w zależności od tego, czy tekst pisany jest wersalikami czy normalnie, automatycznie korzystał z kerningu i tak dalej.
Ponieważ Microsoft (a także Apple) obsługę funkcji zecerskich wbudowują na poziomie systemu operacyjnego, można przyjąć, że zabiegi te wykonywał będzie nie tylko Word, ale także PowerPoint, Keynote, Internet Explorer, Safari, Outlook czy Mail. Gdy użytkownik przyzwyczai się do tego, że komputer bez jego wiedzy i ingerencji serwuje mu porządnie złożony tekst, wówczas łatwiej mu będzie dojrzeć typograficzne babole. No i – w przypadku usług DTP – zacznie rozróżniać między tym, który produkuje typograficzne buble a tym, który zna się na rzeczy.

Jeszcze jeden przykład:

To nowy krój o nazwie Gracia projektu mojego kolegi Andreasa Seidela (oczywiście w formacie OpenType).
W programach obsługujących funkcje zecerskie OpenType (np. InDesign, Illustrator CS, Photoshop CS) ligatura "łł" jest podstawiana automatycznie (u dołu). W programach bez obsługi tych funkcji dostajemy wariant widoczny u góry. Bez ligatury, ten napis jest po prostu brzydki i nie widzę powodu, dlaczego nie powinno to być zaimplementowane we wszystkich programach, niezależnie od tego, czy to InDesign, Word czy nawet WordPad.
Funkcje zecerskie OpenType dają też zupełnie nowe możliwości. Na stronie re-introducingzapfino.html pokazana jest zupełnie nowa wersja pisma Zapfino pod nazwą Zapfino Extra LT Pro. Animowany GIF "Discover the Power of OpenType with Zapfino" pokazuje co się dzieje, gdy piszemy tym krojem w programie obsługującym funkcję zecerską "contextual alternates" (tj. w InDesign CS, Illustrator CS i Photoshop CS). Dzięki OpenType, tekst automatycznie zmienia swój kształt w miarę pisania! Pismo Zapfino Extra LT Pro jest pierwszym tak zaawansowanym krojem, który symuluje autentyczną kaligrafię.

Dodam, że mam przyjemność być autorem całego kodu funkcji OpenType wykorzystywanego w tym właśnie kroju, a współpraca z samym Hermannem Zapfem była dla mnie wielkim zaszczytem.
Dodam jeszcze tytułem uzupełnienia, że Office 2003 obsługuje funkcje zecerskie (np. ligatury), ale tylko dla złożonych systemów pisma (np. arabski czy dewanagari). Innymi słowy tam, gdzie bez OpenType nie da się w zasadzie poprawnie pisać. Obsługa funkcji zecerskich OpenType dla języków europejskich będzie dodana w kolejnej wersji, opartej na architekturze WinFX.
Adam Twardoch

Powrót do spisu treści
Powrót na początek