#ifndef FONT_5X7_H #define FONT_5X7_H #include #include #include using namespace std; const std::map> font_5x7 = { // Uppercase letters (A-Z) {'A', {0x0E, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11}}, {'B', {0x1E, 0x11, 0x11, 0x1E, 0x11, 0x11, 0x1E}}, {'C', {0x0E, 0x11, 0x10, 0x10, 0x10, 0x11, 0x0E}}, {'D', {0x1E, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1E}}, {'E', {0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x1F}}, {'F', {0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x10}}, {'G', {0x0E, 0x11, 0x10, 0x13, 0x11, 0x11, 0x0F}}, {'H', {0x11, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11}}, {'I', {0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07}}, {'J', {0x07, 0x02, 0x02, 0x02, 0x02, 0x12, 0x0C}}, {'K', {0x11, 0x12, 0x14, 0x18, 0x14, 0x12, 0x11}}, {'L', {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F}}, {'M', {0x11, 0x1B, 0x15, 0x15, 0x11, 0x11, 0x11}}, {'N', {0x11, 0x19, 0x19, 0x15, 0x13, 0x13, 0x11}}, {'O', {0x0E, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E}}, {'P', {0x1E, 0x11, 0x11, 0x1E, 0x10, 0x10, 0x10}}, {'Q', {0x0E, 0x11, 0x11, 0x11, 0x15, 0x12, 0x0D}}, {'R', {0x1E, 0x11, 0x11, 0x1E, 0x14, 0x12, 0x11}}, {'S', {0x0F, 0x10, 0x10, 0x0E, 0x01, 0x01, 0x1E}}, {'T', {0x1F, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04}}, {'U', {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E}}, {'V', {0x11, 0x11, 0x11, 0x11, 0x11, 0x0A, 0x04}}, {'W', {0x11, 0x11, 0x11, 0x15, 0x15, 0x15, 0x0A}}, {'X', {0x11, 0x11, 0x0A, 0x04, 0x0A, 0x11, 0x11}}, {'Y', {0x11, 0x11, 0x0A, 0x04, 0x04, 0x04, 0x04}}, {'Z', {0x1F, 0x01, 0x02, 0x04, 0x08, 0x10, 0x1F}}, // Lowercase letters (a-z) {'a', {0x00, 0x00, 0x0E, 0x01, 0x0F, 0x11, 0x0F}}, {'b', {0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x1E}}, {'c', {0x00, 0x00, 0x0E, 0x11, 0x10, 0x11, 0x0E}}, {'d', {0x01, 0x01, 0x0D, 0x13, 0x11, 0x11, 0x0F}}, {'e', {0x00, 0x00, 0x0E, 0x11, 0x1F, 0x10, 0x0E}}, {'f', {0x06, 0x09, 0x08, 0x1C, 0x08, 0x08, 0x08}}, {'g', {0x00, 0x0F, 0x11, 0x11, 0x0F, 0x01, 0x0E}}, {'h', {0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x11}}, {'i', {0x00, 0x02, 0x00, 0x06, 0x02, 0x02, 0x07}}, {'j', {0x00, 0x02, 0x00, 0x06, 0x02, 0x12, 0x0C}}, {'k', {0x10, 0x10, 0x12, 0x14, 0x18, 0x14, 0x12}}, {'l', {0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07}}, {'m', {0x00, 0x00, 0x1A, 0x15, 0x15, 0x15, 0x15}}, {'n', {0x00, 0x00, 0x16, 0x19, 0x11, 0x11, 0x11}}, {'o', {0x00, 0x00, 0x0E, 0x11, 0x11, 0x11, 0x0E}}, {'p', {0x00, 0x00, 0x1E, 0x11, 0x1E, 0x10, 0x10}}, {'q', {0x00, 0x00, 0x0D, 0x13, 0x0F, 0x01, 0x01}}, {'r', {0x00, 0x00, 0x16, 0x19, 0x10, 0x10, 0x10}}, {'s', {0x00, 0x00, 0x0E, 0x10, 0x0E, 0x01, 0x1E}}, {'t', {0x08, 0x08, 0x1C, 0x08, 0x08, 0x09, 0x06}}, {'u', {0x00, 0x00, 0x11, 0x11, 0x11, 0x13, 0x0D}}, {'v', {0x00, 0x00, 0x11, 0x11, 0x11, 0x0A, 0x04}}, {'w', {0x00, 0x00, 0x11, 0x11, 0x15, 0x15, 0x0A}}, {'x', {0x00, 0x00, 0x11, 0x0A, 0x04, 0x0A, 0x11}}, {'y', {0x00, 0x00, 0x11, 0x11, 0x0F, 0x01, 0x0E}}, {'z', {0x00, 0x00, 0x1F, 0x02, 0x04, 0x08, 0x1F}}, // Numbers (0-9) {'0', {0x0E, 0x11, 0x13, 0x15, 0x19, 0x11, 0x0E}}, {'1', {0x02, 0x06, 0x02, 0x02, 0x02, 0x02, 0x07}}, {'2', {0x0E, 0x11, 0x01, 0x02, 0x04, 0x08, 0x1F}}, {'3', {0x1F, 0x02, 0x04, 0x02, 0x01, 0x11, 0x0E}}, {'4', {0x02, 0x06, 0x0A, 0x12, 0x1F, 0x02, 0x02}}, {'5', {0x1F, 0x10, 0x1E, 0x01, 0x01, 0x11, 0x0E}}, {'6', {0x06, 0x08, 0x10, 0x1E, 0x11, 0x11, 0x0E}}, {'7', {0x1F, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08}}, {'8', {0x0E, 0x11, 0x11, 0x0E, 0x11, 0x11, 0x0E}}, {'9', {0x0E, 0x11, 0x11, 0x0F, 0x01, 0x02, 0x0C}}, // Punctuation and symbols {' ', {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, {'!', {0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01}}, {'?', {0x0E, 0x11, 0x02, 0x04, 0x04, 0x00, 0x04}}, {'.', {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}}, {',', {0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02}}, {':', {0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00}}, {';', {0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x02}}, {'\'', {0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00}}, {'"', {0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00}}, {'-', {0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00}}, {'_', {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}}, {'+', {0x00, 0x04, 0x04, 0x1F, 0x04, 0x04, 0x00}}, {'=', {0x00, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x00}}, {'*', {0x00, 0x0A, 0x04, 0x1F, 0x04, 0x0A, 0x00}}, {'/', {0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00}}, {'\\', {0x00, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00}}, {'(', {0x01, 0x02, 0x04, 0x04, 0x04, 0x02, 0x01}}, {')', {0x04, 0x02, 0x01, 0x01, 0x01, 0x02, 0x04}}, {'[', {0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07}}, {']', {0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07}}, {'{', {0x03, 0x02, 0x02, 0x04, 0x02, 0x02, 0x03}}, {'}', {0x06, 0x02, 0x02, 0x01, 0x02, 0x02, 0x06}}, {'<', {0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00}}, {'>', {0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00}}, {'@', {0x0E, 0x11, 0x17, 0x15, 0x17, 0x10, 0x0E}}, {'#', {0x0A, 0x0A, 0x1F, 0x0A, 0x1F, 0x0A, 0x0A}}, {'$', {0x04, 0x0F, 0x14, 0x0E, 0x05, 0x1E, 0x04}}, {'%', {0x18, 0x19, 0x02, 0x04, 0x08, 0x13, 0x03}}, {'&', {0x0C, 0x12, 0x14, 0x08, 0x15, 0x12, 0x0D}}, // Special characters // {'°', {0x07, 0x05, 0x07, 0x00, 0x00, 0x00, 0x00}}, {'|', {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}}, {'`', {0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00}}, // {'¶', {0x0F, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D}}, // {'•', {0x00, 0x00, 0x02, 0x07, 0x02, 0x00, 0x00}} }; // Declarations only const vector &getFontChar_5x7(char c); #endif