// 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_19_usascii_*, // and separately install each font. Note that the CREATE function call has a // totally different name; it's just 'stb_font_consolas_bold_19_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_19_usascii_BITMAP_WIDTH 128 #define STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT 116 #define STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT_POW2 128 #define STB_FONT_consolas_bold_19_usascii_FIRST_CHAR 32 #define STB_FONT_consolas_bold_19_usascii_NUM_CHARS 95 #define STB_FONT_consolas_bold_19_usascii_LINE_SPACING 12 static unsigned int stb__consolas_bold_19_usascii_pixels[]={ 0x2a00e431,0x5100cccc,0x910d4037,0x00e25999,0x0066014c,0x098807c8, 0x88000310,0x3fa00109,0x3209fff1,0xf981ffff,0x3ff703ff,0x657fffe2, 0x07fcc04f,0x017fffd4,0xfff3036c,0x04fc81df,0x2a1ff100,0x3fd02dff, 0x2207fea6,0xfe81fe99,0x3ff7009d,0x44267fe2,0x9ff102ff,0xfd77df50, 0xffffb503,0xfeeffa87,0x003fcc7f,0x3fea4fb8,0x41fe85ff,0x0fec03fc, 0x21a803fc,0x3ff506f8,0xdf30bfb0,0x3ee27cc1,0x744fefff,0xb0ffea4f, 0x3ff0005f,0xe89ff930,0x2027dc1f,0x437c41fd,0x0aaaaaa9,0x37e40df1, 0x3f203fea,0x67fc7e81,0x7fcc12f9,0x3ea37ec0,0x037d4006,0x83fd1bf6, 0x0fec04fb,0x3ff21be2,0xdf10ffff,0x3f60ff80,0x9b76f883,0x3fe21f9b, 0x6fb81fab,0x1fe87fc8,0x900bfa00,0x4c1fe8df,0x20fec05f,0xaaa986f9, 0x0df10ffb,0x3ff12fe8,0xfff97f50,0x7ff43f7d,0x85fc80fe,0x05fb87fa, 0x2620ff30,0x0ff44ffb,0xfd80dffc,0x009fb311,0x1be21ff1,0x3fe69f90, 0x9ef9fc80,0x3a22fbdf,0x7e44ffff,0xf887fa86,0x03fc800f,0xfd0bfff9, 0x20ffd303,0x09ff91fd,0x7c43fe20,0xfab7d406,0x39f3fb06,0xf503f79f, 0x3fdcdfff,0x3fc837d4,0xb807fc40,0x03fd01df,0x3f609bfd,0x003ffb51, 0x1be21ff1,0x1beadf50,0x7d5fd7f4,0x9bf01fcc,0x07fea5ff,0x1fe60bfb, 0x7dc0bf70,0xf507fa03,0x5c1fd80b,0x0ff8804f,0x5fb80df1,0x5fd01ff1, 0x1fb7f57f,0x8ffe7f10,0x3ff51eff,0xfd017f40,0xd004c403,0x404fa83f, 0x037cc1fd,0x6f887fc4,0x5fd27ec0,0xfb9f3fd0,0x4cdc4df9,0x2e1ffaaf, 0x05ffffff,0x6fa837d4,0xfd016cc0,0x6c04fb83,0x4037c41f,0x0df10ff8, 0x0ff21ff8,0x3bbfe3f6,0x3ffe22ff,0xea84ffff,0xff003fff,0xe805fb03, 0x707fa07f,0x41fd809f,0xff8806f8,0x7dc0df10,0x3207fd46,0x8370b99f, 0x2deffec8,0x70017f40,0x807f989f,0x07fa05fc,0x1fd807f7,0x7fa807f8, 0x7fcc1be2,0x7d46fd82,0x007d8004,0x0172fff2,0x27e41ff1,0x0ff40180, 0xfd805fd3,0x2a0bfe81,0x7c4dfb10,0x104fe886,0x42ff89fd,0x1002f402, 0x803ffffd,0x01ff13fd,0x7c7fa000,0xfff905ff,0x7fff503f,0x87fffffa, 0xf95ffff8,0x20ff880b,0x07feeffa,0x5d4000d4,0x0000000a,0x3323fd00, 0x33332a02,0x6dc72a00,0x66440cee,0x200912cc,0xdeec9829,0x00000002, 0x20000000,0x000001fe,0x00000000,0x00000000,0x00000000,0x0000f640, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x20cc0000,0x4c000099,0x13109880,0x09999880,0x98000988, 0x880a9800,0x32ea0009,0x4c402aab,0x83fe2001,0x77ecc3ff,0x87ffd104, 0x809fb0fd,0xc84ffffa,0x17f4004f,0x7ec2ffc0,0xffffb004,0x3fa60dff, 0xff1005ff,0xff31ffc1,0x5f70bffd,0xfb17dcf9,0xfecc9809,0x4004fc84, 0x5ff802fe,0xfb804fd8,0x80cfd88e,0x03cceff8,0x7fc1ff10,0x3fc4ff23, 0xf89fabe4,0x90027ec5,0x009f909f,0x559ff551,0x3602a605,0x23fc804f, 0x0ff505fa,0x7fe654c0,0x2fd8bfe0,0x93f50ff1,0xfd81fb1f,0x3202cb8b, 0x224fc84f,0x3ffee1aa,0x2a27ffff,0xbfd81aaa,0x5fb82cb8,0x2fdc13ee, 0xfffffc80,0xfb8bfe0f,0xe884fe8e,0xd82facff,0x04ffffdf,0x49f909f9, 0x2aa20efd,0x2a2aacff,0xfd84ffff,0x443ffffd,0x01ffdeff,0xff700bf7, 0x741ff537,0x3fffe22f,0x2fc4cc04,0xfcbeffd8,0xc84fc81f,0x401df94f, 0xd55102fe,0x7dffb09f,0xedfb8ffb,0x7ffcc1ce,0xf83fffff,0xe83fe23f, 0x53ffa22f,0x03f601a8,0x9fd077ec,0x9f909f90,0xfe803ff7,0xd84fc802, 0x41ff10ef,0x664401fe,0x41cccefe,0x3fe20ff8,0x7f447fa0,0x04fb9ffe, 0xd81537f5,0x642fe44f,0xffefc84f,0x802fe801,0x24fd84fc,0x3ff20ff8, 0xf701cdee,0x20ff980b,0x47f60ff8,0xfbdf96fb,0xff5df107,0x3227ec7f, 0xc84fc85f,0xe803ffef,0x84fc802f,0x83fe24fd,0xffffeff9,0x4405fb82, 0x83fe20ff,0xfe93f218,0xd8fc80ff,0x227ecdb6,0x84fc83fe,0x01ffbcfc, 0x7e4027f4,0x3e24fd84,0xd83ff10f,0x805fb85f,0x1ffd13ff,0x26fc8654, 0x3fa86ff8,0x7ec3f2bd,0x3207fea4,0xfb4fc84f,0x6ffe401f,0xb09f905c, 0x987fc49f,0x427ec1ff,0xffc805fb,0xf10ffffe,0x33bfe69f,0x3a23fffe, 0xd9babf26,0x24ffdcef,0xeefffeeb,0x3fa29f91,0x3fff6206,0x3fffbae7, 0x449fb1ee,0x3bffa0ff,0xfb80efed,0x3dffb005,0x517f41fd,0xff7bfffd, 0xfd887f23,0x3fffae1f,0x7fffe43f,0x49f92fff,0x19804ff9,0x7fffffe4, 0x7c49fb2f,0x3bbae20f,0x017ee03d,0x80440188,0x00200018,0x00000013, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xa9800000, 0x880aa882,0x530babca,0x88059711,0x33331009,0x04c40133,0x4c402200, 0x200e6019,0x2a600998,0x99999809,0xb81ff509,0xffffc86f,0xff9fb0ff, 0xfff509ff,0xfffa81df,0xff984fff,0xf9300dff,0xfff70bff,0x5ff983df, 0x3fffff70,0x4fffffb8,0x3fffffe6,0x7fd0ffe2,0xfa9bffb8,0x97dffb0f, 0x77fd43ff,0x7fd47ffe,0x7cc4ffff,0xa86ffcdf,0x544eefff,0x47fdbcff, 0xffd86ffa,0x3ee2feef,0x264eccef,0x22ffeeee,0x03fe66fc,0x87fc47ff, 0x93fa0efd,0x8ffee4fe,0x4fd805fa,0xff88bfe6,0xf11fec03,0x541dc83f, 0xfd0443ff,0x45ff0009,0x8bf90ff9,0x3fe20ff8,0x5fc89fb0,0x6fd81ff5, 0xff1017ea,0xf927f441,0x4cbfb00b,0xbfd000ff,0x000bfd00,0xf3fe85ff, 0x20ff985f,0x89fb0ff8,0x90df75fc,0x567fd4ff,0x3ea6fa82,0x2affa5ff, 0xeff981bc,0x3e003ffb,0xeffc802f,0x85ff000a,0x887faefb,0x43fe20ff, 0xc9ff44fd,0x2a7fa85f,0x21ffffff,0xfbff96fb,0x7fffffcd,0xffffa85f, 0xff885304,0xfffe8802,0x42ff804f,0xf04feff8,0x43ffa27f,0x47fea4fd, 0x27fa86fc,0x7ffcbaa8,0x23bfbbee,0x2fbfe6fa,0x7e42ffca,0x7cc3ffff, 0x00bfe24f,0x05fffea8,0x7fe417fc,0xfdff900f,0x3bf61fff,0x3ee4ffdc, 0x5c06fa87,0x9fff51ff,0x85ff2fdc,0x23bf24fd,0x3e60ffd8,0x001ffc7f, 0xf00ffecc,0x0bff305f,0xff9effd8,0x7fffffb0,0x7ec1ffa8,0x98ffcc05, 0xd27ec2ff,0x3e4fc87f,0x321ff42f,0x0037f47f,0x3e02ff88,0x01ff982f, 0x21ff1188,0x3e008cfd,0x03ff51ef,0x3fa3fec4,0xfc83fe65,0xff8ffe26, 0x3ea17f43,0x3067fdc6,0x3fea0541,0x0ffd4131,0x20013fa6,0x09fb0ff8, 0xffffff70,0xffeeec8b,0x6f7fd42f,0x77fc44ff,0x7fe46ffd,0x530efecd, 0xfffd03fd,0x3fe25fff,0x2a5ffeee,0x2e5ffeef,0x10006fff,0x013f61ff, 0x41ffff54,0x01dffffc,0x207fffd3,0x80cfffe9,0x20dffffc,0x3ae01eff, 0xfd11dfff,0xe987ffff,0x3aa0cfff,0x6640003d,0x88005950,0x0004c400, 0x00620011,0x800180c4,0x00266200,0x00000011,0x00000000,0x00000000, 0x00000000,0x31033000,0x440ccc01,0x331009a9,0x22133333,0x22198819, 0x30133009,0x20133013,0x20131099,0x4c026018,0x7304c409,0x9f903fe2, 0xfffffc88,0x9fffff53,0xffffffd0,0xf07fea5f,0x5437e49f,0x3fff20ff, 0x442ff44f,0x205f91ff,0x37fdc0fe,0x3ea3ffc4,0xff1bff34,0x3a24fc81, 0x54feeeff,0x87ffd99d,0xfffffffe,0xffb9bf62,0xfd0bfe20,0x7f6ffe47, 0x2e1fee3f,0x740bf27f,0x1bfffaa7,0xfa8bffe2,0xff1dff54,0x3f24fc81, 0xfb00c41f,0x98dfd00b,0x907ff2ff,0x643fd4df,0xff99bf60,0x5f727ec2, 0xcdfc9fa0,0x6fff886f,0x89dc93ea,0x8a7e40ff,0xfc8003ff,0x40ffdc04, 0x80ffbefd,0x07fd2ff8,0x4fe8ff70,0x27f717fc,0x7199fa29,0xfdff10df, 0x7c413ea5,0xfaa7e40f,0x3ea66007,0x0ffe601f,0x01ffffc4,0x00ff5bf9, 0x4df917f6,0xd9fdc7f9,0x3ee0df1f,0x5fbff886,0x3fe209f5,0x7fba7e40, 0xf993fff6,0x7f402fff,0x037fe406,0x00ffbfe2,0xff30bfe6,0x7f517f21, 0xb837d3fe,0xf8ff886f,0xf104fa9f,0xf74fc81f,0x127ff64d,0x20bffd99, 0x7f400ffb,0x7fe400ff,0x05fe8807,0x50ffa5ff,0x3edff57f,0xf10df705, 0x53eb7f2f,0x0ff8bfe8,0x87faa7e4,0x3fe604fc,0x201ffcc1,0x405feffa, 0x74403ff8,0x237f605f,0x667cc0ff,0x705f9fcf,0x22ff10df,0xff54fbff, 0xfd81ff1d,0xfc85ff33,0x3a17fc04,0xacfe805f,0x17fc02ff,0xa80bfd10, 0xf986fbff,0x5fcfacfc,0xff10df70,0xf8a7ffec,0x7c47ff3f,0xc87bf61f, 0x87fee04f,0x7dc00ffb,0xf80dfd0f,0x0bfd102f,0x07fdff10,0x3be5fdf1, 0x10df704f,0x27ffccff,0x6f7fdc11,0x7ffcc5ff,0xdd94ffef,0xff89ffdd, 0x13ffffff,0x1ffd49ff,0x3f605ff0,0x82ffffff,0xf881fffd,0xc93ff67f, 0x3fffffff,0x4ffe8ff1,0x67fffdc0,0xffffd880,0xdffffb2e,0xffffff05, 0x03ff27ff,0x3fe01ffd,0xfffffb02,0xfff705ff,0xfa97fe20,0x3ffff23f, 0x8ff13fff,0x11004ffa,0x9980c400,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x26604cc0,0x4cccccc0, 0x88131099,0x4ccccc09,0x33310999,0x81983333,0x03331098,0x09999998, 0x06666666,0x26001333,0xcb980260,0x7d4bff1b,0x7ffffc3f,0x47fb2fff, 0x3fe63ff9,0x95ffffff,0x4fffffff,0xa7ec0ff8,0x44fffffd,0x6ffffff9, 0xfffffff3,0x6fffffcc,0x3e29f102,0xffffd884,0x3f61fff6,0x7ffffc3f, 0x47fb2fff,0x7774c5fe,0xd74eeeff,0x44dddffd,0xda7ec0ff,0x24fffeef, 0x5eeeeff9,0xdddddff3,0x7ff77fcc,0xf34f984f,0x757ffd07,0x3e5fff1b, 0xffa803ff,0x3ff27fb0,0x2017fc00,0x0ff882ff,0x23fda7ec,0x81fe67fd, 0x7fcc07f9,0xb987ff20,0x21cfb9cf,0xcf881ffa,0x04fcfadf,0x2ff64fe8, 0xff802ff9,0x4417fc02,0xda7ec0ff,0x4c3fea3f,0x01fe607f,0x4fe81ff3, 0xfffffff1,0x982fe4ff,0xf9fcfdcf,0xb07fd404,0x2009fd7f,0x17fc02ff, 0x4ccd7fc4,0x6c7fb4fd,0x981fe66f,0x209999ff,0x2fe40ff9,0x7fb57fb5, 0xf982fec5,0x5f9dffbb,0x3f627f40,0x3fe007ff,0x4417fc02,0xffffffff, 0xdffddfb4,0x7777fcc3,0xfffff33e,0x207fccbf,0xd87e46fb,0x9837e40f, 0xf8aff9bf,0xb03fea05,0x2005ffbf,0x17fc02ff,0x77777fc4,0xffffb4ff, 0xffff981d,0xddff34ff,0x07fcc9dd,0x6cfb1bf2,0x4c4ffa87,0xf11fd3fa, 0x6c2ff40b,0x800ffcbf,0x17fc02ff,0x3f607fc4,0xbfd17fb4,0x3e607f98, 0x207fcc07,0xdffd75fd,0xfd87dffd,0x3faefeff,0x4c1be253,0x8bfd81ff, 0x2ff805ff,0x7c417fc0,0xfda7ec0f,0x7cc5ff33,0x301fe607,0x9ffc41ff, 0xffeeffeb,0xffffb83e,0x6f882fbd,0x3f60bfb0,0xf805ff53,0x417fc02f, 0xa7ec0ff8,0x997f63fd,0x01fe607f,0xfd711ff3,0x17e2bf0d,0x02fb8220, 0x03ff30ff,0x0ffd8ff6,0x3ae0bfe0,0x226eeffe,0xda7ec0ff,0x4c7fea3f, 0x3ffe607f,0x3fe67fff,0x441effff,0x0009f34f,0x21fe05f7,0x8ff605fd, 0x3fe05ff8,0xfffffc82,0xb03fe27f,0xfd0ff69f,0xf981fe6b,0x267fffff, 0x80bdefff,0x007f34f9,0x00000000,0x00000000,0x00000000,0x00000000, 0x8800ccc4,0x26600099,0x40199881,0x04cc0019,0x80400010,0xb980acb8, 0x2e600bcc,0x997300ac,0x3ffff617,0xfff900ce,0x07ffe600,0x19fffffb, 0x64007fc4,0xfc84ffff,0x40ed8001,0x22fffffb,0x2ffffff9,0x2fffffd8, 0x97ffffec,0x4ffecdfd,0x003fffd0,0xfd83fffd,0x226ffeee,0x7fe400ff, 0x7ec4ffdc,0xffd1002f,0x5c57fcc3,0x113730ff,0xbffb8ff9,0xff50ffeb, 0x1fec2a25,0xff881ff5,0x6fdc04fd,0x527ec1ff,0x03fe25ff,0x3ee2ff88, 0x027fe40f,0xfb03bfe6,0x2202fe89,0xf0bfe0ff,0x407fee7f,0x03fe23fd, 0x40df7bf7,0x41ff8ff8,0x8a7ec4fd,0x3fe600ff,0x2a07fe20,0xbff505ff, 0x3bbbbfa0,0x3b2e23ff,0x1ff30ffe,0xfff34fd8,0x4e7ec17d,0xbfd85fd9, 0x7fb00ff9,0x89fb07fe,0x01ff13fe,0x3fe17fcc,0x41dff302,0x3fe04ffb, 0x32eeeeee,0x1ffddfff,0xbf903fe6,0x97fffecc,0x0efffffd,0x07fd0ff8, 0x20ffcdf5,0x47fea4fd,0x7f400ff8,0x03ffdbcf,0x7d41bff3,0x00bfa05f, 0x87fc4bfd,0x27ec2ff8,0xfdbffdc4,0x20effdcd,0x217f26fa,0xb07fe1fe, 0x49ffdddf,0x7cc00ff8,0x82ffffff,0xff304ffb,0x80bfb01d,0x83ff23ff, 0x3ff30dff,0x7edfee02,0xfc93fe23,0x5c7fb99d,0xbffaaaef,0x3bffff62, 0x8007fc42,0x41ff8aa9,0x74403ffc,0x77fc41ef,0x3ff67dcc,0x2e0fffec, 0x25ffefff,0x4ffcccec,0x25fd87fb,0xfffffffe,0x3fffff22,0x33f67fff, 0x003fe200,0xffb1fea0,0x3ff62005,0x7ffff4c1,0x2bbffa26,0x7ffd40fe, 0x7fffdc4f,0xf98ff64f,0x999ff13f,0x66549fd9,0x24dffccc,0x7fc404fd, 0x3fea2000,0x4000f5c3,0x806600ec,0x00220018,0xddfb0333,0x3ee1dfff, 0xf807fb85,0x2027ec1f,0xfffffff8,0x3fffff21,0x00000005,0x00000000, 0xbeffffd8,0x3e60ff60,0x20ffc01f,0x7fc404fd,0x321fffff,0x0002deff, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x0d4c0000, 0x951a88aa,0x5c454c17,0x5dc5442c,0x32e02c88,0xa882a980,0x2601550a, 0x5555530a,0x20554455,0x003102a9,0xd8044055,0x543fe23f,0x26fffdef, 0x3ffffcfd,0x3b7ff7ee,0x03fd03ff,0x6fb81ff5,0x8fec0bf6,0x7ffffffb, 0x5ff137f4,0xfa803f60,0x82ff883f,0x43fe23fd,0xffabfffa,0xfb7dffb2, 0x7f57fdcf,0x3fd05fae,0x7fd0ffe0,0x0fe81fe4,0xbffb9993,0x9fd4ff88, 0x757c8c88,0xf90dff50,0x23fd81fd,0x7ff50ff8,0x0efda7ec,0x57ee1ff1, 0x3a0df2fd,0x4cdf901f,0x653ee0ff,0x7ec0ff1e,0xfdffa80e,0x7ef7dc0e, 0x8dfb06fc,0x6c4f9bf9,0x543fe23f,0xfd84c47f,0x7dc3fe24,0x4dbe3fb3, 0xffffffff,0x7e43fe65,0xcffafd45,0x3ff706f8,0x80fffec0,0x00bfffd9, 0xb0fd8bf7,0xf11fec3f,0xb01fea1f,0xb87fc49f,0x5be3fb3f,0xeeffeee9, 0xff9ff44e,0x7fd77cc2,0xffa85f9e,0x837fd402,0x1dffffb8,0xf507fdcc, 0x7fb2fcc7,0x7fa87fcc,0xff127ec0,0x8fecfee1,0x403fd06f,0x887faefb, 0xfcfdfdff,0x2027fc43,0xb84ffff8,0x46fbfcdf,0x42ec0dff,0x22bf91ec, 0x0ff50ffe,0x3fe24fd8,0x47f67f70,0x403fd06f,0xf04feff8,0x5fff5bff, 0xfe806fe8,0x9382ffad,0x0003062f,0xfffdff50,0xb01fea1f,0xb87fc49f, 0x1be3fb3f,0x3f200ff4,0x5ffd00ff,0xffb87ffe,0x7e47ffff,0x201ff90f, 0x000000fd,0x7f4f7fec,0xfd80ff50,0x7dc3fe24,0x41be3fb3,0x7fcc00aa, 0x643ff205,0x3fff20ff,0x3fea7fff,0x0017fa22,0x06200000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00220444,0x22044222,0x88853008, 0x3fffe088,0x02ffffff,0x00000000,0x76400000,0x20eeeeee,0x3bfee3ff, 0xf3fe92e1,0x21ffd43f,0xfff95ff9,0x777774ff,0x002eeeee,0x00000000, 0x7fec0000,0x3e0fffff,0xffdff12f,0x97ecdf13,0x1ff441ff,0x3ff2fff7, 0x000007ff,0x00000000,0x40000000,0x2e7f72fe,0x3f64ffff,0x8aa01fd2, 0x00003ff9,0x00000000,0x40000000,0x08888888,0x20a88ff4,0x8fe44fea, 0x022000fe,0x00000000,0x00000000,0x3fff6000,0x2ea0ffff,0x21750000, 0x0000003b,0x00000000,0x00000000,0x99999970,0x00000019,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, }; static signed short stb__consolas_bold_19_usascii_x[95]={ 0,3,2,0,0,0,0,3,2,2,1,0,1,2, 3,0,0,1,1,1,0,1,0,0,0,0,3,2,0,1,1,2,0,0,1,0,0,1,1,0,0,1,1,1, 1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,1,2,0,0,0,1,1,1,0,0,0,0,1,1, 1,1,1,0,1,0,1,0,1,1,0,1,0,0,0,0,1,1,4,2,0, }; static signed short stb__consolas_bold_19_usascii_y[95]={ 14,0,0,1,0,0,0,0,0,0,0,4,10,7, 10,0,1,1,1,1,1,1,1,1,1,1,4,4,3,6,3,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,16,0,4,0,4,0,4,0,4,0,0, 0,0,0,4,4,4,4,4,4,4,1,4,4,4,4,4,4,0,-2,0,6, }; static unsigned short stb__consolas_bold_19_usascii_w[95]={ 0,4,7,11,10,11,11,4,7,6,9,10,6,7, 4,10,10,9,9,9,11,9,10,10,10,10,4,6,9,9,9,7,11,11,9,10,10,9,8,10,10,9,8,10, 9,11,10,11,9,11,9,10,10,10,11,11,11,11,10,6,9,6,10,11,7,9,9,8,10,10,10,10,9,9, 8,10,9,10,9,10,9,10,9,9,10,9,11,11,11,11,9,8,3,8,11, }; static unsigned short stb__consolas_bold_19_usascii_h[95]={ 0,15,6,13,17,15,15,6,18,18,9,10,8,3, 5,16,14,13,13,14,13,14,14,13,14,13,11,14,12,6,12,15,18,13,13,14,13,13,13,14,13,13,14,13, 13,13,13,14,13,17,13,14,13,14,13,13,13,13,13,18,16,18,7,2,5,11,15,11,15,11,14,14,14,14, 18,14,14,10,10,11,14,14,10,11,14,11,10,10,10,14,10,18,20,18,6, }; static unsigned short stb__consolas_bold_19_usascii_s[95]={ 125,12,28,107,73,29,17,11,53,46,99, 42,109,49,44,106,56,102,68,23,23,46,67,13,78,55,123,89,76,1,66, 117,61,11,1,96,96,86,77,12,56,46,118,24,45,1,112,34,35,84,67, 107,35,1,78,90,44,56,33,39,96,14,116,57,36,97,41,119,1,86,114, 103,93,83,30,61,51,31,21,107,24,13,11,118,72,1,53,65,87,1,77, 21,1,5,16, }; static unsigned short stb__consolas_bold_19_usascii_t[95]={ 1,22,107,68,1,22,22,107,1,1,96, 96,96,107,107,1,38,53,53,53,82,38,38,68,38,82,53,38,82,108,82, 1,1,82,82,38,68,68,68,53,68,68,38,68,82,68,53,38,82,1,68, 38,68,53,53,53,53,53,53,1,1,1,96,107,107,82,22,68,22,82,22, 22,22,22,1,22,22,96,96,82,38,38,96,82,22,96,96,96,96,38,96, 1,1,1,107, }; static unsigned short stb__consolas_bold_19_usascii_a[95]={ 167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167, }; // Call this function with // font: NULL or array length // data: NULL or specified size // height: STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT or STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT_POW2 // return value: spacing between lines static void stb_font_consolas_bold_19_usascii(stb_fontchar font[STB_FONT_consolas_bold_19_usascii_NUM_CHARS], unsigned char data[STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT][STB_FONT_consolas_bold_19_usascii_BITMAP_WIDTH], int height) { int i,j; if (data != 0) { unsigned int *bits = stb__consolas_bold_19_usascii_pixels; unsigned int bitpack = *bits++, numbits = 32; for (i=0; i < STB_FONT_consolas_bold_19_usascii_BITMAP_WIDTH*height; ++i) data[0][i] = 0; // zero entire bitmap for (j=1; j < STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT-1; ++j) { for (i=1; i < STB_FONT_consolas_bold_19_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_19_usascii_BITMAP_WIDTH; float recip_height = 1.0f / height; for (i=0; i < STB_FONT_consolas_bold_19_usascii_NUM_CHARS; ++i) { // pad characters so they bilerp from empty space around each character font[i].s0 = (stb__consolas_bold_19_usascii_s[i]) * recip_width; font[i].t0 = (stb__consolas_bold_19_usascii_t[i]) * recip_height; font[i].s1 = (stb__consolas_bold_19_usascii_s[i] + stb__consolas_bold_19_usascii_w[i]) * recip_width; font[i].t1 = (stb__consolas_bold_19_usascii_t[i] + stb__consolas_bold_19_usascii_h[i]) * recip_height; font[i].x0 = stb__consolas_bold_19_usascii_x[i]; font[i].y0 = stb__consolas_bold_19_usascii_y[i]; font[i].x1 = stb__consolas_bold_19_usascii_x[i] + stb__consolas_bold_19_usascii_w[i]; font[i].y1 = stb__consolas_bold_19_usascii_y[i] + stb__consolas_bold_19_usascii_h[i]; font[i].advance_int = (stb__consolas_bold_19_usascii_a[i]+8)>>4; font[i].s0f = (stb__consolas_bold_19_usascii_s[i] - 0.5f) * recip_width; font[i].t0f = (stb__consolas_bold_19_usascii_t[i] - 0.5f) * recip_height; font[i].s1f = (stb__consolas_bold_19_usascii_s[i] + stb__consolas_bold_19_usascii_w[i] + 0.5f) * recip_width; font[i].t1f = (stb__consolas_bold_19_usascii_t[i] + stb__consolas_bold_19_usascii_h[i] + 0.5f) * recip_height; font[i].x0f = stb__consolas_bold_19_usascii_x[i] - 0.5f; font[i].y0f = stb__consolas_bold_19_usascii_y[i] - 0.5f; font[i].x1f = stb__consolas_bold_19_usascii_x[i] + stb__consolas_bold_19_usascii_w[i] + 0.5f; font[i].y1f = stb__consolas_bold_19_usascii_y[i] + stb__consolas_bold_19_usascii_h[i] + 0.5f; font[i].advance = stb__consolas_bold_19_usascii_a[i]/16.0f; } } } #ifndef STB_SOMEFONT_CREATE #define STB_SOMEFONT_CREATE stb_font_consolas_bold_19_usascii #define STB_SOMEFONT_BITMAP_WIDTH STB_FONT_consolas_bold_19_usascii_BITMAP_WIDTH #define STB_SOMEFONT_BITMAP_HEIGHT STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT #define STB_SOMEFONT_BITMAP_HEIGHT_POW2 STB_FONT_consolas_bold_19_usascii_BITMAP_HEIGHT_POW2 #define STB_SOMEFONT_FIRST_CHAR STB_FONT_consolas_bold_19_usascii_FIRST_CHAR #define STB_SOMEFONT_NUM_CHARS STB_FONT_consolas_bold_19_usascii_NUM_CHARS #define STB_SOMEFONT_LINE_SPACING STB_FONT_consolas_bold_19_usascii_LINE_SPACING #endif