Skip to content
Documents, typesetting & fonts

Documents, typesetting & fonts

Documents, typesetting & fonts

Turning a document into pages: fonts, breaking, shaping, TeX, PDF, and one rich-document model.

OrganisationReposSiteDocsWhat it holds
go-tex5sitedocsA TeX engine — mouth and gullet, math mode to SVG, a PDF-figure rasteriser, and a fetcher that gets a document the class files it asks for without redistributing any.
go-typeset3sitedocsThe typesetting algorithms on their own, with no TeX vocabulary in the API: Knuth-Plass line breaking, Liang hyphenation, the Unicode bidirectional algorithm.
go-opentype3sitedocsThe font format: TrueType/OpenType parsing and anti-aliased rasterisation, a HarfBuzz-lite complex-text shaper, and legible fonts ready to import.
go-synctex1sitedocsTeX’s SyncTeX — the source-to-PDF correspondence, both ways.
go-pdfkit15sitedocsThe PDF stack, both directions: a 1.7 writer with TrueType and CFF subsetting, a reader and renderer, AcroForm and XFA form fields, text and structure extraction, a conformance suite judged against poppler, and a co-editable reader application built on all of it.
go-docutils2sitedocsreStructuredText both ways: docutils’ core in pure Go — the parser and the doctree the LaTeX and PDF path is built on — and an extractor that renders a Go package’s own API documentation as reST to feed it.
go-richdoc10sitedocsOne rich-document model, and everything that reads or writes it. Both directions for the markup people edit — Markdown, LaTeX, reStructuredText — and one direction for the formats people are handed: HTML and XHTML, EPUB 2 and 3, Kindle MOBI, FictionBook 2, RFC 5322 mail with its MIME parts, and CSV, JSON, XML or plain text. A format is added by writing one reader against that model, not by writing a converter to each of the others.
go-odf1sitedocsOpenDocument Text, in and out of the richdoc model.
go-rtf1sitedocsRTF, in and out of the richdoc model.
go-ooxml2site—Word, Excel and PowerPoint into the richdoc model: one container — the Open Packaging Conventions, kept separate because docx, xlsx and pptx all sit on it — and three vocabularies above it.
go-slides2sitedocsMarp-compatible slide decks, with Go template interpolation and slide kinds, and the VS Code extension that previews and exports them.

Counts are public repositories that hold code; brand, docs and landing repositories are excluded.