Ang isang bago, makabuluhang release ng SVG rasterization library ay inilabas - resvg.
Pangunahing pagbabago:
- Ganap na bagong pagpapatupad ng pag-render ng teksto:
- Halos ang buong stack mula sa simbolo hanggang sa Bezier curve ay ipinatupad na ngayon sa Rust:
pagpili ng mga font (pagtutugma ng font at fallback), pag-parse ng TrueType, pag-aayos ng mga cluster ng glyph ayon sa mga panuntunan ng SVG (layout ng teksto ng SVG).
Ang isang pagbubukod ay ang paghubog ng teksto, kung saan ito ginagamit
HarfBuzz. - Iko-convert na ngayon ang text sa Bizeux curves bago i-render.
Ibig sabihin, hindi na kailangan ang rendering backend para suportahan ang text. - Bidirectional text support (BIDI reordering). Halimbawa.
- suporta sa textPath. halimbawa 1, Halimbawa ng 2.
- Suporta para sa writing-mode (vertical text). Halimbawa.
- Tamang suporta para sa word-spacing at letter-spacing. Halimbawa.
- Halos ang buong stack mula sa simbolo hanggang sa Bezier curve ay ipinatupad na ngayon sa Rust:
- Bago, pang-eksperimentong backend - Raqote (espesyal na pasasalamat sa jrmuizel).
Ang Raqote ay isang 2D graphics library na nakasulat sa Rust.
Ito ay nasa mga unang yugto ng pag-unlad, ngunit ang mga kakayahan nito ay sapat na para sa
gamitin sa resvg.
Ang pangunahing bentahe nito ay ang resvg ay maaari na ngayong mabuo na may eksaktong isang non-Rust dependency - HarfBuzz. - Sinusuportahan ang shape-rendering, text-rendering at image-rendering.
- Ang pag-render ng larawan ng raster ay pinabilis.
- Ang kabuuang bilang ng mga pagsubok ay umabot sa 1112.
Bumaba ng 75% ang bilang ng mga matagumpay na pagsubok para sa Inkscape at librsvg. - Maraming maliliit na pag-aayos at pagpapahusay.
Mga resulta ng pagsubok. Tala ng pagkukumpara.
Pinagmulan: linux.org.ru