- Added
lorem_text()
andlorem_bidi()
for generating nonsense text in various scripts - Added
plot_shape()
to plot the result of a shaping along with the metrics - Rewrite of the shaping engine to honor global direction of text. It introduces
a
direction
argument toshape_text()
that defaults toauto
, meaning that it is deduced from the content of the shaped text.align
gets two new settings that responds to the global direction of the text."auto"
will chose between"left"
and"right"
and"justified"
will choose between"justified-left"
and"justified-right"
depending of the global direction is ltr or rtl. Lastly the soft break locations are now based on ICU and thus better support ideographic scripts such as Han/Kanji/Hangul. - Textshaping now properly supports soft hyphens in that a hyphen is rendered if a soft-wrap happens at a soft hyphen (#52)
- Make compiled code somewhat less assumptive about the correctness of the input
- Fix a bug from too agressive early exiting shaping of strings with no max width (#45)
- Fixed a mismatch between the default values of the
width
argument inshape_text()
andsystemfonts::match_fonts()
(#44) - Updated
text_width()
to take the same inputs asshape_text()
- Full rewrite of
shape_text()
to allow proper font-fallback, bidi text support, support for font-features, spacers, new align settings, etc.
- Prepare for Arm Windows
- Fix a bug in fallback font loading which would crash the process if the font failed to load (#23)
- Fixed bug that would reset fallback to the original font for short strings (#25)
- Address an UBCSAN issue in packages linking to textshaping
- Remove a few compiler warnings
- Prepare textshaping for UCRT support
- Address upstream changes in cpp11
- Support static linking on macOS (#17, @jeroen)
- Avoid overindexing fallbacks when no fallback is found
- Try to avoid ASAN issue reported by CRAN
- Add support for performing font fallback as part of the single-line shaping
- Provide support for non-scalable fonts
- Fix issues with the Solaris mock solution
- Update C API to prepare for font fallback
- Make sure it compiles on Solaris without system dependencies
- Fix a bug in the interaction with the systemfonts font cache that could cause random crashes on some mac installations.
- Small changes to comply with next cpp11 version
- First release. Provide access to HarfBuzz shaping and FriBidi bidirectional script support.