Zwei Tage mit CSS

11 May 2008
Weil ich gerade mal wieder ein bißchen an meinem Buchprojekt bastle, LaTeX mich nervt und OpenOffice mir die Stil-Einstellungen zu wüst macht, beschäftige ich mich derzeit mit PrinceXML, einem … ja, was ist es eigentlich … offline XML/XHTML und CSS-Renderer. Mit anderen Worten: Ich schmeiße PrinceXML eine CSS-Definition und eine XML- oder (X)HTML-Datei hin, und es kommt ein PDF (12.5MB, vorsicht!) dabei raus.
PrinceXML implementiert einen Haufen von CSS2.1 und Teile von CSS3, hat aber auch ein paar eigene CSS-Erweiterungen. Was für die Erstellung eines Buches ganz spannend ist, ist die Unterstützung von herunterladbaren Fonts und von Silbentrennungsregeln – im ersten Fall funktionierts mit Truetype- und Opentype-Fonts (aber immer schön auf die Rechte achten, ich benutze derzeit Schnitte aus der Gentium-Reihe, die Ventura Bold von Herrn Steffmann sowie einen Spezialfont für Fudge-Würfel, alles frei verfügbare Schriften). Außer PrinceXML wird dieses Feature wohl nur von Browsern mit der WebKit-Engine korrekt unterstützt (Safari oder z.B. Midori unter linux); mein Glaube an Firefox ist gebrochen.

Natürlich bin ich auch auf Probleme gestoßen, aber nichts, was weltbewegend ist. Die Silbentrennung kann derzeit die Trennregeln nicht übers Netz laden, also muß man mein gesamtes Projekt lokal rumliegen haben, dank bzr ist das aber auch kein Problem.

Lustiges Detail am Rande: Wenn man einen Webkit-basierten Browser in einem X laufen hat, dass kein antialiasing hat, und dann das Runterladen der Fonts funktioniert, wird die Website mit dem Webkit-eigenen Antialiasing dargestellt. Zum Vergleich eine kleine Bildstrecke (vielen Dank an kikkay für die Bilder):


X11 ohne Antialiasing, lokale Fonts


X11 ohne Antialiasing, embedded Fonts


X11 mit Antialiasing, embedded Fonts


Jetzt muß ich nur noch die Regressionen im CSS fixen, die die Darstellung der HTML-Seite beeinträchtigen, und ich bin fast glücklich. Ganz glücklich wäre ich über ein PrinceXML vergleichbares Open Source-Tool, bzw. wenn WebKit die @media print-Deklarationen beim Drucken auch berücksichtigen würde. Dann wäre meine Produktionskette nämlich vollkommen OpenSource (den HTML-Output erzeuge ich mit DocUtils aus Textdateien, die ich mit vim erstelle und bearbeite).

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)

  1. Chris: *Midori ist zwar relativ flink, aber auch sehr unausgereift. Ich kann zum Beispiel keine Links in neuen Tabs öffnen, oder manchmal lädt er Seiten auch nicht. Naja, später kann man das dann vielleicht benutzen.

  2. Anonym: Ich wollte halt nicht Safari schreiben. Midori ist natürlich noch sehr jung; da kann sich einiges tun. Neuere Konqueror-Fassungen benutzen auch Webkit, ich sehe da also durchaus Potential.

    Nebenbei: Die ganze Webfont-Frage ist natürlich extrem umstritten, insbesondere unter Berufstypographen: http://www.typophile.com/node/40332

  3. Harald: *Welche Auswirkungen die Font-Namen-Misere hat, kann man hier sehen: http://adhesiontext.com/typophile/CSSFontTest/

    Letztlich ist es derzeit nicht möglich, eine browser-agnostische Lösung für das Problem zu bauen.

  4. Harald: *Und dann habe ich die etwas unruhige Ventura auch noch ersetzt. Die Andika stammt wie die Gentium von SIL, aber da fehlen noch die weiteren Schnitte, um sie wirklich vollständig einsetzen zu können.

    Für die Seitenleisten hab ich mich jetzt mal auf die DejaVu Sans Condensed verlegt – die ist aber nicht so hübsch.


Kommentar schreiben

Kommentar

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Pavatar, Gravatar, Favatar, MyBlogLog, Pavatar Autoren Bilder werden unterstützt.
BBCode-Formatierung erlaubt









RSS-Feed