-- SPDX-FileCopyrightText: © 2026 Vladimir Zorin -- SPDX-License-Identifier: LicenseRef-OWL-1.0-or-later -- Licensed under OWL v1.0+. See LICENSE. --[==[ Default 5x7 monochrome pixel font for `term.gfx.font`. Each glyph is 7 rows of 5 columns; `#` is a lit pixel, `.` is empty. The set covers digits, uppercase A–Z, space, and common punctuation — enough for score/HUD text out of the box. Lowercase letters fall back to uppercase in the font layer. Glyphs are baked into white alpha masks and recoloured at draw time via the blit tint, so the shapes here carry no colour. ]==] return { cell_w = 5, cell_h = 7, glyphs = { [" "] = { ".....", ".....", ".....", ".....", ".....", ".....", "....." }, ["0"] = { ".###.", "#...#", "#..##", "#.#.#", "##..#", "#...#", ".###." }, ["1"] = { "..#..", ".##..", "..#..", "..#..", "..#..", "..#..", ".###." }, ["2"] = { ".###.", "#...#", "....#", "..##.", ".#...", "#....", "#####" }, ["3"] = { "#####", "....#", "...#.", "..##.", "....#", "#...#", ".###." }, ["4"] = { "...#.", "..##.", ".#.#.", "#..#.", "#####", "...#.", "...#." }, ["5"] = { "#####", "#....", "####.", "....#", "....#", "#...#", ".###." }, ["6"] = { ".###.", "#....", "#....", "####.", "#...#", "#...#", ".###." }, ["7"] = { "#####", "....#", "...#.", "..#..", ".#...", ".#...", ".#..." }, ["8"] = { ".###.", "#...#", "#...#", ".###.", "#...#", "#...#", ".###." }, ["9"] = { ".###.", "#...#", "#...#", ".####", "....#", "....#", ".###." }, ["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"] = { "#####", "....#", "...#.", "..#..", ".#...", "#....", "#####" }, ["."] = { ".....", ".....", ".....", ".....", ".....", ".##..", ".##.." }, [","] = { ".....", ".....", ".....", ".....", ".##..", ".##..", ".#..." }, [":"] = { ".....", ".##..", ".##..", ".....", ".##..", ".##..", "....." }, [";"] = { ".....", ".##..", ".##..", ".....", ".##..", ".#...", "#...." }, ["!"] = { "..#..", "..#..", "..#..", "..#..", "..#..", ".....", "..#.." }, ["?"] = { ".###.", "#...#", "....#", "...#.", "..#..", ".....", "..#.." }, ["-"] = { ".....", ".....", ".....", "#####", ".....", ".....", "....." }, ["+"] = { ".....", "..#..", "..#..", "#####", "..#..", "..#..", "....." }, ["="] = { ".....", ".....", "#####", ".....", "#####", ".....", "....." }, ["_"] = { ".....", ".....", ".....", ".....", ".....", ".....", "#####" }, ["/"] = { "....#", "....#", "...#.", "..#..", ".#...", "#....", "#...." }, ["\\"] = { "#....", "#....", ".#...", "..#..", "...#.", "....#", "....#" }, ["*"] = { ".....", "#.#.#", ".###.", "#####", ".###.", "#.#.#", "....." }, ["#"] = { ".#.#.", ".#.#.", "#####", ".#.#.", "#####", ".#.#.", ".#.#." }, ["%"] = { "##..#", "##..#", "...#.", "..#..", ".#...", "#..##", "#..##" }, ["&"] = { ".##..", "#..#.", "#.#..", ".#...", "#.#.#", "#..#.", ".##.#" }, ["'"] = { ".##..", ".##..", ".#...", ".....", ".....", ".....", "....." }, ['"'] = { ".#.#.", ".#.#.", ".#.#.", ".....", ".....", ".....", "....." }, ["("] = { "..#..", ".#...", ".#...", ".#...", ".#...", ".#...", "..#.." }, [")"] = { "..#..", "...#.", "...#.", "...#.", "...#.", "...#.", "..#.." }, ["["] = { ".###.", ".#...", ".#...", ".#...", ".#...", ".#...", ".###." }, ["]"] = { ".###.", "...#.", "...#.", "...#.", "...#.", "...#.", ".###." }, ["<"] = { "...#.", "..#..", ".#...", "#....", ".#...", "..#..", "...#." }, [">"] = { ".#...", "..#..", "...#.", "....#", "...#.", "..#..", ".#..." }, }, }