// // Font data for Tahoma 16pt // // Generated by The Dot Factory: // http://www.eran.io/the-dot-factory-an-lcd-font-and-image-generator/ // ///////////////////////////////////////////////////////////////////////////////////////////////////// // // Dot Factory Settings // // Flip/Rotate Padding Removal Line Wrap Descriptors // [X] Flip X Height(Y): Tightest (O) At column [X] Generate descriptor array // [ ] Flip Y Width(X): Tightest ( ) At bitmap Char Width: In Bits // 90deg Char Height: In Bits // Font Height: In Bits // Comments Byte [ ] Multiple descriptor arrays // [X] Variable Name Bit layout: RowMajor // [X] BMP visualise [#] Order: MSBfirst Create new when exceeds [80] // [X] Char descriptor Format: Hex // Style: Cpp Leading: 0x Image width: In Bits // Image height: In Bits // Variable name format // Bitmaps: const uint8_t PROGMEM {0}Bitmaps Space char generation // Char Info: const FONT_CHAR_INFO PROGMEM {0}Descriptors [ ] Generate space bitmap // Font Info: const FONT_INFO {0}FontInfo [2] pixels for space char // Width: const uint8_t {0}Width // Height: const uint8_t {0}Height // ///////////////////////////////////////////////////////////////////////////////////////////////////// #include "tahoma16.h" // Character bitmaps for Tahoma 16pt const uint8_t tahoma_16ptBitmaps[] PROGMEM = { // @0 '.' (4 pixels wide) 0x00, 0x0F, // #### 0x00, 0x0F, // #### 0x00, 0x0F, // #### 0x00, 0x0F, // #### // @8 '0' (11 pixels wide) 0x0F, 0xF0, // ######## 0x3F, 0xFC, // ############ 0x7F, 0xFE, // ############## 0xFF, 0xFF, // ################ 0xF0, 0x0F, // #### #### 0xE0, 0x07, // ### ### 0xF0, 0x0F, // #### #### 0xFF, 0xFF, // ################ 0x7F, 0xFE, // ############## 0x3F, 0xFC, // ############ 0x0F, 0xF0, // ######## // @30 '1' (10 pixels wide) 0x38, 0x07, // ### ### 0x38, 0x07, // ### ### 0x38, 0x07, // ### ### 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0x00, 0x07, // ### 0x00, 0x07, // ### 0x00, 0x07, // ### // @50 '2' (11 pixels wide) 0x70, 0x07, // ### ### 0xE0, 0x0F, // ### #### 0xE0, 0x1F, // ### ##### 0xE0, 0x3F, // ### ###### 0xE0, 0x7F, // ### ####### 0xF1, 0xF7, // #### ##### ### 0xFF, 0xE7, // ########### ### 0x7F, 0xC7, // ######### ### 0x7F, 0x87, // ######## ### 0x3E, 0x07, // ##### ### 0x00, 0x07, // ### // @72 '3' (11 pixels wide) 0x70, 0x0E, // ### ### 0xF0, 0x0F, // #### #### 0xE0, 0x07, // ### ### 0xE3, 0x87, // ### ### ### 0xE3, 0x87, // ### ### ### 0xE3, 0x87, // ### ### ### 0xE7, 0xCF, // ### ##### #### 0xFF, 0xFF, // ################ 0x7E, 0xFE, // ###### ####### 0x7E, 0xFE, // ###### ####### 0x3C, 0x78, // #### #### // @94 '4' (12 pixels wide) 0x00, 0xF0, // #### 0x01, 0xF0, // ##### 0x07, 0x70, // ### ### 0x0E, 0x70, // ### ### 0x38, 0x70, // ### ### 0x70, 0x70, // ### ### 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0x00, 0x70, // ### 0x00, 0x70, // ### // @118 '5' (11 pixels wide) 0x00, 0x0E, // ### 0xFF, 0x87, // ######### ### 0xFF, 0x87, // ######### ### 0xFF, 0x87, // ######### ### 0xFF, 0x87, // ######### ### 0xE3, 0x87, // ### ### ### 0xE3, 0xCF, // ### #### #### 0xE3, 0xFF, // ### ########## 0xE3, 0xFE, // ### ######### 0xE1, 0xFC, // ### ####### 0xE0, 0xF8, // ### ##### // @140 '6' (11 pixels wide) 0x07, 0xF0, // ####### 0x1F, 0xFC, // ########### 0x3F, 0xFE, // ############# 0x7F, 0xFF, // ############### 0xFB, 0x0F, // ##### ## #### 0xF7, 0x07, // #### ### ### 0xE7, 0x8F, // ### #### #### 0xE7, 0xFF, // ### ########### 0xE7, 0xFE, // ### ########## 0xE3, 0xFC, // ### ######## 0x01, 0xF8, // ###### // @162 '7' (11 pixels wide) 0xE0, 0x01, // ### # 0xE0, 0x07, // ### ### 0xE0, 0x1F, // ### ##### 0xE0, 0x7F, // ### ####### 0xE1, 0xFF, // ### ######### 0xE7, 0xFC, // ### ######### 0xFF, 0xF0, // ############ 0xFF, 0xC0, // ########## 0xFF, 0x00, // ######## 0xFC, 0x00, // ###### 0xF0, 0x00, // #### // @184 '8' (11 pixels wide) 0x3C, 0x3C, // #### #### 0x7E, 0xFE, // ###### ####### 0x7F, 0xFE, // ############## 0xFF, 0xFF, // ################ 0xE7, 0x8F, // ### #### #### 0xE3, 0x87, // ### ### ### 0xE3, 0xC7, // ### #### ### 0xFF, 0xFF, // ################ 0x7F, 0xFE, // ############## 0x7E, 0xFE, // ###### ####### 0x3C, 0x7C, // #### ##### // @206 '9' (11 pixels wide) 0x1F, 0x80, // ###### 0x3F, 0xC7, // ######## ### 0x7F, 0xE7, // ########## ### 0xFF, 0xE7, // ########### ### 0xF1, 0xE7, // #### #### ### 0xE0, 0xEF, // ### ### #### 0xF0, 0xDF, // #### ## ##### 0xFF, 0xFE, // ############### 0x7F, 0xFC, // ############# 0x3F, 0xF8, // ########### 0x0F, 0xE0, // ####### // @228 '`' (8 pixels wide) 0x3C, 0x00, // #### 0x7E, 0x00, // ###### 0xE7, 0x00, // ### ### 0xC3, 0x00, // ## ## 0xC3, 0x00, // ## ## 0xE7, 0x00, // ### ### 0x7E, 0x00, // ###### 0x3C, 0x00, // #### // @244 'C' (12 pixels wide) 0x07, 0xE0, // ###### 0x1F, 0xF8, // ########## 0x3F, 0xFC, // ############ 0x7F, 0xFE, // ############## 0xF8, 0x1F, // ##### ##### 0xF0, 0x0F, // #### #### 0xE0, 0x07, // ### ### 0xE0, 0x07, // ### ### 0xE0, 0x07, // ### ### 0xE0, 0x07, // ### ### 0x70, 0x0E, // ### ### 0x78, 0x1E, // #### #### // @268 ':' (4 pixels wide) 0x3C, 0x3C, // #### #### 0x3C, 0x3C, // #### #### 0x3C, 0x3C, // #### #### 0x3C, 0x3C, // #### #### // @276 ' ' (4 pixels wide) 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // 0x00, 0x00, // // @284 '-' (4 pixels wide) 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x03, 0xC0, // #### 0x03, 0xC0, // #### // @300 'F' (9 pixels wide) 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0xFF, 0xFF, // ################ 0xE3, 0x80, // ### ### 0xE3, 0x80, // ### ### 0xE3, 0x80, // ### ### 0xE3, 0x80, // ### ### 0xE3, 0x80, // ### ### 0xE3, 0x80, // ### ### }; // Character descriptors for Tahoma 16pt // { [Char width in bits], [Char height in bits], [Offset into tahoma_16ptCharBitmaps in bytes] } const FONT_CHAR_INFO tahoma_16ptDescriptors[] PROGMEM = { {4, 16, 276}, // ' ' {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}, // , {8, 16, 284}, // - {4, 16, 0}, // '.' {0, 0, 0}, // '/' {11, 16, 8}, // '0' {10, 16, 30}, // '1' {11, 16, 50}, // '2' {11, 16, 72}, // '3' {12, 16, 94}, // '4' {11, 16, 118}, // '5' {11, 16, 140}, // '6' {11, 16, 162}, // '7' {11, 16, 184}, // '8' {11, 16, 206}, // '9' {4, 16, 268}, // ':' {0, 0, 0}, // ';' {0, 0, 0}, // '<' {0, 0, 0}, // '=' {0, 0, 0}, // '>' {0, 0, 0}, // '?' {0, 0, 0}, // '@' {0, 0, 0}, // 'A' {0, 0, 0}, // 'B' {12, 16, 244}, // 'C' {0, 0, 0}, // 'D' {0, 0, 0}, // 'E' {10, 16, 300}, // 'F' {0, 0, 0}, // 'G' {0, 0, 0}, // 'H' {0, 0, 0}, // 'I' {0, 0, 0}, // 'J' {0, 0, 0}, // 'K' {0, 0, 0}, // 'L' {0, 0, 0}, // 'M' {0, 0, 0}, // 'N' {0, 0, 0}, // 'O' {0, 0, 0}, // 'P' {0, 0, 0}, // 'Q' {0, 0, 0}, // 'R' {0, 0, 0}, // 'S' {0, 0, 0}, // 'T' {0, 0, 0}, // 'U' {0, 0, 0}, // 'V' {0, 0, 0}, // 'W' {0, 0, 0}, // 'X' {0, 0, 0}, // 'Y' {0, 0, 0}, // 'Z' {0, 0, 0}, // '[' {0, 0, 0}, // '\' {0, 0, 0}, // ']' {0, 0, 0}, // '^' {0, 0, 0}, // '_' {8, 16, 228}, // '`' use for degree symbol }; // Font information for Tahoma 16pt // easier to leave in RAM, not that big anyway const FONT_INFO tahoma_16ptFontInfo = { 16, // Character height ' ', // Start character '`', // End character 2, // Width, in pixels, of space character tahoma_16ptDescriptors, // Character descriptor array tahoma_16ptBitmaps, // Character bitmap array };