R/helpers.R

Defines functions make_dotted_letters theme_mono use_seed

Documented in use_seed

#' Wrapper to set.seed
#'
#' @param seed the seed value
#'
#' @export
use_seed <- function(seed = 1) {
  set.seed(seed)
  return(seed)
}

# Theme that supplies a background colour only
theme_mono <- function(background) {
  ggplot2::theme_void() +
    ggplot2::theme(
      panel.background = ggplot2::element_rect(
        fill = background,
        colour = background
      ),
      axis.line = ggplot2::element_line(
        colour = background
      ),
      plot.background = ggplot2::element_rect(
        fill = background,
        colour = background
      ),
    )
}

make_dotted_letters <-function() {

  # take a vector of inputs and return a binary
  # matrix corresponding to the character
  read_letter <- function(...) {
    cbind(
      matrix(data = c(...), nrow = 9, ncol = 5, byrow = TRUE),
      matrix(data = rep(0,9), nrow = 9, ncol = 1)
    )
  }

  # for visual clarity only
  . <- 0

  # character data based on the BPdots font
  # https://www.1001fonts.com/bpdots-font.html
  char_list <- list(
    " " = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "A" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.)
    ,
    "B" = read_letter(
      1,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "C" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,.,1,
      .,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "D" = read_letter(
      1,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "E" = read_letter(
      1,1,1,1,1,
      1,.,.,.,.,
      1,.,.,.,.,
      1,1,1,1,.,
      1,.,.,.,.,
      1,.,.,.,.,
      1,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "F" = read_letter(
      1,1,1,1,1,
      1,.,.,.,.,
      1,.,.,.,.,
      1,1,1,1,.,
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "G" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,1,1,
      1,.,.,.,1,
      .,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "H" = read_letter(
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "I" = read_letter(
      1,1,1,1,1,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      1,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "J" = read_letter(
      1,1,1,1,.,
      .,.,.,1,.,
      .,.,.,1,.,
      .,.,.,1,.,
      .,.,.,1,.,
      1,.,.,1,.,
      .,1,1,.,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "K" = read_letter(
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,1,.,
      1,1,1,.,.,
      1,.,.,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "L" = read_letter(
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,.,.,
      1,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "M" = read_letter(
      1,.,.,.,1,
      1,1,.,1,1,
      1,1,.,1,1,
      1,.,1,.,1,
      1,.,1,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "N" = read_letter(
      1,.,.,.,1,
      1,1,.,.,1,
      1,.,1,.,1,
      1,.,1,.,1,
      1,.,.,1,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "O" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "P" = read_letter(
      1,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,.,
      1,.,.,.,.,
      1,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "Q" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,1,.,1,
      .,1,1,1,.,
      .,.,1,.,.,
      .,.,.,1,.),
    "R" = read_letter(
      1,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,.,
      1,.,.,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "S" = read_letter(
      .,1,1,1,1,
      1,.,.,.,.,
      1,.,.,.,.,
      .,1,1,1,.,
      .,.,.,.,1,
      .,.,.,.,1,
      1,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "T" = read_letter(
      1,1,1,1,1,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "U" = read_letter(
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "V" = read_letter(
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,.,1,.,
      .,1,.,1,.,
      .,.,1,.,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "W" = read_letter(
      1,.,.,.,1,
      1,.,1,.,1,
      1,.,1,.,1,
      1,.,1,.,1,
      1,.,1,.,1,
      .,1,.,1,.,
      .,1,.,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "X" = read_letter(
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,.,1,.,
      .,.,1,.,.,
      .,1,.,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "Y" = read_letter(
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,.,1,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "Z" = read_letter(
      1,1,1,1,1,
      .,.,.,.,1,
      .,.,.,1,.,
      .,.,1,.,.,
      .,1,.,.,.,
      1,.,.,.,.,
      1,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "a" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,.,
      .,.,.,.,1,
      .,1,1,1,1,
      1,.,.,.,1,
      .,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "b" = read_letter(
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,1,1,.,
      1,1,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,.),
    "c" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,., ##
      1,.,.,.,1,
      1,.,.,.,.,
      1,.,.,.,1,
      .,1,1,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "d" = read_letter(
      .,.,.,.,1,
      .,.,.,.,1,
      .,1,1,1,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,1,1,
      .,1,1,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "e" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,.,
      1,.,.,.,1,
      1,1,1,1,1,
      1,.,.,.,.,
      .,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "f" = read_letter(
      .,.,.,1,1,
      .,.,1,.,.,
      .,1,1,1,1,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      1,1,1,1,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "g" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,1,1,
      .,1,1,.,1,
      .,.,.,.,1,
      .,1,1,1,.),
    "h" = read_letter(
      1,.,.,.,.,
      1,.,.,.,.,
      1,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,.),
    "i" = read_letter(
      .,.,1,.,.,
      .,.,.,.,.,
      1,1,1,.,., ##
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      1,1,1,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "j" = read_letter(
      .,.,.,.,1,
      .,.,.,.,.,
      .,1,1,1,1, ##
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,.,1, ##
      1,.,.,.,1,
      .,1,1,1,.),
    "k" = read_letter(
      1,.,.,.,.,
      1,.,.,.,.,
      1,.,.,1,., ##
      1,.,.,1,.,
      1,1,1,.,.,
      1,.,.,1,.,
      1,.,.,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "l" = read_letter(
      1,1,1,.,.,
      .,.,1,.,.,
      .,.,1,.,., ##
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      1,1,1,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "m" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,1,.,1, ##
      1,1,1,1,1,
      1,.,1,.,1,
      1,.,1,.,1,
      1,.,1,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "n" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,1,1,., ##
      1,1,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "o" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,., ##
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,1,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "p" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,1,1,., ##
      1,1,.,.,1,
      1,.,.,.,1,
      1,.,.,.,1,
      1,1,1,1,., ##
      1,.,.,.,.,
      1,.,.,.,.),
    "q" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,1, ##
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,1,1,
      .,1,1,.,1, ##
      .,.,.,.,1,
      .,.,.,.,1),
    "r" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,1,.,1,1, ##
      .,1,1,.,.,
      .,1,.,.,.,
      .,1,.,.,.,
      1,1,1,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "s" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,1, ##
      1,.,.,.,.,
      .,1,1,1,.,
      .,.,.,.,1,
      1,1,1,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "t" = read_letter(
      .,.,.,.,.,
      .,.,1,.,.,
      1,1,1,1,1, ##
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,.,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "u" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,.,.,1, ##
      1,.,.,.,1,
      1,.,.,.,1,
      1,.,.,1,1,
      .,1,1,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "v" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,.,.,1, ##
      1,.,.,.,1,
      .,1,.,1,.,
      .,1,.,1,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "w" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,.,.,1, ##
      1,.,1,.,1,
      1,.,1,.,1,
      .,1,.,1,.,
      .,1,.,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "x" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,.,.,1, ##
      1,.,.,.,1,
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "y" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,.,.,.,1, ##
      1,.,.,.,1,
      .,1,.,1,.,
      .,1,.,1,.,
      .,.,1,.,., ##
      .,.,1,.,.,
      1,1,.,.,.),
    "z" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,1,1,1,1, ##
      .,.,.,1,.,
      .,.,1,.,.,
      .,1,.,.,.,
      1,1,1,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "1" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,1,1,.,., ##
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      1,1,1,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "2" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,., ##
      1,.,.,.,1,
      .,.,1,1,.,
      .,1,.,.,.,
      1,1,1,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "3" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,., ##
      1,.,.,.,1,
      .,.,.,.,1,
      .,1,1,1,.,
      .,.,.,.,1, ##
      1,.,.,.,1,
      .,1,1,1,.),
    "4" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,1,., ##
      .,.,1,1,.,
      .,1,.,1,.,
      1,.,.,1,.,
      1,1,1,1,1, ##
      .,.,.,1,.,
      .,.,.,1,.),
    "5" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,1,1,1,1, ##
      1,.,.,.,.,
      1,.,.,.,.,
      1,1,1,1,.,
      .,.,.,.,1, ##
      .,.,.,.,1,
      1,1,1,1,.),
    "6" = read_letter(
      .,.,1,1,.,
      .,1,.,.,.,
      1,.,.,.,., ##
      1,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,1,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "7" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      1,1,1,1,1, ##
      .,.,.,.,1,
      .,.,.,1,.,
      .,.,1,.,.,
      .,1,.,.,., ##
      .,1,.,.,.,
      .,1,.,.,.),
    "8" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1, ##
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,1,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "9" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,., ##
      1,.,.,.,1,
      1,.,.,.,1,
      .,1,1,1,1,
      .,.,.,.,1, ##
      .,.,.,1,.,
      .,1,1,.,.),
    "0" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,1,1,., ##
      1,.,.,1,1,
      1,.,1,.,1,
      1,1,.,.,1,
      .,1,1,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "\\" = read_letter(
      .,1,.,.,.,
      .,1,.,.,.,
      .,.,1,.,., ##
      .,.,.,1,.,
      .,.,.,1,.,
      .,.,.,.,1,
      .,.,.,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "]" = read_letter(
      .,.,.,1,1,
      .,.,.,.,1,
      .,.,.,.,1, ##
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "^" = read_letter(
      .,.,1,.,.,
      .,1,.,1,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "_" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.,
      1,1,1,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "`" = read_letter(
      1,.,.,.,.,
      .,1,.,.,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "!" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,1, ##
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,.,., ##
      .,.,.,.,1,
      .,.,.,.,1),
    '"' = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,.,1,., ##
      .,1,.,1,.,
      .,1,.,1,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "#" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,1,.,1,., ##
      .,1,.,1,.,
      1,1,1,1,1,
      .,1,.,1,.,
      1,1,1,1,1, ##
      .,1,.,1,.,
      .,1,.,1,.),
    "$" = read_letter(
      .,.,.,.,.,
      .,.,1,.,.,
      .,1,1,1,1, ##
      1,.,1,.,.,
      .,1,1,1,.,
      .,.,1,.,1,
      1,1,1,1,., ##
      .,.,1,.,.,
      .,.,.,.,.),
    "%" = read_letter(
      .,1,1,.,1,
      .,1,1,.,1,
      .,.,.,1,., ##
      .,.,1,.,.,
      .,.,1,.,.,
      .,1,.,1,1,
      .,1,.,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "&" = read_letter(
      .,1,1,.,.,
      1,.,.,.,.,
      1,.,.,.,., ##
      .,1,1,1,1,
      1,.,.,1,.,
      1,.,.,1,.,
      .,1,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "'" = read_letter(
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    ")" = read_letter(
      .,.,.,1,.,
      .,.,.,.,1,
      .,.,.,.,1, ##
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "(" = read_letter(
      .,.,.,.,1,
      .,.,.,1,.,
      .,.,.,1,., ##
      .,.,.,1,.,
      .,.,.,1,.,
      .,.,.,1,.,
      .,.,.,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "*" = read_letter(
      .,1,.,1,.,
      .,.,1,.,.,
      .,1,.,1,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "+" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,1,.,., ##
      .,.,1,.,.,
      1,1,1,1,1,
      .,.,1,.,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "," = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,1,.,., ##
      .,.,1,.,.,
      .,1,.,.,.),
    "." = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,1,.,
      .,.,.,1,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "/" = read_letter(
      .,.,.,.,1,
      .,.,.,.,1,
      .,.,.,1,., ##
      .,.,1,.,.,
      .,.,1,.,.,
      .,1,.,.,.,
      .,1,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    ":" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,1,.,., ##
      .,.,1,.,.,
      .,.,.,.,.,
      .,.,1,.,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    ";" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,1, ##
      .,.,.,.,1,
      .,.,.,.,.,
      .,.,.,.,1,
      .,.,.,.,1, ##
      .,.,.,1,.,
      .,.,.,.,.),
    "<" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,1, ##
      .,.,.,1,.,
      .,.,1,.,.,
      .,.,.,1,.,
      .,.,.,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    ">" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,1,.,., ##
      .,.,.,1,.,
      .,.,.,.,1,
      .,.,.,1,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "=" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      1,1,1,1,1,
      .,.,.,.,.,
      1,1,1,1,1,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "?" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      .,.,.,.,1, ##
      .,.,1,1,.,
      .,.,.,.,.,
      .,.,1,.,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "@" = read_letter(
      .,1,1,1,.,
      1,.,.,.,1,
      1,.,1,1,1, ##
      1,1,.,1,1,
      1,1,1,1,1,
      1,.,.,.,.,
      .,1,1,1,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "{" = read_letter(
      .,.,.,.,1,
      .,.,.,1,.,
      .,.,.,1,., ##
      .,.,1,.,.,
      .,.,.,1,.,
      .,.,.,1,.,
      .,.,.,.,1, ##
      .,.,.,.,.,
      .,.,.,.,.),
    "}" = read_letter(
      .,.,1,.,.,
      .,.,.,1,.,
      .,.,.,1,., ##
      .,.,.,.,1,
      .,.,.,1,.,
      .,.,.,1,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "|" = read_letter(
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,., ##
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,.,
      .,.,1,.,., ##
      .,.,.,.,.,
      .,.,.,.,.),
    "-" = read_letter(
      .,.,.,.,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,1,1,1,.,
      .,.,.,.,.,
      .,.,.,.,., ##
      .,.,.,.,.,
      .,.,.,.,.)
  )

  # coerce to a tibble
  char_table <- char_list %>%
    purrr::imap_dfr(function(inp,n) {
      inp %>% tibble::as_tibble() %>%
        dplyr::mutate(y = 9:1) %>%
        tidyr::gather(key = "x", value = "value", V1, V2, V3, V4, V5, V6) %>%
        dplyr::mutate(x = x %>% stringr::str_remove("V") %>% as.integer()) %>%
        dplyr::mutate(char = n)
    })


  return(char_table)

}

# write file
#write_csv(char_table, here::here("char_map.csv"))

# # sanity check
# plot_char <- function(data, character, value = 1, size = 10) {
#   data %>%
#     filter(char == !!character & value == !!value) %>%
#     ggplot(aes(x=xpos, y=ypos)) +
#     geom_point(size = size) +
#     coord_equal() +
#     xlim(0, 7) +
#     ylim(0, 10)
# }

#char_table %>% plot_char("J") %>% plot()
djnavarro/jasmines documentation built on April 12, 2021, 4:25 a.m.