I built a zero-browser, pure-JS typesetting engine for bit-perfect PDFs
Hi HN, I'm a film director by trade, and I prefer writing my stories in plain text rather than using clunky screenplay software. Standard markup like Fountain doesn't work for me because I write in mixed languages, so I use Markdown with a custom syntax I invented to resemble standard screenplay structures. This workflow is great until I need to actually generate an industry-standard screenplay PDF. I got tired of manually copying and pasting my text back into the clunky software just to export it, so I decided to write a script to automate the process. That's when I hit a wall. I tried…
I built a zero-browser, pure-JS typesetting engine for bit-perfect PDFs launched on March 1, 2026 with 78 votes, #629 of 23,380 launches that month and more than 95% of that year's launches.
In plain words
A JavaScript typesetting engine that converts plain-text Markdown screenplays into industry-standard PDFs without requiring a browser. Built by a film director to automate PDF generation from multilingual screenplay text, it handles complex requirements like automatic page breaks with industry-standard formatting markers. The engine prioritizes precise text shaping and contextual pagination for professional screenplay output.
written from the facts on this page · September 2026
From the sources
This layout engine can solve the hardest layout problems imaginable. Its output is DTP grade and deterministic. It's faster than engines written in C++ because it's not traditional. Backed by game engine tech, it has a microkernel and runs a spatial-temporal simulation instead of a giant complex pagination loop. - cosmiciron/vmprint
VMPrint is a layout engine. Not a PDF library. Not a renderer. A layout engine: the component that decides where every glyph goes, negotiates page breaks, resolves mutual spatial dependencies between dynamic regions, and produces a flat array of exact X/Y coordinates for every box and text run in the document. What you do with that output is your call: render to PDF, replay on a Canvas, drive a word processor's display layer, feed it to a WebGL pipeline. The engine's job ends when the math is done. The architecture is backed by a pending patent. The core insight: document layout is a deterministic spatiotemporal simulation, not a pipeline. Document elements are autonomous actors inhabiting…from github.com
In the maker’s words, at launch
Hi HN, I'm a film director by trade, and I prefer writing my stories in plain text rather than using clunky screenplay software. Standard markup like Fountain doesn't work for me because I write in mixed languages, so I use Markdown with a custom syntax I invented to resemble standard screenplay structures. This…
Does a similar job
all alternatives →- TITetris in a PDF2025 · th0mas.nl · ▲1,289
I realized that the PDF engines of modern desktop browsers (PDFium and PDF.js) support JavaScript with enough I/O primitives to make a basic game like Tetris. It was a bit tricky to find a union of features that work in both engines, but in the end it turns out that showing/hiding annotation "fields" works well to make monochrome pixels, and keyboard input can be achieved by typing in a text input box. All in all it's quite janky but a nice reminder of how general purpose PDF scripting can be. The linked PDF is all ASCII so you can just open it in a text editor, or have a look at…
An open-source, collaborative, WYSIWYG Markdown editor2023 · editor.vrite.io · ▲460Inspired by the design and UI/UX of apps like Notion, and utility of open-source apps like StackEdit, I decided to create a minimalistic, local-only WYSIWYG Markdown editor. Some features worth highlighting: - Monaco editor and Prettier integration for code snippets - Tables (apparently the holy grail of WYSIWYG editing) - Embeds (for CodePen, CodeSandbox and YouTube, most useful for HTML or JSON exports) - Accepts Markdown paste-in, and "exports"/generates HTML, Markdown and JSON outputs - Collaboration (with real-time awareness and initial commenting system, available only when…
Strapdown.js - Instant and elegant Markdown documents2012 · strapdownjs.com · ▲79The most important thing is to decide on the direction of development - games, websites, software. Then make a choice of language.
- PPPapermill Press – An AI-friendly markup language for PDF generationJun 2026 · ▲18
If you’ve generated PDFs from HTML, you’ll know the pain: headless Chrome in Docker, CSS hacks, content that flows over pages or table boundaries and other quality issues. The fundamental problem is that HTML was designed for screens, not print. We built Press, a markup-based document language where pages, content flows, and assets are first-class concepts. Content can flow across frames, columns, and pages without manual pagination. Pages are created dynamically based on the available content. Press templates separate layout from content. You can send markdown, Press markup, or a mixture of…

- PZPdfnative – zero-dependency TypeScript PDF engineApr 2026 · npmjs.com · ▲6
More work this month
the category →
Endless lofi beats composed live in your browser, over pixel-art nights in Paris, Tokyo, New York, Hong Kong, Sydney, San Francisco and more. Free, no sign-up.
Work · 25d ago · loficities.com
Smooth Recorder▲257Mac screen recordings that look edited when you hit stop
Work · 19d ago · smoothrecorder.com


Work · 13d ago · readrare.com
Source: Show HN post ↗ · launch text quoted in part
Launched alongside, March 2026
the whole month →


Switch from ChatGPT to Claude with import memory feature
AI · Mar 2026 · claude.com
Littlebird▲709Littlebird remembers everything across your meetings, messages, docs, and apps, then takes action so you can recall any detail and never lose context.
AI · Mar 2026 · littlebird.ai

