12 releases

0.4.4 Feb 5, 2024
0.4.3 Jun 12, 2023
0.4.2 May 18, 2023
0.4.1 Oct 4, 2022
0.1.3 Jun 17, 2021

#2608 in Text processing

Download history 185/week @ 2025-11-06 162/week @ 2025-11-13 162/week @ 2025-11-20 166/week @ 2025-11-27 144/week @ 2025-12-04 126/week @ 2025-12-11 209/week @ 2025-12-18 179/week @ 2025-12-25 176/week @ 2026-01-01 172/week @ 2026-01-08 195/week @ 2026-01-15 200/week @ 2026-01-22 276/week @ 2026-01-29 273/week @ 2026-02-05 235/week @ 2026-02-12 323/week @ 2026-02-19

1,131 downloads per month
Used in 20 crates (via tectonic)

MIT license

5.5MB
135K SLoC

C 89K SLoC // 0.1% comments C++ 39K SLoC // 0.2% comments Python 3.5K SLoC // 0.1% comments Rust 2K SLoC // 0.1% comments M4 1K SLoC // 0.3% comments Automake 653 SLoC // 0.0% comments Objective-C++ 181 SLoC // 0.2% comments Shell 148 SLoC // 0.1% comments Templ 39 SLoC // 0.6% comments

The tectonic_engine_xetex crate

This crate is part of the Tectonic project. It provides the XeTeX engine as a reusable crate.

Cargo features

This crate provides the following Cargo features:

  • external-harfbuzz: activates the same-named feature in the tectonic_bridge_harfbuzz dependency.

Updating the generated headers

This crate exposes Rust functions to C/C++ code using a header file created by cbindgen. To update the header, run:

cbindgen --output xetex/xetex_bindings.h

It also uses definitions generated by the tectonic_xetex_format introspection crate. To update that header, run:

cargo run -p tectonic_xetex_format --example emit >xetex/xetex_format.h

Note that this crate defines the format serial number that it implements (in tectonic_engine_xetex::FORMAT_SERIAL) separately from the maximum serial number supported by the introspection crate (in tectonic_xetex_format::LATEST_VERSION).

Dependencies

~2–14MB
~119K SLoC