Выйшаў новы, значны рэліз бібліятэкі для растэрызацыі SVG resvg.
Асноўныя змены:
- Цалкам новая рэалізацыя адмалёўкі тэксту:
- Амаль увесь стэк ад знака да крывой Безье зараз рэалізаваны на Rust:
падбор шрыфтоў (font matching and fallback), парсінг TrueType, расстаноўка кластараў гліфаў па правілах SVG (SVG text layout).
Выключэннем з'яўляецца шэйпінг (text shaping), для якога выкарыстоўваецца
HarfBuzz. - Тэкст зараз будзе канвертавацца ў крывыя Біз'е да рэндэрынгу.
Гэта значыць бэкенд адмалёўкі зараз не абавязаны падтрымліваць тэкст. - Падтрымка двунакіраванага тэксту (BIDI reordering). Прыклад.
- Падтрымка textPath. Прыклад 1, прыклад 2.
- Падтрымка writing-mode (вертыкальны тэкст). Прыклад.
- Карэктная падтрымка word-spacing і letter-spacing. Прыклад.
- Амаль увесь стэк ад знака да крывой Безье зараз рэалізаваны на Rust:
- Новы, эксперыментальны бэкенд Raqote (асобны дзякуй jrmuizel).
Raqote - гэта графічная 2D бібліятэка, напісаная на Rust.
Яна знаходзіцца ў пачатковай стадыі распрацоўкі, пры гэтым яе магчымасцяў ужо дастаткова для
выкарыстання ў resvg.
Асноўнай яе перавагай з'яўляецца тое, што resvg зараз можна сабраць роўна з адной не Rust залежнасцю – HarfBuzz. - Падтрымка shape-rendering, text-rendering і image-rendering.
- Паскорана адмалёўка растравых відарысаў.
- Агульная колькасць тэстаў дасягнула 1112-х.
Колькасць паспяхова пройдзеных тэстаў у Inkscape і librsvg упала за 75%. - Мноства дробных выпраўленняў і паляпшэнняў.
Вынікі тэсціравання. Параўнальная табліца.
Крыніца: linux.org.ru