← Back
Home › Systems › Productivity and collaboration

word-processor

SaaS and business applications | word-processor — compose paginated documents. Includes:

SystemTechniques · 13Primitives · 34 word-processor Template enginescompilers · medium: Compile templates with loops, partials and auto-escaping into render functionsBinary delta diffcompression · medium: Bsdiff, VCDIFF and xdelta-style binary patches between file versionsCRDTsdistributed · medium: Data types whose replicas accept writes independently and always converge by merging, with no coordination: counters, sets, maps, registers, text.›Operational transformationdistributed · medium: Transform concurrent edits against each other for collaborative text editingBlock inline layoutgraphics · medium: CSS box model: block formatting, inline formatting contexts, line boxes, floats and marginsFont fallback itemizationgraphics · medium: Split text into runs by script, direction and font coverage; pick fallback fonts per runKnuth plass line breakinggraphics · medium: Optimal paragraph line breaking minimizing total badness with boxes, glue and penaltiesRopegraphics · low: A balanced tree of small string chunks with cached byte and newline counts, so seek, insert, delete and snapshot cost O(log n) instead of O(n).›Unicode line breakinggraphics · low: UAX 14 line break opportunities plus hyphenation hooksOpentype font parsinggraphics · low: Sfnt tables (cmap, glyf, CFF, hmtx, GSUB, GPOS), variable font axes, safe parsingUndo redographics · low: Command or snapshot history with grouping and coalescingFont rasterizationgraphics · low: TrueType/CFF outline parsing and anti-aliased glyph rasterization with hinting/cachingHyphenation patternsgraphics · low: Liang/TeX pattern hyphenation with language dictionaries and exceptionsImage codecsmedia · low: JPEG (DCT, Huffman), PNG, HEIF/AVIF decoding and encoding fundamentalsLevenshtein automatasearch-sort · low: Levenshtein automata / edit-distance search over dictionaries for typo toleranceSpell checkingsearch-sort · low: Hunspell-style affix dictionaries with suggestions by edit distance and phoneticsDocx ooxml formatstorage · low: Word OOXML packages: ZIP parts, document.xml runs, styles, tracked changes and commentsName resolutioncompilers · low: Bind every use of a name to its declaration with a scope stack, handling shadowing, hoisting and closure capture in one AST walk.›Recursive-descent parsingcompilers · low: Hand-written top-down parser with one function per grammar rule; simple, fast, with full control over error messages and recovery.›Html sanitizationsecurity · low: Allowlist-based HTML sanitizing of untrusted markupDelta encodingcompression · low: Store differences between consecutive values instead of the values, turning sorted IDs, timestamps and counters into small numbers that pack into few bits.›LZ77compression · low: Replace repeated byte strings with (distance, length) back-references into a sliding window; the parsing stage of gzip, LZ4, zstd, Brotli and xz.›Rolling hashdata-structures · low: Rabin-Karp polynomial rolling hashes and winnowing for substring fingerprints and document matching+ 6 more techniques+ 18 more primitives

Similar systems

Share the most building blocks with this one.