486 lines
10 KiB
C++
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}
|
|
};
|
|
|
|
};
|