// 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_times_bold_16_latin1_*, // and separately install each font. Note that the CREATE function call has a // totally different name; it's just 'stb_font_times_bold_16_latin1'. // /* // 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_times_bold_16_latin1_BITMAP_WIDTH 256 #define STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT 84 #define STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT_POW2 128 #define STB_FONT_times_bold_16_latin1_FIRST_CHAR 32 #define STB_FONT_times_bold_16_latin1_NUM_CHARS 224 #define STB_FONT_times_bold_16_latin1_LINE_SPACING 10 static unsigned int stb__times_bold_16_latin1_pixels[]={ 0xd30e6322,0x413a200d,0x542cb1d8,0x2e6200bb,0x2ea202ab,0x30982ccc, 0x8009b100,0x3e9801ea,0x10063300,0x5d300263,0x80274400,0x215002eb, 0x00184c00,0x400edc03,0x215001ec,0x930cb980,0x1f67ea17,0x02d401fe, 0x5c69a7f7,0x072e0d74,0x7fff3071,0x3e77e093,0x000f9802,0x7e7400f6, 0x277fcc00,0x01ba3ee0,0x0ea801ae,0x806cf880,0x7c01effd,0x0e202f9d, 0xbd5005d0,0x3dffb00b,0x07dc7e60,0x007f8082,0x69a18015,0x3b849af4, 0x3fff61c0,0x0a33039b,0x0e001980,0x40389540,0x28801751,0x800e0033, 0x2a37000a,0x015c4c02,0x3e2028cc,0x6400a200,0xb8980170,0x7dc7e602, 0x0ee39970,0x5c19b3ff,0xb88771cc,0x3ee34d1c,0x3223a80d,0x7fc114bb, 0x2e639bff,0x40f2e3cc,0x4c02cbc9,0x64c02cbc,0x5e4c02cb,0x65e4c02c, 0x23ccb982,0x332e63cb,0xcb98f2e3,0xca8f2e3c,0x201e5c3c,0x32a2dc02, 0x02f261cc,0x20140028,0x221f71f9,0xff8350ff,0x3fe25f9c,0x27f70350, 0x3dfd11a6,0x3e6fa258,0xbfffd8a5,0x2c3fdc39,0x03ba1fd8,0x80ee87f6, 0x203ba1fd,0x203ba1fd,0x703ba1fd,0xff70b0ff,0xb0ff70b0,0x0587ff70, 0x213a0354,0x201d86fd,0x01aa006a,0xc83ee3f3,0x74ff073f,0x81cff21f, 0x3a14d3fb,0xd960ffa8,0xf5147f57,0xfa8737ff,0x44fc8486,0x227e46f9, 0x227e46f9,0x227e46f9,0x227e46f9,0x437d46f9,0x8486fa84,0xda8486fa, 0xfd00e1ff,0x2213e205,0xd00e22ff,0x0bfa005f,0x41f71f98,0x7f828ef8, 0x8ef88bf6,0x41a7f702,0x267f10f9,0x43f69f14,0x4df6d408,0x22437d43, 0x2ff82ff8,0x5ff05ff1,0x3fe0bfe2,0xff05ff12,0x3e0bfe25,0x121bea2f, 0x2a121bea,0xe8a8486f,0x74c070ff,0x207f505f,0xd30126fc,0xbfd300bf, 0x0fb8fcc0,0x3fc06fec,0x0dfd83fb,0xf81a7f70,0x54e65b1e,0x80a6f8af, 0x37d439b9,0x207fe624,0x03ff34ff,0x07fe69ff,0x0ffcd3fe,0x1ff9a7fc, 0x1bea4ff8,0x121bea12,0x2a121bea,0x4075ff88,0xf881ff9c,0x357ff104, 0x01ff9c80,0x980ffce4,0xf981f71f,0x3fe1ff05,0xf702fcc0,0x7fd469a7, 0x67dd223b,0x201334fb,0x37d439b9,0x203fea24,0x01ff54fe,0x03fea9fd, 0x07fd53fa,0x0ffaa7f4,0x1bea4fe8,0x121bea12,0x2a121bea,0x2079ff30, 0x3a09fb28,0x013fee04,0x8813f651,0x3e609fb2,0x03d01f71,0x40bf77fe, 0x34fee01e,0x487fd30d,0x46b729f3,0xa8737302,0x1ff8486f,0x07fe1ff8, 0x81ff87fe,0x207fe1ff,0x207fe1ff,0x21bea1ff,0x8486fa84,0x0a8486fa, 0x4e417fea,0x5c80ffb9,0x32017fc0,0x900ffb99,0x301ff733,0x0e03ee3f, 0x038017f8,0x11a69fdc,0x0388fb13,0x0e6e6028,0xf9090ff3,0x7e47f885, 0x3f23fc42,0x3f23fc42,0x3f23fc42,0x3e63fc42,0x87f98487,0x8487f984, 0x4437e40a,0x83fe999b,0x0bfe00f9,0xfe999b88,0xe999b883,0xf71f983f, 0xf80a3aa1,0x40a3aa07,0x34d2fac9,0x1543cd72,0x2e600a88,0x307fc439, 0xfc8df305,0x3f237cc3,0x3f237cc3,0x3f237cc3,0x3f237cc3,0x5307fc43, 0x14c1ff10,0x05307fc4,0x190db037,0x3980ffb8,0x0c80bfe0,0x03207fdc, 0x1f981ff7,0x813ea1f7,0x9f502ff9,0x4d2e7440,0x816d6cc6,0x0aaaaab8, 0x4c1cdcc0,0x2203ccff,0x102ecbed,0x205d97db,0x02ecbed8,0x05d97db1, 0x0bb2fb62,0x01e67fcc,0x40799ff3,0x983ccff9,0x2a2c40de,0xbff910bf, 0xfa883101,0x0bfa81df,0x2a1bff91,0xbff910bf,0x64c32e21,0x3331000a, 0x04100000,0x08000000,0x20004401,0x2000c001,0x2000c001,0x80022001, 0x00220008,0x00000080,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xc8800000, 0xb7101801,0x03a85379,0x0fa600bb,0x0bb05e88,0x402ccc98,0x0bb00311, 0xe8803d50,0xd3031184,0x000000c5,0x00000000,0x5d41ea80,0x27104882, 0x66540019,0x40579002,0x541c01f8,0x5c9d30cf,0x2007a206,0x176ec04c, 0x1fd80fc4,0x2bea03b6,0x0074c07c,0x76ec04c8,0x21f6bea1,0x5cc0384c, 0xfb8171bc,0x2a0bf705,0x205fd03b,0x0ba00ff8,0x1d83f1d7,0x3e20fea0, 0x7c47dc0f,0x2039c403,0x50a203f8,0x2ec930bf,0x00e00620,0x0cc12271, 0x1be627e4,0x04c01894,0x13980e00,0x07033287,0x897e41aa,0x757442ee, 0x40f57441,0x0d7b5073,0x82813332,0x02549f5e,0xcc81d553,0x7c47ec4c, 0x200da805,0x1eb882f9,0x321817f4,0x66665cc7,0x999730cc,0x32e61999, 0x730ccccc,0x17fc4799,0x65ccbfe2,0x200ccccc,0x73014002,0x665cc799, 0x20f32e63,0x2a27e42f,0x42884c6f,0x59305109,0x8a204c70,0x6c177302, 0x201a27f6,0x85146fb9,0x5005f37e,0x4c1f980d,0xff10fe8f,0xf50f7003, 0xff50f4cf,0x4ff50f4c,0x31fea1e9,0x49ff03ff,0x407a67fa,0x01aa006a, 0x0ff50ff5,0xf13a0ff5,0x17fdcc3f,0x73019971,0x0ccb8817,0x664c2b98, 0xcb643ca8,0x21d3d50e,0xfcb6401d,0x5fa13261,0x2fe801db,0x27b216c0, 0x003fea4b,0x89fea0f6,0x989fea19,0x1989fea1,0x1ff51fea,0x3fd49fd0, 0x0bfa0331,0xf5017f40,0xf50ff50f,0xff99b60f,0xe93fa911,0xd96c8df3, 0x646f9f41,0x88fe85d5,0x7d53e26f,0x2a2950c3,0x7dd3e20a,0xd3f43fc3, 0x05fe980f,0x20fbe2c8,0x16401ff8,0x50337fa8,0x3ea066ff,0x0ff50337, 0x43ff03ff,0x4c0337fa,0xfe9805fe,0x2a1fea05,0xb07fa87f,0x243fea1f, 0x74fa29fd,0x9fd53e27,0x3f8fd3e8,0xf88fe8bb,0x27d53ea6,0x9eb3a688, 0xe89f54fa,0x07f67e87,0x201ff9c8,0xe81ffc3c,0xa82d803f,0xfa81e9ff, 0xffa81e9f,0x87fa81e9,0x23fc42fc,0x201e9ffa,0x6401ff9c,0xff501ff9, 0xff50ff50,0x9ff89f60,0x950bfe0c,0x553ea1ff,0x87fe544f,0x742aadfa, 0x3e66f88f,0x47607f74,0xf51fabf8,0x0fd0fee9,0x880fecfd,0x3e609fb2, 0x20aafe41,0x71540ff8,0x3f7ff50f,0x03f7ff50,0x503f7ff5,0xb8dd30ff, 0x7dffd42f,0x13f65101,0x209fb288,0x87fa87fa,0xe89d07fa,0x83fe20df, 0x3e61fd6c,0xeb647f74,0x740bf30f,0xaf46f88f,0x224a80fb,0xbf10fabf, 0xd0fd07ee,0x640f793f,0x980ffb99,0x1fffc42f,0x165ef6c4,0x55fea1f2, 0x0357fa81,0x2a06aff5,0x36fae07f,0x357fa80d,0x3fee6720,0xff733900, 0xf50ff501,0x3e0ff50f,0x3f237c42,0x3fe77e22,0x887dd7a0,0x3e0ff9df, 0x98fd851f,0x0e564c6f,0x2de64344,0x3e0b6ba6,0x3a7fe60f,0x3337102c, 0x87f107fd,0x03b00099,0x45fea1b6,0x08bfd470,0x708bfd47,0x3e603fd4, 0x22ff501f,0x4ccdc470,0x99b883fe,0x7fa83fe9,0x7fa87fa8,0x6dd40e98, 0x7441dcad,0x3263fcae,0x2bba21ca,0x3bf663fc,0x7fdf7d40,0x40660081, 0x7cc02018,0x0320002f,0x1f881ff7,0x4136001c,0x4c7fa86b,0x4b31fea5, 0xf52cc7fa,0x15df500f,0x92cc7fa8,0x640ffb81,0x2a07fdc0,0xa87fa87f, 0x4180b87f,0x00100001,0x00020080,0x00000000,0x10bfa800,0x3221bff9, 0x2e600182,0xfd98ee00,0xb34feccf,0x29fd99ff,0xfeccffd9,0x005ffb34, 0x36615951,0x54feccff,0x3ff2217f,0x2217f50d,0xfb30dffc,0x17fecc5f, 0x00c5ffb3,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x27304d88,0x428bb82a,0x59105538,0x49997710,0x02ec03d8,0x04d883d5, 0x406e41ec,0x0c824c0c,0xb80c824c,0x372a8388,0x16051770,0xa9540eea, 0x81e45322,0xccb80bda,0x5c35102c,0x5d43cccc,0x203bb80b,0x5101bcb9, 0x406cc179,0xe8fb80f9,0x21ffed45,0x5e45e8fb,0x6d7a2e9c,0xd303d41f, 0xf9817401,0x898df100,0x3222543e,0x36443b86,0x5dfc4254,0x1fc76c0f, 0x260fff6a,0xc84db544,0xf9bfc592,0x44ffdc85,0x441ffff8,0x7fffc43e, 0x07d5763f,0x2b217a9b,0x25b07710,0x4c0ff67f,0x08202101,0x93f30210, 0xfca7d4a6,0x01300a81,0x3004c028,0x3441f501,0xb82cc6b8,0x04103446, 0x02210108,0x7dd7e15c,0x3e0e8741,0x3188bf37,0x1999b8df,0x56cc2744, 0x2bf31faa,0x327f33f8,0x2aee722f,0xd9fc3a8b,0xb885f92f,0x0bb980cc, 0x220665c4,0x3be60ccb,0xfda7c425,0xb9815cc0,0x80ccb882,0x40100bb9, 0x35c0725c,0x3235c036,0xca8cc981,0x7302b983,0x4f98d017,0x3bfb25f7, 0x7cdfe5fe,0xbd0be205,0x101fb017,0x2ffe2698,0x2e9f71f9,0x7572714f, 0x1fd08894,0x3e7d07ea,0x20ecb646,0xf3e8df3e,0x983ffd8d,0xeae41dbe, 0x742eae42,0xd96c8df3,0x55370701,0x2e7b812a,0x04a9ee03,0x91be23fa, 0x32d90bab,0x9f51620e,0x4ed453ee,0x7cdfe1da,0x4c3fb105,0x7fc3ffff, 0x70f204fd,0xb7cc3fff,0x372354fb,0xd30353f8,0x4fa23c43,0x7d53e27e, 0x89fa7d13,0xff70fd3e,0x4fe01c8b,0x25d9fc5d,0x7c4fd3e8,0x84b87f54, 0x258d10a8,0x95589aa8,0x344d5445,0xdf11fd16,0x7c4bb3f8,0x215c7f54, 0x549f74fb,0xb8ff8753,0xfffa81ef,0x1ffd9510,0x817e57e6,0x45ffe81e, 0x172fdafe,0x82997bb2,0xf950580c,0x7d53ea1f,0x207fe544,0xfc80ffca, 0x7bddf12f,0x8aab7ea1,0xa82aadfa,0x29f50ffc,0x007f24fa,0x3607c872, 0x3201f770,0x11fd1f21,0x556fd4df,0x27d53ea2,0xf75fa81b,0x3bbbbb27, 0x3fabbfe5,0x5c07fa03,0x3eebf53f,0x5f446984,0x75d43ff9,0x2772530f, 0x2030171f,0x21fd6c82,0x647f74f9,0xeb641fd6,0x3e32110f,0x57ffff24, 0x0bf305f9,0xf30feb64,0xbfc4fee9,0x2e4a80e9,0x6987707a,0x23d5c950, 0x266f88fe,0x2e9f305f,0xbf10b13f,0x4cf44bee,0x081d119e,0x4fa03dc0, 0x709f35f9,0x9f72fa89,0xe8d89f10,0x0048ed9f,0x7fcefc40,0x887dd7a0, 0xf10ff9df,0x4e61ff3b,0xb51a65f4,0x7fc28ffc,0x7cefc451,0x07dd7a0f, 0x881f11fd,0x10bf7666,0x6881190b,0xfd8bf766,0x8ffc6f98,0x50fbaf42, 0x23e57607,0x500f31a6,0x43932547,0x17d5fa0c,0x4cbe20f4,0x4c26c41f, 0xfb80d884,0xdd10fdc1,0x564c7f95,0x32bba21c,0xf95dd13f,0x8ef73a67, 0x20cbacd8,0x6cc0efd9,0x2bba20ef,0x32b263fc,0x4156ed41,0x03ea621c, 0x42eed81b,0x83ea621c,0x21ffbefa,0x64c0efd9,0x440361ca,0x4d661eae, 0x7dc03d45,0x3fa60aae,0x6e7440bd,0x5b706983,0x202ba879,0x00ccbcc9, 0x02fb83f9,0x00000100,0x020002c4,0x00800010,0x21440a00,0x05554418, 0x0041440a,0x00404008,0x00884404,0x00200400,0x04008802,0x80040004, 0x00000100,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x9b710000,0x79730537,0xccdb9803,0x801d9039, 0x65cc03e8,0x16664c01,0x32e61ca8,0xd98f2e3c,0xcb879950,0x05979303, 0x99517995,0xb8065c59,0x0013263c,0x41dc732e,0x3262acca,0x4160cd9c, 0x32a1bcca,0x24e6540c,0x432a3997,0x01acccb9,0x339509d1,0x4c33ea01, 0xb885644e,0x6cc7f903,0xb700b607,0x00d96980,0x2eba0df9,0x161fee0f, 0x1ffdc5f9,0xdd0fec16,0x3f23ff81,0xdf101cc6,0x20b807f8,0xc8350ff8, 0xcff8d913,0x740725f9,0xbdc1c84f,0x99be66f9,0xef9b7dc3,0x7ec43540, 0x30bf506f,0x55d44e49,0x42fdc3ab,0x500a2068,0x01aadb00,0x2fe617ee, 0x21bea0d9,0x3f6a1444,0x13f20e1f,0x26fb8df3,0x200e1ff8,0x2603f46f, 0x439fe40f,0x9fe2c3f8,0x2a0931fe,0xb7c4487f,0x38ff46f8,0x3be66fa8, 0x403002a0,0x4e2302fe,0x3fe2522e,0x8cc98302,0x233263ca,0x97fb03ca, 0x70bf7003,0x21bea09f,0x7f454184,0x2ff8870f,0x3fe22ff8,0x88393fe1, 0x7f46fadb,0x3fea0cc9,0x0a3be22c,0xf0217ff1,0x40d17ecf,0xf506a3ff, 0x9f71be29,0xff1bea12,0x99113267,0xff881b93,0x07d4d401,0x01ff98d4, 0x1be23fa0,0x20df11fd,0x033aa6fc,0xdfb517ee,0x486fa819,0x7fc45448, 0x81ff9875,0x9a7ec4ff,0xfb0337fc,0xbfe8df91,0x27fa26f9,0x6406fec0, 0x27f82fff,0x5c0721fd,0x57e6126f,0x4ffc46f8,0x957fe4c2,0x3a1fe5fe, 0x7d45fadf,0x3dc5c00f,0x01ff5298,0x37c47f40,0x11be23fa,0x1a29fd3b, 0x7e545fb8,0x437d40cf,0x4c2a3444,0x7fd43cff,0x7d44fe80,0x075ff48f, 0x3a37cbf1,0x0fe87fa7,0x3ee05f98,0xf87fc4ff,0x7c40ea0f,0x2df0199f, 0x3faaa6f8,0xdf710abe,0x7e9bf633,0x46f88fd8,0x54c01ff8,0xf10b81f8, 0x1ffec43f,0xd1be23fa,0x4e8df11f,0x40395ff3,0x20dd05fb,0x7cc486fa, 0x5ffa82a0,0x1ff81ff8,0xdf92cfe8,0x37c9f507,0x3a2fd9fa,0x4103d00f, 0x3fe0ffd8,0x20682fdd,0x3a603dfc,0x2e666fcd,0x37d419df,0xd87e93f6, 0x7fd0df0f,0x2ab6eb00,0x21ff4489,0x88fe87fa,0x7c47f46f,0xffb9be66, 0x0bf75b84,0xff3049b1,0x2a2fb890,0x7e437e40,0xfb83fc42,0x2603fe67, 0x4fd1be5f,0x403fa0fd,0x2fb87303,0x01b005fe,0x2200bfe6,0x3f7326f8, 0x1bea0cce,0x6c3f45ff,0xff10df0f,0x21262a81,0x07fc40d8,0x31fb0ff5, 0xf98fd8df,0x7433fe26,0x1f90bbff,0xefcb87f9,0x83fe24dd,0x371fec29, 0x8df30db0,0x89f103fc,0x7cdbe05e,0x46e87f46,0x51d508fe,0xf8d31e60, 0x3a03a807,0x21be2007,0x4df504fa,0x207fc4fb,0x106f89fe,0x30597bdb, 0x20199799,0x3ecabed8,0x1ffbefa8,0x87fefbea,0xfc9dffeb,0x17ab622f, 0x07bf76ee,0x70799ff3,0x1037a65f,0x32fb620b,0x2e06c02e,0x3f3ba602, 0x3af33a1e,0xfa86fd40,0x2afb6604,0x00bfe61c,0x001d40b1,0x7ecc3ff5, 0x67fecc2e,0x17fcc2de,0x3ff57ff1,0x01000880,0x00801880,0x11010008, 0x02080220,0x40000110,0x02001800,0x21010800,0x20000008,0x00800008, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x5cc00000,0x0244dc0b,0x333332e6, 0x4c9930cc,0x32e600cc,0xc992e02c,0x203ae00c,0x26001ca9,0x40abcccb, 0x9953ccb9,0x8f32e659,0xccccccb9,0xda883a81,0x97324c03,0x31665479, 0x32e25999,0x02f32e63,0xccccccb8,0x987332a2,0x999730bc,0x0ccb9815, 0x730bcca8,0x21999999,0x2fd720d9,0x801f77f1,0x83ea7fca,0x2007f47f, 0x07f406fb,0x43d801fd,0x3355daf8,0x7dc33333,0xfa81ff56,0x3ea2fec7, 0x3627fa87,0x3217faa2,0xbf104fff,0x17447fa8,0x0770ffe4,0x45d00ff7, 0x37ec0ffb,0x23bea0ec,0x27f544fc,0x3ea07ff4,0x1fe47a67,0x0410ee7f, 0x713fce40,0x03fa3f41,0x0155df50,0x800fd831,0x80617dc2,0x4fd9bea1, 0x13f23fd4,0x8ff50ff5,0x262fd428,0x3f60ff73,0x1913fd45,0x048b7f40, 0x44700df5,0x2ff883ff,0x45be60e2,0x3feea0ff,0x2a1feea0,0x1c46627f, 0x264c09f5,0xabfcc5c0,0x47f47e80,0x77d41cb8,0x13263fd9,0x981b93fb, 0x877faa4c,0x26fa8601,0x23fd42fe,0x43fd44fc,0x2a04e7fa,0x5c37c05f, 0x9bfd45fa,0x4bff9804,0xb001bea0,0x937e40df,0x7fc5be60,0xc8ffa2a1, 0x37fa87f9,0x406f9803,0xf99c407f,0x47e80e9f,0xf50390fe,0x7f83fe2d, 0x42fd67ec,0x0617e47f,0x32bbea18,0x99ffa82e,0x3fd44fd9,0x825c7fd4, 0x0fe205fa,0xfa8bf153,0xf7002faf,0x037d403f,0x4403ff50,0xf301abff, 0x71517eed,0x1fe6a2df,0x007a7fea,0x3f40cffa,0x3ff2ab60,0x747e80fb, 0xdf500c8f,0x47e87fe2,0xe86f88fd,0x80617e47,0x3f2bbea1,0x557fd40c, 0x3fd44fea,0x8275ffd4,0x11ae05fa,0xff517e29,0x3a001ffb,0x01bea06f, 0xfb804fe8,0x2ffe604f,0xff88a82c,0xf50ff33a,0x2fc83f7f,0x3a07bf66, 0x7f986a07,0xfe8fd015,0x2df503fd,0x363f46fa,0x8fd0df0f,0x4300c2fc, 0x517f26fa,0x544fc8ff,0x917fa87f,0x74417ea0,0x77ee6e40,0x77f5fea2, 0x1ffdd400,0xc8086fa8,0xff8040ff,0x501be602,0x7ccfbf21,0x8357fa87, 0xd02c44fd,0xff30e20f,0xe8fd1422,0xfa80ffaf,0x3f40cccf,0x7437c3f6, 0x80617e47,0x7fa9bea1,0x13f23fd4,0x4ff50ff5,0x320bf501,0x7f775c60, 0x7c5fea3f,0x7dce205f,0x386fa81f,0x06a17fcc,0xdf3017fc,0x1ff10a80, 0x5fea1fe6,0x221cc708,0x901ff01e,0x24a8ff50,0x2a3fa0fe,0x406fa86f, 0x227fa0ff,0x320ff87f,0x54300c2f,0xf513f66f,0x7d44fd8f,0xa807fa87, 0xfeeec85f,0x7d45f881,0x2213fea7,0x7d437f45,0x1bfa3447,0x0bfe01d1, 0x05406fa8,0x543fccbb,0x8172cc7f,0x85ff303a,0x3ff662fc,0xff33fdcc, 0x7fcffe65,0x40bff664,0x7ff12ff9,0x7fcc3ff5,0x541bfd12,0x31999999, 0x85999ffb,0xfd52ffd8,0x8bff663d,0x300bffd8,0x7fd45ffb,0x5f880fff, 0x7ccfff62,0x3bd50cff,0x4c37ff62,0x6fcccffd,0x33337fea,0xdffa887f, 0x02ffd981,0x446a39b3,0xfb30bffc,0x029fd99f,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x33326028,0xccc981ac,0x3264cccc,0x400abccc,0x8814c019,0xbb980ccb, 0x32a33260,0x4c15e543,0x654000bb,0x665c771c,0x0c98ccb8,0xcb9815cc, 0x88000029,0x42cb8cca,0x004c30d9,0xcbbc9943,0x37233224,0x02e0dc89, 0x64d664c9,0x19939911,0x02d46644,0x36fb80d5,0x5465c1df,0x7dc1d17f, 0x5c05fd36,0x3e825402,0x8bf5c8df,0x226f88fe,0xcb64488f,0x59b7790e, 0x1b87fc4d,0x8bfc5fe2,0x642eae43,0x07721f76,0x96cd9100,0x7e45f3fe, 0x20362b33,0x646a571d,0x7ce7ec4f,0x3a65f9bf,0x9bfc87b0,0x2fd6ff42, 0x403f6ff6,0x9bee02fe,0x2a170efa,0x6fa82a7f,0x02b81bee,0xe9f44254, 0x743b9fc7,0x3e66f88f,0x553e209e,0xf517f13f,0x9073fc83,0x153fd35f, 0x5f8bb3f8,0x5f6cc9fb,0x88bb6a00,0x9763fb3e,0x45ba6c38,0xf984d55c, 0x7e87ec0f,0x07bd31be,0x1fb07ff1,0x807fb1be,0x3ee05fe9,0x2a0bfe26, 0xa9bea07f,0x5e4cc46f,0xb7331099,0xffca8333,0x7f409f50,0x7ff46f88, 0xa7d53ea2,0x3e21dc5a,0xbdf9828e,0x6fd43cfa,0x2f7e62aa,0xceb885fa, 0x4039d711,0x2aacfdc9,0xa7c57cc0,0xe82f99fb,0xfd0fd82f,0x807ec3fc, 0xf0fd84fb,0x6401fd8d,0xdf701ff9,0x7fa84fe8,0x2fd9bea0,0x666f665c, 0x99db9953,0x30feb649,0x447f40df,0x267fc86f,0x0ea7f74f,0x40bfb095, 0x985ff2fe,0x53df305f,0x57ee209f,0x5ae00cfb,0xd70203fc,0x4fa23f31, 0xd837d45d,0x23fcfd0f,0xf980e9bd,0x6f87ec0f,0x251007ec,0x8df704fd, 0x07fa85fd,0x07ff3bea,0x84a80570,0x20ff9df8,0x8fd833fe,0x3e4a66f9, 0x6887dd7a,0x01fcc0ec,0x7c1f21f7,0xf56f851f,0x40bec983,0x7c42deb8, 0x4711df75,0x16c3a2fb,0xf88743a2,0xd1fd891f,0x23c9fe1f,0x2fd5c469, 0xb1be23f6,0x5cce403f,0x46fb80ff,0x07fa84fe,0x027f5bea,0x109500ae, 0x4c7f95dd,0x77d41efd,0xb7d31ffb,0x21cac987,0x03eecfea,0xb32c401d, 0x983bf660,0x36a3dbeb,0x7db3002d,0x3f2bbfe2,0x54bee0df,0x44e60531, 0x4fb7df93,0xaff9bfe8,0x98201ffa,0xf13ff9bd,0x223ff57f,0x337103fe, 0xdf707fd3,0x7d40ffc4,0x7cdbea07,0x77776c2f,0x004a84ee,0x10010040, 0x44540401,0x2002050a,0x10020040,0x22000350,0x00804043,0x00000000, 0x00000000,0x0ffb8190,0x09f937dc,0x6fa81fea,0x00003fee,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xf910bfa8, 0x3ff661bf,0xfb102dec,0xffd9815f,0x0007bfa2,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x3b800000, 0xcc819930,0x07303320,0x40c824c0,0x1dc39149,0x2b9886aa,0x2aaaaaa6, 0x55553002,0x29800555,0x74cfa237,0x3b204443,0xdddddd10,0x4ccccc3d, 0x00000099,0x00000000,0x00000000,0x98198000,0x3a6a6a9e,0xfd85d134, 0xd9127cc1,0x7ec13f08,0x99fe4f99,0x9aeea1f5,0x3bbbbbba,0xbaafc4b1, 0x227bbbbb,0x76ca1cfd,0x54df33f8,0xf8bfff26,0x44444441,0x33333220, 0x000001cc,0x00000000,0x00000000,0x33333000,0x0d8ee333,0x541f50ec, 0x23fcc5ad,0x2ef3e26a,0x7f11f71f,0x47eb736c,0x44446cb8,0x44ba0888, 0x22a6805f,0x422deeb8,0xa98a04c0,0x000310aa,0x00000000,0x00000000, 0x00000000,0xccccc800,0x1a2b33cc,0x3a5c8153,0x6a8905b0,0xd30564c4, 0xb44970f4,0xec9b36e6,0x756eeeee,0x88096000,0x00000000,0x00000000, 0x00000000,0x00000000,0x20000000,0x37a62eeb,0x92e55375,0x1ee0cc69, 0x2385d1f1,0x10620cc3,0x00000063,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0xaa980099,0x204c1511,0xaa881109,0x000d4e21, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000020,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000, }; static signed short stb__times_bold_16_latin1_x[224]={ 0,1,1,0,0,1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,-1,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,0,0,0,0, 1,0,0,0,0,0,0,0,0,-1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, 0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-1,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, }; static signed short stb__times_bold_16_latin1_y[224]={ 12,2,2,2,2,2,2,2,2,2,2,3,9,7, 9,2,2,2,2,2,2,2,2,2,2,2,5,5,3,5,3,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,14,2,5,2,5,2,5,2,5,2,2, 2,2,2,5,5,5,5,5,5,5,2,5,5,5,5,5,5,2,2,2,6,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,2,2,3,2, 2,2,2,2,2,5,5,7,2,0,2,3,2,2,2,5,2,6,11,2,2,5,2,2,2,5,-1,-1,-1,-1, -1,-1,2,2,-1,-1,-1,-1,-1,-1,-1,-1,2,-1,-1,-1,-1,-1,-1,4,1,-1,-1,-1,-1,-1,2,2,2,2, 1,2,2,1,5,5,2,2,1,2,2,2,1,2,2,2,2,2,1,2,2,4,5,2,2,1,2,2,2,2, }; static unsigned short stb__times_bold_16_latin1_w[224]={ 0,3,6,7,7,13,12,4,5,5,7,8,4,5, 3,5,7,7,7,7,7,7,7,7,7,7,3,3,8,8,8,7,14,11,10,10,10,9,9,12,11,6,8,12, 10,14,11,11,9,11,11,8,10,11,11,15,11,11,10,4,5,4,7,9,4,7,8,7,8,7,6,7,8,4, 5,9,4,12,8,7,8,8,7,6,5,8,8,11,7,8,7,5,2,5,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,7,7,8,8, 2,7,5,11,5,7,9,5,11,9,6,8,4,4,4,9,8,3,3,4,5,7,11,11,11,7,11,11,11,11, 11,11,15,10,9,9,9,9,6,6,6,6,10,11,11,11,11,11,11,7,11,11,11,11,11,11,9,8,7,7, 7,7,7,7,11,7,7,7,7,7,5,5,6,6,7,8,7,7,7,7,7,8,7,8,8,8,8,8,8,8, }; static unsigned short stb__times_bold_16_latin1_h[224]={ 0,11,5,11,11,11,11,5,13,13,6,9,6,3, 4,11,11,10,10,11,10,11,11,11,11,11,8,10,8,4,8,11,14,10,10,11,10,10,10,11,10,10,11,10, 10,10,11,11,10,13,10,11,10,11,11,11,10,10,10,13,11,13,6,2,3,8,11,8,11,8,10,11,10,10, 14,10,10,7,7,8,11,11,7,8,11,8,8,8,7,11,7,13,14,13,4,10,10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,11,13,11,8,10, 14,14,3,11,5,7,4,3,11,2,6,9,6,6,3,11,14,3,4,6,5,7,11,11,11,11,13,13,13,13, 13,13,10,13,13,13,13,13,13,13,13,13,10,14,14,14,14,14,14,7,12,14,14,14,14,13,10,11,11,11, 12,11,11,12,8,10,11,11,12,11,10,10,11,10,11,10,11,11,12,11,11,7,8,11,11,12,11,14,14,14, }; static unsigned short stb__times_bold_16_latin1_s[224]={ 192,250,99,164,33,215,55,106,204,148,91, 56,81,174,136,150,156,133,141,182,149,190,198,206,214,222,181,251,160,123,151, 242,48,1,93,1,13,241,123,24,104,116,68,157,182,226,101,113,216,81,35, 174,24,85,198,125,170,204,193,251,192,246,73,185,169,65,150,73,141,135,77, 41,62,57,28,37,32,209,238,97,183,210,247,90,159,81,114,123,230,165,201, 38,34,13,150,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84, 84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,192,97,19, 77,105,219,37,40,159,12,117,193,140,174,230,195,56,47,63,68,180,172,63, 165,132,86,111,185,113,101,89,81,115,103,222,234,192,1,16,27,44,54,64, 93,74,141,127,134,228,180,84,96,108,120,132,222,154,144,156,168,72,210,47, 244,1,65,166,17,25,182,169,1,49,57,190,134,71,239,237,9,229,245,73, 207,174,142,9,47,143,37,46,198,125,19,10,1, }; static unsigned short stb__times_bold_16_latin1_t[224]={ 15,30,75,30,30,16,42,75,1,16,75, 65,75,75,75,30,30,54,54,30,54,30,30,30,30,30,65,54,65,75,65, 30,1,65,54,42,65,54,54,42,54,54,42,54,54,54,42,42,54,16,65, 42,65,42,42,42,54,54,54,1,42,1,75,75,75,65,42,65,42,65,54, 30,54,54,1,54,54,65,65,65,42,42,65,65,42,65,65,65,65,42,65, 16,1,16,75,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54, 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,15,42,16, 42,65,42,1,1,75,42,75,65,75,75,30,75,75,65,75,75,75,30,1, 75,75,75,75,65,30,30,30,30,16,16,1,1,1,16,54,16,16,16,16, 16,16,16,16,16,42,1,1,1,1,1,1,65,16,1,1,1,1,1,54, 16,30,30,16,30,30,16,65,54,30,30,16,30,54,42,16,54,16,42,30, 16,16,30,30,75,65,42,42,16,30,1,1,1, }; static unsigned short stb__times_bold_16_latin1_a[224]={ 58,77,128,116,116,231,193,64, 77,77,116,132,58,77,58,64,116,116,116,116,116,116,116,116, 116,116,77,77,132,132,132,116,215,167,154,167,167,154,141,180, 180,90,116,180,154,218,167,180,141,180,167,129,154,167,167,231, 167,167,154,77,64,77,134,116,77,116,129,103,129,103,77,116, 129,64,77,129,64,193,129,116,129,129,103,90,77,129,116,167, 116,116,103,91,51,91,120,180,180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180, 180,180,180,180,180,180,180,180,58,77,116,116,116,116,51,116, 77,173,69,116,132,77,173,116,92,127,69,69,77,133,125,58, 77,69,76,116,173,173,173,116,167,167,167,167,167,167,231,167, 154,154,154,154,90,90,90,90,167,167,180,180,180,180,180,132, 180,167,167,167,167,167,141,129,116,116,116,116,116,116,167,103, 103,103,103,103,64,64,64,64,116,129,116,116,116,116,116,127, 116,129,129,129,129,116,129,116, }; // Call this function with // font: NULL or array length // data: NULL or specified size // height: STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT or STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT_POW2 // return value: spacing between lines static void stb_font_times_bold_16_latin1(stb_fontchar font[STB_FONT_times_bold_16_latin1_NUM_CHARS], unsigned char data[STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT][STB_FONT_times_bold_16_latin1_BITMAP_WIDTH], int height) { int i,j; if (data != 0) { unsigned int *bits = stb__times_bold_16_latin1_pixels; unsigned int bitpack = *bits++, numbits = 32; for (i=0; i < STB_FONT_times_bold_16_latin1_BITMAP_WIDTH*height; ++i) data[0][i] = 0; // zero entire bitmap for (j=1; j < STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT-1; ++j) { for (i=1; i < STB_FONT_times_bold_16_latin1_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_times_bold_16_latin1_BITMAP_WIDTH; float recip_height = 1.0f / height; for (i=0; i < STB_FONT_times_bold_16_latin1_NUM_CHARS; ++i) { // pad characters so they bilerp from empty space around each character font[i].s0 = (stb__times_bold_16_latin1_s[i]) * recip_width; font[i].t0 = (stb__times_bold_16_latin1_t[i]) * recip_height; font[i].s1 = (stb__times_bold_16_latin1_s[i] + stb__times_bold_16_latin1_w[i]) * recip_width; font[i].t1 = (stb__times_bold_16_latin1_t[i] + stb__times_bold_16_latin1_h[i]) * recip_height; font[i].x0 = stb__times_bold_16_latin1_x[i]; font[i].y0 = stb__times_bold_16_latin1_y[i]; font[i].x1 = stb__times_bold_16_latin1_x[i] + stb__times_bold_16_latin1_w[i]; font[i].y1 = stb__times_bold_16_latin1_y[i] + stb__times_bold_16_latin1_h[i]; font[i].advance_int = (stb__times_bold_16_latin1_a[i]+8)>>4; font[i].s0f = (stb__times_bold_16_latin1_s[i] - 0.5f) * recip_width; font[i].t0f = (stb__times_bold_16_latin1_t[i] - 0.5f) * recip_height; font[i].s1f = (stb__times_bold_16_latin1_s[i] + stb__times_bold_16_latin1_w[i] + 0.5f) * recip_width; font[i].t1f = (stb__times_bold_16_latin1_t[i] + stb__times_bold_16_latin1_h[i] + 0.5f) * recip_height; font[i].x0f = stb__times_bold_16_latin1_x[i] - 0.5f; font[i].y0f = stb__times_bold_16_latin1_y[i] - 0.5f; font[i].x1f = stb__times_bold_16_latin1_x[i] + stb__times_bold_16_latin1_w[i] + 0.5f; font[i].y1f = stb__times_bold_16_latin1_y[i] + stb__times_bold_16_latin1_h[i] + 0.5f; font[i].advance = stb__times_bold_16_latin1_a[i]/16.0f; } } } #ifndef STB_SOMEFONT_CREATE #define STB_SOMEFONT_CREATE stb_font_times_bold_16_latin1 #define STB_SOMEFONT_BITMAP_WIDTH STB_FONT_times_bold_16_latin1_BITMAP_WIDTH #define STB_SOMEFONT_BITMAP_HEIGHT STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT #define STB_SOMEFONT_BITMAP_HEIGHT_POW2 STB_FONT_times_bold_16_latin1_BITMAP_HEIGHT_POW2 #define STB_SOMEFONT_FIRST_CHAR STB_FONT_times_bold_16_latin1_FIRST_CHAR #define STB_SOMEFONT_NUM_CHARS STB_FONT_times_bold_16_latin1_NUM_CHARS #define STB_SOMEFONT_LINE_SPACING STB_FONT_times_bold_16_latin1_LINE_SPACING #endif