This is achieved with clap_complete.
The current v1 & v2 cli mixture makes it a bit difficult to offer
clean completions for the `tectonic` command, so for now we only
target the `nextonic` command exclusively for the v2 cli.
The motivation for this change is to fix the Windows pkg-config CI,
where MSYS2's switch to the `pkgconf` implementation of `pkg-config` has
surfaced challenges in this crate's build script. But, it is also true
that we only need harfbuzz-icu for versions of Harfbuzz that are very
old at this point, and separating out that dependency will help us work
towards potentially one day being able to swap out the ICU dependency
with something else. So it's good to make that jump for bigger reasons
than just the CI.
This is a new engine for creating HTML from TeX. SPX is "semantically
paginated XDV", a slight variant on the XDV output created by the XeTeX
engine during TeX processing. It looks like the it will be a misnomer:
we're going to ignore the pagination of the XDV file. But whatever.
We add a dependency on a patched version of "pinot", a crate for
analyzing OpenType files. In order to deal with some math properly, we
need to parse some of the special OpenType math tables.
Also, update dependencies in Cargo.lock.
This crate supports introspection of the Tectonic/XeTeX TeX engine
internal data structures. It aims to support two major use cases:
1. Generating a C header with all of the magic constants needed for the
engine implementation.
2. Decoding "format files" so that one can understand *exactly* what's
going on in a given format.
The second functionality here isn't fully worked out, but a lot of the
pieces are in place.
It turns out that in some cases, biber needs access to various `.bib`
files that may be associated with the document build. Fortunately, the
`.run.xml` file contains exactly the information we need to populate the
temporary tool directly properly. We have to link in an XML parser, but
so be it.
I wasn't aware of the `.run.xml` file before and we potentially could
use it a lot more aggressively. We don't do that here, but the support
is written to try to be future-conscious.