Files
NTUhrVPxDesign/libraries/_NToolsFonts/char16x24.h
2024-03-04 12:35:37 +01:00

303 lines
9.7 KiB
C

uint8_t Out16x24Char(char charater, uint8_t x, uint8_t y, uint8_t red,uint8_t green,uint8_t blue){
switch (charater){
case '0':
LineH(x+2,y,12,red,green,blue);
LineH(x+1,y+1,14,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,16,red,green,blue);
LineV(x,y+4,16,red,green,blue);
LineV(x+1,y+4,16,red,green,blue);
LineV(x+2,y+4,16,red,green,blue);
LineV(x+3,y+4,16,red,green,blue);
LineV(x+12,y+4,16,red,green,blue);
LineV(x+13,y+4,16,red,green,blue);
LineV(x+14,y+4,16,red,green,blue);
LineV(x+15,y+4,16,red,green,blue);
LineH(x,y+20,16,red,green,blue);
LineH(x,y+21,16,red,green,blue);
LineH(x+1,y+22,14,red,green,blue);
LineH(x+2,y+23,12,red,green,blue);
return 16;
break;
case '1':
LineV(x,y+6,5,red,green,blue);
LineV(x+1,y+5,5,red,green,blue);
LineV(x+2,y+4,5,red,green,blue);
LineV(x+3,y+3,5,red,green,blue);
LineV(x+4,y+2,5,red,green,blue);
LineV(x+5,y+1,5,red,green,blue);
LineV(x+6,y,24,red,green,blue);
LineV(x+7,y,24,red,green,blue);
LineV(x+8,y,24,red,green,blue);
LineV(x+9,y,24,red,green,blue);
return 10;
break;
case '2':
LineH(x+2,y,12,red,green,blue);
LineH(x+1,y+1,14,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,16,red,green,blue);
LineH(x,y+4,4,red,green,blue);
LineH(x,y+5,4,red,green,blue);
LineV(x+15,y+4,5,red,green,blue);
LineV(x+14,y+4,5,red,green,blue);
LineV(x+13,y+4,5,red,green,blue);
LineV(x+12,y+4,5,red,green,blue);
LineH(x+11,y+9,5,red,green,blue);
LineH(x+10,y+10,5,red,green,blue);
LineH(x+9,y+11,5,red,green,blue);
LineH(x+8,y+12,5,red,green,blue);
LineH(x+7,y+13,5,red,green,blue);
LineH(x+6,y+14,5,red,green,blue);
LineH(x+5,y+15,5,red,green,blue);
LineH(x+4,y+16,5,red,green,blue);
LineH(x+3,y+17,5,red,green,blue);
LineH(x+2,y+18,5,red,green,blue);
LineH(x+1,y+19,5,red,green,blue);
LineH(x,y+20,16,red,green,blue);
LineH(x,y+21,16,red,green,blue);
LineH(x,y+22,16,red,green,blue);
LineH(x,y+23,16,red,green,blue);
return 16;
break;
case '3':
LineH(x+2,y,12,red,green,blue);
LineH(x+1,y+1,14,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,16,red,green,blue);
LineH(x,y+4,4,red,green,blue);
LineH(x,y+5,4,red,green,blue);
LineV(x+12,y+4,16,red,green,blue);
LineV(x+13,y+4,16,red,green,blue);
LineV(x+14,y+4,16,red,green,blue);
LineV(x+15,y+4,6,red,green,blue);
LineV(x+15,y+14,6,red,green,blue);
LineH(x+6,y+10,6,red,green,blue);
LineH(x+6,y+11,6,red,green,blue);
LineH(x+6,y+12,6,red,green,blue);
LineH(x+6,y+13,6,red,green,blue);
LineH(x,y+18,4,red,green,blue);
LineH(x,y+19,4,red,green,blue);
LineH(x,y+20,16,red,green,blue);
LineH(x,y+21,16,red,green,blue);
LineH(x+1,y+22,14,red,green,blue);
LineH(x+2,y+23,12,red,green,blue);
return 16;
break;
case '4':
LineV(x,y,10,red,green,blue);
LineV(x+1,y,11,red,green,blue);
LineV(x+2,y,12,red,green,blue);
LineV(x+3,y,13,red,green,blue);
LineH(x+4,y+10,8,red,green,blue);
LineH(x+4,y+11,8,red,green,blue);
LineH(x+4,y+12,8,red,green,blue);
LineH(x+4,y+13,8,red,green,blue);
LineV(x+12,y,24,red,green,blue);
LineV(x+13,y,24,red,green,blue);
LineV(x+14,y,24,red,green,blue);
LineV(x+15,y,24,red,green,blue);
return 16;
break;
case '5':
LineH(x+1,y,15,red,green,blue);
LineH(x,y+1,16,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,15,red,green,blue);
LineV(x,y+4,8,red,green,blue);
LineV(x+1,y+4,9,red,green,blue);
LineV(x+2,y+4,10,red,green,blue);
LineV(x+3,y+4,10,red,green,blue);
LineH(x+4,y+10,10,red,green,blue);
LineH(x+4,y+11,11,red,green,blue);
LineH(x+4,y+12,12,red,green,blue);
LineH(x+4,y+13,12,red,green,blue);
LineV(x+12,y+14,6,red,green,blue);
LineV(x+13,y+14,7,red,green,blue);
LineV(x+14,y+14,8,red,green,blue);
LineV(x+15,y+14,8,red,green,blue);
LineH(x,y+18,4,red,green,blue);
LineH(x,y+19,4,red,green,blue);
LineH(x,y+20,16,red,green,blue);
LineH(x,y+21,16,red,green,blue);
LineH(x+1,y+22,14,red,green,blue);
LineH(x+2,y+23,12,red,green,blue);
return 16;
break;
case '6':
LineH(x+2,y,12,red,green,blue);
LineH(x+1,y+1,14,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,16,red,green,blue);
LineV(x,y+4,16,red,green,blue);
LineV(x+1,y+4,16,red,green,blue);
LineV(x+2,y+4,16,red,green,blue);
LineV(x+3,y+4,16,red,green,blue);
LineH(x+4,y+10,10,red,green,blue);
LineH(x+4,y+11,11,red,green,blue);
LineH(x+4,y+12,12,red,green,blue);
LineH(x+4,y+13,12,red,green,blue);
LineV(x+12,y+14,6,red,green,blue);
LineV(x+13,y+14,7,red,green,blue);
LineV(x+14,y+14,8,red,green,blue);
LineV(x+15,y+14,8,red,green,blue);
LineH(x,y+20,16,red,green,blue);
LineH(x,y+21,16,red,green,blue);
LineH(x+1,y+22,14,red,green,blue);
LineH(x+2,y+23,12,red,green,blue);
return 16;
break;
case '7':
LineH(x+1,y,15,red,green,blue);
LineH(x,y+1,16,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,16,red,green,blue);
LineH(x+11,y+4,4,red,green,blue);
LineH(x+11,y+5,4,red,green,blue);
LineH(x+11,y+6,4,red,green,blue);
LineH(x+11,y+7,4,red,green,blue);
LineH(x+10,y+8,4,red,green,blue);
LineH(x+10,y+9,4,red,green,blue);
LineH(x+10,y+10,4,red,green,blue);
LineH(x+10,y+11,4,red,green,blue);
LineH(x+9,y+12,4,red,green,blue);
LineH(x+9,y+13,4,red,green,blue);
LineH(x+9,y+14,4,red,green,blue);
LineH(x+9,y+15,4,red,green,blue);
LineH(x+8,y+16,4,red,green,blue);
LineH(x+8,y+17,4,red,green,blue);
LineH(x+8,y+18,4,red,green,blue);
LineH(x+8,y+19,4,red,green,blue);
LineH(x+7,y+20,4,red,green,blue);
LineH(x+7,y+21,4,red,green,blue);
LineH(x+7,y+22,4,red,green,blue);
LineH(x+7,y+23,4,red,green,blue);
return 16;
break;
case '8':
LineH(x+2,y,12,red,green,blue);
LineH(x+1,y+1,14,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,16,red,green,blue);
LineV(x,y+4,6,red,green,blue);
LineV(x,y+14,6,red,green,blue);
LineV(x+1,y+4,16,red,green,blue);
LineV(x+2,y+4,16,red,green,blue);
LineV(x+3,y+4,16,red,green,blue);
LineH(x+4,y+10,8,red,green,blue);
LineH(x+4,y+11,8,red,green,blue);
LineH(x+4,y+12,8,red,green,blue);
LineH(x+4,y+13,8,red,green,blue);
LineV(x+12,y+4,16,red,green,blue);
LineV(x+13,y+4,16,red,green,blue);
LineV(x+14,y+4,16,red,green,blue);
LineV(x+15,y+4,6,red,green,blue);
LineV(x+15,y+14,6,red,green,blue);
LineH(x,y+20,16,red,green,blue);
LineH(x,y+21,16,red,green,blue);
LineH(x+1,y+22,14,red,green,blue);
LineH(x+2,y+23,12,red,green,blue);
return 16;
break;
case '9':
LineH(x+2,y,12,red,green,blue);
LineH(x+1,y+1,14,red,green,blue);
LineH(x,y+2,16,red,green,blue);
LineH(x,y+3,16,red,green,blue);
LineV(x,y+4,8,red,green,blue);
LineV(x+1,y+4,9,red,green,blue);
LineV(x+2,y+4,10,red,green,blue);
LineV(x+3,y+4,10,red,green,blue);
LineH(x+4,y+10,8,red,green,blue);
LineH(x+4,y+11,8,red,green,blue);
LineH(x+4,y+12,8,red,green,blue);
LineH(x+4,y+13,8,red,green,blue);
LineV(x+12,y+4,16,red,green,blue);
LineV(x+13,y+4,16,red,green,blue);
LineV(x+14,y+4,16,red,green,blue);
LineV(x+15,y+4,16,red,green,blue);
LineH(x,y+20,16,red,green,blue);
LineH(x,y+21,16,red,green,blue);
LineH(x+1,y+22,14,red,green,blue);
LineH(x+2,y+23,12,red,green,blue);
return 16;
break;
case '.':
LineH(x,y+20,4,red,green,blue);
LineH(x,y+21,4,red,green,blue);
LineH(x,y+22,4,red,green,blue);
LineH(x,y+23,4,red,green,blue);
return 4;
break;
case ':':
LineH(x,y+5,4,red,green,blue);
LineH(x,y+6,4,red,green,blue);
LineH(x,y+7,4,red,green,blue);
LineH(x,y+8,4,red,green,blue);
LineH(x,y+15,4,red,green,blue);
LineH(x,y+16,4,red,green,blue);
LineH(x,y+17,4,red,green,blue);
LineH(x,y+18,4,red,green,blue);
return 4;
break;
case '>':
LineH(x,y+2,4,red,green,blue);
LineH(x,y+3,4,red,green,blue);
LineH(x,y+4,4,red,green,blue);
LineH(x,y+5,4,red,green,blue);
LineH(x+4,y+6,4,red,green,blue);
LineH(x+4,y+7,4,red,green,blue);
LineH(x+4,y+8,4,red,green,blue);
LineH(x+4,y+9,4,red,green,blue);
LineH(x+8,y+10,4,red,green,blue);
LineH(x+8,y+11,4,red,green,blue);
LineH(x+8,y+12,4,red,green,blue);
LineH(x+8,y+13,4,red,green,blue);
LineH(x+4,y+14,4,red,green,blue);
LineH(x+4,y+15,4,red,green,blue);
LineH(x+4,y+16,4,red,green,blue);
LineH(x+4,y+17,4,red,green,blue);
LineH(x,y+18,4,red,green,blue);
LineH(x,y+19,4,red,green,blue);
LineH(x,y+20,4,red,green,blue);
LineH(x,y+21,4,red,green,blue);
return 12;
break;
case ' ':
for(uint8_t var= 0;var < 8;var++){
LineV(x+var,y,24,0,0,0);
}
return 8;
break;
case '-':
LineH(x,y+10,6,red,green,blue);
LineH(x,y+11,6,red,green,blue);
LineH(x,y+12,6,red,green,blue);
LineH(x,y+13,6,red,green,blue);
return 6;
break;
}
return 0;
}