Current section
Files
Jump to
Current section
Files
lib/elixir_opentui/ascii_font/pixel.ex
defmodule ElixirOpentui.ASCIIFont.Pixel do
@moduledoc "Font data for the :pixel ASCII font (7 lines, 1 color, bitmap grid)."
def font_data do
%{
lines: 7,
letterspace_size: 2,
colors: 1,
chars: %{
# --- Letters (from original claude_animation.exs + new designs) ---
"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" => [
"#######",
".....##",
"....##.",
"...#...",
"..##...",
".##....",
"#######"
],
# --- Digits ---
"0" => [
".#####.",
"##..###",
"##.#.##",
"##.#.##",
"##.#.##",
"###..##",
".#####."
],
"1" => [
"...##..",
"..###..",
".#.##..",
"...##..",
"...##..",
"...##..",
".######"
],
"2" => [
".#####.",
"##...##",
".....##",
"...###.",
"..##...",
".##....",
"#######"
],
"3" => [
".#####.",
"##...##",
".....##",
"..####.",
".....##",
"##...##",
".#####."
],
"4" => [
"....##.",
"...###.",
"..#.##.",
".#..##.",
"#######",
"....##.",
"....##."
],
"5" => [
"#######",
"##.....",
"######.",
".....##",
".....##",
"##...##",
".#####."
],
"6" => [
".#####.",
"##.....",
"##.....",
"######.",
"##...##",
"##...##",
".#####."
],
"7" => [
"#######",
".....##",
"....##.",
"...##..",
"..##...",
"..##...",
"..##..."
],
"8" => [
".#####.",
"##...##",
"##...##",
".#####.",
"##...##",
"##...##",
".#####."
],
"9" => [
".#####.",
"##...##",
"##...##",
".######",
".....##",
".....##",
".#####."
],
# --- Punctuation ---
" " => [
"....",
"....",
"....",
"....",
"....",
"....",
"...."
],
"!" => [
"..#..",
"..#..",
"..#..",
"..#..",
"..#..",
".....",
"..#.."
],
"?" => [
".####.",
"##..##",
"....##",
"...##.",
"..##..",
"......",
"..##.."
],
"." => [
"...",
"...",
"...",
"...",
"...",
"...",
".#."
],
"," => [
"...",
"...",
"...",
"...",
"...",
".#.",
"#.."
],
"-" => [
".....",
".....",
".....",
"#####",
".....",
".....",
"....."
],
"+" => [
".....",
"..#..",
"..#..",
"#####",
"..#..",
"..#..",
"....."
],
"=" => [
".....",
".....",
"#####",
".....",
"#####",
".....",
"....."
],
"_" => [
".......",
".......",
".......",
".......",
".......",
".......",
"#######"
],
":" => [
"...",
".#.",
"...",
"...",
"...",
".#.",
"..."
],
";" => [
"...",
".#.",
"...",
"...",
"...",
".#.",
"#.."
],
"'" => [
".#.",
".#.",
"...",
"...",
"...",
"...",
"..."
],
"\"" => [
"#.#",
"#.#",
"...",
"...",
"...",
"...",
"..."
],
"/" => [
".....##",
"....##.",
"...##..",
"..##...",
".##....",
"##.....",
"#......"
],
"(" => [
"..#.",
".#..",
"##..",
"##..",
"##..",
".#..",
"..#."
],
")" => [
".#..",
"..#.",
"..##",
"..##",
"..##",
"..#.",
".#.."
],
"@" => [
".#####.",
"##...##",
"##.####",
"##.#.##",
"##.###.",
"##.....",
".#####."
],
"#" => [
".##.##.",
".##.##.",
"#######",
".##.##.",
"#######",
".##.##.",
".##.##."
],
"$" => [
"...#...",
".#####.",
"##.#...",
".#####.",
"...#.##",
".#####.",
"...#..."
],
"%" => [
"##...##",
"##..##.",
"...##..",
"..##...",
".##....",
"##..##.",
"#...##."
],
"&" => [
"..###..",
".##.##.",
"..###..",
".####..",
"##..#.#",
"##...#.",
".###.##"
],
"*" => [
".....",
".#.#.",
"..#..",
"#####",
"..#..",
".#.#.",
"....."
],
"^" => [
"..#..",
".#.#.",
"#...#",
".....",
".....",
".....",
"....."
],
"~" => [
".......",
".......",
".##..#.",
"#..##..",
".......",
".......",
"......."
],
"<" => [
"...#.",
"..#..",
".#...",
"#....",
".#...",
"..#..",
"...#."
],
">" => [
".#...",
"..#..",
"...#.",
"....#",
"...#.",
"..#..",
".#..."
],
"[" => [
"###.",
"#...",
"#...",
"#...",
"#...",
"#...",
"###."
],
"]" => [
".###",
"...#",
"...#",
"...#",
"...#",
"...#",
".###"
],
"{" => [
"..##.",
".#...",
".#...",
"##...",
".#...",
".#...",
"..##."
],
"}" => [
".##..",
"...#.",
"...#.",
"...##",
"...#.",
"...#.",
".##.."
]
}
}
end
end