Skip to content

v4.5.1

Choose a tag to compare

@jonmichaels jonmichaels released this 07 Sep 02:59
· 222 commits to main since this release

Compatibility

  • Fixed a crash on Python 3.9: load_plugins() called importlib.metadata.entry_points()
    with a group= keyword that Python 3.9 doesn't support there. ctrl-kd now works on
    Python 3.9 again, not just 3.10+.

Printed-mode fidelity

This release is measured against real, factory-default WordStar 7 output (not just our
own previous exports), and fixes a batch of small placement bugs found that way:

  • Superscript and subscript now use the correct size and horizontal spacing for each font
    family, instead of one fixed value.
  • Header and footer lines can now contain inline style toggles (bold/italic/underline
    partway through the line) without corrupting the text.
  • Running heads now honor a page's own left/right offset instead of always using page 1's.
  • Right-aligned tabs in headers and footers now recompute their padding on every page
    (previously only correct on the page it was first calculated for).
  • Footnote reference markers now join correctly to their note text.
  • Page numbers are now on by default, matching stock WordStar 7 (previously off unless
    requested).
  • Automatic single-line spacing is now 1.0x, matching WordStar 7's own default (previously
    1.2x, borrowed from a customized install).
  • Top margin now uses the document's .mt setting alone, instead of double-counting it
    with the header margin.
  • The footnote area reserves the same vertical space stock WordStar 7 does.
  • Running head lines now use the page's default margins correctly.
  • Fixed an off-by-one in right-tab column placement.
  • A typed paragraph indent combined with a style-driven .pm indent is no longer
    double-counted.
  • HTML output: fixed a rendering glitch where a tab-and-leader run in a centered row
    (e.g. a symmetric table-of-contents line) produced an oversized gap instead of a
    single space.

Testing infrastructure

  • New coordinate-level test tier that checks PDF output against real WordStar 7 printer
    output, page by page.
  • New tooling to track and record page-by-page visual review against real printed pages
    (paper scans), so a reviewed page is a recorded fact instead of tribal knowledge.
  • CI now runs the test suite on every push, not just manually.

Known state at release

  • Reduced (public) test suite: 846/846 passing.
  • Coordinate-level fidelity tier: 14 of 18 captured documents match real WordStar 7
    output exactly. 4 have named, unresolved residuals:
    • LJ6DTP — parked by design; its own printing-hack features are out of scope for
      this tier.
    • LYING and WARPRAYR — small residual font-metric drift from a substituted font
      (ctrl-kd never embeds fonts; the base-14 substitute doesn't have identical metrics
      to the original).
    • -SCREEN — a test-harness limitation matching short Greek/math symbol fragments
      across a font switch, not a rendering bug.
  • Paper-scan visual review: 69 pages catalogued, all recorded as unreviewed pending
    human review — tracked and testable, not silently skipped.