M DESCRIPTION => DESCRIPTION +1 -1
@@ 58,5 58,5 @@ Imports:
tools,
magrittr,
gdtools
-RoxygenNote: 7.1.0
+RoxygenNote: 7.1.1
VignetteBuilder: knitr
M NAMESPACE => NAMESPACE +9 -0
@@ 7,6 7,13 @@ export(font_es)
export(font_es_bold)
export(font_es_light)
export(font_gs)
+export(font_inter_bold)
+export(font_inter_italic)
+export(font_inter_medium)
+export(font_inter_medium_italic)
+export(font_inter_semibold)
+export(font_inter_thin)
+export(font_inter_thin_italic)
export(font_ps)
export(font_ps_light)
export(font_pub)
@@ 26,6 33,7 @@ export(ft_text_col)
export(gg_check)
export(import_econ_sans)
export(import_goldman_sans)
+export(import_inter)
export(import_plex_sans)
export(import_public_sans)
export(import_roboto_condensed)
@@ 49,6 57,7 @@ export(theme_ft_rc)
export(theme_ipsum)
export(theme_ipsum_es)
export(theme_ipsum_gs)
+export(theme_ipsum_inter)
export(theme_ipsum_ps)
export(theme_ipsum_pub)
export(theme_ipsum_rc)
M R/econ-sans.R => R/econ-sans.R +7 -7
@@ 208,13 208,13 @@ theme_ipsum_es <- function(
import_econ_sans <- function() {
es_font_dir <- system.file("fonts", "econ-sans", package="hrbrthemes")
-
- suppressWarnings(suppressMessages(extrafont::font_import(es_font_dir, prompt=FALSE)))
-
- message(
- "You will likely need to install these fonts on your system as well.\n\n",
- "You can find them in [", es_font_dir, "]"
- )
+ #
+ # suppressWarnings(suppressMessages(extrafont::font_import(es_font_dir, prompt=FALSE)))
+ #
+ # message(
+ # "You will likely need to install these fonts on your system as well.\n\n",
+ # "You can find them in [", es_font_dir, "]"
+ # )
}
M R/goldmansans.R => R/goldmansans.R +7 -7
@@ 189,13 189,13 @@ import_goldman_sans <- function() {
gs_font_dir <- system.file("fonts", "goldman-sans", package="hrbrthemes")
- suppressWarnings(suppressMessages(extrafont::font_import(gs_font_dir, prompt=FALSE)))
-
- message(
- sprintf(
- "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
- gs_font_dir)
- )
+ # suppressWarnings(suppressMessages(extrafont::font_import(gs_font_dir, prompt=FALSE)))
+ #
+ # message(
+ # sprintf(
+ # "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
+ # gs_font_dir)
+ # )
}
A R/inter.R => R/inter.R +259 -0
@@ 0,0 1,259 @@
+#' A precise & pristine [ggplot2] theme with opinionated defaults and an emphasis on typoghraphy
+#'
+#' You should [import_inter()] first and also install the fonts on your
+#' system before trying to use this theme.
+#'
+#' There is an option `hrbrthemes.loadfonts` which -- if set to `TRUE` -- will
+#' call `extrafont::loadfonts()` to register non-core fonts with R PDF & PostScript
+#' devices. If you are running under Windows, the package calls the same function
+#' to register non-core fonts with the Windows graphics device.
+#'
+#' @md
+#' @section Why Inter?:
+#' See <https://design.gs.com/d/story/goldman-sans/>.
+#'
+#' @md
+#' @param base_family,base_size base font family and size
+#' @param plot_title_family,plot_title_face,plot_title_size,plot_title_margin plot tilte family, face, size and margin
+#' @param subtitle_family,subtitle_face,subtitle_size plot subtitle family, face and size
+#' @param subtitle_margin plot subtitle margin bottom (single numeric value)
+#' @param strip_text_family,strip_text_face,strip_text_size facet label font family, face and size
+#' @param caption_family,caption_face,caption_size,caption_margin plot caption family, face, size and margin
+#' @param axis_title_family,axis_title_face,axis_title_size axis title font family, face and size
+#' @param axis_title_just axis title font justificationk one of `[blmcrt]`
+#' @param axis_text_size font size of axis text
+#' @param plot_margin plot margin (specify with [ggplot2::margin])
+#' @param grid_col grid color
+#' @param grid panel grid (`TRUE`, `FALSE`, or a combination of `X`, `x`, `Y`, `y`)
+#' @param axis_col axis color
+#' @param axis add x or y axes? `TRUE`, `FALSE`, "`xy`"
+#' @param ticks ticks if `TRUE` add ticks
+#' @export
+#' @examples \dontrun{
+#' library(ggplot2)
+#' library(dplyr)
+#'
+#' # seminal scatterplot
+#' ggplot(mtcars, aes(mpg, wt)) +
+#' geom_point() +
+#' labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
+#' title="Seminal ggplot2 scatterplot example",
+#' subtitle="A plot that is only useful for demonstration purposes",
+#' caption="Brought to you by the letter 'g'") +
+#' theme_ipsum_inter()
+#'
+#' # seminal bar chart
+#'
+#' update_geom_font_defaults(family=font_inter_medium)
+#'
+#' count(mpg, class) %>%
+#' ggplot(aes(class, n)) +
+#' geom_col() +
+#' geom_text(aes(label=n), nudge_y=3) +
+#' labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
+#' title="Seminal ggplot2 bar chart example",
+#' subtitle="A plot that is only useful for demonstration purposes",
+#' caption="Brought to you by the letter 'g'") +
+#' theme_ipsum_inter(grid="Y") +
+#' theme(axis.text.y=element_blank())
+#' }
+theme_ipsum_inter <- function(
+ base_family="Inter-Medium",
+ base_size = 10,
+ plot_title_family="Inter-SemiBold",
+ plot_title_size = 16,
+ plot_title_face="bold",
+ plot_title_margin = 8,
+ subtitle_family="Inter-Medium",
+ subtitle_size = 12,
+ subtitle_face = "plain",
+ subtitle_margin = 13,
+ strip_text_family = "Inter",
+ strip_text_size = 12,
+ strip_text_face = "bold",
+ caption_family="Inter-Light",
+ caption_size = 9,
+ caption_face = "plain",
+ caption_margin = 10,
+ axis_text_family = "Inter-Thin",
+ axis_text_face = "plain",
+ axis_text_size = 9,
+ axis_title_family = base_family,
+ axis_title_size = 9,
+ axis_title_face = "plain",
+ axis_title_just = "rt",
+ plot_margin = margin(30, 30, 30, 30),
+ grid_col = "#cccccc", grid = TRUE,
+ axis_col = "#cccccc", axis = FALSE, ticks = FALSE) {
+
+ ret <- ggplot2::theme_minimal(base_family=base_family, base_size=base_size)
+
+ ret <- ret + theme(legend.background=element_blank())
+ ret <- ret + theme(legend.key=element_blank())
+
+ if (inherits(grid, "character") | grid == TRUE) {
+
+ ret <- ret + theme(panel.grid=element_line(color=grid_col, size=0.2))
+ ret <- ret + theme(panel.grid.major=element_line(color=grid_col, size=0.2))
+ ret <- ret + theme(panel.grid.minor=element_line(color=grid_col, size=0.15))
+
+ if (inherits(grid, "character")) {
+ if (regexpr("X", grid)[1] < 0) ret <- ret + theme(panel.grid.major.x=element_blank())
+ if (regexpr("Y", grid)[1] < 0) ret <- ret + theme(panel.grid.major.y=element_blank())
+ if (regexpr("x", grid)[1] < 0) ret <- ret + theme(panel.grid.minor.x=element_blank())
+ if (regexpr("y", grid)[1] < 0) ret <- ret + theme(panel.grid.minor.y=element_blank())
+ }
+
+ } else {
+ ret <- ret + theme(panel.grid=element_blank())
+ }
+
+ if (inherits(axis, "character") | axis == TRUE) {
+ ret <- ret + theme(axis.line=element_line(color=axis_col, size=0.15))
+ if (inherits(axis, "character")) {
+ axis <- tolower(axis)
+ if (regexpr("x", axis)[1] < 0) {
+ ret <- ret + theme(axis.line.x=element_blank())
+ } else {
+ ret <- ret + theme(axis.line.x=element_line(color=axis_col, size=0.15))
+ }
+ if (regexpr("y", axis)[1] < 0) {
+ ret <- ret + theme(axis.line.y=element_blank())
+ } else {
+ ret <- ret + theme(axis.line.y=element_line(color=axis_col, size=0.15))
+ }
+ } else {
+ ret <- ret + theme(axis.line.x=element_line(color=axis_col, size=0.15))
+ ret <- ret + theme(axis.line.y=element_line(color=axis_col, size=0.15))
+ }
+ } else {
+ ret <- ret + theme(axis.line=element_blank())
+ }
+
+ if (!ticks) {
+ ret <- ret + theme(axis.ticks = element_blank())
+ ret <- ret + theme(axis.ticks.x = element_blank())
+ ret <- ret + theme(axis.ticks.y = element_blank())
+ } else {
+ ret <- ret + theme(axis.ticks = element_line(size=0.15))
+ ret <- ret + theme(axis.ticks.x = element_line(size=0.15))
+ ret <- ret + theme(axis.ticks.y = element_line(size=0.15))
+ ret <- ret + theme(axis.ticks.length = grid::unit(5, "pt"))
+ }
+
+ xj <- switch(tolower(substr(axis_title_just, 1, 1)), b=0, l=0, m=0.5, c=0.5, r=1, t=1)
+ yj <- switch(tolower(substr(axis_title_just, 2, 2)), b=0, l=0, m=0.5, c=0.5, r=1, t=1)
+
+ ret <- ret + theme(axis.text.x=element_text(size=axis_text_size, margin=margin(t=0)))
+ ret <- ret + theme(axis.text.y=element_text(size=axis_text_size, margin=margin(r=0)))
+ ret <- ret + theme(axis.title=element_text(size=axis_title_size, family=axis_title_family))
+ ret <- ret + theme(axis.title.x=element_text(hjust=xj, size=axis_title_size,
+ family=axis_title_family, face=axis_title_face))
+ ret <- ret + theme(axis.title.y=element_text(hjust=yj, size=axis_title_size,
+ family=axis_title_family, face=axis_title_face))
+ ret <- ret + theme(axis.title.y.right=element_text(hjust=yj, size=axis_title_size, angle=90,
+ family=axis_title_family, face=axis_title_face))
+ ret <- ret + theme(strip.text=element_text(hjust=0, size=strip_text_size,
+ face=strip_text_face, family=strip_text_family))
+ ret <- ret + theme(panel.spacing=grid::unit(2, "lines"))
+ ret <- ret + theme(plot.title=element_text(hjust=0, size=plot_title_size,
+ margin=margin(b=plot_title_margin),
+ family=plot_title_family, face=plot_title_face))
+ ret <- ret + theme(plot.subtitle=element_text(hjust=0, size=subtitle_size,
+ margin=margin(b=subtitle_margin),
+ family=subtitle_family, face=subtitle_face))
+ ret <- ret + theme(plot.caption=element_text(hjust=1, size=caption_size,
+ margin=margin(t=caption_margin),
+ family=caption_family, face=caption_face))
+ ret <- ret + theme(plot.margin=plot_margin)
+
+ ret
+
+}
+
+#' Import Inter font for use in charts
+#'
+#' Inter is Copyright (c) 2016-2020 The Inter Project Authors
+#' (<https://rsms.me/inter/>).
+#'
+#' There is an option `hrbrthemes.loadfonts` which -- if set to `TRUE` -- will
+#' call `extrafont::loadfonts()` to register non-core fonts with R PDF & PostScript
+#' devices. If you are running under Windows, the package calls the same function
+#' to register non-core fonts with the Windows graphics device.
+#'
+#' @md
+#' @note This will take care of ensuring PDF/PostScript usage. The location of the
+#' font directory is displayed after the base import is complete. It is highly
+#' recommended that you install them on your system the same way you would any
+#' other font you wish to use in other programs.
+#' @export
+import_inter <- function() {
+
+ inter_font_dir <- system.file("fonts", "inter", package="hrbrthemes")
+
+ suppressWarnings(suppressMessages(extrafont::font_import(inter_font_dir, prompt=FALSE)))
+
+ message(
+ sprintf(
+ "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
+ inter_font_dir)
+ )
+
+}
+
+
+#' @rdname Inter
+#' @md
+#' @title Inter font name R variable aliases
+#' @description `font_inter_thin` == "`Inter-Thin`"
+#' @format length 1 character vector
+#' @export
+font_inter_thin <- "Inter-Thin"
+
+#' @rdname Inter
+#' @md
+#' @title Inter font name R variable aliases
+#' @description `font_inter_thin_italic` == "`Inter-ThinItalic`"
+#' @format length 1 character vector
+#' @export
+font_inter_thin_italic <- "Inter-ThinItalic"
+
+#' @rdname Inter
+#' @md
+#' @title Inter font name R variable aliases
+#' @description `font_inter_medium` == "`Inter-Medium`"
+#' @format length 1 character vector
+#' @export
+font_inter_medium <- "Inter-Medium"
+
+#' @rdname Inter
+#' @md
+#' @title Inter font name R variable aliases
+#' @description `font_inter_medium_italic` == "`Inter-MediumItalic`"
+#' @format length 1 character vector
+#' @export
+font_inter_medium_italic <- "Inter-MediumItalic"
+
+#' @rdname Inter
+#' @md
+#' @title Inter font name R variable aliases
+#' @description `font_inter_semibold` == "`Inter-SemiBold`"
+#' @format length 1 character vector
+#' @export
+font_inter_semibold <- "Inter-SemiBold"
+
+#' @rdname Inter
+#' @md
+#' @title Inter font name R variable aliases
+#' @description `font_inter_bold` == "`Inter-Bold`"
+#' @format length 1 character vector
+#' @export
+font_inter_bold <- "Inter-Bold"
+
+#' @rdname Inter
+#' @md
+#' @title Inter font name R variable aliases
+#' @description `font_inter_italic` == "`Inter-Italic`"
+#' @format length 1 character vector
+#' @export
+font_inter_italic <- "Inter-Italic"
M R/plexsans.R => R/plexsans.R +7 -7
@@ 184,13 184,13 @@ import_plex_sans <- function() {
ps_font_dir <- system.file("fonts", "plex-sans", package="hrbrthemes")
- suppressWarnings(suppressMessages(extrafont::font_import(ps_font_dir, prompt=FALSE)))
-
- message(
- sprintf(
- "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
- ps_font_dir)
- )
+ # suppressWarnings(suppressMessages(extrafont::font_import(ps_font_dir, prompt=FALSE)))
+ #
+ # message(
+ # sprintf(
+ # "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
+ # ps_font_dir)
+ # )
}
M R/public-sans.R => R/public-sans.R +7 -7
@@ 188,13 188,13 @@ import_public_sans <- function() {
pub_font_dir <- system.file("fonts", "public-sans", package="hrbrthemes")
- suppressWarnings(suppressMessages(extrafont::font_import(pub_font_dir, prompt=FALSE)))
-
- message(
- sprintf(
- "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
- pub_font_dir)
- )
+ # suppressWarnings(suppressMessages(extrafont::font_import(pub_font_dir, prompt=FALSE)))
+ #
+ # message(
+ # sprintf(
+ # "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
+ # pub_font_dir)
+ # )
}
M R/roboto-condensed.r => R/roboto-condensed.r +7 -7
@@ 209,13 209,13 @@ import_roboto_condensed <- function() {
rc_font_dir <- system.file("fonts", "roboto-condensed", package="hrbrthemes")
- suppressWarnings(suppressMessages(extrafont::font_import(rc_font_dir, prompt=FALSE)))
-
- message(
- sprintf(
- "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
- rc_font_dir)
- )
+ # suppressWarnings(suppressMessages(extrafont::font_import(rc_font_dir, prompt=FALSE)))
+ #
+ # message(
+ # sprintf(
+ # "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
+ # rc_font_dir)
+ # )
}
M R/tinyhand.R => R/tinyhand.R +7 -7
@@ 168,12 168,12 @@ import_tinyhand <- function() {
th_font_dir <- system.file("fonts", "tinyhand", package="hrbrthemes")
- suppressWarnings(suppressMessages(extrafont::font_import(th_font_dir, prompt=FALSE)))
-
- message(
- sprintf(
- "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
- th_font_dir)
- )
+ # suppressWarnings(suppressMessages(extrafont::font_import(th_font_dir, prompt=FALSE)))
+ #
+ # message(
+ # sprintf(
+ # "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
+ # th_font_dir)
+ # )
}
M R/titillium-web.R => R/titillium-web.R +7 -7
@@ 188,13 188,13 @@ import_titillium_web <- function() {
tw_font_dir <- system.file("fonts", "titillium-web", package="hrbrthemes")
- suppressWarnings(suppressMessages(extrafont::font_import(tw_font_dir, prompt=FALSE)))
-
- message(
- sprintf(
- "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
- tw_font_dir)
- )
+ # suppressWarnings(suppressMessages(extrafont::font_import(tw_font_dir, prompt=FALSE)))
+ #
+ # message(
+ # sprintf(
+ # "You will likely need to install these fonts on your system as well.\n\nYou can find them in [%s]",
+ # tw_font_dir)
+ # )
}
M R/zzz.r => R/zzz.r +26 -17
@@ 1,5 1,14 @@
.onAttach <- function(libname, pkgname) {
+ tw_font_dir <- system.file("fonts", "titillium-web", package="hrbrthemes")
+ gs_font_dir <- system.file("fonts", "goldman-sans", package="hrbrthemes")
+ es_font_dir <- system.file("fonts", "econ-sans", package="hrbrthemes")
+ rc_font_dir <- system.file("fonts", "roboto-condensed", package="hrbrthemes")
+ pub_font_dir <- system.file("fonts", "public-sans", package="hrbrthemes")
+ ps_font_dir <- system.file("fonts", "plex-sans", package="hrbrthemes")
+ th_font_dir <- system.file("fonts", "tinyhand", package="hrbrthemes")
+
+
# if (interactive()) {
# packageStartupMessage(paste0("hrbrthemes is under *active* development. ",
# "See https://github.com/hrbrmstr/hrbrthemes for info/news."))
@@ 7,22 16,22 @@
# Suggestion by @alexwhan
- if (.Platform$OS.type == "windows") { # nocov start
- if (interactive()) packageStartupMessage("Registering Windows fonts with R")
- extrafont::loadfonts("win", quiet = TRUE)
- }
-
- if (getOption("hrbrthemes.loadfonts", default = FALSE)) {
- if (interactive()) packageStartupMessage("Registering PDF & PostScript fonts with R")
- extrafont::loadfonts("pdf", quiet = TRUE)
- extrafont::loadfonts("postscript", quiet = TRUE)
- }
-
- fnt <- extrafont::fonttable()
- if (!any(grepl("Arial[ ]Narrow|Roboto[ ]Condensed", fnt$FamilyName))) {
- packageStartupMessage("NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.")
- packageStartupMessage(" Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and")
- packageStartupMessage(" if Arial Narrow is not on your system, please see https://bit.ly/arialnarrow")
- } # nocov end
+ # if (.Platform$OS.type == "windows") { # nocov start
+ # if (interactive()) packageStartupMessage("Registering Windows fonts with R")
+ # extrafont::loadfonts("win", quiet = TRUE)
+ # }
+ #
+ # if (getOption("hrbrthemes.loadfonts", default = FALSE)) {
+ # if (interactive()) packageStartupMessage("Registering PDF & PostScript fonts with R")
+ # extrafont::loadfonts("pdf", quiet = TRUE)
+ # extrafont::loadfonts("postscript", quiet = TRUE)
+ # }
+ #
+ # fnt <- extrafont::fonttable()
+ # if (!any(grepl("Arial[ ]Narrow|Roboto[ ]Condensed", fnt$FamilyName))) {
+ # packageStartupMessage("NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.")
+ # packageStartupMessage(" Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and")
+ # packageStartupMessage(" if Arial Narrow is not on your system, please see https://bit.ly/arialnarrow")
+ # } # nocov end
}
M inst/COPYRIGHTS => inst/COPYRIGHTS +100 -0
@@ 2,6 2,106 @@ All R source code files are released under the MIT license.
-----------------------------
+Inter has the following license/copyright:
+
+Copyright (c) 2016-2020 The Inter Project Authors.
+"Inter" is a Reserved Font Name.
+https://github.com/rsms/inter
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION AND CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+
+-----------------------------
+
IBM Plex Sans font has the following license/copyright:
Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"
A inst/fonts/inter/Inter-Black.ttf => inst/fonts/inter/Inter-Black.ttf +0 -0
A inst/fonts/inter/Inter-BlackItalic.ttf => inst/fonts/inter/Inter-BlackItalic.ttf +0 -0
A inst/fonts/inter/Inter-Bold.ttf => inst/fonts/inter/Inter-Bold.ttf +0 -0
A inst/fonts/inter/Inter-BoldItalic.ttf => inst/fonts/inter/Inter-BoldItalic.ttf +0 -0
A => +0 -0
A => +0 -0
A => +0 -0
A => +0 -0
A inst/fonts/inter/Inter-Italic.ttf => inst/fonts/inter/Inter-Italic.ttf +0 -0
A inst/fonts/inter/Inter-Light.ttf => inst/fonts/inter/Inter-Light.ttf +0 -0
A inst/fonts/inter/Inter-LightItalic.ttf => inst/fonts/inter/Inter-LightItalic.ttf +0 -0
A inst/fonts/inter/Inter-Medium.ttf => inst/fonts/inter/Inter-Medium.ttf +0 -0
A inst/fonts/inter/Inter-MediumItalic.ttf => inst/fonts/inter/Inter-MediumItalic.ttf +0 -0
A inst/fonts/inter/Inter-Regular.ttf => inst/fonts/inter/Inter-Regular.ttf +0 -0
A inst/fonts/inter/Inter-SemiBold.ttf => inst/fonts/inter/Inter-SemiBold.ttf +0 -0
A inst/fonts/inter/Inter-SemiBoldItalic.ttf => inst/fonts/inter/Inter-SemiBoldItalic.ttf +0 -0
A inst/fonts/inter/Inter-Thin.ttf => inst/fonts/inter/Inter-Thin.ttf +0 -0
A inst/fonts/inter/Inter-ThinItalic.ttf => inst/fonts/inter/Inter-ThinItalic.ttf +0 -0
A man/Inter.Rd => man/Inter.Rd +58 -0
@@ 0,0 1,58 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/inter.R
+\docType{data}
+\name{font_inter_thin}
+\alias{font_inter_thin}
+\alias{font_inter_thin_italic}
+\alias{font_inter_medium}
+\alias{font_inter_medium_italic}
+\alias{font_inter_semibold}
+\alias{font_inter_bold}
+\alias{font_inter_italic}
+\title{Inter font name R variable aliases}
+\format{
+length 1 character vector
+
+length 1 character vector
+
+length 1 character vector
+
+length 1 character vector
+
+length 1 character vector
+
+length 1 character vector
+
+length 1 character vector
+}
+\usage{
+font_inter_thin
+
+font_inter_thin_italic
+
+font_inter_medium
+
+font_inter_medium_italic
+
+font_inter_semibold
+
+font_inter_bold
+
+font_inter_italic
+}
+\description{
+\code{font_inter_thin} == "\code{Inter-Thin}"
+
+\code{font_inter_thin_italic} == "\code{Inter-ThinItalic}"
+
+\code{font_inter_medium} == "\code{Inter-Medium}"
+
+\code{font_inter_medium_italic} == "\code{Inter-MediumItalic}"
+
+\code{font_inter_semibold} == "\code{Inter-SemiBold}"
+
+\code{font_inter_bold} == "\code{Inter-Bold}"
+
+\code{font_inter_italic} == "\code{Inter-Italic}"
+}
+\keyword{datasets}
M man/gg_check.Rd => man/gg_check.Rd +1 -1
@@ 9,7 9,7 @@ gg_check(gg, dict, ignore)
\arguments{
\item{gg}{ggplot2 object}
-\item{dict}{a dictionary object or string which can be passed to \link[hunspell:dictionary]{hunspell::dictionary}.
+\item{dict}{a dictionary object or string which can be passed to \link[hunspell:hunspell]{hunspell::dictionary}.
Defaults to \code{hunspell::dictionary("en_US")}}
\item{ignore}{character vector with additional approved words added to the dictionary.
A man/import_inter.Rd => man/import_inter.Rd +24 -0
@@ 0,0 1,24 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/inter.R
+\name{import_inter}
+\alias{import_inter}
+\title{Import Inter font for use in charts}
+\usage{
+import_inter()
+}
+\description{
+Inter is Copyright (c) 2016-2020 The Inter Project Authors
+(\url{https://rsms.me/inter/}).
+}
+\details{
+There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will
+call \code{extrafont::loadfonts()} to register non-core fonts with R PDF & PostScript
+devices. If you are running under Windows, the package calls the same function
+to register non-core fonts with the Windows graphics device.
+}
+\note{
+This will take care of ensuring PDF/PostScript usage. The location of the
+font directory is displayed after the base import is complete. It is highly
+recommended that you install them on your system the same way you would any
+other font you wish to use in other programs.
+}
M man/ipsum.Rd => man/ipsum.Rd +0 -4
@@ 44,10 44,6 @@ outputting HTML directly into the markdown document).}
\item{dev}{Graphics device to use for figure output (defaults to png)}
-\item{smart}{Produce typographically correct output, converting straight
-quotes to curly quotes, \code{---} to em-dashes, \code{--} to en-dashes, and
-\code{...} to ellipses.}
-
\item{self_contained}{Produce a standalone HTML file with no external
dependencies, using data: URIs to incorporate the contents of linked
scripts, stylesheets, images, and videos. Note that even for self contained
M man/scale_ft.Rd => man/scale_ft.Rd +10 -4
@@ 43,13 43,19 @@ transformation object
\item A function that takes the breaks as input and returns labels
as output
}}
- \item{\code{limits}}{A character vector that defines possible values of the scale
-and their order.}
+ \item{\code{limits}}{One of:
+\itemize{
+\item \code{NULL} to use the default scale values
+\item A character vector that defines possible values of the scale and their
+order
+\item A function that accepts the existing (automatic) values and returns
+new ones
+}}
\item{\code{na.translate}}{Unlike continuous scales, discrete scales can easily show
missing values, and do so by default. If you want to remove missing values
from a discrete scale, specify \code{na.translate = FALSE}.}
- \item{\code{na.value}}{If \code{na.translate = TRUE}, what value aesthetic
-value should missing be displayed as? Does not apply to position scales
+ \item{\code{na.value}}{If \code{na.translate = TRUE}, what aesthetic value should the
+missing values be displayed as? Does not apply to position scales
where \code{NA} is always placed at the far right.}
\item{\code{drop}}{Should unused factor levels be omitted from the scale?
The default, \code{TRUE}, uses the levels that appear in the data;
M man/scale_ipsum.Rd => man/scale_ipsum.Rd +10 -4
@@ 43,13 43,19 @@ transformation object
\item A function that takes the breaks as input and returns labels
as output
}}
- \item{\code{limits}}{A character vector that defines possible values of the scale
-and their order.}
+ \item{\code{limits}}{One of:
+\itemize{
+\item \code{NULL} to use the default scale values
+\item A character vector that defines possible values of the scale and their
+order
+\item A function that accepts the existing (automatic) values and returns
+new ones
+}}
\item{\code{na.translate}}{Unlike continuous scales, discrete scales can easily show
missing values, and do so by default. If you want to remove missing values
from a discrete scale, specify \code{na.translate = FALSE}.}
- \item{\code{na.value}}{If \code{na.translate = TRUE}, what value aesthetic
-value should missing be displayed as? Does not apply to position scales
+ \item{\code{na.value}}{If \code{na.translate = TRUE}, what aesthetic value should the
+missing values be displayed as? Does not apply to position scales
where \code{NA} is always placed at the far right.}
\item{\code{drop}}{Should unused factor levels be omitted from the scale?
The default, \code{TRUE}, uses the levels that appear in the data;
M man/theme_ipsum_es.Rd => man/theme_ipsum_es.Rd +1 -1
@@ 57,7 57,7 @@ theme_ipsum_es(
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
-\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
\item{panel_spacing}{panel spacing (use \code{unit()})}
M man/theme_ipsum_gs.Rd => man/theme_ipsum_gs.Rd +1 -1
@@ 56,7 56,7 @@ theme_ipsum_gs(
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
-\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
\item{grid_col}{grid color}
A man/theme_ipsum_inter.Rd => man/theme_ipsum_inter.Rd +115 -0
@@ 0,0 1,115 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/inter.R
+\name{theme_ipsum_inter}
+\alias{theme_ipsum_inter}
+\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy}
+\usage{
+theme_ipsum_inter(
+ base_family = "Inter-Medium",
+ base_size = 10,
+ plot_title_family = "Inter-SemiBold",
+ plot_title_size = 16,
+ plot_title_face = "bold",
+ plot_title_margin = 8,
+ subtitle_family = "Inter-Medium",
+ subtitle_size = 12,
+ subtitle_face = "plain",
+ subtitle_margin = 13,
+ strip_text_family = "Inter",
+ strip_text_size = 12,
+ strip_text_face = "bold",
+ caption_family = "Inter-Light",
+ caption_size = 9,
+ caption_face = "plain",
+ caption_margin = 10,
+ axis_text_family = "Inter-Thin",
+ axis_text_face = "plain",
+ axis_text_size = 9,
+ axis_title_family = base_family,
+ axis_title_size = 9,
+ axis_title_face = "plain",
+ axis_title_just = "rt",
+ plot_margin = margin(30, 30, 30, 30),
+ grid_col = "#cccccc",
+ grid = TRUE,
+ axis_col = "#cccccc",
+ axis = FALSE,
+ ticks = FALSE
+)
+}
+\arguments{
+\item{base_family, base_size}{base font family and size}
+
+\item{plot_title_family, plot_title_face, plot_title_size, plot_title_margin}{plot tilte family, face, size and margin}
+
+\item{subtitle_family, subtitle_face, subtitle_size}{plot subtitle family, face and size}
+
+\item{subtitle_margin}{plot subtitle margin bottom (single numeric value)}
+
+\item{strip_text_family, strip_text_face, strip_text_size}{facet label font family, face and size}
+
+\item{caption_family, caption_face, caption_size, caption_margin}{plot caption family, face, size and margin}
+
+\item{axis_text_size}{font size of axis text}
+
+\item{axis_title_family, axis_title_face, axis_title_size}{axis title font family, face and size}
+
+\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
+
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
+
+\item{grid_col}{grid color}
+
+\item{grid}{panel grid (\code{TRUE}, \code{FALSE}, or a combination of \code{X}, \code{x}, \code{Y}, \code{y})}
+
+\item{axis_col}{axis color}
+
+\item{axis}{add x or y axes? \code{TRUE}, \code{FALSE}, "\code{xy}"}
+
+\item{ticks}{ticks if \code{TRUE} add ticks}
+}
+\description{
+You should \code{\link[=import_inter]{import_inter()}} first and also install the fonts on your
+system before trying to use this theme.
+}
+\details{
+There is an option \code{hrbrthemes.loadfonts} which -- if set to \code{TRUE} -- will
+call \code{extrafont::loadfonts()} to register non-core fonts with R PDF & PostScript
+devices. If you are running under Windows, the package calls the same function
+to register non-core fonts with the Windows graphics device.
+}
+\section{Why Inter?}{
+
+See \url{https://design.gs.com/d/story/goldman-sans/}.
+}
+
+\examples{
+\dontrun{
+library(ggplot2)
+library(dplyr)
+
+# seminal scatterplot
+ggplot(mtcars, aes(mpg, wt)) +
+ geom_point() +
+ labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
+ title="Seminal ggplot2 scatterplot example",
+ subtitle="A plot that is only useful for demonstration purposes",
+ caption="Brought to you by the letter 'g'") +
+ theme_ipsum_inter()
+
+# seminal bar chart
+
+update_geom_font_defaults(family=font_inter_medium)
+
+count(mpg, class) \%>\%
+ ggplot(aes(class, n)) +
+ geom_col() +
+ geom_text(aes(label=n), nudge_y=3) +
+ labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
+ title="Seminal ggplot2 bar chart example",
+ subtitle="A plot that is only useful for demonstration purposes",
+ caption="Brought to you by the letter 'g'") +
+ theme_ipsum_inter(grid="Y") +
+ theme(axis.text.y=element_blank())
+}
+}
M man/theme_ipsum_ps.Rd => man/theme_ipsum_ps.Rd +1 -1
@@ 56,7 56,7 @@ theme_ipsum_ps(
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
-\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
\item{grid_col}{grid color}
M man/theme_ipsum_pub.Rd => man/theme_ipsum_pub.Rd +1 -1
@@ 57,7 57,7 @@ theme_ipsum_pub(
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
-\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
\item{grid_col}{grid color}
M man/theme_ipsum_rc.Rd => man/theme_ipsum_rc.Rd +1 -1
@@ 121,7 121,7 @@ theme_ipsum_rc(
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
-\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
\item{grid}{panel grid (\code{TRUE}, \code{FALSE}, or a combination of \code{X}, \code{x}, \code{Y}, \code{y})}
M man/theme_ipsum_tw.Rd => man/theme_ipsum_tw.Rd +1 -1
@@ 57,7 57,7 @@ theme_ipsum_tw(
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
-\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
\item{grid_col}{grid color}
M man/theme_tinyhand.Rd => man/theme_tinyhand.Rd +1 -1
@@ 54,7 54,7 @@ theme_tinyhand(
\item{axis_title_just}{axis title font justificationk one of \verb{[blmcrt]}}
-\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
+\item{plot_margin}{plot margin (specify with \link[ggplot2:element]{ggplot2::margin})}
\item{grid_col}{grid color}