BFH Font Håndtering

October 14, 2025 · View on GitHub

BFHtheme pakken understøtter intelligent font-valg med automatisk fallback.

Font Prioritering

Pakken prøver følgende skrifttyper i prioriteret rækkefølge:

  1. Mari (Primær) - BFH's officielle skrifttype
  2. Mari Office (Alternativ) - Alternativt navn
  3. Roboto (Fallback) - Open source Google font
  4. Arial (Backup) - Universal fallback
  5. sans (System) - System default

Automatisk Font Valg

Alle temaer vælger automatisk den bedste tilgængelige font:

library(BFHtheme)
library(ggplot2)

# Automatisk font-valg
ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  theme_bfh()  # Vælger automatisk bedste font

Manuel Font Valg

Du kan også specificere font manuelt:

# Brug specifik font
ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  theme_bfh(base_family = "Mari Office")

# Eller via get_bfh_font()
font <- get_bfh_font()
theme_bfh(base_family = font)

Tjek Tilgængelige Fonts

# Check hvilke BFH fonts er installeret
check_bfh_fonts()

Output:

=== BFH Font Availability ===

Mari           : ✗ Not found
Mari Office    : ✓ Available
Roboto         : ✓ Available
Arial          : ✓ Available

Recommended font: Mari

Mari Office Font

For BFH Medarbejdere:

Mari Office/Mari er BFH's officielle corporate font og er pre-installeret på alle medarbejder-computere. Ingen handling nødvendig - pakken vil automatisk bruge den.

For Eksterne Brugere:

Mari Office er en copyrighted font og kan ikke distribueres med pakken. Brug i stedet Roboto som fallback.

Roboto Font (Open Source)

Roboto er en gratis, open-source font fra Google (Apache License 2.0).

Installation med showtext (Anbefalet)

# Install showtext pakken
install.packages("showtext")

# Load Roboto automatisk fra Google Fonts
library(showtext)
font_add_google("Roboto", "Roboto")
showtext_auto()

# Brug i plots
library(BFHtheme)
ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  theme_bfh(base_family = "Roboto")

Manuel Installation

macOS:

# Via Homebrew
brew install --cask font-roboto

# Eller download fra: https://fonts.google.com/specimen/Roboto
# og dobbeltklik .ttf filer for at installere

Windows:

  1. Download fra: https://fonts.google.com/specimen/Roboto
  2. Højreklik på .ttf filer
  3. Vælg "Install"

Linux:

# Ubuntu/Debian
sudo apt-get install fonts-roboto

# Fedora
sudo dnf install google-roboto-fonts

Helper Funktion

# Få installations-instruktioner
install_roboto_font()

Font Setup Workflow

Option 1: Automatisk (Anbefalet)

Lad pakken vælge bedste font automatisk:

library(BFHtheme)
library(ggplot2)

# Intet setup nødvendigt
ggplot(data, aes(x, y)) +
  geom_point() +
  theme_bfh()  # Bruger automatisk bedste font

Option 2: Med showtext (For Roboto)

library(showtext)
font_add_google("Roboto", "Roboto")
showtext_auto()

library(BFHtheme)
library(ggplot2)

ggplot(data, aes(x, y)) +
  geom_point() +
  theme_bfh(base_family = "Roboto")

Option 3: Setup Global Font

library(BFHtheme)

# Setup BFH fonts globally
font <- setup_bfh_fonts()

# Eller med showtext
font <- setup_bfh_fonts(use_showtext = TRUE)

# Nu bruger alle plots denne font automatisk
library(ggplot2)
ggplot(data, aes(x, y)) +
  geom_point() +
  theme_bfh()

Option 4: Set as Default for Session

library(BFHtheme)

# Set BFH fonts som default for hele session
set_bfh_fonts()

# Nu bruger ALLE plots (selv uden theme_bfh) BFH fonts
library(ggplot2)
ggplot(data, aes(x, y)) +
  geom_point() +
  theme_minimal()  # Bruger også BFH font

Font Tjek Pakker

Pakken kan bruge flere pakker til at tjekke fonts:

systemfonts (Anbefalet):

install.packages("systemfonts")

extrafont (Alternativ):

install.packages("extrafont")

# Første gang: Import alle system fonts
library(extrafont)
font_import()  # Kan tage flere minutter

showtext (For Google Fonts):

install.packages("showtext")

Eksempler

Basis Plot med Auto Font

library(BFHtheme)
library(ggplot2)

ggplot(mtcars, aes(wt, mpg, color = factor(cyl))) +
  geom_point(size = 3) +
  theme_bfh() +  # Auto-vælger Mari Office/Roboto/Arial
  labs(title = "Automatisk Font Valg")

Specificer Font Manuelt

# Brug Mari Office (hvis tilgængelig)
ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  theme_bfh(base_family = "Mari Office") +
  labs(title = "Med Mari Office Font")

# Brug Roboto
ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  theme_bfh(base_family = "Roboto") +
  labs(title = "Med Roboto Font")

Med showtext for Roboto

library(showtext)
font_add_google("Roboto", "Roboto")
showtext_auto()

library(BFHtheme)
library(ggplot2)

ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  theme_bfh(base_family = "Roboto") +
  labs(title = "Roboto via Google Fonts")

Fejlfinding

Font vises ikke korrekt

  1. Check tilgængelige fonts:
check_bfh_fonts()
  1. Genstart R session efter font installation

  2. For Roboto via showtext, sikr showtext_auto() er kaldt

Font findes ikke

# Check hvad pakken bruger
font <- get_bfh_font()
print(font)

# Prøv med showtext
library(showtext)
font_add_google("Roboto", "Roboto")
showtext_auto()

Font ser anderledes ud

Nogle fonts renderer forskelligt afhængigt af:

  • Output device (screen vs PDF vs PNG)
  • DPI indstillinger
  • OS (macOS vs Windows vs Linux)

For konsistent output, brug showtext:

library(showtext)
showtext_opts(dpi = 300)  # Match din save DPI

Best Practices

  1. For BFH Medarbejdere: Ingen handling nødvendig, Mari Office bruges automatisk

  2. For Eksterne: Installer Roboto for bedste resultater

  3. For Publikationer: Brug showtext for konsistent font-rendering på tværs af platforme

  4. For Præsentationer: Standard fonts (Arial/sans) fungerer ofte fint

  5. Font Størrelse: Juster via base_size parameter:

    • Standard: 12
    • Print: 14
    • Præsentation: 16
theme_bfh(base_size = 14)  # Større tekst

License Information

  • Mari Office: Copyright BFH - Kun til BFH medarbejdere
  • Roboto: Apache License 2.0 (Open Source)
  • Arial: Proprietary (Pre-installed på de fleste systemer)
  • sans: System dependent

Resourcer