Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text Shaping

Provides access to the text shaping functionality in the 'HarfBuzz' library and the bidirectional algorithm in the 'Fribidi' library. 'textshaping' is a low-level utility package mainly for graphic devices that expands upon the font tool-set provided by the 'systemfonts' package.


textshaping

CRANstatus Lifecycle:stable R-CMD-check Codecov testcoverage

This package is a low level package that provides advanced text shaping capabilities to graphic devices. It is based on the FriBidi and HarfBuzz libraries and provides full support for correctly shaping left-to-right, right-to-left, and bidirectional text with full support for all OpenType features such as ligatures, stylistic glyph substitutions, etc.

For an example of a package that uses textshaping to support advanced text layout see ragg.

A big thanks to Behdad Esfahbod who is the main author of both FriBidi and HarfBuzz and has been very helpful answering questions during the course of development.

Installation

You can install textshaping from CRAN with install.packages("textshaping"). For the development version you can install it from Github with devtools:

devtools::install_github("r-lib/textshaping")

Note that you will need both the development versions of FriBidi and HarfBuzz to successfully compile it.

Code of Conduct

Please note that the textshaping project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("textshaping")

1.0.5 by Thomas Lin Pedersen, 8 months ago


https://github.com/r-lib/textshaping


Report a bug at https://github.com/r-lib/textshaping/issues


Browse source code at https://github.com/cran/textshaping


Authors: Thomas Lin Pedersen [cre, aut] (ORCID: , Posit Software , PBC [cph, fnd] (ROR: <https://ror.org/03wc8by49>)


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports lifecycle, stats, stringi, systemfonts, utils

Suggests covr, grDevices, grid, knitr, rmarkdown, testthat

Linking to cpp11, systemfonts

System requirements: freetype2, harfbuzz, fribidi


Imported by foodwebWrapper, geomtextpath, marquee, ragg, svglite.

Suggested by educabR, gridmicrotex.


See at CRAN