Skip to content

1.4.0 - 2026-05-23

Choose a tag to compare

@github-actions github-actions released this 23 May 09:19
54ebde5

Release Notes

Fallback font chain, end-to-end style-config fidelity, transliteration-aware measurement, and automatic config-file discovery.

  • Fallback font chain — new fallback_fonts list on [defaults] (plus FontConfig::with_fallback_fonts(...)); each codepoint matches the primary first, then each fallback in declaration order. A codepoint covered by nothing degrades visibly (? with built-in, missing-glyph box with external) instead of failing. Names resolve like font_family (built-in aliases, system names, .ttf/.otf paths); missing fonts log and skip. Wrapping stays consistent across font boundaries.
  • Built-in measurement matches emission — the transliterating built-in path used to price source codepoints (, , , smart quotes, NBSP) at the font's average width while emitting their ASCII expansion. The cursor drifted and underlines/link rects landed beside their text on links separated by or . Measurement now routes through the same transliteration the emit path uses; Unicode-font documents unaffected.
  • Config file discovery — with no -c flag, the CLI checks MARKDOWN2PDF_CONFIG, then ./markdown2pdf.toml, then ~/.config/markdown2pdf/config.toml before the default theme.
  • Style-config fidelity — a long tail of style fields the renderer was silently dropping is now honoured: body font (system lookup returning a bold face as the regular weight is fixed, [defaults].font_family actually loads, heading bold from the style block embeds its variant faces, [link].underline = false suppresses link underline); per-block (letter_spacing_pt, indent_pt, underline/strikethrough/text_align, table cell_padding/alternating_row_background); inline (every code_inline and [mark] field including font_family/padding); layout (list indent_per_level_pt, new bullet_gap_pt on [list.common], image caption styling, title-page cover image, admonition body inheritance). Center- and right-aligned paragraphs no longer collapse wrapped lines onto line one. Only page.columns still deferred — tracked as #102.

Resolves #81, #97, and #100.

Install markdown2pdf 1.4.0

Install prebuilt binaries via Homebrew

brew install theiskaa/tap/markdown2pdf

Download markdown2pdf 1.4.0

File Platform Checksum
markdown2pdf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
markdown2pdf-x86_64-apple-darwin.tar.xz Intel macOS checksum
markdown2pdf-x86_64-pc-windows-msvc.zip x64 Windows checksum
markdown2pdf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
markdown2pdf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum