Det sket sig som vanligt. Det gick inte bara att blåsa upp storleken till den jag ville. Det händer något vid sista raden.
Tycker det här är konstigt. Jag tar en font som dom redan har i biblioteket som ska vara 21 pixlar hög (koden nedan). Skriver jag sedan ut den 3 ggr så syns bara halva tredje tecknet på en 128x64-oled. Är inte det konstigt?
Kod: Markera allt
/*
*
* Cooper21
* Cooper std black size20
*
* created with GLCDFontCreator
* original framework by F. Maximilian Thiele
* Modified By Siddharth Kaul
*
*
* File Name : cooper21.h
* Date : 10.11.2012
* Font size in bytes : 23979
* Font width : 10
* Font height : 21
* Font first char : 32
* Font last char : 128
* Font used chars : 96
*
* The font data are defined as
*
* struct _FONT_ {
* uint16_t font_Size_in_Bytes_over_all_included_Size_it_self;
* uint8_t font_Width_in_Pixel_for_fixed_drawing;
* uint8_t font_Height_in_Pixel_for_all_characters;
* unit8_t font_First_Char;
* uint8_t font_Char_Count;
*
* uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1];
* // for each character the separate width in pixels,
* // characters < 128 have an implicit virtual right empty row
*
* uint8_t font_data[];
* // bit field of all characters
*/
#ifndef _Cooper21_H
#define _Cooper21_H
#define Cooper21_WIDTH 10
#define Cooper21_HEIGHT 21
GLCDFONTDECL(Cooper21) = {
0x5D, 0xAB, // size
0x0A, // width
0x15, // height
0x20, // first char
0x60, // char count
// char widths
0x05, 0x05, 0x0A, 0x09, 0x0B, 0x11, 0x12, 0x05, 0x0A, 0x09,
0x08, 0x0A, 0x05, 0x06, 0x05, 0x0A, 0x0C, 0x0B, 0x0C, 0x0C,
0x0C, 0x0B, 0x0D, 0x0C, 0x0C, 0x0C, 0x05, 0x05, 0x0A, 0x0A,
0x0A, 0x0A, 0x0F, 0x12, 0x0F, 0x0E, 0x10, 0x0F, 0x0E, 0x10,
0x10, 0x09, 0x0E, 0x12, 0x0D, 0x12, 0x12, 0x0F, 0x0E, 0x0F,
0x10, 0x0C, 0x0F, 0x11, 0x11, 0x16, 0x10, 0x10, 0x0E, 0x08,
0x0A, 0x08, 0x0A, 0x0A, 0x05, 0x0C, 0x0D, 0x0B, 0x0E, 0x0B,
0x09, 0x0C, 0x0E, 0x07, 0x06, 0x10, 0x08, 0x14, 0x0E, 0x0D,
0x0E, 0x0E, 0x0B, 0x09, 0x0A, 0x0E, 0x0D, 0x15, 0x0D, 0x0D,
0x0B, 0x08, 0x02, 0x08, 0x0A, 0x0A,
// font data
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 <space>
0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x60, 0xF1, 0xF3, 0xF1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // 33
0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34
0x00, 0x00, 0x00, 0xE0, 0x20, 0x00, 0xE0, 0x60, 0x00, 0x1B, 0xDB, 0xFF, 0x1F, 0x9B, 0xFF, 0x1F, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35
0xC0, 0xE0, 0xF0, 0xF0, 0xFC, 0xBC, 0x30, 0x70, 0x70, 0xF0, 0x40, 0x79, 0x77, 0xE7, 0xCF, 0xCF, 0xCF, 0xFF, 0xFF, 0x7E, 0x7E, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // 36
0x70, 0xF8, 0xF8, 0xCC, 0x9C, 0xFC, 0xF8, 0x70, 0x80, 0xC0, 0x70, 0x38, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0xC1, 0x71, 0x18, 0x0E, 0x03, 0x39, 0x7C, 0xFC, 0xE6, 0xCE, 0xFE, 0x7C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37
0x70, 0xF8, 0xF8, 0xFC, 0xFC, 0x8C, 0x8C, 0x1C, 0x18, 0x80, 0x80, 0xC0, 0xE8, 0xFC, 0xFC, 0xFC, 0x7C, 0x38, 0x0E, 0x3F, 0x7F, 0x7F, 0xFF, 0xF1, 0xE1, 0xCE, 0xCF, 0xC7, 0xE7, 0x7F, 0x7F, 0x7F, 0x3D, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38
0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 39
...
};
#endif