// 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_arial_bold_11_latin1_*, // and separately install each font. Note that the CREATE function call has a // totally different name; it's just 'stb_font_arial_bold_11_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_arial_bold_11_latin1_BITMAP_WIDTH 256 #define STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT 56 #define STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT_POW2 64 #define STB_FONT_arial_bold_11_latin1_FIRST_CHAR 32 #define STB_FONT_arial_bold_11_latin1_NUM_CHARS 224 #define STB_FONT_arial_bold_11_latin1_LINE_SPACING 7 static unsigned int stb__arial_bold_11_latin1_pixels[]={ 0x20080442,0x10c01018,0x10080040,0x40008810,0x8812e01d,0x6c40000d, 0x75000004,0xa812a015,0x0371702d,0x80440652,0x00110809,0x10044010, 0x44022220,0x3b03100d,0xf930ba7a,0xfb09907d,0x4d15a83d,0x2a03f67a, 0x2544eeed,0x7aa7d4d1,0x01201c40,0x4d3fa06a,0x05d540ff,0x417fffd4, 0x403aa819,0x2091700b,0x32901b9b,0x221ffe40,0x42d9e83b,0x7e4c1dec, 0x4074c0be,0x65e42ffd,0x26403304,0x41304ca6,0x132fa8de,0x54fcc261, 0x22689741,0x236a1742,0x87c49910,0x17a93268,0x45f10f98,0x4c0befe9, 0xa6c0befe,0xbefe9879,0x0757ff40,0xdfd30322,0xf887cc17,0x8be21f32, 0x260befe9,0x3e65f10f,0x101b8398,0xbd031101,0x30309d53,0x01109b1f, 0x060fd4d9,0x7cd763ea,0xbb041f10,0x17fc43e6,0x1ea689e2,0x6dc7447b, 0x89ec79fd,0xfefa9326,0x97c43e65,0x24ea9df8,0x44ea9df8,0xdf88f34d, 0x7ff44ea9,0x117fec69,0x4c9d53bf,0x3e65f10f,0x37e25f10,0x43e64ea9, 0x220d72f8,0x3ba23fee,0x8ffba23f,0xfb1ae0f9,0x0fc7d43d,0x9f113ff6, 0x43dfb13a,0x4b97a8fa,0x2e5ea07b,0x3549f799,0x3723d471,0x5eab7750, 0x8b45321c,0x97c7ea2e,0x2a5f10f9,0x0fa9ae0f,0x1e69b1ae,0x2635c1f5, 0x27e669fd,0x6b83ea3c,0x997c43e6,0x3ea5f10f,0x10f99ae0,0x9aa7e65f, 0x2a26c8a8,0x322a26c8,0x23f31ee6,0x47d4b76a,0x3e23ea3f,0x2a36fd41, 0xf87d4b76,0xb87e62fa,0xfb8bebe0,0xa81ae798,0xd9c9fcc7,0x2b716d52, 0x0fa8fb68,0x7c43e69b,0x70f98f72,0x5360f98f,0x3e63dc79,0xd734fc40, 0x7cc7b817,0x4be21f30,0x2e5f10f9,0x0f987cc7,0x1ffe45f1,0x6c4dbdb1, 0x37b626de,0x2a223e66,0x4bddf90f,0x9ae3f57a,0x642fd84e,0x43ea5eef, 0xb9de87ec,0xb11fb21f,0xb1354d9f,0xab9723d4,0xc8979d3d,0xa8ba2d14, 0x1f31f8af,0x70fcc7e2,0x8d70fccd,0x1f98f34d,0x9a7e21ae,0x3e66adfa, 0x10f99ae1,0x7c43e63f,0x335c3f31,0xb707e21f,0xb64d96c8,0x2365b26c, 0x2a5ffade,0x45ea2a8e,0x3f33f54d,0x51d50f70,0x4f987d45,0x4c3efc98, 0x447f704f,0x6c7a9a27,0x377a7663,0x4d12d81e,0x93f7ea4d,0x20fb9cf8, 0x744ea9de,0xa6c4ea9d,0xea9de879,0x6469f884,0x54ef43ff,0x2e73e24e, 0xf739f10f,0x2754ef41,0x41f739f1,0x6ffcc4c9,0x99f7fe67,0x7e4c7dff, 0x3fee1eef,0x87be7ea2,0x0f703efc,0x0fa8bfee,0x0ee203f3,0x91b307e6, 0x5cd12d8b,0x1b90ba27,0x689e0ea8,0x703d4372,0xfc987fff,0x77e4c0be, 0x879a6c0b,0x880befc9,0x980d469f,0x7dc0befc,0x7ffdc3ff,0x05f7e4c3, 0x000fffee,0x2e000000,0x70000000,0xb8fa800f,0x70f2e04f,0x07bf209f, 0x27d5a2b3,0xddb501db,0xd11d419d,0x007aa7cc,0x7f400000,0x0001ff34, 0x0038d3f1,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x80260000,0x41004400,0x00021000,0x80018022, 0x880882bb,0x216d448c,0x8245c43b,0x407600dc,0x9803104b,0x4a440500, 0x8000eae0,0x1016a02d,0x02202001,0x08040881,0x2f540503,0x205f7f4c, 0x7e4c0ee8,0x24d80edf,0x6f541e9e,0x4c837543,0x75503bb0,0x8c881d30, 0x21c1c644,0x9b8848b8,0x03805302,0xa83540ba,0x4129102b,0x07a82aa8, 0x005c01c4,0x2a4db899,0x437174c2,0x2606e2e9,0x0ffec78d,0x37e20444, 0x44c44ea9,0x2fd4ef40,0x888044d8,0x15019881,0x7cc7b510,0x50130be3, 0x540fa81f,0xfffff30f,0x33ffffcc,0x7ccfffff,0x22627fff,0x31131098, 0x2e03fb81,0x20fee03f,0x0fee017a,0x06603fb8,0x2c985972,0x912c9891, 0x21d7b910,0xfd82bcea,0x6b83ea1e,0x1f327fec,0x93603f3a,0x7fec1efd, 0x88ffba24,0x7fe43fee,0x3e1ff30f,0xa87fdd12,0x2a07d40f,0x3335f30f, 0x30ccd7cc,0x7cc3335f,0xf9ea199a,0x3a17cf52,0x81bfa06f,0xfdfa86fe, 0x3a06fe85,0x3513606f,0xc95c06ed,0xb0192b80,0x3e63dfdf,0x4b76a80e, 0xfa87cc7b,0x36f71f88,0x54d81f9b,0x88fa96ed,0x4d91511f,0x3e66c8a8, 0x9df33f99,0x364544be,0x81f503ea,0x335f30fa,0x04cd7cc1,0x4c1335f3, 0x9ea099af,0x317cf52f,0x5f303f5f,0x3f5f303f,0x22f89fa8,0xf981faf9, 0x40ec81fa,0x831489b8,0x20a8b99a,0xe831399a,0x17fdc2d8,0xf997bbf2, 0x3a6b9ae1,0x9ae99f34,0x3bf29b08,0x14e9ae5e,0x76c4dbdb,0x33e9ae6d, 0x225f3f3f,0x07d46ded,0x21f503ea,0x263eeef9,0x3e63eeef,0x3be63eee, 0x2f9ea3ee,0x2b917cf5,0x09d5c84e,0x4f513ab9,0x4275723e,0x0fa89d5c, 0x82743201,0x74b0d595,0x07bfbf64,0xa8ea8d79,0x2754ef42,0x7c3f33f5, 0x3724ea8e,0x551d53f9,0xc8fccfd4,0x6cb64d96,0x4c7e67e6,0x5b25fd97, 0x2a07d46c,0xf987d40f,0x2601f300,0x201f300f,0xf32f98f9,0x77fc5f31, 0x7f7fc0ff,0x7ff7fc0f,0x87e2bea0,0x7c0ffeff,0x3e60ffef,0xd9cc2f98, 0x0f22a85c,0xeb973655,0x5bd709fa,0x985ff70d,0x7e40befc,0x3bf7aa3e, 0x837fa60b,0x77e42ffb,0x99f7fe63,0x775c7dff,0x97fc5e63,0x7d47dff9, 0x3ea07d40,0x43335f30,0x26199af9,0x3e6199af,0x6ff4199a,0x4bf7fa2f, 0x23faaafa,0x23faaafa,0x23faaafa,0x3ea4fdfa,0x3ea3faaa,0x75c3faaa, 0x172a583f,0x52c4ec96,0x42d65cb7,0x00001efd,0x00000200,0x40000000, 0x400bea79,0x207d40fa,0xffff30fa,0x3ffffccf,0x4cfffff3,0x0007ffff, 0xbb3645d8,0xd91766c8,0x4d917600,0x2003645d,0x26208080,0x11104041, 0x00001201,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00400000,0x0c404401,0x13008888,0x20080020, 0x260982da,0x00000100,0x18000400,0x40000020,0x04044200,0x00026000, 0x0604c000,0x0000dffb,0x90ee9830,0x10bdd305,0x905d01dd,0x01d30977, 0xb06fdc95,0x71901bff,0x503e6bb0,0xbfb09b9b,0x9f917c01,0x09b9b501, 0x40e85dd5,0x7e43efc9,0x7c43e61e,0xfb0bff62,0x7ff445fb,0x7fffcc0d, 0xf55d97c2,0x3ea0be21,0x2e1fffff,0x557f0fc5,0x7f705f10,0xcbb8fb60, 0xf1b9068b,0x04c44c41,0x04c31062,0xf8964026,0xd13f33d9,0xf507f709, 0x35595172,0x26c74c95,0xd1d52f84,0xa9b8ca87,0x3225cfc4,0x97d46f42, 0x3e65c8f9,0x23e65f10,0x3e63e65a,0xbd33bd12,0x0fc99f98,0x26cfcc2a, 0xd99d05f1,0x21850333,0xfe80bcf8,0x3306fe82,0x164eed43,0x3d44ef98, 0x527fec5f,0x9ffb17cf,0xaddaa1d0,0xfd00adf8,0xb0bebe0d,0x74c25a7a, 0xc97efec1,0x93d58b95,0xa82af992,0x22083e24,0x43e63dbf,0x2e0f32f8, 0x10fccbe6,0xb1fc1f30,0x3e07f6c1,0x4f647cc1,0xd303cc19,0x2fdb8bb7, 0x4c0fd7cc,0x1568aa87,0x5099ffc8,0x88fa97cf,0xa97cf51f,0x9a21f88f, 0x7eccf76b,0x0fd7cc2f,0xdeac3f64,0x21ec8374,0xf32f98f9,0x458d8fd7, 0x89b9f71b,0xdb01ee68,0xf887cc3f,0xf989fff2,0x74f72fb9,0xea7ffc6e, 0x7ffec7a4,0x2bb03e0f,0x3cc7fffc,0x4c3e602a,0xeae42f8f,0x2b207984, 0x323ea6cb,0x97cf51fe,0xf3d53a6b,0x2a4e9ae5,0x29addaa4,0x9d5c8f91, 0x36b09f30,0xb9ae0958,0x5cb98be6,0x248d9dac,0x21d0f37a,0xb5c2e1f9, 0x7c43e66b,0x5f5c0be1,0x32a3f32f,0x47f07cc7,0x159f532f,0xfddf3074, 0x47e3cc0b,0x3b66b8e9,0x3bfe0dfc,0x883cc0ff,0x3ea3d3b6,0x1f30ff98, 0x267ea5f3,0x5f31f31f,0xc87e67ea,0x4cf63e22,0x7fc7d8af,0x0fcc0ffe, 0x24a99654,0x3e65c8ea,0xb1b32fa9,0xa9b8ca87,0x21ae7e24,0x3ee77a2c, 0x44d91f51,0xd70fb9cf,0x4464c335,0x3667ba1f,0x7e4cfcc7,0x6fe5cbe0, 0xaed8320c,0x20999eea,0xbfb06479,0x86fe65c3,0x43faaafa,0x36e59079, 0x26effe46,0x7e45fbfd,0x17eff43e,0x40e87df9,0x3fb20dfb,0x2aabea1f, 0xa813ee3f,0xefd84dcd,0xd176fe41,0xb9b5019f,0x505df709,0x21f7e4c9, 0x7fdc1efd,0x3ffbb63f,0xb117ff60,0xff985dff,0x3e17c2ef,0x45f11f82, 0x262ffffc,0x17c000c7,0x3cc6c8bb,0x00000408,0x00c00000,0x3645d800, 0x00000800,0x00002000,0x00000001,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x07201100,0x0005c082,0x31088400,0x0000c602,0x00000000, 0x00110200,0x00018220,0x00000000,0x53640000,0x7647ea3f,0x4d3e69d0, 0x97c7f30f,0x4c4ffff9,0x3a22ffff,0x4c1e83fe,0x30fd47e7,0xff997c1f, 0x777ec4ff,0x4cbfdf52,0x403e678f,0x262ffff9,0xdea81ea7,0x20799e63, 0x4ffa1efc,0xf93641e8,0x0f8b5c9f,0xf32f897a,0x7fccffff,0x2e1f34ff, 0x3ffff62f,0x9fe61f56,0xffff73fd,0x44ea7c49,0x5b22f9ed,0x7ccd76fc, 0x2be65f0f,0x2be62fa9,0x322a27d9,0x43bbfb25,0x3ff47e79,0xf997c1f3, 0x1f31fa9a,0x227ea5f3,0x3be60c2f,0x267e60cc,0xbd4f30fc,0x14419418, 0x91f502f3,0x2288be6d,0x11f36fd8,0x07c5ae5d,0xf99ee1f7,0x2be6199a, 0xf51f3099,0x09dd9887,0x47fe61f5,0xf93313ff,0x886dfa85,0xcebd45ff, 0x3be64d8f,0x223e65f4,0x5c3e61f9,0xa9bbb627,0xf9e63cfb,0x57cc1f31, 0x35f32f99,0x25f35cf7,0x3cc9b0fa,0x99bb2fe6,0x53ccfe0f,0x67ccbd1f, 0x7ccf30fe,0xb6420eec,0x44f31ffe,0x72f886bb,0x2f883e6d,0x4cd7cc9b, 0x9866be60,0x17604fbf,0x2f7e61f5,0x1fcc3ee9,0x5fb02fd8,0xae9faf88, 0x27e7e62f,0x7ffff32f,0x24ffef98,0x83d0d96b,0xf31f98f9,0x7ffffcc1, 0x4bffff32,0xf52fa8f9,0x23cc3f15,0x7ccf50f9,0xf53cd3a0,0xf89f98bb, 0x44fccf32,0xf897d41f,0x11ae1e61,0x7dcfdc9f,0x30fc6ec0,0x7cc7dddf, 0xfff30fff,0x3ea2ec0d,0xd97b7f30,0xf702fc47,0x3a1bbea0,0x4c3fd97e, 0x3e65fd97,0x5fcc2fb8,0x3ef74c0a,0xfe835733,0x4c1f31fd,0x87ccbe0f, 0x3f7f23f8,0x989fbf52,0x37667cc7,0x799fc1f3,0x1f31bfea,0x4f33ccbe, 0xf88fe62f,0x71ae1e61,0x0feffb8b,0x3e63dfd4,0xf301f300,0x17607f37, 0x3e7e61f5,0x01ba3eae,0xf19f10f7,0xff54fc87,0x25ff1798,0x4c1f90f9, 0xffd8000f,0xff8800ff,0x997c1f30,0xf03f99af,0x47981ea5,0x260bccf9, 0xf30fb99f,0xf31f47d4,0x9e67997c,0x2339f12f,0x2e1e61f8,0x01ae1546, 0x35f313fe,0x4c07cc33,0xbb01f90f,0x3ef30fa8,0x35f93e8f,0xf90f7013, 0x2fa87ee1,0x2a798bf1,0x3a21f32f,0x00003e65,0x41f30000,0xbffff32f, 0x207a97c0,0x9807cc79,0x9e62efff,0x9e61f57a,0xf3ccf32f,0x45ffff25, 0x1ae1e61f,0xc806b8b9,0x7fffcc1f,0x3e603e67,0x8bb0bf10,0x5f6f30fa, 0xdffffd3e,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x01108800, 0x20200802,0x100200f9,0x88800102,0x3ffee088,0x08100007,0x44082101, 0x84410888,0x22041108,0x11041108,0x44444111,0x8389c400,0x21ce4c08, 0x6439c880,0x20200003,0x10288010,0xee821981,0x2f83ffef,0x3217f744, 0x403e64ff,0x7fe41eed,0xa8fff21e,0x42025bcc,0xd505daa8,0x8fc076e3, 0xd50eecf9,0x64bfdbf9,0x3e7b3fff,0x363ea7d4,0xa6d7be65,0xffff90f9, 0x47ffff23,0x3b7a25db,0xead85e85,0x5741db51,0x417b111e,0x25d30eea, 0x426e64db,0xbb30f9fa,0xd36b9e61,0x8977ffe4,0x44f11f92,0x2baa09a8, 0x3e23ea09,0x2d501f31,0x3ee3e65a,0x4c731f33,0x02025ecf,0x775c41d1, 0x30bbf223,0x47e27e61,0x799fa8fa,0xf1b70ec8,0x7fec1f1d,0xbcc27e60, 0x0222225c,0x2cc3d111,0x3faa1fe6,0xc9adf540,0x64d7d51e,0x91b1ffff, 0x25b8b265,0xf3f51dea,0x258aa6e1,0xa88c226b,0x3bf7b622,0xffffb0ee, 0xd71ffe41,0xc80f99ec,0x2b6e6eef,0x2a0d74db,0x20404b56,0x101fdc3d, 0xf9e603fb,0x3cde6f51,0xcbf883ee,0x22fcc6bf,0x21fae879,0xd01ffffc, 0xde88baa3,0x2265745e,0x3d7b1ead,0xd888f56c,0xb83b320b,0x2e4cd352, 0x24d88e51,0x2000a208,0x4711f96b,0x4ea09a88,0x3e67ea6b,0x2d501f31, 0x3e33ea29,0x4cd51f31,0x82025ecf,0x77dc40f8,0x50fbf223,0xf51f9e61, 0x7f53cde6,0x7e57f413,0xf30fef43,0x9988df70,0x3ba82019,0x29124522, 0x88e6e249,0x0e6e209a,0x1981307b,0x00000371,0xbdd10000,0x85f07ff9, 0x7e42efe8,0x266be63e,0xe98bbae0,0x177e43ef,0x404b7995,0x3d501a60, 0x98fc0b6e,0x79bd47e7,0x2ffff4f3,0x5c3f51f7,0x21e61d96,0x000003f8, 0x00000000,0x00000000,0x00000000,0x26000008,0x0005ffff,0x11130000, 0x0002dc11,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x79104188,0x2a144662,0x0230aaaa,0x005ddddd, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0xf31ec000,0x37fc965c,0x1bbbbb8f,0x00003d1f,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x0620c000,0x00000888, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000, }; static signed short stb__arial_bold_11_latin1_x[224]={ 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,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-1,0,0,-1,0,0,-1,0,0,-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,0,0,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,1,1,1,1,1,1,1,0,0,0,0,0,0, 0,0,0,-1,0,0,0,0,-1,-1,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,-1,0,0,0,0,0,-1,0,-1,-1,-1,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,-1,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, }; static signed short stb__arial_bold_11_latin1_y[224]={ 8,0,0,0,0,0,0,0,0,0,0,2,6,4, 6,0,0,0,0,0,0,1,0,1,0,0,2,2,1,2,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,0,0,9,0,2,0,2,0,2,0,2,0,0, 0,0,0,2,2,2,2,2,2,2,1,2,2,2,2,2,2,0,0,0,3,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,1,1,1,1,1,1,1,8,2,0,0,1,0, 0,0,0,0,0,3,2,4,0,-1,0,1,0,0,0,2,0,3,8,0,0,3,0,0,0,2,-1,-1,-1,-1, -1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,2,0,-1,-1,-1,-1,-1,0,0,0,0, 0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0, }; static unsigned short stb__arial_bold_11_latin1_w[224]={ 0,3,5,6,6,9,7,2,3,3,4,6,3,3, 3,4,5,4,5,6,6,6,6,6,6,6,3,3,6,6,6,6,10,8,7,7,7,7,6,8,7,3,5,8, 6,8,7,8,7,8,8,7,6,7,8,10,7,8,6,4,4,3,6,7,3,6,6,6,6,6,4,6,6,3, 4,6,3,9,6,6,6,6,4,6,4,6,6,8,6,6,5,4,2,4,6,6,6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,3,6,6,6,6, 2,6,4,9,4,5,6,3,9,7,4,6,4,4,4,6,7,3,3,3,4,5,9,8,9,6,8,8,8,8, 8,8,11,7,7,7,7,7,4,3,5,5,8,7,8,8,8,8,8,6,8,7,7,7,7,8,7,6,6,6, 6,6,6,6,9,6,6,6,6,6,4,3,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, }; static unsigned short stb__arial_bold_11_latin1_h[224]={ 0,8,4,9,9,9,9,4,11,11,5,5,4,3, 2,9,9,8,8,9,8,8,9,7,9,9,6,8,7,5,7,8,11,8,8,9,8,8,8,9,8,8,9,8, 7,8,8,9,8,9,8,9,8,9,8,8,8,8,8,10,9,10,5,1,3,7,9,7,9,7,8,9,8,8, 11,8,8,6,6,7,8,8,6,7,8,7,6,6,6,9,6,11,11,11,3,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,8,10,9,7,8, 11,11,2,9,5,5,5,3,9,2,4,7,5,5,3,8,10,3,3,5,5,5,9,9,9,9,9,9,9,9, 9,9,8,11,9,9,9,9,9,9,9,9,8,9,10,10,10,10,10,5,9,10,10,10,10,9,8,9,9,9, 9,9,9,9,7,9,9,9,9,9,8,8,8,8,9,8,9,9,9,9,9,7,7,9,9,9,9,11,10,11, }; static unsigned short stb__arial_bold_11_latin1_s[224]={ 178,201,226,240,247,1,11,241,30,58,221, 200,237,14,18,47,52,102,87,92,233,226,123,74,143,106,95,222,81,150,88, 107,47,240,14,135,50,130,138,172,6,161,33,145,32,165,209,8,226,206,217, 58,154,150,121,198,190,181,174,107,130,103,176,35,244,234,179,53,99,39,93, 165,80,76,37,62,58,106,99,25,29,22,138,18,1,248,143,122,131,75,116, 65,62,42,248,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67, 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,178,190,129, 158,60,194,34,23,30,113,189,194,157,14,82,22,232,241,164,216,1,114,121, 6,10,212,207,183,230,221,211,204,195,186,66,170,161,152,205,8,130,122,114, 106,101,252,95,89,181,74,94,85,112,136,161,169,24,145,77,153,170,236,42, 222,82,60,53,199,192,185,1,178,215,245,1,39,217,98,249,36,67,69,26, 40,17,46,229,11,46,138,145,19,33,16,70,1, }; static unsigned short stb__arial_bold_11_latin1_t[224]={ 11,23,42,13,13,23,23,42,1,1,42, 42,42,50,50,23,23,33,33,23,23,23,23,42,23,23,42,23,42,42,42, 33,1,23,33,23,33,33,33,23,33,33,13,33,42,33,32,13,32,1,32, 23,33,23,33,32,32,32,33,1,23,1,42,50,42,32,13,42,23,42,33, 23,33,33,1,33,33,42,42,42,33,33,42,42,33,32,42,42,42,23,42, 1,1,1,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42, 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,11,23,1, 23,42,23,1,1,50,23,42,42,42,50,23,50,42,32,42,42,50,33,1, 50,50,42,42,42,13,13,13,13,13,13,23,13,13,13,23,1,13,13,13, 13,13,1,13,13,23,13,1,1,1,1,1,42,13,1,1,1,1,1,33, 1,13,13,13,1,1,1,42,1,1,1,13,13,23,33,23,33,13,33,23, 23,13,13,1,42,42,13,13,23,23,1,1,1, }; static unsigned short stb__arial_bold_11_latin1_a[224]={ 44,52,75,88,88,140,114,37, 52,52,61,92,44,52,44,44,88,88,88,88,88,88,88,88, 88,88,52,52,92,92,92,96,154,114,114,114,114,105,96,123, 114,44,88,114,96,131,114,123,105,123,114,105,96,114,105,149, 105,105,96,52,44,52,92,88,52,88,96,88,96,88,52,96, 96,44,44,88,44,140,96,96,96,96,61,88,52,96,88,123, 88,88,79,61,44,61,92,118,118,118,118,118,118,118,118,118, 118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118, 118,118,118,118,118,118,118,118,44,52,88,88,88,88,44,88, 52,116,58,88,92,52,116,87,63,86,52,52,52,91,88,44, 52,52,58,88,131,131,131,96,114,114,114,114,114,114,158,114, 105,105,105,105,44,44,44,44,114,114,123,123,123,123,123,92, 123,114,114,114,114,105,105,96,88,88,88,88,88,88,140,88, 88,88,88,88,44,44,44,44,96,96,96,96,96,96,96,86, 96,96,96,96,96,88,96,88, }; // Call this function with // font: NULL or array length // data: NULL or specified size // height: STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT or STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT_POW2 // return value: spacing between lines static void stb_font_arial_bold_11_latin1(stb_fontchar font[STB_FONT_arial_bold_11_latin1_NUM_CHARS], unsigned char data[STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT][STB_FONT_arial_bold_11_latin1_BITMAP_WIDTH], int height) { int i,j; if (data != 0) { unsigned int *bits = stb__arial_bold_11_latin1_pixels; unsigned int bitpack = *bits++, numbits = 32; for (i=0; i < STB_FONT_arial_bold_11_latin1_BITMAP_WIDTH*height; ++i) data[0][i] = 0; // zero entire bitmap for (j=1; j < STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT-1; ++j) { for (i=1; i < STB_FONT_arial_bold_11_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_arial_bold_11_latin1_BITMAP_WIDTH; float recip_height = 1.0f / height; for (i=0; i < STB_FONT_arial_bold_11_latin1_NUM_CHARS; ++i) { // pad characters so they bilerp from empty space around each character font[i].s0 = (stb__arial_bold_11_latin1_s[i]) * recip_width; font[i].t0 = (stb__arial_bold_11_latin1_t[i]) * recip_height; font[i].s1 = (stb__arial_bold_11_latin1_s[i] + stb__arial_bold_11_latin1_w[i]) * recip_width; font[i].t1 = (stb__arial_bold_11_latin1_t[i] + stb__arial_bold_11_latin1_h[i]) * recip_height; font[i].x0 = stb__arial_bold_11_latin1_x[i]; font[i].y0 = stb__arial_bold_11_latin1_y[i]; font[i].x1 = stb__arial_bold_11_latin1_x[i] + stb__arial_bold_11_latin1_w[i]; font[i].y1 = stb__arial_bold_11_latin1_y[i] + stb__arial_bold_11_latin1_h[i]; font[i].advance_int = (stb__arial_bold_11_latin1_a[i]+8)>>4; font[i].s0f = (stb__arial_bold_11_latin1_s[i] - 0.5f) * recip_width; font[i].t0f = (stb__arial_bold_11_latin1_t[i] - 0.5f) * recip_height; font[i].s1f = (stb__arial_bold_11_latin1_s[i] + stb__arial_bold_11_latin1_w[i] + 0.5f) * recip_width; font[i].t1f = (stb__arial_bold_11_latin1_t[i] + stb__arial_bold_11_latin1_h[i] + 0.5f) * recip_height; font[i].x0f = stb__arial_bold_11_latin1_x[i] - 0.5f; font[i].y0f = stb__arial_bold_11_latin1_y[i] - 0.5f; font[i].x1f = stb__arial_bold_11_latin1_x[i] + stb__arial_bold_11_latin1_w[i] + 0.5f; font[i].y1f = stb__arial_bold_11_latin1_y[i] + stb__arial_bold_11_latin1_h[i] + 0.5f; font[i].advance = stb__arial_bold_11_latin1_a[i]/16.0f; } } } #ifndef STB_SOMEFONT_CREATE #define STB_SOMEFONT_CREATE stb_font_arial_bold_11_latin1 #define STB_SOMEFONT_BITMAP_WIDTH STB_FONT_arial_bold_11_latin1_BITMAP_WIDTH #define STB_SOMEFONT_BITMAP_HEIGHT STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT #define STB_SOMEFONT_BITMAP_HEIGHT_POW2 STB_FONT_arial_bold_11_latin1_BITMAP_HEIGHT_POW2 #define STB_SOMEFONT_FIRST_CHAR STB_FONT_arial_bold_11_latin1_FIRST_CHAR #define STB_SOMEFONT_NUM_CHARS STB_FONT_arial_bold_11_latin1_NUM_CHARS #define STB_SOMEFONT_LINE_SPACING STB_FONT_arial_bold_11_latin1_LINE_SPACING #endif