Files
pix/include/pix_font.hpp
2026-01-09 14:13:25 +01:00

486 lines
10 KiB
C++

/* ************************************************************************** */
/* */
/* / ) */
/* pix_font.hpp (\__/) ( ( */
/* ) ( ) ) */
/* By: lejulien <leo.julien.42@gmail.com> ={ }= / / */
/* ) `-------/ / */
/* Created: 2023/01/24 23:22:07 by lejulien ( / */
/* Updated: 2023/01/26 00:34:14 by lejulien \ | */
/* */
/* ************************************************************************** */
#include <vector>
#include <map>
#pragma once
namespace pix {
// Letters
std::vector<int> f_a = {
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1
};
std::vector<int> f_b = {
1 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> f_c = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> f_d = {
1 , 1 , 1 , 1 , 0 , 0 ,
1 , 1 , 0 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 1 , 1 , 0 ,
1 , 1 , 1 , 1 , 0 , 0
};
std::vector<int> f_e = {
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 1
};
std::vector<int> f_f = {
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0
};
std::vector<int> f_g = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> f_h = {
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1
};
std::vector<int> f_i = {
0 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> f_j = {
0 , 0 , 1 , 1 , 1 , 1 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 0 , 1 , 1 , 0 ,
1 , 1 , 0 , 1 , 1 , 0 ,
0 , 1 , 1 , 1 , 0 , 0
};
std::vector<int> f_k = {
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 1 , 1 , 0 ,
1 , 1 , 1 , 1 , 0 , 0 ,
1 , 1 , 1 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 0 , 0 ,
1 , 1 , 0 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1
};
std::vector<int> f_l = {
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 1
};
std::vector<int> f_m = {
1 , 1 , 0 , 0 , 0 , 1 ,
1 , 1 , 1 , 0 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 1 , 0 , 1 ,
1 , 1 , 0 , 0 , 0 , 1 ,
1 , 1 , 0 , 0 , 0 , 1 ,
1 , 1 , 0 , 0 , 0 , 1
};
std::vector<int> f_n = {
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 1 , 0 , 1 , 1 ,
1 , 1 , 0 , 1 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1
};
std::vector<int> f_o = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> f_p = {
1 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
};
std::vector<int> f_q = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 1 , 1 , 1
};
std::vector<int> f_r = {
1 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 1 , 1 , 0 , 0 ,
1 , 1 , 0 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1
};
std::vector<int> f_s = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
0 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> f_t = {
1 , 1 , 1 , 1 , 1 , 1 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0
};
std::vector<int> f_u = {
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> f_v = {
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 0 , 0
};
std::vector<int> f_w = {
1 , 1 , 0 , 0 , 0 , 1 ,
1 , 1 , 0 , 0 , 0 , 1 ,
1 , 1 , 0 , 0 , 0 , 1 ,
1 , 1 , 0 , 1 , 0 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 1 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1
};
std::vector<int> f_x = {
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1
};
std::vector<int> f_y = {
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0
};
std::vector<int> f_z = {
1 , 1 , 1 , 1 , 1 , 1 ,
0 , 0 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 1 , 1 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 1
};
// Numbers
std::vector<int> zero = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 1 , 1 , 1 ,
1 , 1 , 1 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> one = {
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 1 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 1
};
std::vector<int> two = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 1 , 1 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 1
};
std::vector<int> three = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 0 , 1 , 1 ,
0 , 0 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> four = {
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 1 , 0 ,
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 0 , 0 , 1 , 1 , 0 ,
1 , 1 , 1 , 1 , 1 , 1 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 0 , 1 , 1 , 0
};
std::vector<int> five = {
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> six = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0
};
std::vector<int> seven = {
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
};
std::vector<int> eight = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0 ,
};
std::vector<int> nine = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 1 ,
0 , 0 , 0 , 0 , 1 , 1 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 1 , 1 , 1 , 1 , 0 ,
};
// Symbols
std::vector<int> inter = {
0 , 1 , 1 , 1 , 1 , 0 ,
1 , 1 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 0 , 1 , 1 ,
0 , 0 , 0 , 1 , 1 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0
};
std::vector<int> egual = {
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 1 ,
0 , 0 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 1 , 1 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0
};
std::vector<int> space = {
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0
};
std::vector<int> euro = {
0 , 0 , 1 , 1 , 1 , 0 ,
0 , 1 , 0 , 0 , 0 , 1 ,
1 , 1 , 1 , 1 , 0 , 0 ,
0 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 0 , 0 ,
0 , 1 , 0 , 0 , 0 , 1 ,
0 , 0 , 1 , 1 , 1 , 0
};
std::vector<int> exclamation = {
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0 ,
0 , 0 , 1 , 1 , 0 , 0
};
std::map<char, std::vector<int>> charset = {
// Alpha
{'a', f_a},
{'b', f_b},
{'c', f_c},
{'d', f_d},
{'e', f_e},
{'f', f_f},
{'g', f_g},
{'h', f_h},
{'i', f_i},
{'j', f_j},
{'k', f_k},
{'l', f_l},
{'m', f_m},
{'n', f_n},
{'o', f_o},
{'p', f_p},
{'q', f_q},
{'r', f_r},
{'s', f_s},
{'t', f_t},
{'u', f_u},
{'v', f_v},
{'w', f_w},
{'x', f_x},
{'y', f_y},
{'z', f_z},
// Numbers
{'0', zero},
{'1', one},
{'2', two},
{'3', three},
{'4', four},
{'5', five},
{'6', six},
{'7', seven},
{'8', eight},
{'9', nine},
// Symbols
{'?', inter},
{' ', space},
{'=', egual},
{'!', exclamation},
{'$', euro}
};
};