// font6x14.h
// 6x14 monochrome bitmap font — ASCII 32..127
// Each glyph: 14 bytes (one byte per row, lower 6 bits used: bit0 = leftmost pixel)
// Usage: glyph = font6x14[ch - 32]; draw row r using glyph[r]
#ifndef FONT6X14_H
#define FONT6X14_H
#include <stdint.h>
#define FONT6X14_WIDTH 6
#define FONT6X14_HEIGHT 14
#define FONT6X14_FIRST 32
#define FONT6X14_LAST 127
#define FONT6X14_COUNT (FONT6X14_LAST - FONT6X14_FIRST + 1)
static const uint8_t font6x14[FONT6X14_COUNT][FONT6X14_HEIGHT] =
/* 32 ' ' */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 33 '!' */
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,0x00,
/* 34 '"' */
0x28,0x28,0x28,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 35 '#' */
0x00,0x28,0x28,0x7C,0x28,0x28,0x7C,0x28,0x28,0x00,0x00,0x00,0x00,0x00,
/* 36 '$' */
0x10,0x3C,0x54,0x50,0x3C,0x14,0x14,0x74,0x50,0x4C,0x00,0x00,0x00,0x00,
/* 37 '%' */
0x60,0x92,0x92,0x24,0x10,0x48,0x92,0x92,0x04,0x00,0x00,0x00,0x00,0x00,
/* 38 '&' */
0x38,0x44,0x44,0x38,0x50,0x48,0x44,0x44,0x3A,0x00,0x00,0x00,0x00,0x00,
/* 39 ''' */
0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 40 '(' */
0x08,0x10,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x08,0x00,0x00,0x00,
/* 41 ')' */
0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x00,0x00,0x00,
/* 42 '*' */
0x00,0x10,0x7C,0x38,0x38,0x7C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 43 '+' */
0x00,0x00,0x10,0x10,0x10,0x7C,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/* 44 ',' */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x20,0x00,0x00,0x00,0x00,
/* 45 '-' */
0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 46 '.' */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/* 47 '/' */
0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x00,0x00,0x00,0x00,
/* 48 '0' */
0x3C,0x42,0x42,0x66,0x5A,0x4A,0x4A,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 49 '1' */
0x10,0x18,0x1C,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,0x00,0x00,
/* 50 '2' */
0x3C,0x42,0x02,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,0x00,0x00,0x00,
/* 51 '3' */
0x3C,0x42,0x02,0x1C,0x02,0x02,0x02,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 52 '4' */
0x04,0x0C,0x14,0x24,0x44,0x7E,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,
/* 53 '5' */
0x7E,0x40,0x40,0x7C,0x02,0x02,0x02,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 54 '6' */
0x1C,0x20,0x40,0x7C,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 55 '7' */
0x7E,0x02,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/* 56 '8' */
0x3C,0x42,0x42,0x42,0x3C,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 57 '9' */
0x3C,0x42,0x42,0x42,0x3E,0x02,0x04,0x08,0x30,0x00,0x00,0x00,0x00,0x00,
/* 58 ':' */
0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/* 59 ';' */
0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x10,0x10,0x20,0x00,0x00,0x00,0x00,
/* 60 '<' */
0x00,0x00,0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00,0x00,0x00,0x00,0x00,
/* 61 '=' */
0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 62 '>' */
0x00,0x00,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x00,0x00,0x00,0x00,0x00,
/* 63 '?' */
0x3C,0x42,0x02,0x04,0x08,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,0x00,
/* 64 '@' */
0x3C,0x42,0x5A,0x5A,0x5A,0x5A,0x42,0x22,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 65 'A' */
0x10,0x28,0x28,0x28,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
/* 66 'B' */
0x78,0x44,0x44,0x78,0x44,0x44,0x44,0x44,0x78,0x00,0x00,0x00,0x00,0x00,
/* 67 'C' */
0x3C,0x42,0x40,0x40,0x40,0x40,0x40,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 68 'D' */
0x70,0x48,0x44,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,0x00,0x00,0x00,
/* 69 'E' */
0x7E,0x40,0x40,0x7C,0x40,0x40,0x40,0x40,0x7E,0x00,0x00,0x00,0x00,0x00,
/* 70 'F' */
0x7E,0x40,0x40,0x7C,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,
/* 71 'G' */
0x3C,0x42,0x40,0x40,0x4E,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 72 'H' */
0x44,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
/* 73 'I' */
0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,0x00,0x00,
/* 74 'J' */
0x1E,0x08,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,0x00,0x00,0x00,
/* 75 'K' */
0x44,0x48,0x50,0x60,0x50,0x48,0x48,0x44,0x42,0x00,0x00,0x00,0x00,0x00,
/* 76 'L' */
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7E,0x00,0x00,0x00,0x00,0x00,
/* 77 'M' */
0x82,0xC6,0xAA,0x92,0x82,0x82,0x82,0x82,0x82,0x00,0x00,0x00,0x00,0x00,
/* 78 'N' */
0x44,0x64,0x54,0x4C,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
/* 79 'O' */
0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 80 'P' */
0x78,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,
/* 81 'Q' */
0x3C,0x42,0x42,0x42,0x42,0x4A,0x4A,0x24,0x3A,0x00,0x00,0x00,0x00,0x00,
/* 82 'R' */
0x78,0x44,0x44,0x44,0x78,0x50,0x48,0x44,0x42,0x00,0x00,0x00,0x00,0x00,
/* 83 'S' */
0x3C,0x42,0x40,0x3C,0x02,0x02,0x02,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 84 'T' */
0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/* 85 'U' */
0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 86 'V' */
0x44,0x44,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/* 87 'W' */
0x82,0x82,0x82,0x92,0x92,0xAA,0xAA,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
/* 88 'X' */
0x44,0x44,0x28,0x10,0x10,0x28,0x28,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
/* 89 'Y' */
0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/* 90 'Z' */
0x7E,0x02,0x04,0x08,0x10,0x20,0x40,0x40,0x7E,0x00,0x00,0x00,0x00,0x00,
/* 91 '[' */
0x3C,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 92 '\' */
0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x00,0x00,0x00,0x00,
/* 93 ']' */
0x3C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x3C,0x00,0x00,0x00,0x00,0x00,
/* 94 '^' */
0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 95 '_' */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
/* 96 '`' */
0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/* 97 'a' */
0x00,0x00,0x00,0x3C,0x02,0x3E,0x42,0x46,0x3A,0x00,0x00,0x00,0x00,0x00,
/* 98 'b' */
0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x62,0x5C,0x00,0x00,0x00,0x00,0x00,
/* 99 'c' */
0x00,0x00,0x00,0x3C,0x42,0x40,0x40,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/*100 'd' */
0x02,0x02,0x02,0x3A,0x46,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,0x00,0x00,
/*101 'e' */
0x00,0x00,0x00,0x3C,0x42,0x7E,0x40,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/*102 'f' */
0x0C,0x12,0x10,0x7C,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/*103 'g' */
0x00,0x00,0x00,0x3A,0x46,0x42,0x46,0x3A,0x02,0x44,0x38,0x00,0x00,0x00,
/*104 'h' */
0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0x00,0x00,0x00,0x00,0x00,
/*105 'i' */
0x10,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/*106 'j' */
0x04,0x00,0x04,0x04,0x04,0x04,0x04,0x44,0x44,0x38,0x00,0x00,0x00,0x00,
/*107 'k' */
0x40,0x40,0x40,0x44,0x48,0x50,0x60,0x50,0x48,0x00,0x00,0x00,0x00,0x00,
/*108 'l' */
0x18,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,0x00,0x00,
/*109 'm' */
0x00,0x00,0x00,0x6A,0xFE,0x92,0x92,0x92,0x92,0x00,0x00,0x00,0x00,0x00,
/*110 'n' */
0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x42,0x00,0x00,0x00,0x00,0x00,
/*111 'o' */
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,
/*112 'p' */
0x00,0x00,0x00,0x5C,0x62,0x42,0x62,0x5C,0x40,0x40,0x40,0x00,0x00,0x00,
/*113 'q' */
0x00,0x00,0x00,0x3A,0x46,0x42,0x46,0x3A,0x02,0x02,0x02,0x00,0x00,0x00,
/*114 'r' */
0x00,0x00,0x00,0x5C,0x62,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,
/*115 's' */
0x00,0x00,0x00,0x3E,0x40,0x3C,0x02,0x02,0x7C,0x00,0x00,0x00,0x00,0x00,
/*116 't' */
0x10,0x10,0x10,0x7C,0x10,0x10,0x10,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,
/*117 'u' */
0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x4A,0x34,0x00,0x00,0x00,0x00,0x00,
/*118 'v' */
0x00,0x00,0x00,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
/*119 'w' */
0x00,0x00,0x00,0x82,0x92,0xAA,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
/*120 'x' */
0x00,0x00,0x00,0x44,0x28,0x10,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,
/*121 'y' */
0x00,0x00,0x00,0x44,0x44,0x46,0x3A,0x02,0x44,0x38,0x00,0x00,0x00,0x00,
/*122 'z' */
0x00,0x00,0x00,0x7E,0x04,0x08,0x10,0x20,0x7E,0x00,0x00,0x00,0x00,0x00,
/*123 '' */
0x0C,0x10,0x10,0x10,0x20,0x10,0x10,0x10,0x0C,0x00,0x00,0x00,0x00,0x00,
/*124 '' */
0x30,0x08,0x08,0x08,0x04,0x08,0x08,0x08,0x30,0x00,0x00,0x00,0x00,0x00,
/*126 '~' */
0x00,0x00,0x00,0x32,0x4C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*127 DEL (blank) */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
;
#endif // FONT6X14_H
Notes:
If you want a different character range, compressed format, or a binary/hex file instead, tell me which and I’ll produce it.
Font 6x14.h is a compact bitmap font library header commonly used in embedded C/C++ projects and microcontroller displays (OLED, LCD, or LED matrices). The name indicates each glyph is 6 pixels wide and 14 pixels high. The header typically contains an array of byte data representing each character’s bitmap, along with metadata (character widths, offsets, first/last character codes) and helper macros or structures.
To install the Font 6x14.h library, follow these steps:
font6x14_init() function.font6x14_render_char() and font6x14_render_string() functions to render text on the screen.Don't trust pre-made fonts? Use TheDotFactory or LVGL Font Converter.
Courier New or DejaVu Sans Mono.font_6x14.c.Let’s look inside a standard font6x14.h. You will see something like this: Font 6x14.h Library Download
#ifndef FONT_6X14_H #define FONT_6X14_H#include <avr/pgmspace.h> // For AVR flash storage
static const unsigned char font6x14[] PROGMEM = /* 32 (Space) / 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, / 33 (!) */ 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, // ... continues for 95 characters ; #endif
Breaking down the numbers:
0x00 represents a row where no pixels are lit.0x08 in binary is 00001000 (The pixel in the 4th column is lit).Unlike a .ttf or .otf file which contains mathematical curves, a .h (header) file for a font contains a progmem array (or standard const array) of bytes. // font6x14
The Logic of a 6x14 Font:
Here is a pseudo-code example of what you will find inside Font 6x14.h:
#ifndef FONT6X14_H #define FONT6X14_H// Standard ASCII 32 (Space) to 126 (~) static const unsigned char font6x14[] PROGMEM = // Character 32 (Space) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 33 (!) 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // ... and so on for 'A', 'B', 'C', 'a', 'b', 'c' ;
#endif
Here's an example of how to use the Font 6x14.h library in a C project:
#include <stdio.h>
#include "font6x14.h"
// Initialize the font library
void init_font()
// Initialize the font library
font6x14_init();
// Render text using the font library
void render_text(const char *text, int x, int y)
// Render the text
font6x14_render(text, x, y);
int main()
// Initialize the font library
init_font();
// Render text
render_text("Hello, World!", 10, 10);
return 0;
Font 6x14.h?Strictly speaking, "Font 6x14.h" is not a standardized library you pip install or apt-get. It is a C/C++ header file that contains a bitmap representation of ASCII characters (usually 32–126). Each character is drawn in a grid that is 6 pixels wide and 14 pixels tall.
It is derived from the classic X Window System fonts (fixed6x13 or fixed6x14), popularized by the ucgui (embedded GUI library) and later adapted for Arduino and AVR microcontrollers.
Key Characteristics: