Change font of *input_text

I want to display a customized string variable in a unique unicode font. Has anyone done anything like this?

Basically, the player will *input_text, and I want to display that text with a ๐•ค๐•ก๐•–๐•”๐•š๐•’๐• ๐•—๐• ๐•Ÿ๐•ฅ. Is there a code I can use to replace each letter of the alphabet with the โ€œspecial fontโ€ version of the letter, so that I can display the special font regardless of what the player inputs?

Keep in mind that special characters cannot be read by screen readers, making your game less accessible. So, use it judiciously.

  • Create a global variable in startup.txt called return. It cannot have a different name.
  • Copy the contents of the code below and save in a separate scene, name it however you like.
  • The operation may be processing intensive depending on the size of the string. Save the result to reuse instead of calling the sub-routine every time.

Usage

*create return ""

*gosub_scene string fontify "John Smith" "gothic"

Result: ${return}

The above will print:

Result: ๐”๐”ฌ๐”ฅ๐”ซ ๐”–๐”ช๐”ฆ๐”ฑ๐”ฅ

Style Options

  • gothic
  • gothicBold
  • cursive
  • cursiveBold
  • outlined
  • monospaced
  • mirrored
  • boxed
  • glitched
  • circled
  • pseudoKanji

Code

More than 1800 lines of code. Click to expand.
Takes some text and a font style, returns the text transformed into given style.

[Usage]

	*gosub_scene string fontify "John Smith" "gothic"

	Result: ๐”๐”ฌ๐”ฅ๐”ซ ๐”–๐”ช๐”ฆ๐”ฑ๐”ฅ

[Style Options]

	- gothic
	- gothicBold
	- cursive
	- cursiveBold
	- outlined
	- monospaced
	- mirrored
	- boxed
	- glitched
	- circled
	- pseudoKanji


*label fontify
*params
*if (param["count"] != 2)
	*bug expected exactly 2 arguments, got ${param["count"]}
*temp text param[1]
*temp fontFamily ("fontify_" & param[2])
*temp finalText ""
*comment BEGIN REPEAT LOOP
*comment @loop repeat
*temp repeat_times (length(text) + 1)
*comment ci == current_iteration
*temp ci 1
*label string_repeat_fontify
*if (ci < repeat_times)
	*gosub {fontFamily} (text#ci)
	*set finalText &return
	*set ci +1
	*goto string_repeat_fontify
*comment END REPEAT LOOP
*set return finalText
*return

*label fontify_gothic
*params
*if (param[1] = "A")
	*set return "๐”„"
	*return
*if (param[1] = "B")
	*set return "๐”…"
	*return
*if (param[1] = "C")
	*set return "โ„ญ"
	*return
*if (param[1] = "D")
	*set return "๐”‡"
	*return
*if (param[1] = "E")
	*set return "๐”ˆ"
	*return
*if (param[1] = "F")
	*set return "๐”‰"
	*return
*if (param[1] = "G")
	*set return "๐”Š"
	*return
*if (param[1] = "H")
	*set return "โ„Œ"
	*return
*if (param[1] = "I")
	*set return "โ„‘"
	*return
*if (param[1] = "J")
	*set return "๐”"
	*return
*if (param[1] = "K")
	*set return "๐”Ž"
	*return
*if (param[1] = "L")
	*set return "๐”"
	*return
*if (param[1] = "M")
	*set return "๐”"
	*return
*if (param[1] = "N")
	*set return "๐”‘"
	*return
*if (param[1] = "O")
	*set return "๐”’"
	*return
*if (param[1] = "P")
	*set return "๐”“"
	*return
*if (param[1] = "Q")
	*set return "๐””"
	*return
*if (param[1] = "R")
	*set return "โ„œ"
	*return
*if (param[1] = "S")
	*set return "๐”–"
	*return
*if (param[1] = "T")
	*set return "๐”—"
	*return
*if (param[1] = "U")
	*set return "๐”˜"
	*return
*if (param[1] = "V")
	*set return "๐”™"
	*return
*if (param[1] = "W")
	*set return "๐”š"
	*return
*if (param[1] = "X")
	*set return "๐”›"
	*return
*if (param[1] = "Y")
	*set return "๐”œ"
	*return
*if (param[1] = "Z")
	*set return "โ„จ"
	*return
*if (param[1] = "a")
	*set return "๐”ž"
	*return
*if (param[1] = "b")
	*set return "๐”Ÿ"
	*return
*if (param[1] = "c")
	*set return "๐” "
	*return
*if (param[1] = "d")
	*set return "๐”ก"
	*return
*if (param[1] = "e")
	*set return "๐”ข"
	*return
*if (param[1] = "f")
	*set return "๐”ฃ"
	*return
*if (param[1] = "g")
	*set return "๐”ค"
	*return
*if (param[1] = "h")
	*set return "๐”ฅ"
	*return
*if (param[1] = "i")
	*set return "๐”ฆ"
	*return
*if (param[1] = "j")
	*set return "๐”ง"
	*return
*if (param[1] = "k")
	*set return "๐”จ"
	*return
*if (param[1] = "l")
	*set return "๐”ฉ"
	*return
*if (param[1] = "m")
	*set return "๐”ช"
	*return
*if (param[1] = "n")
	*set return "๐”ซ"
	*return
*if (param[1] = "o")
	*set return "๐”ฌ"
	*return
*if (param[1] = "p")
	*set return "๐”ญ"
	*return
*if (param[1] = "q")
	*set return "๐”ฎ"
	*return
*if (param[1] = "r")
	*set return "๐”ฏ"
	*return
*if (param[1] = "s")
	*set return "๐”ฐ"
	*return
*if (param[1] = "t")
	*set return "๐”ฑ"
	*return
*if (param[1] = "u")
	*set return "๐”ฒ"
	*return
*if (param[1] = "v")
	*set return "๐”ณ"
	*return
*if (param[1] = "w")
	*set return "๐”ด"
	*return
*if (param[1] = "x")
	*set return "๐”ต"
	*return
*if (param[1] = "y")
	*set return "๐”ถ"
	*return
*if (param[1] = "z")
	*set return "๐”ท"
	*return
*else
	*set return param[1]
*return

*label fontify_gothicBold
*params
*if (param[1] = "A")
	*set return "๐•ฌ"
	*return
*if (param[1] = "B")
	*set return "๐•ญ"
	*return
*if (param[1] = "C")
	*set return "๐•ฎ"
	*return
*if (param[1] = "D")
	*set return "๐•ฏ"
	*return
*if (param[1] = "E")
	*set return "๐•ฐ"
	*return
*if (param[1] = "F")
	*set return "๐•ฑ"
	*return
*if (param[1] = "G")
	*set return "๐•ฒ"
	*return
*if (param[1] = "H")
	*set return "๐•ณ"
	*return
*if (param[1] = "I")
	*set return "๐•ด"
	*return
*if (param[1] = "J")
	*set return "๐•ต"
	*return
*if (param[1] = "K")
	*set return "๐•ถ"
	*return
*if (param[1] = "L")
	*set return "๐•ท"
	*return
*if (param[1] = "M")
	*set return "๐•ธ"
	*return
*if (param[1] = "N")
	*set return "๐•น"
	*return
*if (param[1] = "O")
	*set return "๐•บ"
	*return
*if (param[1] = "P")
	*set return "๐•ป"
	*return
*if (param[1] = "Q")
	*set return "๐•ผ"
	*return
*if (param[1] = "R")
	*set return "๐•ฝ"
	*return
*if (param[1] = "S")
	*set return "๐•พ"
	*return
*if (param[1] = "T")
	*set return "๐•ฟ"
	*return
*if (param[1] = "U")
	*set return "๐–€"
	*return
*if (param[1] = "V")
	*set return "๐–"
	*return
*if (param[1] = "W")
	*set return "๐–‚"
	*return
*if (param[1] = "X")
	*set return "๐–ƒ"
	*return
*if (param[1] = "Y")
	*set return "๐–„"
	*return
*if (param[1] = "Z")
	*set return "๐–…"
	*return
*if (param[1] = "a")
	*set return "๐–†"
	*return
*if (param[1] = "b")
	*set return "๐–‡"
	*return
*if (param[1] = "c")
	*set return "๐–ˆ"
	*return
*if (param[1] = "d")
	*set return "๐–‰"
	*return
*if (param[1] = "e")
	*set return "๐–Š"
	*return
*if (param[1] = "f")
	*set return "๐–‹"
	*return
*if (param[1] = "g")
	*set return "๐–Œ"
	*return
*if (param[1] = "h")
	*set return "๐–"
	*return
*if (param[1] = "i")
	*set return "๐–Ž"
	*return
*if (param[1] = "j")
	*set return "๐–"
	*return
*if (param[1] = "k")
	*set return "๐–"
	*return
*if (param[1] = "l")
	*set return "๐–‘"
	*return
*if (param[1] = "m")
	*set return "๐–’"
	*return
*if (param[1] = "n")
	*set return "๐–“"
	*return
*if (param[1] = "o")
	*set return "๐–”"
	*return
*if (param[1] = "p")
	*set return "๐–•"
	*return
*if (param[1] = "q")
	*set return "๐––"
	*return
*if (param[1] = "r")
	*set return "๐–—"
	*return
*if (param[1] = "s")
	*set return "๐–˜"
	*return
*if (param[1] = "t")
	*set return "๐–™"
	*return
*if (param[1] = "u")
	*set return "๐–š"
	*return
*if (param[1] = "v")
	*set return "๐–›"
	*return
*if (param[1] = "w")
	*set return "๐–œ"
	*return
*if (param[1] = "x")
	*set return "๐–"
	*return
*if (param[1] = "y")
	*set return "๐–ž"
	*return
*if (param[1] = "z")
	*set return "๐–Ÿ"
	*return
*else
	*set return param[1]
*return

*label fontify_cursive
*params
*if (param[1] = "A")
	*set return "๐’œ"
	*return
*if (param[1] = "B")
	*set return "๐ต"
	*return
*if (param[1] = "C")
	*set return "๐’ž"
	*return
*if (param[1] = "D")
	*set return "๐’Ÿ"
	*return
*if (param[1] = "E")
	*set return "๐ธ"
	*return
*if (param[1] = "F")
	*set return "๐น"
	*return
*if (param[1] = "G")
	*set return "๐’ข"
	*return
*if (param[1] = "H")
	*set return "๐ป"
	*return
*if (param[1] = "I")
	*set return "๐ผ"
	*return
*if (param[1] = "J")
	*set return "๐’ฅ"
	*return
*if (param[1] = "K")
	*set return "๐’ฆ"
	*return
*if (param[1] = "L")
	*set return "๐ฟ"
	*return
*if (param[1] = "M")
	*set return "๐‘€"
	*return
*if (param[1] = "N")
	*set return "๐’ฉ"
	*return
*if (param[1] = "O")
	*set return "๐’ช"
	*return
*if (param[1] = "P")
	*set return "๐’ซ"
	*return
*if (param[1] = "Q")
	*set return "๐’ฌ"
	*return
*if (param[1] = "R")
	*set return "๐‘…"
	*return
*if (param[1] = "S")
	*set return "๐’ฎ"
	*return
*if (param[1] = "T")
	*set return "๐’ฏ"
	*return
*if (param[1] = "U")
	*set return "๐’ฐ"
	*return
*if (param[1] = "V")
	*set return "๐’ฑ"
	*return
*if (param[1] = "W")
	*set return "๐’ฒ"
	*return
*if (param[1] = "X")
	*set return "๐’ณ"
	*return
*if (param[1] = "Y")
	*set return "๐’ด"
	*return
*if (param[1] = "Z")
	*set return "๐’ต"
	*return
*if (param[1] = "a")
	*set return "๐’ถ"
	*return
*if (param[1] = "b")
	*set return "๐’ท"
	*return
*if (param[1] = "c")
	*set return "๐’ธ"
	*return
*if (param[1] = "d")
	*set return "๐’น"
	*return
*if (param[1] = "e")
	*set return "๐‘’"
	*return
*if (param[1] = "f")
	*set return "๐’ป"
	*return
*if (param[1] = "g")
	*set return "๐‘”"
	*return
*if (param[1] = "h")
	*set return "๐’ฝ"
	*return
*if (param[1] = "i")
	*set return "๐’พ"
	*return
*if (param[1] = "j")
	*set return "๐’ฟ"
	*return
*if (param[1] = "k")
	*set return "๐“€"
	*return
*if (param[1] = "l")
	*set return "๐“"
	*return
*if (param[1] = "m")
	*set return "๐“‚"
	*return
*if (param[1] = "n")
	*set return "๐“ƒ"
	*return
*if (param[1] = "o")
	*set return "๐‘œ"
	*return
*if (param[1] = "p")
	*set return "๐“…"
	*return
*if (param[1] = "q")
	*set return "๐“†"
	*return
*if (param[1] = "r")
	*set return "๐“‡"
	*return
*if (param[1] = "s")
	*set return "๐“ˆ"
	*return
*if (param[1] = "t")
	*set return "๐“‰"
	*return
*if (param[1] = "u")
	*set return "๐“Š"
	*return
*if (param[1] = "v")
	*set return "๐“‹"
	*return
*if (param[1] = "w")
	*set return "๐“Œ"
	*return
*if (param[1] = "x")
	*set return "๐“"
	*return
*if (param[1] = "y")
	*set return "๐“Ž"
	*return
*if (param[1] = "z")
	*set return "๐“"
	*return
*else
	*set return param[1]
*return

*label fontify_cursiveBold
*params
*if (param[1] = "A")
	*set return "๐“"
	*return
*if (param[1] = "B")
	*set return "๐“‘"
	*return
*if (param[1] = "C")
	*set return "๐“’"
	*return
*if (param[1] = "D")
	*set return "๐““"
	*return
*if (param[1] = "E")
	*set return "๐“”"
	*return
*if (param[1] = "F")
	*set return "๐“•"
	*return
*if (param[1] = "G")
	*set return "๐“–"
	*return
*if (param[1] = "H")
	*set return "๐“—"
	*return
*if (param[1] = "I")
	*set return "๐“˜"
	*return
*if (param[1] = "J")
	*set return "๐“™"
	*return
*if (param[1] = "K")
	*set return "๐“š"
	*return
*if (param[1] = "L")
	*set return "๐“›"
	*return
*if (param[1] = "M")
	*set return "๐“œ"
	*return
*if (param[1] = "N")
	*set return "๐“"
	*return
*if (param[1] = "O")
	*set return "๐“ž"
	*return
*if (param[1] = "P")
	*set return "๐“Ÿ"
	*return
*if (param[1] = "Q")
	*set return "๐“ "
	*return
*if (param[1] = "R")
	*set return "๐“ก"
	*return
*if (param[1] = "S")
	*set return "๐“ข"
	*return
*if (param[1] = "T")
	*set return "๐“ฃ"
	*return
*if (param[1] = "U")
	*set return "๐“ค"
	*return
*if (param[1] = "V")
	*set return "๐“ฅ"
	*return
*if (param[1] = "W")
	*set return "๐“ฆ"
	*return
*if (param[1] = "X")
	*set return "๐“ง"
	*return
*if (param[1] = "Y")
	*set return "๐“จ"
	*return
*if (param[1] = "Z")
	*set return "๐“ฉ"
	*return
*if (param[1] = "a")
	*set return "๐“ช"
	*return
*if (param[1] = "b")
	*set return "๐“ซ"
	*return
*if (param[1] = "c")
	*set return "๐“ฌ"
	*return
*if (param[1] = "d")
	*set return "๐“ญ"
	*return
*if (param[1] = "e")
	*set return "๐“ฎ"
	*return
*if (param[1] = "f")
	*set return "๐“ฏ"
	*return
*if (param[1] = "g")
	*set return "๐“ฐ"
	*return
*if (param[1] = "h")
	*set return "๐“ฑ"
	*return
*if (param[1] = "i")
	*set return "๐“ฒ"
	*return
*if (param[1] = "j")
	*set return "๐“ณ"
	*return
*if (param[1] = "k")
	*set return "๐“ด"
	*return
*if (param[1] = "l")
	*set return "๐“ต"
	*return
*if (param[1] = "m")
	*set return "๐“ถ"
	*return
*if (param[1] = "n")
	*set return "๐“ท"
	*return
*if (param[1] = "o")
	*set return "๐“ธ"
	*return
*if (param[1] = "p")
	*set return "๐“น"
	*return
*if (param[1] = "q")
	*set return "๐“บ"
	*return
*if (param[1] = "r")
	*set return "๐“ป"
	*return
*if (param[1] = "s")
	*set return "๐“ผ"
	*return
*if (param[1] = "t")
	*set return "๐“ฝ"
	*return
*if (param[1] = "u")
	*set return "๐“พ"
	*return
*if (param[1] = "v")
	*set return "๐“ฟ"
	*return
*if (param[1] = "w")
	*set return "๐”€"
	*return
*if (param[1] = "x")
	*set return "๐”"
	*return
*if (param[1] = "y")
	*set return "๐”‚"
	*return
*if (param[1] = "z")
	*set return "๐”ƒ"
	*return
*else
	*set return param[1]
*return

*label fontify_outlined
*params
*if (param[1] = "A")
	*set return "๐”ธ"
	*return
*if (param[1] = "B")
	*set return "๐”น"
	*return
*if (param[1] = "C")
	*set return "โ„‚"
	*return
*if (param[1] = "D")
	*set return "๐”ป"
	*return
*if (param[1] = "E")
	*set return "๐”ผ"
	*return
*if (param[1] = "F")
	*set return "๐”ฝ"
	*return
*if (param[1] = "G")
	*set return "๐”พ"
	*return
*if (param[1] = "H")
	*set return "โ„"
	*return
*if (param[1] = "I")
	*set return "๐•€"
	*return
*if (param[1] = "J")
	*set return "๐•"
	*return
*if (param[1] = "K")
	*set return "๐•‚"
	*return
*if (param[1] = "L")
	*set return "๐•ƒ"
	*return
*if (param[1] = "M")
	*set return "๐•„"
	*return
*if (param[1] = "N")
	*set return "โ„•"
	*return
*if (param[1] = "O")
	*set return "๐•†"
	*return
*if (param[1] = "P")
	*set return "โ„™"
	*return
*if (param[1] = "Q")
	*set return "โ„š"
	*return
*if (param[1] = "R")
	*set return "โ„"
	*return
*if (param[1] = "S")
	*set return "๐•Š"
	*return
*if (param[1] = "T")
	*set return "๐•‹"
	*return
*if (param[1] = "U")
	*set return "๐•Œ"
	*return
*if (param[1] = "V")
	*set return "๐•"
	*return
*if (param[1] = "W")
	*set return "๐•Ž"
	*return
*if (param[1] = "X")
	*set return "๐•"
	*return
*if (param[1] = "Y")
	*set return "๐•"
	*return
*if (param[1] = "Z")
	*set return "โ„ค"
	*return
*if (param[1] = "a")
	*set return "๐•’"
	*return
*if (param[1] = "b")
	*set return "๐•“"
	*return
*if (param[1] = "c")
	*set return "๐•”"
	*return
*if (param[1] = "d")
	*set return "๐••"
	*return
*if (param[1] = "e")
	*set return "๐•–"
	*return
*if (param[1] = "f")
	*set return "๐•—"
	*return
*if (param[1] = "g")
	*set return "๐•˜"
	*return
*if (param[1] = "h")
	*set return "๐•™"
	*return
*if (param[1] = "i")
	*set return "๐•š"
	*return
*if (param[1] = "j")
	*set return "๐•›"
	*return
*if (param[1] = "k")
	*set return "๐•œ"
	*return
*if (param[1] = "l")
	*set return "๐•"
	*return
*if (param[1] = "m")
	*set return "๐•ž"
	*return
*if (param[1] = "n")
	*set return "๐•Ÿ"
	*return
*if (param[1] = "o")
	*set return "๐• "
	*return
*if (param[1] = "p")
	*set return "๐•ก"
	*return
*if (param[1] = "q")
	*set return "๐•ข"
	*return
*if (param[1] = "r")
	*set return "๐•ฃ"
	*return
*if (param[1] = "s")
	*set return "๐•ค"
	*return
*if (param[1] = "t")
	*set return "๐•ฅ"
	*return
*if (param[1] = "u")
	*set return "๐•ฆ"
	*return
*if (param[1] = "v")
	*set return "๐•ง"
	*return
*if (param[1] = "w")
	*set return "๐•จ"
	*return
*if (param[1] = "x")
	*set return "๐•ฉ"
	*return
*if (param[1] = "y")
	*set return "๐•ช"
	*return
*if (param[1] = "z")
	*set return "๐•ซ"
	*return
*else
	*set return param[1]
*return

*label fontify_monospaced
*params
*if (param[1] = "A")
	*set return "๏ผก"
	*return
*if (param[1] = "B")
	*set return "๏ผข"
	*return
*if (param[1] = "C")
	*set return "๏ผฃ"
	*return
*if (param[1] = "D")
	*set return "๏ผค"
	*return
*if (param[1] = "E")
	*set return "๏ผฅ"
	*return
*if (param[1] = "F")
	*set return "๏ผฆ"
	*return
*if (param[1] = "G")
	*set return "๏ผง"
	*return
*if (param[1] = "H")
	*set return "๏ผจ"
	*return
*if (param[1] = "I")
	*set return "๏ผฉ"
	*return
*if (param[1] = "J")
	*set return "๏ผช"
	*return
*if (param[1] = "K")
	*set return "๏ผซ"
	*return
*if (param[1] = "L")
	*set return "๏ผฌ"
	*return
*if (param[1] = "M")
	*set return "๏ผญ"
	*return
*if (param[1] = "N")
	*set return "๏ผฎ"
	*return
*if (param[1] = "O")
	*set return "๏ผฏ"
	*return
*if (param[1] = "P")
	*set return "๏ผฐ"
	*return
*if (param[1] = "Q")
	*set return "๏ผฑ"
	*return
*if (param[1] = "R")
	*set return "๏ผฒ"
	*return
*if (param[1] = "S")
	*set return "๏ผณ"
	*return
*if (param[1] = "T")
	*set return "๏ผด"
	*return
*if (param[1] = "U")
	*set return "๏ผต"
	*return
*if (param[1] = "V")
	*set return "๏ผถ"
	*return
*if (param[1] = "W")
	*set return "๏ผท"
	*return
*if (param[1] = "X")
	*set return "๏ผธ"
	*return
*if (param[1] = "Y")
	*set return "๏ผน"
	*return
*if (param[1] = "Z")
	*set return "๏ผบ"
	*return
*if (param[1] = "a")
	*set return "๏ฝ"
	*return
*if (param[1] = "b")
	*set return "๏ฝ‚"
	*return
*if (param[1] = "c")
	*set return "๏ฝƒ"
	*return
*if (param[1] = "d")
	*set return "๏ฝ„"
	*return
*if (param[1] = "e")
	*set return "๏ฝ…"
	*return
*if (param[1] = "f")
	*set return "๏ฝ†"
	*return
*if (param[1] = "g")
	*set return "๏ฝ‡"
	*return
*if (param[1] = "h")
	*set return "๏ฝˆ"
	*return
*if (param[1] = "i")
	*set return "๏ฝ‰"
	*return
*if (param[1] = "j")
	*set return "๏ฝŠ"
	*return
*if (param[1] = "k")
	*set return "๏ฝ‹"
	*return
*if (param[1] = "l")
	*set return "๏ฝŒ"
	*return
*if (param[1] = "m")
	*set return "๏ฝ"
	*return
*if (param[1] = "n")
	*set return "๏ฝŽ"
	*return
*if (param[1] = "o")
	*set return "๏ฝ"
	*return
*if (param[1] = "p")
	*set return "๏ฝ"
	*return
*if (param[1] = "q")
	*set return "๏ฝ‘"
	*return
*if (param[1] = "r")
	*set return "๏ฝ’"
	*return
*if (param[1] = "s")
	*set return "๏ฝ“"
	*return
*if (param[1] = "t")
	*set return "๏ฝ”"
	*return
*if (param[1] = "u")
	*set return "๏ฝ•"
	*return
*if (param[1] = "v")
	*set return "๏ฝ–"
	*return
*if (param[1] = "w")
	*set return "๏ฝ—"
	*return
*if (param[1] = "x")
	*set return "๏ฝ˜"
	*return
*if (param[1] = "y")
	*set return "๏ฝ™"
	*return
*if (param[1] = "z")
	*set return "๏ฝš"
	*return
*else
	*set return param[1]
*return

*label fontify_mirrored
*params
*if (param[1] = "A")
	*set return "โˆ€"
	*return
*if (param[1] = "B")
	*set return "แ™ "
	*return
*if (param[1] = "C")
	*set return "ฦ†"
	*return
*if (param[1] = "D")
	*set return "แ—ก"
	*return
*if (param[1] = "E")
	*set return "ฦŽ"
	*return
*if (param[1] = "F")
	*set return "โ„ฒ"
	*return
*if (param[1] = "G")
	*set return "โ…"
	*return
*if (param[1] = "H")
	*set return "H"
	*return
*if (param[1] = "I")
	*set return "I"
	*return
*if (param[1] = "J")
	*set return "ลฟ"
	*return
*if (param[1] = "K")
	*set return "โ‹Š"
	*return
*if (param[1] = "L")
	*set return "หฅ"
	*return
*if (param[1] = "M")
	*set return "W"
	*return
*if (param[1] = "N")
	*set return "N"
	*return
*if (param[1] = "O")
	*set return "O"
	*return
*if (param[1] = "P")
	*set return "ิ€"
	*return
*if (param[1] = "Q")
	*set return "ฮŒ"
	*return
*if (param[1] = "R")
	*set return "แดš"
	*return
*if (param[1] = "S")
	*set return "S"
	*return
*if (param[1] = "T")
	*set return "โŠฅ"
	*return
*if (param[1] = "U")
	*set return "โˆฉ"
	*return
*if (param[1] = "V")
	*set return "ฮ›"
	*return
*if (param[1] = "W")
	*set return "M"
	*return
*if (param[1] = "X")
	*set return "X"
	*return
*if (param[1] = "Y")
	*set return "โ…„"
	*return
*if (param[1] = "Z")
	*set return "Z"
	*return
*if (param[1] = "a")
	*set return "ษ"
	*return
*if (param[1] = "b")
	*set return "q"
	*return
*if (param[1] = "c")
	*set return "ษ”"
	*return
*if (param[1] = "d")
	*set return "p"
	*return
*if (param[1] = "e")
	*set return "ว"
	*return
*if (param[1] = "f")
	*set return "ษŸ"
	*return
*if (param[1] = "g")
	*set return "ษ“"
	*return
*if (param[1] = "h")
	*set return "ษฅ"
	*return
*if (param[1] = "i")
	*set return "ฤฑ"
	*return
*if (param[1] = "j")
	*set return "ษพ"
	*return
*if (param[1] = "k")
	*set return "สž"
	*return
*if (param[1] = "l")
	*set return "l"
	*return
*if (param[1] = "m")
	*set return "ษฏ"
	*return
*if (param[1] = "n")
	*set return "u"
	*return
*if (param[1] = "o")
	*set return "o"
	*return
*if (param[1] = "p")
	*set return "d"
	*return
*if (param[1] = "q")
	*set return "b"
	*return
*if (param[1] = "r")
	*set return "ษน"
	*return
*if (param[1] = "s")
	*set return "s"
	*return
*if (param[1] = "t")
	*set return "ส‡"
	*return
*if (param[1] = "u")
	*set return "n"
	*return
*if (param[1] = "v")
	*set return "สŒ"
	*return
*if (param[1] = "w")
	*set return "ส"
	*return
*if (param[1] = "x")
	*set return "x"
	*return
*if (param[1] = "y")
	*set return "สŽ"
	*return
*if (param[1] = "z")
	*set return "z"
	*return
*else
	*set return param[1]
*return

*label fontify_boxed
*params
*if (param[1] = "A")
	*set return "๐Ÿ„ฐ"
	*return
*if (param[1] = "B")
	*set return "๐Ÿ„ฑ"
	*return
*if (param[1] = "C")
	*set return "๐Ÿ„ฒ"
	*return
*if (param[1] = "D")
	*set return "๐Ÿ„ณ"
	*return
*if (param[1] = "E")
	*set return "๐Ÿ„ด"
	*return
*if (param[1] = "F")
	*set return "๐Ÿ„ต"
	*return
*if (param[1] = "G")
	*set return "๐Ÿ„ถ"
	*return
*if (param[1] = "H")
	*set return "๐Ÿ„ท"
	*return
*if (param[1] = "I")
	*set return "๐Ÿ„ธ"
	*return
*if (param[1] = "J")
	*set return "๐Ÿ„น"
	*return
*if (param[1] = "K")
	*set return "๐Ÿ„บ"
	*return
*if (param[1] = "L")
	*set return "๐Ÿ„ป"
	*return
*if (param[1] = "M")
	*set return "๐Ÿ„ผ"
	*return
*if (param[1] = "N")
	*set return "๐Ÿ„ฝ"
	*return
*if (param[1] = "O")
	*set return "๐Ÿ„พ"
	*return
*if (param[1] = "P")
	*set return "๐Ÿ„ฟ"
	*return
*if (param[1] = "Q")
	*set return "๐Ÿ…€"
	*return
*if (param[1] = "R")
	*set return "๐Ÿ…"
	*return
*if (param[1] = "S")
	*set return "๐Ÿ…‚"
	*return
*if (param[1] = "T")
	*set return "๐Ÿ…ƒ"
	*return
*if (param[1] = "U")
	*set return "๐Ÿ…„"
	*return
*if (param[1] = "V")
	*set return "๐Ÿ……"
	*return
*if (param[1] = "W")
	*set return "๐Ÿ…†"
	*return
*if (param[1] = "X")
	*set return "๐Ÿ…‡"
	*return
*if (param[1] = "Y")
	*set return "๐Ÿ…ˆ"
	*return
*if (param[1] = "Z")
	*set return "๐Ÿ…‰"
	*return
*if (param[1] = "a")
	*set return "๐Ÿ„ฐ"
	*return
*if (param[1] = "b")
	*set return "๐Ÿ„ฑ"
	*return
*if (param[1] = "c")
	*set return "๐Ÿ„ฒ"
	*return
*if (param[1] = "d")
	*set return "๐Ÿ„ณ"
	*return
*if (param[1] = "e")
	*set return "๐Ÿ„ด"
	*return
*if (param[1] = "f")
	*set return "๐Ÿ„ต"
	*return
*if (param[1] = "g")
	*set return "๐Ÿ„ถ"
	*return
*if (param[1] = "h")
	*set return "๐Ÿ„ท"
	*return
*if (param[1] = "i")
	*set return "๐Ÿ„ธ"
	*return
*if (param[1] = "j")
	*set return "๐Ÿ„น"
	*return
*if (param[1] = "k")
	*set return "๐Ÿ„บ"
	*return
*if (param[1] = "l")
	*set return "๐Ÿ„ป"
	*return
*if (param[1] = "m")
	*set return "๐Ÿ„ผ"
	*return
*if (param[1] = "n")
	*set return "๐Ÿ„ฝ"
	*return
*if (param[1] = "o")
	*set return "๐Ÿ„พ"
	*return
*if (param[1] = "p")
	*set return "๐Ÿ„ฟ"
	*return
*if (param[1] = "q")
	*set return "๐Ÿ…€"
	*return
*if (param[1] = "r")
	*set return "๐Ÿ…"
	*return
*if (param[1] = "s")
	*set return "๐Ÿ…‚"
	*return
*if (param[1] = "t")
	*set return "๐Ÿ…ƒ"
	*return
*if (param[1] = "u")
	*set return "๐Ÿ…„"
	*return
*if (param[1] = "v")
	*set return "๐Ÿ……"
	*return
*if (param[1] = "w")
	*set return "๐Ÿ…†"
	*return
*if (param[1] = "x")
	*set return "๐Ÿ…‡"
	*return
*if (param[1] = "y")
	*set return "๐Ÿ…ˆ"
	*return
*if (param[1] = "z")
	*set return "๐Ÿ…‰"
	*return
*else
	*set return param[1]
*return

*label fontify_glitched
*params
*if (param[1] = "A")
	*set return "Aฬทฬ…ฬพฬฬ†อฬ—อฬผฬขฬบ"
	*return
*if (param[1] = "B")
	*set return "Bฬดอ‚ฬŒฬ…ฬฬชฬซฬ—ฬŸอ™ฬ˜ฬฃ"
	*return
*if (param[1] = "C")
	*set return "Cฬทฬอ’อƒอ›ฬˆฬฝอฬˆฬ„ฬ‘ฬจฬปฬ˜ฬฒอ…ฬคฬณฬซอ–ฬน"
	*return
*if (param[1] = "D")
	*set return "Dฬธฬฬ‘อ˜อ‚ฬ„ฬ”ฬ’อ‹ฬฬบ"
	*return
*if (param[1] = "E")
	*set return "Eฬทฬ›อ อƒออ˜อ˜อŠฬ’อ…ฬฃ"
	*return
*if (param[1] = "F")
	*set return "Fฬถฬ”ฬŒฬฬฅอ•ฬซ"
	*return
*if (param[1] = "G")
	*set return "GฬทอŠอ ฬ‡อŠฬฌอ•ฬฅอ“ฬจ"
	*return
*if (param[1] = "H")
	*set return "Hฬถอ‚ฬŠฬ‘อ‹ฬพอ„ฬ‚อŒฬ‡ฬˆอˆฬซ"
	*return
*if (param[1] = "I")
	*set return "Iฬถอ ฬˆฬ’อ€ฬ…ฬ”อ’ฬ†อฬญอˆฬ"
	*return
*if (param[1] = "J")
	*set return "Jฬธอ€ฬฑฬบอˆอšฬ™ฬ—"
	*return
*if (param[1] = "K")
	*set return "Kฬถอ อ‘ออ›ฬ”อ€ฬพฬ‰ฬŠฬ”ฬช"
	*return
*if (param[1] = "L")
	*set return "LฬดอŠอ„ฬ”อƒฬฬ“อŠฬงฬณอ–ฬ™ฬ™ฬ˜"
	*return
*if (param[1] = "M")
	*set return "Mฬทอ‘ฬŒฬƒฬพฬค"
	*return
*if (param[1] = "N")
	*set return "Nฬธฬ€ฬŒฬพฬ“ฬ†ฬจฬฉฬบฬŸอ–"
	*return
*if (param[1] = "O")
	*set return "OฬตอฬอฬŠฬพฬฏฬณฬฅฬบฬ™อ“ฬ˜ฬผฬœฬฐ"
	*return
*if (param[1] = "P")
	*set return "Pฬดฬ…ฬอ‘ฬอ‘ฬƒฬ…ฬฝอฬชอ™ฬงฬฌฬฎ"
	*return
*if (param[1] = "Q")
	*set return "Qฬดออ—ฬ‹ฬšฬƒอ›ฬ”ฬŒอ’ฬ‹อฬงอ•ฬฅฬฅอ…ฬผฬข"
	*return
*if (param[1] = "R")
	*set return "Rฬถอ—อ‹อ—อ‘อŒอ˜อ‘อ›ฬ…ฬชฬœฬ™อ”อ™"
	*return
*if (param[1] = "S")
	*set return "Sฬตอ‚อ„ฬฅอ•"
	*return
*if (param[1] = "T")
	*set return "Tฬถฬ•ฬ€ฬ‡ฬ›ฬ„ฬ›ฬ‘ฬ”อ™อŽฬ™ฬ˜ฬณฬข"
	*return
*if (param[1] = "U")
	*set return "Uฬดอƒอ†อ†อ„ฬŠอ‹อ›ฬฑฬฅ"
	*return
*if (param[1] = "V")
	*set return "Vฬถอ˜อ›อ‘ฬฝอ„อ‘อŒอ‰ฬฌฬ–"
	*return
*if (param[1] = "W")
	*set return "Wฬถอ—ออ ฬšอŒฬƒอ˜ฬ”ฬกฬฐ"
	*return
*if (param[1] = "X")
	*set return "Xฬดอ‘ฬ•อ€ฬฝฬฟฬ…ฬฅฬŸฬกฬฬซฬจฬŸอˆฬชฬ˜"
	*return
*if (param[1] = "Y")
	*set return "Yฬดอฬคฬฅฬ™ฬนฬก"
	*return
*if (param[1] = "Z")
	*set return "Zฬธอ„อ„ฬฬŽฬ€ฬŸฬฏ"
	*return
*if (param[1] = "a")
	*set return "aฬธฬ‹อฬอ’ฬฬƒออƒฬอ‚ฬฃ"
	*return
*if (param[1] = "b")
	*set return "bฬตฬ›อ‘ฬบอ“อœ"
	*return
*if (param[1] = "c")
	*set return "cฬธออ—อฬ‡ฬ†ออ‚ฬ‡ฬŠอ˜ฬงอšฬ—ฬฏฬฑฬฎฬปฬœฬฑฬก"
	*return
*if (param[1] = "d")
	*set return "dฬทฬฬฬ‚ฬ˜อ–อ‡ฬ–อŽอ…"
	*return
*if (param[1] = "e")
	*set return "eฬตฬอ„ฬฅอœอ™ฬจอ•ฬฏฬฏฬญฬน"
	*return
*if (param[1] = "f")
	*set return "fฬตฬ“ฬ‚ฬฌฬป"
	*return
*if (param[1] = "g")
	*set return "gฬธฬพฬ€ฬ…อ„ฬƒอ‘อ›ฬ…ฬอ‰"
	*return
*if (param[1] = "h")
	*set return "hฬถฬ’ฬ“ฬ…ฬ‡ฬ”ฬฟอ€ฬŠฬฆฬ อŽฬฎอ…ฬ˜อฬฏ"
	*return
*if (param[1] = "i")
	*set return "iฬธฬ”อ†ฬ‘ฬ›อ—ฬŠฬšฬ‰ฬ‡อ…ฬงฬ ฬนฬกฬซฬณฬ ฬ˜ฬฉ"
	*return
*if (param[1] = "j")
	*set return "jฬถอ‘ฬพอ‹ฬ‡อƒฬฝอ—ฬฝฬŒฬ–ฬฃฬฑฬคฬง"
	*return
*if (param[1] = "k")
	*set return "kฬถฬพฬฬฬ‰ฬฟฬ†ฬˆฬอ›อƒฬผฬฎอšอŽฬผ"
	*return
*if (param[1] = "l")
	*set return "lฬถฬ‰ฬ„อ€ฬ›ฬ…ฬงฬฬ™ฬฆฬง"
	*return
*if (param[1] = "m")
	*set return "mฬทฬ’อ’อ‹ฬ„อ–ฬฒฬช"
	*return
*if (param[1] = "n")
	*set return "nฬถฬ…ฬ„ฬŽฬŒฬ…อ‚อ…ฬฉอ‡ฬอ…"
	*return
*if (param[1] = "o")
	*set return "oฬทอ‘ฬ„อฬฬ„ฬŒอ‚ฬŒฬฟอ’อ‡อ•ฬฅฬณ"
	*return
*if (param[1] = "p")
	*set return "pฬดฬ†ฬ‹อ†ฬฬซฬฅฬญฬฎฬฆอ‡ฬชฬนฬฐ"
	*return
*if (param[1] = "q")
	*set return "qฬดฬŠอ‘อ’อ‚ฬอ‘อ€ฬˆฬ’ฬจอœฬ–"
	*return
*if (param[1] = "r")
	*set return "rฬธอฬˆฬฝฬ›อŠอ—ฬˆฬ”อƒฬ›ฬฉ"
	*return
*if (param[1] = "s")
	*set return "sฬถฬˆฬ’ฬ•ฬ“ฬ’อˆฬกฬชฬฐฬกฬฅฬณอ‡ฬปฬซ"
	*return
*if (param[1] = "t")
	*set return "tฬทออ‚อ„ฬŽอ‹ฬฬอšฬงฬžฬฌอ™ฬฐฬ˜ฬ™"
	*return
*if (param[1] = "u")
	*set return "uฬตอ›อ”"
	*return
*if (param[1] = "v")
	*set return "vฬทอ„อƒฬฝฬ•ฬšฬŠฬฬฏฬฉฬ "
	*return
*if (param[1] = "w")
	*set return "wฬตฬ›ฬšอƒฬˆฬŽฬž"
	*return
*if (param[1] = "x")
	*set return "xฬดฬฬฬคฬฐฬกฬซอ…ฬปฬจ"
	*return
*if (param[1] = "y")
	*set return "yฬทฬ€อƒอ€อ›ฬ‘ฬฟออ•อœฬซออœฬœฬฏฬจอ”ฬณ"
	*return
*if (param[1] = "z")
	*set return "zฬทอ—อ„ฬ„ฬ–"
	*return
*else
	*set return param[1]
*return

*label fontify_circled
*params
*if (param[1] = "A")
	*set return "โ’ถ"
	*return
*if (param[1] = "B")
	*set return "โ’ท"
	*return
*if (param[1] = "C")
	*set return "โ’ธ"
	*return
*if (param[1] = "D")
	*set return "โ’น"
	*return
*if (param[1] = "E")
	*set return "โ’บ"
	*return
*if (param[1] = "F")
	*set return "โ’ป"
	*return
*if (param[1] = "G")
	*set return "โ’ผ"
	*return
*if (param[1] = "H")
	*set return "โ’ฝ"
	*return
*if (param[1] = "I")
	*set return "โ’พ"
	*return
*if (param[1] = "J")
	*set return "โ’ฟ"
	*return
*if (param[1] = "K")
	*set return "โ“€"
	*return
*if (param[1] = "L")
	*set return "โ“"
	*return
*if (param[1] = "M")
	*set return "โ“‚"
	*return
*if (param[1] = "N")
	*set return "โ“ƒ"
	*return
*if (param[1] = "O")
	*set return "โ“„"
	*return
*if (param[1] = "P")
	*set return "โ“…"
	*return
*if (param[1] = "Q")
	*set return "โ“†"
	*return
*if (param[1] = "R")
	*set return "โ“‡"
	*return
*if (param[1] = "S")
	*set return "โ“ˆ"
	*return
*if (param[1] = "T")
	*set return "โ“‰"
	*return
*if (param[1] = "U")
	*set return "โ“Š"
	*return
*if (param[1] = "V")
	*set return "โ“‹"
	*return
*if (param[1] = "W")
	*set return "โ“Œ"
	*return
*if (param[1] = "X")
	*set return "โ“"
	*return
*if (param[1] = "Y")
	*set return "โ“Ž"
	*return
*if (param[1] = "Z")
	*set return "โ“"
	*return
*if (param[1] = "a")
	*set return "โ“"
	*return
*if (param[1] = "b")
	*set return "โ“‘"
	*return
*if (param[1] = "c")
	*set return "โ“’"
	*return
*if (param[1] = "d")
	*set return "โ““"
	*return
*if (param[1] = "e")
	*set return "โ“”"
	*return
*if (param[1] = "f")
	*set return "โ“•"
	*return
*if (param[1] = "g")
	*set return "โ“–"
	*return
*if (param[1] = "h")
	*set return "โ“—"
	*return
*if (param[1] = "i")
	*set return "โ“˜"
	*return
*if (param[1] = "j")
	*set return "โ“™"
	*return
*if (param[1] = "k")
	*set return "โ“š"
	*return
*if (param[1] = "l")
	*set return "โ“›"
	*return
*if (param[1] = "m")
	*set return "โ“œ"
	*return
*if (param[1] = "n")
	*set return "โ“"
	*return
*if (param[1] = "o")
	*set return "โ“ž"
	*return
*if (param[1] = "p")
	*set return "โ“Ÿ"
	*return
*if (param[1] = "q")
	*set return "โ“ "
	*return
*if (param[1] = "r")
	*set return "โ“ก"
	*return
*if (param[1] = "s")
	*set return "โ“ข"
	*return
*if (param[1] = "t")
	*set return "โ“ฃ"
	*return
*if (param[1] = "u")
	*set return "โ“ค"
	*return
*if (param[1] = "v")
	*set return "โ“ฅ"
	*return
*if (param[1] = "w")
	*set return "โ“ฆ"
	*return
*if (param[1] = "x")
	*set return "โ“ง"
	*return
*if (param[1] = "y")
	*set return "โ“จ"
	*return
*if (param[1] = "z")
	*set return "โ“ฉ"
	*return
*else
	*set return param[1]
*return

*label fontify_pseudoKanji
*params
*if (param[1] = "A")
	*set return "ๅ‚"
	*return
*if (param[1] = "B")
	*set return "ไนƒ"
	*return
*if (param[1] = "C")
	*set return "ๅŒš"
	*return
*if (param[1] = "D")
	*set return "แ—ช"
	*return
*if (param[1] = "E")
	*set return "ไน‡"
	*return
*if (param[1] = "F")
	*set return "ๅƒ"
	*return
*if (param[1] = "G")
	*set return "แŽถ"
	*return
*if (param[1] = "H")
	*set return "ๅ„"
	*return
*if (param[1] = "I")
	*set return "ไธจ"
	*return
*if (param[1] = "J")
	*set return "๏พŒ"
	*return
*if (param[1] = "K")
	*set return "าœ"
	*return
*if (param[1] = "L")
	*set return "ใ„ฅ"
	*return
*if (param[1] = "M")
	*set return "็ˆช"
	*return
*if (param[1] = "N")
	*set return "ๅ‡ "
	*return
*if (param[1] = "O")
	*set return "ใ„–"
	*return
*if (param[1] = "P")
	*set return "ๅฉ"
	*return
*if (param[1] = "Q")
	*set return "ษŠ"
	*return
*if (param[1] = "R")
	*set return "ๅฐบ"
	*return
*if (param[1] = "S")
	*set return "ไธ‚"
	*return
*if (param[1] = "T")
	*set return "ใ„’"
	*return
*if (param[1] = "U")
	*set return "ใ„ฉ"
	*return
*if (param[1] = "V")
	*set return "แฏ"
	*return
*if (param[1] = "W")
	*set return "ๅฑฑ"
	*return
*if (param[1] = "X")
	*set return "ไน‚"
	*return
*if (param[1] = "Y")
	*set return "ใ„š"
	*return
*if (param[1] = "Z")
	*set return "ไน™"
	*return
*if (param[1] = "a")
	*set return "ๅ‚"
	*return
*if (param[1] = "b")
	*set return "ไนƒ"
	*return
*if (param[1] = "c")
	*set return "ๅŒš"
	*return
*if (param[1] = "d")
	*set return "แ—ช"
	*return
*if (param[1] = "e")
	*set return "ไน‡"
	*return
*if (param[1] = "f")
	*set return "ๅƒ"
	*return
*if (param[1] = "g")
	*set return "แŽถ"
	*return
*if (param[1] = "h")
	*set return "ๅ„"
	*return
*if (param[1] = "i")
	*set return "ไธจ"
	*return
*if (param[1] = "j")
	*set return "๏พŒ"
	*return
*if (param[1] = "k")
	*set return "าœ"
	*return
*if (param[1] = "l")
	*set return "ใ„ฅ"
	*return
*if (param[1] = "m")
	*set return "็ˆช"
	*return
*if (param[1] = "n")
	*set return "ๅ‡ "
	*return
*if (param[1] = "o")
	*set return "ใ„–"
	*return
*if (param[1] = "p")
	*set return "ๅฉ"
	*return
*if (param[1] = "q")
	*set return "ษŠ"
	*return
*if (param[1] = "r")
	*set return "ๅฐบ"
	*return
*if (param[1] = "s")
	*set return "ไธ‚"
	*return
*if (param[1] = "t")
	*set return "ใ„’"
	*return
*if (param[1] = "u")
	*set return "ใ„ฉ"
	*return
*if (param[1] = "v")
	*set return "แฏ"
	*return
*if (param[1] = "w")
	*set return "ๅฑฑ"
	*return
*if (param[1] = "x")
	*set return "ไน‚"
	*return
*if (param[1] = "y")
	*set return "ใ„š"
	*return
*if (param[1] = "z")
	*set return "ไน™"
	*return
*else
	*set return param[1]
*return

@CJW @choicehacker

I had this ready for my other lib :point_up:

Do you think it should be included in cslib_?

Definitely worth a PR! But was it generated? If so, please include the script as well.

I think it should be itโ€™s only file though, or perhaps even split into multiple files (with nested gosub_scenes), to reduce load times.

Worth thinking about the accessibility concerns as well.

Nice proof of concept. To make it more compact, you could have a small alpha-to-number function (a=1, b=2) and then use that index to find letters in the target alphabet (stored as โ€ABCDโ€ฆโ€) with the # operator.

Yes, it was. :grin: The original script is in JS. Iโ€™ll clean up the script and send over Discord for review.

I get what you mean, but itโ€™s not possible, unfortunately. You see, each of these special letters is actually a combination of Unicode characters. So you canโ€™t pick them by a single index. Try this in CSIDE:

${"๐–†"#1}

The result will be ๏ฟฝ.

Oh, interesting. If you know that the actual encoding is UTF-16, you could probably concatenate two bytes by hand:

alphabet#(2 * i) alphabet#(2*i + 1)

If that doesnโ€™t work, you could also do

*temp gothic_a = โ€œAโ€

and index using the actual letter from the original string, similar to https://github.com/ChoicescriptIDE/cslib/blob/main/scenes/cslib_string.txt

This way you donโ€™t have to use the complex if-then-else block.

They are not consistent. Gothic uses two for every letter, except ๐”ช, which for some reason is a single character. Glitched uses between 4 and 6 characters per letter. Peuso-Kanji uses one single character per letter. At which point it feels more trouble than itโ€™s worth to shave off a couple of lines of code.

The if ladder also guarantees an else or default statement. So if the character of the original string is not a letter it just returns itself.

I believe in warning the author and letting them make this judgment. I think the best use is to have an option to turn it off and fall back on normal alphabet characters.

@{useFonts specialText | normalText}

I feel that the author should be warned and given the opportunity to make their own decision. I believe the ideal usage would be to have the choice to turn it off and revert to standard alphabet letters.