] > Karol „Zal” Zalewski - Blog - http://blog.4zal.net/2009/05/

Eksploracja danych w wolnym wydaniu

2009-05-31, Niedziela 02:06:45 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Eksploracja danych (ang. data mining) nazywana również pozyskiwaniem wiedzy to proces polegający na znajdowaniu zależności między pewnymi rodzajami danych. Jak to przedstawić bardziej obrazowo? Wyobraźmy sobie kurczaczki. Dużo kurczaczków. Każdy z nich jest badany pod kątem wagi oraz tego, jaką posiada płeć. Brane są również pod uwagę inne cechy, ale nie będziemy obecnie o nich mówić. Wyobraźmy sobie teraz, że program, który pracuje nad tymi danymi "wywnioskował", iż młode kurczaki, których waga znajduje się w pewnym zakresie zawsze są płci męskiej, a lżejsze są płci żeńskiej. Dzięki tak uzyskanej zależności, czyli pewnej wiedzy, wiemy teraz, iż wystarczy jedynie badać wagę zwierząt w celu określenia ich płci. Przykład prosty, ale oddaje ideę eksploracji danych, czyli wydobywania pewnej wiedzy z dużej ilości danych licząc na to, iż dzięki temu będzie oba poprawna i użyteczna.

Po wstępnym zapoznaniu się z istniejącym oprogramowaniem postanowiłem przyjrzeć się bliżej trzem wolnym programom działającym m.in. pod systemem GNU/Linux. Mowa o Rattle, RapidMiner Community Edition oraz Weka. Dlaczego właśnie o nich?

  • Rattle - ze względu na wykorzystanie języka o ogromnych możliwościach - R - znajdującego szerokie zastosowanie w statystyce, dodatkowo jest on wieloplatformowy i oparty o licencję GPL,
  • RapidMiner Community Edition - ze względu na to, iż jest rozwijany przez komercyjną organizację, ale udostępniany za darmo, napisany w Javie (wieloplatformowy) i oparty o licencję AGPL,
  • Weka - jako program uczelniany, napisany w Javie i udostępniony na licencji GPL, kolejnym plusem jest to, iż znajduje się w repozytorium Ubuntu.

Króciutki opis jest już za nami. Jak zabrać się za opis wspomnianego oprogramowania? Po pierwsze - należy określić cele, jakie chcemy osiągnąć, a po drugie - dane, na jakich testowane będzie wspomniane oprogramowanie. Zacznijmy od tego drugiego zadania.

Poniżej znajduje się lista wybranych typów danych wraz z wyszczególnieniem programów, które je obsługują:

  • ARFF (Attribute-Relation File Format) - Weka, RapidMiner, Rattle,
  • CSV (Comma Separated Values) - Weka, RapidMiner, Rattle,
  • C4.5 - Weka, RapidMiner,
  • SPSS - RapidMiner,
  • RData, R Dataset - Rattle,
  • format binarny - Weka, RapidMiner,
  • format Excela - RapidMiner,
  • ODBC - Weka, RapidMiner, Rattle,
  • formaty popularnych baz danych - RapidMiner.

Jak sami zauważyliście, najlepiej obsługiwanymi formatami są formaty ARFF oraz CSV. Są one rozpoznawane przez wszystkie trzy aplikacje. Co więcej - na stronie projektu Weka znajdują się przykładowe dane zapisane w formacie ARFF, co oznacza, iż bez problemu można z nich skorzystać podczas testów. Jak zauważycie poniżej, nie wykorzystam ich, ponieważ zależy mi jedynie na opisie ich możliwości, ale jest to wskazówka dla osób chcących dokonać porównania w oparciu o wyniki pracy wspomnianych programów.

Celem tego wpisu jest porównanie ww. aplikacji biorąc pod uwagę takie czynniki, jak np.:

  • liczba oferowanych opcji i algorytmów,
  • stabilność aplikacji,
  • dostępność API,
  • łatwość i intuicyjność obsługi,
  • społeczność użytkowników,
  • wygląd interfejsu użytkownika.

Należy zauważyć, iż porównanie nie ma na celu określenia, który z programów jest najwydajniejszy, ani który z nich najlepiej wykonuje swoje zadanie. Będzie to w głównej mierze subiektywna ocena osoby, które dopiero nabywa wiedzę z zakresu eksploracji danych i ma ona zachęcić do bliższego kontaktu z wymienionymi aplikacjami. Szczególnie, iż rozwiązania komercyjne są niezwykle kosztowne, a przedstawione poniżej - całkowicie darmowe. Przejdźmy zatem do właściwego opisu.

Weka

Weka (ang. Waikato Environment for Knowledge Analysis) to oprogramowanie stworzone przez uniwersytet Waikato udostępniające nie tylko graficzny interfejs użytkownika, ale również umożliwiające wykonywanie komend z linii poleceń oraz użycie we własnej aplikacji w formie biblioteki. Jest to rozwiązanie popularne i nagradzane za swoją użyteczność. Wersja znajdująca się obecnie w repozytorium Ubuntu to 3.5.8 i tak też została poddana ocenie.

Weka nie jest przeznaczona dla niedoświadczonych użytkowników. Zapoznanie się z nią zdecydowanie ułatwia bogate wiki projektu, czy też dokumentacja. Istnieje również książka o eksploracji danych wykorzystująca w przykładach Wekę, ale nie jest ona dostępna w Internecie. Nie zmienia to jednak faktu, iż obsługa Weki wymaga sporo wiedzy z zakresu data mining oraz z samej konstrukcji tego oprogramowania.

Weka umożliwia pobranie danych z plików, czy też baz danych, wstępną ich obróbkę (np. normalizacja, dyskretyzacja, resampling itp.), a następnie wykorzystanie ich do uczenia (np. algorytmy klasyfikacji, analizę skupień itd.). Za tą część odpowiedzialny jest moduł Weki o nazwie Explorer. Experimenter ułatwia porównywanie efektywność działania różnego rodzaju sposobów nauki. Natomiast KnowledgeFlow umożliwia zautomatyzowane przetwarzania danych z wielu źródeł i na różne sposoby poprzez skonstruowanie grafu opisującego przepływ danych.

RapidMiner Community Edition

RapidMiner Community Edition (znany kiedyś jako YALE) wykorzystuje m.in. wspomniane wcześniej oprogramowanie o nazwie Weka (nie jest jednak ono konieczne do poprawnego działania). Udostępnia ponad 500 operatorów (z czego 100 z aplikacji Weka) dla wszystkich głównych procedur maszynowego uczenia, włączają w to obsługę wejścia, wyjścia, przetwarzania danych oraz wizualizację. Podobnie, jak Weka, posiada on GUI oraz umożliwia wykonywanie komend z poziomu linii poleceń, udostępniając jednocześnie javowe API. Dodatkowo posiada własny system wtyczek. Przetestowana wersja to 4.4.

RapidMiner zdecydowanie wygrywa z Weką i Rattle pod względem interfejsu użytkownika. Przyjazne ikony, dużo opisów, wszechobecne kreatory i wbudowany tutorial nie pozwalają użytkownikowi zagubić się w bogactwie opcji. W razie problemów pomocne okazać się może forum projektu na którym odpowiedzi udzielają sami jego twórcy oraz wiki, które jest niestety mocno niekompletne. Sam program dodatkowo udostępnia dwa tryby działania - eksperta i początkującego. Jednakże bez względu na jakość wykonania interfejsu wymaga on przede wszystkim wiedzy na temat samego zagadnienia eksploracji danych. Oczywiście, RapidMiner pozwala na wszystko to, co Weka oraz na jeszcze więcej. Dzięki zastosowaniu XML-a i wygodnego edytora bez problemu można tworzyć łańcuchy i drzewa operatorów, źródeł danych i innych "bloków" składających się na program wykonywany przez RapidMinera.

Główne różnice między RapidMinerem, a Weką:

  • RapidMiner posiada około 400 operatorów więcej, niż Weka (około 100 operatorów), w tym głównie obsługę dodatkowych formatów danych, typów wizualizacji, przetwarzania wstępnego i walidacji,
  • RapidMiner udostępnia system wtyczek,
  • przepływ danych w Weka jest grafem ogólnego rodzaju, a w przypadku RapidMinera jest to drzewo, lub łańcuch z obsługą breakpointów,
  • wiele osób twierdzi, że RapidMiner wymaga mniej pamięci oraz działa szybciej, niż Weka.

Wygląda na to, iż twórcy RapidMiner wybrali to, co najlepsze z Weki i dodali do tego sporo od siebie. Może on wykorzystywać do pracy Wekę, ale nie musi, co należy mieć na uwadze, chcąc powiedzieć, iż RapidMiner to tylko i wyłącznie inny interfejs dla Weki. Kto korzysta z RapidMinera? Cisco Systems, Ford, Honda, HP, IBM, Philips i wiele innych firm.

Rattle

Rattle (ang. R Analytic Tool To Learn Easily) to wieloplatformowy program napisany z wykorzystaniem języka i środowiska R oparty o bibliotekę graficzną GTK 2. W chwili korzystania z Rattle miałem dostęp do wersji 2.4.53. Nie wygląda on może najładniej, ale jest stosunkowo prosty w użyciu i nadaje się dla początkujących użytkowników. Udostępnia następujące techniki z zakresu modelowania:

  • asocjację z użyciem apriori (arules),
  • klasyfikację z użyciem drzew decyzyjnych (rpart)
  • uogólnione modele liniowe (glm),
  • boosting (gbm),
  • losowe lasy (randomForest).

Rattle jest wykorzystywany podczas codziennej pracy przez jeden z największych australijskich zespołów zajmujących się eksploracją danych, w Australijskim Urzędzie Skarbowym. W porównaniu do Weki, czy też RapidMinera, wydaje się być naprawdę prosty i stosunkowo ubogi. Należy mieć jednak na uwadze, iż zastosowanie R poszerza zakres jego wykorzystania.

Podsumowując, najbardziej interesującym rozwiązaniem wydaje się być RapidMiner, a w drugiej kolejności Weka. Bogate możliwości, obsługa wielu formatów danych, stosunkowo łatwa obsługa, przyjazny interfejs użytkownika oraz wsparcie ze strony producenta, jak i innych źródeł (np. forum) są plusem RapidMinera.

Istnieje jeszcze wiele innych wolnych, lub otwartych programów takich, jak np. ARMiner, ARTool, Multifactor Dimensionality Reduction (MDR), TANAGRA, czy też Orange. Jednak żaden z nich nie jest tak popularny, jak Weka, czy też RapidMiner.

Temat pracy magisterskiej

2009-05-30, Sobota 14:46:51 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Po kilku dniach dniach rozmów z członkami katedry związanej z moją specjalnością (KASK) udało mi się określić temat mojej przyszłej pracy magisterskiej oraz zapoznać się z opiekunem i konsultantem pracy.

To, co teraz jest dla mnie istotne, to kwestia dogadania się z kierownikiem katedry, dziekanem, lub rektorem odnośnie możliwości zastosowania wybranych przeze mnie licencji (CDDL dla kodu oraz CC 3.0 BY-SA dla dokumentów) dla przyszłej pracy. O ile to w ogóle możliwe. Od tego zależy, czy będę mógł m.in. skorzystać z SourceForge dla mojego repozytorium kodu, wiki itp. Czasu mam niestety niewiele, chociaż i tak więcej, niż gdybym temat wybierał w przyszłym tygodniu - po oficjalnym wyborze tematu należy wypełnić kartę dyplomanta (uwaga, DOC), w której to m.in. należy zrzec się autorskich praw majątkowych do pracy na rzecz Alma Mater. Aktualnie piszę maila do ww. osób, a w poniedziałek mam zamiar udać się do nich osobiście. Dopiero później, po rozmowach, mam zamiar stworzyć oficjalne podanie.

Poniżej zamieszczam temat pracy na wypadek, gdyby kogoś to interesowało. A może nawet ktoś ma zainteresowania z nim związane i poleciłby dodatkową lekturę w tym zakresie?

Temat pracy: Repozytoria wiedzy dla efektywnego i bezpiecznego wykonywania usług w środowiskach agentowych.

Temat pracy w języku angielskim: Knowledge repository for effective and secure services in agent environments.

Opiekun pracy: Dr inż. Mariusz Matuszek.

Konsultant pracy: Dr inż. Piotr Szpryngier.

Cel pracy: Opracowanie optymalnej metody przechowywania wiedzy w rozproszonych aplikacjach agentowych.

Zadania do wykonania:

  1. Analiza metod przechowywania i ochrony wiedzy,
  2. Wybór metod do implementacji według obranych kryteriów,
  3. Implementacja porównawcza wybranych metod.

Literatura:

  1. Applied Cryptography – B.Schneier,
  2. Service Oriented Computing – Semantics, Processes, Agents. M.P. Singh, M.N. Huhns,
  3. Distributed Systems – Principles and Paradigms. A.S. Tananbaum, M. van Steen,
  4. Strategie współpracy agentów w realizacji rozproszonych usług złożonych. Rozprawa doktorska ETI. Matuszek M.

PS. Wiki, z którego korzystam dzięki uprzejmości Grou.ps, nie jest może wyjątkowo funkcjonalne, ale okazuje się, iż nadaje się do prostych prac.

Darmowe usługi we własnej domenie

2009-05-28, Czwartek 22:11:55 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Koszt domeny w moim przypadku to około 60 PLN rocznie (Home.pl). Za tę cenę chcę uzyskać jak najwięcej użytecznych, lecz zupełnie darmowych usług, które będą związane z zakupioną domeną. Oto serwisy z których korzystam, aby osiągnąć zamierzony cel:

  • Jogger - mowa o miejscu, z którego zna mnie największa liczba osób, czyli o elastycznej platformie blogowej, która utrzymuje mojego bloga,
  • Soup - rozwiązanie umożliwiające prowadzenie własnego śmieciobloga (np. tlog.4zal.net),
  • MoFuse - tworzy mobilną wersję serwisu na podstawie RSS-a (np. m.blog.4zal.net),
  • Google Apps - dzięki tej usłudze uzyskałem możliwość tworzenia we własnej domenie kont pocztowych, kont XMPP, prostych stron WWW, skracania linków i korzystania z aplikacji Google (np. Google Docs),
  • Google App Engine - w połączeniu z Google Apps umożliwia deployowanie aplikacji webowych pisanych z wykorzystaniem Pythona, Javy i m.in. Rubiego (interpreter JRuby) z dostępem do Google App Engine (m.in. autoryzacja i składowanie danych) np. kyuu.4zal.net,
  • Funpic.org - prosta i ograniczona platforma LAMP z dostępem poprzez FTP na której stoi m.in. EyeOS, tracker BitTorrenta oraz przekierowania na inne strony w domenie (np. eyeos.4zal.net),
  • MyOpenID.com - zapewnia usługę OpenID dla użytkowników w domenie *.at.4zal.net (np. zal.at.4zal.net),
  • Hurricane Electric Tunnel Broker - zapewnia tunel IPv6 i wraz z Afraid.org udostępnia nazwy dla hostów korzystających z tego rozwiązania (np. karol.ipv6.4zal.net),
  • FeedBurner - obecnie własność Google, zapewnia statystyki dla mojego feedu RSS i Atom (rss.4zal.net),
  • GROU.PS - patrz niżej.

Na domowym routerze stoi obecnie FTP, prosty serwer WWW oraz repozytoria SVN. Kiedyś jeszcze stała tam centralka dla VoIP-a (SIPatH + Milkfish).

To, co próbuję obecnie osiągnąć to darmowa wiki (na wzór WikiDot) oraz repozytoria Subversion i Mercurial (ala Assembla) we własnej domenie. Nie miałbym też nic przeciwko zmianie serwera XMPP na coś bardziej standardowego, niż googlowe rozwiązanie. Niestety, wszystko, co do tej pory wypróbowałem, wymaga cyklicznych wpłat lub przedpłat. A wiki brakuje mi chyba najbardziej.

A może Wy macie pomysł na to, co jeszcze można podpiąć pod domenę nie tracąc przy tym ani grosza?

[EDIT] Zgryw polecił serwis GROU.PS, jako wiki we własnej domenie. Po krótkim zapoznaniu muszę dodać, iż jest to nie tylko wiki, ale kompleksowe i darmowe rozwiązanie, które można podpiąć pod własną domenę. Wiki, czat, mapy, kontakty, filmy, muzyka, pliki, blogi itd. Całość ma być rozprowadzana jako aplikacja Open Source. Wygląda to naprawdę interesująco.

Web 3.0: Sieć usystematyzowana

2009-05-26, Wtorek 23:36:17 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Czasy prostego hipertekstu mamy już za sobą. Obecnie Sieć kipi od treści tworzonych i publikowanych przez tych, którzy kiedyś byli jedynie jej odbiorcami. Era Web 2.0 trwa już niemal od 10 lat i nie wygląda na to, aby miało się to w najbliższym czasie zmienić. A może jednak? Komu i dlaczego potrzebny jest Web 3.0?

Zacznijmy może od pojęcia, które zapożyczone zostało przez informatykę od filozofii, a zwie ontologią. Ontologia, czyli w dużym uproszczeniu nauka o bytach, jest czymś, co w informatyce sprowadza się do opisania oraz usystematyzowania pewnej części rzeczywistości umożliwiając tym samym stosunkowo łatwy odbiór tego kawałka przez komputery. Przykładem może być na przykład wykorzystanie ontologii przy opisie zdjęć rentgenowskich klatki piersiowej. Precyzyjny opis i systematyzacja możliwych zmian chorobowych oraz jej naturalnej budowy umożliwiłaby późniejsze zastosowanie np. algorytmów z okolic SI do wystawiania diagnoz, czy też wyciągania wniosków przez sam system informatyczny. Jak to się ma do Web 3.0?

Web 3.0, czyli m.in. semantyczne WWW, to era maszyn. Czas treści zrozumiałych nie tylko dla ludzi, ale również dla oprogramowania. Dzięki zastosowaniu popularnych obecnie rozwiązań (np. Unicode, czy też XML) oraz RDF i OWL możliwe będzie skonstruowanie Sieci po której poruszać się będziemy nie przy pomocy wyszukiwarek opartych o słowa kluczowe, lecz o pytania zadawane w języku naturalnym. Przykładem tego może być np. wyszukiwarka Wolfram, która pomimo wielu niedociągnięć stanowi przedsmak tego, co możemy w przyszłości osiągnąć. Where are we? Nie tylko wyszukiwanie będzie łatwiejsze - również i pozyskiwanie nowej wiedzy z Internetu stanie się prostsze.

Co to dla nas oznacza? Dla twórców witryn internetowych? Przede wszystkim standardy. Aby Web 3.0 mogło zaistnieć każdy z nas musi mieć świadomość tego, że to m.in od niego zależy, czy to się stanie. Dlatego tak ważnym jest, aby trzymać się pewnych utartych i prawidłowych schematów przy tworzeniu witryn. I nie mówimy tutaj o zwykłym HTML-u, lecz o połączeniu XHTML+RDF. Poprawny XML to podstawa przy dostępie poprzez zautomatyzowane narzędzia, drugą rzeczą jest RDFa. W tym ostatnim przypadku warto zwrócić szczególną uwagę na wsparcie ze strony takich organizacji, jak np. Google. Kilka dni temu wspomniana firma ogłosiła wsparcie dla RDFa. Z pewnością zmobilizuje to twórców stron do zapoznania się z tym standardem i późniejszego jego wykorzystania.

Wszystko to wygląda zdecydowanie kusząco, ale jakie niesie ze sobą zagrożenia? Sądzę, iż tak, jak ma to miejsce w każdym systemie informatycznym, największe ryzyko wiąże się z samymi ludźmi. Pierwsza obawa wiąże się z samym przejściem do "Nowego Lepszego WWW" - jak przyzwyczaić ludzi do standardów pokroju XHTML+RDF, gdy w okolicy grasują rozwiązania pokroju HTML 5? Druga obawa wiąże się z samą naturą Internetu - ja sprawić, aby informacje w nim zamieszczane oraz np. wiedza z nich pozyskiwana były wiarygodne? Czy możliwym będzie poradzenie sobie z problemem osób błędnie opisujących generowane przez siebie dane w celach zarobkowych?

Czas z pewnością zweryfikuje moje obawy. Jedno jest jednak pewne - WWW stanowi źródło z którego można czerpać wiedzę, a stworzenie sieci semantycznej zdecydowanie ułatwi ten proces.

NIE PANIKUJ!

2009-05-24, Niedziela 17:41:11 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

- Czterdzieści dwa - zakończył Głęboka Myśl z niezwykłym patosem i spokojem.

"Autostopem przez galaktykę", Douglas Adams

Już jutro odbędzie się Dzień Ręcznika! Dzień ten ustanowiony został przez fanów książkowej fantastyki na cześć pisarza Douglasa Adamsa (zmarłego 11 maja 2001 roku), który jest autorem m.in. "Autostopem przez galaktykę".

Jako, iż jestem świeżo po przeczytaniu książki z której pochodzi powyższy cytat (odpowiedź komputera Głęboka Myśl na pytanie "Czym jest życie? Wszechświat? I cała reszta?!") muszę przyznać, iż nie dziwię się, dlaczego miała ona taki wpływ na informatyczną część rzeczywistości. Komputer szachowy IBM-a (Głęboka Myśl), kalkulator Google (42), elektroniczny tłumacz od AltaVisty (rybka Babel), czy też nawiązania do książki w Falloucie 2 (kaszalot i petunia). Zaryzykowałbym i samego autora porównałbym nawet do Terrego Pratchetta w wersji science fiction. Charakteryzuje się podobnym do Terrego, równie abstrakcyjnym poczuciem humoru. Zdecydowanie polecam.

PDF/A: Tworzenie dokumentów z myślą o przyszłości

2009-05-23, Sobota 12:28:21 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Czym jest PDF/A-1? To proste! Jest to podzbiór specyfikacji formatu PDF (otwartego standardu) w wersji 1.4 mający na celu zapewnienie, iż zapisane z jego wykorzystaniem dokumenty będą możliwe do odczytania na każdej platformie bez względu na czas i miejsce. Jego przeznaczeniem jest długotrwała archiwizacja dokumentów, a co za tym idzie, wszystkie dane niezbędne do wygenerowania dokumentu muszą znajdować się w nim samym (m.in. istnieje konieczność załączenia wykorzystanych w dokumencie fontów). Dodatkowo wprowadzono następujące restrykcje:

  • w dokumencie nie mogą znajdować się dane audio, video oraz kod wykonywalny (m.in. JavaScript),
  • wszystkie wykorzystane fonty muszą być załączone (należy uważać na ich licencję) w dokumencie, a nie jedynie wskazane,
  • opis kolorów musi być zapisany w sposób niezależny od wykorzystanego urządzenia,
  • niedozwolone jest szyfrowanie,
  • obowiązkowe jest wykorzystanie metadanych opartych o standard.

Dodatkowo PDF/A-1 dzieli się na PDF/A-1a, którego celem jest zapewnienie takiego samego wyglądu dokumentu na wszystkich urządzeniach, oraz PDF/A-1b, który zawiera w sobie to, co PDF/A-1a i dodatkowo wymaga, aby struktura dokumentu została określone poprzez tagi, umożliwiając tym zapewniając tym samym możliwość wyszukiwania tekstu w dokumencie i jego łatwe kopiowanie.

Oprócz standardu PDF/A istnieją również standardy PDF/UA (mający na celu zapewnienie dostępności dokumentów np. dla osób niewidomych), PDF/X (skupiający się na przekazie grafiki i jej wierne odwzorowanie na papierze) oraz PDF/E (zapewniający wsparcie dla tworzenia dokumentacji technicznej). Osobiście uważam, iż PDF/A ma największe znaczenie spośród wszystkich ww. standardów. Dlaczego? W przyszłości ma on zapobiec nastaniu "Cyfrowych Wieków Ciemnych" (ang. Digital Dark Ages), kiedy to mogłoby się okazać, że wszystkie elektroniczne dokumenty z obecnej epoki będą trudne, lub niemożliwe do odczytania. Zapewnia, że nikt za kilka lat nie będzie miał problemów z odtworzeniem wyglądu dokumentów, bo ktoś wskazał, że należy wykorzystać rodzinę fontów Arial i nie umieścił jej w dokumencie.

Jak wygląda kwestia obsługi PDF/A przez narzędzia do tworzenia dokumentów? W przypadku OpenOffice.org w obecnej wersji (posiadam 3.0) jest to bezproblemowe - w momencie eksportu do PDF-a istnieje możliwość wybrania tego standardu. A co z LaTeX-em?

Niestety, w tej kwestii TeX i LaTeX, a właściwie PDFTeX oraz PDFLaTeX, sprawiają spore problemy. To samo tyczy się próby konwersji plików PostScript do PDF-a. Samo dołączenie fontów do wynikowego PDF-a nie jest zadaniem trywialnym, a jest to tylko jedna z części wymagań stawianych przez standard PDF/A. Wykorzystanie narzędzi przeznaczonych do wykonywania wspomnianej konwersji nie wchodzi niestety w grę ze względu na ich stosunkowo wysoki koszt.

Nie mam zielonego pojęcia, jak sobie z tym poradzić, a może to być realnym problemem w przyszłości. Dlaczego? Coraz więcej dokumentów tworzonych na potrzeby publikacji, konferencji (np. w ramach IEEE) itp. ma być zgodnych z PDF/A. I jest to o tyle martwiące, iż ISO zatwierdziło PDF/A jako standard 1 października 2005 roku - obecnie mijają już niemal 4 lata od tego momentu, a w świecie LaTeX-a nie widać zmian.

Wolne fonty

2009-05-21, Czwartek 23:53:23 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Do niedawna font, przeze mnie nazywany "czcionką" (nie widziałem różnicy), był czymś, co po prostu trzeba było wybrać. Pojawiał się znienacka i wymuszał podjęcie trudnej decyzji. Dziś mam ochotę na Ariala, czy też na Times New Romana? Natomiast jej rozmiar nie stanowił większego problemu - standardowo, dwunastka. Tak przynajmniej postępowałem w przypadku OpenOffice.org. Łatwiej było jedynie podczas pracy z LaTeX-em, który radził sobie bez potrzeby precyzowania takich szczegółów, jak czcionka. Stan taki trwał długo, aż do momentu, kiedy to kolega ze studiów zainteresował mnie tematyką fontów i poligrafii jako takiej.

Zacząłem od początków. Od historii czcionek, zecerstwa i metod pracy przy składaniu tekstu. Dowiedziałem się o istnieniu Antykwy Półtawskiego oraz o jej współczesnym klonie bazującym na licencji GPL. Pojąłem, czym charakteryzują się czcionki o stałej szerokości (monotype) i o proporcjonalnej, co oznacza "serif" (ozdobne, krótkie kreski), a co "sans serif" (bez kresek) oraz czym jest kerning, hinting itp.

Sporo tego, prawda? Szybko zauważyłem, że kwestia fontu to nie jest taka łatwa sprawa, a samo jego stworzenie wymaga sporo pracy. Powoli zacząłem się interesować tym, jak wygląda problem fontów i związanych z nimi licencji. Nim to jednak nastąpiło zainteresowałem się tym, w jaki sposób takie fonty są przechowywane. Okazało się, że podstawą ich konstrukcji są rastry (bitmapy), wektory (precyzyjniej krzywe Béziera) lub dane związane z obrysem. Całość wyświetlana/drukowana jest później z wykorzystaniem różnych technik - dających lepsze lub gorsze rezultaty. I mniej więcej w tym miejscu pojawiły się pierwsze wzmianki o formatach. Fonty trzeba przecież gdzieś trzymać. Tylko w jaki sposób?

Jak się okazuje, najpopularniejszymi obecnie formatami związanymi z fontami są TrueType (Apple) oraz OpenType (Adobe i Microsoft). Należy zauważyć, że format TrueType, a właściwie związany z nim system hintingu jest obarczony pewnymi patentami i dopiero biblioteka FreeType 2 (obecna w dystrybucjach Linuksa i w Java OpenJDK) umożliwia wykorzystanie takich czcionek bez konieczności użycia opatentowanych technologii dostarczając własną maszynę do tego celu. Natomiast, co ciekawe, od marca 2007 roku OpenType jest otwartym standardem ISO. Obsługiwany przez FreeType 2 (równoznaczne z obsługą przez Linuksa), posiada również zdecydowanie większe możliwości (np. wsparcie dla Unicode), niż TrueType. Ze względu na obecność wielu czcionek w tym formacie sprawia, że jest rozwiązaniem preferowanym przez wielu i obecnym np. we współczesnych systemach Microsoft Windows. Nie ma też przeciwwskazań ku temu, aby wykorzystywać OpenType w dokumentach tworzonych w LaTeX-u - wystarczy użyć XeTeX-a (xelatex) dostępnego np. w dystrybucji TeX Live. Szkoda tylko, że duża część darmowych czcionek dostępna jest jedynie w wersji TrueType.

OpenType wykorzystuje opis konturu fontu w formatach TrueType, Type 1 lub CFF (Type 2). Niestety, na dzień obecny .OTF (OpenType + CFF) nie jest obsługiwany przez OpenOffice.org (wersja 3.1).

Skupiłem się na formatach, a przecież nie to było moim celem. Chciałem poruszyć zagadnienie wolnych fontów. Fontów, które możemy pobierać, modyfikować i używać w duchu FLOSS. A nie jest ich tak mało, jakby się mogło wydawać. Ot, chociażby popularny DejaVu, Computer Modern, Latin Modern (TeX), czy też Gentium (moja ulubiona rodzina). Ze wspomnianych rodzin tylko CM nie jest w wersji Unicode. Reszta nie tylko opiera się o licencje GPL lub OFL, ale również pokrywa dużą część znaków Unicode. Niekiedy zdarzają się też fonty będące "public domain", ale nie jest to częste zjawisko.

Co to oznacza? Taki np. Arial nie jest wolny i darmowy. Jego wykorzystanie jest ograniczone licencją, a sam w sobie kosztuje przynajmniej 20 dolarów. Sytuacja ma się podobnie w przypadku np. Times New Roman, czy też Verdany. Mało kto o tym myśli, szczególnie jeżeli mowa o użytkownikach systemów Microsoftu. Fonty posiadają swoje licencje, a ich obecność na komputerach innych użytkowników nie jest taka oczywista.

Cóż to za wolny dokument, stworzony na bazie otwartych standardów, kiedy to wykorzystuje zamknięte czcionki?

Mobilny Linux: Moblin

2009-05-21, Czwartek 20:17:28 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Moblin to projekt stworzenia dystrybucji Linuksa przeznaczonej dla urządzeń mobilnych zapoczątkowany w 2007 roku przez firmę Intel. Kilka dni temu cały projekt został przekazany pod opiekę organizacji Linux Foundation.

Czym wspomniana dystrybucja różni się od typowych rozwiązań oraz od takiego np. Ubuntu Netbook Remix? Przede wszystkim to, co widać na powyższej prezentacji, czyli naciskiem na interfejs użytkownika. Jest on ładny, prosty i przyjazny. Oczywiście, sam system posiada możliwości taki, jak każda dystrybucja, ale nie są one w takim samym stopniu wyeksponowane. Do tego dochodzi optymalizacja systemu pod kątem netbooków opartych o rozwiązania Intela tj. CPU (Atom) i GPU - zarządzanie energią, połączeniami bezprzewodowymi i szybszy dostęp do systemu (zimny start).

To, na co należy zwrócić szczególną uwagę to Moblin Image Creator. Znacie dystrybucję o nazwie Slax? Jeśli nie to polecam zapoznać się przynajmniej z jej stroną internetową. Daje ona m.in. możliwość skomponowania swojego własnego obrazu ISO płyty instalacyjnej poprzez dobór preferowanych przez nas pakietów (precyzyjniej - modułów). Rozwiązanie proste i przyjemne. Dlaczego o tym wspominam? Oprogramowanie związane z projektem Moblin on nazwie MIC udostępnia funkcjonalność podobną do tej, którą możemy dostrzec korzystając ze strony Slaksa. Nie jest to może równie proste, jak w przypadku Slaksa, ale pozwala skonstruować zindywidualizowany obraz instalacyjny Moblina.

A jak to wygląda z mojego punktu widzenia? Jestem sceptycznie nastawiony do tego pomysłu. Oczywiście, uważam, iż wspomniany Moblin, czy też Ubuntu Netbook Remix świetnie nadają się dla typowego użytkownika traktującego netbooka trochę, jak nieco bardziej rozbudowanego PDA. Niemniej jednak mi samemu trudno byłoby się do tego rodzaju rozwiązań przemóc. To, co mnie natomiast interesuje to stosunkowo prosta możliwość złożenia "własnej dystrybucji". Świetne podejście, które ogranicza potrzebę dostosowywania dystrybucji do własnych potrzeb tuż po jej instalacji. Nie ukrywam też, że UI robi wrażenie.

SUSE Studio: System operacyjny szyty na miarę

2009-05-19, Wtorek 17:29:47 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Zapewne wielu z Was kojarzy VMware Marketplace. Jest to baza wirtualnych maszyn, których celem jest promowanie pewnych rozwiązań, czy też udostępnianie ich w celu łatwej prezentacji potencjalnym użytkownikom. Wystarczy pobrać plik z maszyną, uruchomić i voilà! Wszystko jest już skonfigurowane i działa. Proste? A jak samodzielnie zbudować taką maszynę?

Dzięki Migolowi poznałem SUSE Studio. Jest to projekt, którego początek datuje się na środek 2008 roku - obecnie jest jeszcze w fazie zamkniętych testów. Cóż takiego on umożliwia? Przede wszystkim daje on możliwość stworzenia swojej własnej dystrybucji Linuksa opartej o SUSE. Użytkownik ma możliwość wybrania jednego z podstawowych schematów, a następnie rozbudowania go poprzez dostosowanie listy pakietów, konfiguracji, czy też dodania oprogramowania z zewnątrz (np. własnego projektu programistycznego). Na sam koniec system można zbudować i przetestować uruchamiając go na wirtualnej maszynie VMware dostarczonej przez twórców SUSE. I to wszystko, włącznie ze zdalnym, graficznym dostępem do maszyny, korzystając jedynie z przeglądarki WWW. Interesujące?

Gdy okaże się, że to, co stworzyliśmy satysfakcjonuje nas, przygotowany system można pobrać w formie wirtualnej maszyny Xen, lub VMware. Nic nie stoi też na przeszkodzie, aby trafił do nas obraz IMG przygotowany do nagrania na pendrive/HDD czy też obraz ISO przeznaczony do zastosowania, jako LiveCD.

Jakie jest moje zdanie? Prostota. SUSE Studio nie udostępnia rewolucyjnej funkcjonalności, ale w maksymalnym stopniu upraszcza czynność, która nawet bardziej doświadczonym użytkownikom mogłaby zająć trochę czasu. W efekcie może stać się popularnym rozwiązaniem stosowanym przez osoby preferujące noszenie swojego miejsca pracy na płycie lub pamięci flash. Obecnie usługa ta jest dostępna jedynie dla testerów. Aby dołączyć do tego grona wystarczy wypełnić formularz zgłoszeniowy.

PS. Podobne rozwiązanie, ale nie tak zaawansowane, oferuje również dystrybucja Linuksa o nazwie Slax.

Niecodzienna codzienność

2009-05-18, Poniedziałek 21:46:44 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Jeden z bardziej zaskakujących dni, jakie do tej pory miałem. Zacznę może od tego, iż tuż po przebudzeniu i wypiciu kawy odebrałem maile. Między innymi od firmy Ad-Vice, która zajmuje się prowadzeniem kampanii reklamowych na blogach. Kontakt z nimi utrzymuję już od dłuższego czasu, ale dopiero teraz dostałem prawdziwe zlecenie i zrozumiałem, że... Blogowanie jest opłacalne.

Zadowolony przygotowałem się do wyjścia na uczelnię. Miałem zamiar zahaczyć o Trójmiejskie Targi Pracy i to też uczyniłem - firmowych gadżetów nigdy nie za wiele. Zaczęło się od dosyć niemiłego spotkania z firmą Acxiom. Dlaczego niemiłego? Co roku oferują każdemu, kto rozwiąże zagadkę logiczną świetną, bawełnianą koszulkę z logiem, które przykuwa uwagę. Zagadka jest czymś na kształt połączonych klocków Lego, które należy od siebie oddzielić - prosta sprawa, zazwyczaj wystarcza siła odśrodkowa i ew. proste narzędzie zrobione z kawałka papieru. Jako jedna z pierwszych osób przyszedłem po koszulkę i... Powiedziano mi, że nie dostanę, bo już w zeszłym roku takową dostałem. No chyba, że jutro, jak jakaś zostanie. Argh?

Zdecydowanie lepiej było z Wirtualną Polską i Sygnity. Od tych pierwszych za wypełnioną ankietę otrzymałem siatkę ze 100% Cottona (dziki zwierz to niebywale), a drudzy udowodnili, że głupi ma szczęście. Dlaczego? Każdy chętny mógł wypełnić test wielokrotnego wyboru z zakresu szeroko rozumianej informatyki i wziąć udział w losowaniu nagród. Główną była nowa konsola Sony Playstation Portable. Podczas samego losowania okazało się, że tylko dwie osoby wypełniły poprawnie cały test i to im zostaną przyznane PSP. Niestety, zwycięzców (pozdrowienia dla Pelego) nie było w okolicy widać, a ich telefony milczały. Uznano, że w takiej sytuacji odbędzie się losowanie. Podejrzewam, że kolega Pele już sobie w brodę pluje. Natomiast ja nie miałem powodów do tego, aby być smutnym - w końcu wygrałem jedną z nagród. Niepozorny kubek, który wygląda na chińską, plastikową podróbkę, ale jest za to niesamowicie praktyczny - można nalać do niego wrzątku, a ścianki nawet nie zrobią się ciepłe. Do tego płyta z muzyką (składanka - jazz, lounge, chillout i elektroniczna) i ołówki. A i Nowakera dzięki temu poznałem, chociaż czasu na dłuższą rozmowę nie było.

Dlaczego to wszystko piszę i tak bardzo podniecam się gadżetami? Ano dlatego, iż uważam, że warto pojawiać się na tego typu imprezach nawet, jeżeli nie poszukujemy praktyk. To nie tylko okazja dla firm, aby się pokazać, ale też okazja dla studentów, aby zdobyć naprawdę interesujące gadżety. Ja do tej pory korzystam z torby na laptopa od Google, ichniej uniwersalnej ładowarki do telefonu (zasilanie przez USB), kubka Signity, koszulki Acxioma, smyczy, czy też wszelkiego rodzaju kulek relaksacyjnych (Opera has balls!).

Komunikacja zintegrowana

2009-05-18, Poniedziałek 00:02:25 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Komunikacja zintegrowana (ang. UC) to koncepcja odnosząca się do oprogramowania umożliwiającego integrację wszystkich form komunikacji w biznesie. W ogólności integracja taka umożliwia osobom z niej korzystającym na wysyłanie informacji przy pomocy jednego medium (np. telefon) i odbieranie ich przy pomocy drugiego (np. komputera). W ten sposób można zintegrować narzędzia do sprawdzania dostępności, telefony, faksy, e-maile, IM, VoIP, telekonferencje itp. Korzyści? Prostsza, efektywniejsza i niezależna od urządzeń (komputer stacjonarny, telefon komórkowy itp.) komunikacja międzyludzka w organizacjach. I co ważne - minimalizacja opóźnień w odbiorze wiadomości.

Idea ta nie jest nowa pomimo tego, iż pierwsze narzędzie informatyczne do komunikacji zintegrowanej o nazwie OpenScape zostało stworzone w 2003 roku przez Siemensa. Przez te lata do grona producentów oprogramowania tego typu dołączyły kolejne firmy włącznie z Microsoftem (Office Communications Server). Co na to środowisko Open Source i Free Software?

Druid OSE to projekt wydany w pierwszym kwartale 2008 roku, a zapoczątkowany już w 2005 roku. Jego funkcjonalność bazuje na takich projektach, jak np. Asterisk, Dojo Toolkit, HylaFAX, Jabberd 2 i Dovecot. Udostępniany na licencji GPL, a dostarczany jako dystrybucja Linuksa opiera się w głównej mierze na przeglądarce Firefox oraz Mozilla Ubiquity, jako tym, co znajduje się po stronie klienta, czyli docelowego użytkownika. Pomyślano również o użytkowniku mobilnym dostarczając również wersję serwisu dla urządzeń mobilnych pokroju np. smartphonów. Firma tworząca to oprogramowanie udostępnia "live demo" tak, aby każdy zainteresowany mógł zapoznać się z Druidem bez konieczności jego instalacji.

Elastix został wydany w pierwszym kwartale 2006 roku i od tej pory już dwukrotnie był finalistą "SourceForge Community Choice Awards". Bazuje on na takich projektach, jak np. Asterisk, HylaFAX, Openfire i Postfix. Wedle opinii znalezionych w Internecie radzi on sobie bardzo dobrze z różnego rodzaju sprzętem ze świata telefonii, co jest jedną z jego mocniejszych stron.

Co dalej? Wpis jest krótki i w niewielkim stopniu zahacza o tematykę zintegrowanej komunikacji. Przyznaję, że jestem w trakcie pobierania Druida w wersji OSE w celu zapoznania się z jego funkcjonalnością. Czy będzie mi on potrzebny podczas codziennej pracy? Nie, zapewne tak samo, jak wielu obecnym tutaj Czytelnikom. Druid należy do rozwiązań przeznaczonych dla biznesu, czy też różnego rodzaju organizacji i tam też właśnie będzie się sprawdzać.

Warto też zauważyć, że zarówno Elastix, jak i Druid są rozwiązaniami otwartymi i darmowymi. Twórcy udostępniają jednak płatne opcje polegające na wdrożeniu systemu w firmie, czy wsparciu w jego administracji i obsłudze. Prawdziwie otwarty model biznesowy.

WegeNiedziela

2009-05-17, Niedziela 21:59:30 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Niemal cały dzień spędziłem dziś wraz z Psycholem i nComem na WegeNiedzieli, która odbyła się w sopockim grodzisku. Jak sama nazwa wskazuje, motywem przewodnim imprezy był wegetarianizm, weganizm oraz stosunek ludzi do zwierząt. O tym, czy impreza była wartościowa, czy też nie można byłoby sporo mówić. Mnie zaś interesuje coś zupełnie innego. Co takiego?

Darmowe jedzenie! Nie, serio, darmowe jedzenie. Uważam, iż to właśnie ono jest najważniejsze w tego typu imprezach. I nie dlatego, że sam lubię jeść. Powód jest zupełnie inny.

Wielu ludzi, słysząc wzmiankę o wegetarianizmie, myśli najczęściej o dwóch rzeczach. Pierwszą z nich jest ideologia związana z wegetarianizmem/weganizmem. Drugą zaś jest wizja wielkiego obiadu złożonego z ziemniaków, tłustego sosu i schaboszczaka, którego ktoś siłą z niego wydarł pozostawiając jedynie ziemniaki. Wyobrażacie sobie, jak ktoś może się żywić takim daniem? Suchymi ziemniakami? Nie do pomyślenia! I tutaj wkracza darmowe żarcie. Ludzie zaczynają zauważać, iż wegetarianizm to nie są zwyczajne, mięsne dania z których ktoś usunął główną ich treść, czyli mięso. Widzą, że idea jest zupełnie inna, a wegetarianin nie musi wyglądać na człowieka zagłodzonego. I co najważniejsze - większa część konsumentów zauważa, że jest to jedzenie naprawdę smaczne.

A co z ideologią? Owszem, jest. Jednak nie istnieje konieczność tego, aby przejawiała się ona w sposób nachalny i agresywny. Wręcz przeciwnie. Z mojego punktu widzenia pojawić się ona powinna na końcu, o ile w ogóle. Odbiorca powinien zauważyć, że wegetarianizm jest równoznaczny z jedzeniem świeżym, smacznym i zdrowym, które nie uderza w jego kieszeń. A to, że w ten sposób nie krzywdzi się zwierzaków będzie wtedy miłym dodatkiem do całości, pozwalającym na to, aby mógł się on (konsument) lepiej poczuć. Czyż nie?

Darmowe jedzenie przepisem na sukces.

Z mojej strony muszę zwrócić uwagę na jeszcze jeden aspekt. Na element edukacyjny takiego przedsięwzięcia, jakim jest wegetariańska impreza. To właśnie uświadamianie tego, iż każdego dnia możemy dokonać realnego wyboru jest kluczowym elementem takiego wydarzenia. Uważam, że nawet jeśli styczność ludzi z tego typu ideami nie przyczyni się do upowszechnienia wegetarianizmu, a jedynie skłoni do baczniejszego przyglądania się temu, co spożywamy, to będzie to duży sukces. To, co jemy ma wpływ na to, jak żyjemy. I odwrotnie.

Abstrahując od samej diety, kolejny raz okazuje się, że wolność to świadomość wyboru, a ta ostatnia nie istnieje bez wiedzy i edukacji. Czyżbym popadał w kult wiedzy?

PS. Nadal śmierdzę, jak wędzonka. Ja to jednak lubię grzać się przy ognisku i karmić sianem czarne kozły ;D

Open Source... to nie tylko oprogramowanie!

2009-05-16, Sobota 23:45:14 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Open Source to nie tylko otwarte oprogramowanie. To idea, która dotyczy również innych aspektów rzeczywistości. Otwarty kod, otwarte procesory (OpenSPARC), otwarta architektura (OpenShelter), otwarte standardy, otwarte jedzenie (OpenCola), otwarta muzyka, otwarte czcionki i wiele, wiele innych.

Otwarty, niczym nieograniczony dostęp do wiedzy to utopia. A może przyszłość?

Praca magisterska

2009-05-16, Sobota 09:49:08 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Wygląda na to, że do czerwca br. wypadałoby wybrać temat pracy magisterskiej. Nie podano jeszcze oficjalnych terminów, ale chodzą plotki, że kolejny raz Wydział nie do końca radzi sobie z komunikacją. Najlepiej byłoby, gdybym to ja sam ten temat zaproponował i przekonał do niego promotora. Tak, czy inaczej tematu pracy jeszcze nie mam, ale posiadam pewne założenia, co do sposobu jej pisania:

  • całość pisana będzie z wykorzystaniem XeLaTeX-a w Emacsie,
  • udostępnię ją na licencji Creative Commons BY NC SA 3.0 (kod na GPL 3.0),
  • wykorzystam rodzinę fontów Gentium,
  • obrazki w miarę możliwości generowane będą w formacie wektorowym (EPS), a tam, gdzie nie będzie to możliwe wykorzystam bezstratny format rastrowy (PNG),
  • formatem wyjściowym będzie PDF,
  • kontrolę wersji zapewni Mercurial.

Zastanawiam się też nad tym, jak ma wyglądać kwestia wykorzystanego języka. Psychol zasugerował wykorzystanie j. angielskiego ze względu na to, iż jest obecnie standardem. Praca, studia doktoranckie, konferencje, publikacje itp. będą miały więcej wspólnego z j. angielskim, niźli z polskim. W moim przypadku mógłby to być jednak strzał w stopę. Łamana angielszczyzna w pracy magisterskiej to nie jest coś, czym chciałbym się chwalić w przyszłości.

Forma pracy jest już określona i naiwnie liczę na to, że pozostanie bez zmian zaakceptowana przez "górę". Potencjalnego promotora też widzę, tylko jeszcze tematu brak. Mam weekend na obmyślenie koncepcji tak, aby w ciągu tygodnia udać się na rozmowy do potencjalnego promotora w celu jej dookreślenia.

XeTeX i XeLaTeX

2009-05-14, Czwartek 16:44:27 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

LaTeX jest popularnym systemem (zestawem makr) do tworzenia dokumentów bazującym na systemie składu tekstu TeX. Każdy, kto miał z nim do czynienia wie, iż odciąża twórcę od zajmowania się wyglądem dokumentu i umożliwia skupienie się na jego treści. Wystarczy porównać efekt uzyskiwany przy pomocy Microsoft Worda i LaTeX-a, aby uznać przewagę tego ostatniego pod względem jakości uzyskanych rezultatów.

Zdarza się jednak, iż autor chciałby mieć nieco większe możliwości wpływu na wygląd dokumentu. Właściwie nie tyle możliwość wpływu, co wykorzystania np. popularnych fontów TrueType, czy też OpenType (jako odskocznia od TeX-owego METAFONT) dostępnych np. na wolnych licencjach pokroju SIL Open Font License (używana przez organizację SIL International w swoich fontach). W tym właśnie momencie należy przyjrzeć się XeTeX-owi i XeLaTeX-owi dostarczanym w takich dystrybucjach TeX-a, jak np. TeX Live.

XeTeX, dostępny na wolnej licencji MIT (X11), wywodząc się z TeX-a i dostarczając jego funkcjonalność umożliwia dodatkowo stosunkowo łatwe wykorzystanie fontów postscriptowych, TrueType i OpenType (sam Tex i LaTeX korzystają z czcionek w formacie METAFONT) w dokumentach, których docelowym formatem jest PDF (ew. DVX. którego obecnie nic nie odczytuje). To, co nas głównie interesuje to jego kompatybilność z LaTeX-em - a jest ona zachowana (tak, jak i z ConTeXt-em), wystarczy wykorzystywać XeLaTeX, aby zachować funkcjonalność LaTeX-a i wsparcie dla wspomnianych rodzajów fontów. Domyślnie korzysta on z Unicode (kodowanie UTF8), co sprawia, że nie zachodzi potrzeba korzystania z paczki inputenc. Chcecie zobaczyć, jak działa XeLaTeX? Wystarczy stworzyć najprostszy plik LaTeX-owy i dodać do niego linie:

\usepackage{fontspec}

%\setmainfont{Nazwa fontu}

Warto zaznaczyć, że w momencie, gdy nie zdefiniujemy rodziny fontów zostanie użyta domyślna, czyli Latin Modern. Całość może wyglądać tak, jak to przedstawiłem poniżej.

\documentclass{article}

\usepackage{fontspec}

\begin{document}

To działa! Zażółcić gęślą jaźń.

\end{document}

Do kompilacji należy posłużyć się poleceniem xelatex.

Same czcionki (najlepiej OpenType) instalujemy metodami opisanymi przez twórców systemu, którego używamy (np. Ubuntu).

Osoby, które nie miały do czynienia z TeX-em, czy też LaTeX-em zapraszam do zapoznania się z przewodnikiem po TeX-u udostępnionym przez Grupę Użytkowników TeX (GUT).

Starsze wpisy | Nowsze wpisy