diff --git a/src/arch/x86/LimineFramebuffer.cpp b/src/arch/x86/LimineFramebuffer.cpp index a0008448d..2d64a5fe6 100644 --- a/src/arch/x86/LimineFramebuffer.cpp +++ b/src/arch/x86/LimineFramebuffer.cpp @@ -15,5 +15,5 @@ int LimineFramebuffer::get(size_t x, size_t y) { return *coord_to_ptr(x, y); } uint32_t *LimineFramebuffer::coord_to_ptr(size_t x, size_t y) { - return &((uint32_t *) _backing->address)[x * (_backing->pitch / 4) + y]; + return &((uint32_t *) _backing->address)[y * (_backing->pitch / 4) + x]; } diff --git a/src/arch/x86/kmain.cpp b/src/arch/x86/kmain.cpp index fe54babab..efe288ae3 100644 --- a/src/arch/x86/kmain.cpp +++ b/src/arch/x86/kmain.cpp @@ -30,6 +30,7 @@ #include "task.hpp" #include "timer.hpp" +#include #include void templates_tester() { @@ -46,6 +47,8 @@ void vfs_tester() { void ktask_main() { GlobalTtyManager.add_tty(new SerialTty()); + for (int i = 0; i < framebuffer_count; i++) + GlobalTtyManager.add_tty(new FbTty(new LimineFramebuffer(&framebuffers[i]))); (new Task(Task::TaskMode::TASKMODE_KERN, templates_tester, "templates_tester"))->start(); (new Task(Task::TaskMode::TASKMODE_KERN, templates_tester, "templates_tester2"))->start(); diff --git a/src/kernel/CMakeLists.txt b/src/kernel/CMakeLists.txt index d3fc7097a..e0d58ae4b 100644 --- a/src/kernel/CMakeLists.txt +++ b/src/kernel/CMakeLists.txt @@ -15,6 +15,7 @@ target_sources(kernel.elf PRIVATE string.c TestTemplates.cpp Framebuffer.cpp + FbTty.cpp ) add_subdirectory(templates) diff --git a/src/kernel/FbTty.cpp b/src/kernel/FbTty.cpp new file mode 100644 index 000000000..e82598c1e --- /dev/null +++ b/src/kernel/FbTty.cpp @@ -0,0 +1,44 @@ +// +// Created by Stepan Usatiuk on 26.04.2024. +// + +#include "FbTty.hpp" +#include "Fonts.hpp" + +#include + +FbTty::FbTty(Framebuffer *fb) : _fb(fb) { + _max_col = _fb->dimensions().x / 8; + _max_row = _fb->dimensions().y / 16; +} +void FbTty::putchar(char c) { + if (c == '\n') { + next_row(); + } + + for (int x = 0; x < 8; x++) { + for (int y = 0; y < 16; y++) { + uint32_t color = (fonts_Terminess_Powerline[c][y] & (1 << (8 - x))) ? 0xFFFFFF : 0; + _fb->set(_cur_col * 8 + x, _cur_row * 16 + y, color); + } + } + next_col(); +} +void FbTty::putstr(const char *str) { + while (*str != 0) { + putchar(*str); + str++; + } +} +char FbTty::readchar() { +} +void FbTty::next_col() { + _cur_col++; + _cur_col = _cur_col % _max_col; + if (_cur_col == 0) next_row(); +} +void FbTty::next_row() { + _cur_col = 0; + _cur_row++; + _cur_row = _cur_row % _max_row; +} diff --git a/src/kernel/FbTty.hpp b/src/kernel/FbTty.hpp new file mode 100644 index 000000000..c65c63bbc --- /dev/null +++ b/src/kernel/FbTty.hpp @@ -0,0 +1,34 @@ +// +// Created by Stepan Usatiuk on 26.04.2024. +// + +#ifndef FBTTY_HPP +#define FBTTY_HPP +#include + + +class Framebuffer; +class FbTty : public Tty { +public: + FbTty(Framebuffer *fb); + virtual ~FbTty() = default; + + void putchar(char c) override; + void putstr(const char *str) override; + char readchar() override; + +private: + Framebuffer *_fb; + + int _cur_col = 0; + int _cur_row = 0; + + int _max_row = 0; + int _max_col = 0; + + void next_col(); + void next_row(); +}; + + +#endif //FBTTY_HPP diff --git a/src/kernel/Fonts.hpp b/src/kernel/Fonts.hpp new file mode 100644 index 000000000..078288bf6 --- /dev/null +++ b/src/kernel/Fonts.hpp @@ -0,0 +1,4878 @@ +// +// Created by Stepan Usatiuk on 26.04.2024. +// + +#ifndef FONTS_HPP +#define FONTS_HPP + + +// Terminess Powerline +static constexpr std::array, 256> fonts_Terminess_Powerline{ + std::array{ + // ++---000-0x00----- + 0b00000000, + 0b00000000, + 0b00110000, + 0b01001000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---001-0x01----- + 0b00000000, + 0b00000000, + 0b01001000, + 0b01001000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---002-0x02----- + 0b00000000, + 0b00000000, + 0b00101000, + 0b00010000, + 0b00101000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---003-0x03----- + 0b00000000, + 0b00000000, + 0b00110010, + 0b01001100, + 0b00000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---004-0x04----- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00001000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---005-0x05----- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---006-0x06----- + 0b00000000, + 0b00000000, + 0b00011000, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---007-0x07----- + 0b00000000, + 0b00000000, + 0b00110010, + 0b01001100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---008-0x08----- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---009-0x09----- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b01111100, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---010-0x0a----- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000010, + 0b00111100, + 0b01000110, + 0b01001010, + 0b01010010, + 0b01100010, + 0b01000010, + 0b10111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---011-0x0b----- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00001000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---012-0x0c----- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---013-0x0d----- + 0b00000000, + 0b00000000, + 0b00011000, + 0b00100100, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---014-0x0e----- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00100100, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---015-0x0f----- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00111100, + 0b00000000, + }, + std::array{ + // ++---016-0x10----- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b01000000, + 0b01000000, + 0b01000000, + 0b00000000, + }, + std::array{ + // ++---017-0x11----- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00100100, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00111100, + 0b00000000, + }, + std::array{ + // ++---018-0x12----- + 0b00111100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---019-0x13----- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---020-0x14----- + 0b00100100, + 0b00011000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---021-0x15----- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00011000, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---022-0x16----- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000010, + 0b00000100, + 0b00000011, + 0b00000000, + }, + std::array{ + // ++---023-0x17----- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000100, + 0b00000011, + 0b00000000, + }, + std::array{ + // ++---024-0x18----- + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---025-0x19----- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---026-0x1a----- + 0b00100100, + 0b00011000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---027-0x1b----- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00011000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---028-0x1c----- + 0b00100100, + 0b00011000, + 0b00000000, + 0b01111000, + 0b01000100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000100, + 0b01111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---029-0x1d----- + 0b00100100, + 0b00011000, + 0b00000010, + 0b00000010, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---030-0x1e----- + 0b00000000, + 0b00000000, + 0b00000010, + 0b00001111, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---031-0x1f----- + 0b00111100, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---032-0x20-' '- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---033-0x21-'!'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---034-0x22-'"'- + 0b00000000, + 0b00100100, + 0b00100100, + 0b00100100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---035-0x23-'#'- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00100100, + 0b00100100, + 0b01111110, + 0b00100100, + 0b00100100, + 0b01111110, + 0b00100100, + 0b00100100, + 0b00100100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---036-0x24-'$'- + 0b00000000, + 0b00010000, + 0b00010000, + 0b01111100, + 0b10010010, + 0b10010000, + 0b10010000, + 0b01111100, + 0b00010010, + 0b00010010, + 0b10010010, + 0b01111100, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---037-0x25-'%'- + 0b00000000, + 0b00000000, + 0b01100100, + 0b10010100, + 0b01101000, + 0b00001000, + 0b00010000, + 0b00010000, + 0b00100000, + 0b00101100, + 0b01010010, + 0b01001100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---038-0x26-'&'- + 0b00000000, + 0b00000000, + 0b00011000, + 0b00100100, + 0b00100100, + 0b00011000, + 0b00110000, + 0b01001010, + 0b01000100, + 0b01000100, + 0b01000100, + 0b00111010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---039-0x27-'''- + 0b00000000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---040-0x28-'('- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---041-0x29-')'- + 0b00000000, + 0b00000000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00010000, + 0b00100000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---042-0x2a-'*'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00100100, + 0b00011000, + 0b01111110, + 0b00011000, + 0b00100100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---043-0x2b-'+'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b01111100, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---044-0x2c-','- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---045-0x2d-'-'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---046-0x2e-'.'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---047-0x2f-'/'- + 0b00000000, + 0b00000000, + 0b00000100, + 0b00000100, + 0b00001000, + 0b00001000, + 0b00010000, + 0b00010000, + 0b00100000, + 0b00100000, + 0b01000000, + 0b01000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---048-0x30-'0'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000110, + 0b01001010, + 0b01010010, + 0b01100010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---049-0x31-'1'- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00011000, + 0b00101000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---050-0x32-'2'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b00000010, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---051-0x33-'3'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b00000010, + 0b00011100, + 0b00000010, + 0b00000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---052-0x34-'4'- + 0b00000000, + 0b00000000, + 0b00000010, + 0b00000110, + 0b00001010, + 0b00010010, + 0b00100010, + 0b01000010, + 0b01111110, + 0b00000010, + 0b00000010, + 0b00000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---053-0x35-'5'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111100, + 0b00000010, + 0b00000010, + 0b00000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---054-0x36-'6'- + 0b00000000, + 0b00000000, + 0b00011100, + 0b00100000, + 0b01000000, + 0b01000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---055-0x37-'7'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000010, + 0b00000010, + 0b00000100, + 0b00000100, + 0b00001000, + 0b00001000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---056-0x38-'8'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---057-0x39-'9'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00000100, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---058-0x3a-':'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---059-0x3b-';'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---060-0x3c-'<'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01000000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00000100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---061-0x3d-'='- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---062-0x3e-'>'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---063-0x3f-'?'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000100, + 0b00001000, + 0b00001000, + 0b00000000, + 0b00001000, + 0b00001000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---064-0x40-'@'- + 0b00000000, + 0b00000000, + 0b01111100, + 0b10000010, + 0b10011110, + 0b10100010, + 0b10100010, + 0b10100010, + 0b10100110, + 0b10011010, + 0b10000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---065-0x41-'A'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---066-0x42-'B'- + 0b00000000, + 0b00000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---067-0x43-'C'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---068-0x44-'D'- + 0b00000000, + 0b00000000, + 0b01111000, + 0b01000100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000100, + 0b01111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---069-0x45-'E'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---070-0x46-'F'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---071-0x47-'G'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01001110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---072-0x48-'H'- + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---073-0x49-'I'- + 0b00000000, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---074-0x4a-'J'- + 0b00000000, + 0b00000000, + 0b00001110, + 0b00000100, + 0b00000100, + 0b00000100, + 0b00000100, + 0b00000100, + 0b00000100, + 0b01000100, + 0b01000100, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---075-0x4b-'K'- + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000100, + 0b01001000, + 0b01010000, + 0b01100000, + 0b01100000, + 0b01010000, + 0b01001000, + 0b01000100, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---076-0x4c-'L'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---077-0x4d-'M'- + 0b00000000, + 0b00000000, + 0b10000010, + 0b11000110, + 0b10101010, + 0b10010010, + 0b10010010, + 0b10000010, + 0b10000010, + 0b10000010, + 0b10000010, + 0b10000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---078-0x4e-'N'- + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01100010, + 0b01010010, + 0b01001010, + 0b01000110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---079-0x4f-'O'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---080-0x50-'P'- + 0b00000000, + 0b00000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---081-0x51-'Q'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01001010, + 0b00111100, + 0b00000010, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---082-0x52-'R'- + 0b00000000, + 0b00000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b01010000, + 0b01001000, + 0b01000100, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---083-0x53-'S'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000010, + 0b00000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---084-0x54-'T'- + 0b00000000, + 0b00000000, + 0b11111110, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---085-0x55-'U'- + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---086-0x56-'V'- + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00100100, + 0b00100100, + 0b00100100, + 0b00011000, + 0b00011000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---087-0x57-'W'- + 0b00000000, + 0b00000000, + 0b10000010, + 0b10000010, + 0b10000010, + 0b10000010, + 0b10000010, + 0b10010010, + 0b10010010, + 0b10101010, + 0b11000110, + 0b10000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---088-0x58-'X'- + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b00100100, + 0b00100100, + 0b00011000, + 0b00011000, + 0b00100100, + 0b00100100, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---089-0x59-'Y'- + 0b00000000, + 0b00000000, + 0b10000010, + 0b10000010, + 0b01000100, + 0b01000100, + 0b00101000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---090-0x5a-'Z'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000010, + 0b00000010, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---091-0x5b-'['- + 0b00000000, + 0b00000000, + 0b00111000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---092-0x5c-'\'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b00100000, + 0b00100000, + 0b00010000, + 0b00010000, + 0b00001000, + 0b00001000, + 0b00000100, + 0b00000100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---093-0x5d-']'- + 0b00000000, + 0b00000000, + 0b00111000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---094-0x5e-'^'- + 0b00000000, + 0b00010000, + 0b00101000, + 0b01000100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---095-0x5f-'_'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---096-0x60-'`'- + 0b00010000, + 0b00001000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---097-0x61-'a'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---098-0x62-'b'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---099-0x63-'c'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---100-0x64-'d'- + 0b00000000, + 0b00000000, + 0b00000010, + 0b00000010, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---101-0x65-'e'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---102-0x66-'f'- + 0b00000000, + 0b00000000, + 0b00001110, + 0b00010000, + 0b00010000, + 0b01111100, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---103-0x67-'g'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00111100, + 0b00000000, + }, + std::array{ + // ++---104-0x68-'h'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---105-0x69-'i'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---106-0x6a-'j'- + 0b00000000, + 0b00000000, + 0b00000100, + 0b00000100, + 0b00000000, + 0b00001100, + 0b00000100, + 0b00000100, + 0b00000100, + 0b00000100, + 0b00000100, + 0b00000100, + 0b01000100, + 0b01000100, + 0b00111000, + 0b00000000, + }, + std::array{ + // ++---107-0x6b-'k'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b01000100, + 0b01001000, + 0b01110000, + 0b01001000, + 0b01000100, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---108-0x6c-'l'- + 0b00000000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---109-0x6d-'m'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b11111100, + 0b10010010, + 0b10010010, + 0b10010010, + 0b10010010, + 0b10010010, + 0b10010010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---110-0x6e-'n'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---111-0x6f-'o'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---112-0x70-'p'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b01000000, + 0b01000000, + 0b01000000, + 0b00000000, + }, + std::array{ + // ++---113-0x71-'q'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00000010, + 0b00000000, + }, + std::array{ + // ++---114-0x72-'r'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01011110, + 0b01100000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---115-0x73-'s'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000010, + 0b00000010, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---116-0x74-'t'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b01111100, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00001110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---117-0x75-'u'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---118-0x76-'v'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00100100, + 0b00100100, + 0b00011000, + 0b00011000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---119-0x77-'w'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b10000010, + 0b10000010, + 0b10010010, + 0b10010010, + 0b10010010, + 0b10010010, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---120-0x78-'x'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b00100100, + 0b00011000, + 0b00100100, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---121-0x79-'y'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00111100, + 0b00000000, + }, + std::array{ + // ++---122-0x7a-'z'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---123-0x7b-'{'- + 0b00000000, + 0b00000000, + 0b00001100, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00100000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00001100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---124-0x7c-'|'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---125-0x7d-'}'- + 0b00000000, + 0b00000000, + 0b00110000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00000100, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00001000, + 0b00110000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---126-0x7e-'~'- + 0b00000000, + 0b01100010, + 0b10010010, + 0b10001100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---127-0x7f-''- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---128-0x80-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b01111100, + 0b10010010, + 0b10010000, + 0b10010000, + 0b10010000, + 0b10010010, + 0b01111100, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---129-0x81-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000100, + 0b00111000, + 0b01000100, + 0b01000100, + 0b01000100, + 0b00111000, + 0b01000100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---130-0x82-'�'- + 0b00000000, + 0b00000000, + 0b10000010, + 0b10000010, + 0b01000100, + 0b00101000, + 0b00010000, + 0b01111100, + 0b00010000, + 0b01111100, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---131-0x83-'�'- + 0b00000000, + 0b00111000, + 0b01000100, + 0b01000000, + 0b00110000, + 0b01001000, + 0b01000100, + 0b01000100, + 0b00100100, + 0b00011000, + 0b00000100, + 0b01000100, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---132-0x84-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b10000001, + 0b10011001, + 0b10100101, + 0b10100001, + 0b10100101, + 0b10011001, + 0b10000001, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---133-0x85-'�'- + 0b00000000, + 0b00111000, + 0b00000100, + 0b00111100, + 0b01000100, + 0b00111100, + 0b00000000, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---134-0x86-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010010, + 0b00100100, + 0b01001000, + 0b10010000, + 0b01001000, + 0b00100100, + 0b00010010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---135-0x87-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b10000001, + 0b10111001, + 0b10100101, + 0b10111001, + 0b10101001, + 0b10100101, + 0b10000001, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---136-0x88-'�'- + 0b00000000, + 0b00011000, + 0b00100100, + 0b00001000, + 0b00010000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---137-0x89-'�'- + 0b10000000, + 0b01000000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00000100, + 0b00000010, + 0b00000001, + 0b00000001, + 0b00000010, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01000000, + 0b10000000, + }, + std::array{ + // ++---138-0x8a-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000110, + 0b01111010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b00000000, + }, + std::array{ + // ++---139-0x8b-'�'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b10010010, + 0b10010010, + 0b10010010, + 0b10010010, + 0b01110010, + 0b00010010, + 0b00010010, + 0b00010010, + 0b00010010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---140-0x8c-'�'- + 0b00000000, + 0b00111000, + 0b01000100, + 0b01000100, + 0b01000100, + 0b00111000, + 0b00000000, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---141-0x8d-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b10010000, + 0b01001000, + 0b00100100, + 0b00010010, + 0b00100100, + 0b01001000, + 0b10010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---142-0x8e-'�'- + 0b00000000, + 0b00100000, + 0b01100000, + 0b00100000, + 0b00100010, + 0b00100100, + 0b00001000, + 0b00010000, + 0b00100010, + 0b01000110, + 0b10001010, + 0b00011110, + 0b00000010, + 0b00000010, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---143-0x8f-'�'- + 0b00000000, + 0b00100000, + 0b01100000, + 0b00100000, + 0b00100010, + 0b00100100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01001100, + 0b10010010, + 0b00000100, + 0b00001000, + 0b00011110, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---144-0x90-'�'- + 0b00000001, + 0b00000010, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b01000000, + 0b10000000, + 0b10000000, + 0b01000000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00000100, + 0b00000010, + 0b00000001, + }, + std::array{ + // ++---145-0x91-'�'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---146-0x92-'�'- + 0b00010000, + 0b00001000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---147-0x93-'�'- + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---148-0x94-'�'- + 0b00011000, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---149-0x95-'�'- + 0b00110010, + 0b01001100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---150-0x96-'�'- + 0b00100100, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---151-0x97-'�'- + 0b00011000, + 0b00100100, + 0b00011000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---152-0x98-'�'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b10010000, + 0b10010000, + 0b10010000, + 0b11111100, + 0b10010000, + 0b10010000, + 0b10010000, + 0b10010000, + 0b10011110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---153-0x99-'�'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00010000, + 0b00010000, + 0b00100000, + 0b00000000, + }, + std::array{ + // ++---154-0x9a-'�'- + 0b00010000, + 0b00001000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---155-0x9b-'�'- + 0b00001000, + 0b00010000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---156-0x9c-'�'- + 0b00011000, + 0b00100100, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---157-0x9d-'�'- + 0b00100100, + 0b00100100, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---158-0x9e-'�'- + 0b00100000, + 0b00010000, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---159-0x9f-'�'- + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---160-0xa0-'�'- + 0b00011000, + 0b00100100, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---161-0xa1-'�'- + 0b01000100, + 0b01000100, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---162-0xa2-'�'- + 0b00000000, + 0b00000000, + 0b01111000, + 0b01000100, + 0b01000010, + 0b01000010, + 0b11110010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000100, + 0b01111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---163-0xa3-'�'- + 0b00110010, + 0b01001100, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01100010, + 0b01010010, + 0b01001010, + 0b01000110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---164-0xa4-'�'- + 0b00010000, + 0b00001000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---165-0xa5-'�'- + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---166-0xa6-'�'- + 0b00011000, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---167-0xa7-'�'- + 0b00110010, + 0b01001100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---168-0xa8-'�'- + 0b00100100, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---169-0xa9-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000010, + 0b00100100, + 0b00011000, + 0b00011000, + 0b00100100, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---170-0xaa-'�'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000011, + 0b01000010, + 0b01000110, + 0b01001010, + 0b01010010, + 0b01100010, + 0b01000010, + 0b11000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---171-0xab-'�'- + 0b00010000, + 0b00001000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---172-0xac-'�'- + 0b00001000, + 0b00010000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---173-0xad-'�'- + 0b00011000, + 0b00100100, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---174-0xae-'�'- + 0b00100100, + 0b00100100, + 0b00000000, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---175-0xaf-'�'- + 0b00001000, + 0b00010000, + 0b10000010, + 0b10000010, + 0b01000100, + 0b01000100, + 0b00101000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---176-0xb0-'�'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01111100, + 0b01000000, + 0b01000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---177-0xb1-'�'- + 0b00000000, + 0b00000000, + 0b00111000, + 0b01000100, + 0b01000100, + 0b01001000, + 0b01111100, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01100010, + 0b01011100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---178-0xb2-'�'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00001000, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---179-0xb3-'�'- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---180-0xb4-'�'- + 0b00000000, + 0b00000000, + 0b00011000, + 0b00100100, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---181-0xb5-'�'- + 0b00000000, + 0b00000000, + 0b00110010, + 0b01001100, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---182-0xb6-'�'- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00100100, + 0b00000000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---183-0xb7-'�'- + 0b00000000, + 0b00000000, + 0b00011000, + 0b00100100, + 0b00011000, + 0b00111100, + 0b00000010, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---184-0xb8-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01101100, + 0b00010010, + 0b01110010, + 0b10011110, + 0b10010000, + 0b10010000, + 0b01101100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---185-0xb9-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b00111100, + 0b00010000, + 0b00010000, + 0b00100000, + 0b00000000, + }, + std::array{ + // ++---186-0xba-'�'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00001000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---187-0xbb-'�'- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---188-0xbc-'�'- + 0b00000000, + 0b00000000, + 0b00011000, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---189-0xbd-'�'- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00100100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---190-0xbe-'�'- + 0b00000000, + 0b00000000, + 0b00100000, + 0b00010000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---191-0xbf-'�'- + 0b00000000, + 0b00000000, + 0b00001000, + 0b00010000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---192-0xc0-'�'- + 0b00000000, + 0b00000000, + 0b00011000, + 0b00100100, + 0b00100000, + 0b00100000, + 0b01111000, + 0b00100000, + 0b00100000, + 0b00100000, + 0b00100010, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---193-0xc1-'�'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b01010100, + 0b00111000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---194-0xc2-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000011, + 0b00001111, + 0b00111111, + 0b11111111, + 0b00111111, + 0b00001111, + 0b00000011, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---195-0xc3-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b11000000, + 0b11110000, + 0b11111100, + 0b11111111, + 0b11111100, + 0b11110000, + 0b11000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---196-0xc4-'�'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00111000, + 0b01010100, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---197-0xc5-'�'- + 0b10001000, + 0b00100010, + 0b10001000, + 0b00100010, + 0b10001000, + 0b00100010, + 0b10001000, + 0b00100010, + 0b10001000, + 0b00100010, + 0b10001000, + 0b00100010, + 0b10001000, + 0b00100010, + 0b10001000, + 0b00100010, + }, + std::array{ + // ++---198-0xc6-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b00111100, + 0b00111100, + 0b00111100, + 0b00111100, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---199-0xc7-'�'- + 0b10101010, + 0b01010101, + 0b10101010, + 0b01010101, + 0b10101010, + 0b01010101, + 0b10101010, + 0b01010101, + 0b10101010, + 0b01010101, + 0b10101010, + 0b01010101, + 0b10101010, + 0b01010101, + 0b10101010, + 0b01010101, + }, + std::array{ + // ++---200-0xc8-'�'- + 0b00000000, + 0b00011000, + 0b00100100, + 0b00100100, + 0b00011000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---201-0xc9-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00111000, + 0b01111100, + 0b11111110, + 0b01111100, + 0b00111000, + 0b00010000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---202-0xca-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b00000000, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---203-0xcb-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---204-0xcc-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b11111111, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---205-0xcd-'�'- + 0b00101000, + 0b00101000, + 0b00101000, + 0b00101000, + 0b00101000, + 0b00101000, + 0b11101111, + 0b00000000, + 0b11101111, + 0b00101000, + 0b00101000, + 0b00101000, + 0b00101000, + 0b00101000, + 0b00101000, + 0b00101000, + }, + std::array{ + // ++---206-0xce-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b11111111, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---207-0xcf-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000100, + 0b00001000, + 0b00010000, + 0b00100000, + 0b00010000, + 0b00001000, + 0b00000100, + 0b00000000, + 0b00111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---208-0xd0-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00011111, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---209-0xd1-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b11110000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---210-0xd2-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b11111111, + 0b00010000, + 0b11111111, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---211-0xd3-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b01111100, + 0b00010000, + 0b00010000, + 0b00000000, + 0b01111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---212-0xd4-'�'- + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---213-0xd5-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---214-0xd6-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b11111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---215-0xd7-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---216-0xd8-'�'- + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + 0b11111111, + }, + std::array{ + // ++---217-0xd9-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b11111111, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---218-0xda-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b11110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---219-0xdb-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00011111, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---220-0xdc-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b11111111, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---221-0xdd-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00011111, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---222-0xde-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b11110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---223-0xdf-'�'- + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + }, + std::array{ + // ++---224-0xe0-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---225-0xe1-'�'- + 0b00010000, + 0b00010000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---226-0xe2-'�'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---227-0xe3-'�'- + 0b00000000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000010, + 0b00000100, + 0b00000011, + 0b00000000, + }, + std::array{ + // ++---228-0xe4-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00001000, + 0b00010000, + 0b00001100, + 0b00000000, + }, + std::array{ + // ++---229-0xe5-'�'- + 0b00100100, + 0b00011000, + 0b00000000, + 0b01111110, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---230-0xe6-'�'- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00011000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01111110, + 0b01000000, + 0b01000000, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---231-0xe7-'�'- + 0b00100100, + 0b00011000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000000, + 0b01001110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---232-0xe8-'�'- + 0b00000000, + 0b00000000, + 0b00100100, + 0b00011000, + 0b00000000, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00111100, + 0b00000000, + }, + std::array{ + // ++---233-0xe9-'�'- + 0b00000000, + 0b00000000, + 0b00111100, + 0b01000010, + 0b01000010, + 0b01000000, + 0b01000000, + 0b01001110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111100, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + }, + std::array{ + // ++---234-0xea-'�'- + 0b00000000, + 0b00000100, + 0b00001000, + 0b00001000, + 0b00000000, + 0b00111110, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b01000010, + 0b00111110, + 0b00000010, + 0b00000010, + 0b00111100, + 0b00000000, + }, + std::array{ + // ++---235-0xeb-'�'- + 0b00110010, + 0b01001100, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---236-0xec-'�'- + 0b00000000, + 0b00000000, + 0b00110100, + 0b01011000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---237-0xed-'�'- + 0b01111100, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---238-0xee-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b01111000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---239-0xef-'�'- + 0b00000000, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00010000, + 0b00100000, + 0b00011000, + 0b00000000, + }, + std::array{ + // ++---240-0xf0-'�'- + 0b00000000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00010000, + 0b00100000, + 0b00011000, + 0b00000000, + }, + std::array{ + // ++---241-0xf1-'�'- + 0b00010000, + 0b00010000, + 0b00000000, + 0b00111000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---242-0xf2-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---243-0xf3-'�'- + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000100, + 0b01001000, + 0b01010000, + 0b01100000, + 0b01100000, + 0b01010000, + 0b01001000, + 0b01000100, + 0b01000010, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + }, + std::array{ + // ++---244-0xf4-'�'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000010, + 0b01000100, + 0b01001000, + 0b01110000, + 0b01001000, + 0b01000100, + 0b01000010, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + }, + std::array{ + // ++---245-0xf5-'�'- + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b01000010, + 0b01000100, + 0b01001000, + 0b01110000, + 0b01001000, + 0b01000100, + 0b01000010, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---246-0xf6-'�'- + 0b00100000, + 0b01000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---247-0xf7-'�'- + 0b00001000, + 0b00010000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---248-0xf8-'�'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + }, + std::array{ + // ++---249-0xf9-'�'- + 0b00000000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00010000, + 0b00010000, + 0b00100000, + }, + std::array{ + // ++---250-0xfa-'�'- + 0b00100100, + 0b00011000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---251-0xfb-'�'- + 0b01001000, + 0b00110000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---252-0xfc-'�'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000100, + 0b01000100, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---253-0xfd-'�'- + 0b00000000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00010001, + 0b00010001, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---254-0xfe-'�'- + 0b00000000, + 0b00000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01100000, + 0b11000000, + 0b01000000, + 0b01000000, + 0b01000000, + 0b01111110, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + }, + std::array{ + // ++---255-0xff-'�'- + 0b00000000, + 0b00000000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00011000, + 0b00110000, + 0b00010000, + 0b00010000, + 0b00010000, + 0b00111000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + } +}; + + +#endif //FONTS_HPP