Skip to content

Commit

Permalink
Changed the layout of the fonts to be row by row.
Browse files Browse the repository at this point in the history
It just makes more sense this way.
  • Loading branch information
wernsey committed Mar 13, 2017
1 parent 4497bf7 commit 2078e6f
Show file tree
Hide file tree
Showing 8 changed files with 502 additions and 502 deletions.
156 changes: 78 additions & 78 deletions bmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@ FIXME: Not all functions that should respect IGNORE_ALPHA does so.

#include "bmp.h"

#define FONT_WIDTH 96

#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))

Expand Down Expand Up @@ -4185,76 +4183,6 @@ void bm_reduce_palette_OD8(Bitmap *b, unsigned int palette[], size_t n) {
reduce_palette_bayer(b, palette, n, bayer8x8, 8, 65);
}

/* --- normal.xbm ------------------------------------------------------------ */
#define normal_width 96
#define normal_height 64
static unsigned char normal_bits[] = {
0xff, 0xef, 0xe3, 0xe3, 0xe3, 0xdd, 0xe1, 0xdd, 0xf7, 0xfd, 0xff, 0xff,
0xff, 0xf7, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xe7, 0xfd, 0xff, 0xff,
0xff, 0xfb, 0xcd, 0xdd, 0xc5, 0xdd, 0xdd, 0xeb, 0xef, 0xfd, 0xe1, 0xdd,
0xff, 0xfb, 0xd5, 0xe3, 0xd5, 0xc1, 0xe1, 0xf7, 0xff, 0xe1, 0xdd, 0xeb,
0xff, 0xfb, 0xd9, 0xdd, 0xe5, 0xdd, 0xfd, 0xeb, 0xff, 0xdd, 0xdd, 0xf7,
0xff, 0xf7, 0xdd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xff, 0xdd, 0xe1, 0xeb,
0xff, 0xef, 0xe3, 0xe3, 0xe3, 0xdd, 0xfd, 0xdd, 0xff, 0xdd, 0xfd, 0xdd,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff,
0xf7, 0xfb, 0xf7, 0xe3, 0xf7, 0xe3, 0xe3, 0xdd, 0xff, 0xf7, 0xff, 0xff,
0xf7, 0xf7, 0xf3, 0xdd, 0xeb, 0xf7, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff,
0xf7, 0xef, 0xf7, 0xdd, 0xdd, 0xf7, 0xdd, 0xeb, 0xe3, 0xf3, 0xc3, 0xdd,
0xf7, 0xef, 0xf7, 0xc3, 0xdd, 0xf7, 0xdd, 0xf7, 0xdf, 0xf7, 0xdd, 0xdd,
0xff, 0xef, 0xf7, 0xdf, 0xc1, 0xf7, 0xd5, 0xf7, 0xc3, 0xf7, 0xdd, 0xdd,
0xff, 0xf7, 0xf7, 0xdd, 0xdd, 0xf7, 0xed, 0xf7, 0xdd, 0xf7, 0xc3, 0xc3,
0xf7, 0xfb, 0xe3, 0xe3, 0xdd, 0xe3, 0xd3, 0xf7, 0xc3, 0xe3, 0xdf, 0xdf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xe3,
0xeb, 0xf7, 0xe3, 0xff, 0xe1, 0xcf, 0xe1, 0xc1, 0xfd, 0xef, 0xff, 0xff,
0xeb, 0xd5, 0xdd, 0xff, 0xdd, 0xdf, 0xdd, 0xdf, 0xfd, 0xff, 0xff, 0xff,
0xff, 0xe3, 0xdf, 0xef, 0xdd, 0xdf, 0xdd, 0xef, 0xe1, 0xe7, 0xe5, 0xc1,
0xff, 0xf7, 0xe7, 0xff, 0xe1, 0xdf, 0xe1, 0xf7, 0xdd, 0xef, 0xd9, 0xef,
0xff, 0xe3, 0xfb, 0xff, 0xdd, 0xdf, 0xdd, 0xfb, 0xdd, 0xef, 0xfd, 0xf7,
0xff, 0xd5, 0xfd, 0xff, 0xdd, 0xdd, 0xdd, 0xfd, 0xdd, 0xef, 0xfd, 0xfb,
0xff, 0xf7, 0xc1, 0xef, 0xe1, 0xe3, 0xdd, 0xc1, 0xe1, 0xed, 0xfd, 0xc1,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff,
0xff, 0xff, 0xc1, 0xff, 0xe3, 0xdd, 0xe3, 0xe3, 0xff, 0xfd, 0xff, 0xcf,
0xeb, 0xf7, 0xdf, 0xff, 0xdd, 0xdd, 0xdd, 0xfb, 0xff, 0xfd, 0xff, 0xf7,
0xc1, 0xf7, 0xef, 0xef, 0xfd, 0xed, 0xfd, 0xfb, 0xc3, 0xed, 0xe3, 0xf7,
0xeb, 0xc1, 0xe7, 0xff, 0xfd, 0xf1, 0xe3, 0xfb, 0xfd, 0xf5, 0xfd, 0xf9,
0xc1, 0xf7, 0xdf, 0xff, 0xfd, 0xed, 0xdf, 0xfb, 0xfd, 0xf9, 0xf3, 0xf7,
0xeb, 0xf7, 0xdd, 0xef, 0xdd, 0xdd, 0xdd, 0xfb, 0xfd, 0xf5, 0xef, 0xf7,
0xff, 0xff, 0xe3, 0xef, 0xe3, 0xdd, 0xe3, 0xe3, 0xc3, 0xed, 0xf1, 0xcf,
0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf7, 0xff, 0xef, 0xff, 0xe1, 0xfd, 0xc1, 0xff, 0xdf, 0xf3, 0xff, 0xf7,
0xc3, 0xff, 0xe7, 0xef, 0xdd, 0xfd, 0xf7, 0xfd, 0xdf, 0xf7, 0xfb, 0xf7,
0xf5, 0xff, 0xeb, 0xf7, 0xdd, 0xfd, 0xf7, 0xfb, 0xc3, 0xf7, 0xe1, 0xf7,
0xe3, 0xff, 0xed, 0xfb, 0xdd, 0xfd, 0xf7, 0xf7, 0xdd, 0xf7, 0xfb, 0xff,
0xd7, 0xff, 0xc1, 0xf7, 0xdd, 0xfd, 0xf7, 0xef, 0xdd, 0xf7, 0xfb, 0xf7,
0xe1, 0xef, 0xef, 0xef, 0xdd, 0xfd, 0xf7, 0xdf, 0xdd, 0xf7, 0xdb, 0xf7,
0xf7, 0xef, 0xef, 0xff, 0xe1, 0xc1, 0xf7, 0xff, 0xc3, 0xe3, 0xe7, 0xf7,
0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc1, 0xff, 0xc1, 0xdd, 0xdd, 0xe3, 0xff, 0xff, 0xff, 0xf9,
0xd9, 0xff, 0xfd, 0xff, 0xfd, 0xc9, 0xdd, 0xef, 0xff, 0xff, 0xff, 0xf7,
0xe9, 0xff, 0xe1, 0xe3, 0xfd, 0xd5, 0xdd, 0xef, 0xe3, 0xe9, 0xdd, 0xf7,
0xf7, 0xc3, 0xdf, 0xff, 0xe1, 0xdd, 0xdd, 0xef, 0xdd, 0xd5, 0xdd, 0xcf,
0xcb, 0xff, 0xdf, 0xe3, 0xfd, 0xdd, 0xdd, 0xef, 0xc1, 0xdd, 0xdd, 0xf7,
0xcd, 0xff, 0xdd, 0xff, 0xfd, 0xdd, 0xdd, 0xef, 0xfd, 0xdd, 0xcd, 0xf7,
0xff, 0xff, 0xe3, 0xff, 0xc1, 0xdd, 0xc3, 0xe3, 0xc3, 0xdd, 0xd3, 0xf9,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfb, 0xff, 0xe3, 0xff, 0xc1, 0xdd, 0xdd, 0xf7, 0xe7, 0xff, 0xff, 0xff,
0xf5, 0xff, 0xdd, 0xfb, 0xfd, 0xdd, 0xdd, 0xeb, 0xdb, 0xff, 0xff, 0xd3,
0xf5, 0xff, 0xfd, 0xf7, 0xfd, 0xd9, 0xdd, 0xdd, 0xfb, 0xe5, 0xdd, 0xe5,
0xfb, 0xff, 0xe1, 0xef, 0xe1, 0xd5, 0xdd, 0xff, 0xf1, 0xd9, 0xdd, 0xff,
0xd5, 0xff, 0xdd, 0xf7, 0xfd, 0xcd, 0xdd, 0xff, 0xfb, 0xdd, 0xdd, 0xff,
0xed, 0xff, 0xdd, 0xfb, 0xfd, 0xdd, 0xeb, 0xff, 0xfb, 0xdd, 0xeb, 0xff,
0xd3, 0xef, 0xe3, 0xff, 0xfd, 0xdd, 0xf7, 0xff, 0xfb, 0xdd, 0xf7, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf7, 0xff, 0xc1, 0xe3, 0xe3, 0xe3, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf7, 0xdf, 0xdf, 0xdd, 0xdd, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xef, 0xef, 0xdf, 0xfd, 0xdd, 0xdd, 0xff, 0xe3, 0xe3, 0xdd, 0xff,
0xff, 0xf7, 0xf7, 0xe7, 0xc5, 0xdd, 0xdd, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
0xff, 0xfb, 0xfb, 0xf7, 0xdd, 0xdd, 0xd5, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
0xff, 0xfd, 0xfb, 0xff, 0xdd, 0xdd, 0xc9, 0xff, 0xc3, 0xdd, 0xd5, 0xff,
0xff, 0xff, 0xfb, 0xf7, 0xe3, 0xe3, 0xdd, 0xc1, 0xdf, 0xe3, 0xeb, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff };
/* --------------------------------------------------------------------------- */

void bm_set_font(Bitmap *b, BmFont *font) {
if(b->font != font)
b->font = font;
Expand Down Expand Up @@ -4323,7 +4251,79 @@ int bm_printf(Bitmap *b, int x, int y, const char *fmt, ...) {
return bm_puts(b, x, y, buffer);
}

/** XBM FONT FUNCTIONS ******************************************************/
/** XBM FONT FUNCTIONS *********************************************************/

/* --- normal.xbm ------------------------------------------------------------ */
#define normal_width 128
#define normal_height 48
static unsigned char normal_bits[] = {
0xff, 0xf7, 0xeb, 0xff, 0xf7, 0xff, 0xfb, 0xf7, 0xef, 0xfb, 0xf7, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xeb, 0xeb, 0xc3, 0xd9, 0xf5, 0xf7,
0xf7, 0xf7, 0xd5, 0xf7, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xf7, 0xff, 0xc1,
0xf5, 0xe9, 0xf5, 0xff, 0xfb, 0xef, 0xe3, 0xf7, 0xff, 0xff, 0xff, 0xef,
0xff, 0xf7, 0xff, 0xeb, 0xe3, 0xf7, 0xfb, 0xff, 0xfb, 0xef, 0xf7, 0xc1,
0xff, 0xc3, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xc1, 0xd7, 0xcb, 0xd5, 0xff,
0xfb, 0xef, 0xe3, 0xf7, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xeb,
0xe1, 0xcd, 0xed, 0xff, 0xf7, 0xf7, 0xd5, 0xf7, 0xef, 0xff, 0xff, 0xfd,
0xff, 0xf7, 0xff, 0xff, 0xf7, 0xff, 0xd3, 0xff, 0xef, 0xfb, 0xf7, 0xff,
0xef, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xe3, 0xf7, 0xe3, 0xc1,
0xef, 0xc1, 0xe3, 0xc1, 0xe3, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3,
0xdd, 0xf3, 0xdd, 0xdf, 0xe7, 0xfd, 0xdd, 0xdf, 0xdd, 0xdd, 0xff, 0xff,
0xef, 0xff, 0xfb, 0xdd, 0xcd, 0xf7, 0xdf, 0xef, 0xeb, 0xe1, 0xfd, 0xef,
0xdd, 0xdd, 0xef, 0xef, 0xf7, 0xe3, 0xf7, 0xdf, 0xd5, 0xf7, 0xe7, 0xe7,
0xed, 0xdf, 0xe1, 0xf7, 0xe3, 0xc3, 0xff, 0xff, 0xfb, 0xff, 0xef, 0xe7,
0xd9, 0xf7, 0xfb, 0xdf, 0xc1, 0xdf, 0xdd, 0xfb, 0xdd, 0xdf, 0xff, 0xff,
0xf7, 0xe3, 0xf7, 0xf7, 0xdd, 0xf7, 0xfd, 0xdd, 0xef, 0xdd, 0xdd, 0xfb,
0xdd, 0xdd, 0xff, 0xef, 0xef, 0xff, 0xfb, 0xff, 0xe3, 0xe3, 0xc1, 0xe3,
0xef, 0xe3, 0xe3, 0xfb, 0xe3, 0xe3, 0xef, 0xef, 0xff, 0xff, 0xff, 0xf7,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7,
0xff, 0xff, 0xff, 0xff, 0xe3, 0xf7, 0xe1, 0xe3, 0xe1, 0xc1, 0xc1, 0xe3,
0xdd, 0xe3, 0xcf, 0xdd, 0xfd, 0xdd, 0xdd, 0xe3, 0xdd, 0xeb, 0xdd, 0xdd,
0xdd, 0xfd, 0xfd, 0xdd, 0xdd, 0xf7, 0xdf, 0xdd, 0xfd, 0xc9, 0xdd, 0xdd,
0xc5, 0xdd, 0xdd, 0xfd, 0xdd, 0xfd, 0xfd, 0xfd, 0xdd, 0xf7, 0xdf, 0xed,
0xfd, 0xd5, 0xd9, 0xdd, 0xd5, 0xdd, 0xe1, 0xfd, 0xdd, 0xe1, 0xe1, 0xc5,
0xc1, 0xf7, 0xdf, 0xf1, 0xfd, 0xdd, 0xd5, 0xdd, 0xe5, 0xc1, 0xdd, 0xfd,
0xdd, 0xfd, 0xfd, 0xdd, 0xdd, 0xf7, 0xdf, 0xed, 0xfd, 0xdd, 0xcd, 0xdd,
0xfd, 0xdd, 0xdd, 0xdd, 0xdd, 0xfd, 0xfd, 0xdd, 0xdd, 0xf7, 0xdd, 0xdd,
0xfd, 0xdd, 0xdd, 0xdd, 0xe3, 0xdd, 0xe1, 0xe3, 0xe1, 0xc1, 0xfd, 0xe3,
0xdd, 0xe3, 0xe3, 0xdd, 0xc1, 0xdd, 0xdd, 0xe3, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xe1, 0xe3, 0xe1, 0xe3, 0xc1, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xc1, 0xe3,
0xff, 0xe3, 0xf7, 0xff, 0xdd, 0xdd, 0xdd, 0xdd, 0xf7, 0xdd, 0xdd, 0xdd,
0xdd, 0xdd, 0xdf, 0xfb, 0xfd, 0xef, 0xeb, 0xff, 0xdd, 0xdd, 0xdd, 0xfd,
0xf7, 0xdd, 0xdd, 0xdd, 0xeb, 0xeb, 0xef, 0xfb, 0xfb, 0xef, 0xdd, 0xff,
0xe1, 0xdd, 0xe1, 0xe3, 0xf7, 0xdd, 0xdd, 0xdd, 0xf7, 0xf7, 0xf7, 0xfb,
0xf7, 0xef, 0xff, 0xff, 0xfd, 0xd5, 0xdd, 0xdf, 0xf7, 0xdd, 0xdd, 0xd5,
0xeb, 0xf7, 0xfb, 0xfb, 0xef, 0xef, 0xff, 0xff, 0xfd, 0xed, 0xdd, 0xdd,
0xf7, 0xdd, 0xeb, 0xc9, 0xdd, 0xf7, 0xfd, 0xfb, 0xdf, 0xef, 0xff, 0xff,
0xfd, 0xd3, 0xdd, 0xe3, 0xf7, 0xc3, 0xf7, 0xdd, 0xdd, 0xf7, 0xc1, 0xe3,
0xff, 0xe3, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xfd, 0xff,
0xdf, 0xff, 0xe7, 0xff, 0xfd, 0xf7, 0xef, 0xfd, 0xf3, 0xff, 0xff, 0xff,
0xe7, 0xff, 0xfd, 0xff, 0xdf, 0xff, 0xdb, 0xff, 0xfd, 0xff, 0xff, 0xfd,
0xf7, 0xff, 0xff, 0xff, 0xef, 0xe3, 0xe1, 0xc3, 0xc3, 0xe3, 0xfb, 0xe3,
0xfd, 0xf3, 0xe7, 0xed, 0xf7, 0xe9, 0xe5, 0xe3, 0xff, 0xdf, 0xdd, 0xfd,
0xdd, 0xdd, 0xf1, 0xdd, 0xe1, 0xf7, 0xef, 0xf5, 0xf7, 0xd5, 0xd9, 0xdd,
0xff, 0xc3, 0xdd, 0xfd, 0xdd, 0xc1, 0xfb, 0xdd, 0xdd, 0xf7, 0xef, 0xf9,
0xf7, 0xdd, 0xdd, 0xdd, 0xff, 0xdd, 0xdd, 0xfd, 0xdd, 0xfd, 0xfb, 0xc3,
0xdd, 0xf7, 0xef, 0xf5, 0xf7, 0xdd, 0xdd, 0xdd, 0xff, 0xc3, 0xe1, 0xc3,
0xc3, 0xc3, 0xfb, 0xdf, 0xdd, 0xe3, 0xed, 0xed, 0xe3, 0xdd, 0xdd, 0xe3,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xf3, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xcf, 0xf7, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0xd3, 0xff,
0xe1, 0xc3, 0xe5, 0xe3, 0xe1, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xc1, 0xf7,
0xf7, 0xf7, 0xe5, 0xff, 0xdd, 0xdd, 0xd9, 0xfd, 0xfb, 0xdd, 0xdd, 0xdd,
0xeb, 0xdd, 0xef, 0xf9, 0xff, 0xcf, 0xff, 0xff, 0xdd, 0xdd, 0xfd, 0xf3,
0xfb, 0xdd, 0xdd, 0xdd, 0xf7, 0xdd, 0xf7, 0xf7, 0xf7, 0xf7, 0xff, 0xff,
0xe1, 0xc3, 0xfd, 0xef, 0xdb, 0xcd, 0xeb, 0xd5, 0xeb, 0xc3, 0xfb, 0xf7,
0xf7, 0xf7, 0xff, 0xff, 0xfd, 0xdf, 0xfd, 0xf1, 0xe7, 0xd3, 0xf7, 0xeb,
0xdd, 0xdf, 0xc1, 0xcf, 0xf7, 0xf9, 0xff, 0xff, 0xfd, 0xdf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
/* --------------------------------------------------------------------------- */

#define XBM_FONT_WIDTH 128

typedef struct {
const unsigned char *bits;
Expand All @@ -4337,10 +4337,10 @@ static void xbmf_putc(Bitmap *b, const unsigned char *xbm_bits, int x, int y, un
if(c < 32 || c > 127)
return;

c -= 32;
fcol = c >> 3;
frow = c & 0x7;
byte = frow * FONT_WIDTH + fcol;
c -= 32;
frow = (c >> 4);
fcol = c & 0xF;
byte = frow * XBM_FONT_WIDTH + fcol;

for(j = 0; j < 8 && y + j < b->clip.y1; j++) {
if(y + j >= b->clip.y0) {
Expand All @@ -4351,7 +4351,7 @@ static void xbmf_putc(Bitmap *b, const unsigned char *xbm_bits, int x, int y, un
}
}
}
byte += FONT_WIDTH >> 3;
byte += XBM_FONT_WIDTH >> 3;
}
}

Expand Down
Loading

0 comments on commit 2078e6f

Please sign in to comment.