Skip to content

v0.6.0

Latest

Choose a tag to compare

@DJMcNab DJMcNab released this 06 Oct 13:21
· 2 commits to main since this release
3fe5c23
Name Crates.io Docs
Parley Crates.io Docs
Fontique Crates.io Docs

This release has an MSRV of 1.82.

Highlights

Parley now uses HarfRust rather than Swash. This means that Parley now has production-quality shaping for all scripts and can be recommended for general usage.

Migration

As Parley now uses it's own parley::BoundingBox in place of kurbo::Rect, you may need to convert the type if you were previously passing one of these values into a function that expects kurbo::Rect. The following function may be used to perform this conversion:

fn bounding_box_to_rect(bb: parley::BoundingBox) -> kurbo::Rect {
    kurbo::Rect::new(bb.x0, bb.y0, bb.x1, bb.y1)
}

Added

Parley

  • Shift-click support through Selection::shift_click_extension and PlainEditorDriver::shift_click_extension. (#385 by @kekelp)
  • Add some benchmarks using Tango. (#405 by @taj-p)

Fontique

  • Cache character mapping metadata for each font to improve performance of font selection. (#413 by @dfrg)
  • Upgrade icu4x dependencies to v2.x. (#418 by @nicoburns)
  • Added an unregister_font method to remove a font from a collection. (#395 by @taj-p)

Changed

Parley

  • Breaking change: Alignment variants have been renamed to better match CSS. Alignment::Justified is now Alignment::Justify and Alignment::Middle is now Alignment::Center. (#389 by @waywardmonkeys)
  • In the PlainEditor, triple-click now selects paragraphs rather than words (#381 by @DJMcNab)
  • Updated to accesskit 0.21. (#390 by @mwcampbell)
  • Uses HarfRust for text shaping. (#400 by @taj-p)
  • Parley no longer depends on peniko or kurbo. (#414 by @nicoburns):
    • Breaking change: The use of peniko::Font has been replaced with linebender_resource_handle::FontData, as such parley::Font is now called Parley::FontData.
      Note that this is the same type as in previous releases, and so is fully backwards-compatible, just with a different name.
    • Breaking change: The use of kurbo::Rect has been replaced with a new parley::BoundingBox type.

Fontique

  • The fontconfig backend, used to enumerate system fonts on Linux, has been rewritten to call into the system's fontconfig library instead of parsing fontconfig's configuration files itself. This should significantly improve the behavior of system fonts and generic families on Linux. (#378 by @valadaptive)
  • Fontique no longer depends on peniko. The use of peniko::Blob has been replaced with linebender_resource_handle::Blob. This is unlikely to affect users of the crate. (#414 by @nicoburns)

Fixed

Parley

  • Selection extension moves the focus to the side being extended. (#385 by @kekelp)
  • Ranged builder default style not respecting scale. (#368 by @xStrom)
  • Cluster source character not correct. (#402 by @taj-p)
  • Don't justify the last line of a paragraph. (#410 by @taj-p)

Fontique

  • Font family name aliases (secondary names for font families, often in another language) not being registered. (#380 by @valadaptive)

New Contributors

Full Changelog: v0.5.0...v0.6.0