pub fn render_block(text: &str) -> String {
let text = text.to_uppercase();
let mut lines = vec![String::new(); 6];
for ch in text.chars() {
let glyph = block_char(ch);
for (i, line) in glyph.iter().enumerate() {
lines[i].push_str(line);
}
}
lines.join("\n")
}
pub fn block_char(ch: char) -> [&'static str; 6] {
match ch {
'A' => [
" █████╗ ",
"██╔══██╗",
"███████║",
"██╔══██║",
"██║ ██║",
"╚═╝ ╚═╝",
],
'B' => [
"██████╗ ",
"██╔══██╗",
"██████╔╝",
"██╔══██╗",
"██████╔╝",
"╚═════╝ ",
],
'C' => [
" ██████╗",
"██╔════╝",
"██║ ",
"██║ ",
"╚██████╗",
" ╚═════╝",
],
'D' => [
"██████╗ ",
"██╔══██╗",
"██║ ██║",
"██║ ██║",
"██████╔╝",
"╚═════╝ ",
],
'E' => [
"███████╗",
"██╔════╝",
"█████╗ ",
"██╔══╝ ",
"███████╗",
"╚══════╝",
],
'F' => [
"███████╗",
"██╔════╝",
"█████╗ ",
"██╔══╝ ",
"██║ ",
"╚═╝ ",
],
'G' => [
" ██████╗ ",
"██╔════╝ ",
"██║ ███╗",
"██║ ██║",
"╚██████╔╝",
" ╚═════╝ ",
],
'H' => [
"██╗ ██╗",
"██║ ██║",
"███████║",
"██╔══██║",
"██║ ██║",
"╚═╝ ╚═╝",
],
'I' => ["██╗", "██║", "██║", "██║", "██║", "╚═╝"],
'J' => [
" ██╗",
" ██║",
" ██║",
"██ ██║",
"╚█████╔╝",
" ╚════╝ ",
],
'K' => [
"██╗ ██╗",
"██║ ██╔╝",
"█████╔╝ ",
"██╔═██╗ ",
"██║ ██╗",
"╚═╝ ╚═╝",
],
'L' => [
"██╗ ",
"██║ ",
"██║ ",
"██║ ",
"███████╗",
"╚══════╝",
],
'M' => [
"███╗ ███╗",
"████╗ ████║",
"██╔████╔██║",
"██║╚██╔╝██║",
"██║ ╚═╝ ██║",
"╚═╝ ╚═╝",
],
'N' => [
"███╗ ██╗",
"████╗ ██║",
"██╔██╗ ██║",
"██║╚██╗██║",
"██║ ╚████║",
"╚═╝ ╚═══╝",
],
'O' => [
" ██████╗ ",
"██╔═══██╗",
"██║ ██║",
"██║ ██║",
"╚██████╔╝",
" ╚═════╝ ",
],
'P' => [
"██████╗ ",
"██╔══██╗",
"██████╔╝",
"██╔═══╝ ",
"██║ ",
"╚═╝ ",
],
'Q' => [
" ██████╗ ",
"██╔═══██╗",
"██║ ██║",
"██║▄▄ ██║",
"╚██████╔╝",
" ╚══▀▀═╝ ",
],
'R' => [
"██████╗ ",
"██╔══██╗",
"██████╔╝",
"██╔══██╗",
"██║ ██║",
"╚═╝ ╚═╝",
],
'S' => [
"███████╗",
"██╔════╝",
"███████╗",
"╚════██║",
"███████║",
"╚══════╝",
],
'T' => [
"████████╗",
"╚══██╔══╝",
" ██║ ",
" ██║ ",
" ██║ ",
" ╚═╝ ",
],
'U' => [
"██╗ ██╗",
"██║ ██║",
"██║ ██║",
"██║ ██║",
"╚██████╔╝",
" ╚═════╝ ",
],
'V' => [
"██╗ ██╗",
"██║ ██║",
"██║ ██║",
"╚██╗ ██╔╝",
" ╚████╔╝ ",
" ╚═══╝ ",
],
'W' => [
"██╗ ██╗",
"██║ ██║",
"██║ █╗ ██║",
"██║███╗██║",
"╚███╔███╔╝",
" ╚══╝╚══╝ ",
],
'X' => [
"██╗ ██╗",
"╚██╗██╔╝",
" ╚███╔╝ ",
" ██╔██╗ ",
"██╔╝ ██╗",
"╚═╝ ╚═╝",
],
'Y' => [
"██╗ ██╗",
"╚██╗ ██╔╝",
" ╚████╔╝ ",
" ╚██╔╝ ",
" ██║ ",
" ╚═╝ ",
],
'Z' => [
"███████╗",
"╚══███╔╝",
" ███╔╝ ",
" ███╔╝ ",
"███████╗",
"╚══════╝",
],
'0' => [
" ██████╗ ",
"██╔═████╗",
"██║██╔██║",
"████╔╝██║",
"╚██████╔╝",
" ╚═════╝ ",
],
'1' => [" ██╗", "███║", "╚██║", " ██║", " ██║", " ╚═╝"],
'2' => [
"██████╗ ",
"╚════██╗",
" █████╔╝",
"██╔═══╝ ",
"███████╗",
"╚══════╝",
],
'3' => [
"██████╗ ",
"╚════██╗",
" █████╔╝",
" ╚═══██╗",
"██████╔╝",
"╚═════╝ ",
],
'4' => [
"██╗ ██╗",
"██║ ██║",
"███████║",
"╚════██║",
" ██║",
" ╚═╝",
],
'5' => [
"███████╗",
"██╔════╝",
"███████╗",
"╚════██║",
"███████║",
"╚══════╝",
],
'6' => [
" ██████╗",
"██╔════╝",
"███████╗",
"██╔══██║",
"╚█████╔╝",
" ╚════╝ ",
],
'7' => [
"███████╗",
"╚════██║",
" ██╔╝",
" ██╔╝ ",
" ██║ ",
" ╚═╝ ",
],
'8' => [
" █████╗ ",
"██╔══██╗",
"╚█████╔╝",
"██╔══██╗",
"╚█████╔╝",
" ╚════╝ ",
],
'9' => [
" █████╗ ",
"██╔══██╗",
"╚██████║",
" ╚═══██║",
" █████╔╝",
" ╚════╝ ",
],
' ' => [" ", " ", " ", " ", " ", " "],
'!' => ["██╗", "██║", "██║", "╚═╝", "██╗", "╚═╝"],
'?' => [
"██████╗ ",
"╚════██╗",
" ▄███╔╝",
" ▀▀══╝ ",
" ██╗ ",
" ╚═╝ ",
],
'.' => [" ", " ", " ", " ", "██╗", "╚═╝"],
',' => [" ", " ", " ", " ", "▄█╗", "╚═╝"],
':' => [" ", "██╗", "╚═╝", "██╗", "╚═╝", " "],
'-' => [" ", " ", "█████╗", "╚════╝", " ", " "],
'_' => [
" ",
" ",
" ",
" ",
"███████╗",
"╚══════╝",
],
'+' => [
" ",
" ██╗ ",
"██████╗",
"╚═██╔═╝",
" ╚═╝ ",
" ",
],
'=' => [" ", "█████╗", "╚════╝", "█████╗", "╚════╝", " "],
'/' => [
" ██╗",
" ██╔╝",
" ██╔╝ ",
" ██╔╝ ",
"██╔╝ ",
"╚═╝ ",
],
'#' => [
" ██╗ ██╗ ",
"████████╗",
"╚██╔═██╔╝",
"████████╗",
"╚██╔═██╔╝",
" ╚═╝ ╚═╝ ",
],
'@' => [
" ██████╗ ",
"██╔═══██╗",
"██║██╗██║",
"██║██║██║",
"╚█╔═══╝╔╝",
" ╚════╝ ",
],
_ => ["▄▄▄", "███", "███", "███", "███", "▀▀▀"],
}
}