You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.5 KiB
124 lines
4.5 KiB
install_font <- function(family_name, sub_dir) {
|
|
|
|
loc <- system.file("fonts", sub_dir, package = "hrbragg")
|
|
|
|
if (platform() == "mac") {
|
|
|
|
font_library <- path.expand("~/Library/Fonts")
|
|
|
|
if (!dir.exists(font_library)) {
|
|
dir.create(font_library, showWarnings = TRUE, mode = "0700")
|
|
}
|
|
|
|
message("Copying ", family_name, " to ", font_library)
|
|
|
|
file.copy(
|
|
from = list.files(path = loc, full.names = TRUE),
|
|
to = font_library
|
|
) -> res
|
|
|
|
} else {
|
|
|
|
message(
|
|
"The ", family_name, " font files are in:\n",
|
|
system.file("fonts", sub_dir, package = "hrbragg"),
|
|
"\nand should be installed on your system. Future versions ",
|
|
"of {hrbragg} will not force this requirement but it is very",
|
|
"likely you'll be using this font outside of R graphics devices",
|
|
"so it does make a bit of sense to have them outside of the R",
|
|
"package library directory."
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#' Install Goldman Sans
|
|
#'
|
|
#' Goldman Sans is a clean, modern typeface designed for dense data-rich
|
|
#' environments. From open letter shapes, enlarged x-height, and optical
|
|
#' balancing of individual letterforms, we designed Goldman Sans with
|
|
#' clarity in mind. Both normal and condensed versions are provided.
|
|
#'
|
|
#' @export
|
|
#' @note [Goldman Sans Restricted Font License](https://design.gs.com/d/legal/goldman-sans-license)
|
|
#' @references [Goldman Sans](https://design.gs.com/d/story/goldman-sans/)
|
|
#' @examples
|
|
#' install_goldman_sans()
|
|
#' install_goldman_sans_condensed()
|
|
install_goldman_sans <- function() {
|
|
install_font("Goldman Sans", "goldman-sans")
|
|
}
|
|
|
|
#' Install Clear Sans
|
|
#'
|
|
#' Clear Sans has minimized, unambiguous characters and slightly narrow proportions, making it
|
|
#' ideal for UI design. Its strong, recognizable forms avoid distracting ambiguity, making it
|
|
#' comfortable for reading short UI labels and long passages in both screen and print.
|
|
#'
|
|
#' @export
|
|
#' @note [Clear Sans Font License](https://github.com/intel/clear-sans/blob/main/LICENSE.txt)
|
|
#' @references [Clean Sans](https://github.com/intel/clear-sans)
|
|
#' @examples
|
|
#' install_clean_sans()
|
|
install_clean_sans <- function() {
|
|
install_font("Clean Sans", "clean-sans")
|
|
}
|
|
|
|
#' Install Eau Sans
|
|
#'
|
|
#' Eau Sans is (via the creator): "In 1992, I wanted to design a perfectly faceless typeface of my own.
|
|
#' I chose Eau, meaning water in French, as the name. I planned to do two variations; a sanserif and
|
|
#' a Roman serif style version. I could not decide on the design details for the Roman variation,
|
|
#' so only the sanserif version was completed. Although I think that Eau Sans needs more refinement,
|
|
#' present it here as it was originally designed. At the time of release, I re-formatted the Eau Sans
|
|
#' family with numeric characters in three variations: proportional, lining and old-styled figures.
|
|
#' This typeface is used for my electronic sound project: parabola."
|
|
#'
|
|
#' @export
|
|
#' @references [Eau Sans](http://www.yoworks.com/eau/index.html)
|
|
#' @examples
|
|
#' install_clean_sans()
|
|
install_clean_sans <- function() {
|
|
install_font("Eau Sans", "eau-sans")
|
|
}
|
|
|
|
#' @rdname install_goldman_sans
|
|
#' @export
|
|
install_goldman_sans_condensed <- function() {
|
|
install_font("Goldman Sans", "goldman-sans-condensed")
|
|
}
|
|
|
|
#' Install Roboto Condensed
|
|
#'
|
|
#' Roboto has a dual nature. It has a mechanical skeleton and the forms are
|
|
#' largely geometric. At the same time, the font features friendly and open
|
|
#' curves. While some grotesks distort their letterforms to force a rigid rhythm,
|
|
#' Roboto doesn’t compromise, allowing letters to be settled into their natural
|
|
#' width. This makes for a more natural reading rhythm more commonly found in
|
|
#' humanist and serif types.
|
|
#'
|
|
#' @note [Apache License, Version 2.0.](http://www.apache.org/licenses/LICENSE-2.0)
|
|
#' @export
|
|
#' @examples
|
|
#' install_roboto_condensed()
|
|
install_roboto_condensed <- function() {
|
|
install_font("Roboto Condensed", "roboto-condensed")
|
|
}
|
|
|
|
#' Install Inter
|
|
#'
|
|
#' Inter is a typeface carefully crafted & designed for computer screens and
|
|
#' features a tall x-height to aid in readability of mixed-case and lower-case
|
|
#' text. Several OpenType features are provided as well, like contextual
|
|
#' alternates that adjusts punctuation depending on the shape of surrounding
|
|
#' glyphs, slashed zero for when you need to disambiguate "0" from "o",
|
|
#' tabular numbers, etc.
|
|
#'
|
|
#'
|
|
#' @note [SIL Open Font License 1.1](https://choosealicense.com/licenses/ofl-1.1/)
|
|
#' @references [Inter](https://rsms.me/inter/)
|
|
#' @export
|
|
install_inter <- function() {
|
|
install_font("Inter", "inter")
|
|
}
|
|
|