← Back to all sparks
M

marquee

ANALYTICS
Velocity0.0

Markdown Parser and Renderer for R Graphics. Contribute to r-lib/marquee development by creating an account on GitHub.

marquee is filling in the typographic details — outlines, border types, real font metrics for underlines.

r-libtypographymarkdownggplot2text-renderingr-package
Current state
marquee renders markdown text onto R graphics devices, and backs element_marquee() and geom_marquee() in ggplot2. Development ran in a tight burst through August and September 2025: 1.1.0 added text outlines, a size shortcut and remote PNG/JPEG support, 1.2.0 added border and outline line types and moved underline placement onto font metrics, and 1.2.1 cleaned up the bugs those introduced.
Where it's heading
The package is converging on typographic fidelity rather than new capability. Early work settled layout semantics — CSS margin collapsing, inline padding reserving space during shaping, devices without glyph support — and recent releases refine how decorations are drawn and measured. The naming cleanup in 1.2.0, border_size becoming border_width, reads as an API being tidied ahead of wider use rather than one still being explored.
Prediction
Expect continued small releases sanding down rendering edge cases in ggplot2 contexts, since that is where the recent bug reports come from; nothing here signals a new feature area.

Recent moves

  1. 11mo ago

    Bug fixes for relative sizes, outlines and guide width

    Four fixes covering em() on relative styles, outline glyphs, force_body_margin and width propagation in guide_marquee(). Cleanup ten days after 1.2.0, mostly touching the features that release introduced.

    View source ↗
  2. 11mo ago

    Border and outline line types; underlines follow font metrics

    border_type and outline_type styles arrive, border_size is renamed to border_width for consistency, and underline and strikethrough now take their width and position from the font rather than being approximated. The last of those is what separates rendered markdown from typeset text.

    View source ↗
  3. 11mo ago

    Rotated text width fixed; factor input supported

    element_marquee() stops miscalculating width for rotated text, accepts factor input and falls back to element_text() for expressions, and the package no longer opens a graphics device when none exists. Image URLs without a declared format are now sniffed.

    View source ↗
  4. 0y ago

    Text outlines, size shortcuts and images from URLs

    A {.size} shortcut sets font size inline, a full outline style family lands with width, join and mitre controls, and PNG and JPEG images can be pulled from URLs. Several bullet-list placement bugs go with it.

    View source ↗
  5. 1y ago

    1.0 settles margin collapsing and inline decoration spacing

    Margin collapsing follows CSS rules more closely, with backgrounds and borders halting collapse, and force_body_margin gives callers an override that geom_marquee() and element_marquee() switch on. Inline padding now reserves space during shaping, and devices without the new glyphs capability are supported.

    View source ↗