Add CP437 8x8 font
This commit is contained in:
parent
6fd60f867c
commit
c54b2eb90d
BIN
src/cp437.bmp
Normal file
BIN
src/cp437.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
45
src/utils/bmp2font.c
Normal file
45
src/utils/bmp2font.c
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
FILE* in;
|
||||||
|
FILE* out;
|
||||||
|
void *addr;
|
||||||
|
|
||||||
|
void copyline(int c) {
|
||||||
|
uint8_t *ptr = addr + 0x82 + (128/8)*(127 - c);
|
||||||
|
int i;
|
||||||
|
for (i=0; i<16; i++) {
|
||||||
|
fputc(*ptr++, out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char** argv) {
|
||||||
|
struct stat sbuf;
|
||||||
|
|
||||||
|
in = fopen(argv[1], "r+");
|
||||||
|
out = fopen(argv[2], "w");
|
||||||
|
|
||||||
|
fstat(fileno(in), &sbuf);
|
||||||
|
|
||||||
|
if (sbuf.st_size != 2178) {
|
||||||
|
printf("File must be a 128x128 pixel 1 bit monochrome bmp\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
addr = mmap(NULL, sbuf.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fileno(in), 0);
|
||||||
|
|
||||||
|
int i, j;
|
||||||
|
for(j=0; j<8; j++) {
|
||||||
|
for(i=0; i<16; i++) {
|
||||||
|
copyline(j+i*8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user