First version of my font renderer.
+ monospaced fonts + max 8px height. + can render at any x/y + can render upside down
This commit is contained in:
parent
0c23bf065d
commit
5facffc3e1
|
@ -0,0 +1,70 @@
|
||||||
|
##########################################################################
|
||||||
|
# User configuration and firmware specific object files
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
# The target, flash and ram of the LPC1xxx microprocessor.
|
||||||
|
# Use for the target the value: LPC11xx, LPC13xx or LPC17xx
|
||||||
|
TARGET = LPC13xx
|
||||||
|
|
||||||
|
OBJS =
|
||||||
|
OBJS += smallfonts.o
|
||||||
|
OBJS += veramono9.o
|
||||||
|
|
||||||
|
OBJS += display.o
|
||||||
|
OBJS += render.o
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
# GNU GCC compiler prefix and location
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
CROSS_COMPILE = arm-none-eabi-
|
||||||
|
AS = $(CROSS_COMPILE)gcc
|
||||||
|
CC = $(CROSS_COMPILE)gcc
|
||||||
|
LD = $(CROSS_COMPILE)gcc
|
||||||
|
AR = $(CROSS_COMPILE)ar
|
||||||
|
SIZE = $(CROSS_COMPILE)size
|
||||||
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||||
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
||||||
|
OUTFILE = firmware
|
||||||
|
LPCRC = ./lpcrc
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
# GNU GCC compiler flags
|
||||||
|
##########################################################################
|
||||||
|
ROOT_PATH = .
|
||||||
|
INCLUDE_PATHS = -I$(ROOT_PATH) -I../core
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
# Startup files
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
ifeq (LPC11xx,$(TARGET))
|
||||||
|
CORTEX_TYPE=m0
|
||||||
|
else
|
||||||
|
CORTEX_TYPE=m3
|
||||||
|
endif
|
||||||
|
|
||||||
|
CPU_TYPE = cortex-$(CORTEX_TYPE)
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
# Compiler settings, parameters and flags
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
CFLAGS = -c -g -Os $(INCLUDE_PATHS) -Wall -mthumb -ffunction-sections -fdata-sections -fmessage-length=0 -mcpu=$(CPU_TYPE) -DTARGET=$(TARGET) -fno-builtin
|
||||||
|
LDFLAGS = -nostartfiles -mthumb -mcpu=$(CPU_TYPE) -Wl,--gc-sections
|
||||||
|
|
||||||
|
all: libfont.a
|
||||||
|
|
||||||
|
libfont.a: $(OBJS)
|
||||||
|
$(AR) rcs libfont.a $(OBJS)
|
||||||
|
|
||||||
|
%.o : %.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(OBJS) libfont.a
|
||||||
|
|
||||||
|
render.o: render.c render.h display.h fonts.h
|
||||||
|
smallfonts.o: smallfonts.c smallfonts.h fonts.h
|
||||||
|
veramono9.o: veramono9.c veramono9.h fonts.h
|
||||||
|
|
|
@ -0,0 +1,157 @@
|
||||||
|
#include <display.h>
|
||||||
|
#include <sysdefs.h>
|
||||||
|
#include "lpc134x.h"
|
||||||
|
#include "gpio/gpio.h"
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************/
|
||||||
|
/*!
|
||||||
|
Approximates a 1 millisecond delay using "nop". This is less
|
||||||
|
accurate than a dedicated timer, but is useful in certain situations.
|
||||||
|
|
||||||
|
The number of ticks to delay depends on the optimisation level set
|
||||||
|
when compiling (-O). Depending on the compiler settings, one of the
|
||||||
|
two defined values for 'delay' should be used.
|
||||||
|
*/
|
||||||
|
/**************************************************************************/
|
||||||
|
void delayms(uint32_t ms)
|
||||||
|
{
|
||||||
|
uint32_t delay = ms * ((CFG_CPU_CCLK / 100) / 45); // Release Mode (-Os)
|
||||||
|
// uint32_t delay = ms * ((CFG_CPU_CCLK / 100) / 120); // Debug Mode (No optimisations)
|
||||||
|
|
||||||
|
while (delay > 0)
|
||||||
|
{
|
||||||
|
__asm volatile ("nop");
|
||||||
|
delay--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************************************************************************/
|
||||||
|
/* Utility routines to manage nokia display */
|
||||||
|
/**************************************************************************/
|
||||||
|
|
||||||
|
uint8_t buffer[RESX*RESY_B];
|
||||||
|
|
||||||
|
#define CS 2,1
|
||||||
|
#define SCK 0,10
|
||||||
|
#define SDA 0,9
|
||||||
|
#define RST 2,2
|
||||||
|
|
||||||
|
void write(uint8_t cd, uint8_t data)
|
||||||
|
{
|
||||||
|
uint8_t i;
|
||||||
|
|
||||||
|
gpioSetDir(SDA, 1);
|
||||||
|
gpioSetValue(SCK, 0);
|
||||||
|
//delayms(0);
|
||||||
|
gpioSetValue(CS, 0);
|
||||||
|
//delayms(0);
|
||||||
|
|
||||||
|
gpioSetValue(SDA, cd);
|
||||||
|
//delayms(0);
|
||||||
|
gpioSetValue(SCK, 1);
|
||||||
|
//delayms(0);
|
||||||
|
|
||||||
|
for(i=0; i<8; i++){
|
||||||
|
gpioSetValue(SCK, 0);
|
||||||
|
//delayms(0);
|
||||||
|
if( data & 0x80 )
|
||||||
|
gpioSetValue(SDA, 1);
|
||||||
|
else
|
||||||
|
gpioSetValue(SDA, 0);
|
||||||
|
data <<= 1;
|
||||||
|
gpioSetValue(SCK, 1);
|
||||||
|
//delayms(1);
|
||||||
|
}
|
||||||
|
gpioSetValue(CS, 0);
|
||||||
|
//delayms(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void read(uint8_t data)
|
||||||
|
{
|
||||||
|
uint8_t i;
|
||||||
|
|
||||||
|
gpioSetDir(SDA, 1);
|
||||||
|
gpioSetValue(SCK, 0);
|
||||||
|
delayms(1);
|
||||||
|
gpioSetValue(CS, 0);
|
||||||
|
delayms(1);
|
||||||
|
|
||||||
|
gpioSetValue(SDA, 0);
|
||||||
|
delayms(1);
|
||||||
|
gpioSetValue(SCK, 1);
|
||||||
|
delayms(1);
|
||||||
|
|
||||||
|
for(i=0; i<8; i++){
|
||||||
|
gpioSetValue(SCK, 0);
|
||||||
|
delayms(1);
|
||||||
|
if( data & 0x80 )
|
||||||
|
gpioSetValue(SDA, 1);
|
||||||
|
else
|
||||||
|
gpioSetValue(SDA, 0);
|
||||||
|
data <<= 1;
|
||||||
|
gpioSetValue(SCK, 1);
|
||||||
|
delayms(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
gpioSetDir(SDA, 0);
|
||||||
|
for(i=0; i<8; i++){
|
||||||
|
gpioSetValue(SCK, 0);
|
||||||
|
delayms(1);
|
||||||
|
gpioSetValue(SCK, 1);
|
||||||
|
delayms(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
gpioSetValue(CS, 0);
|
||||||
|
delayms(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void init(void)
|
||||||
|
{
|
||||||
|
IOCON_SWCLK_PIO0_10 = 0x51;
|
||||||
|
|
||||||
|
gpioSetValue(RST, 1);
|
||||||
|
gpioSetValue(CS, 1);
|
||||||
|
|
||||||
|
gpioSetDir(RST, 1);
|
||||||
|
gpioSetDir(CS, 1);
|
||||||
|
gpioSetDir(SCK, 1);
|
||||||
|
|
||||||
|
|
||||||
|
delayms(100);
|
||||||
|
gpioSetValue(RST, 0);
|
||||||
|
delayms(100);
|
||||||
|
gpioSetValue(RST, 1);
|
||||||
|
delayms(100);
|
||||||
|
|
||||||
|
write(0,0xE2);
|
||||||
|
delayms(5);
|
||||||
|
write(0,0xAF);
|
||||||
|
write(0,0xA4);
|
||||||
|
write(0,0x2F);
|
||||||
|
write(0,0xB0);
|
||||||
|
write(0,0x10);
|
||||||
|
write(0,0x00);
|
||||||
|
|
||||||
|
uint16_t i;
|
||||||
|
for(i=0; i<100; i++)
|
||||||
|
write(1,0x00);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fill(char f){
|
||||||
|
int x;
|
||||||
|
for(x=0;x<RESX*RESY_B;x++)
|
||||||
|
buffer[x]=f;
|
||||||
|
};
|
||||||
|
|
||||||
|
void display(uint32_t shift)
|
||||||
|
{
|
||||||
|
write(0,0xB0);
|
||||||
|
write(0,0x10);
|
||||||
|
write(0,0x00);
|
||||||
|
uint16_t i,page;
|
||||||
|
for(page=0; page<RESY_B;page++)
|
||||||
|
for(i=0; i<RESX; i++)
|
||||||
|
write(1,buffer[page*RESX+((i+shift)%RESX)]);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#ifndef __DISPLAY_H_
|
||||||
|
#define __DISPLAY_H_
|
||||||
|
|
||||||
|
#include <sysdefs.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
#badge <s> 96x68
|
||||||
|
#badge <s> das farbige hat 98x70
|
||||||
|
#badge <s> das laengliche 128x32
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define RESX 96
|
||||||
|
#define RESY 68
|
||||||
|
#define RESY_B 9
|
||||||
|
|
||||||
|
|
||||||
|
/* Display buffer */
|
||||||
|
extern uint8_t buffer[RESX*RESY_B];
|
||||||
|
|
||||||
|
void write(uint8_t cd, uint8_t data);
|
||||||
|
void read(uint8_t data);
|
||||||
|
void init(void);
|
||||||
|
void fill(char f);
|
||||||
|
void display(uint32_t shift);
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,27 @@
|
||||||
|
#ifndef __FONTS_H_
|
||||||
|
#define __FONTS_H_
|
||||||
|
|
||||||
|
/* Partially based on original code for the KS0108 by Stephane Rey */
|
||||||
|
/* Based on code code by Kevin Townsend */
|
||||||
|
|
||||||
|
#include <sysdefs.h>
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
const uint8_t widthBits; // width, in bits (or pixels), of the character
|
||||||
|
const uint16_t offset; // offset of the character's bitmap, in bytes,
|
||||||
|
// into the the FONT_INFO's data array
|
||||||
|
} FONT_CHAR_INFO;
|
||||||
|
|
||||||
|
|
||||||
|
struct FONT_DEF {
|
||||||
|
uint8_t u8Width; /* Character width for storage */
|
||||||
|
uint8_t u8Height; /* Character height for storage */
|
||||||
|
uint8_t u8FirstChar; /* The first character available */
|
||||||
|
uint8_t u8LastChar; /* The last character available */
|
||||||
|
const uint8_t *au8FontTable; /* Font table start address in memory */
|
||||||
|
const FONT_CHAR_INFO *charInfo; /* Pointer to array of char information */
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct FONT_DEF * FONT;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,119 @@
|
||||||
|
#include <sysdefs.h>
|
||||||
|
#include <render.h>
|
||||||
|
#include <fonts.h>
|
||||||
|
|
||||||
|
/* Global Variables */
|
||||||
|
const struct FONT_DEF * font = NULL;
|
||||||
|
char font_direction = FONT_DIR_LTR;
|
||||||
|
|
||||||
|
/* Exported Functions */
|
||||||
|
int DoChar(int sx, int sy, char c){
|
||||||
|
int rx=RESX-sx-1;
|
||||||
|
int ry=RESY-sy-font->u8Height;
|
||||||
|
|
||||||
|
if(c<font->u8FirstChar || c>font->u8LastChar)
|
||||||
|
c=font->u8FirstChar+1; // error
|
||||||
|
|
||||||
|
int off;
|
||||||
|
int x;
|
||||||
|
int byte;
|
||||||
|
int dmul=0;
|
||||||
|
if(font_direction==FONT_DIR_RTL)
|
||||||
|
dmul=1;
|
||||||
|
else if (font_direction==FONT_DIR_LTR)
|
||||||
|
dmul=-1;
|
||||||
|
|
||||||
|
off=(c-font->u8FirstChar)*font->u8Width;
|
||||||
|
char yidx=ry/8;
|
||||||
|
if(0 && sy%8==0){
|
||||||
|
for(x=0;x<font->u8Width;x++){
|
||||||
|
buffer[(sx+x)+yidx*96]=font->au8FontTable[off+x];
|
||||||
|
};
|
||||||
|
}else{
|
||||||
|
char yoff=ry%8;
|
||||||
|
unsigned char mask;
|
||||||
|
if(font->u8Height == 6)
|
||||||
|
mask=255-3;
|
||||||
|
else
|
||||||
|
mask=255;
|
||||||
|
|
||||||
|
if(font_direction==FONT_DIR_LTR)
|
||||||
|
flip(mask);
|
||||||
|
|
||||||
|
for(x=0;x<font->u8Width;x++){
|
||||||
|
byte=font->au8FontTable[off+x];
|
||||||
|
if(font_direction==FONT_DIR_LTR)
|
||||||
|
flip(byte);
|
||||||
|
#ifdef SANITY
|
||||||
|
if(rx+x <0 || rx+x > RESX)
|
||||||
|
gpioSetValue (CFG_LED_PORT, CFG_LED_PIN, CFG_LED_ON);
|
||||||
|
if(yidx<0 || yidx> RESY/8) // Gah. non-integer height. XXX fixme
|
||||||
|
gpioSetValue (CFG_LED_PORT, CFG_LED_PIN, CFG_LED_ON);
|
||||||
|
#endif
|
||||||
|
buffer[(rx+dmul*x)+yidx*96]&=~((mask)<<yoff);
|
||||||
|
buffer[(rx+dmul*x)+yidx*96]|=byte<<yoff;
|
||||||
|
|
||||||
|
buffer[(rx+dmul*x)+(yidx+1)*96]&=~((mask)>>(8-yoff));
|
||||||
|
buffer[(rx+dmul*x)+(yidx+1)*96]|=byte>>(8-yoff);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
return sx-dmul*x;
|
||||||
|
};
|
||||||
|
|
||||||
|
int DoString(int sx, int sy, char *s){
|
||||||
|
char *c;
|
||||||
|
for(c=s;*c!=0;c++){
|
||||||
|
sx=DoChar(sx,sy,*c);
|
||||||
|
};
|
||||||
|
return sx;
|
||||||
|
};
|
||||||
|
|
||||||
|
int DoInt(int sx, int sy, int num){
|
||||||
|
#define mxlen 5
|
||||||
|
char s[(mxlen+1)];
|
||||||
|
char * o=s;
|
||||||
|
int len;
|
||||||
|
s[mxlen]=0;
|
||||||
|
char neg=0;
|
||||||
|
|
||||||
|
if(num<0){
|
||||||
|
num=-num;
|
||||||
|
neg=1;
|
||||||
|
};
|
||||||
|
|
||||||
|
for (len=(mxlen-1);len>=0;len--){
|
||||||
|
s[len]=(num%10)+'0';
|
||||||
|
if(num==0){
|
||||||
|
s[len]=' '; // configurable?
|
||||||
|
o=s+len;
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
num/=10;
|
||||||
|
};
|
||||||
|
if(neg)
|
||||||
|
*o='-';
|
||||||
|
return DoString(sx,sy,o);
|
||||||
|
#undef mxlen
|
||||||
|
};
|
||||||
|
|
||||||
|
int DoIntX(int sx, int sy, unsigned int num){
|
||||||
|
#define mxlen 8
|
||||||
|
char s[(mxlen+1)];
|
||||||
|
char * o=s;
|
||||||
|
int len;
|
||||||
|
s[mxlen]=0;
|
||||||
|
for (len=(mxlen-1);len>=0;len--){
|
||||||
|
s[len]=(num%16)+'0';
|
||||||
|
if(s[len]>'9')
|
||||||
|
s[len]+='A'-'9'-1;
|
||||||
|
if(num==0){
|
||||||
|
// s[len]=' '; // configurable?
|
||||||
|
// o=s+len; break;
|
||||||
|
};
|
||||||
|
num/=16;
|
||||||
|
};
|
||||||
|
return DoString(sx,sy,o);
|
||||||
|
#undef mxlen
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
#ifndef __RENDER_H_
|
||||||
|
#define __RENDER_H_
|
||||||
|
|
||||||
|
#include "display.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
#badge <s> 96x68
|
||||||
|
#badge <s> das farbige hat 98x70
|
||||||
|
#badge <s> das laengliche 128x32
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define RESX 96
|
||||||
|
#define RESY 68
|
||||||
|
|
||||||
|
|
||||||
|
#define FONT_DIR_LTR 0
|
||||||
|
#define FONT_DIR_RTL 1
|
||||||
|
// Not yet implemented
|
||||||
|
// #define FONT_DIR_UP 2
|
||||||
|
// #define FONT_DIR_DOWN 3
|
||||||
|
|
||||||
|
// ARM supports byte flip natively. Yay!
|
||||||
|
#define flip(byte) \
|
||||||
|
__asm("rbit %[value], %[value];" \
|
||||||
|
"rev %[value], %[value];" \
|
||||||
|
: [value] "+r" (byte) : )
|
||||||
|
|
||||||
|
/* Alternatively you could use normal byte flipping:
|
||||||
|
#define flip(c) do {\
|
||||||
|
c = ((c>>1)&0x55)|((c<<1)&0xAA); \
|
||||||
|
c = ((c>>2)&0x33)|((c<<2)&0xCC); \
|
||||||
|
c = (c>>4) | (c<<4); \
|
||||||
|
}while(0)
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern const struct FONT_DEF * font;
|
||||||
|
extern char font_direction;
|
||||||
|
|
||||||
|
int DoChar(int sx, int sy, char c);
|
||||||
|
int DoString(int sx, int sy, char *s);
|
||||||
|
int DoInt(int sx, int sy, int num);
|
||||||
|
int DoIntX(int sx, int sy, unsigned int num);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,556 @@
|
||||||
|
/* Partially based on original code for the KS0108 by Stephane Rey */
|
||||||
|
|
||||||
|
/**************************************************************************/
|
||||||
|
/*!
|
||||||
|
@file smallfonts.c
|
||||||
|
@author K. Townsend (microBuilder.eu)
|
||||||
|
@date 22 March 2010
|
||||||
|
@version 0.10
|
||||||
|
|
||||||
|
@section LICENSE
|
||||||
|
|
||||||
|
Software License Agreement (BSD License)
|
||||||
|
|
||||||
|
Copyright (c) 2010, microBuilder SARL
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of the copyright holders nor the
|
||||||
|
names of its contributors may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
|
||||||
|
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
/**************************************************************************/
|
||||||
|
#include "smallfonts.h"
|
||||||
|
|
||||||
|
/* System 3x6 - UPPER CASE ONLY */
|
||||||
|
const uint8_t au8Font3x6[]= {
|
||||||
|
0x00,0x00,0x00, /* Space */
|
||||||
|
0x00,0x5C,0x00, /* ! */
|
||||||
|
0x0C,0x00,0x0C, /* " */
|
||||||
|
0x7C,0x28,0x7C, /* # */
|
||||||
|
0x7C,0x44,0x7C, /* $ */
|
||||||
|
0x24,0x10,0x48, /* % */
|
||||||
|
0x28,0x54,0x08, /* & */
|
||||||
|
0x00,0x0C,0x00, /* ' */
|
||||||
|
0x38,0x44,0x00, /* ( */
|
||||||
|
0x44,0x38,0x00, /* ) */
|
||||||
|
0x20,0x10,0x08, /* / */
|
||||||
|
0x10,0x38,0x10, /* + */
|
||||||
|
0x80,0x40,0x00, /* , */
|
||||||
|
0x10,0x10,0x10, /* - */
|
||||||
|
0x00,0x40,0x00, /* . */
|
||||||
|
0x20,0x10,0x08, /* / */
|
||||||
|
0x38,0x44,0x38, /* 0 */
|
||||||
|
0x00,0x7C,0x00, /* 1 */
|
||||||
|
0x64,0x54,0x48, /* 2 */
|
||||||
|
0x44,0x54,0x28, /* 3 */
|
||||||
|
0x1C,0x10,0x7C, /* 4 */
|
||||||
|
0x4C,0x54,0x24, /* 5 */
|
||||||
|
0x38,0x54,0x20, /* 6 */
|
||||||
|
0x04,0x74,0x0C, /* 7 */
|
||||||
|
0x28,0x54,0x28, /* 8 */
|
||||||
|
0x08,0x54,0x38, /* 9 */
|
||||||
|
0x00,0x50,0x00, /* : */
|
||||||
|
0x80,0x50,0x00, /* ; */
|
||||||
|
0x10,0x28,0x44, /* < */
|
||||||
|
0x28,0x28,0x28, /* = */
|
||||||
|
0x44,0x28,0x10, /* > */
|
||||||
|
0x04,0x54,0x08, /* ? */
|
||||||
|
0x38,0x4C,0x5C, /* @ */
|
||||||
|
0x78,0x14,0x78, /* A */
|
||||||
|
0x7C,0x54,0x28, /* B */
|
||||||
|
0x38,0x44,0x44, /* C */
|
||||||
|
0x7C,0x44,0x38, /* D */
|
||||||
|
0x7C,0x54,0x44, /* E */
|
||||||
|
0x7C,0x14,0x04, /* F */
|
||||||
|
0x38,0x44,0x34, /* G */
|
||||||
|
0x7C,0x10,0x7C, /* H */
|
||||||
|
0x00,0x7C,0x00, /* I */
|
||||||
|
0x20,0x40,0x3C, /* J */
|
||||||
|
0x7C,0x10,0x6C, /* K */
|
||||||
|
0x7C,0x40,0x40, /* L */
|
||||||
|
0x7C,0x08,0x7C, /* M */
|
||||||
|
0x7C,0x04,0x7C, /* N */
|
||||||
|
0x7C,0x44,0x7C, /* O */
|
||||||
|
0x7C,0x14,0x08, /* P */
|
||||||
|
0x38,0x44,0x78, /* Q */
|
||||||
|
0x7C,0x14,0x68, /* R */
|
||||||
|
0x48,0x54,0x24, /* S */
|
||||||
|
0x04,0x7C,0x04, /* T */
|
||||||
|
0x7C,0x40,0x7C, /* U */
|
||||||
|
0x3C,0x40,0x3C, /* V */
|
||||||
|
0x7C,0x20,0x7C, /* W */
|
||||||
|
0x6C,0x10,0x6C, /* X */
|
||||||
|
0x1C,0x60,0x1C, /* Y */
|
||||||
|
0x64,0x54,0x4C, /* Z */
|
||||||
|
0x7C,0x44,0x00, /* [ */
|
||||||
|
0x08,0x10,0x20, /* \ */
|
||||||
|
0x44,0x7C,0x00, /* ] */
|
||||||
|
0x08,0x04,0x08, /* ^ */
|
||||||
|
0x80,0x80,0x80, /* _ */
|
||||||
|
0x04,0x08,0x00 /* ` */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* System 5x8 */
|
||||||
|
const uint8_t au8Font5x8[]=
|
||||||
|
{
|
||||||
|
0x00,0x00,0x00,0x00,0x00, /* Space */
|
||||||
|
0x00,0x00,0x4f,0x00,0x00, /* ! */
|
||||||
|
0x00,0x07,0x00,0x07,0x00, /* " */
|
||||||
|
0x14,0x7f,0x14,0x7f,0x14, /* # */
|
||||||
|
0x24,0x2a,0x7f,0x2a,0x12, /* $ */
|
||||||
|
0x23,0x13,0x08,0x64,0x62, /* % */
|
||||||
|
0x36,0x49,0x55,0x22,0x20, /* & */
|
||||||
|
0x00,0x05,0x03,0x00,0x00, /* ' */
|
||||||
|
0x00,0x1c,0x22,0x41,0x00, /* ( */
|
||||||
|
0x00,0x41,0x22,0x1c,0x00, /* ) */
|
||||||
|
0x14,0x08,0x3e,0x08,0x14, /* / */
|
||||||
|
0x08,0x08,0x3e,0x08,0x08, /* + */
|
||||||
|
0x50,0x30,0x00,0x00,0x00, /* , */
|
||||||
|
0x08,0x08,0x08,0x08,0x08, /* - */
|
||||||
|
0x00,0x60,0x60,0x00,0x00, /* . */
|
||||||
|
0x20,0x10,0x08,0x04,0x02, /* / */
|
||||||
|
0x3e,0x51,0x49,0x45,0x3e, /* 0 */
|
||||||
|
0x00,0x42,0x7f,0x40,0x00, /* 1 */
|
||||||
|
0x42,0x61,0x51,0x49,0x46, /* 2 */
|
||||||
|
0x21,0x41,0x45,0x4b,0x31, /* 3 */
|
||||||
|
0x18,0x14,0x12,0x7f,0x10, /* 4 */
|
||||||
|
0x27,0x45,0x45,0x45,0x39, /* 5 */
|
||||||
|
0x3c,0x4a,0x49,0x49,0x30, /* 6 */
|
||||||
|
0x01,0x71,0x09,0x05,0x03, /* 7 */
|
||||||
|
0x36,0x49,0x49,0x49,0x36, /* 8 */
|
||||||
|
0x06,0x49,0x49,0x29,0x1e, /* 9 */
|
||||||
|
0x00,0x36,0x36,0x00,0x00, /* : */
|
||||||
|
0x00,0x56,0x36,0x00,0x00, /* ; */
|
||||||
|
0x08,0x14,0x22,0x41,0x00, /* < */
|
||||||
|
0x14,0x14,0x14,0x14,0x14, /* = */
|
||||||
|
0x00,0x41,0x22,0x14,0x08, /* > */
|
||||||
|
0x02,0x01,0x51,0x09,0x06, /* ? */
|
||||||
|
0x3e,0x41,0x5d,0x55,0x1e, /* @ */
|
||||||
|
0x7e,0x11,0x11,0x11,0x7e, /* A */
|
||||||
|
0x7f,0x49,0x49,0x49,0x36, /* B */
|
||||||
|
0x3e,0x41,0x41,0x41,0x22, /* C */
|
||||||
|
0x7f,0x41,0x41,0x22,0x1c, /* D */
|
||||||
|
0x7f,0x49,0x49,0x49,0x41, /* E */
|
||||||
|
0x7f,0x09,0x09,0x09,0x01, /* F */
|
||||||
|
0x3e,0x41,0x49,0x49,0x7a, /* G */
|
||||||
|
0x7f,0x08,0x08,0x08,0x7f, /* H */
|
||||||
|
0x00,0x41,0x7f,0x41,0x00, /* I */
|
||||||
|
0x20,0x40,0x41,0x3f,0x01, /* J */
|
||||||
|
0x7f,0x08,0x14,0x22,0x41, /* K */
|
||||||
|
0x7f,0x40,0x40,0x40,0x40, /* L */
|
||||||
|
0x7f,0x02,0x0c,0x02,0x7f, /* M */
|
||||||
|
0x7f,0x04,0x08,0x10,0x7f, /* N */
|
||||||
|
0x3e,0x41,0x41,0x41,0x3e, /* O */
|
||||||
|
0x7f,0x09,0x09,0x09,0x06, /* P */
|
||||||
|
0x3e,0x41,0x51,0x21,0x5e, /* Q */
|
||||||
|
0x7f,0x09,0x19,0x29,0x46, /* R */
|
||||||
|
0x26,0x49,0x49,0x49,0x32, /* S */
|
||||||
|
0x01,0x01,0x7f,0x01,0x01, /* T */
|
||||||
|
0x3f,0x40,0x40,0x40,0x3f, /* U */
|
||||||
|
0x1f,0x20,0x40,0x20,0x1f, /* V */
|
||||||
|
0x3f,0x40,0x38,0x40,0x3f, /* W */
|
||||||
|
0x63,0x14,0x08,0x14,0x63, /* X */
|
||||||
|
0x07,0x08,0x70,0x08,0x07, /* Y */
|
||||||
|
0x61,0x51,0x49,0x45,0x43, /* Z */
|
||||||
|
0x00,0x7f,0x41,0x41,0x00, /* [ */
|
||||||
|
0x02,0x04,0x08,0x10,0x20, /* \ */
|
||||||
|
0x00,0x41,0x41,0x7f,0x00, /* ] */
|
||||||
|
0x04,0x02,0x01,0x02,0x04, /* ^ */
|
||||||
|
0x40,0x40,0x40,0x40,0x40, /* _ */
|
||||||
|
0x00,0x00,0x03,0x05,0x00, /* ` */
|
||||||
|
0x20,0x54,0x54,0x54,0x78, /* a */
|
||||||
|
0x7F,0x44,0x44,0x44,0x38, /* b */
|
||||||
|
0x38,0x44,0x44,0x44,0x44, /* c */
|
||||||
|
0x38,0x44,0x44,0x44,0x7f, /* d */
|
||||||
|
0x38,0x54,0x54,0x54,0x18, /* e */
|
||||||
|
0x04,0x04,0x7e,0x05,0x05, /* f */
|
||||||
|
0x08,0x54,0x54,0x54,0x3c, /* g */
|
||||||
|
0x7f,0x08,0x04,0x04,0x78, /* h */
|
||||||
|
0x00,0x44,0x7d,0x40,0x00, /* i */
|
||||||
|
0x20,0x40,0x44,0x3d,0x00, /* j */
|
||||||
|
0x7f,0x10,0x28,0x44,0x00, /* k */
|
||||||
|
0x00,0x41,0x7f,0x40,0x00, /* l */
|
||||||
|
0x7c,0x04,0x7c,0x04,0x78, /* m */
|
||||||
|
0x7c,0x08,0x04,0x04,0x78, /* n */
|
||||||
|
0x38,0x44,0x44,0x44,0x38, /* o */
|
||||||
|
0x7c,0x14,0x14,0x14,0x08, /* p */
|
||||||
|
0x08,0x14,0x14,0x14,0x7c, /* q */
|
||||||
|
0x7c,0x08,0x04,0x04,0x00, /* r */
|
||||||
|
0x48,0x54,0x54,0x54,0x24, /* s */
|
||||||
|
0x04,0x04,0x3f,0x44,0x44, /* t */
|
||||||
|
0x3c,0x40,0x40,0x20,0x7c, /* u */
|
||||||
|
0x1c,0x20,0x40,0x20,0x1c, /* v */
|
||||||
|
0x3c,0x40,0x30,0x40,0x3c, /* w */
|
||||||
|
0x44,0x28,0x10,0x28,0x44, /* x */
|
||||||
|
0x0c,0x50,0x50,0x50,0x3c, /* y */
|
||||||
|
0x44,0x64,0x54,0x4c,0x44, /* z */
|
||||||
|
0x08,0x36,0x41,0x41,0x00, /* { */
|
||||||
|
0x00,0x00,0x77,0x00,0x00, /* | */
|
||||||
|
0x00,0x41,0x41,0x36,0x08, /* } */
|
||||||
|
0x08,0x08,0x2a,0x1c,0x08, /* <- */
|
||||||
|
0x08,0x1c,0x2a,0x08,0x08, /* -> */
|
||||||
|
0xff,0xff,0xff,0xff,0xff, /* ^? */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* System 7x8 */
|
||||||
|
const uint8_t au8Font7x8[]=
|
||||||
|
{
|
||||||
|
0, 0, 0, 0, 0, 0, 0, //' '
|
||||||
|
0, 6, 95, 95, 6, 0, 0, //'!'
|
||||||
|
0, 7, 7, 0, 7, 7, 0, //'"'
|
||||||
|
20, 127, 127, 20, 127, 127, 20, //'#'
|
||||||
|
36, 46, 107, 107, 58, 18, 0, //'$'
|
||||||
|
70, 102, 48, 24, 12, 102, 98, //'%'
|
||||||
|
48, 122, 79, 93, 55, 122, 72, //'&'
|
||||||
|
4, 7, 3, 0, 0, 0, 0, //'''
|
||||||
|
0, 28, 62, 99, 65, 0, 0, //'('
|
||||||
|
0, 65, 99, 62, 28, 0, 0, //')'
|
||||||
|
8, 42, 62, 28, 28, 62, 42, //'*'
|
||||||
|
8, 8, 62, 62, 8, 8, 0, //'+'
|
||||||
|
0, 128, 224, 96, 0, 0, 0, //','
|
||||||
|
8, 8, 8, 8, 8, 8, 0, //'-'
|
||||||
|
0, 0, 96, 96, 0, 0, 0, //'.'
|
||||||
|
96, 48, 24, 12, 6, 3, 1, //'/'
|
||||||
|
62, 127, 113, 89, 77, 127, 62, //'0'
|
||||||
|
64, 66, 127, 127, 64, 64, 0, //'1'
|
||||||
|
98, 115, 89, 73, 111, 102, 0, //'2'
|
||||||
|
34, 99, 73, 73, 127, 54, 0, //'3'
|
||||||
|
24, 28, 22, 83, 127, 127, 80, //'4'
|
||||||
|
39, 103, 69, 69, 125, 57, 0, //'5'
|
||||||
|
60, 126, 75, 73, 121, 48, 0, //'6'
|
||||||
|
3, 3, 113, 121, 15, 7, 0, //'7'
|
||||||
|
54, 127, 73, 73, 127, 54, 0, //'8'
|
||||||
|
6, 79, 73, 105, 63, 30, 0, //'9'
|
||||||
|
0, 0, 102, 102, 0, 0, 0, //':'
|
||||||
|
0, 128, 230, 102, 0, 0, 0, //';'
|
||||||
|
8, 28, 54, 99, 65, 0, 0, //'<'
|
||||||
|
36, 36, 36, 36, 36, 36, 0, //'='
|
||||||
|
0, 65, 99, 54, 28, 8, 0, //'>'
|
||||||
|
2, 3, 81, 89, 15, 6, 0, //'?'
|
||||||
|
62, 127, 65, 93, 93, 31, 30, //'@'
|
||||||
|
124,126, 19, 19, 126, 124, 0, //'A'
|
||||||
|
65, 127, 127, 73, 73, 127, 54, //'B'
|
||||||
|
28, 62, 99, 65, 65, 99, 34, //'C'
|
||||||
|
65, 127, 127, 65, 99, 62, 28, //'D'
|
||||||
|
65, 127, 127, 73, 93, 65, 99, //'E'
|
||||||
|
65, 127, 127, 73, 29, 1, 3, //'F'
|
||||||
|
28, 62, 99, 65, 81, 115, 114, //'G'
|
||||||
|
127,127, 8, 8, 127, 127, 0, //'H'
|
||||||
|
0, 65, 127, 127, 65, 0, 0, //'I'
|
||||||
|
48, 112, 64, 65, 127, 63, 1, //'J'
|
||||||
|
65, 127, 127, 8, 28, 119, 99, //'K'
|
||||||
|
65, 127, 127, 65, 64, 96, 112, //'L'
|
||||||
|
127,127, 14, 28, 14, 127, 127, //'M'
|
||||||
|
127,127, 6, 12, 24, 127, 127, //'N'
|
||||||
|
28, 62, 99, 65, 99, 62, 28, //'O'
|
||||||
|
65, 127, 127, 73, 9, 15, 6, //'P'
|
||||||
|
30, 63, 33, 113, 127, 94, 0, //'Q'
|
||||||
|
65, 127, 127, 9, 25, 127, 102, //'R'
|
||||||
|
38, 111, 77, 89, 115, 50, 0, //'S'
|
||||||
|
3, 65, 127, 127, 65, 3, 0, //'T'
|
||||||
|
127,127, 64, 64, 127, 127, 0, //'U'
|
||||||
|
31, 63, 96, 96, 63, 31, 0, //'V'
|
||||||
|
127,127, 48, 24, 48, 127, 127, //'W'
|
||||||
|
67, 103, 60, 24, 60, 103, 67, //'X'
|
||||||
|
7, 79, 120, 120, 79, 7, 0, //'Y'
|
||||||
|
71, 99, 113, 89, 77, 103, 115, //'Z'
|
||||||
|
0, 127, 127, 65, 65, 0, 0, //'['
|
||||||
|
1, 3, 6, 12, 24, 48, 96, //'\'
|
||||||
|
0, 65, 65, 127, 127, 0, 0, //']'
|
||||||
|
8, 12, 6, 3, 6, 12, 8, //'^'
|
||||||
|
128,128, 128, 128, 128, 128, 128, //'_'
|
||||||
|
0, 0, 3, 7, 4, 0, 0, //'`'
|
||||||
|
32, 116, 84, 84, 60, 120, 64, //'a'
|
||||||
|
65, 127, 63, 72, 72, 120, 48, //'b'
|
||||||
|
56, 124, 68, 68, 108, 40, 0, //'c'
|
||||||
|
48, 120, 72, 73, 63, 127, 64, //'d'
|
||||||
|
56, 124, 84, 84, 92, 24, 0, //'e'
|
||||||
|
72, 126, 127, 73, 3, 2, 0, //'f'
|
||||||
|
56, 188, 164, 164, 252, 120, 0, //'g'
|
||||||
|
65, 127, 127, 8, 4, 124, 120, //'h'
|
||||||
|
0, 68, 125, 125, 64, 0, 0, //'i'
|
||||||
|
96, 224, 128, 128, 253, 125, 0, //'j'
|
||||||
|
65, 127, 127, 16, 56, 108, 68, //'k'
|
||||||
|
0, 65, 127, 127, 64, 0, 0, //'l'
|
||||||
|
120,124, 28, 56, 28, 124, 120, //'m'
|
||||||
|
124,124, 4, 4, 124, 120, 0, //'n'
|
||||||
|
56, 124, 68, 68, 124, 56, 0, //'o'
|
||||||
|
0, 252, 252, 164, 36, 60, 24, //'p'
|
||||||
|
24, 60, 36, 164, 248, 252, 132, //'q'
|
||||||
|
68, 124, 120, 76, 4, 28, 24, //'r'
|
||||||
|
72, 92, 84, 84, 116, 36, 0, //'s'
|
||||||
|
0, 4, 62, 127, 68, 36, 0, //'t'
|
||||||
|
60, 124, 64, 64, 60, 124, 64, //'u'
|
||||||
|
28, 60, 96, 96, 60, 28, 0, //'v'
|
||||||
|
60, 124, 112, 56, 112, 124, 60, //'w'
|
||||||
|
68, 108, 56, 16, 56, 108, 68, //'x'
|
||||||
|
60, 188, 160, 160, 252, 124, 0, //'y'
|
||||||
|
76, 100, 116, 92, 76, 100, 0, //'z'
|
||||||
|
8, 8, 62, 119, 65, 65, 0, //'{'
|
||||||
|
0, 0, 0, 119, 119, 0, 0, //'|'
|
||||||
|
65, 65, 119, 62, 8, 8, 0, //'}'
|
||||||
|
2, 3, 1, 3, 2, 3, 1, //'~'
|
||||||
|
255,129, 129, 129, 129, 129, 255, //'^?'
|
||||||
|
14, 159, 145, 177, 251, 74, 0 //'?'
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 8x8 Normal */
|
||||||
|
const uint8_t au8Font8x8[]= {
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ASCII - 32
|
||||||
|
0x00,0x00,0x00,0x5F,0x5F,0x00,0x00,0x00, // ASCII - 33
|
||||||
|
0x00,0x00,0x03,0x07,0x00,0x07,0x03,0x00, // ASCII - 34
|
||||||
|
0x00,0x10,0x74,0x1C,0x77,0x1C,0x17,0x04, // ASCII - 35
|
||||||
|
0x00,0x24,0x2E,0x2A,0x7F,0x2A,0x3A,0x10, // ASCII - 36
|
||||||
|
0x00,0x4C,0x6A,0x76,0x1A,0x6A,0x56,0x33, // ASCII - 37
|
||||||
|
0x00,0x30,0x7A,0x4F,0x5D,0x37,0x7A,0x48, // ASCII - 38
|
||||||
|
0x00,0x00,0x04,0x07,0x03,0x00,0x00,0x00, // ASCII - 39
|
||||||
|
0x00,0x00,0x00,0x1C,0x3E,0x63,0x41,0x00, // ASCII - 40
|
||||||
|
0x00,0x00,0x41,0x63,0x3E,0x1C,0x00,0x00, // ASCII - 41
|
||||||
|
0x00,0x08,0x2A,0x3E,0x1C,0x3E,0x2A,0x08, // ASCII - 42
|
||||||
|
0x00,0x08,0x08,0x3E,0x3E,0x08,0x08,0x00, // ASCII - 43
|
||||||
|
0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00, // ASCII - 44
|
||||||
|
0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, // ASCII - 45
|
||||||
|
0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00, // ASCII - 46
|
||||||
|
0x00,0x60,0x30,0x18,0x0C,0x06,0x03,0x01, // ASCII - 47
|
||||||
|
0x00,0x1C,0x3E,0x61,0x43,0x3E,0x1C,0x00, // ASCII - 48
|
||||||
|
0x00,0x00,0x44,0x7F,0x7F,0x40,0x00,0x00, // ASCII - 49
|
||||||
|
0x00,0x46,0x67,0x71,0x59,0x4F,0x66,0x00, // ASCII - 50
|
||||||
|
0x00,0x22,0x63,0x49,0x4D,0x7F,0x32,0x00, // ASCII - 51
|
||||||
|
0x00,0x18,0x1C,0x52,0x7F,0x7F,0x50,0x00, // ASCII - 52
|
||||||
|
0x00,0x2F,0x6F,0x45,0x45,0x7D,0x39,0x00, // ASCII - 53
|
||||||
|
0x00,0x3C,0x7E,0x4B,0x49,0x79,0x30,0x00, // ASCII - 54
|
||||||
|
0x00,0x07,0x43,0x71,0x7D,0x0F,0x03,0x00, // ASCII - 55
|
||||||
|
0x00,0x36,0x7F,0x4D,0x59,0x7F,0x36,0x00, // ASCII - 56
|
||||||
|
0x00,0x06,0x4F,0x49,0x69,0x3F,0x1E,0x00, // ASCII - 57
|
||||||
|
0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00, // ASCII - 58
|
||||||
|
0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00, // ASCII - 59
|
||||||
|
0x00,0x00,0x08,0x1C,0x36,0x63,0x41,0x00, // ASCII - 60
|
||||||
|
0x00,0x14,0x14,0x14,0x14,0x14,0x14,0x00, // ASCII - 61
|
||||||
|
0x00,0x00,0x41,0x63,0x36,0x1C,0x08,0x00, // ASCII - 62
|
||||||
|
0x00,0x02,0x07,0x51,0x59,0x0F,0x06,0x00, // ASCII - 63
|
||||||
|
0x00,0x3E,0x41,0x5D,0x55,0x5D,0x51,0x1E, // ASCII - 64
|
||||||
|
0x00,0x40,0x70,0x1D,0x17,0x1F,0x78,0x60, // ASCII - 65
|
||||||
|
0x00,0x41,0x7F,0x7F,0x49,0x4F,0x7E,0x30, // ASCII - 66
|
||||||
|
0x00,0x1C,0x3E,0x63,0x41,0x41,0x42,0x27, // ASCII - 67
|
||||||
|
0x00,0x41,0x7F,0x7F,0x41,0x63,0x3E,0x1C, // ASCII - 68
|
||||||
|
0x00,0x41,0x7F,0x7F,0x49,0x5D,0x41,0x63, // ASCII - 69
|
||||||
|
0x00,0x41,0x7F,0x7F,0x49,0x1D,0x01,0x03, // ASCII - 70
|
||||||
|
0x00,0x1C,0x3E,0x63,0x41,0x51,0x72,0x77, // ASCII - 71
|
||||||
|
0x00,0x7F,0x7F,0x08,0x08,0x7F,0x7F,0x00, // ASCII - 72
|
||||||
|
0x00,0x00,0x41,0x7F,0x7F,0x41,0x00,0x00, // ASCII - 73
|
||||||
|
0x00,0x30,0x70,0x41,0x41,0x7F,0x3F,0x01, // ASCII - 74
|
||||||
|
0x00,0x7F,0x7F,0x08,0x1C,0x77,0x63,0x41, // ASCII - 75
|
||||||
|
0x00,0x41,0x7F,0x7F,0x41,0x40,0x60,0x70, // ASCII - 76
|
||||||
|
0x00,0x7F,0x7E,0x0C,0x18,0x0C,0x7E,0x7F, // ASCII - 77
|
||||||
|
0x00,0x7F,0x7E,0x0C,0x18,0x30,0x7F,0x7F, // ASCII - 78
|
||||||
|
0x00,0x1C,0x3E,0x63,0x41,0x63,0x3E,0x1C, // ASCII - 79
|
||||||
|
0x00,0x41,0x7F,0x7F,0x49,0x09,0x0F,0x06, // ASCII - 80
|
||||||
|
0x00,0x1C,0x3E,0x63,0x51,0x63,0x3E,0x1C, // ASCII - 81
|
||||||
|
0x00,0x7F,0x7F,0x09,0x19,0x7F,0x66,0x40, // ASCII - 82
|
||||||
|
0x00,0x66,0x6F,0x4D,0x59,0x7B,0x33,0x00, // ASCII - 83
|
||||||
|
0x00,0x03,0x41,0x7F,0x7F,0x41,0x03,0x00, // ASCII - 84
|
||||||
|
0x00,0x3F,0x7F,0x40,0x40,0x40,0x7F,0x3F, // ASCII - 85
|
||||||
|
0x00,0x03,0x0F,0x3D,0x70,0x1D,0x07,0x01, // ASCII - 86
|
||||||
|
0x00,0x0F,0x7F,0x30,0x1C,0x30,0x7F,0x0F, // ASCII - 87
|
||||||
|
0x00,0x63,0x77,0x1C,0x1C,0x77,0x63,0x00, // ASCII - 88
|
||||||
|
0x01,0x03,0x47,0x7C,0x78,0x47,0x03,0x01, // ASCII - 89
|
||||||
|
0x00,0x67,0x73,0x59,0x4D,0x67,0x73,0x00, // ASCII - 90
|
||||||
|
0x00,0x00,0x00,0x7F,0x7F,0x41,0x41,0x00, // ASCII - 91
|
||||||
|
0x00,0x01,0x03,0x06,0x0C,0x18,0x30,0x60, // ASCII - 92
|
||||||
|
0x00,0x00,0x41,0x41,0x7F,0x7F,0x00,0x00, // ASCII - 93
|
||||||
|
0x00,0x00,0x04,0x06,0x03,0x06,0x04,0x00, // ASCII - 94
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ASCII - 95
|
||||||
|
0x00,0x00,0x01,0x03,0x06,0x04,0x00,0x00, // ASCII - 96
|
||||||
|
0x00,0x68,0x6C,0x54,0x54,0x3C,0x78,0x40, // ASCII - 97
|
||||||
|
0x00,0x41,0x7F,0x3F,0x6C,0x44,0x7C,0x38, // ASCII - 98
|
||||||
|
0x00,0x38,0x7C,0x44,0x44,0x6C,0x2C,0x00, // ASCII - 99
|
||||||
|
0x00,0x38,0x7C,0x44,0x49,0x3F,0x7F,0x40, // ASCII - 100
|
||||||
|
0x00,0x38,0x7C,0x54,0x54,0x5C,0x58,0x00, // ASCII - 101
|
||||||
|
0x00,0x00,0x48,0x7E,0x7F,0x49,0x0B,0x02, // ASCII - 102
|
||||||
|
0x00,0x48,0x7C,0x34,0x34,0x2C,0x68,0x44, // ASCII - 103
|
||||||
|
0x00,0x41,0x7F,0x7F,0x08,0x04,0x7C,0x78, // ASCII - 104
|
||||||
|
0x00,0x00,0x44,0x7D,0x7D,0x40,0x00,0x00, // ASCII - 105
|
||||||
|
0x00,0x60,0x60,0x04,0x7D,0x7D,0x00,0x00, // ASCII - 106
|
||||||
|
0x00,0x41,0x7F,0x7F,0x10,0x78,0x6C,0x44, // ASCII - 107
|
||||||
|
0x00,0x00,0x41,0x7F,0x7F,0x40,0x00,0x00, // ASCII - 108
|
||||||
|
0x00,0x7C,0x7C,0x0C,0x78,0x0C,0x7C,0x78, // ASCII - 109
|
||||||
|
0x00,0x44,0x7C,0x7C,0x08,0x04,0x7C,0x78, // ASCII - 110
|
||||||
|
0x00,0x38,0x7C,0x44,0x44,0x7C,0x38,0x00, // ASCII - 111
|
||||||
|
0x00,0x04,0x7C,0x78,0x24,0x24,0x3C,0x18, // ASCII - 112
|
||||||
|
0x00,0x18,0x3C,0x24,0x24,0x78,0x7C,0x00, // ASCII - 113
|
||||||
|
0x00,0x44,0x7C,0x78,0x4C,0x04,0x1C,0x18, // ASCII - 114
|
||||||
|
0x00,0x48,0x5C,0x5C,0x74,0x74,0x24,0x00, // ASCII - 115
|
||||||
|
0x00,0x00,0x04,0x3E,0x7F,0x44,0x24,0x00, // ASCII - 116
|
||||||
|
0x00,0x3C,0x7C,0x40,0x40,0x3C,0x7C,0x40, // ASCII - 117
|
||||||
|
0x00,0x04,0x1C,0x3C,0x60,0x30,0x1C,0x04, // ASCII - 118
|
||||||
|
0x00,0x1C,0x7C,0x30,0x1C,0x30,0x7C,0x1C, // ASCII - 119
|
||||||
|
0x00,0x44,0x6C,0x3C,0x10,0x78,0x6C,0x44, // ASCII - 120
|
||||||
|
0x00,0x44,0x4C,0x1C,0x70,0x64,0x1C,0x0C, // ASCII - 121
|
||||||
|
0x00,0x4C,0x64,0x74,0x5C,0x4C,0x64,0x00, // ASCII - 122
|
||||||
|
0x00,0x08,0x08,0x3E,0x77,0x41,0x41,0x00, // ASCII - 123
|
||||||
|
0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00, // ASCII - 124
|
||||||
|
0x00,0x41,0x41,0x77,0x3E,0x08,0x08,0x00, // ASCII - 125
|
||||||
|
0x00,0x02,0x01,0x01,0x03,0x02,0x02,0x01, // ASCII - 126
|
||||||
|
0x00,0x60,0x78,0x4E,0x47,0x5E,0x78,0x60, // ASCII - 127
|
||||||
|
0x00,0x1C,0x3E,0x23,0x41,0x41,0x42,0x27, // ASCII - 128
|
||||||
|
0x00,0x3D,0x7D,0x40,0x41,0x3D,0x7C,0x40, // ASCII - 129
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 8x8 Thin */
|
||||||
|
const uint8_t au8Font8x8Thin[]= {
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,
|
||||||
|
0x00,0x14,0x7F,0x14,0x14,0x7F,0x14,0x00,
|
||||||
|
0x00,0x24,0x2A,0x6B,0x6B,0x2A,0x12,0x00,
|
||||||
|
0x00,0x46,0x26,0x10,0x08,0x64,0x62,0x00,
|
||||||
|
0x30,0x4A,0x45,0x4D,0x32,0x48,0x48,0x00,
|
||||||
|
0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x1C,0x22,0x41,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x41,0x22,0x1C,0x00,0x00,0x00,
|
||||||
|
0x08,0x2A,0x1C,0x1C,0x1C,0x2A,0x08,0x00,
|
||||||
|
0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00,
|
||||||
|
0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x00,
|
||||||
|
0x00,0x3E,0x61,0x51,0x49,0x45,0x3E,0x00,
|
||||||
|
0x00,0x44,0x42,0x7F,0x40,0x40,0x00,0x00,
|
||||||
|
0x00,0x62,0x51,0x51,0x49,0x49,0x66,0x00,
|
||||||
|
0x00,0x22,0x41,0x49,0x49,0x49,0x36,0x00,
|
||||||
|
0x10,0x18,0x14,0x52,0x7F,0x50,0x10,0x00,
|
||||||
|
0x00,0x27,0x45,0x45,0x45,0x45,0x39,0x00,
|
||||||
|
0x00,0x3C,0x4A,0x49,0x49,0x49,0x30,0x00,
|
||||||
|
0x00,0x03,0x01,0x71,0x09,0x05,0x03,0x00,
|
||||||
|
0x00,0x36,0x49,0x49,0x49,0x49,0x36,0x00,
|
||||||
|
0x00,0x06,0x49,0x49,0x49,0x29,0x1E,0x00,
|
||||||
|
0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x80,0x66,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00,
|
||||||
|
0x00,0x24,0x24,0x24,0x24,0x24,0x24,0x00,
|
||||||
|
0x00,0x00,0x00,0x41,0x22,0x14,0x08,0x00,
|
||||||
|
0x00,0x02,0x01,0x01,0x51,0x09,0x06,0x00,
|
||||||
|
0x00,0x3E,0x41,0x5D,0x55,0x55,0x1E,0x00,
|
||||||
|
0x00,0x7C,0x12,0x11,0x11,0x12,0x7C,0x00,
|
||||||
|
0x00,0x41,0x7F,0x49,0x49,0x49,0x36,0x00,
|
||||||
|
0x00,0x1C,0x22,0x41,0x41,0x41,0x22,0x00,
|
||||||
|
0x00,0x41,0x7F,0x41,0x41,0x22,0x1C,0x00,
|
||||||
|
0x00,0x41,0x7F,0x49,0x5D,0x41,0x63,0x00,
|
||||||
|
0x00,0x41,0x7F,0x49,0x1D,0x01,0x03,0x00,
|
||||||
|
0x00,0x1C,0x22,0x41,0x51,0x51,0x72,0x00,
|
||||||
|
0x00,0x7F,0x08,0x08,0x08,0x08,0x7F,0x00,
|
||||||
|
0x00,0x00,0x41,0x7F,0x41,0x00,0x00,0x00,
|
||||||
|
0x00,0x30,0x40,0x40,0x41,0x3F,0x01,0x00,
|
||||||
|
0x00,0x41,0x7F,0x08,0x14,0x22,0x41,0x40,
|
||||||
|
0x00,0x41,0x7F,0x41,0x40,0x40,0x60,0x00,
|
||||||
|
0x00,0x7F,0x01,0x02,0x04,0x02,0x01,0x7F,
|
||||||
|
0x00,0x7F,0x01,0x02,0x04,0x08,0x7F,0x00,
|
||||||
|
0x00,0x3E,0x41,0x41,0x41,0x41,0x3E,0x00,
|
||||||
|
0x00,0x41,0x7F,0x49,0x09,0x09,0x06,0x00,
|
||||||
|
0x00,0x1E,0x21,0x21,0x31,0x21,0x5E,0x40,
|
||||||
|
0x00,0x41,0x7F,0x49,0x19,0x29,0x46,0x00,
|
||||||
|
0x00,0x26,0x49,0x49,0x49,0x49,0x32,0x00,
|
||||||
|
0x00,0x03,0x01,0x41,0x7F,0x41,0x01,0x03,
|
||||||
|
0x00,0x3F,0x40,0x40,0x40,0x40,0x3F,0x00,
|
||||||
|
0x00,0x0F,0x10,0x20,0x40,0x20,0x10,0x0F,
|
||||||
|
0x00,0x3F,0x40,0x40,0x38,0x40,0x40,0x3F,
|
||||||
|
0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41,
|
||||||
|
0x00,0x01,0x02,0x44,0x78,0x44,0x02,0x01,
|
||||||
|
0x00,0x43,0x61,0x51,0x49,0x45,0x43,0x61,
|
||||||
|
0x00,0x7F,0x41,0x41,0x41,0x00,0x00,0x00,
|
||||||
|
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x00,
|
||||||
|
0x00,0x41,0x41,0x41,0x7F,0x00,0x00,0x00,
|
||||||
|
0x08,0x04,0x02,0x01,0x02,0x04,0x08,0x00,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x00,0x00,0x00,0x03,0x04,0x00,0x00,0x00,
|
||||||
|
0x00,0x20,0x54,0x54,0x54,0x54,0x78,0x40,
|
||||||
|
0x00,0x01,0x7F,0x30,0x48,0x48,0x48,0x30,
|
||||||
|
0x00,0x38,0x44,0x44,0x44,0x44,0x28,0x00,
|
||||||
|
0x00,0x30,0x48,0x48,0x48,0x31,0x7F,0x40,
|
||||||
|
0x00,0x38,0x54,0x54,0x54,0x54,0x18,0x00,
|
||||||
|
0x00,0x00,0x48,0x7E,0x49,0x01,0x02,0x00,
|
||||||
|
0x00,0x98,0xA4,0xA4,0xA4,0xA4,0x78,0x04,
|
||||||
|
0x00,0x41,0x7F,0x08,0x04,0x04,0x78,0x00,
|
||||||
|
0x00,0x00,0x44,0x7D,0x40,0x00,0x00,0x00,
|
||||||
|
0x00,0x60,0x80,0x80,0x80,0x84,0x7D,0x00,
|
||||||
|
0x00,0x01,0x7F,0x10,0x28,0x44,0x40,0x00,
|
||||||
|
0x00,0x00,0x41,0x7F,0x40,0x00,0x00,0x00,
|
||||||
|
0x00,0x7C,0x04,0x04,0x78,0x04,0x04,0x78,
|
||||||
|
0x00,0x7C,0x08,0x04,0x04,0x04,0x78,0x00,
|
||||||
|
0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00,
|
||||||
|
0x00,0x84,0xFC,0x98,0x24,0x24,0x18,0x00,
|
||||||
|
0x00,0x18,0x24,0x24,0x98,0xFC,0x84,0x00,
|
||||||
|
0x00,0x44,0x7C,0x48,0x04,0x04,0x18,0x00,
|
||||||
|
0x00,0x48,0x54,0x54,0x54,0x54,0x24,0x00,
|
||||||
|
0x00,0x04,0x04,0x3F,0x44,0x44,0x20,0x00,
|
||||||
|
0x00,0x3C,0x40,0x40,0x40,0x20,0x7C,0x00,
|
||||||
|
0x00,0x0C,0x10,0x20,0x40,0x20,0x10,0x0C,
|
||||||
|
0x00,0x3C,0x40,0x40,0x38,0x40,0x40,0x3C,
|
||||||
|
0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00,
|
||||||
|
0x00,0x9C,0xA0,0xA0,0xA0,0xA0,0x7C,0x00,
|
||||||
|
0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00,
|
||||||
|
0x00,0x08,0x08,0x36,0x41,0x41,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x41,0x41,0x36,0x08,0x08,0x00,
|
||||||
|
0x00,0x02,0x01,0x01,0x02,0x02,0x01,0x00,
|
||||||
|
0x00,0x70,0x48,0x44,0x42,0x44,0x48,0x70,
|
||||||
|
0x00,0x0E,0x91,0x91,0xB1,0xB1,0x4A,0x00,
|
||||||
|
0x00,0x3A,0x40,0x40,0x40,0x7A,0x40,0x00,
|
||||||
|
0x00,0x38,0x54,0x54,0x55,0x55,0x18,0x00,
|
||||||
|
0x00,0x22,0x55,0x55,0x55,0x79,0x42,0x00,
|
||||||
|
0x00,0x21,0x54,0x54,0x54,0x78,0x41,0x00,
|
||||||
|
0x00,0x20,0x55,0x55,0x54,0x78,0x40,0x00,
|
||||||
|
0x00,0x20,0x54,0x55,0x54,0x78,0x40,0x00,
|
||||||
|
0x00,0x18,0x24,0xA4,0xA4,0xE4,0x40,0x00,
|
||||||
|
0x00,0x3A,0x55,0x55,0x55,0x55,0x1A,0x00,
|
||||||
|
0x00,0x39,0x54,0x54,0x54,0x54,0x19,0x00,
|
||||||
|
0x00,0x38,0x55,0x55,0x54,0x54,0x18,0x00,
|
||||||
|
0x00,0x00,0x01,0x44,0x7C,0x41,0x00,0x00,
|
||||||
|
0x02,0x01,0x45,0x7D,0x41,0x01,0x02,0x00,
|
||||||
|
0x00,0x00,0x01,0x45,0x7C,0x40,0x00,0x00,
|
||||||
|
0x00,0x79,0x14,0x12,0x12,0x14,0x79,0x00,
|
||||||
|
0x00,0x70,0x28,0x2B,0x2B,0x28,0x70,0x00,
|
||||||
|
0x00,0x44,0x7C,0x54,0x55,0x45,0x00,0x00,
|
||||||
|
0x00,0x20,0x54,0x54,0x58,0x38,0x54,0x54,
|
||||||
|
0x00,0x7C,0x0A,0x09,0x09,0x7F,0x49,0x49,
|
||||||
|
0x00,0x30,0x4A,0x49,0x49,0x4A,0x30,0x00,
|
||||||
|
0x00,0x32,0x48,0x48,0x48,0x48,0x32,0x00,
|
||||||
|
0x00,0x30,0x49,0x4A,0x48,0x48,0x30,0x00,
|
||||||
|
0x00,0x38,0x42,0x41,0x41,0x42,0x38,0x00,
|
||||||
|
0x00,0x38,0x41,0x42,0x40,0x40,0x38,0x00,
|
||||||
|
0x00,0x1A,0xA0,0xA0,0xA0,0xA0,0x7A,0x00,
|
||||||
|
0x00,0x19,0x24,0x42,0x42,0x24,0x19,0x00,
|
||||||
|
0x00,0x3D,0x40,0x40,0x40,0x40,0x3D,0x00,
|
||||||
|
0x00,0x18,0x24,0x24,0xE7,0x24,0x24,0x00,
|
||||||
|
0x00,0x68,0x5E,0x49,0x41,0x42,0x20,0x00,
|
||||||
|
0x00,0x15,0x16,0x7C,0x16,0x15,0x00,0x00,
|
||||||
|
0x81,0xFF,0x85,0x05,0x17,0xFA,0x90,0x50,
|
||||||
|
0x40,0x88,0x88,0x7F,0x09,0x09,0x02,0x00,
|
||||||
|
0x00,0x20,0x54,0x54,0x55,0x79,0x40,0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Global variables */
|
||||||
|
const struct FONT_DEF Font_3x6 = {3, 6, 32, 96, au8Font3x6, NULL};
|
||||||
|
const struct FONT_DEF Font_5x8 = {5, 8, 32, 128, au8Font5x8, NULL};
|
||||||
|
const struct FONT_DEF Font_7x8 = {7, 8, 32, 128, au8Font7x8, NULL};
|
||||||
|
const struct FONT_DEF Font_8x8 = {8, 8, 32, 128, au8Font8x8, NULL};
|
||||||
|
const struct FONT_DEF Font_8x8Thin = {8, 8, 32, 128, au8Font8x8Thin, NULL};
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
/**************************************************************************/
|
||||||
|
/*!
|
||||||
|
@file smallfonts.h
|
||||||
|
@author K. Townsend (microBuilder.eu)
|
||||||
|
@date 22 March 2010
|
||||||
|
@version 0.10
|
||||||
|
|
||||||
|
@section LICENSE
|
||||||
|
|
||||||
|
Software License Agreement (BSD License)
|
||||||
|
|
||||||
|
Copyright (c) 2010, microBuilder SARL
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of the copyright holders nor the
|
||||||
|
names of its contributors may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
|
||||||
|
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
/**************************************************************************/
|
||||||
|
#ifndef __SMALLFONTS_H_
|
||||||
|
#define __SMALLFONTS_H_
|
||||||
|
|
||||||
|
#include "fonts.h"
|
||||||
|
|
||||||
|
/* Partially based on original code for the KS0108 by Stephane Rey */
|
||||||
|
/* Current version by Kevin Townsend */
|
||||||
|
|
||||||
|
extern const struct FONT_DEF Font_3x6;
|
||||||
|
extern const struct FONT_DEF Font_5x8;
|
||||||
|
extern const struct FONT_DEF Font_7x8;
|
||||||
|
extern const struct FONT_DEF Font_8x8;
|
||||||
|
extern const struct FONT_DEF Font_8x8Thin;
|
||||||
|
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef __VERA_MONO_9__
|
||||||
|
#define __VERA_MONO_9__
|
||||||
|
|
||||||
|
#include "fonts.h"
|
||||||
|
|
||||||
|
/* Font data for Bitstream Vera Sans Mono 9pt */
|
||||||
|
extern const struct FONT_DEF Font_VeraMono9pt;
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue