Zum Artikel
< >

Aktives GUI-Element

Statisches GUI-Element

Quelltext

WPS-Objekt

Datei/Pfad

Befehlszeile

Inhalt Eingabefeld

[Tastenkombination]

mehr

Lucide
Ein neuer Dokumentenbetrachter für eComStation

von Robert Henschel, © Juli 2006

Robert HenschelRobert Henschel ist OS/2-Anwender seit 1995 und leitet die OS/2-Benutzergruppe Dresden. Er studiert Informatik an der Technischen Universität Dresden und arbeitet an der Optimierung von Programmen für SGI- und NEC-Supercomputer. In 2005 war er Vorsitzender des Warpstock-Europe-Teams in Dresden.

Lucide, was?!, dass dürfte wohl die erste Frage sein, die man sich als eComStation-Nutzer stellt, wenn man von dem neuen Dokumentenbetrachter hört, den netlabs.org und Serenity System International vor kurzem vorgestellt haben. Der Name stammt vom französischen Wort lucide bzw. dem englischen Wort lucid und bedeutet so viel wie klar, deutlich, hell. Lucide soll Dokumente in einer klaren und übersichtlichen Form darstellen, und zwar möglichst schnell. In der jetzt erschienenen Beta-Version vermag Lucide diese Aufgabe bereits gut zu erfüllen, auch wenn es noch hier und da kleinere Probleme gibt.

Lucide ist ein Dokumentenbetrachter, der auf Plug-Ins basiert. In der hier getesteten Beta-Version sind Plug-Ins für PDF- und DJVU-Dokumente sowie JPG-Bilder enthalten. Im Prinzip kann Lucide aber alle möglichen Formate darstellen, sofern ein Programmierer ein Lucide-Plug-In dafür entwickelt hat. Lucide sollte also nicht nur als reiner PDF-Betrachter verstanden werden, auch wenn das in der aktuellen Version sicher der Hauptnutzen sein wird.

Warum Lucide?

Die kurze Antwort auf diese Frage lautet: Weil man unter eComStation einen aktuellen PDF-Betrachter braucht! Warum hat man also nicht den gewohnten Weg eingeschlagen und die aktuelle Version des Acrobat Reader mit Hilfe von ODIN oder der InnoTek Runtime auf eComStation lauffähig gemacht?

Die aktuelle Version des Acrobat Reader für Windows ist nicht gerade für ihre Schnelligkeit bekannt und von Version zu Version ist Acrobat Reader auch nicht unbedingt schneller geworden. Insbesondere wenn man ihn nur zum Anzeigen von Dokumenten gebraucht, ist die Wartezeit beim Programmstart störend. Aus diesem Grund wurde nach einer besseren Alternative gesucht.

Es gibt einige Möglichkeiten, Acrobat Reader zu beschleunigen. Weitere Informationen entnehmen Sie bitte dem Artikel von Harry Travis im VOICE Newsletter von April 2005.

Unter Linux sind Evince und Xpdf zwei weit verbreitete PDF-Betrachter. Beide setzen im Hintergrund zwei verschiedene Bibliotheken zum Lesen und Darstellen von PDF-Dokumenten ein. Da beide Programme deutlich schneller als Acrobat Reader arbeiten, bestand die Grundidee darin, eine der beiden PDF-Bibliotheken nach eComStation zu portieren und dann eine native Benutzeroberfläche zu erstellen, welche diese Bibliothek nutzt. Am Ende entschied man sich für die Portierung von Poppler, der PDF-Bibliothek, die von Evince genutzt wird.

Das Projekt

Als Serenity Systems International und netlabs.org über die Machbarkeit eines solchen Projektes diskutiertierten, war schnell klar, dass man rasche Fortschritte nur erzielt, wenn man einen Programmierer für diesen Job bezahlt. Nach kurzer Suche konnte Eugene Romanenko für das Projekt gewonnen werden. eComStation-Nutzer kennen vielleicht die verschiedenen Programme von Eugene, er zeichnet zum Beispiel für den eComStation VNC Server und PMDownloader verantwortlich. Serenity Systems International unterstützt das Projekt in finanzieller Hinsicht und netlabs.org kümmert sich um die notwendige Infrastruktur, alsoQuellcode Repository, Bug-Tracker usw.

Bereits in der Anfangszeit des Projektes stellte sich heraus, dass es eigentlich Verschwendung ist, eine Benutzeroberfläche zu entwickeln, welche sich nur mit einem einzigen Dokumententyp verwenden lässt. Aus diesem Grund wurde für Lucide eine Plug-In-Schnittstelle entworfen, die das Anbinden verschiedenster Bibliotheken ermöglicht. Als Beispiel wurde je ein Plug-In zur Darstellung von DJVU-Dokumenten und JPEG-Bildern geschrieben. Beide Plugins basieren wiederum auf einer Bibliothek und wurden nicht von Grund auf neu programmiert! Die Plug-Ins nutzen die unter eComStation zur Verfügung stehende SOM-Architektur.

Ein großer Vorteil dieser Herangehensweise ist, dass sie die Konzentration auf das Wesentliche ermöglicht! eComStation-Programmierer sollten keine PDF- oder DJVU-Bibliotheken schreiben, dafür gibt es einfach zu wenige Programmierer auf unserer Plattform! eComStation-Programmierer sollten sich darauf konzentrieren, vorhandene Technologien gut in die WPS einzubinden, so das sich portierte Software unter eComStation wie gewohnt bedienen lässt. Lucide ist ein gutes Beispiel für diese Strategie. Linux-Programmierer werden auch in Zukunft an der poppler-Bibliothek arbeiten und sie dadurch verbessern und pflegen. Änderungen können in sehr kurzer Zeit auch für die eComStation-Plattform verfügbar gemacht werden, in dem einfach das PDF-Plug-In für Lucide erneuert wird.

Aktueller Stand und geplante Entwicklungen

Zum Test lagen die Versionen Beta 1 und 1.1 von Lucide vor. Bis zum ersten vollständigen Release 1.0 wird es noch mindestens eine weitere Betaversion, Beta 2, und einen Release Candidate, RC, geben. Neben optischen Änderungen wie neuen Icons wird es auch Änderungen in der Benutzerschnittstelle geben. Für PDF-Dokumente sind kleine Vorschaubilder geplant und der Vollbildmodus soll auch noch einmal angepasst werden. Die Installation von Lucide wird mit Hilfe von WarpIN realisiert und schließlich soll noch die Druckfunktion implementiert werden. Die aktuelle Entwicklung kann jeder Anwender im TRAC-Repository von Lucide auf dem netlabs.org-Server mitverfolgen.

Da Serenity Systems International 100% der Projektkosten trägt, hat SSI auch einen großen Einfluss auf die weitere Entwicklung von Lucide. Netlabs.org, dem die technische Leitung obliegt, liefert Ideen zur weiteren Gestaltung von Lucide und ist dabei natürlich bemüht sicherzustellen, dass sich der Dokumentenbetrachter in eine Richtung entwickelt, die sich positiv von anderen Plattformen unterscheidet. Und auch jeder Anwender kann die Richtung des Projektes mitbestimmen. Ideen für Verbesserungen oder neue Features sollten in Form von Tickets im TRAC-Repository hinterlegt werden.

Lucide ist auch eines der ersten Projekte, welches direkt vom netlabs.org-Engagement für Voyager profitiert. Voyager hat das Interesse an SOM und einer guten WPS-Integration wieder geweckt! Da im Voyager-Projekt viel mit SOM gearbeitet wird, können sich interessierte Entwickler bereits heute mit der auf SOM basierenden Plug-In-Architektur von Lucide vertraut machen.

Installation

Das Readme-Dokument welches sich im ZIP-Archiv befindet, gibt keine konkreten Hinweise zur Installation von Lucide, was wohl zum Teil auf den Beta-Status der Software und auf die sehr einfache Installation zurückzuführen ist. Für einen schnellen Test genügt es, das Archiv in ein neues Verzeichnis zu entpacken und lucide.exe auszuführen. Soll Lucide auch aus anderen Verzeichnissen startbar sein, zum Beispiel als Hilfsanwendung zum Betrachten von PDF-Dokumenten aus File Commander, so ist der Programmpfad von Lucide in die Umgebungsvariablen LIBPATH und PATH der CONFIG.SYS einzutragen. Das DJVU-Plug-In benötigt die LIBC 0.6.1. Kann diese nicht gefunden werden, so wird das Plug-In nicht geladen, eine Fehlermeldung bekommt der Nutzer jedoch nicht zu sehen. Die restliche Funktionalität von Lucide und der anderen Plug-Ins steht auch ohne LIBC 0.6.1 zur Verfügung.

Das Hauptfenster von Lucide
Abb. 1: Das Hauptfenster von Lucide

Beim Öffnen des ersten PDF-Dokuments wird für FontConfig eine neue Konfigurationsdatei erstellt. Dafür werden alle installierten Schriftarten kurz gescannt und für die spätere Verwendung registriert. Dieser Vorgang ist nur einmal nötig.

Die Konfigurationsdatei für FontConfig wird erstellt.
Abb 2: Die Konfigurationsdatei für FontConfig wird erstellt.
Sollte jeweils beim ersten Laden eines PDF-Dokuments nach dem Start von Lucide eine längere Wartezeit zu bemerken sein, dann liegt das meist an der Erstellung der Schriftdatenbank für FontConfig. Die Information über verfügbare Schriftarten wird im Home-Verzeichnis des Nutzers in den Dateien .fonts.cache-1 und fonts.conf gespeichert. Im Regelfall sollten diese Dateien nur einmal angelegt werden. Sind sie aber fehlerhaft, so kann es vorkommen, dass Lucide diese Dateien beim Öffnen des ersten PDF-Dokuments nach einem jeden Programmstart neu generiert, dies dem Anwender aber nicht mitteilt. Um diesen Fehler zu beheben, genügt es, die beiden oben genannten Dateien manuell zu löschen und Lucide neu zu starten. Beim Öffnen des ersten PDF-Dokuments wird dann ein Dialog angezeigt, welcher auf die Erstellung der Schriftdatenbank hinweist. In Zukunft sollte dann das Laden jedes PDF-Dokumentes deutlich schneller gehen.

Funktionsumfang

Die Betas 1 und 1.1 von Lucide können standardmäßig PDF-, JPG- und DJVU-Dateien anzeigen. Je nach Plug-In bietet Lucide verschiedene Funktionen für ein geladenes Dokument an. Für die meisten eComStation-Nutzer dürfte die Anzeige von PDF-Dateien die wichtigste Funktion von Lucide sein, deshalb wird sie im weiteren auch besonders genau betrachtet.

Von den drei mitgelieferten Plug-Ins hat das JPEG-Plugin den geringsten Funktionsumfang. JPG-Dateien können lediglich angezeigt werden. Es ist nicht möglich, ein Bild zu zoomen oder zu drehen.

Das DJVU-Plug-In bietet neben der eigentlichen Anzeige des Dokuments noch die Möglichkeit, im Dokument zu zoomen. Dies macht es zum Beispiel möglich, das Dokument auf die Breite des Bildschirms zu vergrößern. Damit kann man auch kleinere Details gut erkennen. Das Drehen von DJVU-Dokumenten wird aber nicht unterstützt, ebenso ist es nicht möglich, Text oder Grafiken direkt aus DJVU-Dokumenten heraus zu kopieren.

Das Plug-In mit der größten Funktionalität ist das PDF-Plug-In. PDF-Dokumente können in der Größe verändert werden und es sollte auch möglich sein, sie zu drehen. Letzteres ist aber in der Beta 1 von Lucide wohl noch nicht implementiert. Außerdem kann man Text in PDF-Dokumenten mit der Maus auswählen und in die Zwischenablage kopieren, um ihn in anderen Anwendungen weiter zu verwenden. Die Suche ist auch bereits möglich, es scheint aber so, als ob nur auf der aktuellen Seite gesucht wird. Anders als bei Acrobat Reader 5 werden gleich alle gefunden Stellen markiert und es entfällt die weitere Suche. Bei PDF-Dokumenten wird zusätzlich zum Dokument auf der linken Seite eine Navigationsleiste angezeigt. Diese ermöglicht es, sich schnell im Dokument zu bewegen und einen Überblick über den Inhalt zu bekommen. Genau wie bei Acrobat Reader 5 gibt es drei voreingestellte Zoomstufen, die über Symbole in der Werkzeugleiste direkt ausgewählt werden können. Zusätzlich kann man noch verschiedene Zoomstufen zwischen 12,5% und 1600% wählen.

Mittlerweile wurde ein weiteres Plug-In herausgebracht. Heiko Nitzsche ist der erste freie Programmierer der ein Lucide Plug-In geschrieben hat! Das Plug-In basiert auf dem Generalised Bitmap Module, GBM, welches er pflegt, und erweitert Lucide um die Möglichkeit eine Vielzahl von Bitmap-Formaten anzuzeigen. Weitere Informationen findet man auf der GBM-Homepage.

Bei allen Dokumententypen kann zur Vollbildanzeige umgeschalten werden. Bei Beta 1 heisst das, dass oberhalb des Dokumentes noch die Menüleiste und die Werkzeugleiste angezeigt werden. Dieses Konzept von Vollbild sollte vielleicht noch einmal überdacht werden.

Beta 1.1 behebt einige Fehler und implementiert einen neuen Einstellungsdialog für das Standard-Seitenlayout und die -Zoomeinstellung.

PDF Anzeige in Lucide
Abb. 3: PDF Anzeige in Lucide [Großes Bild]

Positiv aufgefallen ist, dass der Start von Lucide äußerst schnell erfolgt. Besonders im Vergleich zu Acrobat Reader 5 ist dieser Unterschied deutlich zu sehen. Das Laden eines 700 KB großen PDF-Dokuments mit 92 Seiten geschah auch ohne jede merkliche Verzögerung und das Durchblättern des Dokuments ging flott vonstatten. Die Anzeigegeschwindigkeit von PDF-Dokumenten hängt aber stark vom Inhalt des Dokumentes ab. Generell kann man sagen, dass die Geschwindigkeit von Lucide mindestens auf dem Niveau des Acrobat Reader 5 oder darüber liegt.

Zusammenfassung

Für eine Beta-Version leistet Lucide bereits viel und es tut gut, die Neuentwicklung eines Programms für eComStation zu sehen.

Wie gut sich Lucide entwickelt, hängt nicht zuletzt auch von den Anwendern ab. Wenn der Entwickler und das Projektteam das Gefühl haben, dass sich niemand für Lucide interessiert, dann fällt natürlich auch die Motivation. Interesse an Lucide kann man nicht mit dem Kauf einer Lizenz demonstrieren, sondern mit aktiver Unterstützung des Projektes, durch das Melden von Fehlern oder Änderungsvorschlägen und neuer Ideen. Auch für Entwickler ist Lucide interessant. Von der Erstellung eines WarpIN-Paketes für die Installation bis hin zum Schreiben weiterer Plug-Ins gibt es ausreichend Möglichkeiten, sich einzubringen. Kontakt zum Entwickler sowie weitere wichtige Informationen zum Projekt bekommt man über das TRAC Repository von Lucide auf dem netlabs.org-Server.

Korrektur: Christian Hennecke
Daten und Quellen

Lucide
Hersteller: netlabs.org
Preis: Gratis erhältlich für eComStation-Anwender mit Zugriff auf Betazone

Lucide Download: eComStation Betazone (zu erreichen nach dem Login auf http://www.ecomstation.com/)
Lucide Homepage / TRAC Repository: http://svn.netlabs.org/lucide
Lucide Bug-Tracker: http://svn.netlabs.org/lucide/report/1
Lucide Plug-In Quellcode: ftp://ftp.netlabs.org/pub/lucide
Mailingliste für Lucide-Nutzer: http://news.gmane.org/gmane.org.netlabs.lucide.general
Mailingliste für Entwickler: http://news.gmane.org/gmane.org.netlabs.lucide.devel
LIBC 0.6.1: ftp://ftp.netlabs.org/pub/gcc/libc-0.6.1-csd1.zip
Poppler Homepage: http://poppler.freedesktop.org/
netlabs.org: http://netlabs.org/
Artikel Adobe Acrobat Reader für schnelleres Starten und Blättern abrüsten: http://de.os2voice.org/VNL/past_issues_DE/VNL0405H/vnewsf4.htm
OS/2 Kit für Acrobat Reader 5.1 Preview 1: http://www.innotek.de/products/acrobatos2/acrobatos2general_beta_e.html
OS/2 Kit für Acrobat Reader 4.05: http://www.innotek.de/products/acrobatos2/acrobatos2general_e.html