Files
rubiksinator/includes/pix_font.hpp
2026-01-09 14:38:51 +01:00

400 lines
8.9 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>
#ifndef PIX_FONT
# define PIX_FONT
namespace pix {
const std::map<char, std::vector<int>> charset = {
// Alpha
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'f', {
1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 1 , 1 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0 ,
1 , 1 , 0 , 0 , 0 , 0
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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 ,
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
}},
{'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
{'0', {
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
}},
{'1', {
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
}},
{'2', {
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
}},
{'3', {
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
}},
{'4', {
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
}},
{'5', {
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
}},
{'6', {
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
}},
{'7', {
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 ,
}},
{'8', {
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 ,
}},
{'9', {
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
{'?', {
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
}},
{' ', {
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
}},
{'=', {
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
}},
{'!', {
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
}},
{'$', {
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
}}
};
};
#endif