From 28c720f882810bdb9aa1e84d65f896046a54786d Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Sun, 25 Jan 2026 06:31:19 +0900 Subject: [PATCH] add bold font --- engine/data/font/bold.png | Bin 0 -> 4843 bytes engine/data/{font.png => font/normal.png} | Bin engine/include/GearSrc/GL.h | 1 + engine/include/GearSrc/TypeDefs.h | 23 +- engine/resource/font/7x14B.bdf | 4420 +++++++++++++++++++++ engine/src/client.c | 74 +- engine/src/core.c | 19 +- engine/src/gl_common.c | 18 +- 8 files changed, 4528 insertions(+), 27 deletions(-) create mode 100644 engine/data/font/bold.png rename engine/data/{font.png => font/normal.png} (100%) create mode 100644 engine/resource/font/7x14B.bdf diff --git a/engine/data/font/bold.png b/engine/data/font/bold.png new file mode 100644 index 0000000000000000000000000000000000000000..f7766dd6010bc3fffb4df90d0d04ade1d90e469e GIT binary patch literal 4843 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 literal 0 HcmV?d00001 diff --git a/engine/data/font.png b/engine/data/font/normal.png similarity index 100% rename from engine/data/font.png rename to engine/data/font/normal.png diff --git a/engine/include/GearSrc/GL.h b/engine/include/GearSrc/GL.h index 5207d3f..040770b 100644 --- a/engine/include/GearSrc/GL.h +++ b/engine/include/GearSrc/GL.h @@ -27,6 +27,7 @@ GSDECL GSBool GSGLTextureLoadFile(GSGL gl, GLuint* texture, int* width, int* hei GSDECL GSBool GSGLTextureLoadFileEx(GSGL gl, GLuint* texture, int* width, int* height, const char* filename, int expand); GSDECL GSBool GSGLTextureTry(GSGL gl, GLuint* texture, int* width, int* height, const char* prefix); GSDECL GSBool GSGLTextureTryEx(GSGL gl, GLuint* texture, int* width, int* height, const char* prefix, int expand); +GSDECL void GSGLTextBold(GSGL gl, GSBool bold); GSDECL void GSGLTextEx(GSGL gl, GSNumber x, GSNumber y, const char* text, GSNumber sx, GSNumber sy); GSDECL void GSGLText(GSGL gl, GSNumber x, GSNumber y, const char* text); GSDECL double GSGLTextWidth(GSGL gl, const char* text); diff --git a/engine/include/GearSrc/TypeDefs.h b/engine/include/GearSrc/TypeDefs.h index cd035c8..072e3e8 100644 --- a/engine/include/GearSrc/TypeDefs.h +++ b/engine/include/GearSrc/TypeDefs.h @@ -105,17 +105,27 @@ struct _GSGL { GLdouble shadow_projection[16]; GLdouble shadow_old_projection[16]; GLdouble shadow_old_modelview[16]; + + GSBool bold; }; struct _GSClient { GSEngine engine; - GSGL gl; - GLuint font; - int font_width; - int font_height; - int glyph_width; - int glyph_height; + GSGL gl; + + GLuint font_normal; + int font_normal_width; + int font_normal_height; + int glyph_normal_width; + int glyph_normal_height; + + GLuint font_bold; + int font_bold_width; + int font_bold_height; + int glyph_bold_width; + int glyph_bold_height; + GSVector3 look_at; GSVector3 camera; GSVector4 light0; @@ -181,6 +191,7 @@ struct _GSEngine { int width; int height; GSNumber tps; + GSNumber tps_sampled; }; struct _GSFile { diff --git a/engine/resource/font/7x14B.bdf b/engine/resource/font/7x14B.bdf new file mode 100644 index 0000000..4572771 --- /dev/null +++ b/engine/resource/font/7x14B.bdf @@ -0,0 +1,4420 @@ +STARTFONT 2.1 +COMMENT +COMMENT Donated by H. Kagotani ; public domain +COMMENT font from Japan +COMMENT +FONT -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO8859-1 +SIZE 7 75 75 +FONTBOUNDINGBOX 7 14 0 -2 +STARTPROPERTIES 19 +FONTNAME_REGISTRY "" +FOUNDRY "Misc" +FAMILY_NAME "Fixed" +WEIGHT_NAME "Bold" +SLANT "R" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "" +PIXEL_SIZE 14 +POINT_SIZE 130 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "C" +AVERAGE_WIDTH 70 +CHARSET_REGISTRY "ISO8859" +CHARSET_ENCODING "1" +DEFAULT_CHAR 32 +FONT_DESCENT 2 +FONT_ASCENT 12 +COPYRIGHT "Public domain font. Share and enjoy." +ENDPROPERTIES +CHARS 209 +STARTCHAR 0001 +ENCODING 1 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +18 +3c +3c +7e +7e +3c +3c +18 +18 +00 +00 +ENDCHAR +STARTCHAR 0002 +ENCODING 2 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +76 +ee +dc +ba +76 +ee +dc +ba +76 +ee +dc +ba +76 +ee +ENDCHAR +STARTCHAR 000b +ENCODING 11 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +18 +18 +18 +18 +f8 +f8 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 000c +ENCODING 12 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +f8 +f8 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 000d +ENCODING 13 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +1e +1e +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 000e +ENCODING 14 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +18 +18 +18 +18 +1e +1e +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 000f +ENCODING 15 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +18 +18 +18 +18 +fe +fe +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 0010 +ENCODING 16 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +fe +fe +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0011 +ENCODING 17 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +fe +fe +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0012 +ENCODING 18 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +fe +fe +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0013 +ENCODING 19 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +fe +fe +00 +00 +00 +ENDCHAR +STARTCHAR 0014 +ENCODING 20 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +fe +fe +ENDCHAR +STARTCHAR 0015 +ENCODING 21 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +18 +18 +18 +18 +1e +1e +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 0016 +ENCODING 22 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +18 +18 +18 +18 +f8 +f8 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 0017 +ENCODING 23 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +18 +18 +18 +18 +fe +fe +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0018 +ENCODING 24 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +fe +fe +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 0019 +ENCODING 25 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 0020 +ENCODING 32 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0021 +ENCODING 33 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +18 +18 +18 +18 +18 +18 +00 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 0022 +ENCODING 34 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +7e +36 +36 +6c +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0023 +ENCODING 35 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +1e +1e +1e +7e +3c +3c +7e +78 +78 +78 +00 +00 +ENDCHAR +STARTCHAR 0024 +ENCODING 36 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +3c +5a +5a +38 +1c +1a +5a +5a +3c +18 +00 +ENDCHAR +STARTCHAR 0025 +ENCODING 37 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +36 +6e +6c +38 +08 +10 +1c +36 +76 +6c +00 +00 +ENDCHAR +STARTCHAR 0026 +ENCODING 38 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +1c +36 +36 +36 +1c +36 +6e +6c +6c +36 +00 +00 +ENDCHAR +STARTCHAR 0027 +ENCODING 39 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +38 +18 +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0028 +ENCODING 40 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +06 +0c +18 +18 +30 +30 +30 +30 +30 +18 +18 +0c +06 +ENDCHAR +STARTCHAR 0029 +ENCODING 41 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +60 +30 +18 +18 +0c +0c +0c +0c +0c +18 +18 +30 +60 +ENDCHAR +STARTCHAR 002a +ENCODING 42 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +5a +5a +3c +18 +3c +5a +5a +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 002b +ENCODING 43 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +18 +18 +18 +7e +18 +18 +18 +00 +00 +00 +ENDCHAR +STARTCHAR 002c +ENCODING 44 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +38 +18 +18 +30 +ENDCHAR +STARTCHAR 002d +ENCODING 45 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +7e +7e +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 002e +ENCODING 46 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 002f +ENCODING 47 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +06 +06 +06 +0c +0c +18 +18 +18 +30 +30 +60 +60 +60 +ENDCHAR +STARTCHAR 0030 +ENCODING 48 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0031 +ENCODING 49 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +38 +78 +18 +18 +18 +18 +18 +18 +7e +00 +00 +ENDCHAR +STARTCHAR 0032 +ENCODING 50 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +06 +0c +0c +18 +30 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 0033 +ENCODING 51 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +06 +1c +06 +06 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0034 +ENCODING 52 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +04 +0c +0c +1c +3c +2c +6c +7e +04 +04 +00 +00 +ENDCHAR +STARTCHAR 0035 +ENCODING 53 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +60 +60 +7c +66 +06 +06 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0036 +ENCODING 54 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +1c +36 +66 +60 +7c +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0037 +ENCODING 55 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +66 +6c +0c +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 0038 +ENCODING 56 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +3c +18 +3c +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0039 +ENCODING 57 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +66 +66 +3e +06 +66 +6c +38 +00 +00 +ENDCHAR +STARTCHAR 003a +ENCODING 58 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +18 +18 +00 +00 +00 +18 +18 +00 +00 +00 +ENDCHAR +STARTCHAR 003b +ENCODING 59 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +18 +18 +00 +00 +00 +38 +18 +18 +30 +00 +ENDCHAR +STARTCHAR 003c +ENCODING 60 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +06 +0c +18 +30 +60 +30 +18 +0c +06 +00 +00 +ENDCHAR +STARTCHAR 003d +ENCODING 61 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +7e +7e +00 +7e +7e +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 003e +ENCODING 62 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +60 +30 +18 +0c +06 +0c +18 +30 +60 +00 +00 +ENDCHAR +STARTCHAR 003f +ENCODING 63 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +0c +18 +18 +18 +00 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 0040 +ENCODING 64 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +1c +36 +6e +7a +7a +7a +7a +6e +30 +1e +00 +00 +ENDCHAR +STARTCHAR 0041 +ENCODING 65 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +7e +66 +66 +66 +66 +7e +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 0042 +ENCODING 66 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7c +66 +66 +64 +7c +66 +66 +66 +66 +7c +00 +00 +ENDCHAR +STARTCHAR 0043 +ENCODING 67 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +60 +60 +60 +60 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0044 +ENCODING 68 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +78 +6c +66 +66 +66 +66 +66 +66 +6c +78 +00 +00 +ENDCHAR +STARTCHAR 0045 +ENCODING 69 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +60 +60 +60 +7c +60 +60 +60 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 0046 +ENCODING 70 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +60 +60 +60 +7c +60 +60 +60 +60 +60 +00 +00 +ENDCHAR +STARTCHAR 0047 +ENCODING 71 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +60 +60 +6e +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0048 +ENCODING 72 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +66 +66 +66 +7e +66 +66 +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 0049 +ENCODING 73 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +18 +18 +18 +18 +18 +18 +18 +18 +7e +00 +00 +ENDCHAR +STARTCHAR 004a +ENCODING 74 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +06 +06 +06 +06 +06 +06 +06 +66 +6c +38 +00 +00 +ENDCHAR +STARTCHAR 004b +ENCODING 75 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +6c +78 +70 +70 +78 +78 +6c +66 +66 +00 +00 +ENDCHAR +STARTCHAR 004c +ENCODING 76 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +60 +60 +60 +60 +60 +60 +60 +60 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 004d +ENCODING 77 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +42 +66 +66 +7e +7e +66 +66 +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 004e +ENCODING 78 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +66 +76 +76 +76 +6e +6e +6e +66 +66 +00 +00 +ENDCHAR +STARTCHAR 004f +ENCODING 79 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0050 +ENCODING 80 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7c +66 +66 +66 +66 +7c +60 +60 +60 +60 +00 +00 +ENDCHAR +STARTCHAR 0051 +ENCODING 81 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +66 +66 +66 +76 +6e +66 +3c +06 +02 +ENDCHAR +STARTCHAR 0052 +ENCODING 82 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7c +66 +66 +66 +7c +6c +66 +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 0053 +ENCODING 83 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +30 +18 +18 +0c +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0054 +ENCODING 84 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 0055 +ENCODING 85 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +66 +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0056 +ENCODING 86 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +66 +66 +66 +66 +66 +66 +3c +3c +18 +00 +00 +ENDCHAR +STARTCHAR 0057 +ENCODING 87 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +66 +66 +66 +66 +7e +7e +7e +7e +24 +00 +00 +ENDCHAR +STARTCHAR 0058 +ENCODING 88 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +66 +3c +3c +18 +18 +3c +3c +66 +66 +00 +00 +ENDCHAR +STARTCHAR 0059 +ENCODING 89 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +66 +66 +66 +3c +3c +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 005a +ENCODING 90 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +06 +0c +0c +18 +18 +30 +30 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 005b +ENCODING 91 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +3e +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +3e +ENDCHAR +STARTCHAR 005c +ENCODING 92 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +60 +60 +60 +30 +30 +18 +18 +18 +0c +0c +06 +06 +06 +ENDCHAR +STARTCHAR 005d +ENCODING 93 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +7c +0c +0c +0c +0c +0c +0c +0c +0c +0c +0c +0c +7c +ENDCHAR +STARTCHAR 005e +ENCODING 94 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +3c +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 005f +ENCODING 95 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7e +7e +ENDCHAR +STARTCHAR 0060 +ENCODING 96 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +1c +18 +18 +0c +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 0061 +ENCODING 97 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3c +66 +0e +36 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 0062 +ENCODING 98 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +60 +60 +60 +7c +66 +66 +66 +66 +66 +7c +00 +00 +ENDCHAR +STARTCHAR 0063 +ENCODING 99 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3c +66 +60 +60 +60 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0064 +ENCODING 100 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +06 +06 +06 +3e +66 +66 +66 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 0065 +ENCODING 101 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3c +66 +66 +7e +60 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0066 +ENCODING 102 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +0c +1e +18 +18 +7e +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 0067 +ENCODING 103 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3a +6e +6c +6c +38 +20 +7c +66 +3c +ENDCHAR +STARTCHAR 0068 +ENCODING 104 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +60 +60 +60 +7c +66 +66 +66 +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 0069 +ENCODING 105 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +18 +00 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 006a +ENCODING 106 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +0c +0c +00 +0c +0c +0c +0c +0c +0c +0c +6c +38 +ENDCHAR +STARTCHAR 006b +ENCODING 107 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +60 +60 +60 +64 +6c +78 +78 +6c +66 +62 +00 +00 +ENDCHAR +STARTCHAR 006c +ENCODING 108 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 006d +ENCODING 109 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +6c +7e +7e +7e +7e +7e +7e +00 +00 +ENDCHAR +STARTCHAR 006e +ENCODING 110 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +7c +66 +66 +66 +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 006f +ENCODING 111 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3c +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0070 +ENCODING 112 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +7c +66 +66 +66 +66 +66 +7c +60 +60 +ENDCHAR +STARTCHAR 0071 +ENCODING 113 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3e +66 +66 +66 +66 +66 +3e +06 +06 +ENDCHAR +STARTCHAR 0072 +ENCODING 114 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +7c +66 +66 +60 +60 +60 +60 +00 +00 +ENDCHAR +STARTCHAR 0073 +ENCODING 115 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3c +66 +30 +18 +0c +66 +3c +00 +00 +ENDCHAR +STARTCHAR 0074 +ENCODING 116 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +18 +18 +7e +18 +18 +18 +18 +18 +0e +00 +00 +ENDCHAR +STARTCHAR 0075 +ENCODING 117 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +66 +66 +66 +66 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 0076 +ENCODING 118 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +66 +66 +66 +3c +3c +18 +18 +00 +00 +ENDCHAR +STARTCHAR 0077 +ENCODING 119 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +66 +66 +7e +7e +7e +7e +24 +00 +00 +ENDCHAR +STARTCHAR 0078 +ENCODING 120 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +66 +66 +3c +18 +3c +66 +66 +00 +00 +ENDCHAR +STARTCHAR 0079 +ENCODING 121 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +66 +66 +36 +36 +1c +1c +0c +6c +38 +ENDCHAR +STARTCHAR 007a +ENCODING 122 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +7e +06 +0c +18 +30 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 007b +ENCODING 123 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +0e +18 +18 +18 +18 +18 +30 +18 +18 +18 +18 +18 +0e +ENDCHAR +STARTCHAR 007c +ENCODING 124 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR 007d +ENCODING 125 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +70 +18 +18 +18 +18 +18 +0c +18 +18 +18 +18 +18 +70 +ENDCHAR +STARTCHAR 007e +ENCODING 126 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +20 +7e +7e +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 007f +ENCODING 127 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00a0 +ENCODING 160 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00a1 +ENCODING 161 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +18 +00 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00a2 +ENCODING 162 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +18 +3e +5a +58 +58 +58 +5a +3e +18 +00 +ENDCHAR +STARTCHAR 00a3 +ENCODING 163 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +1c +36 +30 +30 +78 +30 +30 +7c +36 +00 +00 +ENDCHAR +STARTCHAR 00a4 +ENCODING 164 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +66 +3c +34 +2c +3c +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00a5 +ENCODING 165 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +42 +66 +3c +7e +18 +18 +7e +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00a6 +ENCODING 166 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +18 +18 +18 +00 +00 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00a7 +ENCODING 167 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +3c +66 +30 +18 +3c +66 +3c +18 +0c +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00a8 +ENCODING 168 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +6c +6c +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00a9 +ENCODING 169 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +3c +66 +7e +76 +76 +76 +76 +76 +7e +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00aa +ENCODING 170 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +1c +36 +1e +36 +36 +1e +00 +3e +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00ab +ENCODING 171 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +0e +1e +3c +78 +3c +1e +0e +00 +00 +ENDCHAR +STARTCHAR 00ac +ENCODING 172 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +fc +fc +0c +0c +0c +00 +00 +ENDCHAR +STARTCHAR 00ad +ENCODING 173 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +f0 +f0 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00ae +ENCODING 174 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +3c +66 +7e +76 +76 +7e +76 +76 +76 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00af +ENCODING 175 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +f0 +f0 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00b0 +ENCODING 176 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +38 +6c +6c +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00b1 +ENCODING 177 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +18 +18 +7e +18 +18 +7e +00 +00 +ENDCHAR +STARTCHAR 00b2 +ENCODING 178 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +38 +6c +0c +18 +30 +60 +7c +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00b3 +ENCODING 179 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +38 +6c +0c +38 +0c +6c +38 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00b4 +ENCODING 180 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +0c +18 +30 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00b5 +ENCODING 181 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +66 +66 +66 +66 +6e +7e +60 +60 +ENDCHAR +STARTCHAR 00b6 +ENCODING 182 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3e +76 +76 +76 +76 +36 +16 +16 +16 +16 +16 +1e +ENDCHAR +STARTCHAR 00b7 +ENCODING 183 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00b8 +ENCODING 184 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +30 +ENDCHAR +STARTCHAR 00b9 +ENCODING 185 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +30 +70 +30 +30 +30 +30 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00ba +ENCODING 186 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +1c +36 +36 +1c +00 +3e +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR 00bb +ENCODING 187 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +70 +38 +1c +0e +1c +38 +70 +00 +00 +ENDCHAR +STARTCHAR 00bc +ENCODING 188 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +32 +76 +34 +3c +3c +1a +36 +2e +6e +46 +00 +00 +ENDCHAR +STARTCHAR 00bd +ENCODING 189 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +32 +76 +34 +3c +3c +1c +3a +26 +6c +4e +00 +00 +ENDCHAR +STARTCHAR 00be +ENCODING 190 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +62 +36 +74 +3c +78 +1e +36 +6e +4e +06 +00 +00 +ENDCHAR +STARTCHAR 00bf +ENCODING 191 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +0c +0c +00 +0c +0c +0c +0c +0c +66 +66 +3c +ENDCHAR +STARTCHAR 00c0 +ENCODING 192 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +38 +1c +00 +3c +7e +66 +66 +66 +7e +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00c1 +ENCODING 193 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +1c +38 +00 +3c +7e +66 +66 +66 +7e +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00c2 +ENCODING 194 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +3c +00 +3c +7e +66 +66 +66 +7e +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00c3 +ENCODING 195 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +14 +28 +00 +3c +7e +66 +66 +66 +7e +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00c4 +ENCODING 196 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +24 +24 +00 +3c +7e +66 +66 +66 +7e +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00c5 +ENCODING 197 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +18 +00 +3c +7e +66 +66 +66 +7e +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00c6 +ENCODING 198 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +7e +d8 +d8 +d8 +dc +f8 +d8 +d8 +d8 +de +00 +00 +ENDCHAR +STARTCHAR 00c7 +ENCODING 199 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +3c +66 +66 +60 +60 +60 +60 +66 +66 +3c +18 +30 +ENDCHAR +STARTCHAR 00c8 +ENCODING 200 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +38 +1c +00 +7e +60 +60 +60 +7c +60 +60 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 00c9 +ENCODING 201 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +1c +38 +00 +7e +60 +60 +60 +7c +60 +60 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 00ca +ENCODING 202 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +3c +00 +7e +60 +60 +60 +7c +60 +60 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 00cb +ENCODING 203 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +24 +24 +00 +7e +60 +60 +60 +7c +60 +60 +60 +7e +00 +00 +ENDCHAR +STARTCHAR 00cc +ENCODING 204 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +38 +1c +00 +7e +18 +18 +18 +18 +18 +18 +18 +7e +00 +00 +ENDCHAR +STARTCHAR 00cd +ENCODING 205 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +1c +38 +00 +7e +18 +18 +18 +18 +18 +18 +18 +7e +00 +00 +ENDCHAR +STARTCHAR 00ce +ENCODING 206 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +3c +00 +7e +18 +18 +18 +18 +18 +18 +18 +7e +00 +00 +ENDCHAR +STARTCHAR 00cf +ENCODING 207 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +24 +24 +00 +7e +18 +18 +18 +18 +18 +18 +18 +7e +00 +00 +ENDCHAR +STARTCHAR 00d0 +ENCODING 208 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +78 +6c +66 +66 +fe +66 +66 +66 +6c +78 +00 +00 +ENDCHAR +STARTCHAR 00d1 +ENCODING 209 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +14 +28 +00 +66 +76 +76 +76 +6e +6e +6e +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00d2 +ENCODING 210 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +38 +1c +00 +3c +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00d3 +ENCODING 211 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +1c +38 +00 +3c +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00d4 +ENCODING 212 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +3c +00 +3c +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00d5 +ENCODING 213 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +14 +28 +00 +3c +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00d6 +ENCODING 214 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +24 +24 +00 +3c +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00d7 +ENCODING 215 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +c6 +6c +38 +38 +6c +c6 +82 +00 +00 +ENDCHAR +STARTCHAR 00d8 +ENCODING 216 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +02 +02 +3c +6e +6e +6e +6e +76 +76 +76 +76 +3c +40 +40 +ENDCHAR +STARTCHAR 00d9 +ENCODING 217 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +38 +1c +00 +66 +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00da +ENCODING 218 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +1c +38 +00 +66 +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00db +ENCODING 219 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +18 +3c +00 +66 +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00dc +ENCODING 220 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +24 +24 +00 +66 +66 +66 +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00dd +ENCODING 221 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +1c +38 +00 +66 +66 +66 +3c +3c +3c +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00de +ENCODING 222 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +60 +60 +7c +66 +66 +66 +66 +7c +60 +60 +00 +00 +ENDCHAR +STARTCHAR 00df +ENCODING 223 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +1c +36 +36 +36 +3c +36 +36 +36 +36 +7c +00 +00 +ENDCHAR +STARTCHAR 00e0 +ENCODING 224 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +30 +18 +0c +00 +3c +66 +1e +36 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00e1 +ENCODING 225 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +0c +18 +30 +00 +3c +66 +1e +36 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00e2 +ENCODING 226 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +3c +00 +3c +66 +1e +36 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00e3 +ENCODING 227 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +14 +28 +00 +3c +66 +1e +36 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00e4 +ENCODING 228 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +24 +24 +00 +3c +66 +1e +36 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00e5 +ENCODING 229 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +18 +3c +18 +00 +3c +66 +1e +36 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00e6 +ENCODING 230 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +7c +da +3a +5e +d8 +de +7c +00 +00 +ENDCHAR +STARTCHAR 00e7 +ENCODING 231 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +3c +66 +60 +60 +60 +66 +3c +18 +30 +ENDCHAR +STARTCHAR 00e8 +ENCODING 232 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +30 +18 +0c +00 +3c +66 +66 +7e +60 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00e9 +ENCODING 233 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +0c +18 +30 +00 +3c +66 +66 +7e +60 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00ea +ENCODING 234 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +3c +00 +3c +66 +66 +7e +60 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00eb +ENCODING 235 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +24 +24 +00 +3c +66 +66 +7e +60 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00ec +ENCODING 236 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +30 +18 +0c +00 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00ed +ENCODING 237 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +0c +18 +30 +00 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00ee +ENCODING 238 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +3c +00 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00ef +ENCODING 239 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +24 +24 +00 +18 +18 +18 +18 +18 +18 +18 +00 +00 +ENDCHAR +STARTCHAR 00f0 +ENCODING 240 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +28 +10 +2c +0c +3c +6c +6c +6c +6c +6c +38 +00 +00 +ENDCHAR +STARTCHAR 00f1 +ENCODING 241 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +14 +28 +00 +7c +66 +66 +66 +66 +66 +66 +00 +00 +ENDCHAR +STARTCHAR 00f2 +ENCODING 242 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +30 +18 +0c +00 +3c +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00f3 +ENCODING 243 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +0c +18 +30 +00 +3c +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00f4 +ENCODING 244 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +3c +00 +3c +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00f5 +ENCODING 245 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +14 +28 +00 +3c +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00f6 +ENCODING 246 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +24 +24 +00 +3c +66 +66 +66 +66 +66 +3c +00 +00 +ENDCHAR +STARTCHAR 00f7 +ENCODING 247 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +00 +00 +00 +00 +30 +00 +fc +00 +30 +00 +00 +ENDCHAR +STARTCHAR 00f8 +ENCODING 248 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +00 +02 +04 +3c +6e +6e +76 +76 +66 +3c +40 +40 +ENDCHAR +STARTCHAR 00f9 +ENCODING 249 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +20 +30 +18 +08 +66 +66 +66 +66 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00fa +ENCODING 250 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +04 +0c +18 +10 +66 +66 +66 +66 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00fb +ENCODING 251 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +18 +3c +00 +66 +66 +66 +66 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00fc +ENCODING 252 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +24 +24 +00 +66 +66 +66 +66 +66 +66 +3e +00 +00 +ENDCHAR +STARTCHAR 00fd +ENCODING 253 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +04 +0c +18 +10 +66 +66 +66 +3c +1c +1c +18 +78 +30 +ENDCHAR +STARTCHAR 00fe +ENCODING 254 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +60 +60 +60 +7c +66 +66 +66 +66 +66 +7c +60 +60 +ENDCHAR +STARTCHAR 00ff +ENCODING 255 +SWIDTH 480 0 +DWIDTH 7 0 +BBX 7 14 0 -2 +BITMAP +00 +00 +24 +24 +00 +66 +66 +66 +3c +1c +1c +18 +78 +30 +ENDCHAR +ENDFONT diff --git a/engine/src/client.c b/engine/src/client.c index 36e7298..2277a72 100644 --- a/engine/src/client.c +++ b/engine/src/client.c @@ -9,6 +9,24 @@ GSClient GSClientCreate(GSEngine engine) { GSClient client = malloc(sizeof(*client)); + void* ptr[] = { + "game:/font/normal", /**/ + "base:/font/normal", /**/ + &client->font_normal, /**/ + &client->glyph_normal_width, /**/ + &client->glyph_normal_height, /**/ + &client->font_normal_width, /**/ + &client->font_normal_height, /**/ + /**/ + "game:/font/bold", /**/ + "base:/font/bold", /**/ + &client->font_bold, /**/ + &client->glyph_bold_width, /**/ + &client->glyph_bold_height, /**/ + &client->font_bold_width, /**/ + &client->font_bold_height /**/ + }; + int i; memset(client, 0, sizeof(*client)); @@ -33,16 +51,22 @@ GSClient GSClientCreate(GSEngine engine) { client->skybox = GSSkyBoxTry(client, "default"); - if(GSGLTextureTryEx(client->gl, &client->font, &client->glyph_width, &client->glyph_height, "game:/font", 0)) { - } else if(GSGLTextureTryEx(client->gl, &client->font, &client->glyph_width, &client->glyph_height, "base:/font", 0)) { - } else { - client->font = 0; - } + GSGLTextBold(client->gl, 0); - client->font_width = GSMathClosestPOT(client->glyph_width); - client->font_height = GSMathClosestPOT(client->glyph_height); - client->glyph_width /= 16; - client->glyph_height /= 16; + for(i = 0; i < sizeof(ptr) / sizeof(ptr[0]); i += 7) { + if(GSGLTextureTryEx(client->gl, ptr[i + 2], ptr[i + 3], ptr[i + 4], ptr[i], 0)) { + } else if(GSGLTextureTryEx(client->gl, ptr[i + 2], ptr[i + 3], ptr[i + 4], ptr[i + 1], 0)) { + } else { + *((GLuint*)ptr[i + 2]) = 0; + } + + if(*((GLuint*)ptr[i + 2]) > 0) { + *((int*)ptr[i + 5]) = GSMathClosestPOT(*((int*)ptr[i + 3])); + *((int*)ptr[i + 6]) = GSMathClosestPOT(*((int*)ptr[i + 4])); + *((int*)ptr[i + 3]) /= 16; + *((int*)ptr[i + 4]) /= 16; + } + } GSLog(GSLogInfo, "Created client"); @@ -50,7 +74,8 @@ GSClient GSClientCreate(GSEngine engine) { } void GSClientDestroy(GSClient client) { - if(client->font != 0) GSGLTextureDelete(client->gl, client->font); + if(client->font_normal != 0) GSGLTextureDelete(client->gl, client->font_normal); + if(client->font_bold != 0) GSGLTextureDelete(client->gl, client->font_bold); GSGLDestroy(client->gl); @@ -70,14 +95,17 @@ void GSClientStep(GSClient client) { char buf[512]; char buf2[512]; GSVersion ver; - GSVector4 white = {1, 1, 1, 1}; - GSVector4 half = {0, 0, 0, 0.5}; + GSVector4 white = {1, 1, 1, 1}; + GSVector4 yellow = {1, 1, 0, 1}; + GSVector4 half = {0, 0, 0, 0.5}; GSVector2 sq[4]; GSGLClear(client->gl); GSGLCameraSetup(client->gl); GSGLSetLight(client->gl); + GSGLTextBold(client->gl, 0); + if(GSGLShadowBeforeMapping(client->gl)) { scene(client); GSGLShadowAfterMapping(client->gl); @@ -89,9 +117,29 @@ void GSClientStep(GSClient client) { scene(client); GSGLShadowEnd(client->gl); + sprintf(buf, "%.1f FPS", client->engine->tps_sampled); + + tw = GSGLTextWidth(client->gl, buf); + th = GSGLTextHeight(client->gl, buf); + + sq[0][0] = client->engine->width - tw, sq[0][1] = 0; + sq[1][0] = client->engine->width - tw, sq[1][1] = th; + sq[2][0] = client->engine->width, sq[2][1] = th; + sq[3][0] = client->engine->width, sq[3][1] = 0; + + GSGLSetColor(client->gl, half); + GSGLBegin2D(client->gl); + GSGLPolygon2D(client->gl, 4, sq, NULL); + GSGLEnd2D(client->gl); + + GSGLSetColor(client->gl, yellow); + GSGLTextBold(client->gl, 1); + GSGLText(client->gl, client->engine->width - tw, 0, buf); + GSGLTextBold(client->gl, 0); + GSVersionGet(&ver); - sprintf(buf, "GearSrc Engine %s", ver.string); + sprintf(buf, "Engine version %s", ver.string); tw = GSGLTextWidth(client->gl, buf); th = GSGLTextHeight(client->gl, buf); diff --git a/engine/src/core.c b/engine/src/core.c index fda77df..198af5e 100644 --- a/engine/src/core.c +++ b/engine/src/core.c @@ -116,6 +116,8 @@ void GSEngineLoop(GSEngine engine) { long t = 0; int wait_actually = 0; GSNumber tps = 50; + GSNumber tick = 1; + int f = 5; long wait = 1000 / tps; if(engine->param->sleep == NULL || engine->param->get_tick == NULL) { @@ -127,7 +129,8 @@ void GSEngineLoop(GSEngine engine) { wait_actually = 1; } - engine->tps = tps; + engine->tps = tps; + engine->tps_sampled = tps; while(1) { if(engine->client != NULL) GSClientStep(engine->client); @@ -145,6 +148,20 @@ void GSEngineLoop(GSEngine engine) { engine->tps = 1000.0 / (engine->param->get_tick() - t); + if(f > 0) { + engine->tps_sampled = engine->tps; + + f--; + } + + tick += 1.0 / engine->tps; + if(tick >= 1) { + engine->tps_sampled += engine->tps; + engine->tps_sampled /= 2; + + tick = tick - 1; + } + t = engine->param->get_tick(); } } diff --git a/engine/src/gl_common.c b/engine/src/gl_common.c index 039e858..45e2938 100644 --- a/engine/src/gl_common.c +++ b/engine/src/gl_common.c @@ -70,18 +70,22 @@ GSBool GSGLTextureTry(GSGL gl, GLuint* texture, int* width, int* height, const c return GSGLTextureTryEx(gl, texture, width, height, prefix, 1); } +void GSGLTextBold(GSGL gl, GSBool bold) { + gl->bold = bold; +} + void GSGLTextEx(GSGL gl, GSNumber x, GSNumber y, const char* text, GSNumber sx, GSNumber sy) { GSNumber px = x; GSNumber py = y; int i; GSClient client = gl->engine->client; - GSNumber gw = client->glyph_width * sx; - GSNumber gh = client->glyph_height * sy; - GSNumber sw = (GSNumber)client->glyph_width / client->font_width; - GSNumber sh = (GSNumber)client->glyph_height / client->font_height; + GSNumber gw = (gl->bold ? client->glyph_bold_width : client->glyph_normal_width) * sx; + GSNumber gh = (gl->bold ? client->glyph_bold_height : client->glyph_normal_height) * sy; + GSNumber sw = (GSNumber)(gl->bold ? client->glyph_bold_width : client->glyph_normal_width) / (gl->bold ? client->font_bold_width : client->font_normal_width); + GSNumber sh = (GSNumber)(gl->bold ? client->glyph_bold_height : client->glyph_normal_height) / (gl->bold ? client->font_bold_height : client->font_normal_height); GSGLBegin2D(gl); - GSGLTextureSet(gl, client->font); + GSGLTextureSet(gl, gl->bold ? client->font_bold : client->font_normal); for(i = 0; text[i] != 0; i++) { GSVector2 v[4]; @@ -116,11 +120,11 @@ void GSGLText(GSGL gl, GSNumber x, GSNumber y, const char* text) { } double GSGLTextWidth(GSGL gl, const char* text) { - return gl->engine->client->glyph_width * strlen(text); + return (gl->bold ? gl->engine->client->glyph_bold_width : gl->engine->client->glyph_normal_width) * strlen(text); } double GSGLTextHeight(GSGL gl, const char* text) { - return gl->engine->client->glyph_height; + return (gl->bold ? gl->engine->client->glyph_bold_height : gl->engine->client->glyph_normal_height); } void GSGLTexturePrepareEx(GSGL gl, GLuint* texture, unsigned char* rgba, int width, int height, int expand) {