resvg 0.7 - SVG rendering library

A new, significant release of the SVG rasterization library has been released - resvg.

Major changes:

  • Completely new text rendering implementation:
    • Almost the entire stack from symbol to bezier curve is now implemented in Rust:
      font matching and fallback, TrueType parsing, glyph clustering according to SVG (SVG text layout) rules.
      An exception is text shaping, which uses
      HarfBuzz.
    • Text will now be converted to Bizet curves prior to rendering.
      That is, the rendering backend is no longer required to support text.
    • Support for bidirectional text (BIDI reordering). Example.
    • TextPath support. Example 1, Example 2.
    • Support for writing-mode (vertical text). Example.
    • Correct support for word-spacing and letter-spacing. Example.
  • New, experimental backend - Raqote (special thanks to jrmuizel).
    Raqote is a 2D graphics library written in Rust.
    It is in the initial stage of development, while its capabilities are already sufficient for
    use in resvg.
    Its main advantage is that resvg can now be built with exactly one non-Rust dependency - HarfBuzz.
  • Support for shape-rendering, text-rendering and image-rendering.
  • Accelerated rendering of raster images.
  • The total number of tests reached 1112.
    The number of successfully passed tests for Inkscape and librsvg dropped by 75%.
  • Lots of minor fixes and improvements.

Test results. Comparison table.

Source: linux.org.ru

Add a comment