von Patrick Gundlach |

Jahresvorblick

Ausblick 2023

Anstelle eines Jahresrückblicks (»alles war prima!«) gibt es einen Jahresvorblick bzw. Ausblick auf das Jahr 2023.

Was bisher geschah…

speedata Publisher

Die Entwicklung des speedata Publishers beschränkte sich gegen Ende letzten Jahres auf Bugfixes. Nach den größeren Umbauten der letzten Jahre (Harfbuzz-Modus und die Nutzung einer eigenen Lua-Bibliothek anstelle von von LuaJIT) wird die Stabilität insbesondere von Business-Nutzern sehr geschätzt. Durch die Umstellung auf 64-Bit auf allen Plattformen sind nun auch Kataloge mit mehreren tausend Seiten kein Problem mehr. LuaJIT war hier manchmal limitierend.

Ausblick speedata Publisher

Für den Anfang diesen Jahres stehen ein paar Dinge im HTML-Bereich an:

  • Es wird weitere Verbesserungen in der CSS-Unterstützung geben
  • Markdown soll in den Publisher integriert werden, damit kann man dann auch aus dem Publisher heraus ohne Umwege das beliebte Format zur Textauszeichnung nutzen.

Experimentierfeld für den speedata Publisher

Nichts geht in der Softwareentwicklung ohne ein Experimentierfeld, auf dem neue Dinge ausprobiert werden können. Mein Wunsch nach vollständiger Rückwärtskompatibilität funktioniert nur, wenn sich die Schnittstellen nicht ändern. Neue Dinge ausprobieren und eine stabile API zu haben, widerspricht sich aber. Diesen Widerspruch löse ich, in dem ich parallel zum speedata Publisher an einer ganz neuen Software arbeite (zu finden auf Github unter xts - XML typesetting system).

speedata Publisher Next Generation

XTS (oder auch der speedata Publisher Next Generation) ist ein experimentelles System und ist in der Eingabe dem speedata Publisher sehr ähnlich. Es liest XML-Daten und XML-Layouts und erzeugt PDF-Dateien. Ein ganz bedeutender Unterschied ist, dass die Basis nun nicht mehr LuaTeX ist, sondern die eigens entwickelte Bibliothek »boxes and glue«.

boxes and glue

boxes and glue hatte ich im letzten Jahr schon im Blog und auch auf der DANTE und der TUG-Tagung (Video) vorgestellt. In Kürze: boxes and glue ist eine Softwarebibliothek für die Programmiersprache Go, die mit TeX-Algorithmen PDF-Dateien erstellt. Sie ist sehr modular aufgebaut und bietet quasi alles, um einen eigenen PDF-Renderer zu schreiben. Mein Hauptaugenmerk ist derzeit die Stabilisierung von boxes and glue, so dass die Bibliothek auch in produktiven Anwendungen Einzug finden kann.

bagme

bagme (boxes and glue made easy) ist ebenfalls eine Bibliothek und setzt auf boxes and glue auf. Das ist meine Testumgebung für boxes and glue und besteht im Wesentlichen aus einem HTML-Formatierer der mit CSS gesteuert werden kann. Somit kann man einfach HTML-Text (oder z.B. mit Markdown erzeugten Texte) formatieren und als PDF ausgeben. bagme ist inzwischen in einer ersten Beta-Version veröffentlicht worden. Hier ein paar Highlights von bagme:

  • Freie Software (BSD Lizenz)
  • Unterstützung für die grundlegenden HTML Befehle
  • Teilweise Unterstützung von CSS (Farben, Rahmen, Größen, Schriftarten, Seitenvorlagen)
  • Qualitativ hochwertiger Textsatz (basierend auf TeXs Algorithmen, auch optischer Randausgleich und Font expansion), borders, sizes, fonts, master pages)
  • Einfache Installation über go get …
  • Extrem schnell

Die nächsten Monate

Die nächsten Monate bringen hier sicherlich noch etwas mehr Fähigkeiten in die bagme-Bibliothek z.B. für automatischen Seitenumbruch und weitergehende CSS-Unterstützung. Ebenfalls ist es jetzt der richtige Zeitpunkt, das Handbuch von boxes and glue zu aktualisieren und zu erweitern.

Da boxes and glue und auch bagme unter einer OpenSource-Lizenz stehen, freue ich mich über jeden Patch und über jede Fehlermeldung, wenn etwas nicht funktioniert.