R is for
Authoring!!

OOH Session #116…
Valentines

Open Office Hours
(February 10, 2026)

  • Recap session #115
  • Today’s topic(s):
  • Shared problem-solving







Reminder – check it out!!

Fantastic resource!!

Recap of Session
#115:

ümläüts unicode & uncials

ümläüts (and other special characters) can be specified via unicode values:

unicode character specification
U+00FC ü ü/ü
U+2764 ❤️ ❤
U+2661 ♡
U+1F0B1 🂱 🂱

…and other font specifications differ across document type – local installation for pdf & typst but not html (also mind pdf-engine with )

---
title: "Untitled"
mainfont: "Uncial Antiqua"
format: html
#  pdf:
#    pdf-engine: lualatex
---

```{css}

@import url('https://fonts.googleapis.com/css?family=Uncial Antiqua');

```
1
mainfont should apply to most document elements (but possibly not all – keep an eye on )
2
alternative YAML structure for (if fonts not displaying as expected)
3
easiest html option if fonts not displaying as expected (html dependent on viewer setup, not your local font installations)

Today…

Valentines

Backup Valentine

---
format: 
  revealjs:
    mainfont: "Dancing Script"
    mouse-wheel: true
execute: 
  echo: false
  warning: false
  error: false
filters:
  - snow
---
# {background-image="https://starbaseatlanta.com/wp-content/uploads/sihpt4674.jpg"}

```{css}

@import url('https://fonts.googleapis.com/css?family=Dancing Script');

.snowflake__inner_type_0:before {
    background-image: url('https://cdn-icons-png.flaticon.com/512/1077/1077035.png') !important;
}

.snowflake__inner_type_1:before {
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/018/795/980/small/neon-glowing-shape-free-png.png') !important;
}

.snowflake__inner_type_2:before {
    background-image: url('https://gallery.yopriceville.com/downloadfullsize/send/30848') !important;
}

.snowflake__inner_type_3:before {
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/010/977/961/small/red-paper-cut-heart-style-png.png') !important;
}

.snowflake__inner_type_4:before {
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/010/977/961/small/red-paper-cut-heart-style-png.png') !important;
}

.snowflake__inner_type_5:before {
    background-image: url('https://images.vexels.com/media/users/3/136172/isolated/preview/148ec098a4529de7141003a8ec519d39-heart-like-icon.png') !important;
}

```

## Sappy sentiment goes here... {background-color="#ffe2f6"}

```{r heart-animation}
library(ggplot2)
library(dplyr)
library(gganimate)

heartdf = tibble(
    t = seq(0, 2*pi, pi/60),
    x = 16*sin(t)^3,
    y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t)
)

textdf = tibble(t = max(heartdf$t) + 1:15)

ggplot(data = heartdf, aes(x, y)) + 
    geom_polygon(aes(group = 1), fill = "red") +
    geom_text(aes(x = 0, y = 0, label = "\u2661\u2764\u2665 Va va voom!!! \u2665\u2764\u2661", parse=TRUE), 
              data = textdf, size = 12, colour = "white") +
  xlab("\u2665 XxXxXxX \u2665") +
  ylab("\u2665 OoOoOoO \u2665") +
    transition_reveal(t)
```
1
if you’d like to alter the script appearance, also change the font specification on line #17 (below, within the css chunk)
2
add/alter falling hearts by changing the url’s on line #’s 20, 24, 28, etc – there are 6 total images specified

Note

Code on left will create a card similarly styled to the card we created – you can swap code images, colors, etc…

You’ll need the standard snow extension installed for the heart–falling effect to work

Session Info (February 10, 2026) Rendering:

sessionInfo()
R version 4.5.0 (2025-04-11 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 10 x64 (build 19045)

Matrix products: default
  LAPACK version 3.12.1

locale:
[1] LC_COLLATE=English_United States.utf8 
[2] LC_CTYPE=English_United States.utf8   
[3] LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.utf8    

time zone: America/Chicago
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_4.5.0    fastmap_1.2.0     cli_3.6.5         tools_4.5.0      
 [5] htmltools_0.5.8.1 rstudioapi_0.17.1 yaml_2.3.10       rmarkdown_2.29   
 [9] knitr_1.50        jsonlite_2.0.0    xfun_0.52         digest_0.6.37    
[13] rlang_1.1.6       evaluate_1.0.5