Revecto
Rendering

Choosing an engine

Forme and Chromium side by side.

Every request sets engine to forme or chromium. There is no default.

Comparison

FormeChromium
SpeedSeveral times faster. Forme lays the document out without a browser.Slower. Each Chromium render runs in a full browser session.
CSSA subset; see Forme.The CSS a current browser prints.
Page numberscounter(page) and counter(pages) in @page margin boxes.counter(page) and counter(pages) in @page margin boxes.
Running headers and footers@page margin boxes.@page margin boxes, or position: fixed elements repeated on every page.
<thead>Repeats on every page.Repeats on every page.
<tfoot>Last page only.Repeats on every page.
Arabic, Hebrew, Hindi, ThaiRendered.Rendered.
Arabic-Indic and Persian digits (٠-٩, ۰-۹)Refused (422).Rendered.
Chinese, Japanese, KoreanRefused (422) until a font covering them is linked or registered.Rendered.
EmojiRendered in monochrome.Rendered in color.
SVGNot rendered, inline or as an image.Rendered.
ImagesPNG, JPEG and WebP.As a current browser.
scale optionRefused (400 option_not_supported_by_engine).Supported.
tagged optionSupported.Supported.
PDF sizeSimilar to Chromium. tagged: false makes the file several times smaller.Similar to Forme. tagged: false makes the file several times smaller.
Unsupported CSSRefused with 422 unsupported_document, listing what was not supported.Rendered as a browser prints it.

Forme refuses most of what it cannot render. A few features are left out without a refusal; see Forme.

Recommendation

  • Use Forme for documents that stay within its subset. Chinese, Japanese and Korean text needs a linked or registered font.
  • Use Chromium otherwise, and whenever Forme refuses a document you cannot change.

On this page