This was an excellent week for boxes and glue.

* the textshape Text shaper is now usable and passes almost all harfbuzz tests (still working on the last ones)
* mpgo - a Go MetaPost code is now pretty much feature complete (an bug free, of course)
* hobby, a Lua frontend for mpgo works fine
* glu, a boxes and glue Lua frontend is getting more and more functionality
* boxes and glue can now render SVGs in PDF and is font aware. it uses the textshape engine to render fonts in SVG.
* Merged some pull requests for textshape and boxesandglue.

https://boxesandglue.dev

#boxesandglue #PDF #SVG #MetaPost

boxes and glue - boxes and glue

A small follow-up from last post on high speed PDF generation with boxes and glue at

https://news.speedata.de/2025/05/27/highspeedpdfgeneration/

#boxesandglue #highspeedpublishing

High speed PDF generation with boxes and glue

I have been playing with electronic invoices (especially the German and French ZUGFeRD/Factur-X format) for a while now. The speedata Publisher has support for ZUGFeRD since 2017. The next step is to make (my other PDF generation software) boxes and glue work with electronic invoices. For that, I use the new command line interface for boxes and glue (which I will describe in a future blog post). There only a few things that need to be done to make this work:

Finally created a first real world example for the boxes and glue command line interface at https://github.com/boxesandglue/boxesandglue-examples/tree/main/commandline/zugferdinvoice

Creating 1,000 EN 16931 compliant invoices in 14 seconds on an 2021 m1 MacBook Pro is not bad...

#boxesandglue #highspeedpublishing #zugferd

boxesandglue-examples/commandline/zugferdinvoice at main · boxesandglue/boxesandglue-examples

Examples for the boxes and glue library. Contribute to boxesandglue/boxesandglue-examples development by creating an account on GitHub.

GitHub

Next attempt for a command line interface for #boxesandglue is now available at

https://github.com/boxesandglue/cli

There are binaries for Window, Linux and macOS and some sort of documentation at https://boxesandglue.dev/cli/. Very early stage, but it shows the direction. Great thank to the hackers at https://risor.io for the great language / Go bindings.

GitHub - boxesandglue/cli: command line interface for boxes and glue (experimental)

command line interface for boxes and glue (experimental) - boxesandglue/cli

GitHub

So for Grazer Linuxtage (#glt25) I consider submitting a talk. I came up with two talk ideas so far. Which talk would you be interested in?

*Current state of digital typesetting*
a comparsion and explanation of typesetting engines like #TeX/#LuaLaTeX, #typst, #SILE, #boxesandglue, and frontends like #Quarto

*New features in CSS3*
This talk assumes you are familiar with #CSS, but you need an update for the latest #CSS3 features with a focus on typography and line-based typesetting

"Current state of digital typesetting"
78.6%
"New features in CSS3"
21.4%
Poll ended at .
Creating PDF with JavaScript

I have created JavaScript bindings for boxes and glue. These bindings are created with goja. Let me show you an example:

The boxes and glue repositories will move to their own GitHub organization. See https://github.com/speedata/boxesandglue/discussions/8 #boxesandglue
Moving repositories to another organisation · speedata boxesandglue · Discussion #8

I will move the main repositories to the new organisation (https://github.com/boxesandglue) in a few days. I hope that this will not break anything... I someone has experience with such a location ...

GitHub
boxes and glue linebrak tester

This is pre alpha / experimental and just for me....

I'd like to have a visual test for the line breaking algorithm of boxes and glue, so I created a little HTML / canvas fronted with Go / Web Assembly (wasm)

https://linebreak.boxesandglue.dev

and

https://github.com/speedata/linebreak-web

More bells and whistles will follow.

#boxesandglue #linebreak

boxes and glue linebrak tester

Still thinking about a pure Go graphics language for boxes and glue. One option would be porting #MetaPost to Go, but this is quite a bit of work. Any other possibilities / ideas?

https://tug.org/metapost.html

#boxesandglue #metapost #golang #graphics

MetaPost - TeX Users Group