Add an empty HTML element attached to an 'HTML Dependency' containing the css and the font files so that the font is available in the HTML page. Multiple families are supported.
The htmlDependency is defined with function gfontHtmlDependency()
.
addGFontHtmlDependency(family = "Open Sans", subset = c("latin", "latin-ext"))
an HTML object
family name of a 'Google Fonts', for example, "Open Sans", "Roboto", "Fira Code" or "Fira Sans Condensed". Complete list is available with the following command:
gfonts::get_all_fonts()$family |>
unlist() |>
unique() |>
sort()
font subset, a character vector, it defaults to only "latin" and "latin-ext" and can contains values such as "greek", "emoji", "chinese-traditional",
Run the following code to get a complete list:
gfonts::get_all_fonts()$subsets |> unlist() |> unique() |> sort()
It allows users to use fonts from 'Google Fonts' in an HTML page generated by 'shiny' or 'R Markdown'.
At the first request, the font files will be downloaded and stored in a cache on the
user's machine, thus avoiding many useless downloads or allowing to work with
these fonts afterwards without an Internet connection, in a docker image for example.
See fonts_cache_dir()
.
The server delivering the font files should not be too busy. That's
why a one second pause is added after each download to respect the server's
limits. This time can be set with the option GFONTS_DOWNLOAD_SLEEPTIME
which
must be a number of seconds.
Other functions for font management:
fonts_cache_dir()
,
gfontHtmlDependency()
,
install_gfont_script()
,
installed_gfonts()
,
liberationsansHtmlDependency()
,
register_gfont()
,
register_liberationsans()
if (FALSE) {
if (check_gfonts()) {
dummy_setup()
addGFontHtmlDependency(family = "Open Sans")
}
}
Run the code above in your browser using DataLab