#ifndef STB_FONTCHAR__TYPEDEF
#define STB_FONTCHAR__TYPEDEF
typedef struct
{

    float s0,t0,s1,t1;
    signed short x0,y0,x1,y1;
    int   advance_int;

    float s0f,t0f,s1f,t1f;
    float x0f,y0f,x1f,y1f;
    float advance;
} stb_fontchar;
#endif

#define STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH         128
#define STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT         80
#define STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT_POW2   128

#define STB_FONT_consolas_bold_15_usascii_FIRST_CHAR            32
#define STB_FONT_consolas_bold_15_usascii_NUM_CHARS             95

#define STB_FONT_consolas_bold_15_usascii_LINE_SPACING          10

static unsigned int stb__consolas_bold_15_usascii_pixels[]={
    0x0c8320fb,0xb980c980,0x000e4c0a,0x3322ca80,0x3099973c,0x006a0799,
    0x026a1510,0x02a854c0,0x7ec3eca6,0xf900df11,0x0efefb89,0x36013fa6,
    0x745df703,0x1ddfb5fe,0x437fffdc,0xf3ec007d,0x3f7009ff,0xfb7e81be,
    0x2fcc3fb8,0x2fa83260,0x40f909d1,0x6e81cfb9,0x4436d7a0,0x43fd88ef,
    0x9f1002fa,0x2027f5d4,0x6c0df1fb,0x82fc4fb7,0x555542fb,0x0d713a0a,
    0xfff903f5,0x7409f0df,0x45f70db5,0x006e85f9,0x0ff101f9,0x3e3fb951,
    0x5f60bb8d,0xf80bee7d,0x9fffff45,0x7ceed9fa,0x6fcc1fa8,0x409f017a,
    0x3f90db5e,0x01fb86f8,0x8ff105f8,0xf1ffeffa,0x221dfffd,0x007f4fb1,
    0xc9fd40dd,0x0fafcfbe,0x3be627c4,0x407f306b,0x3f90db5e,0x04f887f8,
    0x3ba617d4,0x5c3be23f,0x3f27ff1f,0x01be7d83,0x4fea01f9,0xfafbddcd,
    0x3a0ffb80,0x6fec2fff,0x436d7a00,0xc837c2fb,0x261ba00f,0x71fcc1df,
    0x4f99be3f,0x701ba7d8,0x74fea03f,0x87afbcec,0xffb83ee8,0x807fae5f,
    0x9f30db5e,0x3f9827d4,0x5f307f30,0x8fdc7f50,0x3613e66f,0xfd803f67,
    0x2fa7f500,0xa86becce,0x3fb3a01f,0x5e80fe22,0x2fbfa0db,0x41b600ff,
    0x2a0100fd,0x37c7f64f,0x5cfb07f5,0xa81be01f,0xfffb9d3f,0x403f507f,
    0x27c3fb9f,0xc81b6bd0,0x7d401eff,0xfa827c42,0xfdbff884,0xff55df1f,
    0x2fccfb01,0x3ea03fa8,0x75193bb3,0x9d507ea0,0x4f81ffbf,0x2036d7a0,
    0x5e8010fd,0x4fa80fdc,0x3f7dff50,0x407bfffa,0x221fe47d,0xb97dc06f,
    0x81f7000f,0x80deffe9,0x36d7a05d,0x03bbfea0,0x017e1fb8,0x00801001,
    0x21fd87d8,0x5d6c41fe,0x35df10ff,0x06fb8837,0x39f701aa,0xafdafd54,
    0x00f76a02,0x00722591,0x6c000000,0x5b10d887,0x83dffd10,0x541dffd8,
    0x012e00de,0x5fff936a,0x0001fffb,0x00000000,0x000fb000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xa8153000,0x4c009882,
    0x0a62aacb,0xc982a851,0x0aa12a01,0x2a6002a8,0x0155531a,0x542ef2a2,
    0xc980bc89,0x7dc5303d,0xff317e23,0x3bbea0bf,0x4ddf54ff,0x3207f45d,
    0xf0bfa01f,0xb803740d,0xfff95fff,0xffdff503,0x3bfffbe3,0x1bfffee0,
    0x9be25ff1,0x64f742fb,0x9ba6e81f,0x0fa8f8dd,0xfda987f4,0xf84a82ac,
    0x2201ba06,0x107f206f,0x7c7ee1df,0x3e27f93f,0x743fd88e,0x3f47f21f,
    0xe81faafc,0xfcdb9ba6,0x327e82f9,0x30ffffff,0x8df81555,0xa99ba0bc,
    0xf901fcc1,0x3ee3f983,0xba7ccdf1,0x2017e62f,0xd84f9cf9,0xdf706fbf,
    0x5fec45fd,0xf90fb05d,0x83fff903,0x3a6fffef,0x5d44df36,0x7e41aadf,
    0x3f71fd41,0xf94f99be,0xe8037c43,0xff980fcf,0x06ef7a04,0x0fb00fa8,
    0x0fe403f9,0xe87ecffe,0x3ea0ef8e,0x643fffff,0xfb27d41f,0xb3fa9be3,
    0x25c7f83f,0x7c42ffdc,0xef89f5fe,0xaf880aaa,0xfc87d809,0xdf07f201,
    0xfeee8fdc,0x6407f300,0x6dffc41f,0xf55df1ff,0xbf0bf21f,0x3e21ffc4,
    0xfb9fc82f,0x7ffe43fd,0x7deec1ff,0x7dc3e43f,0xdf07f201,0xfeee8fdc,
    0x6407f300,0xceffa81f,0x3dffff1f,0x89f527d4,0x837c43fc,0x983ff67d,
    0xfa93e64f,0x5006ace8,0x3f9053bf,0x747ee6f8,0xf980ef9e,0x0807f203,
    0x803be3f7,0x40ffbeff,0x3fd732fa,0x3f2b3ee0,0x2677ea1f,0x3a7f12fc,
    0x407f46cb,0xb550fffd,0xb9be157f,0x17eedd1f,0x36aa0fe6,0x3ee00abf,
    0xfe880df1,0x93f261ef,0x7e401efc,0x2e0ffcff,0x9723efff,0x07f42ffa,
    0xfffff830,0x8fdcdf2f,0xf30ff66e,0xffffff07,0x6f8fdc05,0x06e60200,
    0x00002000,0x00001000,0x00000000,0x00000000,0x00000000,0x6e540000,
    0x33332a2c,0x16443932,0x547372e2,0xccc82cec,0x43951ccc,0x7032e3c9,
    0x20599509,0x983cccca,0x32a203cc,0x00bdca83,0x7e419995,0x3ff25eef,
    0x447f54ff,0x3fffe64f,0x9ffddb3f,0x7fffffc4,0x0fecdf12,0x227cc9f5,
    0xc84ffffd,0x7d46ffff,0xffd85fee,0x7eefe46f,0x7ffff446,0x3008df12,
    0xf88fea9f,0x8188bfa4,0x3fe206f8,0x17e6bf20,0x207f43fa,0xf90ff11a,
    0x37c41333,0x067e45f9,0xd87ee6f8,0x7fc4224f,0xf54f9801,0x4faa7c47,
    0x6c0bf100,0x7ef7c42f,0x4f9bfa81,0x07c87e80,0x24fc8bea,0xd8ff406f,
    0xd80df10f,0x3e602eff,0xa7c47f54,0x459972fb,0xf700efcb,0x813fee09,
    0x4c00fdfe,0xceffc85f,0x3fa67ee0,0xdfbdf15f,0x2feffa85,0x3ae013e6,
    0x29f305ff,0x653e23fa,0x649ffd1f,0xef884fee,0x409ff500,0x74404ffa,
    0xfecca81f,0x23bf3f26,0xd99ff36f,0x7fff445f,0x98013ea3,0x54f982fe,
    0xfba7cc7f,0x7ec13e62,0xfd00fec2,0x07f401fd,0x2005fd10,0x29ff71fe,
    0x4c9f35f8,0x3a23fa4f,0x800bf31f,0x34fa82fc,0xf99fd49f,0x7dc13e65,
    0xfb813ee2,0x1fa05fab,0x2002fe88,0x54bf31fd,0x7ccdf13f,0x9fd49f34,
    0x7b300ff8,0x2f21ff95,0x2ffe1fea,0x3bf60fea,0x75574fcb,0x33fe21ff,
    0x1ff11ccc,0x03f407fa,0x83999dfd,0x746fdbab,0x7ec7fabf,0xff11feac,
    0x7dc3fb35,0xff32dccf,0x7fe43dff,0x77ff4c3f,0x2efffc81,0x4c3bffff,
    0x93ffffff,0xe837d47f,0x3ffffe07,0x67fff43f,0x077ff440,0x50bffae2,
    0xd705ffff,0x01883dff,0x20022004,0x00009808,0x00000000,0x00220022,
    0x10011002,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x19700000,0x50770cb8,0x91072a09,0x47912c89,0x999911ca,
    0x951e4399,0x33333265,0x9999972c,0x2c887221,0x9506f332,0x66549999,
    0x333264cc,0x7c2fc81a,0x51ee1b66,0xff985ffd,0x87fcd3e2,0xffff33ff,
    0xf8afc5ff,0xfffff50f,0x3bffb69f,0x7cc7f30e,0x93ffffe4,0x327ffffc,
    0xf50fffff,0xfa89ffff,0x86c93e64,0x17e77c6c,0x34f9bfe6,0x47ff37ff,
    0x20fe9999,0x3605fb5f,0x3e61f607,0x15f93e63,0x403f21ff,0x27f500fc,
    0x9be21fe9,0x9cdf22fb,0x42fb8c6c,0x29f1fdf9,0x4edcdcfa,0xadf8bf30,
    0xd81f604f,0x3e63f987,0x90fd97e4,0x403f201f,0xb13ea3fa,0x2f71fa1f,
    0xf705c8fd,0xf5faf985,0x2bbebea9,0xf83fb04e,0x03ec06fe,0xdddf30fb,
    0x6577c9fd,0x2aaff25f,0x93337f22,0x717e23fa,0xfb8bf17f,0x705daff8,
    0xfcaf985f,0x3fef74f9,0x85f985e8,0x3ec06fef,0xddf30fb0,0x7ffc9fdd,
    0x7fffe44f,0x97bbbf25,0x11be23fa,0xfa85f5bf,0x705dddea,0xf8af985f,
    0x576f74fc,0xf81fd85d,0x1f604fbd,0x23f987d8,0x3a37e4f9,0x6403f20f,
    0x547f500f,0x0fdfe84f,0x77de6fd4,0xf985f704,0x5ee9ffb2,0x5f98bb08,
    0x407fabf0,0x261f607d,0x5f93e63f,0x807e4bf5,0x47f500fc,0x6ffc82fd,
    0xff89ffa8,0x66fee5c4,0x3fe65f31,0xd8db0d94,0x3e6bf01f,0xd550fb06,
    0x31fcc55f,0x1fd2fc9f,0x6fe403f2,0x337ea4cc,0x7ff305ff,0x1ff4ff30,
    0x4ffffffa,0x653fa2f9,0x1be26d86,0x213f25f8,0xffffe87d,0x7cc7f30f,
    0x94fb97e4,0x3fff201f,0xbfff50ff,0x00000007,0x00000000,0x00000000,
    0x00000000,0x90ea5700,0x32203799,0x0e64401c,0x000af332,0xcca80195,
    0xcca88003,0xcb882982,0x20b2ea02,0x07902cb9,0xdff1729d,0xbff70bff,
    0x7c3ffc80,0x3a25ffff,0x6c03f902,0x2604feef,0x3fbbf22e,0xf98bfe25,
    0xffd85fef,0x7fffd47f,0xf317fc45,0x2fc3bd39,0x7efd81fb,0xf0ff7e60,
    0xfe897ecd,0xf301fc83,0x7cc07f49,0x41fb021f,0x643fa1fe,0x0c33f21f,
    0x5fb11df1,0xfff33fd8,0xb2fcffff,0x1fcdf81f,0xf87f3dd0,0x9fb13e66,
    0x7f501fc8,0x3bee17dc,0x1feca980,0x3733be20,0xfa81fa3f,0x3f713ea3,
    0x7c3f97c4,0x7d43fdce,0x9fb84f9a,0xf737c3f9,0x321bf907,0x13df301f,
    0x06fe47f9,0x0fff77e4,0xddddff30,0x7f503fc5,0x3fd9a7c4,0x217c4fcc,
    0x20effeff,0xf88df0fc,0xcff87f34,0x1df706fd,0xffd807f2,0x37f22fff,
    0x3f92fc40,0x80bf114c,0x4bf301fe,0xc81733fa,0x22efeefe,0xfe93ee5f,
    0x3f20feaa,0x3e4dfdcd,0xfd80ceff,0x2600fe45,0x7dc1fc9a,0x32bfe20e,
    0x45ff11ff,0x5c3a9cfd,0x7f45bbff,0x5400ffbc,0x22cfdcfd,0x7ccfea5f,
    0x363fffff,0x27ffffff,0x0ffa206f,0x744007f2,0x5c3ff507,0x3a1fbeff,
    0x3fff621f,0x37ffdc0f,0x887bffa6,0x2d71eeee,0xfcaef87a,0x5335f70f,
    0x21fcc0bf,0x40ba206f,0x21cccdfc,0x202ffccb,0x040082e9,0x40080130,
    0xeeee8808,0x3e1eed91,0x1f61ceff,0x43f981fa,0x3f20006f,0x3fa2ffff,
    0x000001df,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x54399730,0xb94c2a62,0x2f226a1c,0x2a2e6660,0x15309503,0x260aa2a8,
    0x8aaaaaa2,0x406a21a8,0x881dc019,0x2a208888,0x552e0a88,0x97e4eeef,
    0xffdf91fc,0x3fffbe1f,0x3f7ffb26,0xfb87d83f,0x86e97e23,0x3ffffa7b,
    0x7ec7fa0f,0x3015b841,0xffff05ff,0x26fe63ff,0xfd7ff33f,0x1fc97e01,
    0x27f51bf9,0x321fb3ff,0x85d9fc9f,0x2e6f887d,0xc94df22f,0xf989f906,
    0xced83fbe,0xfbcd87cd,0x4cccccc0,0x27f37f30,0xbefc9ff8,0x23f92fc1,
    0x3e3510fc,0xcbe47ee6,0x3fbaadb6,0x47f23eef,0x7f47dc7e,0x05fa85d8,
    0x3220dff7,0x87d41dff,0x4ccccc4e,0x5f15f109,0x93ffae08,0x7e47f25f,
    0x8fdcdf00,0x55b6d97c,0x23eeffee,0x544f9cf9,0x44ebffaf,0xff300ff8,
    0x3fffae07,0x43f51f44,0x21ffffff,0xf3001309,0x1fd9be1f,0xb9be01f9,
    0x6db2f91f,0x3fa07d86,0x777cc0fc,0x0ff43fed,0x703fdfd0,0x808b3b77,
    0x22222208,0x53570000,0x7edff4ff,0x3e01f91f,0xcbe47ee6,0x40fb0db6,
    0xff885ffb,0x3f22ffac,0x3f20ccce,0xd900ef9a,0x00000000,0xa87bfffa,
    0xf91fbeff,0x1fb9be01,0x436db2f9,0x0bfe204a,0x21ff8ffc,0x50fffffe,
    0x0027dcbf,0x80000000,0x00020098,0x00000000,0x00000000,0x00000000,
    0x2a000000,0x0aa8223c,0x55555554,0x0000000a,0x00000000,0x00000000,
    0xbfff3000,0x20ef99b6,0xffffffff,0x00000001,0x00000000,0x00000000,
    0x3feaf900,0x0016443f,0x00000000,0x00000000,0x00000000,0x05930440,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,
};

static signed short stb__consolas_bold_15_usascii_x[95]={ 0,2,1,0,0,0,0,3,1,1,0,0,1,1,
2,0,0,0,0,1,0,1,0,0,0,0,2,1,0,0,1,2,0,0,0,0,0,1,1,0,0,1,1,0,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,1,0,0,0,0,0,1,1,
0,1,1,0,1,0,1,0,1,1,0,1,0,0,0,0,1,1,3,1,0, };
static signed short stb__consolas_bold_15_usascii_y[95]={ 11,0,0,1,-1,0,0,0,0,0,0,3,8,6,
8,0,1,1,1,1,1,1,1,1,1,1,3,3,2,4,2,0,0,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,12,0,3,0,3,0,3,0,3,0,0,
0,0,0,3,3,3,3,3,3,3,1,3,3,3,3,3,3,0,-1,0,5, };
static unsigned short stb__consolas_bold_15_usascii_w[95]={ 0,4,6,8,8,9,9,3,6,6,8,8,5,6,
4,8,8,8,8,7,8,7,8,8,8,8,4,5,7,8,7,6,9,9,8,8,8,7,7,8,8,7,6,8,
7,8,8,8,8,9,8,8,8,8,9,9,9,9,8,5,8,5,8,9,6,8,7,8,8,8,8,8,7,7,
7,7,7,8,7,8,7,8,7,7,8,7,9,9,9,9,7,6,2,7,8, };
static unsigned short stb__consolas_bold_15_usascii_h[95]={ 0,12,5,10,14,12,12,5,15,15,7,8,6,2,
4,13,11,10,10,11,10,11,11,10,11,10,9,11,10,6,10,12,15,10,10,11,10,10,10,11,10,10,11,10,
10,10,10,11,10,13,10,11,10,11,10,10,10,10,10,14,13,14,6,3,4,9,12,9,12,9,11,12,11,11,
15,11,11,8,8,9,11,11,8,9,11,9,8,8,8,12,8,14,16,14,4, };
static unsigned short stb__consolas_bold_15_usascii_s[95]={ 124,40,116,1,44,30,11,124,4,11,89,
42,121,121,123,91,9,21,116,79,29,1,18,48,27,63,89,121,72,107,47,
100,26,19,10,36,117,109,101,70,83,75,54,57,55,39,30,112,38,72,92,
45,66,61,1,11,96,106,87,66,82,60,98,33,26,80,116,103,107,94,78,
21,62,54,18,70,87,33,25,112,104,95,17,1,45,9,51,61,79,1,71,
53,1,36,17, };
static unsigned short stb__consolas_bold_15_usascii_t[95]={ 7,18,65,54,1,18,18,1,1,1,65,
65,54,61,65,1,31,43,30,30,54,31,31,43,31,54,54,18,54,65,54,
1,1,54,54,31,43,43,43,30,43,43,30,43,54,43,43,18,54,1,43,
30,43,30,43,43,30,30,30,1,1,1,65,74,74,54,1,54,1,54,18,
18,18,18,1,18,18,65,65,54,18,18,65,65,18,65,65,65,65,18,65,
1,1,1,74, };
static unsigned short stb__consolas_bold_15_usascii_a[95]={ 132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132, };

static void stb_font_consolas_bold_15_usascii(stb_fontchar font[STB_FONT_consolas_bold_15_usascii_NUM_CHARS],
                unsigned char data[STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT][STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH],
                int height)
{
    int i,j;
    if (data != 0) {
        unsigned int *bits = stb__consolas_bold_15_usascii_pixels;
        unsigned int bitpack = *bits++, numbits = 32;
        for (i=0; i < STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH*height; ++i)
            data[0][i] = 0;  
        for (j=1; j < STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT-1; ++j) {
            for (i=1; i < STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH-1; ++i) {
                unsigned int value;
                if (numbits==0) bitpack = *bits++, numbits=32;
                value = bitpack & 1;
                bitpack >>= 1, --numbits;
                if (value) {
                    if (numbits < 3) bitpack = *bits++, numbits = 32;
                    data[j][i] = (bitpack & 7) * 0x20 + 0x1f;
                    bitpack >>= 3, numbits -= 3;
                } else {
                    data[j][i] = 0;
                }
            }
        }
    }

    if (font != 0) {
        float recip_width = 1.0f / STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH;
        float recip_height = 1.0f / height;
        for (i=0; i < STB_FONT_consolas_bold_15_usascii_NUM_CHARS; ++i) {

            font[i].s0 = (stb__consolas_bold_15_usascii_s[i]) * recip_width;
            font[i].t0 = (stb__consolas_bold_15_usascii_t[i]) * recip_height;
            font[i].s1 = (stb__consolas_bold_15_usascii_s[i] + stb__consolas_bold_15_usascii_w[i]) * recip_width;
            font[i].t1 = (stb__consolas_bold_15_usascii_t[i] + stb__consolas_bold_15_usascii_h[i]) * recip_height;
            font[i].x0 = stb__consolas_bold_15_usascii_x[i];
            font[i].y0 = stb__consolas_bold_15_usascii_y[i];
            font[i].x1 = stb__consolas_bold_15_usascii_x[i] + stb__consolas_bold_15_usascii_w[i];
            font[i].y1 = stb__consolas_bold_15_usascii_y[i] + stb__consolas_bold_15_usascii_h[i];
            font[i].advance_int = (stb__consolas_bold_15_usascii_a[i]+8)>>4;
            font[i].s0f = (stb__consolas_bold_15_usascii_s[i] - 0.5f) * recip_width;
            font[i].t0f = (stb__consolas_bold_15_usascii_t[i] - 0.5f) * recip_height;
            font[i].s1f = (stb__consolas_bold_15_usascii_s[i] + stb__consolas_bold_15_usascii_w[i] + 0.5f) * recip_width;
            font[i].t1f = (stb__consolas_bold_15_usascii_t[i] + stb__consolas_bold_15_usascii_h[i] + 0.5f) * recip_height;
            font[i].x0f = stb__consolas_bold_15_usascii_x[i] - 0.5f;
            font[i].y0f = stb__consolas_bold_15_usascii_y[i] - 0.5f;
            font[i].x1f = stb__consolas_bold_15_usascii_x[i] + stb__consolas_bold_15_usascii_w[i] + 0.5f;
            font[i].y1f = stb__consolas_bold_15_usascii_y[i] + stb__consolas_bold_15_usascii_h[i] + 0.5f;
            font[i].advance = stb__consolas_bold_15_usascii_a[i]/16.0f;
        }
    }
}

#ifndef STB_SOMEFONT_CREATE
#define STB_SOMEFONT_CREATE              stb_font_consolas_bold_15_usascii
#define STB_SOMEFONT_BITMAP_WIDTH        STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH
#define STB_SOMEFONT_BITMAP_HEIGHT       STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT
#define STB_SOMEFONT_BITMAP_HEIGHT_POW2  STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT_POW2
#define STB_SOMEFONT_FIRST_CHAR          STB_FONT_consolas_bold_15_usascii_FIRST_CHAR
#define STB_SOMEFONT_NUM_CHARS           STB_FONT_consolas_bold_15_usascii_NUM_CHARS
#define STB_SOMEFONT_LINE_SPACING        STB_FONT_consolas_bold_15_usascii_LINE_SPACING
#endif
// Font generated by stb_font_inl_generator.c (4/1 bpp)
//
// Following instructions show how to use the only included font, whatever it is, in
// a generic way so you can replace it with any other font by changing the include.
// To use multiple fonts, replace STB_SOMEFONT_* below with STB_FONT_consolas_bold_15_usascii_*,
// and separately install each font. Note that the CREATE function call has a
// totally different name; it's just 'stb_font_consolas_bold_15_usascii'.
//
/* // Example usage:

static stb_fontchar fontdata[STB_SOMEFONT_NUM_CHARS];

static void init(void)
{
    // optionally replace both STB_SOMEFONT_BITMAP_HEIGHT with STB_SOMEFONT_BITMAP_HEIGHT_POW2
    static unsigned char fontpixels[STB_SOMEFONT_BITMAP_HEIGHT][STB_SOMEFONT_BITMAP_WIDTH];
    STB_SOMEFONT_CREATE(fontdata, fontpixels, STB_SOMEFONT_BITMAP_HEIGHT);
    ... create texture ...
    // for best results rendering 1:1 pixels texels, use nearest-neighbor sampling
    // if allowed to scale up, use bilerp
}

// This function positions characters on integer coordinates, and assumes 1:1 texels to pixels
// Appropriate if nearest-neighbor sampling is used
static void draw_string_integer(int x, int y, char *str) // draw with top-left point x,y
{
    ... use texture ...
    ... turn on alpha blending and gamma-correct alpha blending ...
    glBegin(GL_QUADS);
    while (*str) {
        int char_codepoint = *str++;
        stb_fontchar *cd = &fontdata[char_codepoint - STB_SOMEFONT_FIRST_CHAR];
        glTexCoord2f(cd->s0, cd->t0); glVertex2i(x + cd->x0, y + cd->y0);
        glTexCoord2f(cd->s1, cd->t0); glVertex2i(x + cd->x1, y + cd->y0);
        glTexCoord2f(cd->s1, cd->t1); glVertex2i(x + cd->x1, y + cd->y1);
        glTexCoord2f(cd->s0, cd->t1); glVertex2i(x + cd->x0, y + cd->y1);
        // if bilerping, in D3D9 you'll need a half-pixel offset here for 1:1 to behave correct
        x += cd->advance_int;
    }
    glEnd();
}

// This function positions characters on float coordinates, and doesn't require 1:1 texels to pixels
// Appropriate if bilinear filtering is used
static void draw_string_float(float x, float y, char *str) // draw with top-left point x,y
{
    ... use texture ...
    ... turn on alpha blending and gamma-correct alpha blending ...
    glBegin(GL_QUADS);
    while (*str) {
        int char_codepoint = *str++;
        stb_fontchar *cd = &fontdata[char_codepoint - STB_SOMEFONT_FIRST_CHAR];
        glTexCoord2f(cd->s0f, cd->t0f); glVertex2f(x + cd->x0f, y + cd->y0f);
        glTexCoord2f(cd->s1f, cd->t0f); glVertex2f(x + cd->x1f, y + cd->y0f);
        glTexCoord2f(cd->s1f, cd->t1f); glVertex2f(x + cd->x1f, y + cd->y1f);
        glTexCoord2f(cd->s0f, cd->t1f); glVertex2f(x + cd->x0f, y + cd->y1f);
        // if bilerping, in D3D9 you'll need a half-pixel offset here for 1:1 to behave correct
        x += cd->advance;
    }
    glEnd();
}
*/

#ifndef STB_FONTCHAR__TYPEDEF
#define STB_FONTCHAR__TYPEDEF
typedef struct
{
    // coordinates if using integer positioning
    float s0,t0,s1,t1;
    signed short x0,y0,x1,y1;
    int   advance_int;
    // coordinates if using floating positioning
    float s0f,t0f,s1f,t1f;
    float x0f,y0f,x1f,y1f;
    float advance;
} stb_fontchar;
#endif

#define STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH         128
#define STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT         80
#define STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT_POW2   128

#define STB_FONT_consolas_bold_15_usascii_FIRST_CHAR            32
#define STB_FONT_consolas_bold_15_usascii_NUM_CHARS             95

#define STB_FONT_consolas_bold_15_usascii_LINE_SPACING          10

static unsigned int stb__consolas_bold_15_usascii_pixels[]={
    0x0c8320fb,0xb980c980,0x000e4c0a,0x3322ca80,0x3099973c,0x006a0799,
    0x026a1510,0x02a854c0,0x7ec3eca6,0xf900df11,0x0efefb89,0x36013fa6,
    0x745df703,0x1ddfb5fe,0x437fffdc,0xf3ec007d,0x3f7009ff,0xfb7e81be,
    0x2fcc3fb8,0x2fa83260,0x40f909d1,0x6e81cfb9,0x4436d7a0,0x43fd88ef,
    0x9f1002fa,0x2027f5d4,0x6c0df1fb,0x82fc4fb7,0x555542fb,0x0d713a0a,
    0xfff903f5,0x7409f0df,0x45f70db5,0x006e85f9,0x0ff101f9,0x3e3fb951,
    0x5f60bb8d,0xf80bee7d,0x9fffff45,0x7ceed9fa,0x6fcc1fa8,0x409f017a,
    0x3f90db5e,0x01fb86f8,0x8ff105f8,0xf1ffeffa,0x221dfffd,0x007f4fb1,
    0xc9fd40dd,0x0fafcfbe,0x3be627c4,0x407f306b,0x3f90db5e,0x04f887f8,
    0x3ba617d4,0x5c3be23f,0x3f27ff1f,0x01be7d83,0x4fea01f9,0xfafbddcd,
    0x3a0ffb80,0x6fec2fff,0x436d7a00,0xc837c2fb,0x261ba00f,0x71fcc1df,
    0x4f99be3f,0x701ba7d8,0x74fea03f,0x87afbcec,0xffb83ee8,0x807fae5f,
    0x9f30db5e,0x3f9827d4,0x5f307f30,0x8fdc7f50,0x3613e66f,0xfd803f67,
    0x2fa7f500,0xa86becce,0x3fb3a01f,0x5e80fe22,0x2fbfa0db,0x41b600ff,
    0x2a0100fd,0x37c7f64f,0x5cfb07f5,0xa81be01f,0xfffb9d3f,0x403f507f,
    0x27c3fb9f,0xc81b6bd0,0x7d401eff,0xfa827c42,0xfdbff884,0xff55df1f,
    0x2fccfb01,0x3ea03fa8,0x75193bb3,0x9d507ea0,0x4f81ffbf,0x2036d7a0,
    0x5e8010fd,0x4fa80fdc,0x3f7dff50,0x407bfffa,0x221fe47d,0xb97dc06f,
    0x81f7000f,0x80deffe9,0x36d7a05d,0x03bbfea0,0x017e1fb8,0x00801001,
    0x21fd87d8,0x5d6c41fe,0x35df10ff,0x06fb8837,0x39f701aa,0xafdafd54,
    0x00f76a02,0x00722591,0x6c000000,0x5b10d887,0x83dffd10,0x541dffd8,
    0x012e00de,0x5fff936a,0x0001fffb,0x00000000,0x000fb000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xa8153000,0x4c009882,
    0x0a62aacb,0xc982a851,0x0aa12a01,0x2a6002a8,0x0155531a,0x542ef2a2,
    0xc980bc89,0x7dc5303d,0xff317e23,0x3bbea0bf,0x4ddf54ff,0x3207f45d,
    0xf0bfa01f,0xb803740d,0xfff95fff,0xffdff503,0x3bfffbe3,0x1bfffee0,
    0x9be25ff1,0x64f742fb,0x9ba6e81f,0x0fa8f8dd,0xfda987f4,0xf84a82ac,
    0x2201ba06,0x107f206f,0x7c7ee1df,0x3e27f93f,0x743fd88e,0x3f47f21f,
    0xe81faafc,0xfcdb9ba6,0x327e82f9,0x30ffffff,0x8df81555,0xa99ba0bc,
    0xf901fcc1,0x3ee3f983,0xba7ccdf1,0x2017e62f,0xd84f9cf9,0xdf706fbf,
    0x5fec45fd,0xf90fb05d,0x83fff903,0x3a6fffef,0x5d44df36,0x7e41aadf,
    0x3f71fd41,0xf94f99be,0xe8037c43,0xff980fcf,0x06ef7a04,0x0fb00fa8,
    0x0fe403f9,0xe87ecffe,0x3ea0ef8e,0x643fffff,0xfb27d41f,0xb3fa9be3,
    0x25c7f83f,0x7c42ffdc,0xef89f5fe,0xaf880aaa,0xfc87d809,0xdf07f201,
    0xfeee8fdc,0x6407f300,0x6dffc41f,0xf55df1ff,0xbf0bf21f,0x3e21ffc4,
    0xfb9fc82f,0x7ffe43fd,0x7deec1ff,0x7dc3e43f,0xdf07f201,0xfeee8fdc,
    0x6407f300,0xceffa81f,0x3dffff1f,0x89f527d4,0x837c43fc,0x983ff67d,
    0xfa93e64f,0x5006ace8,0x3f9053bf,0x747ee6f8,0xf980ef9e,0x0807f203,
    0x803be3f7,0x40ffbeff,0x3fd732fa,0x3f2b3ee0,0x2677ea1f,0x3a7f12fc,
    0x407f46cb,0xb550fffd,0xb9be157f,0x17eedd1f,0x36aa0fe6,0x3ee00abf,
    0xfe880df1,0x93f261ef,0x7e401efc,0x2e0ffcff,0x9723efff,0x07f42ffa,
    0xfffff830,0x8fdcdf2f,0xf30ff66e,0xffffff07,0x6f8fdc05,0x06e60200,
    0x00002000,0x00001000,0x00000000,0x00000000,0x00000000,0x6e540000,
    0x33332a2c,0x16443932,0x547372e2,0xccc82cec,0x43951ccc,0x7032e3c9,
    0x20599509,0x983cccca,0x32a203cc,0x00bdca83,0x7e419995,0x3ff25eef,
    0x447f54ff,0x3fffe64f,0x9ffddb3f,0x7fffffc4,0x0fecdf12,0x227cc9f5,
    0xc84ffffd,0x7d46ffff,0xffd85fee,0x7eefe46f,0x7ffff446,0x3008df12,
    0xf88fea9f,0x8188bfa4,0x3fe206f8,0x17e6bf20,0x207f43fa,0xf90ff11a,
    0x37c41333,0x067e45f9,0xd87ee6f8,0x7fc4224f,0xf54f9801,0x4faa7c47,
    0x6c0bf100,0x7ef7c42f,0x4f9bfa81,0x07c87e80,0x24fc8bea,0xd8ff406f,
    0xd80df10f,0x3e602eff,0xa7c47f54,0x459972fb,0xf700efcb,0x813fee09,
    0x4c00fdfe,0xceffc85f,0x3fa67ee0,0xdfbdf15f,0x2feffa85,0x3ae013e6,
    0x29f305ff,0x653e23fa,0x649ffd1f,0xef884fee,0x409ff500,0x74404ffa,
    0xfecca81f,0x23bf3f26,0xd99ff36f,0x7fff445f,0x98013ea3,0x54f982fe,
    0xfba7cc7f,0x7ec13e62,0xfd00fec2,0x07f401fd,0x2005fd10,0x29ff71fe,
    0x4c9f35f8,0x3a23fa4f,0x800bf31f,0x34fa82fc,0xf99fd49f,0x7dc13e65,
    0xfb813ee2,0x1fa05fab,0x2002fe88,0x54bf31fd,0x7ccdf13f,0x9fd49f34,
    0x7b300ff8,0x2f21ff95,0x2ffe1fea,0x3bf60fea,0x75574fcb,0x33fe21ff,
    0x1ff11ccc,0x03f407fa,0x83999dfd,0x746fdbab,0x7ec7fabf,0xff11feac,
    0x7dc3fb35,0xff32dccf,0x7fe43dff,0x77ff4c3f,0x2efffc81,0x4c3bffff,
    0x93ffffff,0xe837d47f,0x3ffffe07,0x67fff43f,0x077ff440,0x50bffae2,
    0xd705ffff,0x01883dff,0x20022004,0x00009808,0x00000000,0x00220022,
    0x10011002,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x19700000,0x50770cb8,0x91072a09,0x47912c89,0x999911ca,
    0x951e4399,0x33333265,0x9999972c,0x2c887221,0x9506f332,0x66549999,
    0x333264cc,0x7c2fc81a,0x51ee1b66,0xff985ffd,0x87fcd3e2,0xffff33ff,
    0xf8afc5ff,0xfffff50f,0x3bffb69f,0x7cc7f30e,0x93ffffe4,0x327ffffc,
    0xf50fffff,0xfa89ffff,0x86c93e64,0x17e77c6c,0x34f9bfe6,0x47ff37ff,
    0x20fe9999,0x3605fb5f,0x3e61f607,0x15f93e63,0x403f21ff,0x27f500fc,
    0x9be21fe9,0x9cdf22fb,0x42fb8c6c,0x29f1fdf9,0x4edcdcfa,0xadf8bf30,
    0xd81f604f,0x3e63f987,0x90fd97e4,0x403f201f,0xb13ea3fa,0x2f71fa1f,
    0xf705c8fd,0xf5faf985,0x2bbebea9,0xf83fb04e,0x03ec06fe,0xdddf30fb,
    0x6577c9fd,0x2aaff25f,0x93337f22,0x717e23fa,0xfb8bf17f,0x705daff8,
    0xfcaf985f,0x3fef74f9,0x85f985e8,0x3ec06fef,0xddf30fb0,0x7ffc9fdd,
    0x7fffe44f,0x97bbbf25,0x11be23fa,0xfa85f5bf,0x705dddea,0xf8af985f,
    0x576f74fc,0xf81fd85d,0x1f604fbd,0x23f987d8,0x3a37e4f9,0x6403f20f,
    0x547f500f,0x0fdfe84f,0x77de6fd4,0xf985f704,0x5ee9ffb2,0x5f98bb08,
    0x407fabf0,0x261f607d,0x5f93e63f,0x807e4bf5,0x47f500fc,0x6ffc82fd,
    0xff89ffa8,0x66fee5c4,0x3fe65f31,0xd8db0d94,0x3e6bf01f,0xd550fb06,
    0x31fcc55f,0x1fd2fc9f,0x6fe403f2,0x337ea4cc,0x7ff305ff,0x1ff4ff30,
    0x4ffffffa,0x653fa2f9,0x1be26d86,0x213f25f8,0xffffe87d,0x7cc7f30f,
    0x94fb97e4,0x3fff201f,0xbfff50ff,0x00000007,0x00000000,0x00000000,
    0x00000000,0x90ea5700,0x32203799,0x0e64401c,0x000af332,0xcca80195,
    0xcca88003,0xcb882982,0x20b2ea02,0x07902cb9,0xdff1729d,0xbff70bff,
    0x7c3ffc80,0x3a25ffff,0x6c03f902,0x2604feef,0x3fbbf22e,0xf98bfe25,
    0xffd85fef,0x7fffd47f,0xf317fc45,0x2fc3bd39,0x7efd81fb,0xf0ff7e60,
    0xfe897ecd,0xf301fc83,0x7cc07f49,0x41fb021f,0x643fa1fe,0x0c33f21f,
    0x5fb11df1,0xfff33fd8,0xb2fcffff,0x1fcdf81f,0xf87f3dd0,0x9fb13e66,
    0x7f501fc8,0x3bee17dc,0x1feca980,0x3733be20,0xfa81fa3f,0x3f713ea3,
    0x7c3f97c4,0x7d43fdce,0x9fb84f9a,0xf737c3f9,0x321bf907,0x13df301f,
    0x06fe47f9,0x0fff77e4,0xddddff30,0x7f503fc5,0x3fd9a7c4,0x217c4fcc,
    0x20effeff,0xf88df0fc,0xcff87f34,0x1df706fd,0xffd807f2,0x37f22fff,
    0x3f92fc40,0x80bf114c,0x4bf301fe,0xc81733fa,0x22efeefe,0xfe93ee5f,
    0x3f20feaa,0x3e4dfdcd,0xfd80ceff,0x2600fe45,0x7dc1fc9a,0x32bfe20e,
    0x45ff11ff,0x5c3a9cfd,0x7f45bbff,0x5400ffbc,0x22cfdcfd,0x7ccfea5f,
    0x363fffff,0x27ffffff,0x0ffa206f,0x744007f2,0x5c3ff507,0x3a1fbeff,
    0x3fff621f,0x37ffdc0f,0x887bffa6,0x2d71eeee,0xfcaef87a,0x5335f70f,
    0x21fcc0bf,0x40ba206f,0x21cccdfc,0x202ffccb,0x040082e9,0x40080130,
    0xeeee8808,0x3e1eed91,0x1f61ceff,0x43f981fa,0x3f20006f,0x3fa2ffff,
    0x000001df,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x54399730,0xb94c2a62,0x2f226a1c,0x2a2e6660,0x15309503,0x260aa2a8,
    0x8aaaaaa2,0x406a21a8,0x881dc019,0x2a208888,0x552e0a88,0x97e4eeef,
    0xffdf91fc,0x3fffbe1f,0x3f7ffb26,0xfb87d83f,0x86e97e23,0x3ffffa7b,
    0x7ec7fa0f,0x3015b841,0xffff05ff,0x26fe63ff,0xfd7ff33f,0x1fc97e01,
    0x27f51bf9,0x321fb3ff,0x85d9fc9f,0x2e6f887d,0xc94df22f,0xf989f906,
    0xced83fbe,0xfbcd87cd,0x4cccccc0,0x27f37f30,0xbefc9ff8,0x23f92fc1,
    0x3e3510fc,0xcbe47ee6,0x3fbaadb6,0x47f23eef,0x7f47dc7e,0x05fa85d8,
    0x3220dff7,0x87d41dff,0x4ccccc4e,0x5f15f109,0x93ffae08,0x7e47f25f,
    0x8fdcdf00,0x55b6d97c,0x23eeffee,0x544f9cf9,0x44ebffaf,0xff300ff8,
    0x3fffae07,0x43f51f44,0x21ffffff,0xf3001309,0x1fd9be1f,0xb9be01f9,
    0x6db2f91f,0x3fa07d86,0x777cc0fc,0x0ff43fed,0x703fdfd0,0x808b3b77,
    0x22222208,0x53570000,0x7edff4ff,0x3e01f91f,0xcbe47ee6,0x40fb0db6,
    0xff885ffb,0x3f22ffac,0x3f20ccce,0xd900ef9a,0x00000000,0xa87bfffa,
    0xf91fbeff,0x1fb9be01,0x436db2f9,0x0bfe204a,0x21ff8ffc,0x50fffffe,
    0x0027dcbf,0x80000000,0x00020098,0x00000000,0x00000000,0x00000000,
    0x2a000000,0x0aa8223c,0x55555554,0x0000000a,0x00000000,0x00000000,
    0xbfff3000,0x20ef99b6,0xffffffff,0x00000001,0x00000000,0x00000000,
    0x3feaf900,0x0016443f,0x00000000,0x00000000,0x00000000,0x05930440,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,
};

static signed short stb__consolas_bold_15_usascii_x[95]={ 0,2,1,0,0,0,0,3,1,1,0,0,1,1,
2,0,0,0,0,1,0,1,0,0,0,0,2,1,0,0,1,2,0,0,0,0,0,1,1,0,0,1,1,0,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,1,0,0,0,0,0,1,1,
0,1,1,0,1,0,1,0,1,1,0,1,0,0,0,0,1,1,3,1,0, };
static signed short stb__consolas_bold_15_usascii_y[95]={ 11,0,0,1,-1,0,0,0,0,0,0,3,8,6,
8,0,1,1,1,1,1,1,1,1,1,1,3,3,2,4,2,0,0,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,12,0,3,0,3,0,3,0,3,0,0,
0,0,0,3,3,3,3,3,3,3,1,3,3,3,3,3,3,0,-1,0,5, };
static unsigned short stb__consolas_bold_15_usascii_w[95]={ 0,4,6,8,8,9,9,3,6,6,8,8,5,6,
4,8,8,8,8,7,8,7,8,8,8,8,4,5,7,8,7,6,9,9,8,8,8,7,7,8,8,7,6,8,
7,8,8,8,8,9,8,8,8,8,9,9,9,9,8,5,8,5,8,9,6,8,7,8,8,8,8,8,7,7,
7,7,7,8,7,8,7,8,7,7,8,7,9,9,9,9,7,6,2,7,8, };
static unsigned short stb__consolas_bold_15_usascii_h[95]={ 0,12,5,10,14,12,12,5,15,15,7,8,6,2,
4,13,11,10,10,11,10,11,11,10,11,10,9,11,10,6,10,12,15,10,10,11,10,10,10,11,10,10,11,10,
10,10,10,11,10,13,10,11,10,11,10,10,10,10,10,14,13,14,6,3,4,9,12,9,12,9,11,12,11,11,
15,11,11,8,8,9,11,11,8,9,11,9,8,8,8,12,8,14,16,14,4, };
static unsigned short stb__consolas_bold_15_usascii_s[95]={ 124,40,116,1,44,30,11,124,4,11,89,
42,121,121,123,91,9,21,116,79,29,1,18,48,27,63,89,121,72,107,47,
100,26,19,10,36,117,109,101,70,83,75,54,57,55,39,30,112,38,72,92,
45,66,61,1,11,96,106,87,66,82,60,98,33,26,80,116,103,107,94,78,
21,62,54,18,70,87,33,25,112,104,95,17,1,45,9,51,61,79,1,71,
53,1,36,17, };
static unsigned short stb__consolas_bold_15_usascii_t[95]={ 7,18,65,54,1,18,18,1,1,1,65,
65,54,61,65,1,31,43,30,30,54,31,31,43,31,54,54,18,54,65,54,
1,1,54,54,31,43,43,43,30,43,43,30,43,54,43,43,18,54,1,43,
30,43,30,43,43,30,30,30,1,1,1,65,74,74,54,1,54,1,54,18,
18,18,18,1,18,18,65,65,54,18,18,65,65,18,65,65,65,65,18,65,
1,1,1,74, };
static unsigned short stb__consolas_bold_15_usascii_a[95]={ 132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
132,132,132,132,132,132,132, };

// Call this function with
//    font: NULL or array length
//    data: NULL or specified size
//    height: STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT or STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT_POW2
//    return value: spacing between lines
static void stb_font_consolas_bold_15_usascii(stb_fontchar font[STB_FONT_consolas_bold_15_usascii_NUM_CHARS],
                unsigned char data[STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT][STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH],
                int height)
{
    int i,j;
    if (data != 0) {
        unsigned int *bits = stb__consolas_bold_15_usascii_pixels;
        unsigned int bitpack = *bits++, numbits = 32;
        for (i=0; i < STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH*height; ++i)
            data[0][i] = 0;  // zero entire bitmap
        for (j=1; j < STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT-1; ++j) {
            for (i=1; i < STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH-1; ++i) {
                unsigned int value;
                if (numbits==0) bitpack = *bits++, numbits=32;
                value = bitpack & 1;
                bitpack >>= 1, --numbits;
                if (value) {
                    if (numbits < 3) bitpack = *bits++, numbits = 32;
                    data[j][i] = (bitpack & 7) * 0x20 + 0x1f;
                    bitpack >>= 3, numbits -= 3;
                } else {
                    data[j][i] = 0;
                }
            }
        }
    }

    // build font description
    if (font != 0) {
        float recip_width = 1.0f / STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH;
        float recip_height = 1.0f / height;
        for (i=0; i < STB_FONT_consolas_bold_15_usascii_NUM_CHARS; ++i) {
            // pad characters so they bilerp from empty space around each character
            font[i].s0 = (stb__consolas_bold_15_usascii_s[i]) * recip_width;
            font[i].t0 = (stb__consolas_bold_15_usascii_t[i]) * recip_height;
            font[i].s1 = (stb__consolas_bold_15_usascii_s[i] + stb__consolas_bold_15_usascii_w[i]) * recip_width;
            font[i].t1 = (stb__consolas_bold_15_usascii_t[i] + stb__consolas_bold_15_usascii_h[i]) * recip_height;
            font[i].x0 = stb__consolas_bold_15_usascii_x[i];
            font[i].y0 = stb__consolas_bold_15_usascii_y[i];
            font[i].x1 = stb__consolas_bold_15_usascii_x[i] + stb__consolas_bold_15_usascii_w[i];
            font[i].y1 = stb__consolas_bold_15_usascii_y[i] + stb__consolas_bold_15_usascii_h[i];
            font[i].advance_int = (stb__consolas_bold_15_usascii_a[i]+8)>>4;
            font[i].s0f = (stb__consolas_bold_15_usascii_s[i] - 0.5f) * recip_width;
            font[i].t0f = (stb__consolas_bold_15_usascii_t[i] - 0.5f) * recip_height;
            font[i].s1f = (stb__consolas_bold_15_usascii_s[i] + stb__consolas_bold_15_usascii_w[i] + 0.5f) * recip_width;
            font[i].t1f = (stb__consolas_bold_15_usascii_t[i] + stb__consolas_bold_15_usascii_h[i] + 0.5f) * recip_height;
            font[i].x0f = stb__consolas_bold_15_usascii_x[i] - 0.5f;
            font[i].y0f = stb__consolas_bold_15_usascii_y[i] - 0.5f;
            font[i].x1f = stb__consolas_bold_15_usascii_x[i] + stb__consolas_bold_15_usascii_w[i] + 0.5f;
            font[i].y1f = stb__consolas_bold_15_usascii_y[i] + stb__consolas_bold_15_usascii_h[i] + 0.5f;
            font[i].advance = stb__consolas_bold_15_usascii_a[i]/16.0f;
        }
    }
}

#ifndef STB_SOMEFONT_CREATE
#define STB_SOMEFONT_CREATE              stb_font_consolas_bold_15_usascii
#define STB_SOMEFONT_BITMAP_WIDTH        STB_FONT_consolas_bold_15_usascii_BITMAP_WIDTH
#define STB_SOMEFONT_BITMAP_HEIGHT       STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT
#define STB_SOMEFONT_BITMAP_HEIGHT_POW2  STB_FONT_consolas_bold_15_usascii_BITMAP_HEIGHT_POW2
#define STB_SOMEFONT_FIRST_CHAR          STB_FONT_consolas_bold_15_usascii_FIRST_CHAR
#define STB_SOMEFONT_NUM_CHARS           STB_FONT_consolas_bold_15_usascii_NUM_CHARS
#define STB_SOMEFONT_LINE_SPACING        STB_FONT_consolas_bold_15_usascii_LINE_SPACING
#endif

