speedata Blog

Entwicklungen & Neuigkeiten zum speedata Publisher

Fontsampler IBM Plex

Die Firma IBM hat seine neue Hausschrift IBM Plex auf Github unter einer OpenSource-Lizenz verfügbar gemacht. Sie kann ohne Einschränkungen (SIL Font License) benutzt werden. Die Gelegenheit habe ich mal genutzt, um ein Beispielblatt mit den Schriftarten zu erstellen. Den Weg hierzu möchte ich kurz beschreiben: Als erstes habe ich die Schriftarten heruntergeladen und entpackt. Da der Publisher sowohl mit OpenType als auch mit TrueType umgehen kann, habe ich mich für die erste Variante entschieden.

LuaTeX 1.0.4

Der Publisher nutzt bekanntermaßen LuaTeX als Satzengine. LuaTeX ist eine moderne Variante von TeX, was ja für seine exzellenten Satzeigenschaften bekannt ist. LuaTeX wird in der Installation des Publishers mitgeliefert, so dass sich der Anwender hierüber keine Gedanken machen muss. Auch kommt er in nicht direkt mit TeX in Berührung, daher werden auch keine speziellen TeX-Kenntnisse benötigt, um den Publisher zu bedienen. Die mitgelieferte Version von LuaTeX ist zwar schon recht alt (0.

Lua Preprocessing: CSV nach XML-Konverter

Neu in Version 3.1.10 Die neue Funktionalität des Lua-Präprozessors habe ich um Schnittstellen zu CSV und XML erweitert. Man kann nun beliebige CSV-Dateien einlesen und nach XML konvertieren, ohne eine Zeile Code zu schreiben1. CSV nach XML nach PDF In dem neuen Beispiel (https://github.com/speedata/examples/tree/master/technical/csvreader) ist das ausführlich in einem lauffähigen Layout gezeigt. Grundlage ist eine CSV-Datei. In dem Verzeichnis liegt eine Datei mit ausgedachten Personen: "First name","Last name","Company name", .

Lua anstelle von XProc

Die neueste Version des Publishers (3.1.9) hat ein kleines, aber feines Feature dazu bekommen: ab sofort ist es möglich, vor dem Rendering Lua-Skripte auszuführen. Lua Lua ist eine ganz passable Programmiersprache, ähnlich wie JavaScript, und ideal, um in Programme eingebettet zu werden. Der Publisher selbst ist zu 95% in Lua geschrieben, daher bietet sich die Programmiersprache auch an, um die Startskripte damit zu erstellen. Aufruf Mit sp --filter meinprogramm.lua wird also das angegebene Lua-Programm ausgeführt, bevor der eigentliche Rendering-Prozess aufgerufen wird.

Kompatibilität mit macOS High Sierra (10.13) / Go

Offensichtlich gab es Probleme mit dem Publisher und MacOS High Sierra (10.13). Das ist nun behoben. Ich habe das Startprogramm sp in Go geschrieben und erzeuge die Binaries unter Linux. Das funktioniert auch soweit ganz gut, doch die aktuelle Version von MacOS scheint wohl nur mit einer neuen Version von Go unterstützt zu werden. Auf dem Build-Server habe ich nun die Version 1.9.1 installiert und alles läuft wieder rund.

Veranstaltungshinweise

Ich erlaube mir mal, auf zwei Veranstaltungen hinzuweisen, die im Umfeld des Publishers interessant sein können. Einmal gibt es die XMLPrague (8. bis 10. Februar 2018), die ich regelmäßig besuche und dort auch Workshops zum Publisher gebe. Es werden Vorträge und ähnliches gesucht, auch gerne kurze Beiträge. Der Weg nach Prag lohnt sich definitiv. Keine Erfahrung habe ich hingegen mit den ZUGFeRD-Entwicklertagen (18./19. Januar 2018 in Bielefeld), das könnte aber auch ganz interessant sein.

XML User Group Berlin Reihe »Satzautomatisierung«

Ich erlaube mir einen Hinweis auf die Reihe »Satz-Automation aus XML« der XML User Group Berlin (XUG BER). Nächste Woche starte ich mit einer Veranstaltung zum Publisher, den ich dort vorstelle und Fragen dazu beantworte. Die Veranstaltung findet statt am Mittwoch, 20. September 2017 18 Uhr bei De Gruyter (Genthiner Str 13, Berlin Tiergarten). Infos gibt es auf der Meetup-Seite und Fragen könnt ihr mir auch gerne direkt mailen.

RELAX NG Tutorial und Asciidoctor

»Wenn du etwas lernen möchtest, halte einen Vortrag drüber« war ein Tipp eines Freundes. Nun nutze ich schon seit Jahren die XML Schemasprache RELAX NG, mit RELAX NG ist auch das Schema für das Layoutregelwerk des Publishers definiert, doch ich hatte nie das Gefühl, die Sprache vollständig verstanden zu haben. Um die Sprache mal endlich ganz zu verstehen, habe ich zwar keinen Vortrag gehalten, aber ein Tutorial geschrieben. Dies ist als HTML und als EPUB verfügbar und die Asciidoctor-Quellen sind auf der Entwicklerseite.

PDF und ISO-Normen

Kürzlich ist die Version 2.0 von PDF erschienen. Die PDF-Branche feiert das natürlich mit zahlreichen Artikeln rund um die Neuerungen bei dem neuen Standard, siehe z.B. die Seite bei pdflib.com. Grund zur Freude? Sicherlich, aber einen etwas schalen Geschmack hat die Sache meiner Meinung nach. PDF und freie Standards Früher™, in den guten alten Zeiten, war es so, dass die Spezifikation von PDF frei verfügbar war. Es gab zwar ein paar Startschwierigkeiten, aber das ist laaaange her.

speedata Publisher Version 3

Endlich habe ich wieder ein »Major-Release« veröffentlicht. Es ist Zeit für einen kurzen Rückblick Wenn man von Version 2.0 ausgeht, sind seit dem ziemlich genau drei Jahre vergangen, in denen es 4 Minor Releases und ca. 150 Patch Releases gab. Das ist durchschnittlich eine Version pro Woche, wobei es natürlich Phasen unterschiedlicher Intensität gab. Interessanterweise kamen bei mir nie Beschwerden aufgrund von Abwärtskompatibilität an, obwohl es kleine inkompatible Änderungen gab (die Betreffen das Cursor-Verhalten bei Objekten, die an den rechten Rand reichen.