Skip to main content

Crate stet

Crate stet 

Source
Expand description

Batteries-included PostScript Level 3 interpreter.

This crate provides a simple, high-level API for rendering PostScript and EPS files. All resources (35 fonts, init scripts, encodings, ICC profiles) are embedded in the binary — no external resources/ directory needed.

§Quick Start

let mut interp = stet::Interpreter::new();
let pages = interp.render(b"%!PS\n100 100 moveto 200 200 lineto stroke showpage", 300.0).unwrap();
// pages[0].rgba — RGBA pixel data
// pages[0].width, pages[0].height — dimensions in pixels

§Output Modes

MethodReturnsFeature
Interpreter::renderRGBA pixels + display listrender (default)
Interpreter::render_to_display_listDisplay lists onlyalways available
Interpreter::render_to_pdfPDF bytespdf-output (default)
Interpreter::execNothing (side effects only)always available

§Configuration

let mut interp = stet::Interpreter::builder()
    .no_icc()             // disable ICC color management
    .suppress_output()    // silence PS print/==/= operators
    .build();

§Feature Flags

Both features are enabled by default. Use default-features = false for a minimal build that only supports display list output.

FeatureAddsExtra dependency
renderrender() — RGBA pixel outputstet-render (tiny-skia)
pdf-outputrender_to_pdf() — PDF outputstet-pdf

Modules§

embedded_resources
Embedded resource files for the stet facade crate.

Structs§

DisplayListPage
A page’s display list with dimensions (before RGBA rendering).
IccCache
ICC color profile cache and transform manager.
ImageCache
Pre-converted RGBA image data cache, indexed by display list element index.
Interpreter
A fully initialized PostScript interpreter.
InterpreterBuilder
Builder for configuring an Interpreter before creation.
PreparedDisplayList
Pre-computed metadata for fast viewport rendering.
PsContext
PsDisplayList
An ordered list of drawing operations for a single page.
RenderedPage
A rendered page with display list and optional RGBA pixel data.

Enums§

DisplayElement
A single recorded drawing operation.
StetError
Error type for interpreter operations.

Functions§

build_icc_cache_for_list
Pre-downsample an image when the transform indicates significant downscaling.
prepare_display_list
Precompute display list metadata for fast viewport rendering.
ps_exec
Tokenize a byte stream and execute it.
render_region_prepared
Render a rectangular viewport region using precomputed metadata.
render_to_rgba
Render a full-page display list to RGBA pixels using the banded parallel renderer.
viewport_band_count
Compute the number of bands and band height for viewport banding.