225 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			225 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
| /**The MIT License (MIT)
 | |
| Copyright (c) 2015 by Daniel Eichhorn
 | |
| Permission is hereby granted, free of charge, to any person obtaining a copy
 | |
| of this software and associated documentation files (the "Software"), to deal
 | |
| in the Software without restriction, including without limitation the rights
 | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | |
| copies of the Software, and to permit persons to whom the Software is
 | |
| furnished to do so, subject to the following conditions:
 | |
| The above copyright notice and this permission notice shall be included in all
 | |
| copies or substantial portions of the Software.
 | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | |
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | |
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | |
| SOFTWARE.
 | |
| See more at http://blog.squix.ch
 | |
| */
 | |
| 
 | |
| // Created by http://oleddisplay.squix.ch/ Consider a donation
 | |
| // In case of problems make sure that you are using the font file with the correct version!
 | |
| 
 | |
| // Bodmer fix: End character is 0x7D not 0x7E, so bug in last line of the file corrected
 | |
| // this avoids screen corruption if ~ is printer
 | |
| 
 | |
| const uint8_t ArialRoundedMTBold_14Bitmaps[] PROGMEM = {
 | |
| 
 | |
|   // Bitmap Data:
 | |
|   0x00, // ' '
 | |
|   0xFF,0xF8,0xF0, // '!'
 | |
|   0xDE,0xF6, // '"'
 | |
|   0x12,0x32,0x36,0xFF,0xFF,0x24,0xFF,0xFF,0x4C,0x48, // '#'
 | |
|   0x10,0x61,0xF6,0xAD,0x7A,0x1E,0x0E,0xD7,0xAF,0x5B,0xE1,0x02,0x04,0x00, // '$'
 | |
|   0x60,0x92,0x22,0x44,0x49,0x07,0x60,0x0B,0x82,0x48,0xC9,0x11,0x24,0x18, // '%'
 | |
|   0x3C,0x19,0x82,0x60,0xF0,0x39,0x33,0x6C,0x73,0x1C,0xFF,0x8E,0x30, // '&'
 | |
|   0xFC, // '''
 | |
|   0x32,0x64,0xCC,0xCC,0xC4,0x62,0x30, // '('
 | |
|   0xC4,0x62,0x33,0x33,0x32,0x64,0xC0, // ')'
 | |
|   0x21,0x2A,0xE5,0x28, // '*'
 | |
|   0x18,0x18,0x18,0xFF,0xFF,0x18,0x18, // '+'
 | |
|   0xF6, // ','
 | |
|   0xFF, // '-'
 | |
|   0xF0, // '.'
 | |
|   0x33,0x32,0x66,0x4C,0xCC, // '/'
 | |
|   0x38,0xFB,0x9E,0x3C,0x78,0xF1,0xF6,0x7C,0x70, // '0'
 | |
|   0x19,0xDF,0xB1,0x8C,0x63,0x18,0xC0, // '1'
 | |
|   0x38,0xFF,0x1E,0x30,0xC3,0x0C,0x30,0xFF,0xFC, // '2'
 | |
|   0x79,0x9B,0x10,0x63,0xC7,0x81,0xC3,0xC6,0xF0, // '3'
 | |
|   0x06,0x0E,0x1E,0x16,0x26,0x46,0xFF,0xFF,0x06,0x06, // '4'
 | |
|   0x7E,0xFD,0x06,0x0F,0xD8,0xC1,0xC3,0xCC,0xF0, // '5'
 | |
|   0x38,0xDB,0x1E,0x0F,0xD8,0xF1,0xE3,0x66,0x78, // '6'
 | |
|   0xFF,0xFC,0x30,0x41,0x82,0x0C,0x18,0x30,0xC0, // '7'
 | |
|   0x38,0xDB,0x1F,0x63,0x98,0xF1,0xE3,0xC6,0xF8, // '8'
 | |
|   0x3C,0x66,0xC3,0xC3,0xE7,0x3F,0x03,0xC3,0x66,0x3C, // '9'
 | |
|   0xF0,0x3C, // ':'
 | |
|   0xF0,0x3D,0x80, // ';'
 | |
|   0x02,0x1D,0xF7,0x0E,0x0F,0x83,0x81, // '<'
 | |
|   0xFF,0xFC,0x07,0xFF,0xE0, // '='
 | |
|   0x81,0xC1,0xF0,0x70,0xEF,0xB8,0x40, // '>'
 | |
|   0x3C,0xFF,0x1E,0x30,0xC7,0x0C,0x00,0x30,0x60, // '?'
 | |
|   0x0F,0x83,0x06,0x60,0x24,0xED,0x99,0x9B,0x19,0xB1,0xBB,0x12,0xBF,0xE4,0xDC,0x40,0x13,0x06,0x0F,0xC0, // '@'
 | |
|   0x1C,0x0E,0x05,0x06,0xC3,0x63,0x19,0xFC,0xFE,0xC1,0xE0,0xC0, // 'A'
 | |
|   0xFC,0xFE,0xC7,0xC6,0xFE,0xFE,0xC3,0xC3,0xFF,0xFE, // 'B'
 | |
|   0x3E,0x3F,0xB8,0xF8,0x3C,0x06,0x03,0x06,0xC7,0x7F,0x0F,0x00, // 'C'
 | |
|   0xFE,0x7F,0xB0,0xF8,0x3C,0x1E,0x0F,0x07,0x87,0xFF,0x7F,0x00, // 'D'
 | |
|   0xFE,0xFF,0xC0,0xC0,0xFE,0xFE,0xC0,0xC0,0xFF,0xFF, // 'E'
 | |
|   0xFF,0xFF,0x06,0x0F,0xDF,0xB0,0x60,0xC1,0x80, // 'F'
 | |
|   0x1E,0x3F,0x98,0xF8,0x2C,0x06,0x3F,0x1E,0xC3,0x7F,0x9F,0x00, // 'G'
 | |
|   0xC1,0xE0,0xF0,0x78,0x3F,0xFF,0xFF,0x07,0x83,0xC1,0xE0,0xC0, // 'H'
 | |
|   0xFF,0xFF,0xF0, // 'I'
 | |
|   0x06,0x0C,0x18,0x30,0x60,0xF1,0xF3,0x7E,0x78, // 'J'
 | |
|   0xC3,0x63,0xB3,0x9B,0x8F,0x87,0x63,0x19,0x8E,0xC3,0x60,0xC0, // 'K'
 | |
|   0xC1,0x83,0x06,0x0C,0x18,0x30,0x60,0xFF,0xFC, // 'L'
 | |
|   0xE1,0xFC,0xFF,0x3F,0xCF,0xD2,0xF7,0xBD,0xEF,0x7B,0xCC,0xF3,0x30, // 'M'
 | |
|   0xC1,0xF0,0xFC,0x7E,0x3D,0x9E,0x6F,0x3F,0x8F,0xC3,0xE0,0xC0, // 'N'
 | |
|   0x1E,0x1F,0xE6,0x1B,0x03,0xC0,0xF0,0x3C,0x0D,0x86,0x7F,0x87,0x80, // 'O'
 | |
|   0xFE,0xFF,0xC3,0xC3,0xFF,0xFE,0xC0,0xC0,0xC0,0xC0, // 'P'
 | |
|   0x1E,0x0F,0xF1,0x87,0x60,0x6C,0x0D,0x81,0xB1,0x33,0x7C,0x7F,0x83,0xD8,0x01,0x80, // 'Q'
 | |
|   0xFE,0xFF,0xC3,0xC3,0xFE,0xFC,0xCE,0xC6,0xC3,0xC3, // 'R'
 | |
|   0x7C,0xFE,0xC7,0xC2,0x7C,0x0F,0xC3,0xC3,0x7E,0x3C, // 'S'
 | |
|   0xFF,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // 'T'
 | |
|   0xC1,0xE0,0xF0,0x78,0x3C,0x1E,0x0F,0x07,0xC7,0x7F,0x1F,0x00, // 'U'
 | |
|   0xC1,0xE0,0xD8,0xCC,0x66,0x31,0xB0,0xD8,0x6C,0x1C,0x0E,0x00, // 'V'
 | |
|   0xC7,0x1E,0x38,0xF1,0x46,0xDB,0x66,0xDB,0x36,0xD9,0xA2,0xC7,0x1C,0x38,0xE1,0x83,0x00, // 'W'
 | |
|   0xC3,0x66,0x7E,0x3C,0x18,0x3C,0x7E,0x66,0xC3,0xC3, // 'X'
 | |
|   0xC3,0xC3,0x66,0x3E,0x3C,0x18,0x18,0x18,0x18,0x18, // 'Y'
 | |
|   0x7F,0x3F,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0xC0, // 'Z'
 | |
|   0xFF,0xCC,0xCC,0xCC,0xCC,0xCF,0xF0, // '['
 | |
|   0xCC,0x44,0x66,0x22,0x33, // '\'
 | |
|   0xFF,0x33,0x33,0x33,0x33,0x3F,0xF0, // ']'
 | |
|   0x30,0xE7,0x9A,0xCF,0x30, // '^'
 | |
|   0xFE, // '_'
 | |
|   0xD0, // '`'
 | |
|   0x7D,0x8C,0x7F,0x3C,0x79,0xDD,0x80, // 'a'
 | |
|   0xC1,0x83,0x06,0xEF,0xF8,0xF1,0xE3,0xFF,0xB8, // 'b'
 | |
|   0x3C,0xFF,0x1E,0x0C,0x6F,0xCF,0x00, // 'c'
 | |
|   0x06,0x0C,0x1B,0xBF,0xF8,0xF1,0xE3,0xFE,0xEC, // 'd'
 | |
|   0x3C,0xCF,0x1F,0xFC,0x0C,0xCF,0x00, // 'e'
 | |
|   0x3B,0x19,0xF6,0x31,0x8C,0x63,0x00, // 'f'
 | |
|   0x77,0xFF,0x1E,0x3C,0x7F,0xDD,0xE3,0xC6,0xF8, // 'g'
 | |
|   0xC1,0x83,0x06,0xEF,0xF8,0xF1,0xE3,0xC7,0x8C, // 'h'
 | |
|   0xF3,0xFF,0xF0, // 'i'
 | |
|   0x33,0x03,0x33,0x33,0x33,0x3F,0xE0, // 'j'
 | |
|   0xC1,0x83,0x06,0x6D,0x9E,0x3E,0x66,0xCD,0x8C, // 'k'
 | |
|   0xFF,0xFF,0xF0, // 'l'
 | |
|   0xD9,0xDF,0xFF,0x31,0xE6,0x3C,0xC7,0x98,0xF3,0x18, // 'm'
 | |
|   0xDD,0xFF,0x1E,0x3C,0x78,0xF1,0x80, // 'n'
 | |
|   0x38,0xFB,0x1E,0x3C,0x6F,0x8E,0x00, // 'o'
 | |
|   0xDD,0xFF,0x1E,0x3C,0x7F,0xF7,0x60,0xC1,0x80, // 'p'
 | |
|   0x77,0xFF,0x1E,0x3C,0x7F,0xDD,0x83,0x06,0x0C, // 'q'
 | |
|   0xDF,0xF1,0x8C,0x63,0x00, // 'r'
 | |
|   0x7B,0x3E,0x1E,0x0F,0x37,0x80, // 's'
 | |
|   0x63,0x19,0xF6,0x31,0x8C,0x79,0xC0, // 't'
 | |
|   0xC7,0x8F,0x1E,0x3C,0x7F,0xDD,0x80, // 'u'
 | |
|   0xC7,0x8D,0x93,0x62,0x87,0x04,0x00, // 'v'
 | |
|   0xC4,0x79,0xCD,0x29,0x35,0x67,0xBC,0x63,0x0C,0x60, // 'w'
 | |
|   0xC6,0xD9,0xF1,0xC7,0xCD,0xB1,0x80, // 'x'
 | |
|   0xC7,0x8D,0x93,0x62,0xC7,0x06,0x18,0xF1,0xC0, // 'y'
 | |
|   0xFE,0x18,0x61,0x86,0x1F,0xFF,0x80, // 'z'
 | |
|   0x19,0xCC,0x63,0x3B,0x8E,0x31,0x8C,0x71,0x80, // '{'
 | |
|   0xFF,0xFF,0xFF,0xC0, // '|'
 | |
|   0xC7,0x18,0xC6,0x38,0xEE,0x63,0x19,0xCC,0x00 // '}'
 | |
| };
 | |
| const GFXglyph ArialRoundedMTBold_14Glyphs[] PROGMEM = {
 | |
| // bitmapOffset, width, height, xAdvance, xOffset, yOffset
 | |
|     {     0,   1,   1,   5,    0,    0 }, // ' '
 | |
|     {     1,   2,  10,   6,    1,  -10 }, // '!'
 | |
|     {     4,   5,   3,   8,    1,  -10 }, // '"'
 | |
|     {     6,   8,  10,   9,    0,  -10 }, // '#'
 | |
|     {    16,   7,  15,   9,    1,  -12 }, // '$'
 | |
|     {    30,  11,  10,  13,    0,  -10 }, // '%'
 | |
|     {    44,  10,  10,  12,    1,  -10 }, // '&'
 | |
|     {    57,   2,   3,   4,    1,  -10 }, // '''
 | |
|     {    58,   4,  13,   6,    1,  -10 }, // '('
 | |
|     {    65,   4,  13,   6,    0,  -10 }, // ')'
 | |
|     {    72,   5,   6,   7,    1,  -11 }, // '*'
 | |
|     {    76,   8,   7,   9,    0,   -9 }, // '+'
 | |
|     {    83,   2,   4,   5,    1,   -2 }, // ','
 | |
|     {    84,   4,   2,   6,    0,   -5 }, // '-'
 | |
|     {    85,   2,   2,   5,    1,   -2 }, // '.'
 | |
|     {    86,   4,  10,   5,    0,  -10 }, // '/'
 | |
|     {    91,   7,  10,   9,    1,  -10 }, // '0'
 | |
|     {   100,   5,  10,   9,    1,  -10 }, // '1'
 | |
|     {   107,   7,  10,   9,    1,  -10 }, // '2'
 | |
|     {   116,   7,  10,   9,    1,  -10 }, // '3'
 | |
|     {   125,   8,  10,   9,    0,  -10 }, // '4'
 | |
|     {   135,   7,  10,   9,    1,  -10 }, // '5'
 | |
|     {   144,   7,  10,   9,    1,  -10 }, // '6'
 | |
|     {   153,   7,  10,   9,    1,  -10 }, // '7'
 | |
|     {   162,   7,  10,   9,    1,  -10 }, // '8'
 | |
|     {   171,   8,  10,   9,    0,  -10 }, // '9'
 | |
|     {   181,   2,   7,   5,    1,   -7 }, // ':'
 | |
|     {   183,   2,   9,   5,    1,   -7 }, // ';'
 | |
|     {   186,   7,   8,   9,    1,   -9 }, // '<'
 | |
|     {   193,   7,   5,   9,    1,   -7 }, // '='
 | |
|     {   198,   7,   8,   9,    1,   -9 }, // '>'
 | |
|     {   205,   7,  10,   9,    1,  -10 }, // '?'
 | |
|     {   214,  12,  13,  15,    1,  -10 }, // '@'
 | |
|     {   234,   9,  10,  11,    1,  -10 }, // 'A'
 | |
|     {   246,   8,  10,  11,    1,  -10 }, // 'B'
 | |
|     {   256,   9,  10,  11,    1,  -10 }, // 'C'
 | |
|     {   268,   9,  10,  11,    1,  -10 }, // 'D'
 | |
|     {   280,   8,  10,  10,    1,  -10 }, // 'E'
 | |
|     {   290,   7,  10,   9,    1,  -10 }, // 'F'
 | |
|     {   299,   9,  10,  12,    1,  -10 }, // 'G'
 | |
|     {   311,   9,  10,  12,    1,  -10 }, // 'H'
 | |
|     {   323,   2,  10,   5,    1,  -10 }, // 'I'
 | |
|     {   326,   7,  10,   9,    0,  -10 }, // 'J'
 | |
|     {   335,   9,  10,  11,    1,  -10 }, // 'K'
 | |
|     {   347,   7,  10,   9,    1,  -10 }, // 'L'
 | |
|     {   356,  10,  10,  13,    1,  -10 }, // 'M'
 | |
|     {   369,   9,  10,  12,    1,  -10 }, // 'N'
 | |
|     {   381,  10,  10,  12,    1,  -10 }, // 'O'
 | |
|     {   394,   8,  10,  10,    1,  -10 }, // 'P'
 | |
|     {   404,  11,  11,  12,    1,  -10 }, // 'Q'
 | |
|     {   420,   8,  10,  11,    1,  -10 }, // 'R'
 | |
|     {   430,   8,  10,  10,    1,  -10 }, // 'S'
 | |
|     {   440,   8,  10,  10,    0,  -10 }, // 'T'
 | |
|     {   450,   9,  10,  12,    1,  -10 }, // 'U'
 | |
|     {   462,   9,  10,  11,    0,  -10 }, // 'V'
 | |
|     {   474,  13,  10,  14,    0,  -10 }, // 'W'
 | |
|     {   491,   8,  10,   9,    0,  -10 }, // 'X'
 | |
|     {   501,   8,  10,  10,    0,  -10 }, // 'Y'
 | |
|     {   511,   9,  10,  10,    0,  -10 }, // 'Z'
 | |
|     {   523,   4,  13,   6,    1,  -10 }, // '['
 | |
|     {   530,   4,  10,   5,    0,  -10 }, // '\'
 | |
|     {   535,   4,  13,   6,    0,  -10 }, // ']'
 | |
|     {   542,   6,   6,   9,    1,  -10 }, // '^'
 | |
|     {   547,   7,   1,   8,    0,    1 }, // '_'
 | |
|     {   548,   2,   2,   6,    1,  -10 }, // '`'
 | |
|     {   549,   7,   7,   9,    1,   -7 }, // 'a'
 | |
|     {   556,   7,  10,  10,    1,  -10 }, // 'b'
 | |
|     {   565,   7,   7,   9,    1,   -7 }, // 'c'
 | |
|     {   572,   7,  10,  10,    1,  -10 }, // 'd'
 | |
|     {   581,   7,   7,   9,    1,   -7 }, // 'e'
 | |
|     {   588,   5,  10,   6,    0,  -10 }, // 'f'
 | |
|     {   595,   7,  10,  10,    1,   -7 }, // 'g'
 | |
|     {   604,   7,  10,   9,    1,  -10 }, // 'h'
 | |
|     {   613,   2,  10,   5,    1,  -10 }, // 'i'
 | |
|     {   616,   4,  13,   5,   -1,  -10 }, // 'j'
 | |
|     {   623,   7,  10,   9,    1,  -10 }, // 'k'
 | |
|     {   632,   2,  10,   5,    1,  -10 }, // 'l'
 | |
|     {   635,  11,   7,  13,    1,   -7 }, // 'm'
 | |
|     {   645,   7,   7,   9,    1,   -7 }, // 'n'
 | |
|     {   652,   7,   7,   9,    1,   -7 }, // 'o'
 | |
|     {   659,   7,  10,  10,    1,   -7 }, // 'p'
 | |
|     {   668,   7,  10,  10,    1,   -7 }, // 'q'
 | |
|     {   677,   5,   7,   7,    1,   -7 }, // 'r'
 | |
|     {   682,   6,   7,   9,    1,   -7 }, // 's'
 | |
|     {   688,   5,  10,   6,    0,  -10 }, // 't'
 | |
|     {   695,   7,   7,   9,    1,   -7 }, // 'u'
 | |
|     {   702,   7,   7,   9,    0,   -7 }, // 'v'
 | |
|     {   709,  11,   7,  12,    0,   -7 }, // 'w'
 | |
|     {   719,   7,   7,   8,    0,   -7 }, // 'x'
 | |
|     {   726,   7,  10,   9,    0,   -7 }, // 'y'
 | |
|     {   735,   7,   7,   8,    0,   -7 }, // 'z'
 | |
|     {   742,   5,  13,   6,    0,  -10 }, // '{'
 | |
|     {   751,   2,  13,   5,    1,  -10 }, // '|'
 | |
|     {   755,   5,  13,   6,    1,  -10 } // '}' character 0x7D
 | |
| };
 | |
| const GFXfont ArialRoundedMTBold_14 PROGMEM = {    // Last character bug fixed 0x7E to 0x7D
 | |
| (uint8_t  *)ArialRoundedMTBold_14Bitmaps,(GFXglyph *)ArialRoundedMTBold_14Glyphs,0x20, 0x7D, 17};
 | |
| 
 |