Browse Source

inter

master
boB Rudis 2 months ago
parent
commit
f3b6e57b48
No known key found for this signature in database GPG Key ID: 1D7529BE14E2BBA9
44 changed files with 669 additions and 87 deletions
  1. +1
    -1
      DESCRIPTION
  2. +9
    -0
      NAMESPACE
  3. +7
    -7
      R/econ-sans.R
  4. +7
    -7
      R/goldmansans.R
  5. +259
    -0
      R/inter.R
  6. +7
    -7
      R/plexsans.R
  7. +7
    -7
      R/public-sans.R
  8. +7
    -7
      R/roboto-condensed.r
  9. +7
    -7
      R/tinyhand.R
  10. +7
    -7
      R/titillium-web.R
  11. +26
    -17
      R/zzz.r
  12. +100
    -0
      inst/COPYRIGHTS
  13. BIN
      inst/fonts/inter/Inter-Black.ttf
  14. BIN
      inst/fonts/inter/Inter-BlackItalic.ttf
  15. BIN
      inst/fonts/inter/Inter-Bold.ttf
  16. BIN
      inst/fonts/inter/Inter-BoldItalic.ttf
  17. BIN
      inst/fonts/inter/Inter-ExtraBold.ttf
  18. BIN
      inst/fonts/inter/Inter-ExtraBoldItalic.ttf
  19. BIN
      inst/fonts/inter/Inter-ExtraLight.ttf
  20. BIN
      inst/fonts/inter/Inter-ExtraLightItalic.ttf
  21. BIN
      inst/fonts/inter/Inter-Italic.ttf
  22. BIN
      inst/fonts/inter/Inter-Light.ttf
  23. BIN
      inst/fonts/inter/Inter-LightItalic.ttf
  24. BIN
      inst/fonts/inter/Inter-Medium.ttf
  25. BIN
      inst/fonts/inter/Inter-MediumItalic.ttf
  26. BIN
      inst/fonts/inter/Inter-Regular.ttf
  27. BIN
      inst/fonts/inter/Inter-SemiBold.ttf
  28. BIN
      inst/fonts/inter/Inter-SemiBoldItalic.ttf
  29. BIN
      inst/fonts/inter/Inter-Thin.ttf
  30. BIN
      inst/fonts/inter/Inter-ThinItalic.ttf
  31. +58
    -0
      man/Inter.Rd
  32. +1
    -1
      man/gg_check.Rd
  33. +24
    -0
      man/import_inter.Rd
  34. +0
    -4
      man/ipsum.Rd
  35. +10
    -4
      man/scale_ft.Rd
  36. +10
    -4
      man/scale_ipsum.Rd
  37. +1
    -1
      man/theme_ipsum_es.Rd
  38. +1
    -1
      man/theme_ipsum_gs.Rd
  39. +115
    -0
      man/theme_ipsum_inter.Rd
  40. +1
    -1
      man/theme_ipsum_ps.Rd
  41. +1
    -1
      man/theme_ipsum_pub.Rd
  42. +1
    -1
      man/theme_ipsum_rc.Rd
  43. +1
    -1
      man/theme_ipsum_tw.Rd
  44. +1
    -1
      man/theme_tinyhand.Rd

+ 1
- 1
DESCRIPTION View File

@ -58,5 +58,5 @@ Imports:
tools,
magrittr,
gdtools
RoxygenNote: 7.1.0
RoxygenNote: 7.1.1
VignetteBuilder: knitr

+ 9
- 0
NAMESPACE View File

@ -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)


+ 7
- 7
R/econ-sans.R View File

@ -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, "]"
# )
}


+ 7
- 7
R/goldmansans.R View File

@ -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)
# )
}


+ 259
- 0
R/inter.R View File

@ -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"

+ 7
- 7
R/plexsans.R View File

@ -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)
# )
}


+ 7
- 7
R/public-sans.R View File

@ -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)
# )
}


+ 7
- 7
R/roboto-condensed.r View File

@ -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)
# )
}


+ 7
- 7
R/tinyhand.R View File

@ -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)
# )
}

+ 7
- 7
R/titillium-web.R View File

@ -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)
# )
}


+ 26
- 17
R/zzz.r View File

@ -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
}

+ 100
- 0
inst/COPYRIGHTS View File

@ -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"


BIN
inst/fonts/inter/Inter-Black.ttf View File


BIN
inst/fonts/inter/Inter-BlackItalic.ttf View File


BIN
inst/fonts/inter/Inter-Bold.ttf View File


BIN
inst/fonts/inter/Inter-BoldItalic.ttf View File


BIN
inst/fonts/inter/Inter-ExtraBold.ttf View File


BIN
inst/fonts/inter/Inter-ExtraBoldItalic.ttf View File


BIN
inst/fonts/inter/Inter-ExtraLight.ttf View File


BIN
inst/fonts/inter/Inter-ExtraLightItalic.ttf View File


BIN
inst/fonts/inter/Inter-Italic.ttf View File


BIN
inst/fonts/inter/Inter-Light.ttf View File


BIN
inst/fonts/inter/Inter-LightItalic.ttf View File


BIN
inst/fonts/inter/Inter-Medium.ttf View File


BIN
inst/fonts/inter/Inter-MediumItalic.ttf View File


BIN
inst/fonts/inter/Inter-Regular.ttf View File


BIN
inst/fonts/inter/Inter-SemiBold.ttf View File


BIN
inst/fonts/inter/Inter-SemiBoldItalic.ttf View File


BIN
inst/fonts/inter/Inter-Thin.ttf View File


BIN
inst/fonts/inter/Inter-ThinItalic.ttf View File


+ 58
- 0
man/Inter.Rd View File

@ -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}

+ 1
- 1
man/gg_check.Rd View File

@ -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.


+ 24
- 0
man/import_inter.Rd View File

@ -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.
}

+ 0
- 4
man/ipsum.Rd View File

@ -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


+ 10
- 4
man/scale_ft.Rd View File

@ -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;


+ 10
- 4
man/scale_ipsum.Rd View File

@ -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;


+ 1
- 1
man/theme_ipsum_es.Rd View File

@ -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()})}


+ 1
- 1
man/theme_ipsum_gs.Rd View File

@ -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}


+ 115
- 0
man/theme_ipsum_inter.Rd View File

@ -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())
}
}

+ 1
- 1
man/theme_ipsum_ps.Rd View File

@ -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}


+ 1
- 1
man/theme_ipsum_pub.Rd View File

@ -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}


+ 1
- 1
man/theme_ipsum_rc.Rd View File

@ -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})}


+ 1
- 1
man/theme_ipsum_tw.Rd View File

@ -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}


+ 1
- 1
man/theme_tinyhand.Rd View File

@ -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}


Loading…
Cancel
Save