KU LEPSZYM CZCIONKOM
Transkrypt
KU LEPSZYM CZCIONKOM
KNOW HOW Czcionki w Gnome Zarządzanie czcionkami w Gnome KU LEPSZYM CZCIONKOM Mechanizmy wyświetlania tekstu w systemie Linux cały czas sprawiają problemy spowodowane historycznymi zaszłościami. Ale sprawy mają się ku lepszemu. W tym artykule opisujemy współpracę oprogramowania Fontconfig, X i Gnome, dzięki którym w przyszłości obsługa czcionek może być prostsza. OLIVER FROMMEL M imo niezwykłego tempa rozwoju systemu Linux w ciągu ostatnich kilku lat, wielu użytkowników wciąż narzeka na brzydkie czcionki na pulpitach. Nie zawsze łatwo jest dociec przyczyny tego problemu, ponieważ w wyświetlaniu tego, co użytkownik postrzega jako litery na ekranie, bierze udział wiele mechanizmów. Najrozmaitsze programy wykonują różne zadania związane z wyświetlaniem czcionek. Na przykład komponenty oprogramowania odpowiedzialne za wyświetlanie tekstu na konsoli tekstowej są zupełnie inne od tych stosowanych w systemie X. Nawet w samym systemie X czcionki mogą być obsługiwane na różne sposoby. Aplikacje X mogą zarządzać czcionkami samodzielnie – od przetworzenia pliku z czcionką aż po wyświetlenie znaku na ekranie. Inne programy korzystają ze starej (i sprawdzonej) biblioteki X. Nowsze programy używają bibliotek Gnome. To 52 NUMER 17 CZERWIEC 2005 dlatego programy działające jeden obok drugiego na linuksowym pulpicie mogą wyświetlać czcionki na zupełnie różne sposoby. Sytuację komplikuje fakt, że mechanizmy obsługi czcionek są cały czas aktywnie rozwijane, z naciskiem na umiędzynarodowienie. w postaci rastrowej. Do renderowania powszechnie znanych czcionek TrueType wykorzystuje moduł Freetype [2] (patrz Ramka „Rendering i rasteryzacja”). Biblioteka Xft po prostu przekazuje uzyskane w ten sposób dane dalej; przed wprowadzeniem Rendering i rasteryzacja Historyczne zaszłości w X-ach Standardowo zarządzanie czcionkami i wyświetlanie ich na ekranie powierza się systemowi X Window; na bazie jego mechanizmów działają systemy KDE i Gnome. Współczesna wersja systemu XFree86 oraz alternatywny system X.org obsługują większość formatów czcionek, wykorzystując w tym celu oprogramowanie Fontconfig opracowane w ramach projektu Freedesktop [1]. Kiedy zachodzi taka potrzeba, Fontconfig przetwarza pliki z czcionkami i udostępnia systemowi X Window znaki WWW.LINUX-MAGAZINE.PL Bez względu na typ aplikacji, konwersję danych do formatu umożliwiającego wyświetlenie na ekranie określa się mianem renderingu. Na przykład, przeglądarki internetowe renderują kod HTML - wyświetlają na ekranie stronę utworzoną na podstawie tego kodu. Programy graficzne renderują obraz na podstawie przestrzennych opisów scen. Rendering czcionek polega na ekstrapolacji poszczególnych punktów znaku na podstawie jego opisu matematycznego; punkty te są następnie wyświetlane na ekranie. Ponieważ poszczególne punkty znaku tworzą tablicę lub raster, proces ten nazywa się również rasteryzacją. oprogramowania Fontconfig to właśnie ona odpowiadała za rendering czcionek. Generalnie w środowisku Gnome aplikacje korzystają z czcionek właśnie za pośrednictwem tych mechanizmów. Gnome posiada także bibliotekę Pango, która służy głównie do obsługi układów bloków tekstu zestawianych w Unikodzie. Wprowadzenie oprogramowania Fontconfig pozwoliło rozwiązać wiele problemów z czcionkami, jakie występowały w systemie Linux. Aplikacje korzystające z tej biblioteki mają dostęp do wszystkich czcionek systemu. Na przykład w obecnej wersji Gimpa wreszcie można używać czcionek TrueType – wystarczy, żeby w systemie był zainstalowany pakiet Fontconfig. Także Mozilla lepiej obsługuje teraz czcionki, ponieważ programiści zdecydowali o wprowadzeniu obsługi opisywanego pakietu. Żeby kolejne aplikacje nie musiały przeglądać raz po raz listy czcionek i katalogów, Fontconfig przechowuje informacje o czcionkach w plikach podręcznych. Następujące polecenie powoduje zainstalowanie czcionki o nazwie ACID.TTF w katalogu prywatnym: cd cp ACID.TTF .fonts cd .fonts fc-cache Polecenie fc-cache wydane w katalogu czcionek powoduje uaktualnienie znajdującego się tam pliku podręcznego (o ile działa system X). Od tej pory czcionka AcidBath dostępna jest dla wszystkich aplikacji Gnome. Konfiguracja oprogramowania Fontconfig Programy Gnome, które korzystają z opisanych bibliotek, mają dostęp do wszystkich czcionek zainstalowanych w systemie; dostęp ten jest realizowany z użyciem standardowego interfejsu. Fontconfig zapewnia także liczne korzyści dla użytkowników i administratorów. Pliki konfiguracyjne znajdują się w katalogu /etc/fonts. W pliku fonts.conf w formacie XML zdefiniowano ścieżki do plików czcionek i powszechnie stosowane nazwy zamienne – na przykład Sans dla czcionek bezszeryfowych. Same czcionki zazwyczaj znajdują się w katalogach /usr/share/fonts i /usr/X11R6/lib/X11/fonts. Na Listingu 1 widzimy odpowiedzialny za to ustawienie fragment pliku konfiguracyjnego. W ostatniej linijce widzimy katalog .fonts, znajdujący się w katalogu domowym każdego użytkownika. Umieszczone tam czcionki będą dostępne dla wszystkich aplikacji korzystających z mechanizmu Fontconfig. Listing 1: /etc/fonts/fonts.conf <dir>/usr/share/fonts</dir> <dir>/usr/X11R6/lib/X11/fonts/U Type1</dir> <dir>/usr/local/share/fonts</dir> <dir>~/.fonts</dir> Rysunek 1: Okno przedstawiające właściwości czcionek GNOME Konfiguracja czcionek W środowisku Gnome dostępny jest program do konfigurowania standardowych czcionek; na przykład w dystrybucji Ubuntu do narzędzia tego dotrzemy, klikając kolejno Computer | Desktop Settings | Font (Komputer | Ustawienia środowiska | Czcionka). To tutaj zapisane są ustawienia czcionek aplikacji, pulpitu, tytułów okien oraz terminali. Można tutaj również określić jakość czcionki, np. Best Shape (Najlepszy kształt), Best contrast (Najlepszy kontrast) czy wygładzanie na poziomie fragmentów pikseli (Subpixel rendering). Przycisk Details (Szczegóły) prowadzi do okna ze szczegółowymi ustawieniami, np. wyrównywania krawędzi. Przeglądanie próbek czcionek Gnome nie posiada programu do przeglądania czcionek; można jednak posłużyć się WWW.LINUX-MAGAZINE.PL KNOW HOW Czcionki w Gnome w tym celu programem Nautilus, gdzie nai prezentuje próbkę każdej z nich. Do zbuleży wybrać kolejno File | Open location dowania programu potrzebne są biblioteki (Plik | Otwarcie podeweloperskie łożenia) i wpisać Gnome, w tym Pantam fonts:. Zobaczygo, Freetype i wiele my tutaj jednak tylinnych. Kod proko czcionki systegramu należy najmowe; nie jest brapierw skonfigurona pod uwagę zawać poleceniem wartość katalogu ./configure, a na~/.fonts. Ponadto stępnie skompiloprogram nie prewać poleceniem zentuje próbki make i zainstalować czcionki, gdy ją za pomocą su -c dwukrotnie kliknie“make install”. Rysunek 2: Gnome Font Sampler prezentuje my. Wewnątrz okna Warto zauważyć, dowolny tekst za pomocą wybranej czcionki Nautilusa można że program Gnome Gnome. natomiast kliknąć Font Sampler możczcionkę prawym przyciskiem i wybrać ją na uruchomić bezpośrednio z katalogu pajako czcionkę aplikacji Gnome. kietu, bez instalowania, wydając po kompilaAby obejrzeć próbki zainstalowanych cji polecenie ./src/gfontsampler. Jednak warto czcionek, możemy użyć bardzo jest zainstalować oprogramowanie w kataloużytecznego programu Gnome Font Samgach systemowych poleceniem su -c “make inpler [4]. Analizuje on dostępne czcionki stall”. Gnome Font Sampler prezentuje wszystkie zainstalowane czcionki, w tym te znajdujące się w katalogu domowym. Im większy wybór, tym lepiej Obecne rozwiązania dostępne w Gnome umożliwiają wydajne zarządzanie czcionkami i prezentowanie ich na ekranie w wysokiej jakości. Jest szansa, że aplikacje zaczną wyglądać podobnie. Ale nie spieszmy się z optymizmem - trudno oczekiwać, żeby wszyscy autorzy programów przepisywali kod ze względów czysto kosmetycznych. ■ INFO [1] Fontconfig: http://www.fontconfig.org [2] Freetype: http://www.freetype.org [3] Pango: http://www.pango.org [4] Gnome Font Sampler: http://linuxadvocate.org/projects/gfontsampler