diff --git a/build.gradle b/build.gradle index edc251a..cc0ebd7 100644 --- a/build.gradle +++ b/build.gradle @@ -66,5 +66,5 @@ dependencies { compile 'com.google.code.gson:gson:2.8.6' //Primitive Collections - compile 'de.speiger:Primitive-Collections:0.4.5' + compile 'de.speiger:Primitive-Collections:0.6.0' } \ No newline at end of file diff --git a/resources/font/Roboto-Medium.ttf b/resources/font/Roboto-Medium.ttf new file mode 100644 index 0000000..1a7f3b0 Binary files /dev/null and b/resources/font/Roboto-Medium.ttf differ diff --git a/src/main/java/speiger/src/coreengine/math/misc/ColorObject.java b/src/main/java/speiger/src/coreengine/math/misc/ColorObject.java deleted file mode 100644 index e0cc37e..0000000 --- a/src/main/java/speiger/src/coreengine/math/misc/ColorObject.java +++ /dev/null @@ -1,391 +0,0 @@ -package speiger.src.coreengine.math.misc; - -import java.awt.Color; -import java.nio.ByteBuffer; -import java.nio.FloatBuffer; - -import speiger.src.collections.floats.lists.FloatList; - -public class ColorObject -{ - static final float DEVIDER = 1F / 255F; - public static final int R = 0xFF << 16; - public static final int G = 0xFF << 8; - public static final int B = 0xFF; - public static final int A = 0xFF << 24; - public static final long SIGN = 0x00000000FFFFFFFFL; - static final int ALL = 0xFFFFFFFF; - - public static final ColorObject WHITE = new ColorObject(255, 255, 255); - public static final ColorObject LIGHT_GRAY = new ColorObject(192, 192, 192); - public static final ColorObject GRAY = new ColorObject(128, 128, 128); - public static final ColorObject DARK_GRAY = new ColorObject(64, 64, 64); - public static final ColorObject BLACK = new ColorObject(0, 0, 0); - public static final ColorObject RED = new ColorObject(255, 0, 0); - public static final ColorObject PINK = new ColorObject(255, 175, 175); - public static final ColorObject PURPLE = new ColorObject(106, 13, 173); - public static final ColorObject ORANGE = new ColorObject(255, 200, 0); - public static final ColorObject YELLOW = new ColorObject(255, 255, 0); - public static final ColorObject GREEN = new ColorObject(0, 255, 0); - public static final ColorObject DARK_GREEN = new ColorObject(7, 161, 0); - public static final ColorObject MAGENTA = new ColorObject(255, 0, 255); - public static final ColorObject CYAN = new ColorObject(0, 255, 255); - public static final ColorObject BLUE = new ColorObject(0, 0, 255); - public static final ColorObject LIGHT_BLUE = new ColorObject(0, 150, 255); - - //Specialized Components that get reused - public static final ColorObject INVISIBLE = new ColorObject(0, 0, 0, 0); - public static final ColorObject TEXT_DEFAULT_BACKGROUND = new ColorObject(80, 80, 80, 144); - public static final ColorObject WINDOW_DEFAULT_BACKGROUND = new ColorObject(64, 64, 64, 128); - public static final ColorObject POPUP_DEFAULT_BACKGROUND = new ColorObject(85, 85, 85); - public static final ColorObject DESTRUCTION = new ColorObject(255, 0, 0, 128); - - int rgba; - - public ColorObject(int rgba) - { - this.rgba = rgba; - } - - public ColorObject(int r, int g, int b) - { - rgba = A | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF); - } - - public ColorObject(int r, int g, int b, int a) - { - rgba = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF); - } - - public static ColorObject rgb(int rgb) - { - return new ColorObject(rgb | (255 << 24)); - } - - public ColorObject copy() - { - return new ColorObject(rgba); - } - - public ColorObject setRGB(int rgba) - { - this.rgba = rgba; - return this; - } - - public ColorObject setRed(int r) - { - rgba = rgba & ~R | ((r & 0xFF) << 16); - return this; - } - - public ColorObject setGreen(int g) - { - rgba = rgba & ~G | ((g & 0xFF) << 8); - return this; - } - - public ColorObject setBlue(int b) - { - rgba = rgba & ~B | (b & 0xFF); - return this; - } - - public ColorObject setAlpha(int a) - { - rgba = rgba & ~A | ((a & 0xFF) << 24); - return this; - } - - public ColorObject setRed(float r) - { - return setRed((int)(r * 255F + 0.5F)); - } - - public ColorObject setGreen(float g) - { - return setGreen((int)(g * 255F + 0.5F)); - } - - public ColorObject setBlue(float b) - { - return setBlue((int)(b * 255F + 0.5F)); - } - - public ColorObject setAlpha(float a) - { - return setAlpha((int)(a * 255F + 0.5F)); - } - - public ColorObject setRGB(float hue, float brightness, float saturation, int alpha) - { - return setRGB(Color.HSBtoRGB(hue, saturation, brightness) | alpha << 24); - } - - public int getRGB() - { - return rgba; - } - - public int getRed() - { - return (rgba >> 16) & 0xFF; - } - - public int getGreen() - { - return (rgba >> 8) & 0xFF; - } - - public int getBlue() - { - return rgba & 0xFF; - } - - public int getAlpha() - { - return (rgba >> 24) & 0xFF; - } - - public float getRedFloat() - { - return ((rgba >> 16) & 0xFF) * DEVIDER; - } - - public float getGreenFloat() - { - return ((rgba >> 8) & 0xFF) * DEVIDER; - } - - public float getBlueFloat() - { - return (rgba & 0xFF) * DEVIDER; - } - - public float getAlphaFloat() - { - return ((rgba >> 24) & 0xFF) * DEVIDER; - } - - public String getHexCode(boolean alpha) - { - return "0x"+(alpha ? Long.toHexString(1 << 32 | rgba & SIGN) : Integer.toHexString((1 << 24) | (rgba & ~A))).substring(1); - } - - public String getHTMLCode(boolean alpha) - { - return "#"+(alpha ? Long.toHexString(1 << 32 | rgba & SIGN) : Integer.toHexString((1 << 24) | (rgba & ~A))).substring(1); - } - - public boolean needsDarkColor() - { - return getBrightness() >= 130; - } - - public int getBrightness() - { - return getBrightness(rgba); - } - - public Color toColor() - { - return new Color(rgba); - } - - public float[] toHue() - { - return Color.RGBtoHSB(getRed(), getGreen(), getBlue(), new float[3]); - } - - public ColorObject brighter() - { - return brighter(0.7F); - } - - public ColorObject brighter(float factor) - { - rgba = brighter(rgba, factor); - return this; - } - - public ColorObject darker() - { - return darker(0.7F); - } - - public ColorObject darker(float factor) - { - rgba = darker(rgba, factor); - return this; - } - - public ColorObject mix(ColorObject to, float factor) - { - rgba = mix(rgba, to.rgba, factor); - return this; - } - - public ColorObject mix(ColorObject from, ColorObject to, float factor) - { - rgba = mix(from.rgba, to.rgba, factor); - return this; - } - - public ColorObject write(FloatBuffer buffer, boolean alpha) - { - buffer.put(getRedFloat()).put(getGreenFloat()).put(getBlueFloat()); - if(alpha) - { - buffer.put(getAlphaFloat()); - } - return this; - } - - public ColorObject read(FloatBuffer buffer, boolean alpha) - { - setRed(buffer.get()).setGreen(buffer.get()).setBlue(buffer.get()); - if(alpha) - { - setAlpha(buffer.get()); - } - return this; - } - - public ColorObject write(ByteBuffer buffer, boolean alpha) - { - pack(rgba, alpha, buffer); - return this; - } - - public ColorObject read(ByteBuffer buffer, boolean alpha) - { - setRed(buffer.get()).setGreen(buffer.get()).setBlue(buffer.get()); - if(alpha) - { - setAlpha(buffer.get()); - } - return this; - } - - public ColorObject write(FloatList buffer, boolean alpha) - { - buffer.add(getRedFloat()); - buffer.add(getGreenFloat()); - buffer.add(getBlueFloat()); - if(alpha) - { - buffer.add(getAlphaFloat()); - } - return this; - } - - public ColorObject writeFloat(ByteBuffer buffer, boolean alpha) - { - buffer.putFloat(getRedFloat()).putFloat(getGreenFloat()).putFloat(getBlueFloat()); - if(alpha) - { - buffer.putFloat(getAlphaFloat()); - } - return this; - } - - @Override - public int hashCode() - { - return rgba; - } - - @Override - public boolean equals(Object obj) - { - if(obj instanceof ColorObject) - { - return ((ColorObject)obj).rgba == rgba; - } - return false; - } - - @Override - public String toString() - { - return "Color[r=" + getRed() + ", g=" + getGreen() + ", b=" + getBlue() + ", a=" + getAlpha() + "]"; - } - - public String getFloatColor() - { - return "Color[r=" + getRedFloat() + ", g=" + getGreenFloat() + ", b=" + getBlueFloat() + ", a=" + getAlphaFloat() + "]"; - } - - public static byte[] toByteArray(int color, boolean alpha) - { - byte[] data = new byte[alpha ? 4 : 3]; - data[0] = (byte)((color >> 16) & 0xFF); - data[1] = (byte)((color >> 8) & 0xFF); - data[2] = (byte)(color & 0xFF); - if(alpha) data[3] = (byte)((color >> 24) & 0xFF); - return data; - } - - public static void pack(int color, boolean alpha, ByteBuffer buffer) - { - buffer.put((byte)((color >> 16) & 0xFF)).put((byte)((color >> 8) & 0xFF)).put((byte)(color & 0xFF)); - if(alpha) - { - buffer.put((byte)((color >> 24) & 0xFF)); - } - } - - public static void packFloat(int color, boolean alpha, FloatBuffer buffer) - { - buffer.put(((color >> 16) & 0xFF) * DEVIDER).put(((color >> 8) & 0xFF) * DEVIDER).put((color & 0xFF) * DEVIDER); - if(alpha) - { - buffer.put(((color >> 24) & 0xFF) * DEVIDER); - } - } - - public static int getBrightness(int rgba) - { - return getBrightness((rgba >> 16) & 0xFF, (rgba >> 8) & 0xFF, rgba & 0xFF); - } - - public static int getBrightness(int r, int g, int b) - { - return (int)Math.sqrt((r * r * 0.241F) + (g * g * 0.691F) + (b * b * 0.068F)); - } - - public static int mix(int from, int to, float factor) - { - float weight0 = (1F - factor); - float weight1 = factor; - int r = (int)((((from >> 16) & 0xFF) * weight0) + (((to >> 16) & 0xFF) * weight1)); - int g = (int)((((from >> 8) & 0xFF) * weight0) + (((to >> 8) & 0xFF) * weight1)); - int b = (int)(((from & 0xFF) * weight0) + ((to & 0xFF) * weight1)); - int a = (int)((((from >> 24) & 0xFF) * weight0) + (((to >> 24) & 0xFF) * weight1)); - return ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | b & 0xFF; - } - - public static int darker(int color, float factor) - { - int r = Math.max(0, (int)(((color >> 16) & 0xFF) * factor)); - int g = Math.max(0, (int)(((color >> 8) & 0xFF) * factor)); - int b = Math.max(0, (int)((color & 0xFF) * factor)); - return (color & A) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF); - } - - public static int brighter(int color, float factor) - { - int r = (color >> 16) & 0xFF; - int g = (color >> 8) & 0xFF; - int b = color & 0xFF; - int i = (int)(1.0 / (1.0 - factor)); - if(r == 0 && g == 0 && b == 0) - { - return (color & A) | ((i & 0xFF) << 16) | ((i & 0xFF) << 8) | (i & 0xFF); - } - if(r > 0 && r < i) r = i; - if(g > 0 && g < i) g = i; - if(b > 0 && b < i) b = i; - return (color & A) | Math.min(255, (int)(r / factor)) << 16 | Math.min(255, (int)(g / factor)) << 8 | Math.min(255, (int)(b / factor)); - } -} diff --git a/src/main/java/speiger/src/coreengine/math/misc/ColorUtils.java b/src/main/java/speiger/src/coreengine/math/misc/ColorUtils.java new file mode 100644 index 0000000..7015389 --- /dev/null +++ b/src/main/java/speiger/src/coreengine/math/misc/ColorUtils.java @@ -0,0 +1,374 @@ +package speiger.src.coreengine.math.misc; + +import java.nio.ByteBuffer; +import java.nio.FloatBuffer; + +import speiger.src.collections.floats.lists.FloatList; +import speiger.src.coreengine.math.MathUtils; + +public class ColorUtils +{ + static final float DEVIDER = 1F / 255F; + public static final int R = 0xFF << 16; + public static final int G = 0xFF << 8; + public static final int B = 0xFF; + public static final int A = 0xFF << 24; + public static final long SIGN = 0x00000000FFFFFFFFL; + static final int ALL = 0xFFFFFFFF; + + public static final int WHITE = rgb(255, 255, 255); + public static final int LIGHT_GRAY = rgb(192, 192, 192); + public static final int GRAY = rgb(128, 128, 128); + public static final int DARK_GRAY = rgb(64, 64, 64); + public static final int BLACK = rgb(0, 0, 0); + public static final int RED = rgb(255, 0, 0); + public static final int PINK = rgb(255, 175, 175); + public static final int PURPLE = rgb(106, 13, 173); + public static final int ORANGE = rgb(255, 200, 0); + public static final int YELLOW = rgb(255, 255, 0); + public static final int GREEN = rgb(0, 255, 0); + public static final int DARK_GREEN = rgb(7, 161, 0); + public static final int MAGENTA = rgb(255, 0, 255); + public static final int CYAN = rgb(0, 255, 255); + public static final int BLUE = rgb(0, 0, 255); + public static final int LIGHT_BLUE = rgb(0, 150, 255); + + //Specialized Components that get reused + public static final int INVISIBLE = rgb(0, 0, 0, 0); + public static final int TEXT_DEFAULT_BACKGROUND = rgb(80, 80, 80, 144); + public static final int WINDOW_DEFAULT_BACKGROUND = rgb(64, 64, 64, 128); + public static final int POPUP_DEFAULT_BACKGROUND = rgb(85, 85, 85); + public static final int DESTRUCTION = rgb(255, 0, 0, 128); + + public static byte[] toByteArray(int color, boolean alpha) + { + byte[] data = new byte[alpha ? 4 : 3]; + data[0] = (byte)((color >> 16) & 0xFF); + data[1] = (byte)((color >> 8) & 0xFF); + data[2] = (byte)(color & 0xFF); + if(alpha) data[3] = (byte)((color >> 24) & 0xFF); + return data; + } + + public static void write(int color, boolean alpha, ByteBuffer buffer) + { + buffer.put((byte)((color >> 16) & 0xFF)).put((byte)((color >> 8) & 0xFF)).put((byte)(color & 0xFF)); + if(alpha) + { + buffer.put((byte)((color >> 24) & 0xFF)); + } + } + + public static void write(int index, int color, boolean alpha, ByteBuffer buffer) + { + buffer.put(index, (byte)((color >> 16) & 0xFF)).put(index + 1, (byte)((color >> 8) & 0xFF)).put(index + 2, (byte)(color & 0xFF)); + if(alpha) + { + buffer.put(index + 3, (byte)((color >> 24) & 0xFF)); + } + } + + public static void writeFloat(int color, boolean alpha, ByteBuffer buffer) + { + buffer.putFloat(((color >> 16) & 0xFF) * DEVIDER).putFloat(((color >> 8) & 0xFF) * DEVIDER).putFloat((color & 0xFF) * DEVIDER); + if(alpha) + { + buffer.putFloat(((color >> 24) & 0xFF) * DEVIDER); + } + } + + public static void writeFloat(int index, int color, boolean alpha, ByteBuffer buffer) + { + buffer.putFloat(index, ((color >> 16) & 0xFF) * DEVIDER).putFloat(index + 1, ((color >> 8) & 0xFF) * DEVIDER).putFloat(index + 2, (color & 0xFF) * DEVIDER); + if(alpha) + { + buffer.putFloat(index + 3, ((color >> 24) & 0xFF) * DEVIDER); + } + } + + public static void write(int color, boolean alpha, FloatBuffer buffer) + { + buffer.put(((color >> 16) & 0xFF) * DEVIDER).put(((color >> 8) & 0xFF) * DEVIDER).put((color & 0xFF) * DEVIDER); + if(alpha) + { + buffer.put(((color >> 24) & 0xFF) * DEVIDER); + } + } + + public static void write(int index, int color, boolean alpha, FloatBuffer buffer) + { + buffer.put(index, ((color >> 16) & 0xFF) * DEVIDER).put(index + 1, ((color >> 8) & 0xFF) * DEVIDER).put(index + 2, (color & 0xFF) * DEVIDER); + if(alpha) + { + buffer.put(index + 3, ((color >> 24) & 0xFF) * DEVIDER); + } + } + + public static void write(int color, boolean alpha, FloatList list) + { + list.add(((color >> 16) & 0xFF) * DEVIDER); + list.add(((color >> 8) & 0xFF) * DEVIDER); + list.add((color & 0xFF) * DEVIDER); + if(alpha) + { + list.add(((color >> 24) & 0xFF) * DEVIDER); + } + } + + public static int read(ByteBuffer buffer, boolean alpha) + { + return alpha ? rgb(buffer.get(), buffer.get(), buffer.get()) : rgb(buffer.get(), buffer.get(), buffer.get(), buffer.get()); + } + + public static int read(ByteBuffer buffer, int index, boolean alpha) + { + return alpha ? rgb(buffer.get(index), buffer.get(index+1), buffer.get(index+2)) : rgb(buffer.get(index), buffer.get(index+1), buffer.get(index+2), buffer.get(index+3)); + } + + public static int readFloat(ByteBuffer buffer, boolean alpha) + { + return alpha ? rgb(buffer.getFloat(), buffer.getFloat(), buffer.getFloat()) : rgb(buffer.getFloat(), buffer.getFloat(), buffer.getFloat(), buffer.getFloat()); + } + + public static int readFloat(ByteBuffer buffer, int index, boolean alpha) + { + return alpha ? rgb(buffer.getFloat(index), buffer.getFloat(index+1), buffer.getFloat(index+2)) : rgb(buffer.getFloat(index), buffer.getFloat(index+1), buffer.getFloat(index+2), buffer.getFloat(index+3)); + } + + public static int read(FloatBuffer buffer, boolean alpha) + { + return alpha ? rgb(buffer.get(), buffer.get(), buffer.get()) : rgb(buffer.get(), buffer.get(), buffer.get(), buffer.get()); + } + + public static int read(FloatBuffer buffer, int index, boolean alpha) + { + return alpha ? rgb(buffer.get(index), buffer.get(index+1), buffer.get(index+2)) : rgb(buffer.get(index), buffer.get(index+1), buffer.get(index+2), buffer.get(index+3)); + } + + public static boolean needsDarkColor(int rgba) + { + return getBrightness(rgba) >= 130; + } + + public static int getBrightness(int rgba) + { + return getBrightness((rgba >> 16) & 0xFF, (rgba >> 8) & 0xFF, rgba & 0xFF); + } + + public static int getBrightness(int r, int g, int b) + { + return (int)Math.sqrt((r * r * 0.241F) + (g * g * 0.691F) + (b * b * 0.068F)); + } + + public static int mix(int from, int to, float factor) + { + float weight0 = (1F - factor); + float weight1 = factor; + int r = (int)((((from >> 16) & 0xFF) * weight0) + (((to >> 16) & 0xFF) * weight1)); + int g = (int)((((from >> 8) & 0xFF) * weight0) + (((to >> 8) & 0xFF) * weight1)); + int b = (int)(((from & 0xFF) * weight0) + ((to & 0xFF) * weight1)); + int a = (int)((((from >> 24) & 0xFF) * weight0) + (((to >> 24) & 0xFF) * weight1)); + return ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | b & 0xFF; + } + + public static int darker(int color) + { + return darker(color, 0.7F); + } + + public static int darker(int color, float factor) + { + int r = Math.max(0, (int)(((color >> 16) & 0xFF) * factor)); + int g = Math.max(0, (int)(((color >> 8) & 0xFF) * factor)); + int b = Math.max(0, (int)((color & 0xFF) * factor)); + return (color & A) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF); + } + + public static int brighter(int color) + { + return brighter(color, 0.7F); + } + + public static int brighter(int color, float factor) + { + int r = (color >> 16) & 0xFF; + int g = (color >> 8) & 0xFF; + int b = color & 0xFF; + int i = (int)(1.0 / (1.0 - factor)); + if(r == 0 && g == 0 && b == 0) + { + return (color & A) | ((i & 0xFF) << 16) | ((i & 0xFF) << 8) | (i & 0xFF); + } + if(r > 0 && r < i) r = i; + if(g > 0 && g < i) g = i; + if(b > 0 && b < i) b = i; + return (color & A) | Math.min(255, (int)(r / factor)) << 16 | Math.min(255, (int)(g / factor)) << 8 | Math.min(255, (int)(b / factor)); + } + + public static int toRGB(float hue, float saturation, float brightness) + { + if (saturation == 0) + { + int result = (int)(brightness * 255F + 0.5F); + return rgb(result, result, result); + } + float h = (hue - MathUtils.floor(hue)) * 6F; + float f = h - MathUtils.floor(h); + float p = brightness * (1F - saturation); + float q = brightness * (1F - saturation * f); + float t = brightness * (1F - (saturation * (1F - f))); + switch ((int)h) { + case 0: return rgb(brightness, t, p); + case 1: return rgb(q, brightness, p); + case 2: return rgb(p, brightness, t); + case 3: return rgb(p, q, brightness); + case 4: return rgb(t, p, brightness); + case 5: return rgb(brightness, p, q); + default: return BLACK; + } + } + + public static float[] toHue(int rgba) + { + int r = getR(rgba); + int g = getG(rgba); + int b = getB(rgba); + int cmax = (r > g) ? r : g; + if (b > cmax) cmax = b; + int cmin = (r < g) ? r : g; + if (b < cmin) cmin = b; + float length = cmax - cmin; + + float[] result = new float[3]; + result[1] = cmax == 0 ? 0F : length / cmax; + result[2] = cmax * DEVIDER; + float hue = 0F; + if(result[1] != 0F) { + float redc = (cmax - r) / length; + float greenc = (cmax - g) / length; + float bluec = (cmax - b) / length; + if (r == cmax) hue = bluec - greenc; + else if (g == cmax) hue = 2F + redc - bluec; + else hue = 4F + greenc - redc; + hue /= 6F; + if (hue < 0) hue += 1F; + } + result[0] = hue; + return result; + } + + public static int rgb(int rgb) + { + return rgb | (255 << 24); + } + + public static int rgb(int r, int g, int b) + { + return A | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF); + } + + public static int rgb(float r, float g, float b) + { + return rgb((int)(r * 255F + 0.5F), (int)(g * 255F + 0.5F), (int)(b * 255F + 0.5F)); + } + + public static int rgb(int r, int g, int b, int a) + { + return ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF); + } + + public static int rgb(float r, float g, float b, float a) + { + return rgb((int)(r * 255F + 0.5F), (int)(g * 255F + 0.5F), (int)(b * 255F + 0.5F), (int)(b * 255F + 0.5F)); + } + + public static int setR(int rgba, int r) + { + return rgba & ~R | ((r & 0xFF) << 16); + } + + public static int setR(int rgba, float r) + { + return rgba & ~R | (((int)(r * 255F + 0.5F)) << 16); + } + + public static int setG(int rgba, int g) + { + return rgba & ~G | ((g & 0xFF) << 8); + } + + public static int setG(int rgba, float g) + { + return rgba & ~G | (((int)(g * 255F + 0.5F)) << 8); + } + + public static int setB(int rgba, int b) + { + return rgba & ~B | (b & 0xFF); + } + + public static int setB(int rgba, float b) + { + return rgba & ~B | ((int)(b * 255F + 0.5F)); + } + + public static int setA(int rgba, int a) + { + return rgba & ~A | ((a & 0xFF) << 24); + } + + public static int setA(int rgba, float a) + { + return rgba & ~A | (((int)(a * 255F + 0.5F)) << 24); + } + + public static int getR(int rgba) + { + return (rgba >> 16) & 0xFF; + } + + public static float getRF(int rgba) + { + return ((rgba >> 16) & 0xFF) * DEVIDER; + } + + public static int getG(int rgba) + { + return (rgba >> 8) & 0xFF; + } + + public static float getGF(int rgba) + { + return ((rgba >> 8) & 0xFF) * DEVIDER; + } + + public static int getB(int rgba) + { + return rgba & 0xFF; + } + + public static float getBF(int rgba) + { + return (rgba & 0xFF) * DEVIDER; + } + + public static int getA(int rgba) + { + return (rgba >> 24) & 0xFF; + } + + public static float getAF(int rgba) + { + return ((rgba >> 24) & 0xFF) * DEVIDER; + } + + public static String getHexCode(int rgba, boolean alpha) + { + return "0x"+(alpha ? Long.toHexString(1 << 32 | rgba & SIGN) : Integer.toHexString((1 << 24) | (rgba & ~A))).substring(1); + } + + public static String getHTMLCode(int rgba, boolean alpha) + { + return "#"+(alpha ? Long.toHexString(1 << 32 | rgba & SIGN) : Integer.toHexString((1 << 24) | (rgba & ~A))).substring(1); + } +} diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/GuiBase.java b/src/main/java/speiger/src/coreengine/rendering/gui/GuiBase.java index 357dcd0..54876a6 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/GuiBase.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/GuiBase.java @@ -88,7 +88,7 @@ public abstract class GuiBase public T centerComponent(T comp) { IGuiBox box = comp.getBox(); - comp.setComponentPosition(Align.CENTER.align(width, box.getWidth()), Align.CENTER.align(height, box.getHeight())); + comp.set(Align.CENTER.align(width, box.getWidth()), Align.CENTER.align(height, box.getHeight())); return comp; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/GuiComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/GuiComponent.java index 1bbbc6b..51dde9c 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/GuiComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/GuiComponent.java @@ -23,6 +23,7 @@ import speiger.src.coreengine.rendering.gui.helper.box.GuiBox; import speiger.src.coreengine.rendering.gui.helper.box.IGuiBox; import speiger.src.coreengine.rendering.gui.helper.constrains.ComponentConstrains; import speiger.src.coreengine.rendering.gui.helper.constrains.Constrain; +import speiger.src.coreengine.rendering.gui.renderer.FontRenderer; import speiger.src.coreengine.rendering.gui.renderer.IComponentRenderer; import speiger.src.coreengine.rendering.gui.renderer.UIRenderer; import speiger.src.coreengine.rendering.input.Keyboard; @@ -96,6 +97,11 @@ public abstract class GuiComponent extends FlagHolder return owner; } + public FontRenderer getFont() + { + return owner.getFont(); + } + public void calculateActualBounds(float[] area, boolean start) { if(start) @@ -199,7 +205,7 @@ public abstract class GuiComponent extends FlagHolder } } init(); - onComponentChanged(true); + onChanged(true); if(binding != null) { gui.addKeyListener(binding); @@ -320,7 +326,7 @@ public abstract class GuiComponent extends FlagHolder clearFlag(FLAG_MASS_CHANGE); if(changed && !quiet) { - onComponentChanged(massRepaint); + onChanged(massRepaint); } } return this; @@ -369,7 +375,7 @@ public abstract class GuiComponent extends FlagHolder if(getBox().getBaseScale() != value) { getBox().setScale(value); - onComponentChanged(true); + onChanged(true); } return this; } @@ -439,7 +445,7 @@ public abstract class GuiComponent extends FlagHolder private void addBindingTooltip() { - tooltips.addComponent(binding.getTooltip(), new TextComponent(0F, 0F, 200F, 0F, "Key: "+ModType.getMods(binding.mod)+BindingType.KEYBOARD.getName(binding.key)).setLimitedHeight(false).setAlignment(Align.LEFT_TOP, Align.LEFT_TOP).setScale(0.5F)); + tooltips.addComponent(binding.getTooltip(), new TextComponent(0F, 0F, 200F, 0F, "Key: "+ModType.getMods(binding.mod)+BindingType.KEYBOARD.getName(binding.key)).limitHeight(false).align(Align.LEFT_TOP, Align.LEFT_TOP).setScale(0.5F)); } protected boolean onUserKey() @@ -454,7 +460,7 @@ public abstract class GuiComponent extends FlagHolder public T setRelativeTo(T component, Align horizontal, Align vertical) { - return component.setComponentPosition(box.getMinX() + horizontal.align(box.getWidth(), component.getBox().getWidth()), box.getMinY() + vertical.align(box.getHeight(), component.getBox().getHeight())).cast(); + return component.set(box.getMinX() + horizontal.align(box.getWidth(), component.getBox().getWidth()), box.getMinY() + vertical.align(box.getHeight(), component.getBox().getHeight())).cast(); } public T centerComponent(T component) @@ -542,7 +548,7 @@ public abstract class GuiComponent extends FlagHolder public GuiComponent addTooltip(String s, float width, float height, float scale) { - tooltips.addComponent(new TextComponent(0F, 0F, width, height, s).setLimitedHeight(height != 0F).setAlignment(Align.LEFT_TOP, Align.LEFT_TOP).setScale(scale)); + tooltips.addComponent(new TextComponent(0F, 0F, width, height, s).limitHeight(height != 0F).align(Align.LEFT_TOP, Align.LEFT_TOP).setScale(scale)); return this; } @@ -709,39 +715,39 @@ public abstract class GuiComponent extends FlagHolder return this; } - public GuiComponent moveComponent(float x, float y) + public GuiComponent move(float x, float y) { if(x == 0F && y == 0F || constraints != null) return this; box.move(x, y); - onComponentChanged(false); + onChanged(false); return this; } - public GuiComponent setComponentPosition(float x, float y) + public GuiComponent set(float x, float y) { if(box.getBaseX() == x && box.getBaseY() == y || constraints != null) return this; box.setXY(x, y); - onComponentChanged(false); + onChanged(false); return this; } - public GuiComponent resizeComponent(float moveX, float moveY) + public GuiComponent resize(float moveX, float moveY) { if(moveX == 0F && moveY == 0F || constraints != null) return this; box.grow(moveX, moveY); - onComponentChanged(true); + onChanged(true); return this; } - public GuiComponent setComponentBounds(float width, float height) + public GuiComponent bounds(float width, float height) { if(box.getBaseWidth() == width && box.getBaseHeight() == height || constraints != null) return this; box.setBounds(width, height); - onComponentChanged(true); + onChanged(true); return this; } - public final void onComponentChanged(boolean repaint) + public final void onChanged(boolean repaint) { if(owner == null) return; if(isFlagSet(FLAG_MASS_CHANGE)) @@ -771,7 +777,7 @@ public abstract class GuiComponent extends FlagHolder if(children.isEmpty()) return; for(GuiComponent comp : children) { - comp.onComponentChanged(repaint); + comp.onChanged(repaint); } } @@ -785,23 +791,23 @@ public abstract class GuiComponent extends FlagHolder } - public final void onFixedUpdate() + public final void fixedUpdate() { if(fixedUpdateSelf()) fixedUpdateChildren(); } - public final void onUpdate(int mouseX, int mouseY, float particalTicks) + public final void update(int mouseX, int mouseY, float particalTicks) { if(animation != null) animation.update(particalTicks); if(updateSelf(mouseX, mouseY, particalTicks)) updateChildren(mouseX, mouseY, particalTicks); } - protected void onPreRender() + protected void preRender() { } - public final void onRender(int mouseX, int mouseY, float particalTicks) + public final void render(int mouseX, int mouseY, float particalTicks) { if(customRenderer != null) { @@ -813,10 +819,10 @@ public abstract class GuiComponent extends FlagHolder } else { - onPreRender(); + preRender(); getRenderer().setVisibility(totalVisibility).setBrightness(brightness); if(renderSelf(mouseX, mouseY, particalTicks)) renderChildren(mouseX, mouseY, particalTicks); - onPostRender(); + postRender(); getRenderer().resetEffects(); } if(getGui() instanceof GuiScreenBase) @@ -825,7 +831,7 @@ public abstract class GuiComponent extends FlagHolder } } - protected void onPostRender() + protected void postRender() { } @@ -869,7 +875,7 @@ public abstract class GuiComponent extends FlagHolder { if(entry.isVisible()) { - entry.onFixedUpdate(); + entry.fixedUpdate(); } } } @@ -880,7 +886,7 @@ public abstract class GuiComponent extends FlagHolder { if(entry.isVisible()) { - entry.onUpdate(mouseX, mouseY, particalTicks); + entry.update(mouseX, mouseY, particalTicks); } } } @@ -894,9 +900,9 @@ public abstract class GuiComponent extends FlagHolder float zOffset = entry.getZOffset() + 0.01F; getRenderer().push(); getRenderer().translate(0F, 0F, zOffset); - entry.onPreRender(); - entry.onRender(mouseX, mouseY, particalTicks); - entry.onPostRender(); + entry.preRender(); + entry.render(mouseX, mouseY, particalTicks); + entry.postRender(); getRenderer().translate(0F, 0F, -zOffset); getRenderer().pop(); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/base/GuiScreenBase.java b/src/main/java/speiger/src/coreengine/rendering/gui/base/GuiScreenBase.java index 064f91c..48c337d 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/base/GuiScreenBase.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/base/GuiScreenBase.java @@ -11,18 +11,18 @@ import java.util.function.IntToLongFunction; import speiger.src.collections.ints.maps.impl.hash.Int2ObjectLinkedOpenHashMap; import speiger.src.collections.ints.maps.impl.hash.Int2ObjectOpenHashMap; import speiger.src.collections.ints.maps.interfaces.Int2ObjectMap; -import speiger.src.collections.ints.maps.interfaces.Int2ObjectSortedMap; +import speiger.src.collections.ints.maps.interfaces.Int2ObjectOrderedMap; import speiger.src.collections.ints.sets.IntSet; import speiger.src.collections.objects.lists.ObjectArrayList; import speiger.src.collections.objects.maps.impl.hash.Object2BooleanLinkedOpenHashMap; import speiger.src.collections.objects.maps.impl.hash.Object2ObjectLinkedOpenHashMap; -import speiger.src.collections.objects.maps.interfaces.Object2BooleanSortedMap; +import speiger.src.collections.objects.maps.interfaces.Object2BooleanOrderedMap; import speiger.src.collections.objects.maps.interfaces.Object2ObjectMap; import speiger.src.collections.objects.sets.ObjectLinkedOpenHashSet; -import speiger.src.collections.objects.sets.ObjectSortedSet; +import speiger.src.collections.objects.sets.ObjectOrderedSet; import speiger.src.collections.objects.utils.maps.Object2ObjectMaps; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiBase; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.components.TooltipPanel; @@ -35,9 +35,9 @@ public class GuiScreenBase extends GuiBase Int2ObjectMap getters = new Int2ObjectOpenHashMap<>(); Set components = new ObjectLinkedOpenHashSet<>(); Set keyOrder = new ObjectLinkedOpenHashSet<>(); - ObjectSortedSet renderOrder = new ObjectLinkedOpenHashSet<>(); - Object2BooleanSortedMap buttonOrder = new Object2BooleanLinkedOpenHashMap<>(); - Int2ObjectSortedMap selectedButtons = new Int2ObjectLinkedOpenHashMap<>(); + ObjectOrderedSet renderOrder = new ObjectLinkedOpenHashSet<>(); + Object2BooleanOrderedMap buttonOrder = new Object2BooleanLinkedOpenHashMap<>(); + Int2ObjectOrderedMap selectedButtons = new Int2ObjectLinkedOpenHashMap<>(); Set draggingButtons = new ObjectLinkedOpenHashSet<>(); TooltipPanel tooltips = new TooltipPanel(); int lastMouseX = -1; @@ -153,7 +153,7 @@ public class GuiScreenBase extends GuiBase super.onScreenChanged(); for(GuiComponent entry : components) { - entry.onComponentChanged(true); + entry.onChanged(true); } } @@ -164,7 +164,7 @@ public class GuiScreenBase extends GuiBase { if(entry.isVisible()) { - entry.onFixedUpdate(); + entry.fixedUpdate(); } } } @@ -176,7 +176,7 @@ public class GuiScreenBase extends GuiBase { if(entry.isVisible()) { - entry.onUpdate(mouseX, mouseY, particalTicks); + entry.update(mouseX, mouseY, particalTicks); } } } @@ -196,7 +196,7 @@ public class GuiScreenBase extends GuiBase float z = base.getZOffset(); boolean layer = base.usesRenderOrder(); render.translate(0.0F, 0.0F, layers + z + (layer ? extra : 0.0F)); - base.onRender(mouseX, mouseY, particalTicks); + base.render(mouseX, mouseY, particalTicks); render.resetTransform(); biggestZ = Math.max(biggestZ, z); if(layer) @@ -227,9 +227,9 @@ public class GuiScreenBase extends GuiBase { drawsTooltip = true; tooltips.updateTooltips(components); - tooltips.setComponentPosition(mouseX+tooltips.isOutsideScreen(mouseX, width), mouseY); + tooltips.set(mouseX+tooltips.isOutsideScreen(mouseX, width), mouseY); render.translate(0.0F, 0.0F, layers + 50F); - tooltips.onRender(mouseX, mouseY, particalTicks); + tooltips.render(mouseX, mouseY, particalTicks); render.resetTransform(); } } @@ -241,7 +241,7 @@ public class GuiScreenBase extends GuiBase if(!getUIManager().isRenderUIBoxes()) return; UIRenderer render = getRenderer(); render.translate(0F, 0F, 100F); - render.drawFrame(comp.getBox(), ColorObject.RED); + render.drawFrame(comp.getBox(), ColorUtils.RED); render.translate(0F, 0F, -100F); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/ButtonComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/ButtonComponent.java index 985c4cd..addc7a3 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/ButtonComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/ButtonComponent.java @@ -1,6 +1,5 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; import speiger.src.coreengine.rendering.gui.helper.constrains.Constraints; @@ -8,14 +7,14 @@ import speiger.src.coreengine.rendering.gui.helper.constrains.Constraints; public class ButtonComponent extends GuiComponent implements IButtonComponent { TextComponent text = new TextComponent(); - ColorObject color; + int color; - public ButtonComponent(String text, ColorObject color) + public ButtonComponent(String text, int color) { this(0F, 0F, 0F, 0F, text, color); } - public ButtonComponent(float x, float y, float width, float height, String text, ColorObject color) + public ButtonComponent(float x, float y, float width, float height, String text, int color) { super(x, y, width, height); this.text.setText(text); @@ -34,7 +33,7 @@ public class ButtonComponent extends GuiComponent implements IButtonComponent return text; } - public ButtonComponent setColor(ColorObject color) + public ButtonComponent setColor(int color) { this.color = color; return this; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/CheckBoxComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/CheckBoxComponent.java index 2f58c7b..dd2da28 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/CheckBoxComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/CheckBoxComponent.java @@ -1,6 +1,5 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; import speiger.src.coreengine.rendering.gui.components.misc.ICheckBox; @@ -10,31 +9,31 @@ import speiger.src.coreengine.rendering.gui.renderer.buffer.RenderBuffer; public class CheckBoxComponent extends GuiComponent implements IButtonComponent, ICheckBox { boolean isChecked = false; - ColorObject color; + int color; RenderBuffer buffer; - public CheckBoxComponent(ColorObject color) + public CheckBoxComponent(int color) { super(0F, 0F, 0F, 0F); setFlag(FLAG_SUPPORT_BINDING); this.color = color; } - public CheckBoxComponent(ColorObject color, boolean checked) + public CheckBoxComponent(int color, boolean checked) { super(0F, 0F, 0F, 0F); setFlag(FLAG_SUPPORT_BINDING); this.color = color; } - public CheckBoxComponent(float x, float y, float width, float height, ColorObject color) + public CheckBoxComponent(float x, float y, float width, float height, int color) { super(x, y, width, height); setFlag(FLAG_SUPPORT_BINDING); this.color = color; } - public CheckBoxComponent(float x, float y, float width, float height, ColorObject color, boolean checked) + public CheckBoxComponent(float x, float y, float width, float height, int color, boolean checked) { super(x, y, width, height); setFlag(FLAG_SUPPORT_BINDING); @@ -55,12 +54,12 @@ public class CheckBoxComponent extends GuiComponent implements IButtonComponent, return this; } - public final CheckBoxComponent setColor(ColorObject color) + public final CheckBoxComponent setColor(int color) { if(this.color != color) { this.color = color; - onComponentChanged(true); + onChanged(true); } return this; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/GradientSliderComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/GradientSliderComponent.java index 7a806e1..6791b83 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/GradientSliderComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/GradientSliderComponent.java @@ -2,16 +2,15 @@ package speiger.src.coreengine.rendering.gui.components; import java.util.function.IntFunction; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.math.misc.Facing; public class GradientSliderComponent extends SliderComponent { - ColorObject fromColor; - ColorObject toColor; + int fromColor; + int toColor; Facing direction; - public GradientSliderComponent(float x, float y, float width, float height, int min, int max, int value, ColorObject color, ColorObject fromColor, ColorObject toColor, Facing direction, IntFunction textBuilder) + public GradientSliderComponent(float x, float y, float width, float height, int min, int max, int value, int color, int fromColor, int toColor, Facing direction, IntFunction textBuilder) { super(x, y, width, height, min, max, value, color, textBuilder); this.direction = direction; @@ -19,7 +18,7 @@ public class GradientSliderComponent extends SliderComponent this.toColor = toColor; } - public GradientSliderComponent(int min, int max, int value, ColorObject color, ColorObject fromColor, ColorObject toColor, Facing direction, IntFunction textBuilder) + public GradientSliderComponent(int min, int max, int value, int color, int fromColor, int toColor, Facing direction, IntFunction textBuilder) { super(min, max, value, color, textBuilder); this.direction = direction; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/IconButtonComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/IconButtonComponent.java index 8c9a2f0..52d8338 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/IconButtonComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/IconButtonComponent.java @@ -1,6 +1,6 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; import speiger.src.coreengine.rendering.gui.components.icon.IIcon; @@ -8,9 +8,9 @@ import speiger.src.coreengine.rendering.gui.components.icon.IIcon; public class IconButtonComponent extends GuiComponent implements IButtonComponent { IIcon icon; - ColorObject hoverColor; + int hoverColor; - public IconButtonComponent(ColorObject hoverColor, IIcon icon) + public IconButtonComponent(int hoverColor, IIcon icon) { super(0F, 0F, 0F, 0F); this.icon = icon; @@ -18,7 +18,7 @@ public class IconButtonComponent extends GuiComponent implements IButtonComponen setFlag(FLAG_SUPPORT_BINDING); } - public IconButtonComponent(float x, float y, float width, float height, ColorObject hoverColor, IIcon icon) + public IconButtonComponent(float x, float y, float width, float height, int hoverColor, IIcon icon) { super(x, y, width, height); this.icon = icon; @@ -35,7 +35,7 @@ public class IconButtonComponent extends GuiComponent implements IButtonComponen @Override protected boolean renderSelf(int mouseX, int mouseY, float particalTicks) { - if(isTopHovered(mouseX, mouseY) && hoverColor.getAlpha() > 0) + if(isTopHovered(mouseX, mouseY) && ColorUtils.getAF(hoverColor) > 0) { getRenderer().drawQuad(getBox(), hoverColor); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/IconComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/IconComponent.java index d34dbae..c6c2942 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/IconComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/IconComponent.java @@ -1,13 +1,12 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.textures.base.ITexture; public class IconComponent extends GuiComponent { ITexture texture; - ColorObject override = ColorObject.WHITE; + int override = -1; public IconComponent(ITexture texture) { @@ -15,7 +14,7 @@ public class IconComponent extends GuiComponent this.texture = texture; } - public IconComponent(ITexture texture, ColorObject color) + public IconComponent(ITexture texture, int color) { super(0F, 0F, 0F, 0F); this.texture = texture; @@ -28,7 +27,7 @@ public class IconComponent extends GuiComponent this.texture = texture; } - public IconComponent(float x, float y, float width, float height, ITexture texture, ColorObject color) + public IconComponent(float x, float y, float width, float height, ITexture texture, int color) { super(x, y, width, height); this.texture = texture; @@ -41,7 +40,7 @@ public class IconComponent extends GuiComponent return this; } - public IconComponent setColor(ColorObject color) + public IconComponent setColor(int color) { override = color; return this; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/LabelComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/LabelComponent.java index 9125ae9..5d7f989 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/LabelComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/LabelComponent.java @@ -1,20 +1,19 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.helper.constrains.Constraints; public class LabelComponent extends GuiComponent { TextComponent text = new TextComponent(); - ColorObject color; + int color; - public LabelComponent(String text, ColorObject color) + public LabelComponent(String text, int color) { this(0F, 0F, 0F, 0F, text, color); } - public LabelComponent(float x, float y, float width, float height, String text, ColorObject color) + public LabelComponent(float x, float y, float width, float height, String text, int color) { super(x, y, width, height); this.text.setText(text); @@ -26,13 +25,13 @@ public class LabelComponent extends GuiComponent return text; } - public LabelComponent setColor(ColorObject color) + public LabelComponent setColor(int color) { this.color = color; return this; } - public ColorObject getColor() + public int getColor() { return color; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/ListComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/ListComponent.java index 56d48eb..2686ff5 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/ListComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/ListComponent.java @@ -16,7 +16,7 @@ import speiger.src.collections.objects.lists.ObjectArrayList; import speiger.src.collections.objects.lists.ObjectList; import speiger.src.collections.objects.utils.ObjectIterators; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.math.vector.ints.Vec2i; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; @@ -41,8 +41,8 @@ public class ListComponent extends GuiComponent public static final int FLAG_DISABLE_BACKGROUND = 1024; public static final int FLAG_START_AT_BOTTOM = 2048; - protected ColorObject color; - protected ColorObject hoverColor = ColorObject.LIGHT_GRAY.copy(); + protected int color; + protected int hoverColor = ColorUtils.LIGHT_GRAY; protected int hoverIndex = -1; protected int dragIndex = -1; protected int movement = 0; @@ -53,8 +53,8 @@ public class ListComponent extends GuiComponent protected int updateMode = 1; protected float entryHeight; protected float cachedWidth = 0F; - protected ScrollBarComponent verticalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY); - protected ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY).setHorizontal(true); + protected ScrollBarComponent verticalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY); + protected ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY).setHorizontal(true); protected Vec2i lastMouse = Vec2i.newMutable(); public ListComponent() @@ -62,14 +62,14 @@ public class ListComponent extends GuiComponent super(0F, 0F, 0F, 0F); } - public ListComponent(ColorObject color, float entryHeight) + public ListComponent(int color, float entryHeight) { super(0F, 0F, 0F, 0F); this.color = color; this.entryHeight = entryHeight; } - public ListComponent(float x, float y, float width, float height, ColorObject color, float entryHeight) + public ListComponent(float x, float y, float width, float height, int color, float entryHeight) { super(x, y, width, height); this.color = color; @@ -125,13 +125,13 @@ public class ListComponent extends GuiComponent return isFlagSet(FLAG_START_AT_BOTTOM); } - public ListComponent setColor(ColorObject color) + public ListComponent setColor(int color) { this.color = color; return this; } - public ListComponent setHoverColor(ColorObject color) + public ListComponent setHoverColor(int color) { hoverColor = color; return this; @@ -142,7 +142,7 @@ public class ListComponent extends GuiComponent if(this.entryHeight != entryHeight) { this.entryHeight = entryHeight; - onComponentChanged(true); + onChanged(true); } return this; } @@ -242,7 +242,7 @@ public class ListComponent extends GuiComponent return entries; } - public ListComponent addEntry(T entry) + public ListComponent add(T entry) { entries.add(entry); if(getGui() != null) @@ -253,7 +253,7 @@ public class ListComponent extends GuiComponent return this; } - public ListComponent addEntries(Collection entries) + public ListComponent addAll(Collection entries) { this.entries.addAll(entries); if(getGui() != null) @@ -393,8 +393,7 @@ public class ListComponent extends GuiComponent protected Iterator rangeIterator(int start, int end) { - return new Iterator() - { + return new Iterator() { int index = start; @Override @@ -447,11 +446,11 @@ public class ListComponent extends GuiComponent horizontalBar.setScrollMax((int)(width / getBox().getScale())); if(lastHorizontal != horizontalBar.isInUse()) { - horizontalBar.onComponentChanged(true); + horizontalBar.onChanged(true); } if(lastVertical != verticalBar.isInUse()) { - verticalBar.onComponentChanged(true); + verticalBar.onChanged(true); } } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/PieComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/PieComponent.java index 900c889..bfc6f49 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/PieComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/PieComponent.java @@ -6,7 +6,7 @@ import java.util.function.Supplier; import org.lwjgl.opengl.GL11; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.renderer.buffer.RenderBuffer; import speiger.src.coreengine.rendering.tesselation.Tesselator; @@ -104,8 +104,8 @@ public class PieComponent extends GuiComponent { IPieIndex pieIndex = indexes.get(j); int steps = j == 0 ? maxSteps - stepsDone : pieIndex.getSteps(); - ColorObject color = pieIndex.getColor(); - ColorObject darker = color.copy().darker(); + int color = pieIndex.getColor(); + int darker = ColorUtils.darker(color); tes.offset(0F, 0F, 0.01F); for(int i = 0;i name; IntSupplier valueGenerator; - public ProgressBarComponent(ColorObject color, int value, int max) + public ProgressBarComponent(int color, int value, int max) { this(color, value, max, null); } - public ProgressBarComponent(ColorObject color, int value, int max, IntFunction name) + public ProgressBarComponent(int color, int value, int max, IntFunction name) { this(0F, 0F, 0F, 0F, color, value, max, name); } - public ProgressBarComponent(float x, float y, float width, float height, ColorObject color, int value, int max) + public ProgressBarComponent(float x, float y, float width, float height, int color, int value, int max) { this(x, y, width, height, color, value, max, null); } - public ProgressBarComponent(float x, float y, float width, float height, ColorObject color, int value, int max, IntFunction name) + public ProgressBarComponent(float x, float y, float width, float height, int color, int value, int max, IntFunction name) { super(x, y, width, height); this.name = name; @@ -58,7 +57,7 @@ public class ProgressBarComponent extends GuiComponent return text; } - public ProgressBarComponent setColor(ColorObject color) + public ProgressBarComponent setColor(int color) { this.color = color; return this; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollBarComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollBarComponent.java index 3650585..8f6706a 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollBarComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollBarComponent.java @@ -1,7 +1,6 @@ package speiger.src.coreengine.rendering.gui.components; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; import speiger.src.coreengine.rendering.gui.helper.box.IGuiBox; @@ -10,25 +9,25 @@ public class ScrollBarComponent extends GuiComponent implements IButtonComponent { public static final int FLAG_HORIZONTAL = 1024; public static final int FLAG_INVERTED = 2048; - ColorObject color; + int color; float lastMouse = -1; int current; int max; - public ScrollBarComponent(ColorObject color) + public ScrollBarComponent(int color) { super(0F, 0F, 0F, 0F); this.color = color; } - public ScrollBarComponent(ColorObject color, int max) + public ScrollBarComponent(int color, int max) { super(0F, 0F, 0F, 0F); this.color = color; this.max = max; } - public ScrollBarComponent(ColorObject color, int max, int current) + public ScrollBarComponent(int color, int max, int current) { super(0F, 0F, 0F, 0F); this.color = color; @@ -36,20 +35,20 @@ public class ScrollBarComponent extends GuiComponent implements IButtonComponent this.current = current; } - public ScrollBarComponent(float x, float y, float width, float height, ColorObject color) + public ScrollBarComponent(float x, float y, float width, float height, int color) { super(x, y, width, height); this.color = color; } - public ScrollBarComponent(float x, float y, float width, float height, ColorObject color, int max) + public ScrollBarComponent(float x, float y, float width, float height, int color, int max) { super(x, y, width, height); this.color = color; this.max = max; } - public ScrollBarComponent(float x, float y, float width, float height, ColorObject color, int max, int current) + public ScrollBarComponent(float x, float y, float width, float height, int color, int max, int current) { super(x, y, width, height); this.color = color; @@ -63,7 +62,7 @@ public class ScrollBarComponent extends GuiComponent implements IButtonComponent } - public ScrollBarComponent setColor(ColorObject color) + public ScrollBarComponent setColor(int color) { this.color = color; return this; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollPanelComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollPanelComponent.java index 6df3016..09083f4 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollPanelComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollPanelComponent.java @@ -1,6 +1,6 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.helper.box.IGuiBox; import speiger.src.coreengine.rendering.gui.helper.constrains.ComponentConstrains; @@ -10,8 +10,8 @@ public class ScrollPanelComponent extends GuiComponent { public static final int FLAG_CORNER = 1 << 20; - ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY).setHorizontal(true); - ScrollBarComponent verticalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY); + ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY).setHorizontal(true); + ScrollBarComponent verticalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY); protected PanelComponent container = new PanelComponent().setManualRenderer(true).setScissorsTest(true).cast(); PanelComponent viewPort = new PanelComponent().setManualRenderer(true).cast(); @@ -41,7 +41,7 @@ public class ScrollPanelComponent extends GuiComponent { addConstrains(horizontalBar, Constraints.getScrollbarConstraints(isFlagSet(FLAG_CORNER) ? () -> true : verticalBar::isInUse, true, 5F)); addConstrains(verticalBar, Constraints.getScrollbarConstraints(isFlagSet(FLAG_CORNER) ? () -> true : horizontalBar::isInUse, false, 5F)); - onComponentChanged(false); + onChanged(false); } return this; } @@ -68,14 +68,14 @@ public class ScrollPanelComponent extends GuiComponent } horizontalBar.setScrollMax((int)maxX); verticalBar.setScrollMax((int)maxY); - owner.setComponentBounds(maxX, maxY).setComponentPosition(-horizontalBar.getScroll(), -verticalBar.getScroll()); + owner.bounds(maxX, maxY).set(-horizontalBar.getScroll(), -verticalBar.getScroll()); } @Override protected boolean updateSelf(int mouseX, int mouseY, float particalTicks) { super.updateSelf(mouseX, mouseY, particalTicks); - container.setComponentPosition(-horizontalBar.getScroll(), -verticalBar.getScroll()); + container.set(-horizontalBar.getScroll(), -verticalBar.getScroll()); return true; } @@ -87,7 +87,7 @@ public class ScrollPanelComponent extends GuiComponent { enableScissors(viewPort.getBox()); getRenderer().translate(0F, 0F, 0.1F); - container.onRender(mouseX, mouseY, particalTicks); + container.render(mouseX, mouseY, particalTicks); getRenderer().translate(0F, 0F, -0.1F); disableScissors(); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollWindowComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollWindowComponent.java index 0a61e5d..fe93184 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollWindowComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/ScrollWindowComponent.java @@ -1,6 +1,6 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.helper.box.IGuiBox; import speiger.src.coreengine.rendering.gui.helper.constrains.ComponentConstrains; @@ -9,8 +9,8 @@ import speiger.src.coreengine.rendering.gui.helper.constrains.Constraints; public class ScrollWindowComponent extends WindowComponent { public static final int FLAG_CORNER = 1 << 26; - ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY).setHorizontal(true); - ScrollBarComponent verticalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY); + ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY).setHorizontal(true); + ScrollBarComponent verticalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY); protected PanelComponent container = new PanelComponent().setManualRenderer(true).cast(); PanelComponent viewPort = new PanelComponent().setManualRenderer(true).cast(); @@ -32,7 +32,7 @@ public class ScrollWindowComponent extends WindowComponent addChild(verticalBar.addChangeListener(minimizedListener), Constraints.getVerticalScrollbar(isFlagSet(FLAG_CORNER) ? () -> true : horizontalBar::isInUse, 7.5F, 5F)); viewPort.addChild(container); container.addChangeListener(this::recalculateSize).addChangeListener(minimizedListener); - addChild(viewPort.setComponentPosition(0F, 7.5F), new ComponentConstrains(null, null, Constraints.createConditionalParent(verticalBar::isInUse, 0F, 5F), Constraints.createConditionalParent(horizontalBar::isInUse, 7.5F, 12.5F))); + addChild(viewPort.set(0F, 7.5F), new ComponentConstrains(null, null, Constraints.createConditionalParent(verticalBar::isInUse, 0F, 5F), Constraints.createConditionalParent(horizontalBar::isInUse, 7.5F, 12.5F))); } public T addComponent(T comp) @@ -61,7 +61,7 @@ public class ScrollWindowComponent extends WindowComponent { addConstrains(horizontalBar, Constraints.getScrollbarConstraints(isFlagSet(FLAG_CORNER) ? () -> true : verticalBar::isInUse, true, 5F)); addConstrains(verticalBar, Constraints.getVerticalScrollbar(isFlagSet(FLAG_CORNER) ? () -> true : horizontalBar::isInUse, 7.5F, 5F)); - onComponentChanged(false); + onChanged(false); } return this; } @@ -78,16 +78,16 @@ public class ScrollWindowComponent extends WindowComponent } horizontalBar.setScrollMax((int)maxX); verticalBar.setScrollMax((int)maxY); - horizontalBar.onComponentChanged(true); - verticalBar.onComponentChanged(true); - owner.setComponentBounds(maxX, maxY).setComponentPosition(-horizontalBar.getScroll(), -verticalBar.getScroll()); + horizontalBar.onChanged(true); + verticalBar.onChanged(true); + owner.bounds(maxX, maxY).set(-horizontalBar.getScroll(), -verticalBar.getScroll()); } @Override protected boolean updateSelf(int mouseX, int mouseY, float particalTicks) { super.updateSelf(mouseX, mouseY, particalTicks); - container.setComponentPosition(-horizontalBar.getScroll(), -verticalBar.getScroll()); + container.set(-horizontalBar.getScroll(), -verticalBar.getScroll()); return true; } @@ -100,7 +100,7 @@ public class ScrollWindowComponent extends WindowComponent { enableScissors(viewPort.getBox()); getRenderer().translate(0F, 0F, 0.1F); - container.onRender(mouseX, mouseY, particalTicks); + container.render(mouseX, mouseY, particalTicks); getRenderer().translate(0F, 0F, -0.1F); disableScissors(); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/SelectionComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/SelectionComponent.java index 0c2469f..9f53b12 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/SelectionComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/SelectionComponent.java @@ -6,7 +6,6 @@ import java.util.function.Consumer; import org.lwjgl.opengl.GL11; import speiger.src.collections.ints.collections.IntCollection; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.math.value.IValue; import speiger.src.coreengine.math.value.LiniarValue; import speiger.src.coreengine.rendering.gui.GuiComponent; @@ -25,16 +24,16 @@ import speiger.src.coreengine.rendering.tesselation.VertexType; public class SelectionComponent extends GuiComponent implements IButtonComponent, Consumer { public static final int FLAG_ANIMATE = 1 << 20; - ListComponent list = new ListComponent().setComponentBounds(0F, 120F).setManualRenderer(true).setIgnoreBounds(true).cast(); - TextComponent text = new TextComponent().setAlignment(Align.LEFT_TOP, Align.CENTER).setTextScale(0.85F).setManualRenderer(true).cast(); + ListComponent list = new ListComponent().bounds(0F, 120F).setManualRenderer(true).setIgnoreBounds(true).cast(); + TextComponent text = new TextComponent().align(Align.LEFT_TOP, Align.CENTER).setTextScale(0.85F).setManualRenderer(true).cast(); RenderBuffer buffer; - ColorObject color; + int color; boolean isOpen = false; int selectedIndex = -1; int defaultIndex = -1; IValue animation = null; - public SelectionComponent(ColorObject color) + public SelectionComponent(int color) { super(0F, 0F, 0F, 0F); this.color = color; @@ -42,7 +41,7 @@ public class SelectionComponent extends GuiComponent implements IButtonComponent list.setColor(color); } - public SelectionComponent(ColorObject color, Collection collection) + public SelectionComponent(int color, Collection collection) { super(0F, 0F, 0F, 0F); this.color = color; @@ -51,7 +50,7 @@ public class SelectionComponent extends GuiComponent implements IButtonComponent addEntries(collection); } - public SelectionComponent(float x, float y, float width, float height, ColorObject color) + public SelectionComponent(float x, float y, float width, float height, int color) { super(x, y, width, height); this.color = color; @@ -59,7 +58,7 @@ public class SelectionComponent extends GuiComponent implements IButtonComponent list.setColor(color); } - public SelectionComponent(float x, float y, float width, float height, ColorObject color, Collection collection) + public SelectionComponent(float x, float y, float width, float height, int color, Collection collection) { super(x, y, width, height); this.color = color; @@ -71,7 +70,7 @@ public class SelectionComponent extends GuiComponent implements IButtonComponent @Override public void init() { - list.setEntryHeight(getGui().getFont().getFontHeight()).addUserActionListener(this); + list.setEntryHeight(getGui().getFont().height()).addUserActionListener(this); addChild(text, Constraints.getParentConstrains(21F, 0F, 10.5F, 0F)); addChild(list, new ComponentConstrains(new ParentConstrain(), new ParentConstrain().invert(), new ParentConstrain(), null)); addCloseListener(buffer = getRenderer().createBuffer()); @@ -107,7 +106,7 @@ public class SelectionComponent extends GuiComponent implements IButtonComponent public SelectionComponent addEntry(String s) { - list.addEntry(new SelectionEntry(s)); + list.add(new SelectionEntry(s)); return this; } @@ -115,7 +114,7 @@ public class SelectionComponent extends GuiComponent implements IButtonComponent { for(String s : collection) { - list.addEntry(new SelectionEntry(s)); + list.add(new SelectionEntry(s)); } return this; } @@ -247,18 +246,18 @@ public class SelectionComponent extends GuiComponent implements IButtonComponent render.setBrightness(brightness * 0.7F).drawQuad(box.getMinX(), box.getMinY(), box.getMinX(20F), box.getMaxY(), 0.001F, color); render.setFastTransform(false).setBrightness(brightness).translate(minX, minY, 0.02F + currentZ); render.scale(box.getScale()).rotateZ(rotation).drawBuffers(buffer, 0, 0).resetTransform().setFastTransform(true).translate(0F, 0F, 0.01F).setBrightness(1F); - text.onRender(mouseX, mouseY, particalTicks); + text.render(mouseX, mouseY, particalTicks); if(animation != null) { float progress = animation.get() / 90F; box = list.getBox(); enableScissors(box.getMinX(), box.getMinY(), box.getWidth(), box.getHeight() * progress); - list.onRender(mouseX, mouseY, particalTicks); + list.render(mouseX, mouseY, particalTicks); disableScissors(); } else if(isOpen) { - list.onRender(mouseX, mouseY, particalTicks); + list.render(mouseX, mouseY, particalTicks); } return true; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/SliderComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/SliderComponent.java index f33132c..d4a47b3 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/SliderComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/SliderComponent.java @@ -3,7 +3,6 @@ package speiger.src.coreengine.rendering.gui.components; import java.util.function.IntFunction; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.math.misc.Facing; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; @@ -14,7 +13,7 @@ import speiger.src.coreengine.rendering.gui.renderer.buffer.RenderBuffer; public class SliderComponent extends GuiComponent implements IButtonComponent { TextComponent text = new TextComponent(); - protected ColorObject color; + protected int color; protected boolean vertical = false; protected int min; @@ -24,12 +23,12 @@ public class SliderComponent extends GuiComponent implements IButtonComponent IntFunction textBuilder; protected RenderBuffer buffer; - public SliderComponent(int min, int max, int value, ColorObject color, IntFunction textBuilder) + public SliderComponent(int min, int max, int value, int color, IntFunction textBuilder) { this(0F, 0F, 0F, 0F, min, max, value, color, textBuilder); } - public SliderComponent(float x, float y, float width, float height, int min, int max, int value, ColorObject color, IntFunction textBuilder) + public SliderComponent(float x, float y, float width, float height, int min, int max, int value, int color, IntFunction textBuilder) { super(x, y, width, height); this.min = min; @@ -80,7 +79,7 @@ public class SliderComponent extends GuiComponent implements IButtonComponent return this; } - public SliderComponent setColor(ColorObject color) + public SliderComponent setColor(int color) { if(this.color != color) { diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/TabbedWindowComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/TabbedWindowComponent.java new file mode 100644 index 0000000..90857e0 --- /dev/null +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/TabbedWindowComponent.java @@ -0,0 +1,59 @@ +package speiger.src.coreengine.rendering.gui.components; + +import speiger.src.coreengine.rendering.gui.GuiComponent; +import speiger.src.coreengine.rendering.gui.helper.Align; +import speiger.src.coreengine.rendering.gui.helper.constrains.Constraints; +import speiger.src.coreengine.rendering.gui.helper.constrains.ParentConstrain; + +public class TabbedWindowComponent extends WindowComponent +{ + + public TabbedWindowComponent(float x, float y, float width, float height) + { + super(x, y, width, height, DEFAULT_FLAGS, "Test"); + } + + @Override + public void init() + { + super.init(); + addChild(new Tab("Testing My theory with the full lenght text"), null, null, new ParentConstrain(), null); + } + + public static class Tab extends GuiComponent + { + String name; + boolean closeable; + TextComponent comp; + + public Tab(String name) + { + super(0F, 7F, 100F, 10F); + this.name = name; + comp = new TextComponent(name).setTextScale(0.4F).singleLine(true).horizontal(Align.LEFT_TOP); + } + + @Override + public void init() + { + addChild(comp, Constraints.getParentConstrains()); + } + + @Override + protected void repaint() + { + String s = name; + float scale = comp.getTextScale(); + float width = getFont().width(s)*scale; + float desiredWidth = getBox().getBaseWidth(); + if(width > desiredWidth) { + while(getFont().width(s+"...") * scale > desiredWidth) { + s = s.substring(0, s.length()-1); + } + comp.setText(s+"..."); + return; + } + comp.setText(s); + } + } +} \ No newline at end of file diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextCheckBoxComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextCheckBoxComponent.java index ad0042c..76197b4 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextCheckBoxComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextCheckBoxComponent.java @@ -1,6 +1,5 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.helper.constrains.ComponentConstrains; import speiger.src.coreengine.rendering.gui.helper.constrains.ParentConstrain; import speiger.src.coreengine.rendering.gui.helper.constrains.PixelConstrain; @@ -8,27 +7,27 @@ import speiger.src.coreengine.rendering.gui.helper.constrains.TextConstrain; public class TextCheckBoxComponent extends CheckBoxComponent { - TextComponent text = new TextComponent().setForcedSingleLine(true).setLimitedBounds(false).setTextScale(0.35F); + TextComponent text = new TextComponent().singleLine(true).limit(false).setTextScale(0.35F); - public TextCheckBoxComponent(ColorObject color, String text) + public TextCheckBoxComponent(int color, String text) { super(color); this.text.setText(text); } - public TextCheckBoxComponent(ColorObject color, String text, boolean checked) + public TextCheckBoxComponent(int color, String text, boolean checked) { super(color, checked); this.text.setText(text); } - public TextCheckBoxComponent(float x, float y, float width, float height, ColorObject color, String text) + public TextCheckBoxComponent(float x, float y, float width, float height, int color, String text) { super(x, y, width, height, color); this.text.setText(text); } - public TextCheckBoxComponent(float x, float y, float width, float height, ColorObject color, String text, boolean checked) + public TextCheckBoxComponent(float x, float y, float width, float height, int color, String text, boolean checked) { super(x, y, width, height, color, checked); this.text.setText(text); diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextComponent.java index 66c53d4..56e50c9 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextComponent.java @@ -1,6 +1,6 @@ package speiger.src.coreengine.rendering.gui.components; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.helper.Align; import speiger.src.coreengine.rendering.gui.helper.box.IGuiBox; @@ -24,8 +24,8 @@ public class TextComponent extends GuiComponent String text = ""; Align vertical = Align.CENTER; Align horizontal = Align.CENTER; - ColorObject textColor = ColorObject.WHITE.copy(); - ColorObject backGroundColor = null; + int textColor = ColorUtils.WHITE; + Integer backGroundColor = null; float italic = 0F; float textScale = 1F; RenderBuffer buffer; @@ -122,7 +122,7 @@ public class TextComponent extends GuiComponent if(this.textScale != textScale) { this.textScale = textScale; - onComponentChanged(true); + onChanged(true); } return this; } @@ -202,16 +202,17 @@ public class TextComponent extends GuiComponent return isFlagSet(FLAG_SINGLE_LINE); } - public final ColorObject getTextColor() + public final int getTextColor() { return textColor; } - public final ColorObject getBackgroundColor() + public final Integer getBackgroundColor() { return backGroundColor; } + @Override public FontRenderer getFont() { return font; @@ -247,123 +248,123 @@ public class TextComponent extends GuiComponent return horizontal; } - public final TextComponent setBold(boolean value) + public final TextComponent bold(boolean value) { if(setFlag(FLAG_BOLD, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setStrikeThrough(boolean value) + public final TextComponent strikethrough(boolean value) { if(!setFlag(FLAG_STRIKE_THROUGH, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setUnderlined(boolean value) + public final TextComponent underline(boolean value) { if(!setFlag(FLAG_UNDERLINE, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setFlipped(boolean value) + public final TextComponent flipped(boolean value) { if(!setFlag(FLAG_FLIPPED, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setSpecialRendering(boolean value) + public final TextComponent special(boolean value) { if(!setFlag(FLAG_FORMATTING, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setLimitedBounds(boolean value) + public final TextComponent limit(boolean value) { if(!setFlag(FLAG_LIMITED_HEIGHT | FLAG_LIMITED_WIDTH, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setLimitedWidth(boolean value) + public final TextComponent limitWidth(boolean value) { if(!setFlag(FLAG_LIMITED_WIDTH, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setLimitedHeight(boolean value) + public final TextComponent limitHeight(boolean value) { if(!setFlag(FLAG_LIMITED_HEIGHT, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setAutoScaling(boolean value) + public final TextComponent autoScale(boolean value) { if(!setFlag(FLAG_AUTO_SCALE, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setForcedSingleLine(boolean value) + public final TextComponent singleLine(boolean value) { if(!setFlag(FLAG_SINGLE_LINE, value)) { return this; } - onComponentChanged(true); + onChanged(true); return this; } - public final TextComponent setItalic(boolean value) + public final TextComponent italic(boolean value) { - return setItalic(value ? 3F : 0F); + return italic(value ? 3F : 0F); } - public final TextComponent setItalic(float value) + public final TextComponent italic(float value) { if(italic == value) { return this; } italic = value; - onComponentChanged(true); + onChanged(true); return this; } - public TextComponent setAlignment(Align horizontal, Align vertical) + public TextComponent align(Align horizontal, Align vertical) { if(this.horizontal == horizontal && this.vertical == vertical) { @@ -371,29 +372,29 @@ public class TextComponent extends GuiComponent } this.horizontal = horizontal; this.vertical = vertical; - onComponentChanged(true); + onChanged(true); return this; } - public TextComponent setHorizontalAlignment(Align horizontal) + public TextComponent horizontal(Align horizontal) { if(this.horizontal == horizontal) { return this; } this.horizontal = horizontal; - onComponentChanged(true); + onChanged(true); return this; } - public TextComponent setVerticalAlignment(Align vertical) + public TextComponent vertical(Align vertical) { if(this.vertical == vertical) { return this; } this.vertical = vertical; - onComponentChanged(true); + onChanged(true); return this; } @@ -408,29 +409,29 @@ public class TextComponent extends GuiComponent return this; } this.text = text; - onComponentChanged(true); + onChanged(true); return this; } - public TextComponent setTextColor(ColorObject color) + public TextComponent textColor(int color) { if(textColor == color) { return this; } textColor = color; - onComponentChanged(true); + onChanged(true); return this; } - public TextComponent setBackgroundColor(ColorObject color) + public TextComponent backgroundColor(int color) { if(backGroundColor == color) { return this; } backGroundColor = color; - onComponentChanged(true); + onChanged(true); return this; } @@ -441,7 +442,7 @@ public class TextComponent extends GuiComponent return this; } this.font = font; - onComponentChanged(true); + onChanged(true); return this; } } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextFieldComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextFieldComponent.java index b4814e6..2656894 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextFieldComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextFieldComponent.java @@ -5,7 +5,6 @@ import java.util.function.Predicate; import org.lwjgl.glfw.GLFW; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; import speiger.src.coreengine.rendering.gui.base.IKeyComponent; @@ -33,8 +32,8 @@ public class TextFieldComponent extends GuiComponent public static final int FLAG_INFINITE_WIDTH = 1 << 23; public static final int FLAG_AUTO_VALIDATE = 1 << 24; - TextComponent text = new TextComponent().setHorizontalAlignment(Align.LEFT_TOP).setForcedSingleLine(true).setSpecialRendering(false).cast(); - ColorObject color; + TextComponent text = new TextComponent().horizontal(Align.LEFT_TOP).singleLine(true).special(false).cast(); + int color; int curserPosition = 0; int selectionPosition = 0; long lastClickTime = 0; @@ -45,14 +44,14 @@ public class TextFieldComponent extends GuiComponent int largestPos = 0; IGuiBox viewPort = new ParentBox(1F); - public TextFieldComponent(ColorObject color) + public TextFieldComponent(int color) { super(0F, 0F, 0F, 0F); setFlag(FLAG_CAN_LOSE_FOCUS); this.color = color; } - public TextFieldComponent(float x, float y, float width, float height, ColorObject color) + public TextFieldComponent(float x, float y, float width, float height, int color) { super(x, y, width, height); setFlag(FLAG_CAN_LOSE_FOCUS); @@ -69,7 +68,7 @@ public class TextFieldComponent extends GuiComponent String s = text.getText(); float scale = text.getTextScale(); float width = text.getBox().getWidth(); - while(text.getFont().getTextLength(s) * scale > width && s.length() > 0) + while(text.getFont().width(s) * scale > width && s.length() > 0) { s = s.substring(0, s.length() - 1); } @@ -112,7 +111,7 @@ public class TextFieldComponent extends GuiComponent return this; } - public TextFieldComponent setColor(ColorObject color) + public TextFieldComponent setColor(int color) { this.color = color; return this; @@ -122,7 +121,7 @@ public class TextFieldComponent extends GuiComponent { if(setFlag(FLAG_INFINITE_WIDTH, value)) { - text.setLimitedBounds(!value); + text.limit(!value); if(getGui() != null) { addConstrains(text, createConstraints()); @@ -162,7 +161,7 @@ public class TextFieldComponent extends GuiComponent { float scale = text.getTextScale(); float width = text.getBox().getWidth(); - while(text.getFont().getTextLength(s) * scale > width) + while(text.getFont().width(s) * scale > width) { s = s.substring(0, s.length() - 1); } @@ -672,7 +671,7 @@ public class TextFieldComponent extends GuiComponent lineOffset = text.length(); } - String s = text.getFont().trimStringToWidth(text.getText(lineOffset), text.getWidth()); + String s = text.getFont().trimToWidth(text.getText(lineOffset), text.getWidth()); int k = s.length() + lineOffset; if(curserPosition > k) { @@ -690,7 +689,7 @@ public class TextFieldComponent extends GuiComponent lineOffset = MathUtils.clamp(0, text.length(), lineOffset); if(lastLine != lineOffset) { - text.onComponentChanged(false); + text.onChanged(false); } } } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextPanelComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextPanelComponent.java index 38f74e9..776e168 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/TextPanelComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/TextPanelComponent.java @@ -4,7 +4,6 @@ import java.util.function.Predicate; import org.lwjgl.glfw.GLFW; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.math.vector.ints.Vec2i; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.base.IButtonComponent; @@ -26,8 +25,8 @@ public class TextPanelComponent extends GuiComponent implements IButtonComponent public static final int FLAG_FOCUS = 1024; public static final int FLAG_CAN_LOSE_FOCUS = 2048; - TextComponent text = new TextComponent().setAlignment(Align.LEFT_TOP, Align.LEFT_TOP).setForcedSingleLine(true).setSpecialRendering(false).cast(); - ColorObject color; + TextComponent text = new TextComponent().align(Align.LEFT_TOP, Align.LEFT_TOP).singleLine(true).special(false).cast(); + int color; int curserPosition = 0; Vec2i curserPos = Vec2i.newMutable(); int selectionPosition = 0; @@ -37,13 +36,13 @@ public class TextPanelComponent extends GuiComponent implements IButtonComponent int clickCount = 0; Predicate validator = Functions.getAlwaysTrue(); - public TextPanelComponent(ColorObject color) + public TextPanelComponent(int color) { super(0F, 0F, 0F, 0F); this.color = color; } - public TextPanelComponent(float x, float y, float width, float height, ColorObject color) + public TextPanelComponent(float x, float y, float width, float height, int color) { super(x, y, width, height); this.color = color; @@ -67,7 +66,7 @@ public class TextPanelComponent extends GuiComponent implements IButtonComponent return this; } - public TextPanelComponent setColor(ColorObject color) + public TextPanelComponent setColor(int color) { this.color = color; return this; @@ -102,7 +101,7 @@ public class TextPanelComponent extends GuiComponent implements IButtonComponent } float height = text.getBox().getHeight(); float scale = text.getTextScale(); - while(s.length() > 0 && text.getFont().getTextHeight(s) * scale > height) + while(s.length() > 0 && text.getFont().height(s) * scale > height) { s = s.substring(0, s.length() - 1); } @@ -132,7 +131,7 @@ public class TextPanelComponent extends GuiComponent implements IButtonComponent if(isFlagSet(FLAG_FOCUS) && (getGlobalClock() / 15) % 2L == 0) { TextMetadata data = text.getMetadata(); - float height = text.getFont().getFontHeight() * text.getTextScale(); + float height = text.getFont().height() * text.getTextScale(); if(hasSelectedText()) { if(selectionPos.getY() == curserPos.getY()) diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/TooltipPanel.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/TooltipPanel.java index fc4b8d8..0ddac8f 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/TooltipPanel.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/TooltipPanel.java @@ -4,10 +4,11 @@ import java.util.List; import java.util.UUID; import speiger.src.collections.objects.lists.ObjectArrayList; +import speiger.src.collections.objects.lists.ObjectList; import speiger.src.collections.objects.maps.impl.hash.Object2ObjectLinkedOpenHashMap; import speiger.src.collections.objects.maps.interfaces.Object2ObjectMap; import speiger.src.collections.objects.utils.maps.Object2ObjectMaps; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.helper.box.IGuiBox; import speiger.src.coreengine.rendering.gui.helper.box.ParentBox; @@ -17,11 +18,11 @@ import speiger.src.coreengine.rendering.gui.helper.constrains.ParentConstrain; public class TooltipPanel extends PanelComponent { - List helperList = new ObjectArrayList<>(); + ObjectList helperList = new ObjectArrayList<>(); List indexedComponents = new ObjectArrayList<>(); Object2ObjectMap renderedTooltips = new Object2ObjectLinkedOpenHashMap<>(); - ColorObject color = ColorObject.BLACK; - ColorObject borderColor = ColorObject.DARK_GRAY; + int color = ColorUtils.BLACK; + int borderColor = ColorUtils.DARK_GRAY; IGuiBox box = new ParentBox(1.2F); @Override @@ -62,7 +63,7 @@ public class TooltipPanel extends PanelComponent { if(child.isVisible()) child.calculateActualBounds(data, false); } - setComponentBounds(data[2]-data[0] + 6.4F, data[3]-data[1] + 2.5F); + bounds(data[2]-data[0] + 6.4F, data[3]-data[1] + 2.5F); } @Override diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/TreeComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/TreeComponent.java index 3020a7a..2da7534 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/TreeComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/TreeComponent.java @@ -10,7 +10,7 @@ import speiger.src.collections.objects.lists.ObjectArrayList; import speiger.src.collections.objects.sets.ObjectOpenHashSet; import speiger.src.collections.objects.sets.ObjectSet; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.math.misc.Facing; import speiger.src.coreengine.math.vector.ints.Vec2i; import speiger.src.coreengine.rendering.gui.GuiComponent; @@ -37,12 +37,12 @@ public class TreeComponent extends GuiComponent implements public static final int FLAG_NO_BACKGROUND = 1 << 20; - ScrollBarComponent verticalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY); - ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorObject.LIGHT_GRAY).setHorizontal(true); + ScrollBarComponent verticalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY); + ScrollBarComponent horizontalBar = new ScrollBarComponent(ColorUtils.LIGHT_GRAY).setHorizontal(true); - ColorObject color; - ColorObject selectedColor; - ColorObject hoverColor = ColorObject.LIGHT_GRAY; + int color; + int selectedColor; + int hoverColor = ColorUtils.LIGHT_GRAY; int hoverIndex = -1; int dragIndex = -1; int movement; @@ -59,7 +59,7 @@ public class TreeComponent extends GuiComponent implements List visibleNodes = new ObjectArrayList(); RenderBuffer buffer; - public TreeComponent(ColorObject color, float entryHeight) + public TreeComponent(int color, float entryHeight) { super(0F, 0F, 0F, 0F); this.entryHeight = entryHeight; @@ -67,7 +67,7 @@ public class TreeComponent extends GuiComponent implements this.selectedColor = color; } - public TreeComponent(ColorObject color, float entryHeight, T entry) + public TreeComponent(int color, float entryHeight, T entry) { super(0F, 0F, 0F, 0F); this.entryHeight = entryHeight; @@ -81,7 +81,7 @@ public class TreeComponent extends GuiComponent implements } } - public TreeComponent(float x, float y, float width, float height, ColorObject color, float entryHeight, T entry) + public TreeComponent(float x, float y, float width, float height, int color, float entryHeight, T entry) { super(x, y, width, height); this.entryHeight = entryHeight; @@ -110,23 +110,23 @@ public class TreeComponent extends GuiComponent implements createArrow(); } - public TreeComponent setColor(ColorObject color) + public TreeComponent setColor(int color) { if(this.color != color) { this.color = color; - onComponentChanged(true); + onChanged(true); } return this; } - public TreeComponent setHoverColor(ColorObject color) + public TreeComponent setHoverColor(int color) { hoverColor = color; return this; } - public TreeComponent setSelectionColor(ColorObject color) + public TreeComponent setSelectionColor(int color) { selectedColor = color; return this; @@ -137,7 +137,7 @@ public class TreeComponent extends GuiComponent implements if(this.entryHeight != entryHeight) { this.entryHeight = entryHeight; - onComponentChanged(true); + onChanged(true); } return this; } @@ -206,7 +206,7 @@ public class TreeComponent extends GuiComponent implements listChange = true; openNodes.clear(); selectedNodes.clear(); - onComponentChanged(true); + onChanged(true); return this; } @@ -372,8 +372,8 @@ public class TreeComponent extends GuiComponent implements } verticalBar.setScrollMax(MathUtils.ceil(visibleNodes.size() * entryHeight)); horizontalBar.setScrollMax((int)(width / getBox().getScale())); - horizontalBar.onComponentChanged(true); - verticalBar.onComponentChanged(true); + horizontalBar.onChanged(true); + verticalBar.onChanged(true); } @Override diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java index 104cbcc..4681fda 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java @@ -3,7 +3,7 @@ package speiger.src.coreengine.rendering.gui.components; import java.util.function.Consumer; import java.util.function.ObjIntConsumer; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.math.misc.Facing; import speiger.src.coreengine.math.misc.FacingList; import speiger.src.coreengine.math.value.IValue; @@ -48,7 +48,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, final int flags; FacingList facing = null; String name; - ColorObject color = ColorObject.WINDOW_DEFAULT_BACKGROUND; + int color = ColorUtils.WINDOW_DEFAULT_BACKGROUND; Vec2f lastSize = Vec2f.newMutable(); Vec2i lastClick = Vec2i.newMutable(); IValue animation = null; @@ -69,18 +69,18 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, public void init() { super.init(); - LabelComponent label = new LabelComponent(name, ColorObject.DARK_GRAY); - label.getText().setTextScale(0.4F).setHorizontalAlignment(Align.LEFT_TOP).setForcedSingleLine(true); + LabelComponent label = new LabelComponent(name, ColorUtils.DARK_GRAY); + label.getText().setTextScale(0.4F).horizontal(Align.LEFT_TOP).singleLine(true); addChild(label, new ComponentConstrains(null, null, new ParentConstrain(), new PixelConstrain(7.5F))); float offset = 9F; if((flags & WINDOW_FLAG_CLOSEABLE) != 0) { - addChild(new IconButtonComponent(0F, 0F, 7.5F, 7.5F, ColorObject.RED, new CrossIcon(ColorObject.WHITE).setPadding(2.5F, 2F)).addUserActionListener(new ConsumerConverter(0, this)).setZOffset(0.001F), new ComponentConstrains(new PixelConstrain(offset).setInverted(), null, null, null)); + addChild(new IconButtonComponent(0F, 0F, 7.5F, 7.5F, ColorUtils.RED, new CrossIcon(ColorUtils.WHITE).setPadding(2.5F, 2F)).addUserActionListener(new ConsumerConverter<>(0, this)).setZOffset(0.001F), new ComponentConstrains(new PixelConstrain(offset).setInverted(), null, null, null)); offset += 7.5F; } if((flags & WINDOW_FLAG_MINIMIZEABLE) != 0) { - addChild(new IconButtonComponent(0F, 0F, 7.5F, 7.5F, ColorObject.GRAY, new LineIcon(ColorObject.WHITE, 0.7F, 0.25F)).addUserActionListener(new ConsumerConverter(1, this)).setZOffset(0.001F), new ComponentConstrains(new PixelConstrain(offset).setInverted(), null, null, null)); + addChild(new IconButtonComponent(0F, 0F, 7.5F, 7.5F, ColorUtils.GRAY, new LineIcon(ColorUtils.WHITE, 0.7F, 0.25F)).addUserActionListener(new ConsumerConverter<>(1, this)).setZOffset(0.001F), new ComponentConstrains(new PixelConstrain(offset).setInverted(), null, null, null)); } if(canMoveIntoForground()) { @@ -92,7 +92,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, { if(setFlag(FLAG_MINIMIZED, value)) { - onComponentChanged(false); + onChanged(false); } } @@ -103,12 +103,12 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, if(value) { Vec2f last = InternalThreadPools.VEC2F.get().set(lastSize); - setComponentBounds(last.getX(), isFlagSet(FLAG_MINIMIZED) ? getMinimizedY() : last.getY()); + bounds(last.getX(), isFlagSet(FLAG_MINIMIZED) ? getMinimizedY() : last.getY()); lastSize.set(last); InternalThreadPools.VEC2F.accept(last.negate()); } - else setComponentBounds(lastSize.getX(), lastSize.getY()); - onComponentChanged(false); + else bounds(lastSize.getX(), lastSize.getY()); + onChanged(false); } return this; } @@ -128,7 +128,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, return 7.5F; } - public WindowComponent setColor(ColorObject color) + public WindowComponent setColor(int color) { this.color = color; return this; @@ -176,7 +176,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, updateMinizedState(true); } Vec2f last = InternalThreadPools.VEC2F.get().set(lastSize); - setComponentBounds(last.getX(), isFlagSet(FLAG_MINIMIZED) ? getMinimizedY() : last.getY()); + bounds(last.getX(), isFlagSet(FLAG_MINIMIZED) ? getMinimizedY() : last.getY()); lastSize.set(last); InternalThreadPools.VEC2F.accept(last.negate()); animation = null; @@ -201,7 +201,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, } @Override - protected void onPreRender() + protected void preRender() { if(animation != null) { @@ -218,7 +218,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, } @Override - protected void onPostRender() + protected void postRender() { if(animation != null) { @@ -242,7 +242,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, animation = (isMinimized() ? new LiniarValue(1F, 0F, 1F) : new LiniarValue(1F, 1F, 0F)).setSmooth(); if(isMinimized()) { - setComponentBounds(lastSize.getX(), lastSize.getY()); + bounds(lastSize.getX(), lastSize.getY()); } updateMinizedState(false); break; @@ -276,7 +276,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, { if(facing.isEmpty() && isFlagSet(FLAG_MOVEABLE)) { - moveComponent(mouseX - lastClick.getX(), mouseY - lastClick.getY()); + move(mouseX - lastClick.getX(), mouseY - lastClick.getY()); } else if(!facing.isEmpty() && isFlagSet(FLAG_RESIZEABLE)) { @@ -291,27 +291,27 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, setMassChanging(); if(facing.contains(Facing.NORTH) && isFlagNotSet(FLAG_MINIMIZED)) { - resizeComponent(0F, -(yChange / scale)); - moveComponent(0F, yChange); + resize(0F, -(yChange / scale)); + move(0F, yChange); } else if(facing.contains(Facing.SOUTH) && isFlagNotSet(FLAG_MINIMIZED)) { - resizeComponent(0F, yChange / scale); + resize(0F, yChange / scale); } if(facing.contains(Facing.WEST)) { - resizeComponent(-(xChange / scale) - 1F, 0F); - moveComponent(xChange, 0F); + resize(-(xChange / scale) - 1F, 0F); + move(xChange, 0F); } else if(facing.contains(Facing.EAST)) { - resizeComponent(xChange / scale, 0F); + resize(xChange / scale, 0F); } ensureMinimumBounds(); finishMassChanging(); if(xChange > 0F || yChange > 0F) { - onComponentChanged(true); + onChanged(true); } } lastClick.set(mouseX, mouseY); @@ -345,12 +345,12 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, if(box.getBaseWidth() < bounds.getX()) { box.setWidth(bounds.getX()); - onComponentChanged(true); + onChanged(true); } if(box.getBaseHeight() < bounds.getY()) { box.setHeight(bounds.getY()); - onComponentChanged(true); + onChanged(true); } } } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/ArrowIcon.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/ArrowIcon.java index 0edcb5e..5c33332 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/ArrowIcon.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/ArrowIcon.java @@ -1,17 +1,16 @@ package speiger.src.coreengine.rendering.gui.components.icon; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.math.misc.Facing; import speiger.src.coreengine.rendering.gui.helper.UIShapes; import speiger.src.coreengine.rendering.gui.renderer.UIRenderer; public class ArrowIcon implements IIcon { - ColorObject color; + int color; Facing direction; float scale = 1F; - public ArrowIcon(ColorObject color, Facing direction) + public ArrowIcon(int color, Facing direction) { this.color = color; this.direction = direction; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/CrossIcon.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/CrossIcon.java index adae352..77d21b8 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/CrossIcon.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/CrossIcon.java @@ -1,16 +1,15 @@ package speiger.src.coreengine.rendering.gui.components.icon; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.helper.UIShapes; import speiger.src.coreengine.rendering.gui.renderer.UIRenderer; public class CrossIcon implements IIcon { - ColorObject color; + int color; float paddingX = 4F; float paddingY = 2F; - public CrossIcon(ColorObject color) + public CrossIcon(int color) { this.color = color; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/LineIcon.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/LineIcon.java index 511f4c5..d27053d 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/LineIcon.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/LineIcon.java @@ -1,16 +1,15 @@ package speiger.src.coreengine.rendering.gui.components.icon; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.renderer.UIRenderer; public class LineIcon implements IIcon { - ColorObject color; + int color; float height; float padding; float thickness = 1F; - public LineIcon(ColorObject color, float height, float padding) + public LineIcon(int color, float height, float padding) { this.color = color; this.height = height; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/TexturedIcon.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/TexturedIcon.java index 8b0763b..ef30ea6 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/TexturedIcon.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/icon/TexturedIcon.java @@ -1,12 +1,12 @@ package speiger.src.coreengine.rendering.gui.components.icon; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.renderer.UIRenderer; import speiger.src.coreengine.rendering.textures.base.ITexture; public class TexturedIcon implements IIcon { - ColorObject color = ColorObject.WHITE; + int color = ColorUtils.WHITE; ITexture texture; boolean forceBounds = false; @@ -15,7 +15,7 @@ public class TexturedIcon implements IIcon this.texture = texture; } - public TexturedIcon(ColorObject color, ITexture texture) + public TexturedIcon(int color, ITexture texture) { this.color = color; this.texture = texture; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/FlowLayout.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/FlowLayout.java index dd6e2a4..9eda84b 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/FlowLayout.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/FlowLayout.java @@ -45,7 +45,7 @@ public class FlowLayout implements Consumer widthUsed = 0F; yInserted++; } - component.setComponentPosition(minX + widthUsed + padding.getX(), minY + maxHeight + (padding.getY() * yInserted)); + component.set(minX + widthUsed + padding.getX(), minY + maxHeight + (padding.getY() * yInserted)); heightOffset = Math.max(heightOffset, bounds[3] - bounds[1]); widthUsed += width + padding.getX(); xInserted++; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/VerticalLayout.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/VerticalLayout.java index eceb030..27a2cc9 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/VerticalLayout.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/layouts/VerticalLayout.java @@ -71,13 +71,13 @@ public class VerticalLayout implements Consumer float[] bounds = new float[4]; component.calculateActualBounds(bounds, true); float height = (bounds[3] - bounds[1]) + padding; - component.setComponentPosition(minX, minY + currentY); + component.set(minX, minY + currentY); currentY += height; component.finishMassChanging(true); } if(parent != null) { - parent.onComponentChanged(false); + parent.onChanged(false); } changing = false; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseListEntry.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseListEntry.java index 8ac77b8..56312e4 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseListEntry.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseListEntry.java @@ -72,7 +72,7 @@ public abstract class BaseListEntry implements IListEntry { for(int i = 0;i menuItems = new ObjectArrayList(); float scale = 1F; - public MenuBarComponent(ColorObject color) + public MenuBarComponent(int color) { super(0F, 0F, 0F, 0F); this.color = color; } - public MenuBarComponent(float x, float y, float width, float height, ColorObject color) + public MenuBarComponent(float x, float y, float width, float height, int color) { super(x, y, width, height); this.color = color; @@ -78,7 +77,7 @@ public class MenuBarComponent extends GuiComponent addChild(item, new ComponentConstrains(new MenuConstrain(menuItems), new PixelConstrain(), item.createWidthConstriain(), new ParentConstrain())); item.setZOffset(0.3F); item.setTextScale(scale); - item.onComponentChanged(false); + item.onChanged(false); return item; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/menu/MenuComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/menu/MenuComponent.java index 74f07e0..a2b947f 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/menu/MenuComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/menu/MenuComponent.java @@ -4,7 +4,6 @@ import java.util.List; import java.util.function.Consumer; import speiger.src.collections.objects.lists.ObjectArrayList; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.helper.constrains.ComponentConstrains; import speiger.src.coreengine.rendering.gui.helper.constrains.Constrain; @@ -55,7 +54,7 @@ public class MenuComponent extends MenuItemComponent implements Consumer list = new ListComponent<>(ColorObject.DARK_GRAY.copy().setAlpha(120), 8F); + TextFieldComponent chat = new TextFieldComponent(ColorUtils.DARK_GRAY).setCanLoseFocus(false).setInfiniteText(true).setMaxTextLength(Integer.MAX_VALUE).setFocused(true); + ListComponent list = new ListComponent<>(ColorUtils.setA(ColorUtils.DARK_GRAY, 120), 8F); float lastWidth = 0F; List messages = new ObjectArrayList<>(); Consumer listener; @@ -157,9 +157,9 @@ public class ConsoleComponent extends GuiComponent implements IKeyComponent ScrollBarComponent scroll = list.getVerticalBar(); boolean atEnd = scroll.isAtEnd(); float width = (list.getBox().getWidth() -5F) / 0.45F; - for(String s : getGui().getFont().splitLines(text, width, IFontRenderer.SPECIAL)) + for(String s : getGui().getFont().split(text, width, IFontRenderer.SPECIAL)) { - list.addEntry(new MessageEntry(s, messageId)); + list.add(new MessageEntry(s, messageId)); } if(atEnd) scroll.setScrollEnd(); if(add) diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/ProfilerTreeEntry.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/ProfilerTreeEntry.java index ebb9fe9..7c73336 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/ProfilerTreeEntry.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/ProfilerTreeEntry.java @@ -3,7 +3,7 @@ package speiger.src.coreengine.rendering.gui.components.tree; import java.util.Map; import java.util.UUID; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.GuiBase; import speiger.src.coreengine.rendering.gui.GuiComponent; import speiger.src.coreengine.rendering.gui.components.TextComponent; @@ -14,7 +14,7 @@ import speiger.src.coreengine.utils.profiler.IProfiler.IProfilerEntry; public class ProfilerTreeEntry extends BaseTreeEntry { - TextComponent text = new TextComponent().setLimitedBounds(false).setAlignment(Align.LEFT_TOP, Align.LEFT_TOP).setSpecialRendering(true).setTextScale(0.4F).setComponentPosition(0F, 1F).cast(); + TextComponent text = new TextComponent().limit(false).align(Align.LEFT_TOP, Align.LEFT_TOP).special(true).setTextScale(0.4F).set(0F, 1F).cast(); IProfilerEntry entry; public ProfilerTreeEntry(IProfilerEntry entry) @@ -65,7 +65,7 @@ public class ProfilerTreeEntry extends BaseTreeEntry @Override public void onRender(GuiComponent comp, boolean enabled, int mouseX, int mouseY, float particalTicks) { - text.setEnabled(enabled).onRender(mouseX, mouseY, particalTicks); + text.setEnabled(enabled).render(mouseX, mouseY, particalTicks); } @Override @@ -108,17 +108,17 @@ public class ProfilerTreeEntry extends BaseTreeEntry time /= 1000000L; if(time < 1) { - return "§"; + return "§"; } if(time >= 12) { - return "§"; + return "§"; } if(time >= 5) { - return "§"; + return "§"; } - return "§"; + return "§"; } @Override diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/TextTreeEntry.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/TextTreeEntry.java index c8d6cb9..d8c8f15 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/TextTreeEntry.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/tree/TextTreeEntry.java @@ -6,7 +6,7 @@ import speiger.src.coreengine.rendering.gui.helper.Align; public class TextTreeEntry extends BaseTreeEntry { - TextComponent text = addComponent(new TextComponent().setLimitedBounds(false).setAlignment(Align.LEFT_TOP, Align.LEFT_TOP).setSpecialRendering(true).setComponentPosition(0F, 0F).cast()); + TextComponent text = addComponent(new TextComponent().limit(false).align(Align.LEFT_TOP, Align.LEFT_TOP).special(true).set(0F, 0F).cast()); public TextTreeEntry(String s) { diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/color/ColorPickerWindowComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/color/ColorPickerWindowComponent.java index bec8c76..eca809d 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/color/ColorPickerWindowComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/color/ColorPickerWindowComponent.java @@ -1,10 +1,10 @@ package speiger.src.coreengine.rendering.gui.components.window.color; import java.awt.Color; -import java.util.function.Consumer; +import java.util.function.IntConsumer; import speiger.src.coreengine.math.MathUtils; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.math.misc.Facing; import speiger.src.coreengine.math.vector.floats.Vec2f; import speiger.src.coreengine.rendering.gui.UITextures; @@ -25,24 +25,24 @@ import speiger.src.coreengine.utils.helpers.InternalThreadPools; public class ColorPickerWindowComponent extends WindowComponent { - Consumer listener; + IntConsumer listener; IIcon wheelIcon = new TexturedIcon(UITextures.COLOR_WHEEL); IGuiBox wheelBox = new GuiBox(15, 10, 70, 70); IGuiBox selectedBox = new GuiBox(5F, 94F, 50F, 10F); - ColorObject[] colors = new ColorObject[]{ColorObject.rgb(0), ColorObject.rgb(0), ColorObject.rgb(0), ColorObject.rgb(0), ColorObject.rgb(0)}; - SliderComponent brightness = new GradientSliderComponent(95, 13, 17, 76, 0, 100, 0, ColorObject.GRAY, colors[2], colors[3], Facing.NORTH, null).setScrollEffect(-1).setVertical(true); - SliderComponent saturation = new GradientSliderComponent(110, 13, 17, 76, 0, 100, 0, ColorObject.GRAY, colors[0], colors[1], Facing.NORTH, null).setScrollEffect(-1).setVertical(true); - TextFieldComponent code = new TextFieldComponent(60, 94, 104, 20, ColorObject.DARK_GRAY).setValidator(Functions.NUMBERS_ONLY).setMaxTextLength(8); + int[] colors = new int[]{ColorUtils.rgb(0), ColorUtils.rgb(0), ColorUtils.rgb(0), ColorUtils.rgb(0), ColorUtils.rgb(0)}; + SliderComponent brightness = new GradientSliderComponent(95, 13, 17, 76, 0, 100, 0, ColorUtils.GRAY, colors[2], colors[3], Facing.NORTH, null).setScrollEffect(-1).setVertical(true); + SliderComponent saturation = new GradientSliderComponent(110, 13, 17, 76, 0, 100, 0, ColorUtils.GRAY, colors[0], colors[1], Facing.NORTH, null).setScrollEffect(-1).setVertical(true); + TextFieldComponent code = new TextFieldComponent(60, 94, 104, 20, ColorUtils.DARK_GRAY).setValidator(Functions.NUMBERS_ONLY).setMaxTextLength(8); float[] hsv = new float[3]; IGuiBox[] colorBoxes; ColorPool pool; - public ColorPickerWindowComponent(float x, float y, ColorPool pool, ColorObject defaultColor, Consumer listener, String name) + public ColorPickerWindowComponent(float x, float y, ColorPool pool, int defaultColor, IntConsumer listener, String name) { super(x, y, 125, 140, FIXED_SIZE_POPUP, name); this.pool = pool; this.listener = listener; - hsv = defaultColor.toHue(); + hsv = ColorUtils.toHue(defaultColor); colorBoxes = new IGuiBox[Math.min(18, pool.size())]; for(int i = 0,m=colorBoxes.length;i setColor(hsv[0], hsv[1], T.cast(SliderComponent.class).getValue() * 0.01F))); addChild(saturation.addChangeListener(minimizedListener).addUserActionListener(T -> setColor(hsv[0], T.cast(SliderComponent.class).getValue() * 0.01F, hsv[2]))); addChild(code.setScale(0.5F).addChangeListener(minimizedListener).addUserActionListener(T -> onTyped())); - addChild(new ButtonComponent(0F, 0F, 0F, 20F, "Select", ColorObject.GREEN).setScale(0.4F).addUserActionListener(T -> apply()), new ComponentConstrains(null, new ParentConstrain(8F).invert(), new RelativeConstrain(0.5F / 0.4F), null)); - addChild(new ButtonComponent(0F, 0F, 0F, 20F, "Cancel", ColorObject.RED).setScale(0.4F).addUserActionListener(T -> T.getGui().removeComponent(this)), new ComponentConstrains(new RelativeConstrain(0.5F), new ParentConstrain(8F).invert(), new RelativeConstrain(0.5F / 0.4F), null)); + addChild(new ButtonComponent(0F, 0F, 0F, 20F, "Select", ColorUtils.GREEN).setScale(0.4F).addUserActionListener(T -> apply()), new ComponentConstrains(null, new ParentConstrain(8F).invert(), new RelativeConstrain(0.5F / 0.4F), null)); + addChild(new ButtonComponent(0F, 0F, 0F, 20F, "Cancel", ColorUtils.RED).setScale(0.4F).addUserActionListener(T -> T.getGui().removeComponent(this)), new ComponentConstrains(new RelativeConstrain(0.5F), new ParentConstrain(8F).invert(), new RelativeConstrain(0.5F / 0.4F), null)); setColor(hsv[0], hsv[1], hsv[2]); } @@ -76,17 +76,16 @@ public class ColorPickerWindowComponent extends WindowComponent super.renderSelf(mouseX, mouseY, particalTicks); wheelIcon.render(getRenderer().translate(0F, 0F, 0.01F).setBrightness(hsv[1]), wheelBox); getRenderer().setBrightness(1F); - ColorObject color = new ColorObject(0); for(int i = 0,m=colorBoxes.length;i T.setVisible(!isMinimized() && currentEntry != null && currentEntry.getParent() != null)); addChild(extraFeatures[0], new ComponentConstrains(null, new DynamicConstrain(() -> pie.getBox().getBaseHeight() + (-5.5F)), new PixelConstrain(38).setInverted(), null)); @@ -157,18 +157,18 @@ public class PieProfilerWindowComponent extends WindowComponent { ProfilerData data = lastValues.get(i); TextComponent[] info = entries.get(i); - ColorObject color = data.getColor(); - info[0].setMassChanging(TextComponent.class).setTextColor(color).setText("[" + (i + 1) + "] " + data.getName()).finishMassChanging(); - info[1].setMassChanging(TextComponent.class).setTextColor(color).setText(PERCENT_FORMAT.format(data.getEffect()) + "%").finishMassChanging(); - info[2].setMassChanging(TextComponent.class).setTextColor(color).setText(PERCENT_FORMAT.format(data.getTotalEffect()) + "%").finishMassChanging(); + int color = data.getColor(); + info[0].setMassChanging(TextComponent.class).textColor(color).setText("[" + (i + 1) + "] " + data.getName()).finishMassChanging(); + info[1].setMassChanging(TextComponent.class).textColor(color).setText(PERCENT_FORMAT.format(data.getEffect()) + "%").finishMassChanging(); + info[2].setMassChanging(TextComponent.class).textColor(color).setText(PERCENT_FORMAT.format(data.getTotalEffect()) + "%").finishMassChanging(); } if(last != textInUse) { - resizeComponent(0F, (textInUse - last) * 5.5F); + resize(0F, (textInUse - last) * 5.5F); } else if(lastEmpty) { - onComponentChanged(true); + onChanged(true); } return true; } @@ -251,7 +251,7 @@ public class PieProfilerWindowComponent extends WindowComponent } return entries; } - return ObjectLists.singleton(new PieIndex(pie.getMaxSteps(), ColorObject.LIGHT_BLUE)); + return ObjectLists.singleton(new PieIndex(pie.getMaxSteps(), ColorUtils.LIGHT_BLUE)); } protected float calculatePieHeight() @@ -288,7 +288,7 @@ public class PieProfilerWindowComponent extends WindowComponent { final int index = entries.size(); String text = column == 0 ? "[" + (entries.size() + 1) + "] Unknown" : PERCENT_FORMAT.format(0D) + "%"; - TextComponent comp = new TextComponent(0F, 0F, 18F, 5.5F).setTextScale(0.3F).setText(text).setAlignment(column == 0 ? Align.LEFT_TOP : Align.RIGHT_BOTTOM, Align.CENTER); + TextComponent comp = new TextComponent(0F, 0F, 18F, 5.5F).setTextScale(0.3F).setText(text).align(column == 0 ? Align.LEFT_TOP : Align.RIGHT_BOTTOM, Align.CENTER); comp.addChangeListener(T -> T.setVisible(!isMinimized() && index < textInUse)); Constrain xPos = column == 0 ? null : (column == 1 ? new PixelConstrain(38F).setInverted() : new PixelConstrain(19F).setInverted()); addChild(comp, new ComponentConstrains(xPos, new DynamicConstrain(() -> pie.getBox().getBaseHeight() + (index * 5.5F)), column == 0 ? new PixelConstrain(38).setInverted() : null, null)); @@ -297,7 +297,7 @@ public class PieProfilerWindowComponent extends WindowComponent protected ButtonComponent createButton(int index, String name) { - ButtonComponent button = new ButtonComponent(name, ColorObject.GRAY); + ButtonComponent button = new ButtonComponent(name, ColorUtils.GRAY); button.getText().setTextScale(0.3F); button.addChangeListener(minimizedListener).addUserActionListener(T -> setProfiler(getProfiler(index), getRoot(index))); addChild(button, new ComponentConstrains(new RelativeConstrain(index * 0.3333F), new PixelConstrain(8F).setInverted(), new RelativeConstrain(0.3333F), new PixelConstrain(7F))); diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/debug/TreeProfilerWindowComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/debug/TreeProfilerWindowComponent.java index 4c4c450..b183998 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/debug/TreeProfilerWindowComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/debug/TreeProfilerWindowComponent.java @@ -5,7 +5,7 @@ import java.util.function.ObjIntConsumer; import speiger.src.collections.ints.queues.IntArrayFIFOQueue; import speiger.src.collections.ints.queues.IntPriorityQueue; import speiger.src.collections.ints.utils.IntPriorityQueues; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.math.vector.floats.Vec2f; import speiger.src.coreengine.rendering.gui.GuiManager; import speiger.src.coreengine.rendering.gui.components.ButtonComponent; @@ -22,7 +22,7 @@ import speiger.src.coreengine.utils.profiler.IProfiler.IProfilerEntry; public class TreeProfilerWindowComponent extends WindowComponent { IntPriorityQueue todoList = IntPriorityQueues.synchronize(new IntArrayFIFOQueue()); - TreeComponent tree = new TreeComponent(ColorObject.GRAY, 9F).disableBackground(true).setSelectionMode(TreeComponent.SELECTION_MODE_INTERACT); + TreeComponent tree = new TreeComponent(ColorUtils.GRAY, 9F).disableBackground(true).setSelectionMode(TreeComponent.SELECTION_MODE_INTERACT); ButtonComponent[] buttons = new ButtonComponent[3]; ObjIntConsumer listener = (T, V) -> todoList.enqueue(V); IProfiler profiler; @@ -169,7 +169,7 @@ public class TreeProfilerWindowComponent extends WindowComponent protected ButtonComponent createButton(int index, String name) { - ButtonComponent button = new ButtonComponent(name, ColorObject.GRAY); + ButtonComponent button = new ButtonComponent(name, ColorUtils.GRAY); button.getText().setTextScale(0.3F); button.addChangeListener(minimizedListener).addUserActionListener(T -> setProfiler(getProfiler(index), PieProfilerWindowComponent.getRoot(index))); addChild(button, new ComponentConstrains(new RelativeConstrain(index * 0.3333F), new PixelConstrain(8F).setInverted(), new RelativeConstrain(0.3333F), new PixelConstrain(7F))); diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/ChoiceComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/ChoiceComponent.java index 71781b3..3277e92 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/ChoiceComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/ChoiceComponent.java @@ -1,7 +1,7 @@ package speiger.src.coreengine.rendering.gui.components.window.misc; import speiger.src.collections.booleans.functions.BooleanConsumer; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.components.ButtonComponent; import speiger.src.coreengine.rendering.gui.components.TextComponent; import speiger.src.coreengine.rendering.gui.components.WindowComponent; @@ -13,9 +13,9 @@ import speiger.src.coreengine.rendering.gui.helper.constrains.TextConstrain; public class ChoiceComponent extends WindowComponent { - TextComponent message = new TextComponent().setLimitedHeight(false).setTextScale(0.5F); - ButtonComponent yesButton = new ButtonComponent("Yes", ColorObject.GRAY); - ButtonComponent noButton = new ButtonComponent("No", ColorObject.GRAY); + TextComponent message = new TextComponent().limitHeight(false).setTextScale(0.5F); + ButtonComponent yesButton = new ButtonComponent("Yes", ColorUtils.GRAY); + ButtonComponent noButton = new ButtonComponent("No", ColorUtils.GRAY); BooleanConsumer listener; public ChoiceComponent(float width, String windowTitle, String message, BooleanConsumer listener) diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/MessageComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/MessageComponent.java index ab7794d..fe8114c 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/MessageComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/MessageComponent.java @@ -1,6 +1,6 @@ package speiger.src.coreengine.rendering.gui.components.window.misc; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.components.ButtonComponent; import speiger.src.coreengine.rendering.gui.components.TextComponent; import speiger.src.coreengine.rendering.gui.components.WindowComponent; @@ -11,8 +11,8 @@ import speiger.src.coreengine.rendering.gui.helper.constrains.TextConstrain; public class MessageComponent extends WindowComponent { - TextComponent message = new TextComponent().setLimitedHeight(false).setTextScale(0.5F); - ButtonComponent resultButton = new ButtonComponent("", ColorObject.GRAY); + TextComponent message = new TextComponent().limitHeight(false).setTextScale(0.5F); + ButtonComponent resultButton = new ButtonComponent("", ColorUtils.GRAY); public MessageComponent(float width, String windowTitle, String confirmButton, String message) { diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/TextInputComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/TextInputComponent.java index eff86fa..f188942 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/TextInputComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/window/misc/TextInputComponent.java @@ -1,6 +1,6 @@ package speiger.src.coreengine.rendering.gui.components.window.misc; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.components.ButtonComponent; import speiger.src.coreengine.rendering.gui.components.TextComponent; import speiger.src.coreengine.rendering.gui.components.TextFieldComponent; @@ -12,10 +12,10 @@ import speiger.src.coreengine.rendering.gui.helper.constrains.TextConstrain; public class TextInputComponent extends WindowComponent { - TextComponent message = new TextComponent().setLimitedHeight(false).setTextScale(0.5F); - TextFieldComponent input = new TextFieldComponent(ColorObject.GRAY).setCanLoseFocus(false).setInfiniteText(true).setMaxTextLength(Integer.MAX_VALUE).setFocused(true); - ButtonComponent confirm = new ButtonComponent("Confirm", ColorObject.DARK_GREEN); - ButtonComponent cancel = new ButtonComponent("Cancel", ColorObject.RED); + TextComponent message = new TextComponent().limitHeight(false).setTextScale(0.5F); + TextFieldComponent input = new TextFieldComponent(ColorUtils.GRAY).setCanLoseFocus(false).setInfiniteText(true).setMaxTextLength(Integer.MAX_VALUE).setFocused(true); + ButtonComponent confirm = new ButtonComponent("Confirm", ColorUtils.DARK_GREEN); + ButtonComponent cancel = new ButtonComponent("Cancel", ColorUtils.RED); public TextInputComponent(float width, String name, String message) { diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/helper/FontBuilder.java b/src/main/java/speiger/src/coreengine/rendering/gui/helper/FontBuilder.java index 1e696c1..7dff821 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/helper/FontBuilder.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/helper/FontBuilder.java @@ -37,7 +37,7 @@ public class FontBuilder public static ObjectObjectPair createBitmapFont(InputStream stream, float size) { - return createBitmapFont(stream, size, "ISO-8859-1"); + return createBitmapFont(stream, size, "UTF-8"); } public static ObjectObjectPair createBitmapFont(InputStream stream, float size, String charset) @@ -72,7 +72,7 @@ public class FontBuilder Consumer data = T -> { AssetLocation location = T.asLocation(); toDraw.put(location, T); - if(T.width > 0 && !builder.add(location, T.width, T.getExtraY(T.height))) throw new IllegalStateException("Character: " + location + " isnt Accepted, W=" + T.width + ", H=" + T.height); + if(T.width > 0 && !builder.add(location, T.width, T.getExtraY(T.height), 2)) throw new IllegalStateException("Character: " + location + " isnt Accepted, W=" + T.width + ", H=" + T.height); }; Font font = Font.createFont(Font.TRUETYPE_FONT, ttf).deriveFont(size); diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/helper/UIShapes.java b/src/main/java/speiger/src/coreengine/rendering/gui/helper/UIShapes.java index 3ac05a8..8cb3ec2 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/helper/UIShapes.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/helper/UIShapes.java @@ -2,7 +2,6 @@ package speiger.src.coreengine.rendering.gui.helper; import org.lwjgl.opengl.GL11; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.math.misc.Facing; import speiger.src.coreengine.rendering.gui.renderer.UIRenderer; import speiger.src.coreengine.rendering.gui.renderer.buffer.RenderBuffer; @@ -11,13 +10,13 @@ import speiger.src.coreengine.rendering.tesselation.VertexType; public class UIShapes { - public static void createCross(RenderBuffer buffer, float width, float height, float paddingA, float paddingB, ColorObject color) + public static void createCross(RenderBuffer buffer, float width, float height, float paddingA, float paddingB, int color) { createCross(buffer.start(GL11.GL_TRIANGLES, VertexType.UI), width, height, paddingA, paddingB, color); buffer.finishShape(0); } - public static void createCross(Tesselator tes, float width, float height, float paddingA, float paddingB, ColorObject color) + public static void createCross(Tesselator tes, float width, float height, float paddingA, float paddingB, int color) { tes.setOffset(-(width * 0.5F), -(height * 0.5F), 0F); tes.pos(paddingB, paddingA, 0F).tex(0F, 0F).color4f(color).endVertex(); @@ -36,7 +35,7 @@ public class UIShapes tes.setOffset(0F, 0F, 0F); } - public static void createCross(UIRenderer renderer, float width, float height, float paddingA, float paddingB, ColorObject color) + public static void createCross(UIRenderer renderer, float width, float height, float paddingA, float paddingB, int color) { renderer.translate(-(width * 0.5F), -(height * 0.5F)); renderer.startCustomShape(GL11.GL_TRIANGLES, false); @@ -56,13 +55,13 @@ public class UIShapes renderer.translate((width * 0.5F), (height * 0.5F)); } - public static void createArrow(RenderBuffer buffer, float width, float height, ColorObject color, Facing dir) + public static void createArrow(RenderBuffer buffer, float width, float height, int color, Facing dir) { createArrow(buffer.start(GL11.GL_TRIANGLES, VertexType.UI), width, height, color, dir); buffer.finishShape(0); } - public static void createArrow(Tesselator tes, float width, float height, ColorObject color, Facing dir) + public static void createArrow(Tesselator tes, float width, float height, int color, Facing dir) { float halfWidth = width * 0.5F; float halfHeight = height * 0.5F; @@ -117,7 +116,7 @@ public class UIShapes tes.setOffset(0F, 0F, 0F); } - public static void createArrow(UIRenderer renderer, float width, float height, ColorObject color, Facing dir) + public static void createArrow(UIRenderer renderer, float width, float height, int color, Facing dir) { float halfWidth = width * 0.5F; float halfHeight = height * 0.5F; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/helper/animations/Animator.java b/src/main/java/speiger/src/coreengine/rendering/gui/helper/animations/Animator.java index 2eabce8..27f278d 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/helper/animations/Animator.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/helper/animations/Animator.java @@ -77,7 +77,7 @@ public class Animator applyValues(true); if(changed) { - owner.onComponentChanged(redraw); + owner.onChanged(redraw); } owner.finishMassChanging(); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/FontRenderer.java b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/FontRenderer.java index 9281e9a..aa27bbf 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/FontRenderer.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/FontRenderer.java @@ -9,7 +9,6 @@ import speiger.src.collections.floats.lists.FloatArrayList; import speiger.src.collections.floats.lists.FloatList; import speiger.src.collections.objects.lists.ObjectArrayList; import speiger.src.collections.objects.utils.ObjectLists; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.rendering.gui.components.TextComponent; import speiger.src.coreengine.rendering.gui.helper.Align; import speiger.src.coreengine.rendering.gui.renderer.buffer.DelayedRenderBuffer; @@ -52,15 +51,15 @@ public class FontRenderer implements IFontRenderer } @Override - public float getFontHeight() + public float height() { - return provider.getFontHeight(); + return provider.height(); } @Override - public float getBaseLine() + public float baseLine() { - return provider.getBaseLine(); + return provider.baseLine(); } @Override @@ -91,7 +90,7 @@ public class FontRenderer implements IFontRenderer List lines = lexer.evaluateLines(text, context, Float.MAX_VALUE); if(lines.isEmpty()) return ObjectLists.empty(); WordContext effects = context.getEffect(); - ColorObject textColor = new ColorObject(effects.color); + int textColor = effects.color; float yOffset = 0F; IVertexBuilder builder = new TranslatedVertexBuilder(bufferBuilder, x, y, z, 1F); bufferBuilder.begin(GL11.GL_TRIANGLES, VertexType.IN_WORLD_UI); @@ -102,7 +101,7 @@ public class FontRenderer implements IFontRenderer { xOffset += renderChar(letter, xOffset, yOffset, context.getScale(), effects.italic, effects.flipped, textColor, builder, true); } - yOffset += getFontHeight() * context.getScale(); + yOffset += height() * context.getScale(); } bufferBuilder.finishData(); if(bufferBuilder.getVertexCount() > 0) @@ -131,8 +130,8 @@ public class FontRenderer implements IFontRenderer return; } bufferBuilder.begin(GL11.GL_TRIANGLES, VertexType.UI); - int maxLanes = component.isHeightLimited() ? Math.min((int)(boxHeight / (getFontHeight() * context.getScale())), lines.size()) : lines.size(); - float maxHeight = maxLanes * getFontHeight() * context.getScale(); + int maxLanes = component.isHeightLimited() ? Math.min((int)(boxHeight / (height() * context.getScale())), lines.size()) : lines.size(); + float maxHeight = maxLanes * height() * context.getScale(); float maxWidth = 0F; float yOffset = component.getVertical().align(boxHeight, maxHeight); float startX = component.getHorizontal().align(boxWidth, lines.get(0).getWidth()); @@ -142,7 +141,7 @@ public class FontRenderer implements IFontRenderer { effects = effects.next(); } - ColorObject textColor = new ColorObject(effects.color); + int textColor = effects.color; Float strikeThrough = effects.strike_through ? startX : null; Float underline = effects.underline ? startX : -1F; if(component.getBackgroundColor() != null) @@ -175,7 +174,7 @@ public class FontRenderer implements IFontRenderer { addUnderline(underline, xOffset - underline, yOffset, textColor, lineBuffer, false); } - textColor.setRGB(next.color); + textColor = next.color; underline = newLine; effects = next; } @@ -188,7 +187,7 @@ public class FontRenderer implements IFontRenderer { addUnderline(underline, xOffset - underline, yOffset, textColor, lineBuffer, false); } - yOffset += getFontHeight() * context.getScale(); + yOffset += height() * context.getScale(); component.getMetadata().addLine(lines.get(i)); } maxWidth /= 2; @@ -202,7 +201,7 @@ public class FontRenderer implements IFontRenderer } } - protected float renderChar(CharInstance instance, float x, float y, float scale, float italic, boolean flipped, ColorObject color, IVertexBuilder buffer, boolean flipPos) + protected float renderChar(CharInstance instance, float x, float y, float scale, float italic, boolean flipped, int color, IVertexBuilder buffer, boolean flipPos) { switch(instance.getCharacter()) { @@ -231,13 +230,13 @@ public class FontRenderer implements IFontRenderer return instance.getXAdvance() * scale; } - protected void addBackground(IVertexBuilder tes, List lines, int maxLines, float yPos, Align align, float width, ColorObject color, boolean flipPos) + protected void addBackground(IVertexBuilder tes, List lines, int maxLines, float yPos, Align align, float width, int color, boolean flipPos) { for(int i = 0;i < maxLines;i++) { float lineWidth = lines.get(i).getWidth(); float xOffset = align.align(width, lineWidth); - float maxY = flipPos ? yPos - getFontHeight() : yPos + getFontHeight(); + float maxY = flipPos ? yPos - height() : yPos + height(); tes.pos(xOffset, maxY, 0.0F).tex(0F, 0F).color4f(color).endVertex(); tes.pos(xOffset, yPos, 0.0F).tex(0F, 0F).color4f(color).endVertex(); tes.pos(xOffset + lineWidth, maxY, 0.0F).tex(0F, 0F).color4f(color).endVertex(); @@ -248,14 +247,14 @@ public class FontRenderer implements IFontRenderer } } - protected void addUnderline(float xStart, float width, float yStart, ColorObject color, IVertexBuilder buffer, boolean flipPos) + protected void addUnderline(float xStart, float width, float yStart, int color, IVertexBuilder buffer, boolean flipPos) { - float minY = yStart + getBaseLine() + 0.5F; - float maxY = yStart + getBaseLine() + 1.5F; + float minY = yStart + baseLine() + 0.5F; + float maxY = yStart + baseLine() + 1.5F; if(flipPos) { - minY = yStart - getBaseLine() - 0.5F; - maxY = yStart - getBaseLine() - 1.5F; + minY = yStart - baseLine() - 0.5F; + maxY = yStart - baseLine() - 1.5F; } buffer.pos(xStart, maxY, 0F).tex(0F, 0F).color4f(color).endVertex(); buffer.pos(xStart, minY, 0F).tex(0F, 0F).color4f(color).endVertex(); @@ -265,10 +264,10 @@ public class FontRenderer implements IFontRenderer buffer.pos(xStart + width, minY, 0F).tex(0F, 0F).color4f(color).endVertex(); } - protected void addStrikeThrough(float xStart, float width, float yStart, ColorObject color, IVertexBuilder buffer) + protected void addStrikeThrough(float xStart, float width, float yStart, int color, IVertexBuilder buffer) { - float minY = yStart + getFontHeight() / 2.0F; - float maxY = yStart + getFontHeight() / 2.0F + 1.4F; + float minY = yStart + height() / 2.0F; + float maxY = yStart + height() / 2.0F + 1.4F; buffer.pos(xStart, maxY, 0.0F).tex(0F, 0F).color4f(color).endVertex(); buffer.pos(xStart, minY, 0.0F).tex(0F, 0F).color4f(color).endVertex(); buffer.pos(xStart + width, maxY, 0.0F).tex(0F, 0F).color4f(color).endVertex(); @@ -284,7 +283,7 @@ public class FontRenderer implements IFontRenderer } @Override - public String trimStringToWidth(String text, float limit, boolean reverse) + public String trimToWidth(String text, float limit, boolean reverse) { StringBuilder builder = new StringBuilder(); float width = 0F; @@ -293,7 +292,7 @@ public class FontRenderer implements IFontRenderer for(int i = start;i >= 0 && i < text.length() && width < limit;i += direction) { char letter = text.charAt(i); - width += getCharLength(letter); + width += width(letter); if(width > limit) break; if(reverse) builder.insert(0, letter); else builder.append(letter); @@ -302,7 +301,7 @@ public class FontRenderer implements IFontRenderer } @Override - public float getCharLength(int codepoint, boolean bold) + public float width(int codepoint, boolean bold) { switch(codepoint) { @@ -317,7 +316,7 @@ public class FontRenderer implements IFontRenderer } @Override - public float getTextLength(String text, int flags) + public float width(String text, int flags) { float result = 0.0F; float current = 0.0F; @@ -344,13 +343,13 @@ public class FontRenderer implements IFontRenderer continue; } } - current += getCharLength(character, bold); + current += width(character, bold); } return Math.max(result, current); } @Override - public float[] getTextLengths(String text, int flags) + public float[] widths(String text, int flags) { FloatList results = new FloatArrayList(); results.add(0F); @@ -383,7 +382,7 @@ public class FontRenderer implements IFontRenderer continue; } } - current += getCharLength(character, bold); + current += width(character, bold); } if(chars++ > 0) { @@ -395,9 +394,9 @@ public class FontRenderer implements IFontRenderer } @Override - public float getTextHeight(String text, int flags) + public float height(String text, int flags) { - return getTextLengths(text, flags).length - 1 * getFontHeight(); + return widths(text, flags).length - 1 * height(); } @Override @@ -407,7 +406,7 @@ public class FontRenderer implements IFontRenderer } @Override - public String[] splitLines(String text, float maxWidth, int flags) + public String[] split(String text, float maxWidth, int flags) { TextContext context = new TextContext(1F, ((flags & IFontRenderer.SPECIAL) != 0 ? 16 : 0) | ((flags & IFontRenderer.BOLD) != 0 ? 1 : 0)); List lines = lexer.evaluateLines(text, context, maxWidth); diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/IFontRenderer.java b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/IFontRenderer.java index bb02663..cd192cf 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/IFontRenderer.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/IFontRenderer.java @@ -8,27 +8,27 @@ public interface IFontRenderer public static final int BOLD = 1; public static final int SPECIAL = 2; - public float getFontHeight(); - public float getBaseLine(); + public float height(); + public float baseLine(); public ITexture getTexture(); public CharInstance getInstance(int codepoint, boolean bold); public void updateText(TextComponent component); - public default String trimStringToWidth(String text, float limit){return trimStringToWidth(text, limit, false);} - public String trimStringToWidth(String text, float limit, boolean reverse); + public default String trimToWidth(String text, float limit){return trimToWidth(text, limit, false);} + public String trimToWidth(String text, float limit, boolean reverse); - public default float getCharLength(int codepoint){return getCharLength(codepoint, false);}; - public float getCharLength(int codepoint, boolean bold); + public default float width(int codepoint){return width(codepoint, false);}; + public float width(int codepoint, boolean bold); - public default float getTextLength(String text){return getTextLength(text, 0);}; - public float getTextLength(String text, int flags); - public float[] getTextLengths(String text, int flags); + public default float width(String text){return width(text, 0);}; + public float width(String text, int flags); + public float[] widths(String text, int flags); - public default float getTextHeight(String text){return getTextHeight(text, 0);}; - public float getTextHeight(String text, int flags); + public default float height(String text){return height(text, 0);}; + public float height(String text, int flags); - public String[] splitLines(String text, float maxWidth, int flags); + public String[] split(String text, float maxWidth, int flags); public boolean isCharValid(int codepoint); public default String clearInvalidLetters(String text) diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/UIRenderer.java b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/UIRenderer.java index da47013..3790e7b 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/UIRenderer.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/UIRenderer.java @@ -12,7 +12,6 @@ import speiger.src.collections.objects.queues.ObjectArrayFIFOQueue; import speiger.src.collections.objects.queues.ObjectPriorityDequeue; import speiger.src.collections.utils.Stack; import speiger.src.coreengine.assets.reloader.IReloadableResource; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.math.misc.Facing; import speiger.src.coreengine.math.vector.floats.Vec2f; import speiger.src.coreengine.math.vector.floats.Vec3f; @@ -347,6 +346,7 @@ public class UIRenderer implements IReloadableResource last = call.getCount(); callPool.accept(call); } + activeCalls.clear(); texturedModel.unbindArray(); shader.stopShader(); renderer.resetVertexes(); @@ -414,22 +414,22 @@ public class UIRenderer implements IReloadableResource return this; } - public UIRenderer drawQuad(IGuiBox box, ColorObject color) + public UIRenderer drawQuad(IGuiBox box, int color) { return drawQuad(box.getMinX(), box.getMinY(), box.getMaxX(), box.getMaxY(), color); } - public UIRenderer drawQuad(IGuiBox box, float zLevel, ColorObject color) + public UIRenderer drawQuad(IGuiBox box, float zLevel, int color) { return drawQuad(box.getMinX(), box.getMinY(), box.getMaxX(), box.getMaxY(), zLevel, color); } - public UIRenderer drawQuad(float minX, float minY, float maxX, float maxY, ColorObject color) + public UIRenderer drawQuad(float minX, float minY, float maxX, float maxY, int color) { return drawQuad(minX, minY, maxX, maxY, 0.0F, color); } - public UIRenderer drawQuad(float minX, float minY, float maxX, float maxY, float zLevel, ColorObject color) + public UIRenderer drawQuad(float minX, float minY, float maxX, float maxY, float zLevel, int color) { ensureDrawing(GL11.GL_TRIANGLES, false); applyAlignment(minX, minY, maxX, maxY, zLevel, alignHelper); @@ -443,22 +443,22 @@ public class UIRenderer implements IReloadableResource return this; } - public UIRenderer drawTexturedQuad(IGuiBox box, ColorObject color, float minU, float minV, float maxU, float maxV) + public UIRenderer drawTexturedQuad(IGuiBox box, int color, float minU, float minV, float maxU, float maxV) { return drawTexturedQuad(box.getMinX(), box.getMinY(), box.getMaxX(), box.getMaxY(), color, minU, minV, maxU, maxV); } - public UIRenderer drawTexturedQuad(IGuiBox box, float zLevel, ColorObject color, float minU, float minV, float maxU, float maxV) + public UIRenderer drawTexturedQuad(IGuiBox box, float zLevel, int color, float minU, float minV, float maxU, float maxV) { return drawTexturedQuad(box.getMinX(), box.getMinY(), box.getMaxX(), box.getMaxY(), zLevel, color, minU, minV, maxU, maxV); } - public UIRenderer drawTexturedQuad(float minX, float minY, float maxX, float maxY, ColorObject color, float minU, float minV, float maxU, float maxV) + public UIRenderer drawTexturedQuad(float minX, float minY, float maxX, float maxY, int color, float minU, float minV, float maxU, float maxV) { return drawTexturedQuad(minX, minY, maxX, maxY, 0F, color, minU, minV, maxU, maxV); } - public UIRenderer drawTexturedQuad(float minX, float minY, float maxX, float maxY, float zLevel, ColorObject color, float minU, float minV, float maxU, float maxV) + public UIRenderer drawTexturedQuad(float minX, float minY, float maxX, float maxY, float zLevel, int color, float minU, float minV, float maxU, float maxV) { ensureDrawing(GL11.GL_TRIANGLES, true); applyAlignment(minX, minY, maxX, maxY, zLevel, alignHelper); @@ -472,21 +472,21 @@ public class UIRenderer implements IReloadableResource return this; } - public UIRenderer drawGradientQuad(IGuiBox box, ColorObject from, ColorObject to, Facing direction) + public UIRenderer drawGradientQuad(IGuiBox box, int from, int to, Facing direction) { return drawGradientQuad(box.getMinX(), box.getMinY(), box.getMaxX(), box.getMaxY(), from, to, direction); } - public UIRenderer drawGradientQuad(float minX, float minY, float maxX, float maxY, ColorObject from, ColorObject to, Facing direction) + public UIRenderer drawGradientQuad(float minX, float minY, float maxX, float maxY, int from, int to, Facing direction) { return drawGradientQuad(minX, minY, maxX, maxY, 0F, from, to, direction); } - public UIRenderer drawGradientQuad(float minX, float minY, float maxX, float maxY, float zLevel, ColorObject start, ColorObject end, Facing direction) + public UIRenderer drawGradientQuad(float minX, float minY, float maxX, float maxY, float zLevel, int start, int end, Facing direction) { if(!direction.isPositive()) { - ColorObject wrapper = start; + int wrapper = start; start = end; end = wrapper; } @@ -502,22 +502,22 @@ public class UIRenderer implements IReloadableResource return this; } - public UIRenderer drawFrame(IGuiBox box, ColorObject color) + public UIRenderer drawFrame(IGuiBox box, int color) { return drawFrame(box.getMinX(), box.getMinY(), box.getMaxX(), box.getMaxY(), color); } - public UIRenderer drawFrame(IGuiBox box, float zLevel, ColorObject color) + public UIRenderer drawFrame(IGuiBox box, float zLevel, int color) { return drawFrame(box.getMinX(), box.getMinY(), box.getMaxX(), box.getMaxY(), zLevel, color); } - public UIRenderer drawFrame(float minX, float minY, float maxX, float maxY, ColorObject color) + public UIRenderer drawFrame(float minX, float minY, float maxX, float maxY, int color) { return drawFrame(minX, minY, maxX, maxY, 0F, color); } - public UIRenderer drawFrame(float minX, float minY, float maxX, float maxY, float zLevel, ColorObject color) + public UIRenderer drawFrame(float minX, float minY, float maxX, float maxY, float zLevel, int color) { ensureDrawing(GL11.GL_LINES, false); applyAlignment(minX, minY, maxX, maxY, zLevel, alignHelper); @@ -533,12 +533,12 @@ public class UIRenderer implements IReloadableResource return this; } - public UIRenderer drawLine(float minX, float minY, float maxX, float maxY, ColorObject color) + public UIRenderer drawLine(float minX, float minY, float maxX, float maxY, int color) { return drawLine(minX, minY, maxX, maxY, 0F, color); } - public UIRenderer drawLine(float minX, float minY, float maxX, float maxY, float zLevel, ColorObject color) + public UIRenderer drawLine(float minX, float minY, float maxX, float maxY, float zLevel, int color) { ensureDrawing(GL11.GL_LINES, false); applyAlignment(minX, minY, maxX, maxY, zLevel, alignHelper); @@ -578,7 +578,7 @@ public class UIRenderer implements IReloadableResource return this; } - public UIRenderer color(ColorObject color) + public UIRenderer color(int color) { renderer.color4f(color); return this; @@ -702,7 +702,7 @@ public class UIRenderer implements IReloadableResource private int getDrawCall() { - return activeCalls.isEmpty() ? 0 : activeCalls.last().getCount(); + return activeCalls.isEmpty() ? 0 : activeCalls.last().getCount(); } private int getTextureId(ITexture texture) diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextContext.java b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextContext.java index 7554f7e..521e58e 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextContext.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextContext.java @@ -1,12 +1,11 @@ package speiger.src.coreengine.rendering.gui.renderer.lexer; -import java.awt.Color; import java.text.DecimalFormat; import java.util.StringJoiner; import speiger.src.collections.objects.lists.ObjectArrayList; import speiger.src.collections.objects.lists.ObjectList; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.rendering.gui.components.TextComponent; import speiger.src.coreengine.utils.helpers.TextUtil; @@ -20,13 +19,13 @@ public class TextContext static final int SINGLE = 32; final int originalFlags; - final Color originalColor; + final int originalColor; final float originalItalic; final float scale; int flags = 0; float italic = 0F; - ColorObject color = ColorObject.WHITE.copy(); + int color = ColorUtils.WHITE; ObjectList changes = new ObjectArrayList(); public TextContext(float scale) @@ -38,27 +37,27 @@ public class TextContext { this.scale = scale; originalFlags = this.flags = flags; - originalColor = Color.WHITE; + originalColor = ColorUtils.WHITE; originalItalic = 0F; - changes.add(new WordContext(0, flags, italic, color.hashCode())); + changes.add(new WordContext(0, flags, italic, color)); } public TextContext(TextComponent component) { scale = component.getTextScale(); originalFlags = createFlags(component); - originalColor = component.getTextColor().toColor(); + originalColor = component.getTextColor(); originalItalic = component.getItalic(); flags = originalFlags; - color.setRGB(originalColor.getRGB()); + color = originalColor; italic = originalItalic; - changes.add(new WordContext(0, flags, italic, color.hashCode())); + changes.add(new WordContext(0, flags, italic, color)); } public void reset() { flags = originalFlags; - color.setRGB(originalColor.getRGB()); + color = originalColor; italic = originalItalic; } @@ -95,10 +94,10 @@ public class TextContext setFlag(FLIPPED, TextUtil.findFlag(entry, "flip", (flags & FLIPPED) != 0)); setFlag(UNDERLINE, TextUtil.findFlag(entry, "underline", (flags & UNDERLINE) != 0)); setFlag(STRIKE_THROUGH, TextUtil.findFlag(entry, "strike", (flags & STRIKE_THROUGH) != 0)); - color = TextUtil.findColor(entry, "color", color, new ColorObject(originalColor.getRGB())); + color = TextUtil.findColor(entry, "color", color, originalColor); italic = TextUtil.findFloat(entry, "italic", italic, italic > 0.0F ? 0.0F : 3.0F); } - WordContext context = new WordContext(index, flags, italic, color.hashCode()); + WordContext context = new WordContext(index, flags, italic, color); changes.get(changes.size() - 1).setNext(context); changes.add(context); } @@ -171,7 +170,7 @@ public class TextContext if(flipped) joiner.add("flipped=true"); if(underline) joiner.add("underline=true"); if(strike_through) joiner.add("strike=true"); - if(color != -1) joiner.add("color="+ColorObject.rgb(color).getHexCode(true)); + if(color != -1) joiner.add("color="+ColorUtils.getHexCode(color, true)); if(italic > 0F) joiner.add("italic="+ITALIC_FORMAT.format(italic)); return joiner.toString(); } @@ -184,7 +183,7 @@ public class TextContext if(flipped != prev.flipped) joiner.add("flipped="+flipped); if(underline != prev.underline) joiner.add("underline="+underline); if(strike_through != prev.strike_through) joiner.add("strike="+strike_through); - if(color != prev.color) joiner.add("color="+ColorObject.rgb(color).getHexCode(true)); + if(color != prev.color) joiner.add("color="+ColorUtils.getHexCode(color, true)); if(Float.compare(italic, prev.italic) != 0) joiner.add("italic="+ITALIC_FORMAT.format(italic)); return joiner.toString(); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextMetadata.java b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextMetadata.java index 71d1cbd..9d04d63 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextMetadata.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/lexer/TextMetadata.java @@ -36,7 +36,7 @@ public class TextMetadata { lines.add(line); maxWidth = Math.max(maxWidth, line.getWidth()); - maxHeight = lines.size() * owner.getFont().getFontHeight() * scale; + maxHeight = lines.size() * owner.getFont().height() * scale; } public void setStart(float x, float y) @@ -117,7 +117,7 @@ public class TextMetadata public int getIndex(float width, float height) { - return lines.isEmpty() ? 0 : lines.get(MathUtils.clamp(0, lines.size() - 1, (int)(height / (owner.getFont().getFontHeight() * scale)))).getIndex(width, true); + return lines.isEmpty() ? 0 : lines.get(MathUtils.clamp(0, lines.size() - 1, (int)(height / (owner.getFont().height() * scale)))).getIndex(width, true); } public void getIndex(float width, float height, Vec2i result) @@ -127,7 +127,7 @@ public class TextMetadata result.negate(); return; } - int index = MathUtils.clamp(0, lines.size() - 1, (int)(height / (owner.getFont().getFontHeight() * scale))); + int index = MathUtils.clamp(0, lines.size() - 1, (int)(height / (owner.getFont().height() * scale))); result.set(lines.get(index).getIndex(width, false), index); } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/BitmapFontProvider.java b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/BitmapFontProvider.java index 0310a5f..20b74fc 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/BitmapFontProvider.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/BitmapFontProvider.java @@ -66,13 +66,13 @@ public class BitmapFontProvider implements IFontProvider } @Override - public float getFontHeight() + public float height() { return info.fontHeight; } @Override - public float getBaseLine() + public float baseLine() { return info.fontBase; } diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/IFontProvider.java b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/IFontProvider.java index 341f632..9a8022a 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/IFontProvider.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/renderer/provider/IFontProvider.java @@ -11,8 +11,8 @@ public interface IFontProvider public ITexture getTexture(); public boolean isCharacterValid(int codePoint); public CharInstance getCharacter(int codePoint, boolean bold); - public float getFontHeight(); - public float getBaseLine(); + public float height(); + public float baseLine(); public float getSpaceWidth(); public float getTabWidth(); diff --git a/src/main/java/speiger/src/coreengine/rendering/models/loader/ModelLoader.java b/src/main/java/speiger/src/coreengine/rendering/models/loader/ModelLoader.java index b359e0f..ccfe1a8 100644 --- a/src/main/java/speiger/src/coreengine/rendering/models/loader/ModelLoader.java +++ b/src/main/java/speiger/src/coreengine/rendering/models/loader/ModelLoader.java @@ -12,7 +12,7 @@ import speiger.src.collections.objects.utils.ObjectLists; import speiger.src.coreengine.assets.AssetLocation; import speiger.src.coreengine.assets.AssetManager; import speiger.src.coreengine.assets.IAsset; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.utils.collections.iterators.IterableWrapper; import speiger.src.coreengine.utils.helpers.JsonUtil; @@ -76,7 +76,7 @@ public class ModelLoader String[] position = data[0].split(";"); String[] normal = data[2].split(";"); buffer.putFloat(Float.parseFloat(position[0])).putFloat(Float.parseFloat(position[1])).putFloat(Float.parseFloat(position[2])); - ColorObject.pack(Integer.parseInt(data[1]), true, buffer); + ColorUtils.write(Integer.parseInt(data[1]), true, buffer); buffer.putFloat(Float.parseFloat(normal[0])).putFloat(Float.parseFloat(normal[1])).putFloat(Float.parseFloat(normal[2])); } else if(line.startsWith("[")) diff --git a/src/main/java/speiger/src/coreengine/rendering/models/loader/VertexLoader.java b/src/main/java/speiger/src/coreengine/rendering/models/loader/VertexLoader.java index 8b99ba2..da74b33 100644 --- a/src/main/java/speiger/src/coreengine/rendering/models/loader/VertexLoader.java +++ b/src/main/java/speiger/src/coreengine/rendering/models/loader/VertexLoader.java @@ -54,7 +54,7 @@ public class VertexLoader public static Object2ObjectMap> parseMappedVertexData(JsonObject obj, List entries, boolean excludeOptional) { - Object2ObjectMap> mappedData = Object2ObjectMap.createLinkedMap(); + Object2ObjectMap> mappedData = Object2ObjectMap.builder().linkedMap(); int stride = VertexEntry.caclulateStride(entries); int[] vertexes = JsonUtil.parseIntArray(obj.getAsJsonArray("vertexes")); for(int i = 0,offset=0,m=entries.size();i } } - public void storeData(ColorObject color) + public void storeData(int color) { - storeData(STORAGE.set(color.getRedFloat(), color.getGreenFloat(), color.getBlueFloat())); + storeData(STORAGE.set(ColorUtils.getRF(color), ColorUtils.getGF(color), ColorUtils.getBF(color))); } public void storeData(float x, float y, float z) diff --git a/src/main/java/speiger/src/coreengine/rendering/shader/uniforms/UniformVec4f.java b/src/main/java/speiger/src/coreengine/rendering/shader/uniforms/UniformVec4f.java index 3468739..d3b7014 100644 --- a/src/main/java/speiger/src/coreengine/rendering/shader/uniforms/UniformVec4f.java +++ b/src/main/java/speiger/src/coreengine/rendering/shader/uniforms/UniformVec4f.java @@ -2,7 +2,7 @@ package speiger.src.coreengine.rendering.shader.uniforms; import org.lwjgl.opengl.GL20; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.math.vector.floats.Vec4f; import speiger.src.coreengine.rendering.utils.AllocationTracker; @@ -24,10 +24,9 @@ public class UniformVec4f extends UniformBase } } - public void storeData(ColorObject color) + public void storeData(int color) { - STORAGE.set(color.getRedFloat(), color.getGreenFloat(), color.getBlueFloat(), color.getAlphaFloat()); - storeData(STORAGE); + storeData(STORAGE.set(ColorUtils.getRF(color), ColorUtils.getGF(color), ColorUtils.getBF(color), ColorUtils.getAF(color))); } public void storeData(float x, float y, float z, float w) diff --git a/src/main/java/speiger/src/coreengine/rendering/tesselation/IVertexBuilder.java b/src/main/java/speiger/src/coreengine/rendering/tesselation/IVertexBuilder.java index 43e7262..ddbccf7 100644 --- a/src/main/java/speiger/src/coreengine/rendering/tesselation/IVertexBuilder.java +++ b/src/main/java/speiger/src/coreengine/rendering/tesselation/IVertexBuilder.java @@ -1,6 +1,6 @@ package speiger.src.coreengine.rendering.tesselation; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.math.vector.floats.Vec2f; import speiger.src.coreengine.math.vector.floats.Vec3f; import speiger.src.coreengine.math.vector.floats.Vec4f; @@ -13,10 +13,10 @@ public interface IVertexBuilder public default IVertexBuilder pos(Vec3f vec) { return pos(vec.getX(), vec.getY(), vec.getZ()); } public IVertexBuilder pos(float x, float y, float z); - public default IVertexBuilder color3f(ColorObject color) { return color3f(color.getRedFloat(), color.getGreenFloat(), color.getBlueFloat()); } + public default IVertexBuilder color3f(int color) { return color3f(ColorUtils.getRF(color), ColorUtils.getGF(color), ColorUtils.getBF(color)); } public IVertexBuilder color3f(float r, float g, float b); - public default IVertexBuilder color4f(ColorObject color){ return color4f(color.getRedFloat(), color.getGreenFloat(), color.getBlueFloat(), color.getAlphaFloat()); } + public default IVertexBuilder color4f(int color){ return color4f(ColorUtils.getRF(color), ColorUtils.getGF(color), ColorUtils.getBF(color), ColorUtils.getAF(color)); } public default IVertexBuilder color4f(float r, float g, float b) { return color4f(r, g, b, 1F); } public IVertexBuilder color4f(float r, float g, float b, float a); diff --git a/src/main/java/speiger/src/coreengine/utils/collections/managers/dynamic/DynamicDataManager.java b/src/main/java/speiger/src/coreengine/utils/collections/managers/dynamic/DynamicDataManager.java index 4c93199..a790236 100644 --- a/src/main/java/speiger/src/coreengine/utils/collections/managers/dynamic/DynamicDataManager.java +++ b/src/main/java/speiger/src/coreengine/utils/collections/managers/dynamic/DynamicDataManager.java @@ -20,7 +20,7 @@ public class DynamicDataManager { static final ThreadPool SLOTS = new ThreadPool<>(1000, DataSlot::new, DataSlot::clear); final IDynamicDataHandler manager; - Int2ObjectMap slots = Int2ObjectMap.createLinkedMap(); + Int2ObjectMap slots = Int2ObjectMap.builder().linkedMap(); Set emptySlots = new ObjectAVLTreeSet<>(); IntSet changedSlots = new IntAVLTreeSet(); DataSlot lastSlot = null; diff --git a/src/main/java/speiger/src/coreengine/utils/helpers/TextUtil.java b/src/main/java/speiger/src/coreengine/utils/helpers/TextUtil.java index 3e1c9e3..44b18e0 100644 --- a/src/main/java/speiger/src/coreengine/utils/helpers/TextUtil.java +++ b/src/main/java/speiger/src/coreengine/utils/helpers/TextUtil.java @@ -3,7 +3,7 @@ package speiger.src.coreengine.utils.helpers; import java.text.DecimalFormat; import java.util.Locale; -import speiger.src.coreengine.math.misc.ColorObject; +import speiger.src.coreengine.math.misc.ColorUtils; import speiger.src.coreengine.utils.io.GameLog; import speiger.src.coreengine.utils.io.GameLog.LogLevel; @@ -19,10 +19,10 @@ public class TextUtil return "§"; } - public static ColorObject getColorFromText(String s) + public static int getColorFromText(String s) { s = s == null ? "" : s; - return ColorObject.rgb((s.hashCode() & 11184810) + 4473924); + return ColorUtils.rgb((s.hashCode() & 11184810) + 4473924); } public static String searchUntil(String s, int startIndex, char endChar, String invalidChars) @@ -62,14 +62,14 @@ public class TextUtil return original; } - public static ColorObject findColor(String value, String search, ColorObject current, ColorObject original) + public static int findColor(String value, String search, int current, int original) { if(value.startsWith(search)) { try { int equals = value.indexOf("="); - return equals == -1 ? original : ColorObject.rgb(Integer.decode(value.substring(equals + 1)).intValue()); + return equals == -1 ? original : ColorUtils.rgb(Integer.decode(value.substring(equals + 1)).intValue()); } catch(Exception e) { diff --git a/src/main/java/speiger/src/coreengine/utils/io/FileFinder.java b/src/main/java/speiger/src/coreengine/utils/io/FileFinder.java index f7f1066..5b8a60c 100644 --- a/src/main/java/speiger/src/coreengine/utils/io/FileFinder.java +++ b/src/main/java/speiger/src/coreengine/utils/io/FileFinder.java @@ -6,7 +6,7 @@ import java.util.List; import speiger.src.collections.objects.lists.ObjectList; import speiger.src.collections.objects.sets.ObjectLinkedOpenHashSet; -import speiger.src.collections.objects.sets.ObjectSortedSet; +import speiger.src.collections.objects.sets.ObjectOrderedSet; import speiger.src.collections.objects.utils.ObjectIterators; import speiger.src.coreengine.utils.io.finders.IFileFinder; import speiger.src.coreengine.utils.io.finders.JavaFileFinder; @@ -18,7 +18,7 @@ public class FileFinder protected int flags; protected String customPath; - protected ObjectSortedSet fileFormats; + protected ObjectOrderedSet fileFormats; protected IFileFinder finder; public FileFinder(int flags, String...fileFormats) diff --git a/src/main/java/speiger/src/coreengine/utils/io/dataTag/special/MapTag.java b/src/main/java/speiger/src/coreengine/utils/io/dataTag/special/MapTag.java index b5edff2..35873a1 100644 --- a/src/main/java/speiger/src/coreengine/utils/io/dataTag/special/MapTag.java +++ b/src/main/java/speiger/src/coreengine/utils/io/dataTag/special/MapTag.java @@ -28,6 +28,13 @@ public class MapTag implements IMapTag public MapTag() { } + + public MapTag(String id, DataTag tag) + { + if(tag instanceof ListTag) putList(id, tag.cast()); + else if(tag instanceof MapTag) putMap(id, tag.cast()); + else putTag(id, tag); + } @Override public int getId() diff --git a/src/main/java/speiger/src/coreengine/utils/io/finders/IFileFinder.java b/src/main/java/speiger/src/coreengine/utils/io/finders/IFileFinder.java index 540a413..3158ba5 100644 --- a/src/main/java/speiger/src/coreengine/utils/io/finders/IFileFinder.java +++ b/src/main/java/speiger/src/coreengine/utils/io/finders/IFileFinder.java @@ -4,7 +4,7 @@ import java.io.File; import java.util.StringJoiner; import speiger.src.collections.objects.lists.ObjectList; -import speiger.src.collections.objects.sets.ObjectSortedSet; +import speiger.src.collections.objects.sets.ObjectOrderedSet; public interface IFileFinder { @@ -14,9 +14,9 @@ public interface IFileFinder public static final int ANY = 4; public static final int SAVE = 8; - public ObjectList build(int flags, String startPath, ObjectSortedSet validFormats, String description); + public ObjectList build(int flags, String startPath, ObjectOrderedSet validFormats, String description); - public default String toFileFormat(ObjectSortedSet validFormats) + public default String toFileFormat(ObjectOrderedSet validFormats) { StringJoiner joiner = new StringJoiner(","); for(String s : validFormats) joiner.add(s); diff --git a/src/main/java/speiger/src/coreengine/utils/io/finders/JavaFileFinder.java b/src/main/java/speiger/src/coreengine/utils/io/finders/JavaFileFinder.java index bf222fc..6c6c64a 100644 --- a/src/main/java/speiger/src/coreengine/utils/io/finders/JavaFileFinder.java +++ b/src/main/java/speiger/src/coreengine/utils/io/finders/JavaFileFinder.java @@ -8,14 +8,14 @@ import javax.swing.filechooser.FileFilter; import speiger.src.collections.objects.lists.ObjectArrayList; import speiger.src.collections.objects.lists.ObjectList; -import speiger.src.collections.objects.sets.ObjectSortedSet; +import speiger.src.collections.objects.sets.ObjectOrderedSet; public class JavaFileFinder implements IFileFinder { public static final IFileFinder INSTANCE = new JavaFileFinder(); @Override - public ObjectList build(int flags, String startPath, ObjectSortedSet validFormats, String description) + public ObjectList build(int flags, String startPath, ObjectOrderedSet validFormats, String description) { JFileChooser file = new JFileChooser(startPath); if((flags & FOLDER) != 0) file.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); @@ -41,9 +41,9 @@ public class JavaFileFinder implements IFileFinder private static class Filter extends FileFilter { String description; - ObjectSortedSet validFormats; + ObjectOrderedSet validFormats; - public Filter(String description, ObjectSortedSet validFormats) + public Filter(String description, ObjectOrderedSet validFormats) { StringJoiner joiner = new StringJoiner(", ", " (", ")"); for(String s : validFormats) joiner.add("."+s); diff --git a/src/main/java/speiger/src/coreengine/utils/io/finders/NativeFileFinder.java b/src/main/java/speiger/src/coreengine/utils/io/finders/NativeFileFinder.java index 5feecab..5b858bb 100644 --- a/src/main/java/speiger/src/coreengine/utils/io/finders/NativeFileFinder.java +++ b/src/main/java/speiger/src/coreengine/utils/io/finders/NativeFileFinder.java @@ -9,14 +9,14 @@ import org.lwjgl.util.nfd.NativeFileDialog; import speiger.src.collections.objects.lists.ObjectArrayList; import speiger.src.collections.objects.lists.ObjectList; -import speiger.src.collections.objects.sets.ObjectSortedSet; +import speiger.src.collections.objects.sets.ObjectOrderedSet; public class NativeFileFinder implements IFileFinder { public static final IFileFinder INSTANCE = new NativeFileFinder(); @Override - public ObjectList build(int flags, String startPath, ObjectSortedSet validFormats, String description) + public ObjectList build(int flags, String startPath, ObjectOrderedSet validFormats, String description) { ObjectList files = new ObjectArrayList<>(); if((flags & SAVE) != 0) diff --git a/src/main/java/speiger/src/coreengine/utils/profiler/IProfiler.java b/src/main/java/speiger/src/coreengine/utils/profiler/IProfiler.java index 0d1142a..168bb00 100644 --- a/src/main/java/speiger/src/coreengine/utils/profiler/IProfiler.java +++ b/src/main/java/speiger/src/coreengine/utils/profiler/IProfiler.java @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.List; import java.util.function.ObjIntConsumer; -import speiger.src.coreengine.math.misc.ColorObject; import speiger.src.coreengine.utils.helpers.TextUtil; public interface IProfiler @@ -112,7 +111,7 @@ public interface IProfiler public static class ProfilerData implements Comparable { String name; - ColorObject color; + int color; long nanoTime; double effect; double totalEffect; @@ -141,7 +140,7 @@ public interface IProfiler return name; } - public ColorObject getColor() + public int getColor() { return color; } diff --git a/src/main/java/speiger/src/coreengine/utils/tasks/ThreadUtils.java b/src/main/java/speiger/src/coreengine/utils/tasks/ThreadUtils.java new file mode 100644 index 0000000..7376361 --- /dev/null +++ b/src/main/java/speiger/src/coreengine/utils/tasks/ThreadUtils.java @@ -0,0 +1,30 @@ +package speiger.src.coreengine.utils.tasks; + +import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; + +public class ThreadUtils +{ + public static void join(List> futures) + { + for(int i = futures.size() -1;i>=0;i--) + { + Future future = futures.get(i); + if(future.isDone()) continue; + try { future.get(); } + catch(InterruptedException | ExecutionException e) { } + } + } + + public static void join(Future...futures) + { + for(int i = futures.length -1;i>=0;i--) + { + Future future = futures[i]; + if(future.isDone()) continue; + try { future.get(); } + catch(InterruptedException | ExecutionException e) { } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/base/font/roboto.json b/src/main/resources/assets/base/font/roboto.json index 7adf990..f9c2e9d 100644 --- a/src/main/resources/assets/base/font/roboto.json +++ b/src/main/resources/assets/base/font/roboto.json @@ -10,1787 +10,1787 @@ }, "chars": [ {"char": 1144, "minX": 0, "minY": 0, "maxX": 122, "maxY": 136, "bold": true}, - {"char": 1132, "minX": 122, "minY": 0, "maxX": 241, "maxY": 136, "bold": true}, - {"char": 1144, "minX": 241, "minY": 0, "maxX": 359, "maxY": 131, "bold": false}, - {"char": 1132, "minX": 359, "minY": 0, "maxX": 474, "maxY": 131, "bold": false}, - {"char": 8360, "minX": 474, "minY": 0, "maxX": 581, "maxY": 131, "bold": false}, - {"char": 1033, "minX": 581, "minY": 0, "maxX": 688, "maxY": 131, "bold": false}, - {"char": 1034, "minX": 688, "minY": 0, "maxX": 795, "maxY": 131, "bold": false}, - {"char": 1145, "minX": 795, "minY": 0, "maxX": 901, "maxY": 131, "bold": false}, - {"char": 65533, "minX": 901, "minY": 0, "maxX": 1004, "maxY": 131, "bold": false}, - {"char": 8734, "minX": 1004, "minY": 0, "maxX": 1107, "maxY": 131, "bold": false}, - {"char": 1190, "minX": 1107, "minY": 0, "maxX": 1210, "maxY": 131, "bold": false}, - {"char": 65532, "minX": 1210, "minY": 0, "maxX": 1312, "maxY": 131, "bold": false}, - {"char": 8470, "minX": 1312, "minY": 0, "maxX": 1414, "maxY": 131, "bold": false}, - {"char": 8193, "minX": 1414, "minY": 0, "maxX": 1516, "maxY": 131, "bold": false}, - {"char": 8195, "minX": 1516, "minY": 0, "maxX": 1618, "maxY": 131, "bold": false}, - {"char": 1174, "minX": 1618, "minY": 0, "maxX": 1719, "maxY": 131, "bold": false}, - {"char": 1290, "minX": 1719, "minY": 0, "maxX": 1819, "maxY": 131, "bold": false}, - {"char": 1133, "minX": 1819, "minY": 0, "maxX": 1919, "maxY": 131, "bold": false}, - {"char": 1065, "minX": 1919, "minY": 0, "maxX": 2019, "maxY": 131, "bold": false}, - {"char": 1188, "minX": 2019, "minY": 0, "maxX": 2117, "maxY": 131, "bold": false}, - {"char": 1288, "minX": 2117, "minY": 0, "maxX": 2214, "maxY": 131, "bold": false}, - {"char": 8240, "minX": 2214, "minY": 0, "maxX": 2310, "maxY": 131, "bold": false}, - {"char": 1160, "minX": 2310, "minY": 0, "maxX": 2406, "maxY": 131, "bold": false}, - {"char": 338, "minX": 2406, "minY": 0, "maxX": 2502, "maxY": 131, "bold": false}, - {"char": 1244, "minX": 2502, "minY": 0, "maxX": 2597, "maxY": 131, "bold": false}, - {"char": 1217, "minX": 2597, "minY": 0, "maxX": 2692, "maxY": 131, "bold": false}, - {"char": 1064, "minX": 2692, "minY": 0, "maxX": 2787, "maxY": 131, "bold": false}, - {"char": 1046, "minX": 2787, "minY": 0, "maxX": 2882, "maxY": 131, "bold": false}, - {"char": 1229, "minX": 2882, "minY": 0, "maxX": 2976, "maxY": 131, "bold": false}, - {"char": 1236, "minX": 2976, "minY": 0, "maxX": 3069, "maxY": 131, "bold": false}, - {"char": 508, "minX": 3069, "minY": 0, "maxX": 3162, "maxY": 131, "bold": false}, - {"char": 198, "minX": 3162, "minY": 0, "maxX": 3255, "maxY": 131, "bold": false}, - {"char": 1161, "minX": 3255, "minY": 0, "maxX": 3347, "maxY": 131, "bold": false}, - {"char": 1070, "minX": 3347, "minY": 0, "maxX": 3439, "maxY": 131, "bold": false}, - {"char": 8013, "minX": 3439, "minY": 0, "maxX": 3530, "maxY": 131, "bold": false}, - {"char": 1150, "minX": 3530, "minY": 0, "maxX": 3621, "maxY": 131, "bold": false}, - {"char": 1148, "minX": 3621, "minY": 0, "maxX": 3712, "maxY": 131, "bold": false}, - {"char": 1128, "minX": 3712, "minY": 0, "maxX": 3803, "maxY": 131, "bold": false}, - {"char": 1120, "minX": 3803, "minY": 0, "maxX": 3894, "maxY": 131, "bold": false}, - {"char": 1204, "minX": 3894, "minY": 0, "maxX": 3984, "maxY": 131, "bold": false}, - {"char": 339, "minX": 3984, "minY": 0, "maxX": 4074, "maxY": 131, "bold": false}, - {"char": 8231, "minX": 4074, "minY": 0, "maxX": 4096, "maxY": 131, "bold": false}, - {"char": 8360, "minX": 0, "minY": 136, "maxX": 111, "maxY": 272, "bold": true}, - {"char": 1033, "minX": 111, "minY": 136, "maxX": 222, "maxY": 272, "bold": true}, - {"char": 1034, "minX": 222, "minY": 136, "maxX": 333, "maxY": 272, "bold": true}, - {"char": 1145, "minX": 333, "minY": 136, "maxX": 443, "maxY": 272, "bold": true}, - {"char": 65533, "minX": 443, "minY": 136, "maxX": 550, "maxY": 272, "bold": true}, - {"char": 8734, "minX": 550, "minY": 136, "maxX": 657, "maxY": 272, "bold": true}, - {"char": 1190, "minX": 657, "minY": 136, "maxX": 764, "maxY": 272, "bold": true}, - {"char": 65532, "minX": 764, "minY": 136, "maxX": 870, "maxY": 272, "bold": true}, - {"char": 8470, "minX": 870, "minY": 136, "maxX": 976, "maxY": 272, "bold": true}, - {"char": 8193, "minX": 976, "minY": 136, "maxX": 1082, "maxY": 272, "bold": true}, - {"char": 8195, "minX": 1082, "minY": 136, "maxX": 1188, "maxY": 272, "bold": true}, - {"char": 1174, "minX": 1188, "minY": 136, "maxX": 1294, "maxY": 272, "bold": true}, - {"char": 1290, "minX": 1294, "minY": 136, "maxX": 1398, "maxY": 272, "bold": true}, - {"char": 1133, "minX": 1398, "minY": 136, "maxX": 1502, "maxY": 272, "bold": true}, - {"char": 1065, "minX": 1502, "minY": 136, "maxX": 1606, "maxY": 272, "bold": true}, - {"char": 1244, "minX": 1606, "minY": 136, "maxX": 1708, "maxY": 272, "bold": true}, - {"char": 1217, "minX": 1708, "minY": 136, "maxX": 1810, "maxY": 272, "bold": true}, - {"char": 1188, "minX": 1810, "minY": 136, "maxX": 1912, "maxY": 272, "bold": true}, - {"char": 1046, "minX": 1912, "minY": 136, "maxX": 2014, "maxY": 272, "bold": true}, - {"char": 1288, "minX": 2014, "minY": 136, "maxX": 2115, "maxY": 272, "bold": true}, - {"char": 8240, "minX": 2115, "minY": 136, "maxX": 2215, "maxY": 272, "bold": true}, - {"char": 1160, "minX": 2215, "minY": 136, "maxX": 2315, "maxY": 272, "bold": true}, - {"char": 338, "minX": 2315, "minY": 136, "maxX": 2415, "maxY": 272, "bold": true}, - {"char": 1064, "minX": 2415, "minY": 136, "maxX": 2514, "maxY": 272, "bold": true}, - {"char": 1236, "minX": 2514, "minY": 136, "maxX": 2612, "maxY": 272, "bold": true}, - {"char": 1229, "minX": 2612, "minY": 136, "maxX": 2710, "maxY": 272, "bold": true}, - {"char": 508, "minX": 2710, "minY": 136, "maxX": 2808, "maxY": 272, "bold": true}, - {"char": 198, "minX": 2808, "minY": 136, "maxX": 2906, "maxY": 272, "bold": true}, - {"char": 8013, "minX": 2906, "minY": 136, "maxX": 3002, "maxY": 272, "bold": true}, - {"char": 1161, "minX": 3002, "minY": 136, "maxX": 3098, "maxY": 272, "bold": true}, - {"char": 1070, "minX": 3098, "minY": 136, "maxX": 3194, "maxY": 272, "bold": true}, - {"char": 1150, "minX": 3194, "minY": 136, "maxX": 3289, "maxY": 272, "bold": true}, - {"char": 1148, "minX": 3289, "minY": 136, "maxX": 3384, "maxY": 272, "bold": true}, - {"char": 1128, "minX": 3384, "minY": 136, "maxX": 3479, "maxY": 272, "bold": true}, - {"char": 1120, "minX": 3479, "minY": 136, "maxX": 3574, "maxY": 272, "bold": true}, - {"char": 1204, "minX": 3574, "minY": 136, "maxX": 3668, "maxY": 272, "bold": true}, - {"char": 339, "minX": 3668, "minY": 136, "maxX": 3762, "maxY": 272, "bold": true}, - {"char": 64259, "minX": 3762, "minY": 136, "maxX": 3855, "maxY": 272, "bold": true}, - {"char": 64260, "minX": 3855, "minY": 136, "maxX": 3948, "maxY": 272, "bold": true}, - {"char": 1124, "minX": 3948, "minY": 136, "maxX": 4041, "maxY": 272, "bold": true}, - {"char": 8804, "minX": 4041, "minY": 136, "maxX": 4096, "maxY": 272, "bold": true}, - {"char": 64, "minX": 0, "minY": 272, "maxX": 93, "maxY": 408, "bold": true}, - {"char": 7808, "minX": 93, "minY": 272, "maxX": 185, "maxY": 408, "bold": true}, - {"char": 7810, "minX": 185, "minY": 272, "maxX": 277, "maxY": 408, "bold": true}, - {"char": 7812, "minX": 277, "minY": 272, "maxX": 369, "maxY": 408, "bold": true}, - {"char": 7742, "minX": 369, "minY": 272, "maxX": 461, "maxY": 408, "bold": true}, - {"char": 1052, "minX": 461, "minY": 272, "maxX": 553, "maxY": 408, "bold": true}, - {"char": 924, "minX": 553, "minY": 272, "maxX": 645, "maxY": 408, "bold": true}, - {"char": 372, "minX": 645, "minY": 272, "maxX": 737, "maxY": 408, "bold": true}, - {"char": 87, "minX": 737, "minY": 272, "maxX": 829, "maxY": 408, "bold": true}, - {"char": 77, "minX": 829, "minY": 272, "maxX": 921, "maxY": 408, "bold": true}, - {"char": 7743, "minX": 921, "minY": 272, "maxX": 1012, "maxY": 408, "bold": true}, - {"char": 1282, "minX": 1012, "minY": 272, "maxX": 1103, "maxY": 408, "bold": true}, - {"char": 1272, "minX": 1103, "minY": 272, "maxX": 1194, "maxY": 408, "bold": true}, - {"char": 1191, "minX": 1194, "minY": 272, "maxX": 1285, "maxY": 408, "bold": true}, - {"char": 1130, "minX": 1285, "minY": 272, "maxX": 1376, "maxY": 408, "bold": true}, - {"char": 1097, "minX": 1376, "minY": 272, "maxX": 1467, "maxY": 408, "bold": true}, - {"char": 1067, "minX": 1467, "minY": 272, "maxX": 1558, "maxY": 408, "bold": true}, - {"char": 109, "minX": 1558, "minY": 272, "maxX": 1649, "maxY": 408, "bold": true}, - {"char": 8540, "minX": 1649, "minY": 272, "maxX": 1739, "maxY": 408, "bold": true}, - {"char": 1283, "minX": 1739, "minY": 272, "maxX": 1829, "maxY": 408, "bold": true}, - {"char": 1114, "minX": 1829, "minY": 272, "maxX": 1919, "maxY": 408, "bold": true}, - {"char": 8541, "minX": 1919, "minY": 272, "maxX": 2008, "maxY": 408, "bold": true}, - {"char": 1175, "minX": 2008, "minY": 272, "maxX": 2097, "maxY": 408, "bold": true}, - {"char": 1113, "minX": 2097, "minY": 272, "maxX": 2186, "maxY": 408, "bold": true}, - {"char": 8359, "minX": 2186, "minY": 272, "maxX": 2274, "maxY": 408, "bold": true}, - {"char": 1237, "minX": 2274, "minY": 272, "maxX": 2362, "maxY": 408, "bold": true}, - {"char": 509, "minX": 2362, "minY": 272, "maxX": 2450, "maxY": 408, "bold": true}, - {"char": 306, "minX": 2450, "minY": 272, "maxX": 2538, "maxY": 408, "bold": true}, - {"char": 230, "minX": 2538, "minY": 272, "maxX": 2626, "maxY": 408, "bold": true}, - {"char": 8542, "minX": 2626, "minY": 272, "maxX": 2713, "maxY": 408, "bold": true}, - {"char": 1291, "minX": 2713, "minY": 272, "maxX": 2800, "maxY": 408, "bold": true}, - {"char": 1289, "minX": 2800, "minY": 272, "maxX": 2887, "maxY": 408, "bold": true}, - {"char": 1245, "minX": 2887, "minY": 272, "maxX": 2974, "maxY": 408, "bold": true}, - {"char": 1218, "minX": 2974, "minY": 272, "maxX": 3061, "maxY": 408, "bold": true}, - {"char": 1078, "minX": 3061, "minY": 272, "maxX": 3148, "maxY": 408, "bold": true}, - {"char": 8362, "minX": 3148, "minY": 272, "maxX": 3234, "maxY": 408, "bold": true}, - {"char": 1184, "minX": 3234, "minY": 272, "maxX": 3320, "maxY": 408, "bold": true}, - {"char": 1096, "minX": 3320, "minY": 272, "maxX": 3406, "maxY": 408, "bold": true}, - {"char": 969, "minX": 3406, "minY": 272, "maxX": 3492, "maxY": 408, "bold": true}, - {"char": 974, "minX": 3492, "minY": 272, "maxX": 3578, "maxY": 408, "bold": true}, - {"char": 910, "minX": 3578, "minY": 272, "maxX": 3664, "maxY": 408, "bold": true}, - {"char": 64259, "minX": 3664, "minY": 272, "maxX": 3753, "maxY": 403, "bold": false}, - {"char": 64260, "minX": 3753, "minY": 272, "maxX": 3842, "maxY": 403, "bold": false}, - {"char": 1124, "minX": 3842, "minY": 272, "maxX": 3931, "maxY": 403, "bold": false}, - {"char": 64, "minX": 3931, "minY": 272, "maxX": 4020, "maxY": 403, "bold": false}, - {"char": 1066, "minX": 4020, "minY": 272, "maxX": 4096, "maxY": 403, "bold": false}, - {"char": 1230, "minX": 0, "minY": 408, "maxX": 85, "maxY": 544, "bold": true}, - {"char": 1102, "minX": 85, "minY": 408, "maxX": 170, "maxY": 544, "bold": true}, - {"char": 982, "minX": 170, "minY": 408, "maxX": 255, "maxY": 544, "bold": true}, - {"char": 7808, "minX": 255, "minY": 408, "maxX": 343, "maxY": 539, "bold": false}, - {"char": 7810, "minX": 343, "minY": 408, "maxX": 431, "maxY": 539, "bold": false}, - {"char": 7812, "minX": 431, "minY": 408, "maxX": 519, "maxY": 539, "bold": false}, - {"char": 7742, "minX": 519, "minY": 408, "maxX": 607, "maxY": 539, "bold": false}, - {"char": 1052, "minX": 607, "minY": 408, "maxX": 695, "maxY": 539, "bold": false}, - {"char": 924, "minX": 695, "minY": 408, "maxX": 783, "maxY": 539, "bold": false}, - {"char": 372, "minX": 783, "minY": 408, "maxX": 871, "maxY": 539, "bold": false}, - {"char": 87, "minX": 871, "minY": 408, "maxX": 959, "maxY": 539, "bold": false}, - {"char": 77, "minX": 959, "minY": 408, "maxX": 1047, "maxY": 539, "bold": false}, - {"char": 7743, "minX": 1047, "minY": 408, "maxX": 1134, "maxY": 539, "bold": false}, - {"char": 1282, "minX": 1134, "minY": 408, "maxX": 1221, "maxY": 539, "bold": false}, - {"char": 1272, "minX": 1221, "minY": 408, "maxX": 1308, "maxY": 539, "bold": false}, - {"char": 1191, "minX": 1308, "minY": 408, "maxX": 1395, "maxY": 539, "bold": false}, - {"char": 1130, "minX": 1395, "minY": 408, "maxX": 1482, "maxY": 539, "bold": false}, - {"char": 1097, "minX": 1482, "minY": 408, "maxX": 1569, "maxY": 539, "bold": false}, - {"char": 1067, "minX": 1569, "minY": 408, "maxX": 1656, "maxY": 539, "bold": false}, - {"char": 109, "minX": 1656, "minY": 408, "maxX": 1743, "maxY": 539, "bold": false}, - {"char": 8540, "minX": 1743, "minY": 408, "maxX": 1829, "maxY": 539, "bold": false}, - {"char": 1283, "minX": 1829, "minY": 408, "maxX": 1915, "maxY": 539, "bold": false}, - {"char": 1114, "minX": 1915, "minY": 408, "maxX": 2001, "maxY": 539, "bold": false}, - {"char": 8541, "minX": 2001, "minY": 408, "maxX": 2086, "maxY": 539, "bold": false}, - {"char": 1175, "minX": 2086, "minY": 408, "maxX": 2171, "maxY": 539, "bold": false}, - {"char": 1113, "minX": 2171, "minY": 408, "maxX": 2256, "maxY": 539, "bold": false}, - {"char": 8359, "minX": 2256, "minY": 408, "maxX": 2340, "maxY": 539, "bold": false}, - {"char": 1237, "minX": 2340, "minY": 408, "maxX": 2424, "maxY": 539, "bold": false}, - {"char": 509, "minX": 2424, "minY": 408, "maxX": 2508, "maxY": 539, "bold": false}, - {"char": 306, "minX": 2508, "minY": 408, "maxX": 2592, "maxY": 539, "bold": false}, - {"char": 230, "minX": 2592, "minY": 408, "maxX": 2676, "maxY": 539, "bold": false}, - {"char": 8542, "minX": 2676, "minY": 408, "maxX": 2759, "maxY": 539, "bold": false}, - {"char": 1291, "minX": 2759, "minY": 408, "maxX": 2842, "maxY": 539, "bold": false}, - {"char": 1289, "minX": 2842, "minY": 408, "maxX": 2925, "maxY": 539, "bold": false}, - {"char": 8362, "minX": 2925, "minY": 408, "maxX": 3007, "maxY": 539, "bold": false}, - {"char": 1184, "minX": 3007, "minY": 408, "maxX": 3089, "maxY": 539, "bold": false}, - {"char": 1096, "minX": 3089, "minY": 408, "maxX": 3171, "maxY": 539, "bold": false}, - {"char": 969, "minX": 3171, "minY": 408, "maxX": 3253, "maxY": 539, "bold": false}, - {"char": 974, "minX": 3253, "minY": 408, "maxX": 3335, "maxY": 539, "bold": false}, - {"char": 1245, "minX": 3335, "minY": 408, "maxX": 3416, "maxY": 539, "bold": false}, - {"char": 1230, "minX": 3416, "minY": 408, "maxX": 3497, "maxY": 539, "bold": false}, - {"char": 1218, "minX": 3497, "minY": 408, "maxX": 3578, "maxY": 539, "bold": false}, - {"char": 1102, "minX": 3578, "minY": 408, "maxX": 3659, "maxY": 539, "bold": false}, - {"char": 1078, "minX": 3659, "minY": 408, "maxX": 3740, "maxY": 539, "bold": false}, - {"char": 982, "minX": 3740, "minY": 408, "maxX": 3821, "maxY": 539, "bold": false}, - {"char": 910, "minX": 3821, "minY": 408, "maxX": 3902, "maxY": 539, "bold": false}, - {"char": 8358, "minX": 3902, "minY": 408, "maxX": 3982, "maxY": 539, "bold": false}, - {"char": 1273, "minX": 3982, "minY": 408, "maxX": 4062, "maxY": 539, "bold": false}, - {"char": 8196, "minX": 4062, "minY": 408, "maxX": 4096, "maxY": 539, "bold": false}, - {"char": 8358, "minX": 0, "minY": 544, "maxX": 84, "maxY": 680, "bold": true}, - {"char": 1273, "minX": 84, "minY": 544, "maxX": 168, "maxY": 680, "bold": true}, - {"char": 1099, "minX": 168, "minY": 544, "maxX": 252, "maxY": 680, "bold": true}, - {"char": 1060, "minX": 252, "minY": 544, "maxX": 336, "maxY": 680, "bold": true}, - {"char": 1298, "minX": 336, "minY": 544, "maxX": 419, "maxY": 680, "bold": true}, - {"char": 1284, "minX": 419, "minY": 544, "maxX": 502, "maxY": 680, "bold": true}, - {"char": 1151, "minX": 502, "minY": 544, "maxX": 585, "maxY": 680, "bold": true}, - {"char": 1121, "minX": 585, "minY": 544, "maxX": 668, "maxY": 680, "bold": true}, - {"char": 1035, "minX": 668, "minY": 544, "maxX": 751, "maxY": 680, "bold": true}, - {"char": 190, "minX": 751, "minY": 544, "maxX": 834, "maxY": 680, "bold": true}, - {"char": 8539, "minX": 834, "minY": 544, "maxX": 916, "maxY": 680, "bold": true}, - {"char": 1225, "minX": 916, "minY": 544, "maxX": 998, "maxY": 680, "bold": true}, - {"char": 1149, "minX": 998, "minY": 544, "maxX": 1080, "maxY": 680, "bold": true}, - {"char": 1129, "minX": 1080, "minY": 544, "maxX": 1162, "maxY": 680, "bold": true}, - {"char": 905, "minX": 1162, "minY": 544, "maxX": 1244, "maxY": 680, "bold": true}, - {"char": 169, "minX": 1244, "minY": 544, "maxX": 1326, "maxY": 680, "bold": true}, - {"char": 174, "minX": 1326, "minY": 544, "maxX": 1408, "maxY": 680, "bold": true}, - {"char": 8361, "minX": 1408, "minY": 544, "maxX": 1489, "maxY": 680, "bold": true}, - {"char": 8213, "minX": 1489, "minY": 544, "maxX": 1570, "maxY": 680, "bold": true}, - {"char": 8212, "minX": 1570, "minY": 544, "maxX": 1651, "maxY": 680, "bold": true}, - {"char": 1221, "minX": 1651, "minY": 544, "maxX": 1732, "maxY": 680, "bold": true}, - {"char": 1212, "minX": 1732, "minY": 544, "maxX": 1813, "maxY": 680, "bold": true}, - {"char": 1214, "minX": 1813, "minY": 544, "maxX": 1894, "maxY": 680, "bold": true}, - {"char": 1186, "minX": 1894, "minY": 544, "maxX": 1975, "maxY": 680, "bold": true}, - {"char": 1192, "minX": 1975, "minY": 544, "maxX": 2056, "maxY": 680, "bold": true}, - {"char": 1162, "minX": 2056, "minY": 544, "maxX": 2137, "maxY": 680, "bold": true}, - {"char": 189, "minX": 2137, "minY": 544, "maxX": 2218, "maxY": 680, "bold": true}, - {"char": 1066, "minX": 2218, "minY": 544, "maxX": 2298, "maxY": 680, "bold": true}, - {"char": 1206, "minX": 2298, "minY": 544, "maxX": 2377, "maxY": 680, "bold": true}, - {"char": 1125, "minX": 2377, "minY": 544, "maxX": 2456, "maxY": 680, "bold": true}, - {"char": 1084, "minX": 2456, "minY": 544, "maxX": 2535, "maxY": 680, "bold": true}, - {"char": 1062, "minX": 2535, "minY": 544, "maxX": 2614, "maxY": 680, "bold": true}, - {"char": 1044, "minX": 2614, "minY": 544, "maxX": 2693, "maxY": 680, "bold": true}, - {"char": 1026, "minX": 2693, "minY": 544, "maxX": 2772, "maxY": 680, "bold": true}, - {"char": 8369, "minX": 2772, "minY": 544, "maxX": 2850, "maxY": 680, "bold": true}, - {"char": 8453, "minX": 2850, "minY": 544, "maxX": 2928, "maxY": 680, "bold": true}, - {"char": 7809, "minX": 2928, "minY": 544, "maxX": 3006, "maxY": 680, "bold": true}, - {"char": 7811, "minX": 3006, "minY": 544, "maxX": 3084, "maxY": 680, "bold": true}, - {"char": 7813, "minX": 3084, "minY": 544, "maxX": 3162, "maxY": 680, "bold": true}, - {"char": 1131, "minX": 3162, "minY": 544, "maxX": 3240, "maxY": 680, "bold": true}, - {"char": 934, "minX": 3240, "minY": 544, "maxX": 3318, "maxY": 680, "bold": true}, - {"char": 373, "minX": 3318, "minY": 544, "maxX": 3396, "maxY": 680, "bold": true}, - {"char": 119, "minX": 3396, "minY": 544, "maxX": 3474, "maxY": 680, "bold": true}, - {"char": 1099, "minX": 3474, "minY": 544, "maxX": 3554, "maxY": 675, "bold": false}, - {"char": 1060, "minX": 3554, "minY": 544, "maxX": 3634, "maxY": 675, "bold": false}, - {"char": 1298, "minX": 3634, "minY": 544, "maxX": 3713, "maxY": 675, "bold": false}, - {"char": 1284, "minX": 3713, "minY": 544, "maxX": 3792, "maxY": 675, "bold": false}, - {"char": 1151, "minX": 3792, "minY": 544, "maxX": 3871, "maxY": 675, "bold": false}, - {"char": 1121, "minX": 3871, "minY": 544, "maxX": 3950, "maxY": 675, "bold": false}, - {"char": 1035, "minX": 3950, "minY": 544, "maxX": 4029, "maxY": 675, "bold": false}, - {"char": 8486, "minX": 4029, "minY": 544, "maxX": 4096, "maxY": 675, "bold": false}, - {"char": 1092, "minX": 0, "minY": 680, "maxX": 77, "maxY": 816, "bold": true}, - {"char": 966, "minX": 77, "minY": 680, "maxX": 154, "maxY": 816, "bold": true}, - {"char": 188, "minX": 154, "minY": 680, "maxX": 231, "maxY": 816, "bold": true}, - {"char": 37, "minX": 231, "minY": 680, "maxX": 308, "maxY": 816, "bold": true}, - {"char": 190, "minX": 308, "minY": 680, "maxX": 387, "maxY": 811, "bold": false}, - {"char": 8539, "minX": 387, "minY": 680, "maxX": 465, "maxY": 811, "bold": false}, - {"char": 1225, "minX": 465, "minY": 680, "maxX": 543, "maxY": 811, "bold": false}, - {"char": 1149, "minX": 543, "minY": 680, "maxX": 621, "maxY": 811, "bold": false}, - {"char": 1129, "minX": 621, "minY": 680, "maxX": 699, "maxY": 811, "bold": false}, - {"char": 905, "minX": 699, "minY": 680, "maxX": 777, "maxY": 811, "bold": false}, - {"char": 169, "minX": 777, "minY": 680, "maxX": 855, "maxY": 811, "bold": false}, - {"char": 174, "minX": 855, "minY": 680, "maxX": 933, "maxY": 811, "bold": false}, - {"char": 8361, "minX": 933, "minY": 680, "maxX": 1010, "maxY": 811, "bold": false}, - {"char": 8213, "minX": 1010, "minY": 680, "maxX": 1087, "maxY": 811, "bold": false}, - {"char": 8212, "minX": 1087, "minY": 680, "maxX": 1164, "maxY": 811, "bold": false}, - {"char": 1221, "minX": 1164, "minY": 680, "maxX": 1241, "maxY": 811, "bold": false}, - {"char": 1212, "minX": 1241, "minY": 680, "maxX": 1318, "maxY": 811, "bold": false}, - {"char": 1214, "minX": 1318, "minY": 680, "maxX": 1395, "maxY": 811, "bold": false}, - {"char": 1186, "minX": 1395, "minY": 680, "maxX": 1472, "maxY": 811, "bold": false}, - {"char": 1192, "minX": 1472, "minY": 680, "maxX": 1549, "maxY": 811, "bold": false}, - {"char": 1162, "minX": 1549, "minY": 680, "maxX": 1626, "maxY": 811, "bold": false}, - {"char": 189, "minX": 1626, "minY": 680, "maxX": 1703, "maxY": 811, "bold": false}, - {"char": 1206, "minX": 1703, "minY": 680, "maxX": 1778, "maxY": 811, "bold": false}, - {"char": 1125, "minX": 1778, "minY": 680, "maxX": 1853, "maxY": 811, "bold": false}, - {"char": 1084, "minX": 1853, "minY": 680, "maxX": 1928, "maxY": 811, "bold": false}, - {"char": 1062, "minX": 1928, "minY": 680, "maxX": 2003, "maxY": 811, "bold": false}, - {"char": 1044, "minX": 2003, "minY": 680, "maxX": 2078, "maxY": 811, "bold": false}, - {"char": 1026, "minX": 2078, "minY": 680, "maxX": 2153, "maxY": 811, "bold": false}, - {"char": 8369, "minX": 2153, "minY": 680, "maxX": 2227, "maxY": 811, "bold": false}, - {"char": 8453, "minX": 2227, "minY": 680, "maxX": 2301, "maxY": 811, "bold": false}, - {"char": 7809, "minX": 2301, "minY": 680, "maxX": 2375, "maxY": 811, "bold": false}, - {"char": 7811, "minX": 2375, "minY": 680, "maxX": 2449, "maxY": 811, "bold": false}, - {"char": 7813, "minX": 2449, "minY": 680, "maxX": 2523, "maxY": 811, "bold": false}, - {"char": 1131, "minX": 2523, "minY": 680, "maxX": 2597, "maxY": 811, "bold": false}, - {"char": 934, "minX": 2597, "minY": 680, "maxX": 2671, "maxY": 811, "bold": false}, - {"char": 373, "minX": 2671, "minY": 680, "maxX": 2745, "maxY": 811, "bold": false}, - {"char": 119, "minX": 2745, "minY": 680, "maxX": 2819, "maxY": 811, "bold": false}, - {"char": 1092, "minX": 2819, "minY": 680, "maxX": 2892, "maxY": 811, "bold": false}, - {"char": 966, "minX": 2892, "minY": 680, "maxX": 2965, "maxY": 811, "bold": false}, - {"char": 188, "minX": 2965, "minY": 680, "maxX": 3038, "maxY": 811, "bold": false}, - {"char": 37, "minX": 3038, "minY": 680, "maxX": 3111, "maxY": 811, "bold": false}, - {"char": 8710, "minX": 3111, "minY": 680, "maxX": 3183, "maxY": 811, "bold": false}, - {"char": 1178, "minX": 3183, "minY": 680, "maxX": 3255, "maxY": 811, "bold": false}, - {"char": 1137, "minX": 3255, "minY": 680, "maxX": 3327, "maxY": 811, "bold": false}, - {"char": 968, "minX": 3327, "minY": 680, "maxX": 3399, "maxY": 811, "bold": false}, - {"char": 916, "minX": 3399, "minY": 680, "maxX": 3471, "maxY": 811, "bold": false}, - {"char": 8230, "minX": 3471, "minY": 680, "maxX": 3542, "maxY": 811, "bold": false}, - {"char": 7918, "minX": 3542, "minY": 680, "maxX": 3613, "maxY": 811, "bold": false}, - {"char": 7920, "minX": 3613, "minY": 680, "maxX": 3684, "maxY": 811, "bold": false}, - {"char": 7912, "minX": 3684, "minY": 680, "maxX": 3755, "maxY": 811, "bold": false}, - {"char": 7914, "minX": 3755, "minY": 680, "maxX": 3826, "maxY": 811, "bold": false}, - {"char": 7916, "minX": 3826, "minY": 680, "maxX": 3897, "maxY": 811, "bold": false}, - {"char": 1294, "minX": 3897, "minY": 680, "maxX": 3968, "maxY": 811, "bold": false}, - {"char": 1250, "minX": 3968, "minY": 680, "maxX": 4039, "maxY": 811, "bold": false}, - {"char": 8776, "minX": 4039, "minY": 680, "maxX": 4096, "maxY": 811, "bold": false}, - {"char": 8710, "minX": 0, "minY": 816, "maxX": 76, "maxY": 952, "bold": true}, - {"char": 1178, "minX": 76, "minY": 816, "maxX": 152, "maxY": 952, "bold": true}, - {"char": 1137, "minX": 152, "minY": 816, "maxX": 228, "maxY": 952, "bold": true}, - {"char": 968, "minX": 228, "minY": 816, "maxX": 304, "maxY": 952, "bold": true}, - {"char": 916, "minX": 304, "minY": 816, "maxX": 380, "maxY": 952, "bold": true}, - {"char": 8230, "minX": 380, "minY": 816, "maxX": 455, "maxY": 952, "bold": true}, - {"char": 7918, "minX": 455, "minY": 816, "maxX": 530, "maxY": 952, "bold": true}, - {"char": 7920, "minX": 530, "minY": 816, "maxX": 605, "maxY": 952, "bold": true}, - {"char": 7912, "minX": 605, "minY": 816, "maxX": 680, "maxY": 952, "bold": true}, - {"char": 7914, "minX": 680, "minY": 816, "maxX": 755, "maxY": 952, "bold": true}, - {"char": 7916, "minX": 755, "minY": 816, "maxX": 830, "maxY": 952, "bold": true}, - {"char": 1294, "minX": 830, "minY": 816, "maxX": 905, "maxY": 952, "bold": true}, - {"char": 1250, "minX": 905, "minY": 816, "maxX": 980, "maxY": 952, "bold": true}, - {"char": 1252, "minX": 980, "minY": 816, "maxX": 1055, "maxY": 952, "bold": true}, - {"char": 1223, "minX": 1055, "minY": 816, "maxX": 1130, "maxY": 952, "bold": true}, - {"char": 1185, "minX": 1130, "minY": 816, "maxX": 1205, "maxY": 952, "bold": true}, - {"char": 1189, "minX": 1205, "minY": 816, "maxX": 1280, "maxY": 952, "bold": true}, - {"char": 1136, "minX": 1280, "minY": 816, "maxX": 1355, "maxY": 952, "bold": true}, - {"char": 1053, "minX": 1355, "minY": 816, "maxX": 1430, "maxY": 952, "bold": true}, - {"char": 1055, "minX": 1430, "minY": 816, "maxX": 1505, "maxY": 952, "bold": true}, - {"char": 1039, "minX": 1505, "minY": 816, "maxX": 1580, "maxY": 952, "bold": true}, - {"char": 1048, "minX": 1580, "minY": 816, "maxX": 1655, "maxY": 952, "bold": true}, - {"char": 1049, "minX": 1655, "minY": 816, "maxX": 1730, "maxY": 952, "bold": true}, - {"char": 1051, "minX": 1730, "minY": 816, "maxX": 1805, "maxY": 952, "bold": true}, - {"char": 1037, "minX": 1805, "minY": 816, "maxX": 1880, "maxY": 952, "bold": true}, - {"char": 925, "minX": 1880, "minY": 816, "maxX": 1955, "maxY": 952, "bold": true}, - {"char": 928, "minX": 1955, "minY": 816, "maxX": 2030, "maxY": 952, "bold": true}, - {"char": 936, "minX": 2030, "minY": 816, "maxX": 2105, "maxY": 952, "bold": true}, - {"char": 908, "minX": 2105, "minY": 816, "maxX": 2180, "maxY": 952, "bold": true}, - {"char": 919, "minX": 2180, "minY": 816, "maxX": 2255, "maxY": 952, "bold": true}, - {"char": 431, "minX": 2255, "minY": 816, "maxX": 2330, "maxY": 952, "bold": true}, - {"char": 323, "minX": 2330, "minY": 816, "maxX": 2405, "maxY": 952, "bold": true}, - {"char": 325, "minX": 2405, "minY": 816, "maxX": 2480, "maxY": 952, "bold": true}, - {"char": 327, "minX": 2480, "minY": 816, "maxX": 2555, "maxY": 952, "bold": true}, - {"char": 292, "minX": 2555, "minY": 816, "maxX": 2630, "maxY": 952, "bold": true}, - {"char": 294, "minX": 2630, "minY": 816, "maxX": 2705, "maxY": 952, "bold": true}, - {"char": 209, "minX": 2705, "minY": 816, "maxX": 2780, "maxY": 952, "bold": true}, - {"char": 78, "minX": 2780, "minY": 816, "maxX": 2855, "maxY": 952, "bold": true}, - {"char": 72, "minX": 2855, "minY": 816, "maxX": 2930, "maxY": 952, "bold": true}, - {"char": 8719, "minX": 2930, "minY": 816, "maxX": 3004, "maxY": 952, "bold": true}, - {"char": 7844, "minX": 3004, "minY": 816, "maxX": 3078, "maxY": 952, "bold": true}, - {"char": 1182, "minX": 3078, "minY": 816, "maxX": 3152, "maxY": 952, "bold": true}, - {"char": 330, "minX": 3152, "minY": 816, "maxX": 3226, "maxY": 952, "bold": true}, - {"char": 164, "minX": 3226, "minY": 816, "maxX": 3300, "maxY": 952, "bold": true}, - {"char": 8381, "minX": 3300, "minY": 816, "maxX": 3373, "maxY": 952, "bold": true}, - {"char": 7904, "minX": 3373, "minY": 816, "maxX": 3446, "maxY": 952, "bold": true}, - {"char": 7906, "minX": 3446, "minY": 816, "maxX": 3519, "maxY": 952, "bold": true}, - {"char": 7892, "minX": 3519, "minY": 816, "maxX": 3592, "maxY": 952, "bold": true}, - {"char": 7894, "minX": 3592, "minY": 816, "maxX": 3665, "maxY": 952, "bold": true}, - {"char": 7896, "minX": 3665, "minY": 816, "maxX": 3738, "maxY": 952, "bold": true}, - {"char": 7898, "minX": 3738, "minY": 816, "maxX": 3811, "maxY": 952, "bold": true}, - {"char": 7900, "minX": 3811, "minY": 816, "maxX": 3884, "maxY": 952, "bold": true}, - {"char": 7902, "minX": 3884, "minY": 816, "maxX": 3957, "maxY": 952, "bold": true}, - {"char": 7884, "minX": 3957, "minY": 816, "maxX": 4030, "maxY": 952, "bold": true}, - {"char": 7919, "minX": 4030, "minY": 816, "maxX": 4096, "maxY": 952, "bold": true}, - {"char": 7886, "minX": 0, "minY": 952, "maxX": 73, "maxY": 1088, "bold": true}, - {"char": 7888, "minX": 73, "minY": 952, "maxX": 146, "maxY": 1088, "bold": true}, - {"char": 7846, "minX": 146, "minY": 952, "maxX": 219, "maxY": 1088, "bold": true}, - {"char": 1268, "minX": 219, "minY": 952, "maxX": 292, "maxY": 1088, "bold": true}, - {"char": 1254, "minX": 292, "minY": 952, "maxX": 365, "maxY": 1088, "bold": true}, - {"char": 1240, "minX": 365, "minY": 952, "maxX": 438, "maxY": 1088, "bold": true}, - {"char": 1242, "minX": 438, "minY": 952, "maxX": 511, "maxY": 1088, "bold": true}, - {"char": 1227, "minX": 511, "minY": 952, "maxX": 584, "maxY": 1088, "bold": true}, - {"char": 1210, "minX": 584, "minY": 952, "maxX": 657, "maxY": 1088, "bold": true}, - {"char": 1054, "minX": 657, "minY": 952, "maxX": 730, "maxY": 1088, "bold": true}, - {"char": 1063, "minX": 730, "minY": 952, "maxX": 803, "maxY": 1088, "bold": true}, - {"char": 927, "minX": 803, "minY": 952, "maxX": 876, "maxY": 1088, "bold": true}, - {"char": 399, "minX": 876, "minY": 952, "maxX": 949, "maxY": 1088, "bold": true}, - {"char": 416, "minX": 949, "minY": 952, "maxX": 1022, "maxY": 1088, "bold": true}, - {"char": 510, "minX": 1022, "minY": 952, "maxX": 1095, "maxY": 1088, "bold": true}, - {"char": 332, "minX": 1095, "minY": 952, "maxX": 1168, "maxY": 1088, "bold": true}, - {"char": 334, "minX": 1168, "minY": 952, "maxX": 1241, "maxY": 1088, "bold": true}, - {"char": 336, "minX": 1241, "minY": 952, "maxX": 1314, "maxY": 1088, "bold": true}, - {"char": 210, "minX": 1314, "minY": 952, "maxX": 1387, "maxY": 1088, "bold": true}, - {"char": 211, "minX": 1387, "minY": 952, "maxX": 1460, "maxY": 1088, "bold": true}, - {"char": 212, "minX": 1460, "minY": 952, "maxX": 1533, "maxY": 1088, "bold": true}, - {"char": 213, "minX": 1533, "minY": 952, "maxX": 1606, "maxY": 1088, "bold": true}, - {"char": 214, "minX": 1606, "minY": 952, "maxX": 1679, "maxY": 1088, "bold": true}, - {"char": 216, "minX": 1679, "minY": 952, "maxX": 1752, "maxY": 1088, "bold": true}, - {"char": 79, "minX": 1752, "minY": 952, "maxX": 1825, "maxY": 1088, "bold": true}, - {"char": 81, "minX": 1825, "minY": 952, "maxX": 1898, "maxY": 1088, "bold": true}, - {"char": 7862, "minX": 1898, "minY": 952, "maxX": 1970, "maxY": 1088, "bold": true}, - {"char": 7848, "minX": 1970, "minY": 952, "maxX": 2042, "maxY": 1088, "bold": true}, - {"char": 7850, "minX": 2042, "minY": 952, "maxX": 2114, "maxY": 1088, "bold": true}, - {"char": 7852, "minX": 2114, "minY": 952, "maxX": 2186, "maxY": 1088, "bold": true}, - {"char": 7854, "minX": 2186, "minY": 952, "maxX": 2258, "maxY": 1088, "bold": true}, - {"char": 7856, "minX": 2258, "minY": 952, "maxX": 2330, "maxY": 1088, "bold": true}, - {"char": 7858, "minX": 2330, "minY": 952, "maxX": 2402, "maxY": 1088, "bold": true}, - {"char": 7860, "minX": 2402, "minY": 952, "maxX": 2474, "maxY": 1088, "bold": true}, - {"char": 7840, "minX": 2474, "minY": 952, "maxX": 2546, "maxY": 1088, "bold": true}, - {"char": 7842, "minX": 2546, "minY": 952, "maxX": 2618, "maxY": 1088, "bold": true}, - {"char": 7680, "minX": 2618, "minY": 952, "maxX": 2690, "maxY": 1088, "bold": true}, - {"char": 1276, "minX": 2690, "minY": 952, "maxX": 2762, "maxY": 1088, "bold": true}, - {"char": 1256, "minX": 2762, "minY": 952, "maxX": 2834, "maxY": 1088, "bold": true}, - {"char": 1258, "minX": 2834, "minY": 952, "maxX": 2906, "maxY": 1088, "bold": true}, - {"char": 1232, "minX": 2906, "minY": 952, "maxX": 2978, "maxY": 1088, "bold": true}, - {"char": 1234, "minX": 2978, "minY": 952, "maxX": 3050, "maxY": 1088, "bold": true}, - {"char": 1208, "minX": 3050, "minY": 952, "maxX": 3122, "maxY": 1088, "bold": true}, - {"char": 1205, "minX": 3122, "minY": 952, "maxX": 3194, "maxY": 1088, "bold": true}, - {"char": 1138, "minX": 3194, "minY": 952, "maxX": 3266, "maxY": 1088, "bold": true}, - {"char": 1146, "minX": 3266, "minY": 952, "maxX": 3338, "maxY": 1088, "bold": true}, - {"char": 1040, "minX": 3338, "minY": 952, "maxX": 3410, "maxY": 1088, "bold": true}, - {"char": 913, "minX": 3410, "minY": 952, "maxX": 3482, "maxY": 1088, "bold": true}, - {"char": 920, "minX": 3482, "minY": 952, "maxX": 3554, "maxY": 1088, "bold": true}, - {"char": 902, "minX": 3554, "minY": 952, "maxX": 3626, "maxY": 1088, "bold": true}, - {"char": 904, "minX": 3626, "minY": 952, "maxX": 3698, "maxY": 1088, "bold": true}, - {"char": 506, "minX": 3698, "minY": 952, "maxX": 3770, "maxY": 1088, "bold": true}, - {"char": 288, "minX": 3770, "minY": 952, "maxX": 3842, "maxY": 1088, "bold": true}, - {"char": 290, "minX": 3842, "minY": 952, "maxX": 3914, "maxY": 1088, "bold": true}, - {"char": 284, "minX": 3914, "minY": 952, "maxX": 3986, "maxY": 1088, "bold": true}, - {"char": 286, "minX": 3986, "minY": 952, "maxX": 4058, "maxY": 1088, "bold": true}, - {"char": 8196, "minX": 4058, "minY": 952, "maxX": 4096, "maxY": 1088, "bold": true}, - {"char": 256, "minX": 0, "minY": 1088, "maxX": 72, "maxY": 1224, "bold": true}, - {"char": 258, "minX": 72, "minY": 1088, "maxX": 144, "maxY": 1224, "bold": true}, - {"char": 192, "minX": 144, "minY": 1088, "maxX": 216, "maxY": 1224, "bold": true}, - {"char": 193, "minX": 216, "minY": 1088, "maxX": 288, "maxY": 1224, "bold": true}, - {"char": 194, "minX": 288, "minY": 1088, "maxX": 360, "maxY": 1224, "bold": true}, - {"char": 195, "minX": 360, "minY": 1088, "maxX": 432, "maxY": 1224, "bold": true}, - {"char": 196, "minX": 432, "minY": 1088, "maxX": 504, "maxY": 1224, "bold": true}, - {"char": 197, "minX": 504, "minY": 1088, "maxX": 576, "maxY": 1224, "bold": true}, - {"char": 65, "minX": 576, "minY": 1088, "maxX": 648, "maxY": 1224, "bold": true}, - {"char": 71, "minX": 648, "minY": 1088, "maxX": 720, "maxY": 1224, "bold": true}, - {"char": 8486, "minX": 720, "minY": 1088, "maxX": 791, "maxY": 1224, "bold": true}, - {"char": 8380, "minX": 791, "minY": 1088, "maxX": 862, "maxY": 1224, "bold": true}, - {"char": 1296, "minX": 862, "minY": 1088, "maxX": 933, "maxY": 1224, "bold": true}, - {"char": 1028, "minX": 933, "minY": 1088, "maxX": 1004, "maxY": 1224, "bold": true}, - {"char": 937, "minX": 1004, "minY": 1088, "maxX": 1075, "maxY": 1224, "bold": true}, - {"char": 260, "minX": 1075, "minY": 1088, "maxX": 1146, "maxY": 1224, "bold": true}, - {"char": 7890, "minX": 1146, "minY": 1088, "maxX": 1216, "maxY": 1224, "bold": true}, - {"char": 1299, "minX": 1216, "minY": 1088, "maxX": 1286, "maxY": 1224, "bold": true}, - {"char": 1260, "minX": 1286, "minY": 1088, "maxX": 1356, "maxY": 1224, "bold": true}, - {"char": 1069, "minX": 1356, "minY": 1088, "maxX": 1426, "maxY": 1224, "bold": true}, - {"char": 911, "minX": 1426, "minY": 1088, "maxX": 1496, "maxY": 1224, "bold": true}, - {"char": 126, "minX": 1496, "minY": 1088, "maxX": 1566, "maxY": 1224, "bold": true}, - {"char": 8211, "minX": 1566, "minY": 1088, "maxX": 1635, "maxY": 1224, "bold": true}, - {"char": 7908, "minX": 1635, "minY": 1088, "maxX": 1704, "maxY": 1224, "bold": true}, - {"char": 7910, "minX": 1704, "minY": 1088, "maxX": 1773, "maxY": 1224, "bold": true}, - {"char": 1194, "minX": 1773, "minY": 1088, "maxX": 1842, "maxY": 1224, "bold": true}, - {"char": 1202, "minX": 1842, "minY": 1088, "maxX": 1911, "maxY": 1224, "bold": true}, - {"char": 1180, "minX": 1911, "minY": 1088, "maxX": 1980, "maxY": 1224, "bold": true}, - {"char": 1057, "minX": 1980, "minY": 1088, "maxX": 2049, "maxY": 1224, "bold": true}, - {"char": 923, "minX": 2049, "minY": 1088, "maxX": 2118, "maxY": 1224, "bold": true}, - {"char": 370, "minX": 2118, "minY": 1088, "maxX": 2187, "maxY": 1224, "bold": true}, - {"char": 360, "minX": 2187, "minY": 1088, "maxX": 2256, "maxY": 1224, "bold": true}, - {"char": 362, "minX": 2256, "minY": 1088, "maxX": 2325, "maxY": 1224, "bold": true}, - {"char": 364, "minX": 2325, "minY": 1088, "maxX": 2394, "maxY": 1224, "bold": true}, - {"char": 366, "minX": 2394, "minY": 1088, "maxX": 2463, "maxY": 1224, "bold": true}, - {"char": 368, "minX": 2463, "minY": 1088, "maxX": 2532, "maxY": 1224, "bold": true}, - {"char": 262, "minX": 2532, "minY": 1088, "maxX": 2601, "maxY": 1224, "bold": true}, - {"char": 264, "minX": 2601, "minY": 1088, "maxX": 2670, "maxY": 1224, "bold": true}, - {"char": 266, "minX": 2670, "minY": 1088, "maxX": 2739, "maxY": 1224, "bold": true}, - {"char": 268, "minX": 2739, "minY": 1088, "maxX": 2808, "maxY": 1224, "bold": true}, - {"char": 270, "minX": 2808, "minY": 1088, "maxX": 2877, "maxY": 1224, "bold": true}, - {"char": 217, "minX": 2877, "minY": 1088, "maxX": 2946, "maxY": 1224, "bold": true}, - {"char": 218, "minX": 2946, "minY": 1088, "maxX": 3015, "maxY": 1224, "bold": true}, - {"char": 219, "minX": 3015, "minY": 1088, "maxX": 3084, "maxY": 1224, "bold": true}, - {"char": 220, "minX": 3084, "minY": 1088, "maxX": 3153, "maxY": 1224, "bold": true}, - {"char": 199, "minX": 3153, "minY": 1088, "maxX": 3222, "maxY": 1224, "bold": true}, - {"char": 85, "minX": 3222, "minY": 1088, "maxX": 3291, "maxY": 1224, "bold": true}, - {"char": 86, "minX": 3291, "minY": 1088, "maxX": 3360, "maxY": 1224, "bold": true}, - {"char": 67, "minX": 3360, "minY": 1088, "maxX": 3429, "maxY": 1224, "bold": true}, - {"char": 68, "minX": 3429, "minY": 1088, "maxX": 3498, "maxY": 1224, "bold": true}, - {"char": 1252, "minX": 3498, "minY": 1088, "maxX": 3569, "maxY": 1219, "bold": false}, - {"char": 1223, "minX": 3569, "minY": 1088, "maxX": 3640, "maxY": 1219, "bold": false}, - {"char": 1185, "minX": 3640, "minY": 1088, "maxX": 3711, "maxY": 1219, "bold": false}, - {"char": 1189, "minX": 3711, "minY": 1088, "maxX": 3782, "maxY": 1219, "bold": false}, - {"char": 1136, "minX": 3782, "minY": 1088, "maxX": 3853, "maxY": 1219, "bold": false}, - {"char": 1053, "minX": 3853, "minY": 1088, "maxX": 3924, "maxY": 1219, "bold": false}, - {"char": 1055, "minX": 3924, "minY": 1088, "maxX": 3995, "maxY": 1219, "bold": false}, - {"char": 1039, "minX": 3995, "minY": 1088, "maxX": 4066, "maxY": 1219, "bold": false}, - {"char": 8250, "minX": 4066, "minY": 1088, "maxX": 4096, "maxY": 1219, "bold": false}, - {"char": 1048, "minX": 0, "minY": 1224, "maxX": 71, "maxY": 1355, "bold": false}, - {"char": 1049, "minX": 71, "minY": 1224, "maxX": 142, "maxY": 1355, "bold": false}, - {"char": 1051, "minX": 142, "minY": 1224, "maxX": 213, "maxY": 1355, "bold": false}, - {"char": 1037, "minX": 213, "minY": 1224, "maxX": 284, "maxY": 1355, "bold": false}, - {"char": 925, "minX": 284, "minY": 1224, "maxX": 355, "maxY": 1355, "bold": false}, - {"char": 928, "minX": 355, "minY": 1224, "maxX": 426, "maxY": 1355, "bold": false}, - {"char": 936, "minX": 426, "minY": 1224, "maxX": 497, "maxY": 1355, "bold": false}, - {"char": 919, "minX": 497, "minY": 1224, "maxX": 568, "maxY": 1355, "bold": false}, - {"char": 431, "minX": 568, "minY": 1224, "maxX": 639, "maxY": 1355, "bold": false}, - {"char": 323, "minX": 639, "minY": 1224, "maxX": 710, "maxY": 1355, "bold": false}, - {"char": 325, "minX": 710, "minY": 1224, "maxX": 781, "maxY": 1355, "bold": false}, - {"char": 327, "minX": 781, "minY": 1224, "maxX": 852, "maxY": 1355, "bold": false}, - {"char": 292, "minX": 852, "minY": 1224, "maxX": 923, "maxY": 1355, "bold": false}, - {"char": 294, "minX": 923, "minY": 1224, "maxX": 994, "maxY": 1355, "bold": false}, - {"char": 209, "minX": 994, "minY": 1224, "maxX": 1065, "maxY": 1355, "bold": false}, - {"char": 78, "minX": 1065, "minY": 1224, "maxX": 1136, "maxY": 1355, "bold": false}, - {"char": 72, "minX": 1136, "minY": 1224, "maxX": 1207, "maxY": 1355, "bold": false}, - {"char": 8719, "minX": 1207, "minY": 1224, "maxX": 1277, "maxY": 1355, "bold": false}, - {"char": 908, "minX": 1277, "minY": 1224, "maxX": 1347, "maxY": 1355, "bold": false}, - {"char": 330, "minX": 1347, "minY": 1224, "maxX": 1417, "maxY": 1355, "bold": false}, - {"char": 164, "minX": 1417, "minY": 1224, "maxX": 1487, "maxY": 1355, "bold": false}, - {"char": 8381, "minX": 1487, "minY": 1224, "maxX": 1556, "maxY": 1355, "bold": false}, - {"char": 7904, "minX": 1556, "minY": 1224, "maxX": 1625, "maxY": 1355, "bold": false}, - {"char": 7906, "minX": 1625, "minY": 1224, "maxX": 1694, "maxY": 1355, "bold": false}, - {"char": 7890, "minX": 1694, "minY": 1224, "maxX": 1763, "maxY": 1355, "bold": false}, - {"char": 7892, "minX": 1763, "minY": 1224, "maxX": 1832, "maxY": 1355, "bold": false}, - {"char": 7894, "minX": 1832, "minY": 1224, "maxX": 1901, "maxY": 1355, "bold": false}, - {"char": 7896, "minX": 1901, "minY": 1224, "maxX": 1970, "maxY": 1355, "bold": false}, - {"char": 7898, "minX": 1970, "minY": 1224, "maxX": 2039, "maxY": 1355, "bold": false}, - {"char": 7900, "minX": 2039, "minY": 1224, "maxX": 2108, "maxY": 1355, "bold": false}, - {"char": 7902, "minX": 2108, "minY": 1224, "maxX": 2177, "maxY": 1355, "bold": false}, - {"char": 7884, "minX": 2177, "minY": 1224, "maxX": 2246, "maxY": 1355, "bold": false}, - {"char": 7886, "minX": 2246, "minY": 1224, "maxX": 2315, "maxY": 1355, "bold": false}, - {"char": 7888, "minX": 2315, "minY": 1224, "maxX": 2384, "maxY": 1355, "bold": false}, - {"char": 1268, "minX": 2384, "minY": 1224, "maxX": 2453, "maxY": 1355, "bold": false}, - {"char": 1254, "minX": 2453, "minY": 1224, "maxX": 2522, "maxY": 1355, "bold": false}, - {"char": 1240, "minX": 2522, "minY": 1224, "maxX": 2591, "maxY": 1355, "bold": false}, - {"char": 1242, "minX": 2591, "minY": 1224, "maxX": 2660, "maxY": 1355, "bold": false}, - {"char": 1227, "minX": 2660, "minY": 1224, "maxX": 2729, "maxY": 1355, "bold": false}, - {"char": 1210, "minX": 2729, "minY": 1224, "maxX": 2798, "maxY": 1355, "bold": false}, - {"char": 1054, "minX": 2798, "minY": 1224, "maxX": 2867, "maxY": 1355, "bold": false}, - {"char": 1063, "minX": 2867, "minY": 1224, "maxX": 2936, "maxY": 1355, "bold": false}, - {"char": 927, "minX": 2936, "minY": 1224, "maxX": 3005, "maxY": 1355, "bold": false}, - {"char": 399, "minX": 3005, "minY": 1224, "maxX": 3074, "maxY": 1355, "bold": false}, - {"char": 416, "minX": 3074, "minY": 1224, "maxX": 3143, "maxY": 1355, "bold": false}, - {"char": 510, "minX": 3143, "minY": 1224, "maxX": 3212, "maxY": 1355, "bold": false}, - {"char": 332, "minX": 3212, "minY": 1224, "maxX": 3281, "maxY": 1355, "bold": false}, - {"char": 334, "minX": 3281, "minY": 1224, "maxX": 3350, "maxY": 1355, "bold": false}, - {"char": 336, "minX": 3350, "minY": 1224, "maxX": 3419, "maxY": 1355, "bold": false}, - {"char": 210, "minX": 3419, "minY": 1224, "maxX": 3488, "maxY": 1355, "bold": false}, - {"char": 211, "minX": 3488, "minY": 1224, "maxX": 3557, "maxY": 1355, "bold": false}, - {"char": 212, "minX": 3557, "minY": 1224, "maxX": 3626, "maxY": 1355, "bold": false}, - {"char": 213, "minX": 3626, "minY": 1224, "maxX": 3695, "maxY": 1355, "bold": false}, - {"char": 214, "minX": 3695, "minY": 1224, "maxX": 3764, "maxY": 1355, "bold": false}, - {"char": 216, "minX": 3764, "minY": 1224, "maxX": 3833, "maxY": 1355, "bold": false}, - {"char": 79, "minX": 3833, "minY": 1224, "maxX": 3902, "maxY": 1355, "bold": false}, - {"char": 81, "minX": 3902, "minY": 1224, "maxX": 3971, "maxY": 1355, "bold": false}, - {"char": 1276, "minX": 3971, "minY": 1224, "maxX": 4039, "maxY": 1355, "bold": false}, - {"char": 8706, "minX": 4039, "minY": 1224, "maxX": 4096, "maxY": 1355, "bold": false}, - {"char": 7922, "minX": 0, "minY": 1355, "maxX": 68, "maxY": 1491, "bold": true}, - {"char": 7924, "minX": 68, "minY": 1355, "maxX": 136, "maxY": 1491, "bold": true}, - {"char": 7926, "minX": 136, "minY": 1355, "maxX": 204, "maxY": 1491, "bold": true}, - {"char": 7928, "minX": 204, "minY": 1355, "maxX": 272, "maxY": 1491, "bold": true}, - {"char": 1295, "minX": 272, "minY": 1355, "maxX": 340, "maxY": 1491, "bold": true}, - {"char": 1285, "minX": 340, "minY": 1355, "maxX": 408, "maxY": 1491, "bold": true}, - {"char": 1222, "minX": 408, "minY": 1355, "maxX": 476, "maxY": 1491, "bold": true}, - {"char": 1226, "minX": 476, "minY": 1355, "maxX": 544, "maxY": 1491, "bold": true}, - {"char": 1219, "minX": 544, "minY": 1355, "maxX": 612, "maxY": 1491, "bold": true}, - {"char": 1198, "minX": 612, "minY": 1355, "maxX": 680, "maxY": 1491, "bold": true}, - {"char": 1152, "minX": 680, "minY": 1355, "maxX": 748, "maxY": 1491, "bold": true}, - {"char": 1163, "minX": 748, "minY": 1355, "maxX": 816, "maxY": 1491, "bold": true}, - {"char": 1140, "minX": 816, "minY": 1355, "maxX": 884, "maxY": 1491, "bold": true}, - {"char": 1142, "minX": 884, "minY": 1355, "maxX": 952, "maxY": 1491, "bold": true}, - {"char": 1098, "minX": 952, "minY": 1355, "maxX": 1020, "maxY": 1491, "bold": true}, - {"char": 1056, "minX": 1020, "minY": 1355, "maxX": 1088, "maxY": 1491, "bold": true}, - {"char": 1050, "minX": 1088, "minY": 1355, "maxX": 1156, "maxY": 1491, "bold": true}, - {"char": 939, "minX": 1156, "minY": 1355, "maxX": 1224, "maxY": 1491, "bold": true}, - {"char": 929, "minX": 1224, "minY": 1355, "maxX": 1292, "maxY": 1491, "bold": true}, - {"char": 933, "minX": 1292, "minY": 1355, "maxX": 1360, "maxY": 1491, "bold": true}, - {"char": 374, "minX": 1360, "minY": 1355, "maxX": 1428, "maxY": 1491, "bold": true}, - {"char": 376, "minX": 1428, "minY": 1355, "maxX": 1496, "maxY": 1491, "bold": true}, - {"char": 271, "minX": 1496, "minY": 1355, "maxX": 1564, "maxY": 1491, "bold": true}, - {"char": 221, "minX": 1564, "minY": 1355, "maxX": 1632, "maxY": 1491, "bold": true}, - {"char": 89, "minX": 1632, "minY": 1355, "maxX": 1700, "maxY": 1491, "bold": true}, - {"char": 80, "minX": 1700, "minY": 1355, "maxX": 1768, "maxY": 1491, "bold": true}, - {"char": 38, "minX": 1768, "minY": 1355, "maxX": 1836, "maxY": 1491, "bold": true}, - {"char": 8494, "minX": 1836, "minY": 1355, "maxX": 1903, "maxY": 1491, "bold": true}, - {"char": 8482, "minX": 1903, "minY": 1355, "maxX": 1970, "maxY": 1491, "bold": true}, - {"char": 1292, "minX": 1970, "minY": 1355, "maxX": 2037, "maxY": 1491, "bold": true}, - {"char": 1278, "minX": 2037, "minY": 1355, "maxX": 2104, "maxY": 1491, "bold": true}, - {"char": 1280, "minX": 2104, "minY": 1355, "maxX": 2171, "maxY": 1491, "bold": true}, - {"char": 1264, "minX": 2171, "minY": 1355, "maxX": 2238, "maxY": 1491, "bold": true}, - {"char": 1266, "minX": 2238, "minY": 1355, "maxX": 2305, "maxY": 1491, "bold": true}, - {"char": 1262, "minX": 2305, "minY": 1355, "maxX": 2372, "maxY": 1491, "bold": true}, - {"char": 1200, "minX": 2372, "minY": 1355, "maxX": 2439, "maxY": 1491, "bold": true}, - {"char": 1187, "minX": 2439, "minY": 1355, "maxX": 2506, "maxY": 1491, "bold": true}, - {"char": 1166, "minX": 2506, "minY": 1355, "maxX": 2573, "maxY": 1491, "bold": true}, - {"char": 1164, "minX": 2573, "minY": 1355, "maxX": 2640, "maxY": 1491, "bold": true}, - {"char": 1122, "minX": 2640, "minY": 1355, "maxX": 2707, "maxY": 1491, "bold": true}, - {"char": 1126, "minX": 2707, "minY": 1355, "maxX": 2774, "maxY": 1491, "bold": true}, - {"char": 1068, "minX": 2774, "minY": 1355, "maxX": 2841, "maxY": 1491, "bold": true}, - {"char": 1059, "minX": 2841, "minY": 1355, "maxX": 2908, "maxY": 1491, "bold": true}, - {"char": 1061, "minX": 2908, "minY": 1355, "maxX": 2975, "maxY": 1491, "bold": true}, - {"char": 1041, "minX": 2975, "minY": 1355, "maxX": 3042, "maxY": 1491, "bold": true}, - {"char": 1042, "minX": 3042, "minY": 1355, "maxX": 3109, "maxY": 1491, "bold": true}, - {"char": 1036, "minX": 3109, "minY": 1355, "maxX": 3176, "maxY": 1491, "bold": true}, - {"char": 1038, "minX": 3176, "minY": 1355, "maxX": 3243, "maxY": 1491, "bold": true}, - {"char": 922, "minX": 3243, "minY": 1355, "maxX": 3310, "maxY": 1491, "bold": true}, - {"char": 935, "minX": 3310, "minY": 1355, "maxX": 3377, "maxY": 1491, "bold": true}, - {"char": 914, "minX": 3377, "minY": 1355, "maxX": 3444, "maxY": 1491, "bold": true}, - {"char": 310, "minX": 3444, "minY": 1355, "maxX": 3511, "maxY": 1491, "bold": true}, - {"char": 272, "minX": 3511, "minY": 1355, "maxX": 3578, "maxY": 1491, "bold": true}, - {"char": 208, "minX": 3578, "minY": 1355, "maxX": 3645, "maxY": 1491, "bold": true}, - {"char": 88, "minX": 3645, "minY": 1355, "maxX": 3712, "maxY": 1491, "bold": true}, - {"char": 75, "minX": 3712, "minY": 1355, "maxX": 3779, "maxY": 1491, "bold": true}, - {"char": 66, "minX": 3779, "minY": 1355, "maxX": 3846, "maxY": 1491, "bold": true}, - {"char": 7921, "minX": 3846, "minY": 1355, "maxX": 3912, "maxY": 1491, "bold": true}, - {"char": 7913, "minX": 3912, "minY": 1355, "maxX": 3978, "maxY": 1491, "bold": true}, - {"char": 7915, "minX": 3978, "minY": 1355, "maxX": 4044, "maxY": 1491, "bold": true}, - {"char": 713, "minX": 4044, "minY": 1355, "maxX": 4096, "maxY": 1491, "bold": true}, - {"char": 7917, "minX": 0, "minY": 1491, "maxX": 66, "maxY": 1627, "bold": true}, - {"char": 7891, "minX": 66, "minY": 1491, "maxX": 132, "maxY": 1627, "bold": true}, - {"char": 1193, "minX": 132, "minY": 1491, "maxX": 198, "maxY": 1627, "bold": true}, - {"char": 1179, "minX": 198, "minY": 1491, "maxX": 264, "maxY": 1627, "bold": true}, - {"char": 1172, "minX": 264, "minY": 1491, "maxX": 330, "maxY": 1627, "bold": true}, - {"char": 1154, "minX": 330, "minY": 1491, "maxX": 396, "maxY": 1627, "bold": true}, - {"char": 1071, "minX": 396, "minY": 1491, "maxX": 462, "maxY": 1627, "bold": true}, - {"char": 1076, "minX": 462, "minY": 1491, "maxX": 528, "maxY": 1627, "bold": true}, - {"char": 960, "minX": 528, "minY": 1491, "maxX": 594, "maxY": 1627, "bold": true}, - {"char": 432, "minX": 594, "minY": 1491, "maxX": 660, "maxY": 1627, "bold": true}, - {"char": 342, "minX": 660, "minY": 1491, "maxX": 726, "maxY": 1627, "bold": true}, - {"char": 344, "minX": 726, "minY": 1491, "maxX": 792, "maxY": 1627, "bold": true}, - {"char": 340, "minX": 792, "minY": 1491, "maxX": 858, "maxY": 1627, "bold": true}, - {"char": 273, "minX": 858, "minY": 1491, "maxX": 924, "maxY": 1627, "bold": true}, - {"char": 167, "minX": 924, "minY": 1491, "maxX": 990, "maxY": 1627, "bold": true}, - {"char": 82, "minX": 990, "minY": 1491, "maxX": 1056, "maxY": 1627, "bold": true}, - {"char": 1256, "minX": 1056, "minY": 1491, "maxX": 1124, "maxY": 1622, "bold": false}, - {"char": 1258, "minX": 1124, "minY": 1491, "maxX": 1192, "maxY": 1622, "bold": false}, - {"char": 1208, "minX": 1192, "minY": 1491, "maxX": 1260, "maxY": 1622, "bold": false}, - {"char": 1205, "minX": 1260, "minY": 1491, "maxX": 1328, "maxY": 1622, "bold": false}, - {"char": 1182, "minX": 1328, "minY": 1491, "maxX": 1396, "maxY": 1622, "bold": false}, - {"char": 1138, "minX": 1396, "minY": 1491, "maxX": 1464, "maxY": 1622, "bold": false}, - {"char": 1146, "minX": 1464, "minY": 1491, "maxX": 1532, "maxY": 1622, "bold": false}, - {"char": 920, "minX": 1532, "minY": 1491, "maxX": 1600, "maxY": 1622, "bold": false}, - {"char": 904, "minX": 1600, "minY": 1491, "maxX": 1668, "maxY": 1622, "bold": false}, - {"char": 288, "minX": 1668, "minY": 1491, "maxX": 1736, "maxY": 1622, "bold": false}, - {"char": 290, "minX": 1736, "minY": 1491, "maxX": 1804, "maxY": 1622, "bold": false}, - {"char": 284, "minX": 1804, "minY": 1491, "maxX": 1872, "maxY": 1622, "bold": false}, - {"char": 286, "minX": 1872, "minY": 1491, "maxX": 1940, "maxY": 1622, "bold": false}, - {"char": 71, "minX": 1940, "minY": 1491, "maxX": 2008, "maxY": 1622, "bold": false}, - {"char": 8380, "minX": 2008, "minY": 1491, "maxX": 2075, "maxY": 1622, "bold": false}, - {"char": 7862, "minX": 2075, "minY": 1491, "maxX": 2142, "maxY": 1622, "bold": false}, - {"char": 7848, "minX": 2142, "minY": 1491, "maxX": 2209, "maxY": 1622, "bold": false}, - {"char": 7850, "minX": 2209, "minY": 1491, "maxX": 2276, "maxY": 1622, "bold": false}, - {"char": 7852, "minX": 2276, "minY": 1491, "maxX": 2343, "maxY": 1622, "bold": false}, - {"char": 7854, "minX": 2343, "minY": 1491, "maxX": 2410, "maxY": 1622, "bold": false}, - {"char": 7856, "minX": 2410, "minY": 1491, "maxX": 2477, "maxY": 1622, "bold": false}, - {"char": 7858, "minX": 2477, "minY": 1491, "maxX": 2544, "maxY": 1622, "bold": false}, - {"char": 7860, "minX": 2544, "minY": 1491, "maxX": 2611, "maxY": 1622, "bold": false}, - {"char": 7840, "minX": 2611, "minY": 1491, "maxX": 2678, "maxY": 1622, "bold": false}, - {"char": 7842, "minX": 2678, "minY": 1491, "maxX": 2745, "maxY": 1622, "bold": false}, - {"char": 7844, "minX": 2745, "minY": 1491, "maxX": 2812, "maxY": 1622, "bold": false}, - {"char": 7846, "minX": 2812, "minY": 1491, "maxX": 2879, "maxY": 1622, "bold": false}, - {"char": 1296, "minX": 2879, "minY": 1491, "maxX": 2946, "maxY": 1622, "bold": false}, - {"char": 7680, "minX": 2946, "minY": 1491, "maxX": 3013, "maxY": 1622, "bold": false}, - {"char": 1232, "minX": 3013, "minY": 1491, "maxX": 3080, "maxY": 1622, "bold": false}, - {"char": 1234, "minX": 3080, "minY": 1491, "maxX": 3147, "maxY": 1622, "bold": false}, - {"char": 1040, "minX": 3147, "minY": 1491, "maxX": 3214, "maxY": 1622, "bold": false}, - {"char": 1028, "minX": 3214, "minY": 1491, "maxX": 3281, "maxY": 1622, "bold": false}, - {"char": 937, "minX": 3281, "minY": 1491, "maxX": 3348, "maxY": 1622, "bold": false}, - {"char": 913, "minX": 3348, "minY": 1491, "maxX": 3415, "maxY": 1622, "bold": false}, - {"char": 902, "minX": 3415, "minY": 1491, "maxX": 3482, "maxY": 1622, "bold": false}, - {"char": 506, "minX": 3482, "minY": 1491, "maxX": 3549, "maxY": 1622, "bold": false}, - {"char": 260, "minX": 3549, "minY": 1491, "maxX": 3616, "maxY": 1622, "bold": false}, - {"char": 256, "minX": 3616, "minY": 1491, "maxX": 3683, "maxY": 1622, "bold": false}, - {"char": 258, "minX": 3683, "minY": 1491, "maxX": 3750, "maxY": 1622, "bold": false}, - {"char": 192, "minX": 3750, "minY": 1491, "maxX": 3817, "maxY": 1622, "bold": false}, - {"char": 193, "minX": 3817, "minY": 1491, "maxX": 3884, "maxY": 1622, "bold": false}, - {"char": 194, "minX": 3884, "minY": 1491, "maxX": 3951, "maxY": 1622, "bold": false}, - {"char": 195, "minX": 3951, "minY": 1491, "maxX": 4018, "maxY": 1622, "bold": false}, - {"char": 196, "minX": 4018, "minY": 1491, "maxX": 4085, "maxY": 1622, "bold": false}, - {"char": 8202, "minX": 4085, "minY": 1491, "maxX": 4095, "maxY": 1622, "bold": false}, - {"char": 8721, "minX": 0, "minY": 1627, "maxX": 65, "maxY": 1763, "bold": true}, - {"char": 1207, "minX": 65, "minY": 1627, "maxX": 130, "maxY": 1763, "bold": true}, - {"char": 1213, "minX": 130, "minY": 1627, "maxX": 195, "maxY": 1763, "bold": true}, - {"char": 1215, "minX": 195, "minY": 1627, "maxX": 260, "maxY": 1763, "bold": true}, - {"char": 1196, "minX": 260, "minY": 1627, "maxX": 325, "maxY": 1763, "bold": true}, - {"char": 1058, "minX": 325, "minY": 1627, "maxX": 390, "maxY": 1763, "bold": true}, - {"char": 978, "minX": 390, "minY": 1627, "maxX": 455, "maxY": 1763, "bold": true}, - {"char": 932, "minX": 455, "minY": 1627, "maxX": 520, "maxY": 1763, "bold": true}, - {"char": 538, "minX": 520, "minY": 1627, "maxX": 585, "maxY": 1763, "bold": true}, - {"char": 356, "minX": 585, "minY": 1627, "maxX": 650, "maxY": 1763, "bold": true}, - {"char": 358, "minX": 650, "minY": 1627, "maxX": 715, "maxY": 1763, "bold": true}, - {"char": 354, "minX": 715, "minY": 1627, "maxX": 780, "maxY": 1763, "bold": true}, - {"char": 223, "minX": 780, "minY": 1627, "maxX": 845, "maxY": 1763, "bold": true}, - {"char": 84, "minX": 845, "minY": 1627, "maxX": 910, "maxY": 1763, "bold": true}, - {"char": 35, "minX": 910, "minY": 1627, "maxX": 975, "maxY": 1763, "bold": true}, - {"char": 197, "minX": 975, "minY": 1627, "maxX": 1042, "maxY": 1758, "bold": false}, - {"char": 65, "minX": 1042, "minY": 1627, "maxX": 1109, "maxY": 1758, "bold": false}, - {"char": 1299, "minX": 1109, "minY": 1627, "maxX": 1175, "maxY": 1758, "bold": false}, - {"char": 1260, "minX": 1175, "minY": 1627, "maxX": 1241, "maxY": 1758, "bold": false}, - {"char": 1069, "minX": 1241, "minY": 1627, "maxX": 1307, "maxY": 1758, "bold": false}, - {"char": 911, "minX": 1307, "minY": 1627, "maxX": 1373, "maxY": 1758, "bold": false}, - {"char": 126, "minX": 1373, "minY": 1627, "maxX": 1439, "maxY": 1758, "bold": false}, - {"char": 8211, "minX": 1439, "minY": 1627, "maxX": 1504, "maxY": 1758, "bold": false}, - {"char": 7908, "minX": 1504, "minY": 1627, "maxX": 1569, "maxY": 1758, "bold": false}, - {"char": 7910, "minX": 1569, "minY": 1627, "maxX": 1634, "maxY": 1758, "bold": false}, - {"char": 1194, "minX": 1634, "minY": 1627, "maxX": 1699, "maxY": 1758, "bold": false}, - {"char": 1202, "minX": 1699, "minY": 1627, "maxX": 1764, "maxY": 1758, "bold": false}, - {"char": 1180, "minX": 1764, "minY": 1627, "maxX": 1829, "maxY": 1758, "bold": false}, - {"char": 1057, "minX": 1829, "minY": 1627, "maxX": 1894, "maxY": 1758, "bold": false}, - {"char": 923, "minX": 1894, "minY": 1627, "maxX": 1959, "maxY": 1758, "bold": false}, - {"char": 370, "minX": 1959, "minY": 1627, "maxX": 2024, "maxY": 1758, "bold": false}, - {"char": 360, "minX": 2024, "minY": 1627, "maxX": 2089, "maxY": 1758, "bold": false}, - {"char": 362, "minX": 2089, "minY": 1627, "maxX": 2154, "maxY": 1758, "bold": false}, - {"char": 364, "minX": 2154, "minY": 1627, "maxX": 2219, "maxY": 1758, "bold": false}, - {"char": 366, "minX": 2219, "minY": 1627, "maxX": 2284, "maxY": 1758, "bold": false}, - {"char": 368, "minX": 2284, "minY": 1627, "maxX": 2349, "maxY": 1758, "bold": false}, - {"char": 262, "minX": 2349, "minY": 1627, "maxX": 2414, "maxY": 1758, "bold": false}, - {"char": 264, "minX": 2414, "minY": 1627, "maxX": 2479, "maxY": 1758, "bold": false}, - {"char": 266, "minX": 2479, "minY": 1627, "maxX": 2544, "maxY": 1758, "bold": false}, - {"char": 268, "minX": 2544, "minY": 1627, "maxX": 2609, "maxY": 1758, "bold": false}, - {"char": 270, "minX": 2609, "minY": 1627, "maxX": 2674, "maxY": 1758, "bold": false}, - {"char": 217, "minX": 2674, "minY": 1627, "maxX": 2739, "maxY": 1758, "bold": false}, - {"char": 218, "minX": 2739, "minY": 1627, "maxX": 2804, "maxY": 1758, "bold": false}, - {"char": 219, "minX": 2804, "minY": 1627, "maxX": 2869, "maxY": 1758, "bold": false}, - {"char": 220, "minX": 2869, "minY": 1627, "maxX": 2934, "maxY": 1758, "bold": false}, - {"char": 199, "minX": 2934, "minY": 1627, "maxX": 2999, "maxY": 1758, "bold": false}, - {"char": 85, "minX": 2999, "minY": 1627, "maxX": 3064, "maxY": 1758, "bold": false}, - {"char": 86, "minX": 3064, "minY": 1627, "maxX": 3129, "maxY": 1758, "bold": false}, - {"char": 67, "minX": 3129, "minY": 1627, "maxX": 3194, "maxY": 1758, "bold": false}, - {"char": 68, "minX": 3194, "minY": 1627, "maxX": 3259, "maxY": 1758, "bold": false}, - {"char": 1295, "minX": 3259, "minY": 1627, "maxX": 3323, "maxY": 1758, "bold": false}, - {"char": 1285, "minX": 3323, "minY": 1627, "maxX": 3387, "maxY": 1758, "bold": false}, - {"char": 1222, "minX": 3387, "minY": 1627, "maxX": 3451, "maxY": 1758, "bold": false}, - {"char": 1226, "minX": 3451, "minY": 1627, "maxX": 3515, "maxY": 1758, "bold": false}, - {"char": 1219, "minX": 3515, "minY": 1627, "maxX": 3579, "maxY": 1758, "bold": false}, - {"char": 1152, "minX": 3579, "minY": 1627, "maxX": 3643, "maxY": 1758, "bold": false}, - {"char": 1163, "minX": 3643, "minY": 1627, "maxX": 3707, "maxY": 1758, "bold": false}, - {"char": 1140, "minX": 3707, "minY": 1627, "maxX": 3771, "maxY": 1758, "bold": false}, - {"char": 1142, "minX": 3771, "minY": 1627, "maxX": 3835, "maxY": 1758, "bold": false}, - {"char": 1098, "minX": 3835, "minY": 1627, "maxX": 3899, "maxY": 1758, "bold": false}, - {"char": 1056, "minX": 3899, "minY": 1627, "maxX": 3963, "maxY": 1758, "bold": false}, - {"char": 1050, "minX": 3963, "minY": 1627, "maxX": 4027, "maxY": 1758, "bold": false}, - {"char": 929, "minX": 4027, "minY": 1627, "maxX": 4091, "maxY": 1758, "bold": false}, - {"char": 7873, "minX": 0, "minY": 1763, "maxX": 64, "maxY": 1899, "bold": true}, - {"char": 1274, "minX": 64, "minY": 1763, "maxX": 128, "maxY": 1899, "bold": true}, - {"char": 1246, "minX": 128, "minY": 1763, "maxX": 192, "maxY": 1899, "bold": true}, - {"char": 1183, "minX": 192, "minY": 1763, "maxX": 256, "maxY": 1899, "bold": true}, - {"char": 1176, "minX": 256, "minY": 1763, "maxX": 320, "maxY": 1899, "bold": true}, - {"char": 1094, "minX": 320, "minY": 1763, "maxX": 384, "maxY": 1899, "bold": true}, - {"char": 1047, "minX": 384, "minY": 1763, "maxX": 448, "maxY": 1899, "bold": true}, - {"char": 1029, "minX": 448, "minY": 1763, "maxX": 512, "maxY": 1899, "bold": true}, - {"char": 946, "minX": 512, "minY": 1763, "maxX": 576, "maxY": 1899, "bold": true}, - {"char": 918, "minX": 576, "minY": 1763, "maxX": 640, "maxY": 1899, "bold": true}, - {"char": 536, "minX": 640, "minY": 1763, "maxX": 704, "maxY": 1899, "bold": true}, - {"char": 377, "minX": 704, "minY": 1763, "maxX": 768, "maxY": 1899, "bold": true}, - {"char": 379, "minX": 768, "minY": 1763, "maxX": 832, "maxY": 1899, "bold": true}, - {"char": 381, "minX": 832, "minY": 1763, "maxX": 896, "maxY": 1899, "bold": true}, - {"char": 346, "minX": 896, "minY": 1763, "maxX": 960, "maxY": 1899, "bold": true}, - {"char": 348, "minX": 960, "minY": 1763, "maxX": 1024, "maxY": 1899, "bold": true}, - {"char": 350, "minX": 1024, "minY": 1763, "maxX": 1088, "maxY": 1899, "bold": true}, - {"char": 352, "minX": 1088, "minY": 1763, "maxX": 1152, "maxY": 1899, "bold": true}, - {"char": 222, "minX": 1152, "minY": 1763, "maxX": 1216, "maxY": 1899, "bold": true}, - {"char": 90, "minX": 1216, "minY": 1763, "maxX": 1280, "maxY": 1899, "bold": true}, - {"char": 83, "minX": 1280, "minY": 1763, "maxX": 1344, "maxY": 1899, "bold": true}, - {"char": 64258, "minX": 1344, "minY": 1763, "maxX": 1407, "maxY": 1899, "bold": true}, - {"char": 8730, "minX": 1407, "minY": 1763, "maxX": 1470, "maxY": 1899, "bold": true}, - {"char": 8356, "minX": 1470, "minY": 1763, "maxX": 1533, "maxY": 1899, "bold": true}, - {"char": 7872, "minX": 1533, "minY": 1763, "maxX": 1596, "maxY": 1899, "bold": true}, - {"char": 977, "minX": 1596, "minY": 1763, "maxX": 1659, "maxY": 1899, "bold": true}, - {"char": 956, "minX": 1659, "minY": 1763, "maxX": 1722, "maxY": 1899, "bold": true}, - {"char": 181, "minX": 1722, "minY": 1763, "maxX": 1785, "maxY": 1899, "bold": true}, - {"char": 163, "minX": 1785, "minY": 1763, "maxX": 1848, "maxY": 1899, "bold": true}, - {"char": 64257, "minX": 1848, "minY": 1763, "maxX": 1910, "maxY": 1899, "bold": true}, - {"char": 8363, "minX": 1910, "minY": 1763, "maxX": 1972, "maxY": 1899, "bold": true}, - {"char": 8378, "minX": 1972, "minY": 1763, "maxX": 2034, "maxY": 1899, "bold": true}, - {"char": 7905, "minX": 2034, "minY": 1763, "maxX": 2096, "maxY": 1899, "bold": true}, - {"char": 7907, "minX": 2096, "minY": 1763, "maxX": 2158, "maxY": 1899, "bold": true}, - {"char": 7899, "minX": 2158, "minY": 1763, "maxX": 2220, "maxY": 1899, "bold": true}, - {"char": 7901, "minX": 2220, "minY": 1763, "maxX": 2282, "maxY": 1899, "bold": true}, - {"char": 7903, "minX": 2282, "minY": 1763, "maxX": 2344, "maxY": 1899, "bold": true}, - {"char": 7847, "minX": 2344, "minY": 1763, "maxX": 2406, "maxY": 1899, "bold": true}, - {"char": 1249, "minX": 2406, "minY": 1763, "maxX": 2468, "maxY": 1899, "bold": true}, - {"char": 1248, "minX": 2468, "minY": 1763, "maxX": 2530, "maxY": 1899, "bold": true}, - {"char": 1181, "minX": 2530, "minY": 1763, "maxX": 2592, "maxY": 1899, "bold": true}, - {"char": 1083, "minX": 2592, "minY": 1763, "maxX": 2654, "maxY": 1899, "bold": true}, - {"char": 952, "minX": 2654, "minY": 1763, "maxX": 2716, "maxY": 1899, "bold": true}, - {"char": 417, "minX": 2716, "minY": 1763, "maxX": 2778, "maxY": 1899, "bold": true}, - {"char": 240, "minX": 2778, "minY": 1763, "maxX": 2840, "maxY": 1899, "bold": true}, - {"char": 271, "minX": 2840, "minY": 1763, "maxX": 2904, "maxY": 1894, "bold": false}, - {"char": 80, "minX": 2904, "minY": 1763, "maxX": 2968, "maxY": 1894, "bold": false}, - {"char": 38, "minX": 2968, "minY": 1763, "maxX": 3032, "maxY": 1894, "bold": false}, - {"char": 8494, "minX": 3032, "minY": 1763, "maxX": 3095, "maxY": 1894, "bold": false}, - {"char": 8482, "minX": 3095, "minY": 1763, "maxX": 3158, "maxY": 1894, "bold": false}, - {"char": 1292, "minX": 3158, "minY": 1763, "maxX": 3221, "maxY": 1894, "bold": false}, - {"char": 1278, "minX": 3221, "minY": 1763, "maxX": 3284, "maxY": 1894, "bold": false}, - {"char": 1280, "minX": 3284, "minY": 1763, "maxX": 3347, "maxY": 1894, "bold": false}, - {"char": 1264, "minX": 3347, "minY": 1763, "maxX": 3410, "maxY": 1894, "bold": false}, - {"char": 1266, "minX": 3410, "minY": 1763, "maxX": 3473, "maxY": 1894, "bold": false}, - {"char": 1262, "minX": 3473, "minY": 1763, "maxX": 3536, "maxY": 1894, "bold": false}, - {"char": 1187, "minX": 3536, "minY": 1763, "maxX": 3599, "maxY": 1894, "bold": false}, - {"char": 1166, "minX": 3599, "minY": 1763, "maxX": 3662, "maxY": 1894, "bold": false}, - {"char": 1164, "minX": 3662, "minY": 1763, "maxX": 3725, "maxY": 1894, "bold": false}, - {"char": 1122, "minX": 3725, "minY": 1763, "maxX": 3788, "maxY": 1894, "bold": false}, - {"char": 1126, "minX": 3788, "minY": 1763, "maxX": 3851, "maxY": 1894, "bold": false}, - {"char": 1068, "minX": 3851, "minY": 1763, "maxX": 3914, "maxY": 1894, "bold": false}, - {"char": 1059, "minX": 3914, "minY": 1763, "maxX": 3977, "maxY": 1894, "bold": false}, - {"char": 1061, "minX": 3977, "minY": 1763, "maxX": 4040, "maxY": 1894, "bold": false}, - {"char": 8800, "minX": 4040, "minY": 1763, "maxX": 4096, "maxY": 1894, "bold": false}, - {"char": 8776, "minX": 0, "minY": 1899, "maxX": 61, "maxY": 2035, "bold": true}, - {"char": 8706, "minX": 61, "minY": 1899, "maxX": 122, "maxY": 2035, "bold": true}, - {"char": 8364, "minX": 122, "minY": 1899, "maxX": 183, "maxY": 2035, "bold": true}, - {"char": 8225, "minX": 183, "minY": 1899, "maxX": 244, "maxY": 2035, "bold": true}, - {"char": 7893, "minX": 244, "minY": 1899, "maxX": 305, "maxY": 2035, "bold": true}, - {"char": 7895, "minX": 305, "minY": 1899, "maxX": 366, "maxY": 2035, "bold": true}, - {"char": 7897, "minX": 366, "minY": 1899, "maxX": 427, "maxY": 2035, "bold": true}, - {"char": 7876, "minX": 427, "minY": 1899, "maxX": 488, "maxY": 2035, "bold": true}, - {"char": 7878, "minX": 488, "minY": 1899, "maxX": 549, "maxY": 2035, "bold": true}, - {"char": 7885, "minX": 549, "minY": 1899, "maxX": 610, "maxY": 2035, "bold": true}, - {"char": 7887, "minX": 610, "minY": 1899, "maxX": 671, "maxY": 2035, "bold": true}, - {"char": 7889, "minX": 671, "minY": 1899, "maxX": 732, "maxY": 2035, "bold": true}, - {"char": 7864, "minX": 732, "minY": 1899, "maxX": 793, "maxY": 2035, "bold": true}, - {"char": 7866, "minX": 793, "minY": 1899, "maxX": 854, "maxY": 2035, "bold": true}, - {"char": 7868, "minX": 854, "minY": 1899, "maxX": 915, "maxY": 2035, "bold": true}, - {"char": 7870, "minX": 915, "minY": 1899, "maxX": 976, "maxY": 2035, "bold": true}, - {"char": 7874, "minX": 976, "minY": 1899, "maxX": 1037, "maxY": 2035, "bold": true}, - {"char": 1251, "minX": 1037, "minY": 1899, "maxX": 1098, "maxY": 2035, "bold": true}, - {"char": 1253, "minX": 1098, "minY": 1899, "maxX": 1159, "maxY": 2035, "bold": true}, - {"char": 1255, "minX": 1159, "minY": 1899, "maxX": 1220, "maxY": 2035, "bold": true}, - {"char": 1257, "minX": 1220, "minY": 1899, "maxX": 1281, "maxY": 2035, "bold": true}, - {"char": 1259, "minX": 1281, "minY": 1899, "maxX": 1342, "maxY": 2035, "bold": true}, - {"char": 1238, "minX": 1342, "minY": 1899, "maxX": 1403, "maxY": 2035, "bold": true}, - {"char": 1224, "minX": 1403, "minY": 1899, "maxX": 1464, "maxY": 2035, "bold": true}, - {"char": 1167, "minX": 1464, "minY": 1899, "maxX": 1525, "maxY": 2035, "bold": true}, - {"char": 1139, "minX": 1525, "minY": 1899, "maxX": 1586, "maxY": 2035, "bold": true}, - {"char": 1147, "minX": 1586, "minY": 1899, "maxX": 1647, "maxY": 2035, "bold": true}, - {"char": 1117, "minX": 1647, "minY": 1899, "maxX": 1708, "maxY": 2035, "bold": true}, - {"char": 1119, "minX": 1708, "minY": 1899, "maxX": 1769, "maxY": 2035, "bold": true}, - {"char": 1080, "minX": 1769, "minY": 1899, "maxX": 1830, "maxY": 2035, "bold": true}, - {"char": 1081, "minX": 1830, "minY": 1899, "maxX": 1891, "maxY": 2035, "bold": true}, - {"char": 1085, "minX": 1891, "minY": 1899, "maxX": 1952, "maxY": 2035, "bold": true}, - {"char": 1086, "minX": 1952, "minY": 1899, "maxX": 2013, "maxY": 2035, "bold": true}, - {"char": 1087, "minX": 2013, "minY": 1899, "maxX": 2074, "maxY": 2035, "bold": true}, - {"char": 1074, "minX": 2074, "minY": 1899, "maxX": 2135, "maxY": 2035, "bold": true}, - {"char": 1045, "minX": 2135, "minY": 1899, "maxX": 2196, "maxY": 2035, "bold": true}, - {"char": 1025, "minX": 2196, "minY": 1899, "maxX": 2257, "maxY": 2035, "bold": true}, - {"char": 972, "minX": 2257, "minY": 1899, "maxX": 2318, "maxY": 2035, "bold": true}, - {"char": 1024, "minX": 2318, "minY": 1899, "maxX": 2379, "maxY": 2035, "bold": true}, - {"char": 951, "minX": 2379, "minY": 1899, "maxX": 2440, "maxY": 2035, "bold": true}, - {"char": 954, "minX": 2440, "minY": 1899, "maxX": 2501, "maxY": 2035, "bold": true}, - {"char": 959, "minX": 2501, "minY": 1899, "maxX": 2562, "maxY": 2035, "bold": true}, - {"char": 961, "minX": 2562, "minY": 1899, "maxX": 2623, "maxY": 2035, "bold": true}, - {"char": 963, "minX": 2623, "minY": 1899, "maxX": 2684, "maxY": 2035, "bold": true}, - {"char": 942, "minX": 2684, "minY": 1899, "maxX": 2745, "maxY": 2035, "bold": true}, - {"char": 948, "minX": 2745, "minY": 1899, "maxX": 2806, "maxY": 2035, "bold": true}, - {"char": 926, "minX": 2806, "minY": 1899, "maxX": 2867, "maxY": 2035, "bold": true}, - {"char": 931, "minX": 2867, "minY": 1899, "maxX": 2928, "maxY": 2035, "bold": true}, - {"char": 917, "minX": 2928, "minY": 1899, "maxX": 2989, "maxY": 2035, "bold": true}, - {"char": 511, "minX": 2989, "minY": 1899, "maxX": 3050, "maxY": 2035, "bold": true}, - {"char": 331, "minX": 3050, "minY": 1899, "maxX": 3111, "maxY": 2035, "bold": true}, - {"char": 333, "minX": 3111, "minY": 1899, "maxX": 3172, "maxY": 2035, "bold": true}, - {"char": 335, "minX": 3172, "minY": 1899, "maxX": 3233, "maxY": 2035, "bold": true}, - {"char": 337, "minX": 3233, "minY": 1899, "maxX": 3294, "maxY": 2035, "bold": true}, - {"char": 312, "minX": 3294, "minY": 1899, "maxX": 3355, "maxY": 2035, "bold": true}, - {"char": 287, "minX": 3355, "minY": 1899, "maxX": 3416, "maxY": 2035, "bold": true}, - {"char": 289, "minX": 3416, "minY": 1899, "maxX": 3477, "maxY": 2035, "bold": true}, - {"char": 291, "minX": 3477, "minY": 1899, "maxX": 3538, "maxY": 2035, "bold": true}, - {"char": 274, "minX": 3538, "minY": 1899, "maxX": 3599, "maxY": 2035, "bold": true}, - {"char": 276, "minX": 3599, "minY": 1899, "maxX": 3660, "maxY": 2035, "bold": true}, - {"char": 278, "minX": 3660, "minY": 1899, "maxX": 3721, "maxY": 2035, "bold": true}, - {"char": 280, "minX": 3721, "minY": 1899, "maxX": 3782, "maxY": 2035, "bold": true}, - {"char": 282, "minX": 3782, "minY": 1899, "maxX": 3843, "maxY": 2035, "bold": true}, - {"char": 285, "minX": 3843, "minY": 1899, "maxX": 3904, "maxY": 2035, "bold": true}, - {"char": 245, "minX": 3904, "minY": 1899, "maxX": 3965, "maxY": 2035, "bold": true}, - {"char": 246, "minX": 3965, "minY": 1899, "maxX": 4026, "maxY": 2035, "bold": true}, - {"char": 247, "minX": 4026, "minY": 1899, "maxX": 4087, "maxY": 2035, "bold": true}, - {"char": 248, "minX": 0, "minY": 2035, "maxX": 61, "maxY": 2171, "bold": true}, - {"char": 254, "minX": 61, "minY": 2035, "maxX": 122, "maxY": 2171, "bold": true}, - {"char": 242, "minX": 122, "minY": 2035, "maxX": 183, "maxY": 2171, "bold": true}, - {"char": 243, "minX": 183, "minY": 2035, "maxX": 244, "maxY": 2171, "bold": true}, - {"char": 244, "minX": 244, "minY": 2035, "maxX": 305, "maxY": 2171, "bold": true}, - {"char": 203, "minX": 305, "minY": 2035, "maxX": 366, "maxY": 2171, "bold": true}, - {"char": 200, "minX": 366, "minY": 2035, "maxX": 427, "maxY": 2171, "bold": true}, - {"char": 201, "minX": 427, "minY": 2035, "maxX": 488, "maxY": 2171, "bold": true}, - {"char": 202, "minX": 488, "minY": 2035, "maxX": 549, "maxY": 2171, "bold": true}, - {"char": 103, "minX": 549, "minY": 2035, "maxX": 610, "maxY": 2171, "bold": true}, - {"char": 111, "minX": 610, "minY": 2035, "maxX": 671, "maxY": 2171, "bold": true}, - {"char": 113, "minX": 671, "minY": 2035, "maxX": 732, "maxY": 2171, "bold": true}, - {"char": 69, "minX": 732, "minY": 2035, "maxX": 793, "maxY": 2171, "bold": true}, - {"char": 48, "minX": 793, "minY": 2035, "maxX": 854, "maxY": 2171, "bold": true}, - {"char": 49, "minX": 854, "minY": 2035, "maxX": 915, "maxY": 2171, "bold": true}, - {"char": 50, "minX": 915, "minY": 2035, "maxX": 976, "maxY": 2171, "bold": true}, - {"char": 51, "minX": 976, "minY": 2035, "maxX": 1037, "maxY": 2171, "bold": true}, - {"char": 52, "minX": 1037, "minY": 2035, "maxX": 1098, "maxY": 2171, "bold": true}, - {"char": 53, "minX": 1098, "minY": 2035, "maxX": 1159, "maxY": 2171, "bold": true}, - {"char": 54, "minX": 1159, "minY": 2035, "maxX": 1220, "maxY": 2171, "bold": true}, - {"char": 55, "minX": 1220, "minY": 2035, "maxX": 1281, "maxY": 2171, "bold": true}, - {"char": 56, "minX": 1281, "minY": 2035, "maxX": 1342, "maxY": 2171, "bold": true}, - {"char": 57, "minX": 1342, "minY": 2035, "maxX": 1403, "maxY": 2171, "bold": true}, - {"char": 36, "minX": 1403, "minY": 2035, "maxX": 1464, "maxY": 2171, "bold": true}, - {"char": 1041, "minX": 1464, "minY": 2035, "maxX": 1527, "maxY": 2166, "bold": false}, - {"char": 1042, "minX": 1527, "minY": 2035, "maxX": 1590, "maxY": 2166, "bold": false}, - {"char": 1036, "minX": 1590, "minY": 2035, "maxX": 1653, "maxY": 2166, "bold": false}, - {"char": 1038, "minX": 1653, "minY": 2035, "maxX": 1716, "maxY": 2166, "bold": false}, - {"char": 922, "minX": 1716, "minY": 2035, "maxX": 1779, "maxY": 2166, "bold": false}, - {"char": 935, "minX": 1779, "minY": 2035, "maxX": 1842, "maxY": 2166, "bold": false}, - {"char": 914, "minX": 1842, "minY": 2035, "maxX": 1905, "maxY": 2166, "bold": false}, - {"char": 310, "minX": 1905, "minY": 2035, "maxX": 1968, "maxY": 2166, "bold": false}, - {"char": 272, "minX": 1968, "minY": 2035, "maxX": 2031, "maxY": 2166, "bold": false}, - {"char": 208, "minX": 2031, "minY": 2035, "maxX": 2094, "maxY": 2166, "bold": false}, - {"char": 88, "minX": 2094, "minY": 2035, "maxX": 2157, "maxY": 2166, "bold": false}, - {"char": 75, "minX": 2157, "minY": 2035, "maxX": 2220, "maxY": 2166, "bold": false}, - {"char": 66, "minX": 2220, "minY": 2035, "maxX": 2283, "maxY": 2166, "bold": false}, - {"char": 7919, "minX": 2283, "minY": 2035, "maxX": 2345, "maxY": 2166, "bold": false}, - {"char": 7921, "minX": 2345, "minY": 2035, "maxX": 2407, "maxY": 2166, "bold": false}, - {"char": 7913, "minX": 2407, "minY": 2035, "maxX": 2469, "maxY": 2166, "bold": false}, - {"char": 7915, "minX": 2469, "minY": 2035, "maxX": 2531, "maxY": 2166, "bold": false}, - {"char": 7917, "minX": 2531, "minY": 2035, "maxX": 2593, "maxY": 2166, "bold": false}, - {"char": 1193, "minX": 2593, "minY": 2035, "maxX": 2655, "maxY": 2166, "bold": false}, - {"char": 1179, "minX": 2655, "minY": 2035, "maxX": 2717, "maxY": 2166, "bold": false}, - {"char": 1172, "minX": 2717, "minY": 2035, "maxX": 2779, "maxY": 2166, "bold": false}, - {"char": 1154, "minX": 2779, "minY": 2035, "maxX": 2841, "maxY": 2166, "bold": false}, - {"char": 1071, "minX": 2841, "minY": 2035, "maxX": 2903, "maxY": 2166, "bold": false}, - {"char": 1076, "minX": 2903, "minY": 2035, "maxX": 2965, "maxY": 2166, "bold": false}, - {"char": 960, "minX": 2965, "minY": 2035, "maxX": 3027, "maxY": 2166, "bold": false}, - {"char": 432, "minX": 3027, "minY": 2035, "maxX": 3089, "maxY": 2166, "bold": false}, - {"char": 342, "minX": 3089, "minY": 2035, "maxX": 3151, "maxY": 2166, "bold": false}, - {"char": 344, "minX": 3151, "minY": 2035, "maxX": 3213, "maxY": 2166, "bold": false}, - {"char": 340, "minX": 3213, "minY": 2035, "maxX": 3275, "maxY": 2166, "bold": false}, - {"char": 273, "minX": 3275, "minY": 2035, "maxX": 3337, "maxY": 2166, "bold": false}, - {"char": 167, "minX": 3337, "minY": 2035, "maxX": 3399, "maxY": 2166, "bold": false}, - {"char": 82, "minX": 3399, "minY": 2035, "maxX": 3461, "maxY": 2166, "bold": false}, - {"char": 8721, "minX": 3461, "minY": 2035, "maxX": 3522, "maxY": 2166, "bold": false}, - {"char": 7922, "minX": 3522, "minY": 2035, "maxX": 3583, "maxY": 2166, "bold": false}, - {"char": 7924, "minX": 3583, "minY": 2035, "maxX": 3644, "maxY": 2166, "bold": false}, - {"char": 7926, "minX": 3644, "minY": 2035, "maxX": 3705, "maxY": 2166, "bold": false}, - {"char": 7928, "minX": 3705, "minY": 2035, "maxX": 3766, "maxY": 2166, "bold": false}, - {"char": 1207, "minX": 3766, "minY": 2035, "maxX": 3827, "maxY": 2166, "bold": false}, - {"char": 1213, "minX": 3827, "minY": 2035, "maxX": 3888, "maxY": 2166, "bold": false}, - {"char": 1215, "minX": 3888, "minY": 2035, "maxX": 3949, "maxY": 2166, "bold": false}, - {"char": 1196, "minX": 3949, "minY": 2035, "maxX": 4010, "maxY": 2166, "bold": false}, - {"char": 1198, "minX": 4010, "minY": 2035, "maxX": 4071, "maxY": 2166, "bold": false}, - {"char": 8197, "minX": 4071, "minY": 2035, "maxX": 4096, "maxY": 2166, "bold": false}, - {"char": 8800, "minX": 0, "minY": 2171, "maxX": 60, "maxY": 2307, "bold": true}, - {"char": 8722, "minX": 60, "minY": 2171, "maxX": 120, "maxY": 2307, "bold": true}, - {"char": 8199, "minX": 120, "minY": 2171, "maxX": 180, "maxY": 2307, "bold": true}, - {"char": 7909, "minX": 180, "minY": 2171, "maxX": 240, "maxY": 2307, "bold": true}, - {"char": 7911, "minX": 240, "minY": 2171, "maxX": 300, "maxY": 2307, "bold": true}, - {"char": 1277, "minX": 300, "minY": 2171, "maxX": 360, "maxY": 2307, "bold": true}, - {"char": 1281, "minX": 360, "minY": 2171, "maxX": 420, "maxY": 2307, "bold": true}, - {"char": 1286, "minX": 420, "minY": 2171, "maxX": 480, "maxY": 2307, "bold": true}, - {"char": 1270, "minX": 480, "minY": 2171, "maxX": 540, "maxY": 2307, "bold": true}, - {"char": 1209, "minX": 540, "minY": 2171, "maxX": 600, "maxY": 2307, "bold": true}, - {"char": 1211, "minX": 600, "minY": 2171, "maxX": 660, "maxY": 2307, "bold": true}, - {"char": 1220, "minX": 660, "minY": 2171, "maxX": 720, "maxY": 2307, "bold": true}, - {"char": 1143, "minX": 720, "minY": 2171, "maxX": 780, "maxY": 2307, "bold": true}, - {"char": 1127, "minX": 780, "minY": 2171, "maxX": 840, "maxY": 2307, "bold": true}, - {"char": 1088, "minX": 840, "minY": 2171, "maxX": 900, "maxY": 2307, "bold": true}, - {"char": 1073, "minX": 900, "minY": 2171, "maxX": 960, "maxY": 2307, "bold": true}, - {"char": 1043, "minX": 960, "minY": 2171, "maxX": 1020, "maxY": 2307, "bold": true}, - {"char": 1027, "minX": 1020, "minY": 2171, "maxX": 1080, "maxY": 2307, "bold": true}, - {"char": 1032, "minX": 1080, "minY": 2171, "maxX": 1140, "maxY": 2307, "bold": true}, - {"char": 940, "minX": 1140, "minY": 2171, "maxX": 1200, "maxY": 2307, "bold": true}, - {"char": 945, "minX": 1200, "minY": 2171, "maxX": 1260, "maxY": 2307, "bold": true}, - {"char": 915, "minX": 1260, "minY": 2171, "maxX": 1320, "maxY": 2307, "bold": true}, - {"char": 371, "minX": 1320, "minY": 2171, "maxX": 1380, "maxY": 2307, "bold": true}, - {"char": 361, "minX": 1380, "minY": 2171, "maxX": 1440, "maxY": 2307, "bold": true}, - {"char": 363, "minX": 1440, "minY": 2171, "maxX": 1500, "maxY": 2307, "bold": true}, - {"char": 365, "minX": 1500, "minY": 2171, "maxX": 1560, "maxY": 2307, "bold": true}, - {"char": 367, "minX": 1560, "minY": 2171, "maxX": 1620, "maxY": 2307, "bold": true}, - {"char": 369, "minX": 1620, "minY": 2171, "maxX": 1680, "maxY": 2307, "bold": true}, - {"char": 328, "minX": 1680, "minY": 2171, "maxX": 1740, "maxY": 2307, "bold": true}, - {"char": 329, "minX": 1740, "minY": 2171, "maxX": 1800, "maxY": 2307, "bold": true}, - {"char": 324, "minX": 1800, "minY": 2171, "maxX": 1860, "maxY": 2307, "bold": true}, - {"char": 326, "minX": 1860, "minY": 2171, "maxX": 1920, "maxY": 2307, "bold": true}, - {"char": 308, "minX": 1920, "minY": 2171, "maxX": 1980, "maxY": 2307, "bold": true}, - {"char": 293, "minX": 1980, "minY": 2171, "maxX": 2040, "maxY": 2307, "bold": true}, - {"char": 249, "minX": 2040, "minY": 2171, "maxX": 2100, "maxY": 2307, "bold": true}, - {"char": 250, "minX": 2100, "minY": 2171, "maxX": 2160, "maxY": 2307, "bold": true}, - {"char": 251, "minX": 2160, "minY": 2171, "maxX": 2220, "maxY": 2307, "bold": true}, - {"char": 252, "minX": 2220, "minY": 2171, "maxX": 2280, "maxY": 2307, "bold": true}, - {"char": 241, "minX": 2280, "minY": 2171, "maxX": 2340, "maxY": 2307, "bold": true}, - {"char": 162, "minX": 2340, "minY": 2171, "maxX": 2400, "maxY": 2307, "bold": true}, - {"char": 117, "minX": 2400, "minY": 2171, "maxX": 2460, "maxY": 2307, "bold": true}, - {"char": 104, "minX": 2460, "minY": 2171, "maxX": 2520, "maxY": 2307, "bold": true}, - {"char": 110, "minX": 2520, "minY": 2171, "maxX": 2580, "maxY": 2307, "bold": true}, - {"char": 112, "minX": 2580, "minY": 2171, "maxX": 2640, "maxY": 2307, "bold": true}, - {"char": 98, "minX": 2640, "minY": 2171, "maxX": 2700, "maxY": 2307, "bold": true}, - {"char": 100, "minX": 2700, "minY": 2171, "maxX": 2760, "maxY": 2307, "bold": true}, - {"char": 74, "minX": 2760, "minY": 2171, "maxX": 2820, "maxY": 2307, "bold": true}, - {"char": 61, "minX": 2820, "minY": 2171, "maxX": 2880, "maxY": 2307, "bold": true}, - {"char": 43, "minX": 2880, "minY": 2171, "maxX": 2940, "maxY": 2307, "bold": true}, - {"char": 8355, "minX": 2940, "minY": 2171, "maxX": 2999, "maxY": 2307, "bold": true}, - {"char": 8224, "minX": 2999, "minY": 2171, "maxX": 3058, "maxY": 2307, "bold": true}, - {"char": 1297, "minX": 3058, "minY": 2171, "maxX": 3117, "maxY": 2307, "bold": true}, - {"char": 1269, "minX": 3117, "minY": 2171, "maxX": 3176, "maxY": 2307, "bold": true}, - {"char": 1228, "minX": 3176, "minY": 2171, "maxX": 3235, "maxY": 2307, "bold": true}, - {"char": 1168, "minX": 3235, "minY": 2171, "maxX": 3294, "maxY": 2307, "bold": true}, - {"char": 1116, "minX": 3294, "minY": 2171, "maxX": 3353, "maxY": 2307, "bold": true}, - {"char": 1095, "minX": 3353, "minY": 2171, "maxX": 3412, "maxY": 2307, "bold": true}, - {"char": 1100, "minX": 3412, "minY": 2171, "maxX": 3471, "maxY": 2307, "bold": true}, - {"char": 1103, "minX": 3471, "minY": 2171, "maxX": 3530, "maxY": 2307, "bold": true}, - {"char": 1082, "minX": 3530, "minY": 2171, "maxX": 3589, "maxY": 2307, "bold": true}, - {"char": 965, "minX": 3589, "minY": 2171, "maxX": 3648, "maxY": 2307, "bold": true}, - {"char": 971, "minX": 3648, "minY": 2171, "maxX": 3707, "maxY": 2307, "bold": true}, - {"char": 973, "minX": 3707, "minY": 2171, "maxX": 3766, "maxY": 2307, "bold": true}, - {"char": 955, "minX": 3766, "minY": 2171, "maxX": 3825, "maxY": 2307, "bold": true}, - {"char": 941, "minX": 3825, "minY": 2171, "maxX": 3884, "maxY": 2307, "bold": true}, - {"char": 944, "minX": 3884, "minY": 2171, "maxX": 3943, "maxY": 2307, "bold": true}, - {"char": 949, "minX": 3943, "minY": 2171, "maxX": 4002, "maxY": 2307, "bold": true}, - {"char": 321, "minX": 4002, "minY": 2171, "maxX": 4061, "maxY": 2307, "bold": true}, - {"char": 8249, "minX": 4061, "minY": 2171, "maxX": 4096, "maxY": 2307, "bold": true}, - {"char": 295, "minX": 0, "minY": 2307, "maxX": 59, "maxY": 2443, "bold": true}, - {"char": 165, "minX": 59, "minY": 2307, "maxX": 118, "maxY": 2443, "bold": true}, - {"char": 172, "minX": 118, "minY": 2307, "maxX": 177, "maxY": 2443, "bold": true}, - {"char": 70, "minX": 177, "minY": 2307, "maxX": 236, "maxY": 2443, "bold": true}, - {"char": 1200, "minX": 236, "minY": 2307, "maxX": 297, "maxY": 2438, "bold": false}, - {"char": 1058, "minX": 297, "minY": 2307, "maxX": 358, "maxY": 2438, "bold": false}, - {"char": 939, "minX": 358, "minY": 2307, "maxX": 419, "maxY": 2438, "bold": false}, - {"char": 932, "minX": 419, "minY": 2307, "maxX": 480, "maxY": 2438, "bold": false}, - {"char": 933, "minX": 480, "minY": 2307, "maxX": 541, "maxY": 2438, "bold": false}, - {"char": 538, "minX": 541, "minY": 2307, "maxX": 602, "maxY": 2438, "bold": false}, - {"char": 374, "minX": 602, "minY": 2307, "maxX": 663, "maxY": 2438, "bold": false}, - {"char": 376, "minX": 663, "minY": 2307, "maxX": 724, "maxY": 2438, "bold": false}, - {"char": 356, "minX": 724, "minY": 2307, "maxX": 785, "maxY": 2438, "bold": false}, - {"char": 358, "minX": 785, "minY": 2307, "maxX": 846, "maxY": 2438, "bold": false}, - {"char": 354, "minX": 846, "minY": 2307, "maxX": 907, "maxY": 2438, "bold": false}, - {"char": 221, "minX": 907, "minY": 2307, "maxX": 968, "maxY": 2438, "bold": false}, - {"char": 223, "minX": 968, "minY": 2307, "maxX": 1029, "maxY": 2438, "bold": false}, - {"char": 89, "minX": 1029, "minY": 2307, "maxX": 1090, "maxY": 2438, "bold": false}, - {"char": 84, "minX": 1090, "minY": 2307, "maxX": 1151, "maxY": 2438, "bold": false}, - {"char": 35, "minX": 1151, "minY": 2307, "maxX": 1212, "maxY": 2438, "bold": false}, - {"char": 1274, "minX": 1212, "minY": 2307, "maxX": 1272, "maxY": 2438, "bold": false}, - {"char": 1246, "minX": 1272, "minY": 2307, "maxX": 1332, "maxY": 2438, "bold": false}, - {"char": 1176, "minX": 1332, "minY": 2307, "maxX": 1392, "maxY": 2438, "bold": false}, - {"char": 1094, "minX": 1392, "minY": 2307, "maxX": 1452, "maxY": 2438, "bold": false}, - {"char": 1047, "minX": 1452, "minY": 2307, "maxX": 1512, "maxY": 2438, "bold": false}, - {"char": 1029, "minX": 1512, "minY": 2307, "maxX": 1572, "maxY": 2438, "bold": false}, - {"char": 978, "minX": 1572, "minY": 2307, "maxX": 1632, "maxY": 2438, "bold": false}, - {"char": 946, "minX": 1632, "minY": 2307, "maxX": 1692, "maxY": 2438, "bold": false}, - {"char": 918, "minX": 1692, "minY": 2307, "maxX": 1752, "maxY": 2438, "bold": false}, - {"char": 536, "minX": 1752, "minY": 2307, "maxX": 1812, "maxY": 2438, "bold": false}, - {"char": 377, "minX": 1812, "minY": 2307, "maxX": 1872, "maxY": 2438, "bold": false}, - {"char": 379, "minX": 1872, "minY": 2307, "maxX": 1932, "maxY": 2438, "bold": false}, - {"char": 381, "minX": 1932, "minY": 2307, "maxX": 1992, "maxY": 2438, "bold": false}, - {"char": 346, "minX": 1992, "minY": 2307, "maxX": 2052, "maxY": 2438, "bold": false}, - {"char": 348, "minX": 2052, "minY": 2307, "maxX": 2112, "maxY": 2438, "bold": false}, - {"char": 350, "minX": 2112, "minY": 2307, "maxX": 2172, "maxY": 2438, "bold": false}, - {"char": 352, "minX": 2172, "minY": 2307, "maxX": 2232, "maxY": 2438, "bold": false}, - {"char": 222, "minX": 2232, "minY": 2307, "maxX": 2292, "maxY": 2438, "bold": false}, - {"char": 90, "minX": 2292, "minY": 2307, "maxX": 2352, "maxY": 2438, "bold": false}, - {"char": 83, "minX": 2352, "minY": 2307, "maxX": 2412, "maxY": 2438, "bold": false}, - {"char": 64258, "minX": 2412, "minY": 2307, "maxX": 2471, "maxY": 2438, "bold": false}, - {"char": 8730, "minX": 2471, "minY": 2307, "maxX": 2530, "maxY": 2438, "bold": false}, - {"char": 8356, "minX": 2530, "minY": 2307, "maxX": 2589, "maxY": 2438, "bold": false}, - {"char": 7891, "minX": 2589, "minY": 2307, "maxX": 2648, "maxY": 2438, "bold": false}, - {"char": 977, "minX": 2648, "minY": 2307, "maxX": 2707, "maxY": 2438, "bold": false}, - {"char": 956, "minX": 2707, "minY": 2307, "maxX": 2766, "maxY": 2438, "bold": false}, - {"char": 181, "minX": 2766, "minY": 2307, "maxX": 2825, "maxY": 2438, "bold": false}, - {"char": 163, "minX": 2825, "minY": 2307, "maxX": 2884, "maxY": 2438, "bold": false}, - {"char": 64257, "minX": 2884, "minY": 2307, "maxX": 2942, "maxY": 2438, "bold": false}, - {"char": 8363, "minX": 2942, "minY": 2307, "maxX": 3000, "maxY": 2438, "bold": false}, - {"char": 8378, "minX": 3000, "minY": 2307, "maxX": 3058, "maxY": 2438, "bold": false}, - {"char": 7905, "minX": 3058, "minY": 2307, "maxX": 3116, "maxY": 2438, "bold": false}, - {"char": 7907, "minX": 3116, "minY": 2307, "maxX": 3174, "maxY": 2438, "bold": false}, - {"char": 7899, "minX": 3174, "minY": 2307, "maxX": 3232, "maxY": 2438, "bold": false}, - {"char": 7901, "minX": 3232, "minY": 2307, "maxX": 3290, "maxY": 2438, "bold": false}, - {"char": 7903, "minX": 3290, "minY": 2307, "maxX": 3348, "maxY": 2438, "bold": false}, - {"char": 1249, "minX": 3348, "minY": 2307, "maxX": 3406, "maxY": 2438, "bold": false}, - {"char": 1248, "minX": 3406, "minY": 2307, "maxX": 3464, "maxY": 2438, "bold": false}, - {"char": 1181, "minX": 3464, "minY": 2307, "maxX": 3522, "maxY": 2438, "bold": false}, - {"char": 1183, "minX": 3522, "minY": 2307, "maxX": 3580, "maxY": 2438, "bold": false}, - {"char": 1083, "minX": 3580, "minY": 2307, "maxX": 3638, "maxY": 2438, "bold": false}, - {"char": 952, "minX": 3638, "minY": 2307, "maxX": 3696, "maxY": 2438, "bold": false}, - {"char": 417, "minX": 3696, "minY": 2307, "maxX": 3754, "maxY": 2438, "bold": false}, - {"char": 240, "minX": 3754, "minY": 2307, "maxX": 3812, "maxY": 2438, "bold": false}, - {"char": 8364, "minX": 3812, "minY": 2307, "maxX": 3869, "maxY": 2438, "bold": false}, - {"char": 8225, "minX": 3869, "minY": 2307, "maxX": 3926, "maxY": 2438, "bold": false}, - {"char": 7893, "minX": 3926, "minY": 2307, "maxX": 3983, "maxY": 2438, "bold": false}, - {"char": 7895, "minX": 3983, "minY": 2307, "maxX": 4040, "maxY": 2438, "bold": false}, - {"char": 8722, "minX": 4040, "minY": 2307, "maxX": 4096, "maxY": 2438, "bold": false}, - {"char": 8252, "minX": 0, "minY": 2443, "maxX": 58, "maxY": 2579, "bold": true}, - {"char": 7877, "minX": 58, "minY": 2443, "maxX": 116, "maxY": 2579, "bold": true}, - {"char": 7879, "minX": 116, "minY": 2443, "maxX": 174, "maxY": 2579, "bold": true}, - {"char": 7863, "minX": 174, "minY": 2443, "maxX": 232, "maxY": 2579, "bold": true}, - {"char": 7865, "minX": 232, "minY": 2443, "maxX": 290, "maxY": 2579, "bold": true}, - {"char": 7867, "minX": 290, "minY": 2443, "maxX": 348, "maxY": 2579, "bold": true}, - {"char": 7869, "minX": 348, "minY": 2443, "maxX": 406, "maxY": 2579, "bold": true}, - {"char": 7871, "minX": 406, "minY": 2443, "maxX": 464, "maxY": 2579, "bold": true}, - {"char": 7875, "minX": 464, "minY": 2443, "maxX": 522, "maxY": 2579, "bold": true}, - {"char": 7849, "minX": 522, "minY": 2443, "maxX": 580, "maxY": 2579, "bold": true}, - {"char": 7851, "minX": 580, "minY": 2443, "maxX": 638, "maxY": 2579, "bold": true}, - {"char": 7853, "minX": 638, "minY": 2443, "maxX": 696, "maxY": 2579, "bold": true}, - {"char": 7855, "minX": 696, "minY": 2443, "maxX": 754, "maxY": 2579, "bold": true}, - {"char": 7857, "minX": 754, "minY": 2443, "maxX": 812, "maxY": 2579, "bold": true}, - {"char": 7859, "minX": 812, "minY": 2443, "maxX": 870, "maxY": 2579, "bold": true}, - {"char": 7861, "minX": 870, "minY": 2443, "maxX": 928, "maxY": 2579, "bold": true}, - {"char": 7841, "minX": 928, "minY": 2443, "maxX": 986, "maxY": 2579, "bold": true}, - {"char": 7843, "minX": 986, "minY": 2443, "maxX": 1044, "maxY": 2579, "bold": true}, - {"char": 7845, "minX": 1044, "minY": 2443, "maxX": 1102, "maxY": 2579, "bold": true}, - {"char": 7681, "minX": 1102, "minY": 2443, "maxX": 1160, "maxY": 2579, "bold": true}, - {"char": 1267, "minX": 1160, "minY": 2443, "maxX": 1218, "maxY": 2579, "bold": true}, - {"char": 1235, "minX": 1218, "minY": 2443, "maxX": 1276, "maxY": 2579, "bold": true}, - {"char": 1239, "minX": 1276, "minY": 2443, "maxX": 1334, "maxY": 2579, "bold": true}, - {"char": 1233, "minX": 1334, "minY": 2443, "maxX": 1392, "maxY": 2579, "bold": true}, - {"char": 1203, "minX": 1392, "minY": 2443, "maxX": 1450, "maxY": 2579, "bold": true}, - {"char": 1165, "minX": 1450, "minY": 2443, "maxX": 1508, "maxY": 2579, "bold": true}, - {"char": 1170, "minX": 1508, "minY": 2443, "maxX": 1566, "maxY": 2579, "bold": true}, - {"char": 1153, "minX": 1566, "minY": 2443, "maxX": 1624, "maxY": 2579, "bold": true}, - {"char": 1123, "minX": 1624, "minY": 2443, "maxX": 1682, "maxY": 2579, "bold": true}, - {"char": 1104, "minX": 1682, "minY": 2443, "maxX": 1740, "maxY": 2579, "bold": true}, - {"char": 1105, "minX": 1740, "minY": 2443, "maxX": 1798, "maxY": 2579, "bold": true}, - {"char": 1072, "minX": 1798, "minY": 2443, "maxX": 1856, "maxY": 2579, "bold": true}, - {"char": 1077, "minX": 1856, "minY": 2443, "maxX": 1914, "maxY": 2579, "bold": true}, - {"char": 507, "minX": 1914, "minY": 2443, "maxX": 1972, "maxY": 2579, "bold": true}, - {"char": 315, "minX": 1972, "minY": 2443, "maxX": 2030, "maxY": 2579, "bold": true}, - {"char": 317, "minX": 2030, "minY": 2443, "maxX": 2088, "maxY": 2579, "bold": true}, - {"char": 319, "minX": 2088, "minY": 2443, "maxX": 2146, "maxY": 2579, "bold": true}, - {"char": 313, "minX": 2146, "minY": 2443, "maxX": 2204, "maxY": 2579, "bold": true}, - {"char": 275, "minX": 2204, "minY": 2443, "maxX": 2262, "maxY": 2579, "bold": true}, - {"char": 277, "minX": 2262, "minY": 2443, "maxX": 2320, "maxY": 2579, "bold": true}, - {"char": 279, "minX": 2320, "minY": 2443, "maxX": 2378, "maxY": 2579, "bold": true}, - {"char": 281, "minX": 2378, "minY": 2443, "maxX": 2436, "maxY": 2579, "bold": true}, - {"char": 283, "minX": 2436, "minY": 2443, "maxX": 2494, "maxY": 2579, "bold": true}, - {"char": 259, "minX": 2494, "minY": 2443, "maxX": 2552, "maxY": 2579, "bold": true}, - {"char": 261, "minX": 2552, "minY": 2443, "maxX": 2610, "maxY": 2579, "bold": true}, - {"char": 257, "minX": 2610, "minY": 2443, "maxX": 2668, "maxY": 2579, "bold": true}, - {"char": 232, "minX": 2668, "minY": 2443, "maxX": 2726, "maxY": 2579, "bold": true}, - {"char": 233, "minX": 2726, "minY": 2443, "maxX": 2784, "maxY": 2579, "bold": true}, - {"char": 234, "minX": 2784, "minY": 2443, "maxX": 2842, "maxY": 2579, "bold": true}, - {"char": 235, "minX": 2842, "minY": 2443, "maxX": 2900, "maxY": 2579, "bold": true}, - {"char": 224, "minX": 2900, "minY": 2443, "maxX": 2958, "maxY": 2579, "bold": true}, - {"char": 225, "minX": 2958, "minY": 2443, "maxX": 3016, "maxY": 2579, "bold": true}, - {"char": 226, "minX": 3016, "minY": 2443, "maxX": 3074, "maxY": 2579, "bold": true}, - {"char": 227, "minX": 3074, "minY": 2443, "maxX": 3132, "maxY": 2579, "bold": true}, - {"char": 228, "minX": 3132, "minY": 2443, "maxX": 3190, "maxY": 2579, "bold": true}, - {"char": 229, "minX": 3190, "minY": 2443, "maxX": 3248, "maxY": 2579, "bold": true}, - {"char": 177, "minX": 3248, "minY": 2443, "maxX": 3306, "maxY": 2579, "bold": true}, - {"char": 101, "minX": 3306, "minY": 2443, "maxX": 3364, "maxY": 2579, "bold": true}, - {"char": 97, "minX": 3364, "minY": 2443, "maxX": 3422, "maxY": 2579, "bold": true}, - {"char": 76, "minX": 3422, "minY": 2443, "maxX": 3480, "maxY": 2579, "bold": true}, - {"char": 8377, "minX": 3480, "minY": 2443, "maxX": 3537, "maxY": 2579, "bold": true}, - {"char": 1287, "minX": 3537, "minY": 2443, "maxX": 3594, "maxY": 2579, "bold": true}, - {"char": 1261, "minX": 3594, "minY": 2443, "maxX": 3651, "maxY": 2579, "bold": true}, - {"char": 1241, "minX": 3651, "minY": 2443, "maxX": 3708, "maxY": 2579, "bold": true}, - {"char": 1243, "minX": 3708, "minY": 2443, "maxX": 3765, "maxY": 2579, "bold": true}, - {"char": 1108, "minX": 3765, "minY": 2443, "maxX": 3822, "maxY": 2579, "bold": true}, - {"char": 1101, "minX": 3822, "minY": 2443, "maxX": 3879, "maxY": 2579, "bold": true}, - {"char": 1106, "minX": 3879, "minY": 2443, "maxX": 3936, "maxY": 2579, "bold": true}, - {"char": 962, "minX": 3936, "minY": 2443, "maxX": 3993, "maxY": 2579, "bold": true}, - {"char": 901, "minX": 3993, "minY": 2443, "maxX": 4050, "maxY": 2579, "bold": true}, - {"char": 8319, "minX": 4050, "minY": 2443, "maxX": 4096, "maxY": 2579, "bold": true}, - {"char": 601, "minX": 0, "minY": 2579, "maxX": 57, "maxY": 2715, "bold": true}, - {"char": 215, "minX": 57, "minY": 2579, "maxX": 114, "maxY": 2715, "bold": true}, - {"char": 8805, "minX": 114, "minY": 2579, "maxX": 170, "maxY": 2715, "bold": true}, - {"char": 1293, "minX": 170, "minY": 2579, "maxX": 226, "maxY": 2715, "bold": true}, - {"char": 1279, "minX": 226, "minY": 2579, "maxX": 282, "maxY": 2715, "bold": true}, - {"char": 1195, "minX": 282, "minY": 2579, "maxX": 338, "maxY": 2715, "bold": true}, - {"char": 1173, "minX": 338, "minY": 2579, "maxX": 394, "maxY": 2715, "bold": true}, - {"char": 1134, "minX": 394, "minY": 2579, "maxX": 450, "maxY": 2715, "bold": true}, - {"char": 1109, "minX": 450, "minY": 2579, "maxX": 506, "maxY": 2715, "bold": true}, - {"char": 1089, "minX": 506, "minY": 2579, "maxX": 562, "maxY": 2715, "bold": true}, - {"char": 1093, "minX": 562, "minY": 2579, "maxX": 618, "maxY": 2715, "bold": true}, - {"char": 964, "minX": 618, "minY": 2579, "maxX": 674, "maxY": 2715, "bold": true}, - {"char": 537, "minX": 674, "minY": 2579, "maxX": 730, "maxY": 2715, "bold": true}, - {"char": 347, "minX": 730, "minY": 2579, "maxX": 786, "maxY": 2715, "bold": true}, - {"char": 349, "minX": 786, "minY": 2579, "maxX": 842, "maxY": 2715, "bold": true}, - {"char": 351, "minX": 842, "minY": 2579, "maxX": 898, "maxY": 2715, "bold": true}, - {"char": 353, "minX": 898, "minY": 2579, "maxX": 954, "maxY": 2715, "bold": true}, - {"char": 311, "minX": 954, "minY": 2579, "maxX": 1010, "maxY": 2715, "bold": true}, - {"char": 263, "minX": 1010, "minY": 2579, "maxX": 1066, "maxY": 2715, "bold": true}, - {"char": 265, "minX": 1066, "minY": 2579, "maxX": 1122, "maxY": 2715, "bold": true}, - {"char": 267, "minX": 1122, "minY": 2579, "maxX": 1178, "maxY": 2715, "bold": true}, - {"char": 269, "minX": 1178, "minY": 2579, "maxX": 1234, "maxY": 2715, "bold": true}, - {"char": 231, "minX": 1234, "minY": 2579, "maxX": 1290, "maxY": 2715, "bold": true}, - {"char": 115, "minX": 1290, "minY": 2579, "maxX": 1346, "maxY": 2715, "bold": true}, - {"char": 120, "minX": 1346, "minY": 2579, "maxX": 1402, "maxY": 2715, "bold": true}, - {"char": 107, "minX": 1402, "minY": 2579, "maxX": 1458, "maxY": 2715, "bold": true}, - {"char": 99, "minX": 1458, "minY": 2579, "maxX": 1514, "maxY": 2715, "bold": true}, - {"char": 62, "minX": 1514, "minY": 2579, "maxX": 1570, "maxY": 2715, "bold": true}, - {"char": 9674, "minX": 1570, "minY": 2579, "maxX": 1625, "maxY": 2715, "bold": true}, - {"char": 8194, "minX": 1625, "minY": 2579, "maxX": 1680, "maxY": 2715, "bold": true}, - {"char": 7923, "minX": 1680, "minY": 2579, "maxX": 1735, "maxY": 2715, "bold": true}, - {"char": 7925, "minX": 1735, "minY": 2579, "maxX": 1790, "maxY": 2715, "bold": true}, - {"char": 7927, "minX": 1790, "minY": 2579, "maxX": 1845, "maxY": 2715, "bold": true}, - {"char": 7929, "minX": 1845, "minY": 2579, "maxX": 1900, "maxY": 2715, "bold": true}, - {"char": 8192, "minX": 1900, "minY": 2579, "maxX": 1955, "maxY": 2715, "bold": true}, - {"char": 1263, "minX": 1955, "minY": 2579, "maxX": 2010, "maxY": 2715, "bold": true}, - {"char": 1265, "minX": 2010, "minY": 2579, "maxX": 2065, "maxY": 2715, "bold": true}, - {"char": 1247, "minX": 2065, "minY": 2579, "maxX": 2120, "maxY": 2715, "bold": true}, - {"char": 1199, "minX": 2120, "minY": 2579, "maxX": 2175, "maxY": 2715, "bold": true}, - {"char": 1201, "minX": 2175, "minY": 2579, "maxX": 2230, "maxY": 2715, "bold": true}, - {"char": 1177, "minX": 2230, "minY": 2579, "maxX": 2285, "maxY": 2715, "bold": true}, - {"char": 1141, "minX": 2285, "minY": 2579, "maxX": 2340, "maxY": 2715, "bold": true}, - {"char": 1115, "minX": 2340, "minY": 2579, "maxX": 2395, "maxY": 2715, "bold": true}, - {"char": 1118, "minX": 2395, "minY": 2579, "maxX": 2450, "maxY": 2715, "bold": true}, - {"char": 1091, "minX": 2450, "minY": 2579, "maxX": 2505, "maxY": 2715, "bold": true}, - {"char": 1079, "minX": 2505, "minY": 2579, "maxX": 2560, "maxY": 2715, "bold": true}, - {"char": 958, "minX": 2560, "minY": 2579, "maxX": 2615, "maxY": 2715, "bold": true}, - {"char": 947, "minX": 2615, "minY": 2579, "maxX": 2670, "maxY": 2715, "bold": true}, - {"char": 950, "minX": 2670, "minY": 2579, "maxX": 2725, "maxY": 2715, "bold": true}, - {"char": 375, "minX": 2725, "minY": 2579, "maxX": 2780, "maxY": 2715, "bold": true}, - {"char": 307, "minX": 2780, "minY": 2579, "maxX": 2835, "maxY": 2715, "bold": true}, - {"char": 253, "minX": 2835, "minY": 2579, "maxX": 2890, "maxY": 2715, "bold": true}, - {"char": 255, "minX": 2890, "minY": 2579, "maxX": 2945, "maxY": 2715, "bold": true}, - {"char": 121, "minX": 2945, "minY": 2579, "maxX": 3000, "maxY": 2715, "bold": true}, - {"char": 60, "minX": 3000, "minY": 2579, "maxX": 3055, "maxY": 2715, "bold": true}, - {"char": 7897, "minX": 3055, "minY": 2579, "maxX": 3112, "maxY": 2710, "bold": false}, - {"char": 7876, "minX": 3112, "minY": 2579, "maxX": 3169, "maxY": 2710, "bold": false}, - {"char": 7878, "minX": 3169, "minY": 2579, "maxX": 3226, "maxY": 2710, "bold": false}, - {"char": 7885, "minX": 3226, "minY": 2579, "maxX": 3283, "maxY": 2710, "bold": false}, - {"char": 7887, "minX": 3283, "minY": 2579, "maxX": 3340, "maxY": 2710, "bold": false}, - {"char": 7889, "minX": 3340, "minY": 2579, "maxX": 3397, "maxY": 2710, "bold": false}, - {"char": 7864, "minX": 3397, "minY": 2579, "maxX": 3454, "maxY": 2710, "bold": false}, - {"char": 7866, "minX": 3454, "minY": 2579, "maxX": 3511, "maxY": 2710, "bold": false}, - {"char": 7868, "minX": 3511, "minY": 2579, "maxX": 3568, "maxY": 2710, "bold": false}, - {"char": 7870, "minX": 3568, "minY": 2579, "maxX": 3625, "maxY": 2710, "bold": false}, - {"char": 7873, "minX": 3625, "minY": 2579, "maxX": 3682, "maxY": 2710, "bold": false}, - {"char": 7874, "minX": 3682, "minY": 2579, "maxX": 3739, "maxY": 2710, "bold": false}, - {"char": 1251, "minX": 3739, "minY": 2579, "maxX": 3796, "maxY": 2710, "bold": false}, - {"char": 1253, "minX": 3796, "minY": 2579, "maxX": 3853, "maxY": 2710, "bold": false}, - {"char": 1255, "minX": 3853, "minY": 2579, "maxX": 3910, "maxY": 2710, "bold": false}, - {"char": 1257, "minX": 3910, "minY": 2579, "maxX": 3967, "maxY": 2710, "bold": false}, - {"char": 1259, "minX": 3967, "minY": 2579, "maxX": 4024, "maxY": 2710, "bold": false}, - {"char": 1238, "minX": 4024, "minY": 2579, "maxX": 4081, "maxY": 2710, "bold": false}, - {"char": 803, "minX": 4081, "minY": 2579, "maxX": 4096, "maxY": 2710, "bold": false}, - {"char": 1224, "minX": 0, "minY": 2715, "maxX": 57, "maxY": 2846, "bold": false}, - {"char": 1167, "minX": 57, "minY": 2715, "maxX": 114, "maxY": 2846, "bold": false}, - {"char": 1139, "minX": 114, "minY": 2715, "maxX": 171, "maxY": 2846, "bold": false}, - {"char": 1147, "minX": 171, "minY": 2715, "maxX": 228, "maxY": 2846, "bold": false}, - {"char": 1117, "minX": 228, "minY": 2715, "maxX": 285, "maxY": 2846, "bold": false}, - {"char": 1119, "minX": 285, "minY": 2715, "maxX": 342, "maxY": 2846, "bold": false}, - {"char": 1080, "minX": 342, "minY": 2715, "maxX": 399, "maxY": 2846, "bold": false}, - {"char": 1081, "minX": 399, "minY": 2715, "maxX": 456, "maxY": 2846, "bold": false}, - {"char": 1085, "minX": 456, "minY": 2715, "maxX": 513, "maxY": 2846, "bold": false}, - {"char": 1086, "minX": 513, "minY": 2715, "maxX": 570, "maxY": 2846, "bold": false}, - {"char": 1087, "minX": 570, "minY": 2715, "maxX": 627, "maxY": 2846, "bold": false}, - {"char": 1074, "minX": 627, "minY": 2715, "maxX": 684, "maxY": 2846, "bold": false}, - {"char": 1045, "minX": 684, "minY": 2715, "maxX": 741, "maxY": 2846, "bold": false}, - {"char": 1025, "minX": 741, "minY": 2715, "maxX": 798, "maxY": 2846, "bold": false}, - {"char": 972, "minX": 798, "minY": 2715, "maxX": 855, "maxY": 2846, "bold": false}, - {"char": 1024, "minX": 855, "minY": 2715, "maxX": 912, "maxY": 2846, "bold": false}, - {"char": 951, "minX": 912, "minY": 2715, "maxX": 969, "maxY": 2846, "bold": false}, - {"char": 954, "minX": 969, "minY": 2715, "maxX": 1026, "maxY": 2846, "bold": false}, - {"char": 959, "minX": 1026, "minY": 2715, "maxX": 1083, "maxY": 2846, "bold": false}, - {"char": 961, "minX": 1083, "minY": 2715, "maxX": 1140, "maxY": 2846, "bold": false}, - {"char": 963, "minX": 1140, "minY": 2715, "maxX": 1197, "maxY": 2846, "bold": false}, - {"char": 942, "minX": 1197, "minY": 2715, "maxX": 1254, "maxY": 2846, "bold": false}, - {"char": 948, "minX": 1254, "minY": 2715, "maxX": 1311, "maxY": 2846, "bold": false}, - {"char": 926, "minX": 1311, "minY": 2715, "maxX": 1368, "maxY": 2846, "bold": false}, - {"char": 931, "minX": 1368, "minY": 2715, "maxX": 1425, "maxY": 2846, "bold": false}, - {"char": 917, "minX": 1425, "minY": 2715, "maxX": 1482, "maxY": 2846, "bold": false}, - {"char": 511, "minX": 1482, "minY": 2715, "maxX": 1539, "maxY": 2846, "bold": false}, - {"char": 331, "minX": 1539, "minY": 2715, "maxX": 1596, "maxY": 2846, "bold": false}, - {"char": 333, "minX": 1596, "minY": 2715, "maxX": 1653, "maxY": 2846, "bold": false}, - {"char": 335, "minX": 1653, "minY": 2715, "maxX": 1710, "maxY": 2846, "bold": false}, - {"char": 337, "minX": 1710, "minY": 2715, "maxX": 1767, "maxY": 2846, "bold": false}, - {"char": 312, "minX": 1767, "minY": 2715, "maxX": 1824, "maxY": 2846, "bold": false}, - {"char": 287, "minX": 1824, "minY": 2715, "maxX": 1881, "maxY": 2846, "bold": false}, - {"char": 289, "minX": 1881, "minY": 2715, "maxX": 1938, "maxY": 2846, "bold": false}, - {"char": 291, "minX": 1938, "minY": 2715, "maxX": 1995, "maxY": 2846, "bold": false}, - {"char": 274, "minX": 1995, "minY": 2715, "maxX": 2052, "maxY": 2846, "bold": false}, - {"char": 276, "minX": 2052, "minY": 2715, "maxX": 2109, "maxY": 2846, "bold": false}, - {"char": 278, "minX": 2109, "minY": 2715, "maxX": 2166, "maxY": 2846, "bold": false}, - {"char": 280, "minX": 2166, "minY": 2715, "maxX": 2223, "maxY": 2846, "bold": false}, - {"char": 282, "minX": 2223, "minY": 2715, "maxX": 2280, "maxY": 2846, "bold": false}, - {"char": 285, "minX": 2280, "minY": 2715, "maxX": 2337, "maxY": 2846, "bold": false}, - {"char": 245, "minX": 2337, "minY": 2715, "maxX": 2394, "maxY": 2846, "bold": false}, - {"char": 246, "minX": 2394, "minY": 2715, "maxX": 2451, "maxY": 2846, "bold": false}, - {"char": 247, "minX": 2451, "minY": 2715, "maxX": 2508, "maxY": 2846, "bold": false}, - {"char": 248, "minX": 2508, "minY": 2715, "maxX": 2565, "maxY": 2846, "bold": false}, - {"char": 254, "minX": 2565, "minY": 2715, "maxX": 2622, "maxY": 2846, "bold": false}, - {"char": 242, "minX": 2622, "minY": 2715, "maxX": 2679, "maxY": 2846, "bold": false}, - {"char": 243, "minX": 2679, "minY": 2715, "maxX": 2736, "maxY": 2846, "bold": false}, - {"char": 244, "minX": 2736, "minY": 2715, "maxX": 2793, "maxY": 2846, "bold": false}, - {"char": 203, "minX": 2793, "minY": 2715, "maxX": 2850, "maxY": 2846, "bold": false}, - {"char": 200, "minX": 2850, "minY": 2715, "maxX": 2907, "maxY": 2846, "bold": false}, - {"char": 201, "minX": 2907, "minY": 2715, "maxX": 2964, "maxY": 2846, "bold": false}, - {"char": 202, "minX": 2964, "minY": 2715, "maxX": 3021, "maxY": 2846, "bold": false}, - {"char": 103, "minX": 3021, "minY": 2715, "maxX": 3078, "maxY": 2846, "bold": false}, - {"char": 111, "minX": 3078, "minY": 2715, "maxX": 3135, "maxY": 2846, "bold": false}, - {"char": 113, "minX": 3135, "minY": 2715, "maxX": 3192, "maxY": 2846, "bold": false}, - {"char": 69, "minX": 3192, "minY": 2715, "maxX": 3249, "maxY": 2846, "bold": false}, - {"char": 48, "minX": 3249, "minY": 2715, "maxX": 3306, "maxY": 2846, "bold": false}, - {"char": 49, "minX": 3306, "minY": 2715, "maxX": 3363, "maxY": 2846, "bold": false}, - {"char": 50, "minX": 3363, "minY": 2715, "maxX": 3420, "maxY": 2846, "bold": false}, - {"char": 51, "minX": 3420, "minY": 2715, "maxX": 3477, "maxY": 2846, "bold": false}, - {"char": 52, "minX": 3477, "minY": 2715, "maxX": 3534, "maxY": 2846, "bold": false}, - {"char": 53, "minX": 3534, "minY": 2715, "maxX": 3591, "maxY": 2846, "bold": false}, - {"char": 54, "minX": 3591, "minY": 2715, "maxX": 3648, "maxY": 2846, "bold": false}, - {"char": 55, "minX": 3648, "minY": 2715, "maxX": 3705, "maxY": 2846, "bold": false}, - {"char": 56, "minX": 3705, "minY": 2715, "maxX": 3762, "maxY": 2846, "bold": false}, - {"char": 57, "minX": 3762, "minY": 2715, "maxX": 3819, "maxY": 2846, "bold": false}, - {"char": 36, "minX": 3819, "minY": 2715, "maxX": 3876, "maxY": 2846, "bold": false}, - {"char": 8199, "minX": 3876, "minY": 2715, "maxX": 3932, "maxY": 2846, "bold": false}, - {"char": 7909, "minX": 3932, "minY": 2715, "maxX": 3988, "maxY": 2846, "bold": false}, - {"char": 7911, "minX": 3988, "minY": 2715, "maxX": 4044, "maxY": 2846, "bold": false}, - {"char": 8805, "minX": 4044, "minY": 2715, "maxX": 4096, "maxY": 2846, "bold": false}, - {"char": 8229, "minX": 0, "minY": 2846, "maxX": 54, "maxY": 2982, "bold": true}, - {"char": 967, "minX": 54, "minY": 2846, "maxX": 108, "maxY": 2982, "bold": true}, - {"char": 378, "minX": 108, "minY": 2846, "maxX": 162, "maxY": 2982, "bold": true}, - {"char": 380, "minX": 162, "minY": 2846, "maxX": 216, "maxY": 2982, "bold": true}, - {"char": 382, "minX": 216, "minY": 2846, "maxX": 270, "maxY": 2982, "bold": true}, - {"char": 122, "minX": 270, "minY": 2846, "maxX": 324, "maxY": 2982, "bold": true}, - {"char": 7872, "minX": 324, "minY": 2846, "maxX": 380, "maxY": 2977, "bold": false}, - {"char": 1277, "minX": 380, "minY": 2846, "maxX": 436, "maxY": 2977, "bold": false}, - {"char": 1281, "minX": 436, "minY": 2846, "maxX": 492, "maxY": 2977, "bold": false}, - {"char": 1286, "minX": 492, "minY": 2846, "maxX": 548, "maxY": 2977, "bold": false}, - {"char": 1270, "minX": 548, "minY": 2846, "maxX": 604, "maxY": 2977, "bold": false}, - {"char": 1209, "minX": 604, "minY": 2846, "maxX": 660, "maxY": 2977, "bold": false}, - {"char": 1211, "minX": 660, "minY": 2846, "maxX": 716, "maxY": 2977, "bold": false}, - {"char": 1220, "minX": 716, "minY": 2846, "maxX": 772, "maxY": 2977, "bold": false}, - {"char": 1088, "minX": 772, "minY": 2846, "maxX": 828, "maxY": 2977, "bold": false}, - {"char": 1073, "minX": 828, "minY": 2846, "maxX": 884, "maxY": 2977, "bold": false}, - {"char": 1043, "minX": 884, "minY": 2846, "maxX": 940, "maxY": 2977, "bold": false}, - {"char": 1027, "minX": 940, "minY": 2846, "maxX": 996, "maxY": 2977, "bold": false}, - {"char": 1032, "minX": 996, "minY": 2846, "maxX": 1052, "maxY": 2977, "bold": false}, - {"char": 940, "minX": 1052, "minY": 2846, "maxX": 1108, "maxY": 2977, "bold": false}, - {"char": 945, "minX": 1108, "minY": 2846, "maxX": 1164, "maxY": 2977, "bold": false}, - {"char": 915, "minX": 1164, "minY": 2846, "maxX": 1220, "maxY": 2977, "bold": false}, - {"char": 371, "minX": 1220, "minY": 2846, "maxX": 1276, "maxY": 2977, "bold": false}, - {"char": 361, "minX": 1276, "minY": 2846, "maxX": 1332, "maxY": 2977, "bold": false}, - {"char": 363, "minX": 1332, "minY": 2846, "maxX": 1388, "maxY": 2977, "bold": false}, - {"char": 365, "minX": 1388, "minY": 2846, "maxX": 1444, "maxY": 2977, "bold": false}, - {"char": 367, "minX": 1444, "minY": 2846, "maxX": 1500, "maxY": 2977, "bold": false}, - {"char": 369, "minX": 1500, "minY": 2846, "maxX": 1556, "maxY": 2977, "bold": false}, - {"char": 328, "minX": 1556, "minY": 2846, "maxX": 1612, "maxY": 2977, "bold": false}, - {"char": 324, "minX": 1612, "minY": 2846, "maxX": 1668, "maxY": 2977, "bold": false}, - {"char": 326, "minX": 1668, "minY": 2846, "maxX": 1724, "maxY": 2977, "bold": false}, - {"char": 308, "minX": 1724, "minY": 2846, "maxX": 1780, "maxY": 2977, "bold": false}, - {"char": 293, "minX": 1780, "minY": 2846, "maxX": 1836, "maxY": 2977, "bold": false}, - {"char": 249, "minX": 1836, "minY": 2846, "maxX": 1892, "maxY": 2977, "bold": false}, - {"char": 250, "minX": 1892, "minY": 2846, "maxX": 1948, "maxY": 2977, "bold": false}, - {"char": 251, "minX": 1948, "minY": 2846, "maxX": 2004, "maxY": 2977, "bold": false}, - {"char": 252, "minX": 2004, "minY": 2846, "maxX": 2060, "maxY": 2977, "bold": false}, - {"char": 241, "minX": 2060, "minY": 2846, "maxX": 2116, "maxY": 2977, "bold": false}, - {"char": 162, "minX": 2116, "minY": 2846, "maxX": 2172, "maxY": 2977, "bold": false}, - {"char": 117, "minX": 2172, "minY": 2846, "maxX": 2228, "maxY": 2977, "bold": false}, - {"char": 104, "minX": 2228, "minY": 2846, "maxX": 2284, "maxY": 2977, "bold": false}, - {"char": 110, "minX": 2284, "minY": 2846, "maxX": 2340, "maxY": 2977, "bold": false}, - {"char": 112, "minX": 2340, "minY": 2846, "maxX": 2396, "maxY": 2977, "bold": false}, - {"char": 98, "minX": 2396, "minY": 2846, "maxX": 2452, "maxY": 2977, "bold": false}, - {"char": 100, "minX": 2452, "minY": 2846, "maxX": 2508, "maxY": 2977, "bold": false}, - {"char": 74, "minX": 2508, "minY": 2846, "maxX": 2564, "maxY": 2977, "bold": false}, - {"char": 61, "minX": 2564, "minY": 2846, "maxX": 2620, "maxY": 2977, "bold": false}, - {"char": 43, "minX": 2620, "minY": 2846, "maxX": 2676, "maxY": 2977, "bold": false}, - {"char": 8355, "minX": 2676, "minY": 2846, "maxX": 2731, "maxY": 2977, "bold": false}, - {"char": 8224, "minX": 2731, "minY": 2846, "maxX": 2786, "maxY": 2977, "bold": false}, - {"char": 7847, "minX": 2786, "minY": 2846, "maxX": 2841, "maxY": 2977, "bold": false}, - {"char": 1297, "minX": 2841, "minY": 2846, "maxX": 2896, "maxY": 2977, "bold": false}, - {"char": 1269, "minX": 2896, "minY": 2846, "maxX": 2951, "maxY": 2977, "bold": false}, - {"char": 1228, "minX": 2951, "minY": 2846, "maxX": 3006, "maxY": 2977, "bold": false}, - {"char": 1168, "minX": 3006, "minY": 2846, "maxX": 3061, "maxY": 2977, "bold": false}, - {"char": 1127, "minX": 3061, "minY": 2846, "maxX": 3116, "maxY": 2977, "bold": false}, - {"char": 1116, "minX": 3116, "minY": 2846, "maxX": 3171, "maxY": 2977, "bold": false}, - {"char": 1095, "minX": 3171, "minY": 2846, "maxX": 3226, "maxY": 2977, "bold": false}, - {"char": 1100, "minX": 3226, "minY": 2846, "maxX": 3281, "maxY": 2977, "bold": false}, - {"char": 1103, "minX": 3281, "minY": 2846, "maxX": 3336, "maxY": 2977, "bold": false}, - {"char": 1082, "minX": 3336, "minY": 2846, "maxX": 3391, "maxY": 2977, "bold": false}, - {"char": 965, "minX": 3391, "minY": 2846, "maxX": 3446, "maxY": 2977, "bold": false}, - {"char": 971, "minX": 3446, "minY": 2846, "maxX": 3501, "maxY": 2977, "bold": false}, - {"char": 973, "minX": 3501, "minY": 2846, "maxX": 3556, "maxY": 2977, "bold": false}, - {"char": 955, "minX": 3556, "minY": 2846, "maxX": 3611, "maxY": 2977, "bold": false}, - {"char": 941, "minX": 3611, "minY": 2846, "maxX": 3666, "maxY": 2977, "bold": false}, - {"char": 944, "minX": 3666, "minY": 2846, "maxX": 3721, "maxY": 2977, "bold": false}, - {"char": 949, "minX": 3721, "minY": 2846, "maxX": 3776, "maxY": 2977, "bold": false}, - {"char": 329, "minX": 3776, "minY": 2846, "maxX": 3831, "maxY": 2977, "bold": false}, - {"char": 321, "minX": 3831, "minY": 2846, "maxX": 3886, "maxY": 2977, "bold": false}, - {"char": 295, "minX": 3886, "minY": 2846, "maxX": 3941, "maxY": 2977, "bold": false}, - {"char": 172, "minX": 3941, "minY": 2846, "maxX": 3996, "maxY": 2977, "bold": false}, - {"char": 70, "minX": 3996, "minY": 2846, "maxX": 4051, "maxY": 2977, "bold": false}, - {"char": 8260, "minX": 4051, "minY": 2846, "maxX": 4096, "maxY": 2977, "bold": false}, - {"char": 8467, "minX": 0, "minY": 2982, "maxX": 53, "maxY": 3118, "bold": true}, - {"char": 1197, "minX": 53, "minY": 2982, "maxX": 106, "maxY": 3118, "bold": true}, - {"char": 1135, "minX": 106, "minY": 2982, "maxX": 159, "maxY": 3118, "bold": true}, - {"char": 1090, "minX": 159, "minY": 2982, "maxX": 212, "maxY": 3118, "bold": true}, - {"char": 957, "minX": 212, "minY": 2982, "maxX": 265, "maxY": 3118, "bold": true}, - {"char": 710, "minX": 265, "minY": 2982, "maxX": 318, "maxY": 3118, "bold": true}, - {"char": 191, "minX": 318, "minY": 2982, "maxX": 371, "maxY": 3118, "bold": true}, - {"char": 182, "minX": 371, "minY": 2982, "maxX": 424, "maxY": 3118, "bold": true}, - {"char": 187, "minX": 424, "minY": 2982, "maxX": 477, "maxY": 3118, "bold": true}, - {"char": 171, "minX": 477, "minY": 2982, "maxX": 530, "maxY": 3118, "bold": true}, - {"char": 118, "minX": 530, "minY": 2982, "maxX": 583, "maxY": 3118, "bold": true}, - {"char": 63, "minX": 583, "minY": 2982, "maxX": 636, "maxY": 3118, "bold": true}, - {"char": 8252, "minX": 636, "minY": 2982, "maxX": 690, "maxY": 3113, "bold": false}, - {"char": 7877, "minX": 690, "minY": 2982, "maxX": 744, "maxY": 3113, "bold": false}, - {"char": 7879, "minX": 744, "minY": 2982, "maxX": 798, "maxY": 3113, "bold": false}, - {"char": 7863, "minX": 798, "minY": 2982, "maxX": 852, "maxY": 3113, "bold": false}, - {"char": 7865, "minX": 852, "minY": 2982, "maxX": 906, "maxY": 3113, "bold": false}, - {"char": 7867, "minX": 906, "minY": 2982, "maxX": 960, "maxY": 3113, "bold": false}, - {"char": 7869, "minX": 960, "minY": 2982, "maxX": 1014, "maxY": 3113, "bold": false}, - {"char": 7871, "minX": 1014, "minY": 2982, "maxX": 1068, "maxY": 3113, "bold": false}, - {"char": 7875, "minX": 1068, "minY": 2982, "maxX": 1122, "maxY": 3113, "bold": false}, - {"char": 7849, "minX": 1122, "minY": 2982, "maxX": 1176, "maxY": 3113, "bold": false}, - {"char": 7851, "minX": 1176, "minY": 2982, "maxX": 1230, "maxY": 3113, "bold": false}, - {"char": 7853, "minX": 1230, "minY": 2982, "maxX": 1284, "maxY": 3113, "bold": false}, - {"char": 7855, "minX": 1284, "minY": 2982, "maxX": 1338, "maxY": 3113, "bold": false}, - {"char": 7857, "minX": 1338, "minY": 2982, "maxX": 1392, "maxY": 3113, "bold": false}, - {"char": 7859, "minX": 1392, "minY": 2982, "maxX": 1446, "maxY": 3113, "bold": false}, - {"char": 7861, "minX": 1446, "minY": 2982, "maxX": 1500, "maxY": 3113, "bold": false}, - {"char": 7841, "minX": 1500, "minY": 2982, "maxX": 1554, "maxY": 3113, "bold": false}, - {"char": 7843, "minX": 1554, "minY": 2982, "maxX": 1608, "maxY": 3113, "bold": false}, - {"char": 7845, "minX": 1608, "minY": 2982, "maxX": 1662, "maxY": 3113, "bold": false}, - {"char": 7681, "minX": 1662, "minY": 2982, "maxX": 1716, "maxY": 3113, "bold": false}, - {"char": 1235, "minX": 1716, "minY": 2982, "maxX": 1770, "maxY": 3113, "bold": false}, - {"char": 1239, "minX": 1770, "minY": 2982, "maxX": 1824, "maxY": 3113, "bold": false}, - {"char": 1233, "minX": 1824, "minY": 2982, "maxX": 1878, "maxY": 3113, "bold": false}, - {"char": 1165, "minX": 1878, "minY": 2982, "maxX": 1932, "maxY": 3113, "bold": false}, - {"char": 1170, "minX": 1932, "minY": 2982, "maxX": 1986, "maxY": 3113, "bold": false}, - {"char": 1153, "minX": 1986, "minY": 2982, "maxX": 2040, "maxY": 3113, "bold": false}, - {"char": 1123, "minX": 2040, "minY": 2982, "maxX": 2094, "maxY": 3113, "bold": false}, - {"char": 1104, "minX": 2094, "minY": 2982, "maxX": 2148, "maxY": 3113, "bold": false}, - {"char": 1105, "minX": 2148, "minY": 2982, "maxX": 2202, "maxY": 3113, "bold": false}, - {"char": 1072, "minX": 2202, "minY": 2982, "maxX": 2256, "maxY": 3113, "bold": false}, - {"char": 1077, "minX": 2256, "minY": 2982, "maxX": 2310, "maxY": 3113, "bold": false}, - {"char": 507, "minX": 2310, "minY": 2982, "maxX": 2364, "maxY": 3113, "bold": false}, - {"char": 315, "minX": 2364, "minY": 2982, "maxX": 2418, "maxY": 3113, "bold": false}, - {"char": 317, "minX": 2418, "minY": 2982, "maxX": 2472, "maxY": 3113, "bold": false}, - {"char": 319, "minX": 2472, "minY": 2982, "maxX": 2526, "maxY": 3113, "bold": false}, - {"char": 313, "minX": 2526, "minY": 2982, "maxX": 2580, "maxY": 3113, "bold": false}, - {"char": 275, "minX": 2580, "minY": 2982, "maxX": 2634, "maxY": 3113, "bold": false}, - {"char": 277, "minX": 2634, "minY": 2982, "maxX": 2688, "maxY": 3113, "bold": false}, - {"char": 279, "minX": 2688, "minY": 2982, "maxX": 2742, "maxY": 3113, "bold": false}, - {"char": 281, "minX": 2742, "minY": 2982, "maxX": 2796, "maxY": 3113, "bold": false}, - {"char": 283, "minX": 2796, "minY": 2982, "maxX": 2850, "maxY": 3113, "bold": false}, - {"char": 259, "minX": 2850, "minY": 2982, "maxX": 2904, "maxY": 3113, "bold": false}, - {"char": 261, "minX": 2904, "minY": 2982, "maxX": 2958, "maxY": 3113, "bold": false}, - {"char": 257, "minX": 2958, "minY": 2982, "maxX": 3012, "maxY": 3113, "bold": false}, - {"char": 232, "minX": 3012, "minY": 2982, "maxX": 3066, "maxY": 3113, "bold": false}, - {"char": 233, "minX": 3066, "minY": 2982, "maxX": 3120, "maxY": 3113, "bold": false}, - {"char": 234, "minX": 3120, "minY": 2982, "maxX": 3174, "maxY": 3113, "bold": false}, - {"char": 235, "minX": 3174, "minY": 2982, "maxX": 3228, "maxY": 3113, "bold": false}, - {"char": 224, "minX": 3228, "minY": 2982, "maxX": 3282, "maxY": 3113, "bold": false}, - {"char": 225, "minX": 3282, "minY": 2982, "maxX": 3336, "maxY": 3113, "bold": false}, - {"char": 226, "minX": 3336, "minY": 2982, "maxX": 3390, "maxY": 3113, "bold": false}, - {"char": 227, "minX": 3390, "minY": 2982, "maxX": 3444, "maxY": 3113, "bold": false}, - {"char": 228, "minX": 3444, "minY": 2982, "maxX": 3498, "maxY": 3113, "bold": false}, - {"char": 229, "minX": 3498, "minY": 2982, "maxX": 3552, "maxY": 3113, "bold": false}, - {"char": 177, "minX": 3552, "minY": 2982, "maxX": 3606, "maxY": 3113, "bold": false}, - {"char": 101, "minX": 3606, "minY": 2982, "maxX": 3660, "maxY": 3113, "bold": false}, - {"char": 97, "minX": 3660, "minY": 2982, "maxX": 3714, "maxY": 3113, "bold": false}, - {"char": 76, "minX": 3714, "minY": 2982, "maxX": 3768, "maxY": 3113, "bold": false}, - {"char": 8377, "minX": 3768, "minY": 2982, "maxX": 3821, "maxY": 3113, "bold": false}, - {"char": 1287, "minX": 3821, "minY": 2982, "maxX": 3874, "maxY": 3113, "bold": false}, - {"char": 1261, "minX": 3874, "minY": 2982, "maxX": 3927, "maxY": 3113, "bold": false}, - {"char": 1241, "minX": 3927, "minY": 2982, "maxX": 3980, "maxY": 3113, "bold": false}, - {"char": 1243, "minX": 3980, "minY": 2982, "maxX": 4033, "maxY": 3113, "bold": false}, - {"char": 1203, "minX": 4033, "minY": 2982, "maxX": 4086, "maxY": 3113, "bold": false}, - {"char": 732, "minX": 0, "minY": 3118, "maxX": 52, "maxY": 3254, "bold": true}, - {"char": 175, "minX": 52, "minY": 3118, "maxX": 104, "maxY": 3254, "bold": true}, - {"char": 1143, "minX": 104, "minY": 3118, "maxX": 157, "maxY": 3249, "bold": false}, - {"char": 1108, "minX": 157, "minY": 3118, "maxX": 210, "maxY": 3249, "bold": false}, - {"char": 1101, "minX": 210, "minY": 3118, "maxX": 263, "maxY": 3249, "bold": false}, - {"char": 962, "minX": 263, "minY": 3118, "maxX": 316, "maxY": 3249, "bold": false}, - {"char": 901, "minX": 316, "minY": 3118, "maxX": 369, "maxY": 3249, "bold": false}, - {"char": 601, "minX": 369, "minY": 3118, "maxX": 422, "maxY": 3249, "bold": false}, - {"char": 215, "minX": 422, "minY": 3118, "maxX": 475, "maxY": 3249, "bold": false}, - {"char": 165, "minX": 475, "minY": 3118, "maxX": 528, "maxY": 3249, "bold": false}, - {"char": 1293, "minX": 528, "minY": 3118, "maxX": 580, "maxY": 3249, "bold": false}, - {"char": 1195, "minX": 580, "minY": 3118, "maxX": 632, "maxY": 3249, "bold": false}, - {"char": 1173, "minX": 632, "minY": 3118, "maxX": 684, "maxY": 3249, "bold": false}, - {"char": 1134, "minX": 684, "minY": 3118, "maxX": 736, "maxY": 3249, "bold": false}, - {"char": 1109, "minX": 736, "minY": 3118, "maxX": 788, "maxY": 3249, "bold": false}, - {"char": 1106, "minX": 788, "minY": 3118, "maxX": 840, "maxY": 3249, "bold": false}, - {"char": 1089, "minX": 840, "minY": 3118, "maxX": 892, "maxY": 3249, "bold": false}, - {"char": 964, "minX": 892, "minY": 3118, "maxX": 944, "maxY": 3249, "bold": false}, - {"char": 537, "minX": 944, "minY": 3118, "maxX": 996, "maxY": 3249, "bold": false}, - {"char": 347, "minX": 996, "minY": 3118, "maxX": 1048, "maxY": 3249, "bold": false}, - {"char": 349, "minX": 1048, "minY": 3118, "maxX": 1100, "maxY": 3249, "bold": false}, - {"char": 351, "minX": 1100, "minY": 3118, "maxX": 1152, "maxY": 3249, "bold": false}, - {"char": 353, "minX": 1152, "minY": 3118, "maxX": 1204, "maxY": 3249, "bold": false}, - {"char": 311, "minX": 1204, "minY": 3118, "maxX": 1256, "maxY": 3249, "bold": false}, - {"char": 263, "minX": 1256, "minY": 3118, "maxX": 1308, "maxY": 3249, "bold": false}, - {"char": 265, "minX": 1308, "minY": 3118, "maxX": 1360, "maxY": 3249, "bold": false}, - {"char": 267, "minX": 1360, "minY": 3118, "maxX": 1412, "maxY": 3249, "bold": false}, - {"char": 269, "minX": 1412, "minY": 3118, "maxX": 1464, "maxY": 3249, "bold": false}, - {"char": 231, "minX": 1464, "minY": 3118, "maxX": 1516, "maxY": 3249, "bold": false}, - {"char": 115, "minX": 1516, "minY": 3118, "maxX": 1568, "maxY": 3249, "bold": false}, - {"char": 107, "minX": 1568, "minY": 3118, "maxX": 1620, "maxY": 3249, "bold": false}, - {"char": 99, "minX": 1620, "minY": 3118, "maxX": 1672, "maxY": 3249, "bold": false}, - {"char": 62, "minX": 1672, "minY": 3118, "maxX": 1724, "maxY": 3249, "bold": false}, - {"char": 8804, "minX": 1724, "minY": 3118, "maxX": 1775, "maxY": 3249, "bold": false}, - {"char": 9674, "minX": 1775, "minY": 3118, "maxX": 1826, "maxY": 3249, "bold": false}, - {"char": 8194, "minX": 1826, "minY": 3118, "maxX": 1877, "maxY": 3249, "bold": false}, - {"char": 8192, "minX": 1877, "minY": 3118, "maxX": 1928, "maxY": 3249, "bold": false}, - {"char": 1247, "minX": 1928, "minY": 3118, "maxX": 1979, "maxY": 3249, "bold": false}, - {"char": 1199, "minX": 1979, "minY": 3118, "maxX": 2030, "maxY": 3249, "bold": false}, - {"char": 1201, "minX": 2030, "minY": 3118, "maxX": 2081, "maxY": 3249, "bold": false}, - {"char": 1177, "minX": 2081, "minY": 3118, "maxX": 2132, "maxY": 3249, "bold": false}, - {"char": 1141, "minX": 2132, "minY": 3118, "maxX": 2183, "maxY": 3249, "bold": false}, - {"char": 1115, "minX": 2183, "minY": 3118, "maxX": 2234, "maxY": 3249, "bold": false}, - {"char": 1079, "minX": 2234, "minY": 3118, "maxX": 2285, "maxY": 3249, "bold": false}, - {"char": 958, "minX": 2285, "minY": 3118, "maxX": 2336, "maxY": 3249, "bold": false}, - {"char": 947, "minX": 2336, "minY": 3118, "maxX": 2387, "maxY": 3249, "bold": false}, - {"char": 950, "minX": 2387, "minY": 3118, "maxX": 2438, "maxY": 3249, "bold": false}, - {"char": 307, "minX": 2438, "minY": 3118, "maxX": 2489, "maxY": 3249, "bold": false}, - {"char": 60, "minX": 2489, "minY": 3118, "maxX": 2540, "maxY": 3249, "bold": false}, - {"char": 8229, "minX": 2540, "minY": 3118, "maxX": 2590, "maxY": 3249, "bold": false}, - {"char": 1279, "minX": 2590, "minY": 3118, "maxX": 2640, "maxY": 3249, "bold": false}, - {"char": 1093, "minX": 2640, "minY": 3118, "maxX": 2690, "maxY": 3249, "bold": false}, - {"char": 967, "minX": 2690, "minY": 3118, "maxX": 2740, "maxY": 3249, "bold": false}, - {"char": 378, "minX": 2740, "minY": 3118, "maxX": 2790, "maxY": 3249, "bold": false}, - {"char": 380, "minX": 2790, "minY": 3118, "maxX": 2840, "maxY": 3249, "bold": false}, - {"char": 382, "minX": 2840, "minY": 3118, "maxX": 2890, "maxY": 3249, "bold": false}, - {"char": 120, "minX": 2890, "minY": 3118, "maxX": 2940, "maxY": 3249, "bold": false}, - {"char": 122, "minX": 2940, "minY": 3118, "maxX": 2990, "maxY": 3249, "bold": false}, - {"char": 8467, "minX": 2990, "minY": 3118, "maxX": 3039, "maxY": 3249, "bold": false}, - {"char": 7923, "minX": 3039, "minY": 3118, "maxX": 3088, "maxY": 3249, "bold": false}, - {"char": 7925, "minX": 3088, "minY": 3118, "maxX": 3137, "maxY": 3249, "bold": false}, - {"char": 7927, "minX": 3137, "minY": 3118, "maxX": 3186, "maxY": 3249, "bold": false}, - {"char": 7929, "minX": 3186, "minY": 3118, "maxX": 3235, "maxY": 3249, "bold": false}, - {"char": 1263, "minX": 3235, "minY": 3118, "maxX": 3284, "maxY": 3249, "bold": false}, - {"char": 1265, "minX": 3284, "minY": 3118, "maxX": 3333, "maxY": 3249, "bold": false}, - {"char": 1267, "minX": 3333, "minY": 3118, "maxX": 3382, "maxY": 3249, "bold": false}, - {"char": 1197, "minX": 3382, "minY": 3118, "maxX": 3431, "maxY": 3249, "bold": false}, - {"char": 1135, "minX": 3431, "minY": 3118, "maxX": 3480, "maxY": 3249, "bold": false}, - {"char": 1118, "minX": 3480, "minY": 3118, "maxX": 3529, "maxY": 3249, "bold": false}, - {"char": 1090, "minX": 3529, "minY": 3118, "maxX": 3578, "maxY": 3249, "bold": false}, - {"char": 1091, "minX": 3578, "minY": 3118, "maxX": 3627, "maxY": 3249, "bold": false}, - {"char": 957, "minX": 3627, "minY": 3118, "maxX": 3676, "maxY": 3249, "bold": false}, - {"char": 710, "minX": 3676, "minY": 3118, "maxX": 3725, "maxY": 3249, "bold": false}, - {"char": 375, "minX": 3725, "minY": 3118, "maxX": 3774, "maxY": 3249, "bold": false}, - {"char": 253, "minX": 3774, "minY": 3118, "maxX": 3823, "maxY": 3249, "bold": false}, - {"char": 255, "minX": 3823, "minY": 3118, "maxX": 3872, "maxY": 3249, "bold": false}, - {"char": 191, "minX": 3872, "minY": 3118, "maxX": 3921, "maxY": 3249, "bold": false}, - {"char": 182, "minX": 3921, "minY": 3118, "maxX": 3970, "maxY": 3249, "bold": false}, - {"char": 187, "minX": 3970, "minY": 3118, "maxX": 4019, "maxY": 3249, "bold": false}, - {"char": 171, "minX": 4019, "minY": 3118, "maxX": 4068, "maxY": 3249, "bold": false}, - {"char": 7880, "minX": 4068, "minY": 3118, "maxX": 4096, "maxY": 3249, "bold": false}, - {"char": 1275, "minX": 0, "minY": 3254, "maxX": 50, "maxY": 3390, "bold": true}, - {"char": 783, "minX": 50, "minY": 3254, "maxX": 100, "maxY": 3390, "bold": true}, - {"char": 711, "minX": 100, "minY": 3254, "maxX": 150, "maxY": 3390, "bold": true}, - {"char": 186, "minX": 150, "minY": 3254, "maxX": 200, "maxY": 3390, "bold": true}, - {"char": 8260, "minX": 200, "minY": 3254, "maxX": 249, "maxY": 3390, "bold": true}, - {"char": 8215, "minX": 249, "minY": 3254, "maxX": 298, "maxY": 3390, "bold": true}, - {"char": 1169, "minX": 298, "minY": 3254, "maxX": 347, "maxY": 3390, "bold": true}, - {"char": 170, "minX": 347, "minY": 3254, "maxX": 396, "maxY": 3390, "bold": true}, - {"char": 95, "minX": 396, "minY": 3254, "maxX": 445, "maxY": 3390, "bold": true}, - {"char": 1171, "minX": 445, "minY": 3254, "maxX": 493, "maxY": 3390, "bold": true}, - {"char": 728, "minX": 493, "minY": 3254, "maxX": 541, "maxY": 3390, "bold": true}, - {"char": 168, "minX": 541, "minY": 3254, "maxX": 589, "maxY": 3390, "bold": true}, - {"char": 42, "minX": 589, "minY": 3254, "maxX": 637, "maxY": 3390, "bold": true}, - {"char": 118, "minX": 637, "minY": 3254, "maxX": 686, "maxY": 3385, "bold": false}, - {"char": 121, "minX": 686, "minY": 3254, "maxX": 735, "maxY": 3385, "bold": false}, - {"char": 63, "minX": 735, "minY": 3254, "maxX": 784, "maxY": 3385, "bold": false}, - {"char": 713, "minX": 784, "minY": 3254, "maxX": 832, "maxY": 3385, "bold": false}, - {"char": 732, "minX": 832, "minY": 3254, "maxX": 880, "maxY": 3385, "bold": false}, - {"char": 175, "minX": 880, "minY": 3254, "maxX": 928, "maxY": 3385, "bold": false}, - {"char": 1275, "minX": 928, "minY": 3254, "maxX": 974, "maxY": 3385, "bold": false}, - {"char": 711, "minX": 974, "minY": 3254, "maxX": 1020, "maxY": 3385, "bold": false}, - {"char": 186, "minX": 1020, "minY": 3254, "maxX": 1066, "maxY": 3385, "bold": false}, - {"char": 8215, "minX": 1066, "minY": 3254, "maxX": 1111, "maxY": 3385, "bold": false}, - {"char": 1169, "minX": 1111, "minY": 3254, "maxX": 1156, "maxY": 3385, "bold": false}, - {"char": 170, "minX": 1156, "minY": 3254, "maxX": 1201, "maxY": 3385, "bold": false}, - {"char": 95, "minX": 1201, "minY": 3254, "maxX": 1246, "maxY": 3385, "bold": false}, - {"char": 1171, "minX": 1246, "minY": 3254, "maxX": 1290, "maxY": 3385, "bold": false}, - {"char": 728, "minX": 1290, "minY": 3254, "maxX": 1334, "maxY": 3385, "bold": false}, - {"char": 168, "minX": 1334, "minY": 3254, "maxX": 1378, "maxY": 3385, "bold": false}, - {"char": 42, "minX": 1378, "minY": 3254, "maxX": 1422, "maxY": 3385, "bold": false}, - {"char": 94, "minX": 1422, "minY": 3254, "maxX": 1465, "maxY": 3385, "bold": false}, - {"char": 8319, "minX": 1465, "minY": 3254, "maxX": 1507, "maxY": 3385, "bold": false}, - {"char": 1271, "minX": 1507, "minY": 3254, "maxX": 1549, "maxY": 3385, "bold": false}, - {"char": 1107, "minX": 1549, "minY": 3254, "maxX": 1591, "maxY": 3385, "bold": false}, - {"char": 1075, "minX": 1591, "minY": 3254, "maxX": 1633, "maxY": 3385, "bold": false}, - {"char": 912, "minX": 1633, "minY": 3254, "maxX": 1675, "maxY": 3385, "bold": false}, - {"char": 92, "minX": 1675, "minY": 3254, "maxX": 1717, "maxY": 3385, "bold": false}, - {"char": 783, "minX": 1717, "minY": 3254, "maxX": 1758, "maxY": 3385, "bold": false}, - {"char": 47, "minX": 1758, "minY": 3254, "maxX": 1798, "maxY": 3385, "bold": false}, - {"char": 8747, "minX": 1798, "minY": 3254, "maxX": 1837, "maxY": 3385, "bold": false}, - {"char": 8221, "minX": 1837, "minY": 3254, "maxX": 1876, "maxY": 3385, "bold": false}, - {"char": 733, "minX": 1876, "minY": 3254, "maxX": 1915, "maxY": 3385, "bold": false}, - {"char": 8220, "minX": 1915, "minY": 3254, "maxX": 1953, "maxY": 3385, "bold": false}, - {"char": 8222, "minX": 1953, "minY": 3254, "maxX": 1991, "maxY": 3385, "bold": false}, - {"char": 1156, "minX": 1991, "minY": 3254, "maxX": 2029, "maxY": 3385, "bold": false}, - {"char": 402, "minX": 2029, "minY": 3254, "maxX": 2067, "maxY": 3385, "bold": false}, - {"char": 176, "minX": 2067, "minY": 3254, "maxX": 2105, "maxY": 3385, "bold": false}, - {"char": 8308, "minX": 2105, "minY": 3254, "maxX": 2142, "maxY": 3385, "bold": false}, - {"char": 1155, "minX": 2142, "minY": 3254, "maxX": 2179, "maxY": 3385, "bold": false}, - {"char": 771, "minX": 2179, "minY": 3254, "maxX": 2216, "maxY": 3385, "bold": false}, - {"char": 296, "minX": 2216, "minY": 3254, "maxX": 2253, "maxY": 3385, "bold": false}, - {"char": 297, "minX": 2253, "minY": 3254, "maxX": 2290, "maxY": 3385, "bold": false}, - {"char": 178, "minX": 2290, "minY": 3254, "maxX": 2327, "maxY": 3385, "bold": false}, - {"char": 179, "minX": 2327, "minY": 3254, "maxX": 2364, "maxY": 3385, "bold": false}, - {"char": 185, "minX": 2364, "minY": 3254, "maxX": 2401, "maxY": 3385, "bold": false}, - {"char": 1111, "minX": 2401, "minY": 3254, "maxX": 2437, "maxY": 3385, "bold": false}, - {"char": 1031, "minX": 2437, "minY": 3254, "maxX": 2473, "maxY": 3385, "bold": false}, - {"char": 970, "minX": 2473, "minY": 3254, "maxX": 2509, "maxY": 3385, "bold": false}, - {"char": 938, "minX": 2509, "minY": 3254, "maxX": 2545, "maxY": 3385, "bold": false}, - {"char": 496, "minX": 2545, "minY": 3254, "maxX": 2581, "maxY": 3385, "bold": false}, - {"char": 320, "minX": 2581, "minY": 3254, "maxX": 2617, "maxY": 3385, "bold": false}, - {"char": 239, "minX": 2617, "minY": 3254, "maxX": 2653, "maxY": 3385, "bold": false}, - {"char": 207, "minX": 2653, "minY": 3254, "maxX": 2689, "maxY": 3385, "bold": false}, - {"char": 8226, "minX": 2689, "minY": 3254, "maxX": 2724, "maxY": 3385, "bold": false}, - {"char": 906, "minX": 2724, "minY": 3254, "maxX": 2759, "maxY": 3385, "bold": false}, - {"char": 357, "minX": 2759, "minY": 3254, "maxX": 2794, "maxY": 3385, "bold": false}, - {"char": 343, "minX": 2794, "minY": 3254, "maxX": 2829, "maxY": 3385, "bold": false}, - {"char": 345, "minX": 2829, "minY": 3254, "maxX": 2864, "maxY": 3385, "bold": false}, - {"char": 341, "minX": 2864, "minY": 3254, "maxX": 2899, "maxY": 3385, "bold": false}, - {"char": 298, "minX": 2899, "minY": 3254, "maxX": 2934, "maxY": 3385, "bold": false}, - {"char": 299, "minX": 2934, "minY": 3254, "maxX": 2969, "maxY": 3385, "bold": false}, - {"char": 102, "minX": 2969, "minY": 3254, "maxX": 3004, "maxY": 3385, "bold": false}, - {"char": 114, "minX": 3004, "minY": 3254, "maxX": 3039, "maxY": 3385, "bold": false}, - {"char": 40, "minX": 3039, "minY": 3254, "maxX": 3074, "maxY": 3385, "bold": false}, - {"char": 41, "minX": 3074, "minY": 3254, "maxX": 3109, "maxY": 3385, "bold": false}, - {"char": 730, "minX": 3109, "minY": 3254, "maxX": 3143, "maxY": 3385, "bold": false}, - {"char": 359, "minX": 3143, "minY": 3254, "maxX": 3177, "maxY": 3385, "bold": false}, - {"char": 309, "minX": 3177, "minY": 3254, "maxX": 3211, "maxY": 3385, "bold": false}, - {"char": 238, "minX": 3211, "minY": 3254, "maxX": 3245, "maxY": 3385, "bold": false}, - {"char": 206, "minX": 3245, "minY": 3254, "maxX": 3279, "maxY": 3385, "bold": false}, - {"char": 123, "minX": 3279, "minY": 3254, "maxX": 3313, "maxY": 3385, "bold": false}, - {"char": 125, "minX": 3313, "minY": 3254, "maxX": 3347, "maxY": 3385, "bold": false}, - {"char": 8208, "minX": 3347, "minY": 3254, "maxX": 3380, "maxY": 3385, "bold": false}, - {"char": 8209, "minX": 3380, "minY": 3254, "maxX": 3413, "maxY": 3385, "bold": false}, - {"char": 953, "minX": 3413, "minY": 3254, "maxX": 3446, "maxY": 3385, "bold": false}, - {"char": 943, "minX": 3446, "minY": 3254, "maxX": 3479, "maxY": 3385, "bold": false}, - {"char": 539, "minX": 3479, "minY": 3254, "maxX": 3512, "maxY": 3385, "bold": false}, - {"char": 355, "minX": 3512, "minY": 3254, "maxX": 3545, "maxY": 3385, "bold": false}, - {"char": 318, "minX": 3545, "minY": 3254, "maxX": 3578, "maxY": 3385, "bold": false}, - {"char": 300, "minX": 3578, "minY": 3254, "maxX": 3611, "maxY": 3385, "bold": false}, - {"char": 301, "minX": 3611, "minY": 3254, "maxX": 3644, "maxY": 3385, "bold": false}, - {"char": 180, "minX": 3644, "minY": 3254, "maxX": 3677, "maxY": 3385, "bold": false}, - {"char": 173, "minX": 3677, "minY": 3254, "maxX": 3710, "maxY": 3385, "bold": false}, - {"char": 116, "minX": 3710, "minY": 3254, "maxX": 3743, "maxY": 3385, "bold": false}, - {"char": 45, "minX": 3743, "minY": 3254, "maxX": 3776, "maxY": 3385, "bold": false}, - {"char": 60930, "minX": 3776, "minY": 3254, "maxX": 3808, "maxY": 3385, "bold": false}, - {"char": 8243, "minX": 3808, "minY": 3254, "maxX": 3840, "maxY": 3385, "bold": false}, - {"char": 96, "minX": 3840, "minY": 3254, "maxX": 3872, "maxY": 3385, "bold": false}, - {"char": 34, "minX": 3872, "minY": 3254, "maxX": 3904, "maxY": 3385, "bold": false}, - {"char": 8249, "minX": 3904, "minY": 3254, "maxX": 3935, "maxY": 3385, "bold": false}, - {"char": 755, "minX": 3935, "minY": 3254, "maxX": 3965, "maxY": 3385, "bold": false}, - {"char": 900, "minX": 3965, "minY": 3254, "maxX": 3995, "maxY": 3385, "bold": false}, - {"char": 60929, "minX": 3995, "minY": 3254, "maxX": 4024, "maxY": 3385, "bold": false}, - {"char": 731, "minX": 4024, "minY": 3254, "maxX": 4053, "maxY": 3385, "bold": false}, - {"char": 322, "minX": 4053, "minY": 3254, "maxX": 4082, "maxY": 3385, "bold": false}, - {"char": 1157, "minX": 4082, "minY": 3254, "maxX": 4095, "maxY": 3385, "bold": false}, - {"char": 94, "minX": 0, "minY": 3390, "maxX": 47, "maxY": 3526, "bold": true}, - {"char": 1271, "minX": 47, "minY": 3390, "maxX": 93, "maxY": 3526, "bold": true}, - {"char": 1107, "minX": 93, "minY": 3390, "maxX": 139, "maxY": 3526, "bold": true}, - {"char": 1075, "minX": 139, "minY": 3390, "maxX": 185, "maxY": 3526, "bold": true}, - {"char": 912, "minX": 185, "minY": 3390, "maxX": 231, "maxY": 3526, "bold": true}, - {"char": 92, "minX": 231, "minY": 3390, "maxX": 277, "maxY": 3526, "bold": true}, - {"char": 47, "minX": 277, "minY": 3390, "maxX": 321, "maxY": 3526, "bold": true}, - {"char": 8747, "minX": 321, "minY": 3390, "maxX": 364, "maxY": 3526, "bold": true}, - {"char": 8221, "minX": 364, "minY": 3390, "maxX": 407, "maxY": 3526, "bold": true}, - {"char": 733, "minX": 407, "minY": 3390, "maxX": 450, "maxY": 3526, "bold": true}, - {"char": 8220, "minX": 450, "minY": 3390, "maxX": 492, "maxY": 3526, "bold": true}, - {"char": 8222, "minX": 492, "minY": 3390, "maxX": 534, "maxY": 3526, "bold": true}, - {"char": 1156, "minX": 534, "minY": 3390, "maxX": 576, "maxY": 3526, "bold": true}, - {"char": 402, "minX": 576, "minY": 3390, "maxX": 618, "maxY": 3526, "bold": true}, - {"char": 176, "minX": 618, "minY": 3390, "maxX": 660, "maxY": 3526, "bold": true}, - {"char": 8308, "minX": 660, "minY": 3390, "maxX": 701, "maxY": 3526, "bold": true}, - {"char": 1155, "minX": 701, "minY": 3390, "maxX": 742, "maxY": 3526, "bold": true}, - {"char": 771, "minX": 742, "minY": 3390, "maxX": 783, "maxY": 3526, "bold": true}, - {"char": 296, "minX": 783, "minY": 3390, "maxX": 824, "maxY": 3526, "bold": true}, - {"char": 297, "minX": 824, "minY": 3390, "maxX": 865, "maxY": 3526, "bold": true}, - {"char": 178, "minX": 865, "minY": 3390, "maxX": 906, "maxY": 3526, "bold": true}, - {"char": 179, "minX": 906, "minY": 3390, "maxX": 947, "maxY": 3526, "bold": true}, - {"char": 185, "minX": 947, "minY": 3390, "maxX": 988, "maxY": 3526, "bold": true}, - {"char": 1111, "minX": 988, "minY": 3390, "maxX": 1028, "maxY": 3526, "bold": true}, - {"char": 1031, "minX": 1028, "minY": 3390, "maxX": 1068, "maxY": 3526, "bold": true}, - {"char": 970, "minX": 1068, "minY": 3390, "maxX": 1108, "maxY": 3526, "bold": true}, - {"char": 938, "minX": 1108, "minY": 3390, "maxX": 1148, "maxY": 3526, "bold": true}, - {"char": 496, "minX": 1148, "minY": 3390, "maxX": 1188, "maxY": 3526, "bold": true}, - {"char": 320, "minX": 1188, "minY": 3390, "maxX": 1228, "maxY": 3526, "bold": true}, - {"char": 239, "minX": 1228, "minY": 3390, "maxX": 1268, "maxY": 3526, "bold": true}, - {"char": 207, "minX": 1268, "minY": 3390, "maxX": 1308, "maxY": 3526, "bold": true}, - {"char": 8226, "minX": 1308, "minY": 3390, "maxX": 1347, "maxY": 3526, "bold": true}, - {"char": 906, "minX": 1347, "minY": 3390, "maxX": 1386, "maxY": 3526, "bold": true}, - {"char": 357, "minX": 1386, "minY": 3390, "maxX": 1425, "maxY": 3526, "bold": true}, - {"char": 343, "minX": 1425, "minY": 3390, "maxX": 1464, "maxY": 3526, "bold": true}, - {"char": 345, "minX": 1464, "minY": 3390, "maxX": 1503, "maxY": 3526, "bold": true}, - {"char": 341, "minX": 1503, "minY": 3390, "maxX": 1542, "maxY": 3526, "bold": true}, - {"char": 298, "minX": 1542, "minY": 3390, "maxX": 1581, "maxY": 3526, "bold": true}, - {"char": 299, "minX": 1581, "minY": 3390, "maxX": 1620, "maxY": 3526, "bold": true}, - {"char": 102, "minX": 1620, "minY": 3390, "maxX": 1659, "maxY": 3526, "bold": true}, - {"char": 114, "minX": 1659, "minY": 3390, "maxX": 1698, "maxY": 3526, "bold": true}, - {"char": 40, "minX": 1698, "minY": 3390, "maxX": 1737, "maxY": 3526, "bold": true}, - {"char": 41, "minX": 1737, "minY": 3390, "maxX": 1776, "maxY": 3526, "bold": true}, - {"char": 730, "minX": 1776, "minY": 3390, "maxX": 1814, "maxY": 3526, "bold": true}, - {"char": 359, "minX": 1814, "minY": 3390, "maxX": 1852, "maxY": 3526, "bold": true}, - {"char": 309, "minX": 1852, "minY": 3390, "maxX": 1890, "maxY": 3526, "bold": true}, - {"char": 238, "minX": 1890, "minY": 3390, "maxX": 1928, "maxY": 3526, "bold": true}, - {"char": 206, "minX": 1928, "minY": 3390, "maxX": 1966, "maxY": 3526, "bold": true}, - {"char": 123, "minX": 1966, "minY": 3390, "maxX": 2004, "maxY": 3526, "bold": true}, - {"char": 125, "minX": 2004, "minY": 3390, "maxX": 2042, "maxY": 3526, "bold": true}, - {"char": 8208, "minX": 2042, "minY": 3390, "maxX": 2079, "maxY": 3526, "bold": true}, - {"char": 8209, "minX": 2079, "minY": 3390, "maxX": 2116, "maxY": 3526, "bold": true}, - {"char": 953, "minX": 2116, "minY": 3390, "maxX": 2153, "maxY": 3526, "bold": true}, - {"char": 943, "minX": 2153, "minY": 3390, "maxX": 2190, "maxY": 3526, "bold": true}, - {"char": 539, "minX": 2190, "minY": 3390, "maxX": 2227, "maxY": 3526, "bold": true}, - {"char": 355, "minX": 2227, "minY": 3390, "maxX": 2264, "maxY": 3526, "bold": true}, - {"char": 318, "minX": 2264, "minY": 3390, "maxX": 2301, "maxY": 3526, "bold": true}, - {"char": 300, "minX": 2301, "minY": 3390, "maxX": 2338, "maxY": 3526, "bold": true}, - {"char": 301, "minX": 2338, "minY": 3390, "maxX": 2375, "maxY": 3526, "bold": true}, - {"char": 180, "minX": 2375, "minY": 3390, "maxX": 2412, "maxY": 3526, "bold": true}, - {"char": 173, "minX": 2412, "minY": 3390, "maxX": 2449, "maxY": 3526, "bold": true}, - {"char": 116, "minX": 2449, "minY": 3390, "maxX": 2486, "maxY": 3526, "bold": true}, - {"char": 45, "minX": 2486, "minY": 3390, "maxX": 2523, "maxY": 3526, "bold": true}, - {"char": 60930, "minX": 2523, "minY": 3390, "maxX": 2559, "maxY": 3526, "bold": true}, - {"char": 8243, "minX": 2559, "minY": 3390, "maxX": 2595, "maxY": 3526, "bold": true}, - {"char": 34, "minX": 2595, "minY": 3390, "maxX": 2631, "maxY": 3526, "bold": true}, - {"char": 8250, "minX": 2631, "minY": 3390, "maxX": 2665, "maxY": 3526, "bold": true}, - {"char": 755, "minX": 2665, "minY": 3390, "maxX": 2699, "maxY": 3526, "bold": true}, - {"char": 900, "minX": 2699, "minY": 3390, "maxX": 2733, "maxY": 3526, "bold": true}, - {"char": 60929, "minX": 2733, "minY": 3390, "maxX": 2766, "maxY": 3526, "bold": true}, - {"char": 731, "minX": 2766, "minY": 3390, "maxX": 2799, "maxY": 3526, "bold": true}, - {"char": 322, "minX": 2799, "minY": 3390, "maxX": 2832, "maxY": 3526, "bold": true}, - {"char": 236, "minX": 2832, "minY": 3390, "maxX": 2865, "maxY": 3526, "bold": true}, - {"char": 204, "minX": 2865, "minY": 3390, "maxX": 2898, "maxY": 3526, "bold": true}, - {"char": 96, "minX": 2898, "minY": 3390, "maxX": 2931, "maxY": 3526, "bold": true}, - {"char": 7880, "minX": 2931, "minY": 3390, "maxX": 2963, "maxY": 3526, "bold": true}, - {"char": 7882, "minX": 2963, "minY": 3390, "maxX": 2995, "maxY": 3526, "bold": true}, - {"char": 1231, "minX": 2995, "minY": 3390, "maxX": 3027, "maxY": 3526, "bold": true}, - {"char": 1216, "minX": 3027, "minY": 3390, "maxX": 3059, "maxY": 3526, "bold": true}, - {"char": 1030, "minX": 3059, "minY": 3390, "maxX": 3091, "maxY": 3526, "bold": true}, - {"char": 921, "minX": 3091, "minY": 3390, "maxX": 3123, "maxY": 3526, "bold": true}, - {"char": 768, "minX": 3123, "minY": 3390, "maxX": 3155, "maxY": 3526, "bold": true}, - {"char": 769, "minX": 3155, "minY": 3390, "maxX": 3187, "maxY": 3526, "bold": true}, - {"char": 903, "minX": 3187, "minY": 3390, "maxX": 3219, "maxY": 3526, "bold": true}, - {"char": 302, "minX": 3219, "minY": 3390, "maxX": 3251, "maxY": 3526, "bold": true}, - {"char": 304, "minX": 3251, "minY": 3390, "maxX": 3283, "maxY": 3526, "bold": true}, - {"char": 205, "minX": 3283, "minY": 3390, "maxX": 3315, "maxY": 3526, "bold": true}, - {"char": 183, "minX": 3315, "minY": 3390, "maxX": 3347, "maxY": 3526, "bold": true}, - {"char": 73, "minX": 3347, "minY": 3390, "maxX": 3379, "maxY": 3526, "bold": true}, - {"char": 46, "minX": 3379, "minY": 3390, "maxX": 3411, "maxY": 3526, "bold": true}, - {"char": 8200, "minX": 3411, "minY": 3390, "maxX": 3442, "maxY": 3526, "bold": true}, - {"char": 91, "minX": 3442, "minY": 3390, "maxX": 3473, "maxY": 3526, "bold": true}, - {"char": 93, "minX": 3473, "minY": 3390, "maxX": 3504, "maxY": 3526, "bold": true}, - {"char": 58, "minX": 3504, "minY": 3390, "maxX": 3535, "maxY": 3526, "bold": true}, - {"char": 33, "minX": 3535, "minY": 3390, "maxX": 3566, "maxY": 3526, "bold": true}, - {"char": 7881, "minX": 3566, "minY": 3390, "maxX": 3596, "maxY": 3526, "bold": true}, - {"char": 7883, "minX": 3596, "minY": 3390, "maxX": 3626, "maxY": 3526, "bold": true}, - {"char": 1110, "minX": 3626, "minY": 3390, "maxX": 3656, "maxY": 3526, "bold": true}, - {"char": 729, "minX": 3656, "minY": 3390, "maxX": 3686, "maxY": 3526, "bold": true}, - {"char": 383, "minX": 3686, "minY": 3390, "maxX": 3716, "maxY": 3526, "bold": true}, - {"char": 314, "minX": 3716, "minY": 3390, "maxX": 3746, "maxY": 3526, "bold": true}, - {"char": 316, "minX": 3746, "minY": 3390, "maxX": 3776, "maxY": 3526, "bold": true}, - {"char": 303, "minX": 3776, "minY": 3390, "maxX": 3806, "maxY": 3526, "bold": true}, - {"char": 305, "minX": 3806, "minY": 3390, "maxX": 3836, "maxY": 3526, "bold": true}, - {"char": 237, "minX": 3836, "minY": 3390, "maxX": 3866, "maxY": 3526, "bold": true}, - {"char": 184, "minX": 3866, "minY": 3390, "maxX": 3896, "maxY": 3526, "bold": true}, - {"char": 161, "minX": 3896, "minY": 3390, "maxX": 3926, "maxY": 3526, "bold": true}, - {"char": 105, "minX": 3926, "minY": 3390, "maxX": 3956, "maxY": 3526, "bold": true}, - {"char": 108, "minX": 3956, "minY": 3390, "maxX": 3986, "maxY": 3526, "bold": true}, - {"char": 8197, "minX": 3986, "minY": 3390, "maxX": 4015, "maxY": 3526, "bold": true}, - {"char": 166, "minX": 4015, "minY": 3390, "maxX": 4044, "maxY": 3526, "bold": true}, - {"char": 124, "minX": 4044, "minY": 3390, "maxX": 4073, "maxY": 3526, "bold": true}, - {"char": 8218, "minX": 4073, "minY": 3390, "maxX": 4096, "maxY": 3521, "bold": false}, - {"char": 160, "minX": 0, "minY": 3526, "maxX": 29, "maxY": 3662, "bold": true}, - {"char": 32, "minX": 29, "minY": 3526, "maxX": 58, "maxY": 3662, "bold": true}, - {"char": 63171, "minX": 58, "minY": 3526, "maxX": 86, "maxY": 3662, "bold": true}, - {"char": 1112, "minX": 86, "minY": 3526, "maxX": 114, "maxY": 3662, "bold": true}, - {"char": 567, "minX": 114, "minY": 3526, "maxX": 142, "maxY": 3662, "bold": true}, - {"char": 106, "minX": 142, "minY": 3526, "maxX": 170, "maxY": 3662, "bold": true}, - {"char": 59, "minX": 170, "minY": 3526, "maxX": 198, "maxY": 3662, "bold": true}, - {"char": 8218, "minX": 198, "minY": 3526, "maxX": 225, "maxY": 3662, "bold": true}, - {"char": 7882, "minX": 225, "minY": 3526, "maxX": 253, "maxY": 3657, "bold": false}, - {"char": 1231, "minX": 253, "minY": 3526, "maxX": 281, "maxY": 3657, "bold": false}, - {"char": 1216, "minX": 281, "minY": 3526, "maxX": 309, "maxY": 3657, "bold": false}, - {"char": 1030, "minX": 309, "minY": 3526, "maxX": 337, "maxY": 3657, "bold": false}, - {"char": 921, "minX": 337, "minY": 3526, "maxX": 365, "maxY": 3657, "bold": false}, - {"char": 903, "minX": 365, "minY": 3526, "maxX": 393, "maxY": 3657, "bold": false}, - {"char": 302, "minX": 393, "minY": 3526, "maxX": 421, "maxY": 3657, "bold": false}, - {"char": 304, "minX": 421, "minY": 3526, "maxX": 449, "maxY": 3657, "bold": false}, - {"char": 205, "minX": 449, "minY": 3526, "maxX": 477, "maxY": 3657, "bold": false}, - {"char": 183, "minX": 477, "minY": 3526, "maxX": 505, "maxY": 3657, "bold": false}, - {"char": 73, "minX": 505, "minY": 3526, "maxX": 533, "maxY": 3657, "bold": false}, - {"char": 46, "minX": 533, "minY": 3526, "maxX": 561, "maxY": 3657, "bold": false}, - {"char": 8200, "minX": 561, "minY": 3526, "maxX": 588, "maxY": 3657, "bold": false}, - {"char": 91, "minX": 588, "minY": 3526, "maxX": 615, "maxY": 3657, "bold": false}, - {"char": 93, "minX": 615, "minY": 3526, "maxX": 642, "maxY": 3657, "bold": false}, - {"char": 58, "minX": 642, "minY": 3526, "maxX": 669, "maxY": 3657, "bold": false}, - {"char": 33, "minX": 669, "minY": 3526, "maxX": 696, "maxY": 3657, "bold": false}, - {"char": 7881, "minX": 696, "minY": 3526, "maxX": 722, "maxY": 3657, "bold": false}, - {"char": 7883, "minX": 722, "minY": 3526, "maxX": 748, "maxY": 3657, "bold": false}, - {"char": 1110, "minX": 748, "minY": 3526, "maxX": 774, "maxY": 3657, "bold": false}, - {"char": 729, "minX": 774, "minY": 3526, "maxX": 800, "maxY": 3657, "bold": false}, - {"char": 383, "minX": 800, "minY": 3526, "maxX": 826, "maxY": 3657, "bold": false}, - {"char": 314, "minX": 826, "minY": 3526, "maxX": 852, "maxY": 3657, "bold": false}, - {"char": 316, "minX": 852, "minY": 3526, "maxX": 878, "maxY": 3657, "bold": false}, - {"char": 303, "minX": 878, "minY": 3526, "maxX": 904, "maxY": 3657, "bold": false}, - {"char": 305, "minX": 904, "minY": 3526, "maxX": 930, "maxY": 3657, "bold": false}, - {"char": 237, "minX": 930, "minY": 3526, "maxX": 956, "maxY": 3657, "bold": false}, - {"char": 184, "minX": 956, "minY": 3526, "maxX": 982, "maxY": 3657, "bold": false}, - {"char": 161, "minX": 982, "minY": 3526, "maxX": 1008, "maxY": 3657, "bold": false}, - {"char": 105, "minX": 1008, "minY": 3526, "maxX": 1034, "maxY": 3657, "bold": false}, - {"char": 108, "minX": 1034, "minY": 3526, "maxX": 1060, "maxY": 3657, "bold": false}, - {"char": 166, "minX": 1060, "minY": 3526, "maxX": 1085, "maxY": 3657, "bold": false}, - {"char": 124, "minX": 1085, "minY": 3526, "maxX": 1110, "maxY": 3657, "bold": false}, - {"char": 160, "minX": 1110, "minY": 3526, "maxX": 1135, "maxY": 3657, "bold": false}, - {"char": 32, "minX": 1135, "minY": 3526, "maxX": 1160, "maxY": 3657, "bold": false}, - {"char": 63171, "minX": 1160, "minY": 3526, "maxX": 1184, "maxY": 3657, "bold": false}, - {"char": 768, "minX": 1184, "minY": 3526, "maxX": 1208, "maxY": 3657, "bold": false}, - {"char": 769, "minX": 1208, "minY": 3526, "maxX": 1232, "maxY": 3657, "bold": false}, - {"char": 567, "minX": 1232, "minY": 3526, "maxX": 1256, "maxY": 3657, "bold": false}, - {"char": 236, "minX": 1256, "minY": 3526, "maxX": 1280, "maxY": 3657, "bold": false}, - {"char": 204, "minX": 1280, "minY": 3526, "maxX": 1304, "maxY": 3657, "bold": false}, - {"char": 59, "minX": 1304, "minY": 3526, "maxX": 1328, "maxY": 3657, "bold": false}, - {"char": 1112, "minX": 1328, "minY": 3526, "maxX": 1351, "maxY": 3657, "bold": false}, - {"char": 106, "minX": 1351, "minY": 3526, "maxX": 1374, "maxY": 3657, "bold": false}, - {"char": 8216, "minX": 1374, "minY": 3526, "maxX": 1396, "maxY": 3657, "bold": false}, - {"char": 8217, "minX": 1396, "minY": 3526, "maxX": 1418, "maxY": 3657, "bold": false}, - {"char": 700, "minX": 1418, "minY": 3526, "maxX": 1440, "maxY": 3657, "bold": false}, - {"char": 44, "minX": 1440, "minY": 3526, "maxX": 1462, "maxY": 3657, "bold": false}, - {"char": 8219, "minX": 1462, "minY": 3526, "maxX": 1483, "maxY": 3657, "bold": false}, - {"char": 8201, "minX": 1483, "minY": 3526, "maxX": 1503, "maxY": 3657, "bold": false}, - {"char": 777, "minX": 1503, "minY": 3526, "maxX": 1521, "maxY": 3657, "bold": false}, - {"char": 8242, "minX": 1521, "minY": 3526, "maxX": 1538, "maxY": 3657, "bold": false}, - {"char": 8198, "minX": 1538, "minY": 3526, "maxX": 1555, "maxY": 3657, "bold": false}, - {"char": 39, "minX": 1555, "minY": 3526, "maxX": 1572, "maxY": 3657, "bold": false}, - {"char": 1158, "minX": 1572, "minY": 3526, "maxX": 1585, "maxY": 3657, "bold": false}, - {"char": 8231, "minX": 0, "minY": 3662, "maxX": 26, "maxY": 3798, "bold": true}, - {"char": 8216, "minX": 26, "minY": 3662, "maxX": 52, "maxY": 3798, "bold": true}, - {"char": 8217, "minX": 52, "minY": 3662, "maxX": 78, "maxY": 3798, "bold": true}, - {"char": 700, "minX": 78, "minY": 3662, "maxX": 104, "maxY": 3798, "bold": true}, - {"char": 44, "minX": 104, "minY": 3662, "maxX": 130, "maxY": 3798, "bold": true}, - {"char": 8219, "minX": 130, "minY": 3662, "maxX": 155, "maxY": 3798, "bold": true}, - {"char": 8201, "minX": 155, "minY": 3662, "maxX": 179, "maxY": 3798, "bold": true}, - {"char": 777, "minX": 179, "minY": 3662, "maxX": 201, "maxY": 3798, "bold": true}, - {"char": 8242, "minX": 201, "minY": 3662, "maxX": 222, "maxY": 3798, "bold": true}, - {"char": 8198, "minX": 222, "minY": 3662, "maxX": 243, "maxY": 3798, "bold": true}, - {"char": 39, "minX": 243, "minY": 3662, "maxX": 264, "maxY": 3798, "bold": true}, - {"char": 803, "minX": 264, "minY": 3662, "maxX": 283, "maxY": 3798, "bold": true}, - {"char": 1157, "minX": 283, "minY": 3662, "maxX": 301, "maxY": 3798, "bold": true}, - {"char": 1158, "minX": 301, "minY": 3662, "maxX": 318, "maxY": 3798, "bold": true}, - {"char": 8202, "minX": 318, "minY": 3662, "maxX": 332, "maxY": 3798, "bold": true}, + {"char": 1132, "minX": 124, "minY": 0, "maxX": 243, "maxY": 136, "bold": true}, + {"char": 1144, "minX": 245, "minY": 0, "maxX": 363, "maxY": 131, "bold": false}, + {"char": 1132, "minX": 365, "minY": 0, "maxX": 480, "maxY": 131, "bold": false}, + {"char": 8360, "minX": 482, "minY": 0, "maxX": 589, "maxY": 131, "bold": false}, + {"char": 1033, "minX": 591, "minY": 0, "maxX": 698, "maxY": 131, "bold": false}, + {"char": 1034, "minX": 700, "minY": 0, "maxX": 807, "maxY": 131, "bold": false}, + {"char": 1145, "minX": 809, "minY": 0, "maxX": 915, "maxY": 131, "bold": false}, + {"char": 65533, "minX": 917, "minY": 0, "maxX": 1020, "maxY": 131, "bold": false}, + {"char": 8734, "minX": 1022, "minY": 0, "maxX": 1125, "maxY": 131, "bold": false}, + {"char": 1190, "minX": 1127, "minY": 0, "maxX": 1230, "maxY": 131, "bold": false}, + {"char": 65532, "minX": 1232, "minY": 0, "maxX": 1334, "maxY": 131, "bold": false}, + {"char": 8470, "minX": 1336, "minY": 0, "maxX": 1438, "maxY": 131, "bold": false}, + {"char": 8193, "minX": 1440, "minY": 0, "maxX": 1542, "maxY": 131, "bold": false}, + {"char": 8195, "minX": 1544, "minY": 0, "maxX": 1646, "maxY": 131, "bold": false}, + {"char": 1174, "minX": 1648, "minY": 0, "maxX": 1749, "maxY": 131, "bold": false}, + {"char": 1290, "minX": 1751, "minY": 0, "maxX": 1851, "maxY": 131, "bold": false}, + {"char": 1133, "minX": 1853, "minY": 0, "maxX": 1953, "maxY": 131, "bold": false}, + {"char": 1065, "minX": 1955, "minY": 0, "maxX": 2055, "maxY": 131, "bold": false}, + {"char": 1188, "minX": 2057, "minY": 0, "maxX": 2155, "maxY": 131, "bold": false}, + {"char": 1288, "minX": 2157, "minY": 0, "maxX": 2254, "maxY": 131, "bold": false}, + {"char": 8240, "minX": 2256, "minY": 0, "maxX": 2352, "maxY": 131, "bold": false}, + {"char": 1160, "minX": 2354, "minY": 0, "maxX": 2450, "maxY": 131, "bold": false}, + {"char": 338, "minX": 2452, "minY": 0, "maxX": 2548, "maxY": 131, "bold": false}, + {"char": 1244, "minX": 2550, "minY": 0, "maxX": 2645, "maxY": 131, "bold": false}, + {"char": 1217, "minX": 2647, "minY": 0, "maxX": 2742, "maxY": 131, "bold": false}, + {"char": 1064, "minX": 2744, "minY": 0, "maxX": 2839, "maxY": 131, "bold": false}, + {"char": 1046, "minX": 2841, "minY": 0, "maxX": 2936, "maxY": 131, "bold": false}, + {"char": 1229, "minX": 2938, "minY": 0, "maxX": 3032, "maxY": 131, "bold": false}, + {"char": 1236, "minX": 3034, "minY": 0, "maxX": 3127, "maxY": 131, "bold": false}, + {"char": 508, "minX": 3129, "minY": 0, "maxX": 3222, "maxY": 131, "bold": false}, + {"char": 198, "minX": 3224, "minY": 0, "maxX": 3317, "maxY": 131, "bold": false}, + {"char": 1161, "minX": 3319, "minY": 0, "maxX": 3411, "maxY": 131, "bold": false}, + {"char": 1070, "minX": 3413, "minY": 0, "maxX": 3505, "maxY": 131, "bold": false}, + {"char": 8013, "minX": 3507, "minY": 0, "maxX": 3598, "maxY": 131, "bold": false}, + {"char": 1150, "minX": 3600, "minY": 0, "maxX": 3691, "maxY": 131, "bold": false}, + {"char": 1148, "minX": 3693, "minY": 0, "maxX": 3784, "maxY": 131, "bold": false}, + {"char": 1128, "minX": 3786, "minY": 0, "maxX": 3877, "maxY": 131, "bold": false}, + {"char": 1120, "minX": 3879, "minY": 0, "maxX": 3970, "maxY": 131, "bold": false}, + {"char": 1204, "minX": 3972, "minY": 0, "maxX": 4062, "maxY": 131, "bold": false}, + {"char": 60930, "minX": 4064, "minY": 0, "maxX": 4096, "maxY": 131, "bold": false}, + {"char": 8360, "minX": 0, "minY": 138, "maxX": 111, "maxY": 274, "bold": true}, + {"char": 1033, "minX": 113, "minY": 138, "maxX": 224, "maxY": 274, "bold": true}, + {"char": 1034, "minX": 226, "minY": 138, "maxX": 337, "maxY": 274, "bold": true}, + {"char": 1145, "minX": 339, "minY": 138, "maxX": 449, "maxY": 274, "bold": true}, + {"char": 65533, "minX": 451, "minY": 138, "maxX": 558, "maxY": 274, "bold": true}, + {"char": 8734, "minX": 560, "minY": 138, "maxX": 667, "maxY": 274, "bold": true}, + {"char": 1190, "minX": 669, "minY": 138, "maxX": 776, "maxY": 274, "bold": true}, + {"char": 65532, "minX": 778, "minY": 138, "maxX": 884, "maxY": 274, "bold": true}, + {"char": 8470, "minX": 886, "minY": 138, "maxX": 992, "maxY": 274, "bold": true}, + {"char": 8193, "minX": 994, "minY": 138, "maxX": 1100, "maxY": 274, "bold": true}, + {"char": 8195, "minX": 1102, "minY": 138, "maxX": 1208, "maxY": 274, "bold": true}, + {"char": 1174, "minX": 1210, "minY": 138, "maxX": 1316, "maxY": 274, "bold": true}, + {"char": 1290, "minX": 1318, "minY": 138, "maxX": 1422, "maxY": 274, "bold": true}, + {"char": 1133, "minX": 1424, "minY": 138, "maxX": 1528, "maxY": 274, "bold": true}, + {"char": 1065, "minX": 1530, "minY": 138, "maxX": 1634, "maxY": 274, "bold": true}, + {"char": 1244, "minX": 1636, "minY": 138, "maxX": 1738, "maxY": 274, "bold": true}, + {"char": 1217, "minX": 1740, "minY": 138, "maxX": 1842, "maxY": 274, "bold": true}, + {"char": 1188, "minX": 1844, "minY": 138, "maxX": 1946, "maxY": 274, "bold": true}, + {"char": 1046, "minX": 1948, "minY": 138, "maxX": 2050, "maxY": 274, "bold": true}, + {"char": 1288, "minX": 2052, "minY": 138, "maxX": 2153, "maxY": 274, "bold": true}, + {"char": 8240, "minX": 2155, "minY": 138, "maxX": 2255, "maxY": 274, "bold": true}, + {"char": 1160, "minX": 2257, "minY": 138, "maxX": 2357, "maxY": 274, "bold": true}, + {"char": 338, "minX": 2359, "minY": 138, "maxX": 2459, "maxY": 274, "bold": true}, + {"char": 1064, "minX": 2461, "minY": 138, "maxX": 2560, "maxY": 274, "bold": true}, + {"char": 1236, "minX": 2562, "minY": 138, "maxX": 2660, "maxY": 274, "bold": true}, + {"char": 1229, "minX": 2662, "minY": 138, "maxX": 2760, "maxY": 274, "bold": true}, + {"char": 508, "minX": 2762, "minY": 138, "maxX": 2860, "maxY": 274, "bold": true}, + {"char": 198, "minX": 2862, "minY": 138, "maxX": 2960, "maxY": 274, "bold": true}, + {"char": 8013, "minX": 2962, "minY": 138, "maxX": 3058, "maxY": 274, "bold": true}, + {"char": 1161, "minX": 3060, "minY": 138, "maxX": 3156, "maxY": 274, "bold": true}, + {"char": 1070, "minX": 3158, "minY": 138, "maxX": 3254, "maxY": 274, "bold": true}, + {"char": 1150, "minX": 3256, "minY": 138, "maxX": 3351, "maxY": 274, "bold": true}, + {"char": 1148, "minX": 3353, "minY": 138, "maxX": 3448, "maxY": 274, "bold": true}, + {"char": 1128, "minX": 3450, "minY": 138, "maxX": 3545, "maxY": 274, "bold": true}, + {"char": 1120, "minX": 3547, "minY": 138, "maxX": 3642, "maxY": 274, "bold": true}, + {"char": 1204, "minX": 3644, "minY": 138, "maxX": 3738, "maxY": 274, "bold": true}, + {"char": 339, "minX": 3740, "minY": 138, "maxX": 3834, "maxY": 274, "bold": true}, + {"char": 64259, "minX": 3836, "minY": 138, "maxX": 3929, "maxY": 274, "bold": true}, + {"char": 64260, "minX": 3931, "minY": 138, "maxX": 4024, "maxY": 274, "bold": true}, + {"char": 7890, "minX": 4026, "minY": 138, "maxX": 4096, "maxY": 274, "bold": true}, + {"char": 1124, "minX": 0, "minY": 276, "maxX": 93, "maxY": 412, "bold": true}, + {"char": 64, "minX": 95, "minY": 276, "maxX": 188, "maxY": 412, "bold": true}, + {"char": 7808, "minX": 190, "minY": 276, "maxX": 282, "maxY": 412, "bold": true}, + {"char": 7810, "minX": 284, "minY": 276, "maxX": 376, "maxY": 412, "bold": true}, + {"char": 7812, "minX": 378, "minY": 276, "maxX": 470, "maxY": 412, "bold": true}, + {"char": 7742, "minX": 472, "minY": 276, "maxX": 564, "maxY": 412, "bold": true}, + {"char": 1052, "minX": 566, "minY": 276, "maxX": 658, "maxY": 412, "bold": true}, + {"char": 924, "minX": 660, "minY": 276, "maxX": 752, "maxY": 412, "bold": true}, + {"char": 372, "minX": 754, "minY": 276, "maxX": 846, "maxY": 412, "bold": true}, + {"char": 87, "minX": 848, "minY": 276, "maxX": 940, "maxY": 412, "bold": true}, + {"char": 77, "minX": 942, "minY": 276, "maxX": 1034, "maxY": 412, "bold": true}, + {"char": 7743, "minX": 1036, "minY": 276, "maxX": 1127, "maxY": 412, "bold": true}, + {"char": 1282, "minX": 1129, "minY": 276, "maxX": 1220, "maxY": 412, "bold": true}, + {"char": 1272, "minX": 1222, "minY": 276, "maxX": 1313, "maxY": 412, "bold": true}, + {"char": 1191, "minX": 1315, "minY": 276, "maxX": 1406, "maxY": 412, "bold": true}, + {"char": 1130, "minX": 1408, "minY": 276, "maxX": 1499, "maxY": 412, "bold": true}, + {"char": 1097, "minX": 1501, "minY": 276, "maxX": 1592, "maxY": 412, "bold": true}, + {"char": 1067, "minX": 1594, "minY": 276, "maxX": 1685, "maxY": 412, "bold": true}, + {"char": 109, "minX": 1687, "minY": 276, "maxX": 1778, "maxY": 412, "bold": true}, + {"char": 8540, "minX": 1780, "minY": 276, "maxX": 1870, "maxY": 412, "bold": true}, + {"char": 1283, "minX": 1872, "minY": 276, "maxX": 1962, "maxY": 412, "bold": true}, + {"char": 1114, "minX": 1964, "minY": 276, "maxX": 2054, "maxY": 412, "bold": true}, + {"char": 8541, "minX": 2056, "minY": 276, "maxX": 2145, "maxY": 412, "bold": true}, + {"char": 1175, "minX": 2147, "minY": 276, "maxX": 2236, "maxY": 412, "bold": true}, + {"char": 1113, "minX": 2238, "minY": 276, "maxX": 2327, "maxY": 412, "bold": true}, + {"char": 8359, "minX": 2329, "minY": 276, "maxX": 2417, "maxY": 412, "bold": true}, + {"char": 1237, "minX": 2419, "minY": 276, "maxX": 2507, "maxY": 412, "bold": true}, + {"char": 509, "minX": 2509, "minY": 276, "maxX": 2597, "maxY": 412, "bold": true}, + {"char": 306, "minX": 2599, "minY": 276, "maxX": 2687, "maxY": 412, "bold": true}, + {"char": 230, "minX": 2689, "minY": 276, "maxX": 2777, "maxY": 412, "bold": true}, + {"char": 8542, "minX": 2779, "minY": 276, "maxX": 2866, "maxY": 412, "bold": true}, + {"char": 1291, "minX": 2868, "minY": 276, "maxX": 2955, "maxY": 412, "bold": true}, + {"char": 1289, "minX": 2957, "minY": 276, "maxX": 3044, "maxY": 412, "bold": true}, + {"char": 1245, "minX": 3046, "minY": 276, "maxX": 3133, "maxY": 412, "bold": true}, + {"char": 1218, "minX": 3135, "minY": 276, "maxX": 3222, "maxY": 412, "bold": true}, + {"char": 1078, "minX": 3224, "minY": 276, "maxX": 3311, "maxY": 412, "bold": true}, + {"char": 339, "minX": 3313, "minY": 276, "maxX": 3403, "maxY": 407, "bold": false}, + {"char": 64259, "minX": 3405, "minY": 276, "maxX": 3494, "maxY": 407, "bold": false}, + {"char": 64260, "minX": 3496, "minY": 276, "maxX": 3585, "maxY": 407, "bold": false}, + {"char": 1124, "minX": 3587, "minY": 276, "maxX": 3676, "maxY": 407, "bold": false}, + {"char": 64, "minX": 3678, "minY": 276, "maxX": 3767, "maxY": 407, "bold": false}, + {"char": 7808, "minX": 3769, "minY": 276, "maxX": 3857, "maxY": 407, "bold": false}, + {"char": 7810, "minX": 3859, "minY": 276, "maxX": 3947, "maxY": 407, "bold": false}, + {"char": 7812, "minX": 3949, "minY": 276, "maxX": 4037, "maxY": 407, "bold": false}, + {"char": 8776, "minX": 4039, "minY": 276, "maxX": 4096, "maxY": 407, "bold": false}, + {"char": 8362, "minX": 0, "minY": 414, "maxX": 86, "maxY": 550, "bold": true}, + {"char": 1184, "minX": 88, "minY": 414, "maxX": 174, "maxY": 550, "bold": true}, + {"char": 1096, "minX": 176, "minY": 414, "maxX": 262, "maxY": 550, "bold": true}, + {"char": 969, "minX": 264, "minY": 414, "maxX": 350, "maxY": 550, "bold": true}, + {"char": 974, "minX": 352, "minY": 414, "maxX": 438, "maxY": 550, "bold": true}, + {"char": 910, "minX": 440, "minY": 414, "maxX": 526, "maxY": 550, "bold": true}, + {"char": 1230, "minX": 528, "minY": 414, "maxX": 613, "maxY": 550, "bold": true}, + {"char": 1102, "minX": 615, "minY": 414, "maxX": 700, "maxY": 550, "bold": true}, + {"char": 982, "minX": 702, "minY": 414, "maxX": 787, "maxY": 550, "bold": true}, + {"char": 7742, "minX": 789, "minY": 414, "maxX": 877, "maxY": 545, "bold": false}, + {"char": 1052, "minX": 879, "minY": 414, "maxX": 967, "maxY": 545, "bold": false}, + {"char": 924, "minX": 969, "minY": 414, "maxX": 1057, "maxY": 545, "bold": false}, + {"char": 372, "minX": 1059, "minY": 414, "maxX": 1147, "maxY": 545, "bold": false}, + {"char": 87, "minX": 1149, "minY": 414, "maxX": 1237, "maxY": 545, "bold": false}, + {"char": 77, "minX": 1239, "minY": 414, "maxX": 1327, "maxY": 545, "bold": false}, + {"char": 7743, "minX": 1329, "minY": 414, "maxX": 1416, "maxY": 545, "bold": false}, + {"char": 1282, "minX": 1418, "minY": 414, "maxX": 1505, "maxY": 545, "bold": false}, + {"char": 1272, "minX": 1507, "minY": 414, "maxX": 1594, "maxY": 545, "bold": false}, + {"char": 1191, "minX": 1596, "minY": 414, "maxX": 1683, "maxY": 545, "bold": false}, + {"char": 1130, "minX": 1685, "minY": 414, "maxX": 1772, "maxY": 545, "bold": false}, + {"char": 1097, "minX": 1774, "minY": 414, "maxX": 1861, "maxY": 545, "bold": false}, + {"char": 1067, "minX": 1863, "minY": 414, "maxX": 1950, "maxY": 545, "bold": false}, + {"char": 109, "minX": 1952, "minY": 414, "maxX": 2039, "maxY": 545, "bold": false}, + {"char": 8540, "minX": 2041, "minY": 414, "maxX": 2127, "maxY": 545, "bold": false}, + {"char": 1283, "minX": 2129, "minY": 414, "maxX": 2215, "maxY": 545, "bold": false}, + {"char": 1114, "minX": 2217, "minY": 414, "maxX": 2303, "maxY": 545, "bold": false}, + {"char": 8541, "minX": 2305, "minY": 414, "maxX": 2390, "maxY": 545, "bold": false}, + {"char": 1175, "minX": 2392, "minY": 414, "maxX": 2477, "maxY": 545, "bold": false}, + {"char": 1113, "minX": 2479, "minY": 414, "maxX": 2564, "maxY": 545, "bold": false}, + {"char": 8359, "minX": 2566, "minY": 414, "maxX": 2650, "maxY": 545, "bold": false}, + {"char": 1237, "minX": 2652, "minY": 414, "maxX": 2736, "maxY": 545, "bold": false}, + {"char": 509, "minX": 2738, "minY": 414, "maxX": 2822, "maxY": 545, "bold": false}, + {"char": 306, "minX": 2824, "minY": 414, "maxX": 2908, "maxY": 545, "bold": false}, + {"char": 230, "minX": 2910, "minY": 414, "maxX": 2994, "maxY": 545, "bold": false}, + {"char": 8542, "minX": 2996, "minY": 414, "maxX": 3079, "maxY": 545, "bold": false}, + {"char": 1291, "minX": 3081, "minY": 414, "maxX": 3164, "maxY": 545, "bold": false}, + {"char": 1289, "minX": 3166, "minY": 414, "maxX": 3249, "maxY": 545, "bold": false}, + {"char": 8362, "minX": 3251, "minY": 414, "maxX": 3333, "maxY": 545, "bold": false}, + {"char": 1184, "minX": 3335, "minY": 414, "maxX": 3417, "maxY": 545, "bold": false}, + {"char": 1096, "minX": 3419, "minY": 414, "maxX": 3501, "maxY": 545, "bold": false}, + {"char": 969, "minX": 3503, "minY": 414, "maxX": 3585, "maxY": 545, "bold": false}, + {"char": 974, "minX": 3587, "minY": 414, "maxX": 3669, "maxY": 545, "bold": false}, + {"char": 1245, "minX": 3671, "minY": 414, "maxX": 3752, "maxY": 545, "bold": false}, + {"char": 1230, "minX": 3754, "minY": 414, "maxX": 3835, "maxY": 545, "bold": false}, + {"char": 1218, "minX": 3837, "minY": 414, "maxX": 3918, "maxY": 545, "bold": false}, + {"char": 1102, "minX": 3920, "minY": 414, "maxX": 4001, "maxY": 545, "bold": false}, + {"char": 1078, "minX": 4003, "minY": 414, "maxX": 4084, "maxY": 545, "bold": false}, + {"char": 8202, "minX": 4086, "minY": 414, "maxX": 4096, "maxY": 545, "bold": false}, + {"char": 8358, "minX": 0, "minY": 552, "maxX": 84, "maxY": 688, "bold": true}, + {"char": 1273, "minX": 86, "minY": 552, "maxX": 170, "maxY": 688, "bold": true}, + {"char": 1099, "minX": 172, "minY": 552, "maxX": 256, "maxY": 688, "bold": true}, + {"char": 1060, "minX": 258, "minY": 552, "maxX": 342, "maxY": 688, "bold": true}, + {"char": 1298, "minX": 344, "minY": 552, "maxX": 427, "maxY": 688, "bold": true}, + {"char": 1284, "minX": 429, "minY": 552, "maxX": 512, "maxY": 688, "bold": true}, + {"char": 1151, "minX": 514, "minY": 552, "maxX": 597, "maxY": 688, "bold": true}, + {"char": 1121, "minX": 599, "minY": 552, "maxX": 682, "maxY": 688, "bold": true}, + {"char": 1035, "minX": 684, "minY": 552, "maxX": 767, "maxY": 688, "bold": true}, + {"char": 190, "minX": 769, "minY": 552, "maxX": 852, "maxY": 688, "bold": true}, + {"char": 8539, "minX": 854, "minY": 552, "maxX": 936, "maxY": 688, "bold": true}, + {"char": 1225, "minX": 938, "minY": 552, "maxX": 1020, "maxY": 688, "bold": true}, + {"char": 1149, "minX": 1022, "minY": 552, "maxX": 1104, "maxY": 688, "bold": true}, + {"char": 1129, "minX": 1106, "minY": 552, "maxX": 1188, "maxY": 688, "bold": true}, + {"char": 905, "minX": 1190, "minY": 552, "maxX": 1272, "maxY": 688, "bold": true}, + {"char": 169, "minX": 1274, "minY": 552, "maxX": 1356, "maxY": 688, "bold": true}, + {"char": 174, "minX": 1358, "minY": 552, "maxX": 1440, "maxY": 688, "bold": true}, + {"char": 8361, "minX": 1442, "minY": 552, "maxX": 1523, "maxY": 688, "bold": true}, + {"char": 8213, "minX": 1525, "minY": 552, "maxX": 1606, "maxY": 688, "bold": true}, + {"char": 8212, "minX": 1608, "minY": 552, "maxX": 1689, "maxY": 688, "bold": true}, + {"char": 1221, "minX": 1691, "minY": 552, "maxX": 1772, "maxY": 688, "bold": true}, + {"char": 1212, "minX": 1774, "minY": 552, "maxX": 1855, "maxY": 688, "bold": true}, + {"char": 1214, "minX": 1857, "minY": 552, "maxX": 1938, "maxY": 688, "bold": true}, + {"char": 1186, "minX": 1940, "minY": 552, "maxX": 2021, "maxY": 688, "bold": true}, + {"char": 1192, "minX": 2023, "minY": 552, "maxX": 2104, "maxY": 688, "bold": true}, + {"char": 1162, "minX": 2106, "minY": 552, "maxX": 2187, "maxY": 688, "bold": true}, + {"char": 189, "minX": 2189, "minY": 552, "maxX": 2270, "maxY": 688, "bold": true}, + {"char": 1066, "minX": 2272, "minY": 552, "maxX": 2352, "maxY": 688, "bold": true}, + {"char": 1206, "minX": 2354, "minY": 552, "maxX": 2433, "maxY": 688, "bold": true}, + {"char": 1125, "minX": 2435, "minY": 552, "maxX": 2514, "maxY": 688, "bold": true}, + {"char": 1084, "minX": 2516, "minY": 552, "maxX": 2595, "maxY": 688, "bold": true}, + {"char": 1062, "minX": 2597, "minY": 552, "maxX": 2676, "maxY": 688, "bold": true}, + {"char": 1044, "minX": 2678, "minY": 552, "maxX": 2757, "maxY": 688, "bold": true}, + {"char": 1026, "minX": 2759, "minY": 552, "maxX": 2838, "maxY": 688, "bold": true}, + {"char": 8369, "minX": 2840, "minY": 552, "maxX": 2918, "maxY": 688, "bold": true}, + {"char": 8453, "minX": 2920, "minY": 552, "maxX": 2998, "maxY": 688, "bold": true}, + {"char": 7809, "minX": 3000, "minY": 552, "maxX": 3078, "maxY": 688, "bold": true}, + {"char": 7811, "minX": 3080, "minY": 552, "maxX": 3158, "maxY": 688, "bold": true}, + {"char": 7813, "minX": 3160, "minY": 552, "maxX": 3238, "maxY": 688, "bold": true}, + {"char": 1131, "minX": 3240, "minY": 552, "maxX": 3318, "maxY": 688, "bold": true}, + {"char": 934, "minX": 3320, "minY": 552, "maxX": 3398, "maxY": 688, "bold": true}, + {"char": 373, "minX": 3400, "minY": 552, "maxX": 3478, "maxY": 688, "bold": true}, + {"char": 119, "minX": 3480, "minY": 552, "maxX": 3558, "maxY": 688, "bold": true}, + {"char": 982, "minX": 3560, "minY": 552, "maxX": 3641, "maxY": 683, "bold": false}, + {"char": 910, "minX": 3643, "minY": 552, "maxX": 3724, "maxY": 683, "bold": false}, + {"char": 8358, "minX": 3726, "minY": 552, "maxX": 3806, "maxY": 683, "bold": false}, + {"char": 1273, "minX": 3808, "minY": 552, "maxX": 3888, "maxY": 683, "bold": false}, + {"char": 1099, "minX": 3890, "minY": 552, "maxX": 3970, "maxY": 683, "bold": false}, + {"char": 1060, "minX": 3972, "minY": 552, "maxX": 4052, "maxY": 683, "bold": false}, + {"char": 8319, "minX": 4054, "minY": 552, "maxX": 4096, "maxY": 683, "bold": false}, + {"char": 1092, "minX": 0, "minY": 690, "maxX": 77, "maxY": 826, "bold": true}, + {"char": 966, "minX": 79, "minY": 690, "maxX": 156, "maxY": 826, "bold": true}, + {"char": 188, "minX": 158, "minY": 690, "maxX": 235, "maxY": 826, "bold": true}, + {"char": 37, "minX": 237, "minY": 690, "maxX": 314, "maxY": 826, "bold": true}, + {"char": 1298, "minX": 316, "minY": 690, "maxX": 395, "maxY": 821, "bold": false}, + {"char": 1284, "minX": 397, "minY": 690, "maxX": 476, "maxY": 821, "bold": false}, + {"char": 1151, "minX": 478, "minY": 690, "maxX": 557, "maxY": 821, "bold": false}, + {"char": 1121, "minX": 559, "minY": 690, "maxX": 638, "maxY": 821, "bold": false}, + {"char": 1035, "minX": 640, "minY": 690, "maxX": 719, "maxY": 821, "bold": false}, + {"char": 190, "minX": 721, "minY": 690, "maxX": 800, "maxY": 821, "bold": false}, + {"char": 8539, "minX": 802, "minY": 690, "maxX": 880, "maxY": 821, "bold": false}, + {"char": 1225, "minX": 882, "minY": 690, "maxX": 960, "maxY": 821, "bold": false}, + {"char": 1149, "minX": 962, "minY": 690, "maxX": 1040, "maxY": 821, "bold": false}, + {"char": 1129, "minX": 1042, "minY": 690, "maxX": 1120, "maxY": 821, "bold": false}, + {"char": 905, "minX": 1122, "minY": 690, "maxX": 1200, "maxY": 821, "bold": false}, + {"char": 169, "minX": 1202, "minY": 690, "maxX": 1280, "maxY": 821, "bold": false}, + {"char": 174, "minX": 1282, "minY": 690, "maxX": 1360, "maxY": 821, "bold": false}, + {"char": 8361, "minX": 1362, "minY": 690, "maxX": 1439, "maxY": 821, "bold": false}, + {"char": 8213, "minX": 1441, "minY": 690, "maxX": 1518, "maxY": 821, "bold": false}, + {"char": 8212, "minX": 1520, "minY": 690, "maxX": 1597, "maxY": 821, "bold": false}, + {"char": 1221, "minX": 1599, "minY": 690, "maxX": 1676, "maxY": 821, "bold": false}, + {"char": 1212, "minX": 1678, "minY": 690, "maxX": 1755, "maxY": 821, "bold": false}, + {"char": 1214, "minX": 1757, "minY": 690, "maxX": 1834, "maxY": 821, "bold": false}, + {"char": 1186, "minX": 1836, "minY": 690, "maxX": 1913, "maxY": 821, "bold": false}, + {"char": 1192, "minX": 1915, "minY": 690, "maxX": 1992, "maxY": 821, "bold": false}, + {"char": 1162, "minX": 1994, "minY": 690, "maxX": 2071, "maxY": 821, "bold": false}, + {"char": 189, "minX": 2073, "minY": 690, "maxX": 2150, "maxY": 821, "bold": false}, + {"char": 1066, "minX": 2152, "minY": 690, "maxX": 2228, "maxY": 821, "bold": false}, + {"char": 1206, "minX": 2230, "minY": 690, "maxX": 2305, "maxY": 821, "bold": false}, + {"char": 1125, "minX": 2307, "minY": 690, "maxX": 2382, "maxY": 821, "bold": false}, + {"char": 1084, "minX": 2384, "minY": 690, "maxX": 2459, "maxY": 821, "bold": false}, + {"char": 1062, "minX": 2461, "minY": 690, "maxX": 2536, "maxY": 821, "bold": false}, + {"char": 1044, "minX": 2538, "minY": 690, "maxX": 2613, "maxY": 821, "bold": false}, + {"char": 1026, "minX": 2615, "minY": 690, "maxX": 2690, "maxY": 821, "bold": false}, + {"char": 8369, "minX": 2692, "minY": 690, "maxX": 2766, "maxY": 821, "bold": false}, + {"char": 8453, "minX": 2768, "minY": 690, "maxX": 2842, "maxY": 821, "bold": false}, + {"char": 7809, "minX": 2844, "minY": 690, "maxX": 2918, "maxY": 821, "bold": false}, + {"char": 7811, "minX": 2920, "minY": 690, "maxX": 2994, "maxY": 821, "bold": false}, + {"char": 7813, "minX": 2996, "minY": 690, "maxX": 3070, "maxY": 821, "bold": false}, + {"char": 1131, "minX": 3072, "minY": 690, "maxX": 3146, "maxY": 821, "bold": false}, + {"char": 934, "minX": 3148, "minY": 690, "maxX": 3222, "maxY": 821, "bold": false}, + {"char": 373, "minX": 3224, "minY": 690, "maxX": 3298, "maxY": 821, "bold": false}, + {"char": 119, "minX": 3300, "minY": 690, "maxX": 3374, "maxY": 821, "bold": false}, + {"char": 1092, "minX": 3376, "minY": 690, "maxX": 3449, "maxY": 821, "bold": false}, + {"char": 966, "minX": 3451, "minY": 690, "maxX": 3524, "maxY": 821, "bold": false}, + {"char": 188, "minX": 3526, "minY": 690, "maxX": 3599, "maxY": 821, "bold": false}, + {"char": 37, "minX": 3601, "minY": 690, "maxX": 3674, "maxY": 821, "bold": false}, + {"char": 8710, "minX": 3676, "minY": 690, "maxX": 3748, "maxY": 821, "bold": false}, + {"char": 1178, "minX": 3750, "minY": 690, "maxX": 3822, "maxY": 821, "bold": false}, + {"char": 1137, "minX": 3824, "minY": 690, "maxX": 3896, "maxY": 821, "bold": false}, + {"char": 968, "minX": 3898, "minY": 690, "maxX": 3970, "maxY": 821, "bold": false}, + {"char": 916, "minX": 3972, "minY": 690, "maxX": 4044, "maxY": 821, "bold": false}, + {"char": 8229, "minX": 4046, "minY": 690, "maxX": 4096, "maxY": 821, "bold": false}, + {"char": 8710, "minX": 0, "minY": 828, "maxX": 76, "maxY": 964, "bold": true}, + {"char": 1178, "minX": 78, "minY": 828, "maxX": 154, "maxY": 964, "bold": true}, + {"char": 1137, "minX": 156, "minY": 828, "maxX": 232, "maxY": 964, "bold": true}, + {"char": 968, "minX": 234, "minY": 828, "maxX": 310, "maxY": 964, "bold": true}, + {"char": 916, "minX": 312, "minY": 828, "maxX": 388, "maxY": 964, "bold": true}, + {"char": 8230, "minX": 390, "minY": 828, "maxX": 465, "maxY": 964, "bold": true}, + {"char": 7918, "minX": 467, "minY": 828, "maxX": 542, "maxY": 964, "bold": true}, + {"char": 7920, "minX": 544, "minY": 828, "maxX": 619, "maxY": 964, "bold": true}, + {"char": 7912, "minX": 621, "minY": 828, "maxX": 696, "maxY": 964, "bold": true}, + {"char": 7914, "minX": 698, "minY": 828, "maxX": 773, "maxY": 964, "bold": true}, + {"char": 7916, "minX": 775, "minY": 828, "maxX": 850, "maxY": 964, "bold": true}, + {"char": 1294, "minX": 852, "minY": 828, "maxX": 927, "maxY": 964, "bold": true}, + {"char": 1250, "minX": 929, "minY": 828, "maxX": 1004, "maxY": 964, "bold": true}, + {"char": 1252, "minX": 1006, "minY": 828, "maxX": 1081, "maxY": 964, "bold": true}, + {"char": 1223, "minX": 1083, "minY": 828, "maxX": 1158, "maxY": 964, "bold": true}, + {"char": 1185, "minX": 1160, "minY": 828, "maxX": 1235, "maxY": 964, "bold": true}, + {"char": 1189, "minX": 1237, "minY": 828, "maxX": 1312, "maxY": 964, "bold": true}, + {"char": 1136, "minX": 1314, "minY": 828, "maxX": 1389, "maxY": 964, "bold": true}, + {"char": 1053, "minX": 1391, "minY": 828, "maxX": 1466, "maxY": 964, "bold": true}, + {"char": 1055, "minX": 1468, "minY": 828, "maxX": 1543, "maxY": 964, "bold": true}, + {"char": 1039, "minX": 1545, "minY": 828, "maxX": 1620, "maxY": 964, "bold": true}, + {"char": 1048, "minX": 1622, "minY": 828, "maxX": 1697, "maxY": 964, "bold": true}, + {"char": 1049, "minX": 1699, "minY": 828, "maxX": 1774, "maxY": 964, "bold": true}, + {"char": 1051, "minX": 1776, "minY": 828, "maxX": 1851, "maxY": 964, "bold": true}, + {"char": 1037, "minX": 1853, "minY": 828, "maxX": 1928, "maxY": 964, "bold": true}, + {"char": 925, "minX": 1930, "minY": 828, "maxX": 2005, "maxY": 964, "bold": true}, + {"char": 928, "minX": 2007, "minY": 828, "maxX": 2082, "maxY": 964, "bold": true}, + {"char": 936, "minX": 2084, "minY": 828, "maxX": 2159, "maxY": 964, "bold": true}, + {"char": 908, "minX": 2161, "minY": 828, "maxX": 2236, "maxY": 964, "bold": true}, + {"char": 919, "minX": 2238, "minY": 828, "maxX": 2313, "maxY": 964, "bold": true}, + {"char": 431, "minX": 2315, "minY": 828, "maxX": 2390, "maxY": 964, "bold": true}, + {"char": 323, "minX": 2392, "minY": 828, "maxX": 2467, "maxY": 964, "bold": true}, + {"char": 325, "minX": 2469, "minY": 828, "maxX": 2544, "maxY": 964, "bold": true}, + {"char": 327, "minX": 2546, "minY": 828, "maxX": 2621, "maxY": 964, "bold": true}, + {"char": 292, "minX": 2623, "minY": 828, "maxX": 2698, "maxY": 964, "bold": true}, + {"char": 294, "minX": 2700, "minY": 828, "maxX": 2775, "maxY": 964, "bold": true}, + {"char": 209, "minX": 2777, "minY": 828, "maxX": 2852, "maxY": 964, "bold": true}, + {"char": 78, "minX": 2854, "minY": 828, "maxX": 2929, "maxY": 964, "bold": true}, + {"char": 72, "minX": 2931, "minY": 828, "maxX": 3006, "maxY": 964, "bold": true}, + {"char": 8719, "minX": 3008, "minY": 828, "maxX": 3082, "maxY": 964, "bold": true}, + {"char": 7844, "minX": 3084, "minY": 828, "maxX": 3158, "maxY": 964, "bold": true}, + {"char": 1182, "minX": 3160, "minY": 828, "maxX": 3234, "maxY": 964, "bold": true}, + {"char": 330, "minX": 3236, "minY": 828, "maxX": 3310, "maxY": 964, "bold": true}, + {"char": 164, "minX": 3312, "minY": 828, "maxX": 3386, "maxY": 964, "bold": true}, + {"char": 8381, "minX": 3388, "minY": 828, "maxX": 3461, "maxY": 964, "bold": true}, + {"char": 7904, "minX": 3463, "minY": 828, "maxX": 3536, "maxY": 964, "bold": true}, + {"char": 7906, "minX": 3538, "minY": 828, "maxX": 3611, "maxY": 964, "bold": true}, + {"char": 7892, "minX": 3613, "minY": 828, "maxX": 3686, "maxY": 964, "bold": true}, + {"char": 7894, "minX": 3688, "minY": 828, "maxX": 3761, "maxY": 964, "bold": true}, + {"char": 7896, "minX": 3763, "minY": 828, "maxX": 3836, "maxY": 964, "bold": true}, + {"char": 7898, "minX": 3838, "minY": 828, "maxX": 3911, "maxY": 964, "bold": true}, + {"char": 7900, "minX": 3913, "minY": 828, "maxX": 3986, "maxY": 964, "bold": true}, + {"char": 7902, "minX": 3988, "minY": 828, "maxX": 4061, "maxY": 964, "bold": true}, + {"char": 60929, "minX": 4063, "minY": 828, "maxX": 4096, "maxY": 964, "bold": true}, + {"char": 7884, "minX": 0, "minY": 966, "maxX": 73, "maxY": 1102, "bold": true}, + {"char": 7886, "minX": 75, "minY": 966, "maxX": 148, "maxY": 1102, "bold": true}, + {"char": 7888, "minX": 150, "minY": 966, "maxX": 223, "maxY": 1102, "bold": true}, + {"char": 7846, "minX": 225, "minY": 966, "maxX": 298, "maxY": 1102, "bold": true}, + {"char": 1268, "minX": 300, "minY": 966, "maxX": 373, "maxY": 1102, "bold": true}, + {"char": 1254, "minX": 375, "minY": 966, "maxX": 448, "maxY": 1102, "bold": true}, + {"char": 1240, "minX": 450, "minY": 966, "maxX": 523, "maxY": 1102, "bold": true}, + {"char": 1242, "minX": 525, "minY": 966, "maxX": 598, "maxY": 1102, "bold": true}, + {"char": 1227, "minX": 600, "minY": 966, "maxX": 673, "maxY": 1102, "bold": true}, + {"char": 1210, "minX": 675, "minY": 966, "maxX": 748, "maxY": 1102, "bold": true}, + {"char": 1054, "minX": 750, "minY": 966, "maxX": 823, "maxY": 1102, "bold": true}, + {"char": 1063, "minX": 825, "minY": 966, "maxX": 898, "maxY": 1102, "bold": true}, + {"char": 927, "minX": 900, "minY": 966, "maxX": 973, "maxY": 1102, "bold": true}, + {"char": 399, "minX": 975, "minY": 966, "maxX": 1048, "maxY": 1102, "bold": true}, + {"char": 416, "minX": 1050, "minY": 966, "maxX": 1123, "maxY": 1102, "bold": true}, + {"char": 510, "minX": 1125, "minY": 966, "maxX": 1198, "maxY": 1102, "bold": true}, + {"char": 332, "minX": 1200, "minY": 966, "maxX": 1273, "maxY": 1102, "bold": true}, + {"char": 334, "minX": 1275, "minY": 966, "maxX": 1348, "maxY": 1102, "bold": true}, + {"char": 336, "minX": 1350, "minY": 966, "maxX": 1423, "maxY": 1102, "bold": true}, + {"char": 210, "minX": 1425, "minY": 966, "maxX": 1498, "maxY": 1102, "bold": true}, + {"char": 211, "minX": 1500, "minY": 966, "maxX": 1573, "maxY": 1102, "bold": true}, + {"char": 212, "minX": 1575, "minY": 966, "maxX": 1648, "maxY": 1102, "bold": true}, + {"char": 213, "minX": 1650, "minY": 966, "maxX": 1723, "maxY": 1102, "bold": true}, + {"char": 214, "minX": 1725, "minY": 966, "maxX": 1798, "maxY": 1102, "bold": true}, + {"char": 216, "minX": 1800, "minY": 966, "maxX": 1873, "maxY": 1102, "bold": true}, + {"char": 79, "minX": 1875, "minY": 966, "maxX": 1948, "maxY": 1102, "bold": true}, + {"char": 81, "minX": 1950, "minY": 966, "maxX": 2023, "maxY": 1102, "bold": true}, + {"char": 7862, "minX": 2025, "minY": 966, "maxX": 2097, "maxY": 1102, "bold": true}, + {"char": 7848, "minX": 2099, "minY": 966, "maxX": 2171, "maxY": 1102, "bold": true}, + {"char": 7850, "minX": 2173, "minY": 966, "maxX": 2245, "maxY": 1102, "bold": true}, + {"char": 7852, "minX": 2247, "minY": 966, "maxX": 2319, "maxY": 1102, "bold": true}, + {"char": 7854, "minX": 2321, "minY": 966, "maxX": 2393, "maxY": 1102, "bold": true}, + {"char": 7856, "minX": 2395, "minY": 966, "maxX": 2467, "maxY": 1102, "bold": true}, + {"char": 7858, "minX": 2469, "minY": 966, "maxX": 2541, "maxY": 1102, "bold": true}, + {"char": 7860, "minX": 2543, "minY": 966, "maxX": 2615, "maxY": 1102, "bold": true}, + {"char": 7840, "minX": 2617, "minY": 966, "maxX": 2689, "maxY": 1102, "bold": true}, + {"char": 7842, "minX": 2691, "minY": 966, "maxX": 2763, "maxY": 1102, "bold": true}, + {"char": 7680, "minX": 2765, "minY": 966, "maxX": 2837, "maxY": 1102, "bold": true}, + {"char": 1276, "minX": 2839, "minY": 966, "maxX": 2911, "maxY": 1102, "bold": true}, + {"char": 1256, "minX": 2913, "minY": 966, "maxX": 2985, "maxY": 1102, "bold": true}, + {"char": 1258, "minX": 2987, "minY": 966, "maxX": 3059, "maxY": 1102, "bold": true}, + {"char": 1232, "minX": 3061, "minY": 966, "maxX": 3133, "maxY": 1102, "bold": true}, + {"char": 1234, "minX": 3135, "minY": 966, "maxX": 3207, "maxY": 1102, "bold": true}, + {"char": 1208, "minX": 3209, "minY": 966, "maxX": 3281, "maxY": 1102, "bold": true}, + {"char": 1205, "minX": 3283, "minY": 966, "maxX": 3355, "maxY": 1102, "bold": true}, + {"char": 1138, "minX": 3357, "minY": 966, "maxX": 3429, "maxY": 1102, "bold": true}, + {"char": 1146, "minX": 3431, "minY": 966, "maxX": 3503, "maxY": 1102, "bold": true}, + {"char": 1040, "minX": 3505, "minY": 966, "maxX": 3577, "maxY": 1102, "bold": true}, + {"char": 913, "minX": 3579, "minY": 966, "maxX": 3651, "maxY": 1102, "bold": true}, + {"char": 920, "minX": 3653, "minY": 966, "maxX": 3725, "maxY": 1102, "bold": true}, + {"char": 902, "minX": 3727, "minY": 966, "maxX": 3799, "maxY": 1102, "bold": true}, + {"char": 904, "minX": 3801, "minY": 966, "maxX": 3873, "maxY": 1102, "bold": true}, + {"char": 506, "minX": 3875, "minY": 966, "maxX": 3947, "maxY": 1102, "bold": true}, + {"char": 288, "minX": 3949, "minY": 966, "maxX": 4021, "maxY": 1102, "bold": true}, + {"char": 290, "minX": 4023, "minY": 966, "maxX": 4095, "maxY": 1102, "bold": true}, + {"char": 284, "minX": 0, "minY": 1104, "maxX": 72, "maxY": 1240, "bold": true}, + {"char": 286, "minX": 74, "minY": 1104, "maxX": 146, "maxY": 1240, "bold": true}, + {"char": 256, "minX": 148, "minY": 1104, "maxX": 220, "maxY": 1240, "bold": true}, + {"char": 258, "minX": 222, "minY": 1104, "maxX": 294, "maxY": 1240, "bold": true}, + {"char": 192, "minX": 296, "minY": 1104, "maxX": 368, "maxY": 1240, "bold": true}, + {"char": 193, "minX": 370, "minY": 1104, "maxX": 442, "maxY": 1240, "bold": true}, + {"char": 194, "minX": 444, "minY": 1104, "maxX": 516, "maxY": 1240, "bold": true}, + {"char": 195, "minX": 518, "minY": 1104, "maxX": 590, "maxY": 1240, "bold": true}, + {"char": 196, "minX": 592, "minY": 1104, "maxX": 664, "maxY": 1240, "bold": true}, + {"char": 197, "minX": 666, "minY": 1104, "maxX": 738, "maxY": 1240, "bold": true}, + {"char": 65, "minX": 740, "minY": 1104, "maxX": 812, "maxY": 1240, "bold": true}, + {"char": 71, "minX": 814, "minY": 1104, "maxX": 886, "maxY": 1240, "bold": true}, + {"char": 8486, "minX": 888, "minY": 1104, "maxX": 959, "maxY": 1240, "bold": true}, + {"char": 8380, "minX": 961, "minY": 1104, "maxX": 1032, "maxY": 1240, "bold": true}, + {"char": 1296, "minX": 1034, "minY": 1104, "maxX": 1105, "maxY": 1240, "bold": true}, + {"char": 1028, "minX": 1107, "minY": 1104, "maxX": 1178, "maxY": 1240, "bold": true}, + {"char": 937, "minX": 1180, "minY": 1104, "maxX": 1251, "maxY": 1240, "bold": true}, + {"char": 260, "minX": 1253, "minY": 1104, "maxX": 1324, "maxY": 1240, "bold": true}, + {"char": 1299, "minX": 1326, "minY": 1104, "maxX": 1396, "maxY": 1240, "bold": true}, + {"char": 1260, "minX": 1398, "minY": 1104, "maxX": 1468, "maxY": 1240, "bold": true}, + {"char": 1069, "minX": 1470, "minY": 1104, "maxX": 1540, "maxY": 1240, "bold": true}, + {"char": 911, "minX": 1542, "minY": 1104, "maxX": 1612, "maxY": 1240, "bold": true}, + {"char": 126, "minX": 1614, "minY": 1104, "maxX": 1684, "maxY": 1240, "bold": true}, + {"char": 8211, "minX": 1686, "minY": 1104, "maxX": 1755, "maxY": 1240, "bold": true}, + {"char": 7908, "minX": 1757, "minY": 1104, "maxX": 1826, "maxY": 1240, "bold": true}, + {"char": 7910, "minX": 1828, "minY": 1104, "maxX": 1897, "maxY": 1240, "bold": true}, + {"char": 1194, "minX": 1899, "minY": 1104, "maxX": 1968, "maxY": 1240, "bold": true}, + {"char": 1202, "minX": 1970, "minY": 1104, "maxX": 2039, "maxY": 1240, "bold": true}, + {"char": 1180, "minX": 2041, "minY": 1104, "maxX": 2110, "maxY": 1240, "bold": true}, + {"char": 1057, "minX": 2112, "minY": 1104, "maxX": 2181, "maxY": 1240, "bold": true}, + {"char": 923, "minX": 2183, "minY": 1104, "maxX": 2252, "maxY": 1240, "bold": true}, + {"char": 370, "minX": 2254, "minY": 1104, "maxX": 2323, "maxY": 1240, "bold": true}, + {"char": 360, "minX": 2325, "minY": 1104, "maxX": 2394, "maxY": 1240, "bold": true}, + {"char": 362, "minX": 2396, "minY": 1104, "maxX": 2465, "maxY": 1240, "bold": true}, + {"char": 364, "minX": 2467, "minY": 1104, "maxX": 2536, "maxY": 1240, "bold": true}, + {"char": 366, "minX": 2538, "minY": 1104, "maxX": 2607, "maxY": 1240, "bold": true}, + {"char": 368, "minX": 2609, "minY": 1104, "maxX": 2678, "maxY": 1240, "bold": true}, + {"char": 262, "minX": 2680, "minY": 1104, "maxX": 2749, "maxY": 1240, "bold": true}, + {"char": 264, "minX": 2751, "minY": 1104, "maxX": 2820, "maxY": 1240, "bold": true}, + {"char": 266, "minX": 2822, "minY": 1104, "maxX": 2891, "maxY": 1240, "bold": true}, + {"char": 268, "minX": 2893, "minY": 1104, "maxX": 2962, "maxY": 1240, "bold": true}, + {"char": 270, "minX": 2964, "minY": 1104, "maxX": 3033, "maxY": 1240, "bold": true}, + {"char": 217, "minX": 3035, "minY": 1104, "maxX": 3104, "maxY": 1240, "bold": true}, + {"char": 218, "minX": 3106, "minY": 1104, "maxX": 3175, "maxY": 1240, "bold": true}, + {"char": 219, "minX": 3177, "minY": 1104, "maxX": 3246, "maxY": 1240, "bold": true}, + {"char": 220, "minX": 3248, "minY": 1104, "maxX": 3317, "maxY": 1240, "bold": true}, + {"char": 199, "minX": 3319, "minY": 1104, "maxX": 3388, "maxY": 1240, "bold": true}, + {"char": 85, "minX": 3390, "minY": 1104, "maxX": 3459, "maxY": 1240, "bold": true}, + {"char": 86, "minX": 3461, "minY": 1104, "maxX": 3530, "maxY": 1240, "bold": true}, + {"char": 67, "minX": 3532, "minY": 1104, "maxX": 3601, "maxY": 1240, "bold": true}, + {"char": 68, "minX": 3603, "minY": 1104, "maxX": 3672, "maxY": 1240, "bold": true}, + {"char": 8230, "minX": 3674, "minY": 1104, "maxX": 3745, "maxY": 1235, "bold": false}, + {"char": 7918, "minX": 3747, "minY": 1104, "maxX": 3818, "maxY": 1235, "bold": false}, + {"char": 7920, "minX": 3820, "minY": 1104, "maxX": 3891, "maxY": 1235, "bold": false}, + {"char": 7912, "minX": 3893, "minY": 1104, "maxX": 3964, "maxY": 1235, "bold": false}, + {"char": 7914, "minX": 3966, "minY": 1104, "maxX": 4037, "maxY": 1235, "bold": false}, + {"char": 8706, "minX": 4039, "minY": 1104, "maxX": 4096, "maxY": 1235, "bold": false}, + {"char": 7916, "minX": 0, "minY": 1242, "maxX": 71, "maxY": 1373, "bold": false}, + {"char": 1294, "minX": 73, "minY": 1242, "maxX": 144, "maxY": 1373, "bold": false}, + {"char": 1250, "minX": 146, "minY": 1242, "maxX": 217, "maxY": 1373, "bold": false}, + {"char": 1252, "minX": 219, "minY": 1242, "maxX": 290, "maxY": 1373, "bold": false}, + {"char": 1223, "minX": 292, "minY": 1242, "maxX": 363, "maxY": 1373, "bold": false}, + {"char": 1185, "minX": 365, "minY": 1242, "maxX": 436, "maxY": 1373, "bold": false}, + {"char": 1189, "minX": 438, "minY": 1242, "maxX": 509, "maxY": 1373, "bold": false}, + {"char": 1136, "minX": 511, "minY": 1242, "maxX": 582, "maxY": 1373, "bold": false}, + {"char": 1053, "minX": 584, "minY": 1242, "maxX": 655, "maxY": 1373, "bold": false}, + {"char": 1055, "minX": 657, "minY": 1242, "maxX": 728, "maxY": 1373, "bold": false}, + {"char": 1039, "minX": 730, "minY": 1242, "maxX": 801, "maxY": 1373, "bold": false}, + {"char": 1048, "minX": 803, "minY": 1242, "maxX": 874, "maxY": 1373, "bold": false}, + {"char": 1049, "minX": 876, "minY": 1242, "maxX": 947, "maxY": 1373, "bold": false}, + {"char": 1051, "minX": 949, "minY": 1242, "maxX": 1020, "maxY": 1373, "bold": false}, + {"char": 1037, "minX": 1022, "minY": 1242, "maxX": 1093, "maxY": 1373, "bold": false}, + {"char": 925, "minX": 1095, "minY": 1242, "maxX": 1166, "maxY": 1373, "bold": false}, + {"char": 928, "minX": 1168, "minY": 1242, "maxX": 1239, "maxY": 1373, "bold": false}, + {"char": 936, "minX": 1241, "minY": 1242, "maxX": 1312, "maxY": 1373, "bold": false}, + {"char": 919, "minX": 1314, "minY": 1242, "maxX": 1385, "maxY": 1373, "bold": false}, + {"char": 431, "minX": 1387, "minY": 1242, "maxX": 1458, "maxY": 1373, "bold": false}, + {"char": 323, "minX": 1460, "minY": 1242, "maxX": 1531, "maxY": 1373, "bold": false}, + {"char": 325, "minX": 1533, "minY": 1242, "maxX": 1604, "maxY": 1373, "bold": false}, + {"char": 327, "minX": 1606, "minY": 1242, "maxX": 1677, "maxY": 1373, "bold": false}, + {"char": 292, "minX": 1679, "minY": 1242, "maxX": 1750, "maxY": 1373, "bold": false}, + {"char": 294, "minX": 1752, "minY": 1242, "maxX": 1823, "maxY": 1373, "bold": false}, + {"char": 209, "minX": 1825, "minY": 1242, "maxX": 1896, "maxY": 1373, "bold": false}, + {"char": 78, "minX": 1898, "minY": 1242, "maxX": 1969, "maxY": 1373, "bold": false}, + {"char": 72, "minX": 1971, "minY": 1242, "maxX": 2042, "maxY": 1373, "bold": false}, + {"char": 8719, "minX": 2044, "minY": 1242, "maxX": 2114, "maxY": 1373, "bold": false}, + {"char": 908, "minX": 2116, "minY": 1242, "maxX": 2186, "maxY": 1373, "bold": false}, + {"char": 330, "minX": 2188, "minY": 1242, "maxX": 2258, "maxY": 1373, "bold": false}, + {"char": 164, "minX": 2260, "minY": 1242, "maxX": 2330, "maxY": 1373, "bold": false}, + {"char": 8381, "minX": 2332, "minY": 1242, "maxX": 2401, "maxY": 1373, "bold": false}, + {"char": 7904, "minX": 2403, "minY": 1242, "maxX": 2472, "maxY": 1373, "bold": false}, + {"char": 7906, "minX": 2474, "minY": 1242, "maxX": 2543, "maxY": 1373, "bold": false}, + {"char": 7890, "minX": 2545, "minY": 1242, "maxX": 2614, "maxY": 1373, "bold": false}, + {"char": 7892, "minX": 2616, "minY": 1242, "maxX": 2685, "maxY": 1373, "bold": false}, + {"char": 7894, "minX": 2687, "minY": 1242, "maxX": 2756, "maxY": 1373, "bold": false}, + {"char": 7896, "minX": 2758, "minY": 1242, "maxX": 2827, "maxY": 1373, "bold": false}, + {"char": 7898, "minX": 2829, "minY": 1242, "maxX": 2898, "maxY": 1373, "bold": false}, + {"char": 7900, "minX": 2900, "minY": 1242, "maxX": 2969, "maxY": 1373, "bold": false}, + {"char": 7902, "minX": 2971, "minY": 1242, "maxX": 3040, "maxY": 1373, "bold": false}, + {"char": 7884, "minX": 3042, "minY": 1242, "maxX": 3111, "maxY": 1373, "bold": false}, + {"char": 7886, "minX": 3113, "minY": 1242, "maxX": 3182, "maxY": 1373, "bold": false}, + {"char": 7888, "minX": 3184, "minY": 1242, "maxX": 3253, "maxY": 1373, "bold": false}, + {"char": 1268, "minX": 3255, "minY": 1242, "maxX": 3324, "maxY": 1373, "bold": false}, + {"char": 1254, "minX": 3326, "minY": 1242, "maxX": 3395, "maxY": 1373, "bold": false}, + {"char": 1240, "minX": 3397, "minY": 1242, "maxX": 3466, "maxY": 1373, "bold": false}, + {"char": 1242, "minX": 3468, "minY": 1242, "maxX": 3537, "maxY": 1373, "bold": false}, + {"char": 1227, "minX": 3539, "minY": 1242, "maxX": 3608, "maxY": 1373, "bold": false}, + {"char": 1210, "minX": 3610, "minY": 1242, "maxX": 3679, "maxY": 1373, "bold": false}, + {"char": 1054, "minX": 3681, "minY": 1242, "maxX": 3750, "maxY": 1373, "bold": false}, + {"char": 1063, "minX": 3752, "minY": 1242, "maxX": 3821, "maxY": 1373, "bold": false}, + {"char": 927, "minX": 3823, "minY": 1242, "maxX": 3892, "maxY": 1373, "bold": false}, + {"char": 399, "minX": 3894, "minY": 1242, "maxX": 3963, "maxY": 1373, "bold": false}, + {"char": 416, "minX": 3965, "minY": 1242, "maxX": 4034, "maxY": 1373, "bold": false}, + {"char": 1274, "minX": 4036, "minY": 1242, "maxX": 4096, "maxY": 1373, "bold": false}, + {"char": 7922, "minX": 0, "minY": 1375, "maxX": 68, "maxY": 1511, "bold": true}, + {"char": 7924, "minX": 70, "minY": 1375, "maxX": 138, "maxY": 1511, "bold": true}, + {"char": 7926, "minX": 140, "minY": 1375, "maxX": 208, "maxY": 1511, "bold": true}, + {"char": 7928, "minX": 210, "minY": 1375, "maxX": 278, "maxY": 1511, "bold": true}, + {"char": 1295, "minX": 280, "minY": 1375, "maxX": 348, "maxY": 1511, "bold": true}, + {"char": 1285, "minX": 350, "minY": 1375, "maxX": 418, "maxY": 1511, "bold": true}, + {"char": 1222, "minX": 420, "minY": 1375, "maxX": 488, "maxY": 1511, "bold": true}, + {"char": 1226, "minX": 490, "minY": 1375, "maxX": 558, "maxY": 1511, "bold": true}, + {"char": 1219, "minX": 560, "minY": 1375, "maxX": 628, "maxY": 1511, "bold": true}, + {"char": 1198, "minX": 630, "minY": 1375, "maxX": 698, "maxY": 1511, "bold": true}, + {"char": 1152, "minX": 700, "minY": 1375, "maxX": 768, "maxY": 1511, "bold": true}, + {"char": 1163, "minX": 770, "minY": 1375, "maxX": 838, "maxY": 1511, "bold": true}, + {"char": 1140, "minX": 840, "minY": 1375, "maxX": 908, "maxY": 1511, "bold": true}, + {"char": 1142, "minX": 910, "minY": 1375, "maxX": 978, "maxY": 1511, "bold": true}, + {"char": 1098, "minX": 980, "minY": 1375, "maxX": 1048, "maxY": 1511, "bold": true}, + {"char": 1056, "minX": 1050, "minY": 1375, "maxX": 1118, "maxY": 1511, "bold": true}, + {"char": 1050, "minX": 1120, "minY": 1375, "maxX": 1188, "maxY": 1511, "bold": true}, + {"char": 939, "minX": 1190, "minY": 1375, "maxX": 1258, "maxY": 1511, "bold": true}, + {"char": 929, "minX": 1260, "minY": 1375, "maxX": 1328, "maxY": 1511, "bold": true}, + {"char": 933, "minX": 1330, "minY": 1375, "maxX": 1398, "maxY": 1511, "bold": true}, + {"char": 374, "minX": 1400, "minY": 1375, "maxX": 1468, "maxY": 1511, "bold": true}, + {"char": 376, "minX": 1470, "minY": 1375, "maxX": 1538, "maxY": 1511, "bold": true}, + {"char": 271, "minX": 1540, "minY": 1375, "maxX": 1608, "maxY": 1511, "bold": true}, + {"char": 221, "minX": 1610, "minY": 1375, "maxX": 1678, "maxY": 1511, "bold": true}, + {"char": 89, "minX": 1680, "minY": 1375, "maxX": 1748, "maxY": 1511, "bold": true}, + {"char": 80, "minX": 1750, "minY": 1375, "maxX": 1818, "maxY": 1511, "bold": true}, + {"char": 38, "minX": 1820, "minY": 1375, "maxX": 1888, "maxY": 1511, "bold": true}, + {"char": 8494, "minX": 1890, "minY": 1375, "maxX": 1957, "maxY": 1511, "bold": true}, + {"char": 8482, "minX": 1959, "minY": 1375, "maxX": 2026, "maxY": 1511, "bold": true}, + {"char": 1292, "minX": 2028, "minY": 1375, "maxX": 2095, "maxY": 1511, "bold": true}, + {"char": 1278, "minX": 2097, "minY": 1375, "maxX": 2164, "maxY": 1511, "bold": true}, + {"char": 1280, "minX": 2166, "minY": 1375, "maxX": 2233, "maxY": 1511, "bold": true}, + {"char": 1264, "minX": 2235, "minY": 1375, "maxX": 2302, "maxY": 1511, "bold": true}, + {"char": 1266, "minX": 2304, "minY": 1375, "maxX": 2371, "maxY": 1511, "bold": true}, + {"char": 1262, "minX": 2373, "minY": 1375, "maxX": 2440, "maxY": 1511, "bold": true}, + {"char": 1200, "minX": 2442, "minY": 1375, "maxX": 2509, "maxY": 1511, "bold": true}, + {"char": 1187, "minX": 2511, "minY": 1375, "maxX": 2578, "maxY": 1511, "bold": true}, + {"char": 1166, "minX": 2580, "minY": 1375, "maxX": 2647, "maxY": 1511, "bold": true}, + {"char": 1164, "minX": 2649, "minY": 1375, "maxX": 2716, "maxY": 1511, "bold": true}, + {"char": 1122, "minX": 2718, "minY": 1375, "maxX": 2785, "maxY": 1511, "bold": true}, + {"char": 1126, "minX": 2787, "minY": 1375, "maxX": 2854, "maxY": 1511, "bold": true}, + {"char": 1068, "minX": 2856, "minY": 1375, "maxX": 2923, "maxY": 1511, "bold": true}, + {"char": 1059, "minX": 2925, "minY": 1375, "maxX": 2992, "maxY": 1511, "bold": true}, + {"char": 1061, "minX": 2994, "minY": 1375, "maxX": 3061, "maxY": 1511, "bold": true}, + {"char": 1041, "minX": 3063, "minY": 1375, "maxX": 3130, "maxY": 1511, "bold": true}, + {"char": 1042, "minX": 3132, "minY": 1375, "maxX": 3199, "maxY": 1511, "bold": true}, + {"char": 1036, "minX": 3201, "minY": 1375, "maxX": 3268, "maxY": 1511, "bold": true}, + {"char": 1038, "minX": 3270, "minY": 1375, "maxX": 3337, "maxY": 1511, "bold": true}, + {"char": 922, "minX": 3339, "minY": 1375, "maxX": 3406, "maxY": 1511, "bold": true}, + {"char": 935, "minX": 3408, "minY": 1375, "maxX": 3475, "maxY": 1511, "bold": true}, + {"char": 914, "minX": 3477, "minY": 1375, "maxX": 3544, "maxY": 1511, "bold": true}, + {"char": 310, "minX": 3546, "minY": 1375, "maxX": 3613, "maxY": 1511, "bold": true}, + {"char": 272, "minX": 3615, "minY": 1375, "maxX": 3682, "maxY": 1511, "bold": true}, + {"char": 208, "minX": 3684, "minY": 1375, "maxX": 3751, "maxY": 1511, "bold": true}, + {"char": 88, "minX": 3753, "minY": 1375, "maxX": 3820, "maxY": 1511, "bold": true}, + {"char": 75, "minX": 3822, "minY": 1375, "maxX": 3889, "maxY": 1511, "bold": true}, + {"char": 66, "minX": 3891, "minY": 1375, "maxX": 3958, "maxY": 1511, "bold": true}, + {"char": 510, "minX": 3960, "minY": 1375, "maxX": 4029, "maxY": 1506, "bold": false}, + {"char": 8211, "minX": 4031, "minY": 1375, "maxX": 4096, "maxY": 1506, "bold": false}, + {"char": 332, "minX": 0, "minY": 1513, "maxX": 69, "maxY": 1644, "bold": false}, + {"char": 334, "minX": 71, "minY": 1513, "maxX": 140, "maxY": 1644, "bold": false}, + {"char": 336, "minX": 142, "minY": 1513, "maxX": 211, "maxY": 1644, "bold": false}, + {"char": 210, "minX": 213, "minY": 1513, "maxX": 282, "maxY": 1644, "bold": false}, + {"char": 211, "minX": 284, "minY": 1513, "maxX": 353, "maxY": 1644, "bold": false}, + {"char": 212, "minX": 355, "minY": 1513, "maxX": 424, "maxY": 1644, "bold": false}, + {"char": 213, "minX": 426, "minY": 1513, "maxX": 495, "maxY": 1644, "bold": false}, + {"char": 214, "minX": 497, "minY": 1513, "maxX": 566, "maxY": 1644, "bold": false}, + {"char": 216, "minX": 568, "minY": 1513, "maxX": 637, "maxY": 1644, "bold": false}, + {"char": 79, "minX": 639, "minY": 1513, "maxX": 708, "maxY": 1644, "bold": false}, + {"char": 81, "minX": 710, "minY": 1513, "maxX": 779, "maxY": 1644, "bold": false}, + {"char": 1276, "minX": 781, "minY": 1513, "maxX": 849, "maxY": 1644, "bold": false}, + {"char": 1256, "minX": 851, "minY": 1513, "maxX": 919, "maxY": 1644, "bold": false}, + {"char": 1258, "minX": 921, "minY": 1513, "maxX": 989, "maxY": 1644, "bold": false}, + {"char": 1208, "minX": 991, "minY": 1513, "maxX": 1059, "maxY": 1644, "bold": false}, + {"char": 1205, "minX": 1061, "minY": 1513, "maxX": 1129, "maxY": 1644, "bold": false}, + {"char": 1182, "minX": 1131, "minY": 1513, "maxX": 1199, "maxY": 1644, "bold": false}, + {"char": 1138, "minX": 1201, "minY": 1513, "maxX": 1269, "maxY": 1644, "bold": false}, + {"char": 1146, "minX": 1271, "minY": 1513, "maxX": 1339, "maxY": 1644, "bold": false}, + {"char": 920, "minX": 1341, "minY": 1513, "maxX": 1409, "maxY": 1644, "bold": false}, + {"char": 904, "minX": 1411, "minY": 1513, "maxX": 1479, "maxY": 1644, "bold": false}, + {"char": 288, "minX": 1481, "minY": 1513, "maxX": 1549, "maxY": 1644, "bold": false}, + {"char": 290, "minX": 1551, "minY": 1513, "maxX": 1619, "maxY": 1644, "bold": false}, + {"char": 284, "minX": 1621, "minY": 1513, "maxX": 1689, "maxY": 1644, "bold": false}, + {"char": 286, "minX": 1691, "minY": 1513, "maxX": 1759, "maxY": 1644, "bold": false}, + {"char": 71, "minX": 1761, "minY": 1513, "maxX": 1829, "maxY": 1644, "bold": false}, + {"char": 8486, "minX": 1831, "minY": 1513, "maxX": 1898, "maxY": 1644, "bold": false}, + {"char": 8380, "minX": 1900, "minY": 1513, "maxX": 1967, "maxY": 1644, "bold": false}, + {"char": 7862, "minX": 1969, "minY": 1513, "maxX": 2036, "maxY": 1644, "bold": false}, + {"char": 7848, "minX": 2038, "minY": 1513, "maxX": 2105, "maxY": 1644, "bold": false}, + {"char": 7850, "minX": 2107, "minY": 1513, "maxX": 2174, "maxY": 1644, "bold": false}, + {"char": 7852, "minX": 2176, "minY": 1513, "maxX": 2243, "maxY": 1644, "bold": false}, + {"char": 7854, "minX": 2245, "minY": 1513, "maxX": 2312, "maxY": 1644, "bold": false}, + {"char": 7856, "minX": 2314, "minY": 1513, "maxX": 2381, "maxY": 1644, "bold": false}, + {"char": 7858, "minX": 2383, "minY": 1513, "maxX": 2450, "maxY": 1644, "bold": false}, + {"char": 7860, "minX": 2452, "minY": 1513, "maxX": 2519, "maxY": 1644, "bold": false}, + {"char": 7840, "minX": 2521, "minY": 1513, "maxX": 2588, "maxY": 1644, "bold": false}, + {"char": 7842, "minX": 2590, "minY": 1513, "maxX": 2657, "maxY": 1644, "bold": false}, + {"char": 7844, "minX": 2659, "minY": 1513, "maxX": 2726, "maxY": 1644, "bold": false}, + {"char": 7846, "minX": 2728, "minY": 1513, "maxX": 2795, "maxY": 1644, "bold": false}, + {"char": 1296, "minX": 2797, "minY": 1513, "maxX": 2864, "maxY": 1644, "bold": false}, + {"char": 7680, "minX": 2866, "minY": 1513, "maxX": 2933, "maxY": 1644, "bold": false}, + {"char": 1232, "minX": 2935, "minY": 1513, "maxX": 3002, "maxY": 1644, "bold": false}, + {"char": 1234, "minX": 3004, "minY": 1513, "maxX": 3071, "maxY": 1644, "bold": false}, + {"char": 1040, "minX": 3073, "minY": 1513, "maxX": 3140, "maxY": 1644, "bold": false}, + {"char": 1028, "minX": 3142, "minY": 1513, "maxX": 3209, "maxY": 1644, "bold": false}, + {"char": 937, "minX": 3211, "minY": 1513, "maxX": 3278, "maxY": 1644, "bold": false}, + {"char": 913, "minX": 3280, "minY": 1513, "maxX": 3347, "maxY": 1644, "bold": false}, + {"char": 902, "minX": 3349, "minY": 1513, "maxX": 3416, "maxY": 1644, "bold": false}, + {"char": 506, "minX": 3418, "minY": 1513, "maxX": 3485, "maxY": 1644, "bold": false}, + {"char": 260, "minX": 3487, "minY": 1513, "maxX": 3554, "maxY": 1644, "bold": false}, + {"char": 256, "minX": 3556, "minY": 1513, "maxX": 3623, "maxY": 1644, "bold": false}, + {"char": 258, "minX": 3625, "minY": 1513, "maxX": 3692, "maxY": 1644, "bold": false}, + {"char": 192, "minX": 3694, "minY": 1513, "maxX": 3761, "maxY": 1644, "bold": false}, + {"char": 193, "minX": 3763, "minY": 1513, "maxX": 3830, "maxY": 1644, "bold": false}, + {"char": 194, "minX": 3832, "minY": 1513, "maxX": 3899, "maxY": 1644, "bold": false}, + {"char": 195, "minX": 3901, "minY": 1513, "maxX": 3968, "maxY": 1644, "bold": false}, + {"char": 196, "minX": 3970, "minY": 1513, "maxX": 4037, "maxY": 1644, "bold": false}, + {"char": 8364, "minX": 4039, "minY": 1513, "maxX": 4096, "maxY": 1644, "bold": false}, + {"char": 7919, "minX": 0, "minY": 1646, "maxX": 66, "maxY": 1782, "bold": true}, + {"char": 7921, "minX": 68, "minY": 1646, "maxX": 134, "maxY": 1782, "bold": true}, + {"char": 7913, "minX": 136, "minY": 1646, "maxX": 202, "maxY": 1782, "bold": true}, + {"char": 7915, "minX": 204, "minY": 1646, "maxX": 270, "maxY": 1782, "bold": true}, + {"char": 7917, "minX": 272, "minY": 1646, "maxX": 338, "maxY": 1782, "bold": true}, + {"char": 7891, "minX": 340, "minY": 1646, "maxX": 406, "maxY": 1782, "bold": true}, + {"char": 1193, "minX": 408, "minY": 1646, "maxX": 474, "maxY": 1782, "bold": true}, + {"char": 1179, "minX": 476, "minY": 1646, "maxX": 542, "maxY": 1782, "bold": true}, + {"char": 1172, "minX": 544, "minY": 1646, "maxX": 610, "maxY": 1782, "bold": true}, + {"char": 1154, "minX": 612, "minY": 1646, "maxX": 678, "maxY": 1782, "bold": true}, + {"char": 1071, "minX": 680, "minY": 1646, "maxX": 746, "maxY": 1782, "bold": true}, + {"char": 1076, "minX": 748, "minY": 1646, "maxX": 814, "maxY": 1782, "bold": true}, + {"char": 960, "minX": 816, "minY": 1646, "maxX": 882, "maxY": 1782, "bold": true}, + {"char": 432, "minX": 884, "minY": 1646, "maxX": 950, "maxY": 1782, "bold": true}, + {"char": 342, "minX": 952, "minY": 1646, "maxX": 1018, "maxY": 1782, "bold": true}, + {"char": 344, "minX": 1020, "minY": 1646, "maxX": 1086, "maxY": 1782, "bold": true}, + {"char": 340, "minX": 1088, "minY": 1646, "maxX": 1154, "maxY": 1782, "bold": true}, + {"char": 273, "minX": 1156, "minY": 1646, "maxX": 1222, "maxY": 1782, "bold": true}, + {"char": 167, "minX": 1224, "minY": 1646, "maxX": 1290, "maxY": 1782, "bold": true}, + {"char": 82, "minX": 1292, "minY": 1646, "maxX": 1358, "maxY": 1782, "bold": true}, + {"char": 8721, "minX": 1360, "minY": 1646, "maxX": 1425, "maxY": 1782, "bold": true}, + {"char": 1207, "minX": 1427, "minY": 1646, "maxX": 1492, "maxY": 1782, "bold": true}, + {"char": 1213, "minX": 1494, "minY": 1646, "maxX": 1559, "maxY": 1782, "bold": true}, + {"char": 1215, "minX": 1561, "minY": 1646, "maxX": 1626, "maxY": 1782, "bold": true}, + {"char": 1196, "minX": 1628, "minY": 1646, "maxX": 1693, "maxY": 1782, "bold": true}, + {"char": 1058, "minX": 1695, "minY": 1646, "maxX": 1760, "maxY": 1782, "bold": true}, + {"char": 978, "minX": 1762, "minY": 1646, "maxX": 1827, "maxY": 1782, "bold": true}, + {"char": 932, "minX": 1829, "minY": 1646, "maxX": 1894, "maxY": 1782, "bold": true}, + {"char": 538, "minX": 1896, "minY": 1646, "maxX": 1961, "maxY": 1782, "bold": true}, + {"char": 356, "minX": 1963, "minY": 1646, "maxX": 2028, "maxY": 1782, "bold": true}, + {"char": 358, "minX": 2030, "minY": 1646, "maxX": 2095, "maxY": 1782, "bold": true}, + {"char": 354, "minX": 2097, "minY": 1646, "maxX": 2162, "maxY": 1782, "bold": true}, + {"char": 223, "minX": 2164, "minY": 1646, "maxX": 2229, "maxY": 1782, "bold": true}, + {"char": 84, "minX": 2231, "minY": 1646, "maxX": 2296, "maxY": 1782, "bold": true}, + {"char": 35, "minX": 2298, "minY": 1646, "maxX": 2363, "maxY": 1782, "bold": true}, + {"char": 197, "minX": 2365, "minY": 1646, "maxX": 2432, "maxY": 1777, "bold": false}, + {"char": 65, "minX": 2434, "minY": 1646, "maxX": 2501, "maxY": 1777, "bold": false}, + {"char": 1299, "minX": 2503, "minY": 1646, "maxX": 2569, "maxY": 1777, "bold": false}, + {"char": 1260, "minX": 2571, "minY": 1646, "maxX": 2637, "maxY": 1777, "bold": false}, + {"char": 1069, "minX": 2639, "minY": 1646, "maxX": 2705, "maxY": 1777, "bold": false}, + {"char": 911, "minX": 2707, "minY": 1646, "maxX": 2773, "maxY": 1777, "bold": false}, + {"char": 126, "minX": 2775, "minY": 1646, "maxX": 2841, "maxY": 1777, "bold": false}, + {"char": 7908, "minX": 2843, "minY": 1646, "maxX": 2908, "maxY": 1777, "bold": false}, + {"char": 7910, "minX": 2910, "minY": 1646, "maxX": 2975, "maxY": 1777, "bold": false}, + {"char": 1194, "minX": 2977, "minY": 1646, "maxX": 3042, "maxY": 1777, "bold": false}, + {"char": 1202, "minX": 3044, "minY": 1646, "maxX": 3109, "maxY": 1777, "bold": false}, + {"char": 1180, "minX": 3111, "minY": 1646, "maxX": 3176, "maxY": 1777, "bold": false}, + {"char": 1057, "minX": 3178, "minY": 1646, "maxX": 3243, "maxY": 1777, "bold": false}, + {"char": 923, "minX": 3245, "minY": 1646, "maxX": 3310, "maxY": 1777, "bold": false}, + {"char": 370, "minX": 3312, "minY": 1646, "maxX": 3377, "maxY": 1777, "bold": false}, + {"char": 360, "minX": 3379, "minY": 1646, "maxX": 3444, "maxY": 1777, "bold": false}, + {"char": 362, "minX": 3446, "minY": 1646, "maxX": 3511, "maxY": 1777, "bold": false}, + {"char": 364, "minX": 3513, "minY": 1646, "maxX": 3578, "maxY": 1777, "bold": false}, + {"char": 366, "minX": 3580, "minY": 1646, "maxX": 3645, "maxY": 1777, "bold": false}, + {"char": 368, "minX": 3647, "minY": 1646, "maxX": 3712, "maxY": 1777, "bold": false}, + {"char": 262, "minX": 3714, "minY": 1646, "maxX": 3779, "maxY": 1777, "bold": false}, + {"char": 264, "minX": 3781, "minY": 1646, "maxX": 3846, "maxY": 1777, "bold": false}, + {"char": 266, "minX": 3848, "minY": 1646, "maxX": 3913, "maxY": 1777, "bold": false}, + {"char": 268, "minX": 3915, "minY": 1646, "maxX": 3980, "maxY": 1777, "bold": false}, + {"char": 270, "minX": 3982, "minY": 1646, "maxX": 4047, "maxY": 1777, "bold": false}, + {"char": 1275, "minX": 4049, "minY": 1646, "maxX": 4095, "maxY": 1777, "bold": false}, + {"char": 7873, "minX": 0, "minY": 1784, "maxX": 64, "maxY": 1920, "bold": true}, + {"char": 1274, "minX": 66, "minY": 1784, "maxX": 130, "maxY": 1920, "bold": true}, + {"char": 1246, "minX": 132, "minY": 1784, "maxX": 196, "maxY": 1920, "bold": true}, + {"char": 1183, "minX": 198, "minY": 1784, "maxX": 262, "maxY": 1920, "bold": true}, + {"char": 1176, "minX": 264, "minY": 1784, "maxX": 328, "maxY": 1920, "bold": true}, + {"char": 1094, "minX": 330, "minY": 1784, "maxX": 394, "maxY": 1920, "bold": true}, + {"char": 1047, "minX": 396, "minY": 1784, "maxX": 460, "maxY": 1920, "bold": true}, + {"char": 1029, "minX": 462, "minY": 1784, "maxX": 526, "maxY": 1920, "bold": true}, + {"char": 946, "minX": 528, "minY": 1784, "maxX": 592, "maxY": 1920, "bold": true}, + {"char": 918, "minX": 594, "minY": 1784, "maxX": 658, "maxY": 1920, "bold": true}, + {"char": 536, "minX": 660, "minY": 1784, "maxX": 724, "maxY": 1920, "bold": true}, + {"char": 377, "minX": 726, "minY": 1784, "maxX": 790, "maxY": 1920, "bold": true}, + {"char": 379, "minX": 792, "minY": 1784, "maxX": 856, "maxY": 1920, "bold": true}, + {"char": 381, "minX": 858, "minY": 1784, "maxX": 922, "maxY": 1920, "bold": true}, + {"char": 346, "minX": 924, "minY": 1784, "maxX": 988, "maxY": 1920, "bold": true}, + {"char": 348, "minX": 990, "minY": 1784, "maxX": 1054, "maxY": 1920, "bold": true}, + {"char": 350, "minX": 1056, "minY": 1784, "maxX": 1120, "maxY": 1920, "bold": true}, + {"char": 352, "minX": 1122, "minY": 1784, "maxX": 1186, "maxY": 1920, "bold": true}, + {"char": 222, "minX": 1188, "minY": 1784, "maxX": 1252, "maxY": 1920, "bold": true}, + {"char": 90, "minX": 1254, "minY": 1784, "maxX": 1318, "maxY": 1920, "bold": true}, + {"char": 83, "minX": 1320, "minY": 1784, "maxX": 1384, "maxY": 1920, "bold": true}, + {"char": 64258, "minX": 1386, "minY": 1784, "maxX": 1449, "maxY": 1920, "bold": true}, + {"char": 8730, "minX": 1451, "minY": 1784, "maxX": 1514, "maxY": 1920, "bold": true}, + {"char": 8356, "minX": 1516, "minY": 1784, "maxX": 1579, "maxY": 1920, "bold": true}, + {"char": 7872, "minX": 1581, "minY": 1784, "maxX": 1644, "maxY": 1920, "bold": true}, + {"char": 977, "minX": 1646, "minY": 1784, "maxX": 1709, "maxY": 1920, "bold": true}, + {"char": 956, "minX": 1711, "minY": 1784, "maxX": 1774, "maxY": 1920, "bold": true}, + {"char": 181, "minX": 1776, "minY": 1784, "maxX": 1839, "maxY": 1920, "bold": true}, + {"char": 163, "minX": 1841, "minY": 1784, "maxX": 1904, "maxY": 1920, "bold": true}, + {"char": 217, "minX": 1906, "minY": 1784, "maxX": 1971, "maxY": 1915, "bold": false}, + {"char": 218, "minX": 1973, "minY": 1784, "maxX": 2038, "maxY": 1915, "bold": false}, + {"char": 219, "minX": 2040, "minY": 1784, "maxX": 2105, "maxY": 1915, "bold": false}, + {"char": 220, "minX": 2107, "minY": 1784, "maxX": 2172, "maxY": 1915, "bold": false}, + {"char": 199, "minX": 2174, "minY": 1784, "maxX": 2239, "maxY": 1915, "bold": false}, + {"char": 85, "minX": 2241, "minY": 1784, "maxX": 2306, "maxY": 1915, "bold": false}, + {"char": 86, "minX": 2308, "minY": 1784, "maxX": 2373, "maxY": 1915, "bold": false}, + {"char": 67, "minX": 2375, "minY": 1784, "maxX": 2440, "maxY": 1915, "bold": false}, + {"char": 68, "minX": 2442, "minY": 1784, "maxX": 2507, "maxY": 1915, "bold": false}, + {"char": 1295, "minX": 2509, "minY": 1784, "maxX": 2573, "maxY": 1915, "bold": false}, + {"char": 1285, "minX": 2575, "minY": 1784, "maxX": 2639, "maxY": 1915, "bold": false}, + {"char": 1222, "minX": 2641, "minY": 1784, "maxX": 2705, "maxY": 1915, "bold": false}, + {"char": 1226, "minX": 2707, "minY": 1784, "maxX": 2771, "maxY": 1915, "bold": false}, + {"char": 1219, "minX": 2773, "minY": 1784, "maxX": 2837, "maxY": 1915, "bold": false}, + {"char": 1152, "minX": 2839, "minY": 1784, "maxX": 2903, "maxY": 1915, "bold": false}, + {"char": 1163, "minX": 2905, "minY": 1784, "maxX": 2969, "maxY": 1915, "bold": false}, + {"char": 1140, "minX": 2971, "minY": 1784, "maxX": 3035, "maxY": 1915, "bold": false}, + {"char": 1142, "minX": 3037, "minY": 1784, "maxX": 3101, "maxY": 1915, "bold": false}, + {"char": 1098, "minX": 3103, "minY": 1784, "maxX": 3167, "maxY": 1915, "bold": false}, + {"char": 1056, "minX": 3169, "minY": 1784, "maxX": 3233, "maxY": 1915, "bold": false}, + {"char": 1050, "minX": 3235, "minY": 1784, "maxX": 3299, "maxY": 1915, "bold": false}, + {"char": 929, "minX": 3301, "minY": 1784, "maxX": 3365, "maxY": 1915, "bold": false}, + {"char": 271, "minX": 3367, "minY": 1784, "maxX": 3431, "maxY": 1915, "bold": false}, + {"char": 80, "minX": 3433, "minY": 1784, "maxX": 3497, "maxY": 1915, "bold": false}, + {"char": 38, "minX": 3499, "minY": 1784, "maxX": 3563, "maxY": 1915, "bold": false}, + {"char": 8494, "minX": 3565, "minY": 1784, "maxX": 3628, "maxY": 1915, "bold": false}, + {"char": 8482, "minX": 3630, "minY": 1784, "maxX": 3693, "maxY": 1915, "bold": false}, + {"char": 1292, "minX": 3695, "minY": 1784, "maxX": 3758, "maxY": 1915, "bold": false}, + {"char": 1278, "minX": 3760, "minY": 1784, "maxX": 3823, "maxY": 1915, "bold": false}, + {"char": 1280, "minX": 3825, "minY": 1784, "maxX": 3888, "maxY": 1915, "bold": false}, + {"char": 1264, "minX": 3890, "minY": 1784, "maxX": 3953, "maxY": 1915, "bold": false}, + {"char": 1266, "minX": 3955, "minY": 1784, "maxX": 4018, "maxY": 1915, "bold": false}, + {"char": 1262, "minX": 4020, "minY": 1784, "maxX": 4083, "maxY": 1915, "bold": false}, + {"char": 64257, "minX": 0, "minY": 1922, "maxX": 62, "maxY": 2058, "bold": true}, + {"char": 8363, "minX": 64, "minY": 1922, "maxX": 126, "maxY": 2058, "bold": true}, + {"char": 8378, "minX": 128, "minY": 1922, "maxX": 190, "maxY": 2058, "bold": true}, + {"char": 7905, "minX": 192, "minY": 1922, "maxX": 254, "maxY": 2058, "bold": true}, + {"char": 7907, "minX": 256, "minY": 1922, "maxX": 318, "maxY": 2058, "bold": true}, + {"char": 7899, "minX": 320, "minY": 1922, "maxX": 382, "maxY": 2058, "bold": true}, + {"char": 7901, "minX": 384, "minY": 1922, "maxX": 446, "maxY": 2058, "bold": true}, + {"char": 7903, "minX": 448, "minY": 1922, "maxX": 510, "maxY": 2058, "bold": true}, + {"char": 7847, "minX": 512, "minY": 1922, "maxX": 574, "maxY": 2058, "bold": true}, + {"char": 1249, "minX": 576, "minY": 1922, "maxX": 638, "maxY": 2058, "bold": true}, + {"char": 1248, "minX": 640, "minY": 1922, "maxX": 702, "maxY": 2058, "bold": true}, + {"char": 1181, "minX": 704, "minY": 1922, "maxX": 766, "maxY": 2058, "bold": true}, + {"char": 1083, "minX": 768, "minY": 1922, "maxX": 830, "maxY": 2058, "bold": true}, + {"char": 952, "minX": 832, "minY": 1922, "maxX": 894, "maxY": 2058, "bold": true}, + {"char": 417, "minX": 896, "minY": 1922, "maxX": 958, "maxY": 2058, "bold": true}, + {"char": 240, "minX": 960, "minY": 1922, "maxX": 1022, "maxY": 2058, "bold": true}, + {"char": 8776, "minX": 1024, "minY": 1922, "maxX": 1085, "maxY": 2058, "bold": true}, + {"char": 8706, "minX": 1087, "minY": 1922, "maxX": 1148, "maxY": 2058, "bold": true}, + {"char": 8364, "minX": 1150, "minY": 1922, "maxX": 1211, "maxY": 2058, "bold": true}, + {"char": 8225, "minX": 1213, "minY": 1922, "maxX": 1274, "maxY": 2058, "bold": true}, + {"char": 7893, "minX": 1276, "minY": 1922, "maxX": 1337, "maxY": 2058, "bold": true}, + {"char": 7895, "minX": 1339, "minY": 1922, "maxX": 1400, "maxY": 2058, "bold": true}, + {"char": 7897, "minX": 1402, "minY": 1922, "maxX": 1463, "maxY": 2058, "bold": true}, + {"char": 7876, "minX": 1465, "minY": 1922, "maxX": 1526, "maxY": 2058, "bold": true}, + {"char": 7878, "minX": 1528, "minY": 1922, "maxX": 1589, "maxY": 2058, "bold": true}, + {"char": 7885, "minX": 1591, "minY": 1922, "maxX": 1652, "maxY": 2058, "bold": true}, + {"char": 7887, "minX": 1654, "minY": 1922, "maxX": 1715, "maxY": 2058, "bold": true}, + {"char": 7889, "minX": 1717, "minY": 1922, "maxX": 1778, "maxY": 2058, "bold": true}, + {"char": 7864, "minX": 1780, "minY": 1922, "maxX": 1841, "maxY": 2058, "bold": true}, + {"char": 7866, "minX": 1843, "minY": 1922, "maxX": 1904, "maxY": 2058, "bold": true}, + {"char": 7868, "minX": 1906, "minY": 1922, "maxX": 1967, "maxY": 2058, "bold": true}, + {"char": 7870, "minX": 1969, "minY": 1922, "maxX": 2030, "maxY": 2058, "bold": true}, + {"char": 7874, "minX": 2032, "minY": 1922, "maxX": 2093, "maxY": 2058, "bold": true}, + {"char": 1251, "minX": 2095, "minY": 1922, "maxX": 2156, "maxY": 2058, "bold": true}, + {"char": 1253, "minX": 2158, "minY": 1922, "maxX": 2219, "maxY": 2058, "bold": true}, + {"char": 1255, "minX": 2221, "minY": 1922, "maxX": 2282, "maxY": 2058, "bold": true}, + {"char": 1257, "minX": 2284, "minY": 1922, "maxX": 2345, "maxY": 2058, "bold": true}, + {"char": 1259, "minX": 2347, "minY": 1922, "maxX": 2408, "maxY": 2058, "bold": true}, + {"char": 1238, "minX": 2410, "minY": 1922, "maxX": 2471, "maxY": 2058, "bold": true}, + {"char": 1224, "minX": 2473, "minY": 1922, "maxX": 2534, "maxY": 2058, "bold": true}, + {"char": 1167, "minX": 2536, "minY": 1922, "maxX": 2597, "maxY": 2058, "bold": true}, + {"char": 1139, "minX": 2599, "minY": 1922, "maxX": 2660, "maxY": 2058, "bold": true}, + {"char": 1147, "minX": 2662, "minY": 1922, "maxX": 2723, "maxY": 2058, "bold": true}, + {"char": 1117, "minX": 2725, "minY": 1922, "maxX": 2786, "maxY": 2058, "bold": true}, + {"char": 1119, "minX": 2788, "minY": 1922, "maxX": 2849, "maxY": 2058, "bold": true}, + {"char": 1080, "minX": 2851, "minY": 1922, "maxX": 2912, "maxY": 2058, "bold": true}, + {"char": 1081, "minX": 2914, "minY": 1922, "maxX": 2975, "maxY": 2058, "bold": true}, + {"char": 1085, "minX": 2977, "minY": 1922, "maxX": 3038, "maxY": 2058, "bold": true}, + {"char": 1086, "minX": 3040, "minY": 1922, "maxX": 3101, "maxY": 2058, "bold": true}, + {"char": 1087, "minX": 3103, "minY": 1922, "maxX": 3164, "maxY": 2058, "bold": true}, + {"char": 1074, "minX": 3166, "minY": 1922, "maxX": 3227, "maxY": 2058, "bold": true}, + {"char": 1045, "minX": 3229, "minY": 1922, "maxX": 3290, "maxY": 2058, "bold": true}, + {"char": 1025, "minX": 3292, "minY": 1922, "maxX": 3353, "maxY": 2058, "bold": true}, + {"char": 972, "minX": 3355, "minY": 1922, "maxX": 3416, "maxY": 2058, "bold": true}, + {"char": 1024, "minX": 3418, "minY": 1922, "maxX": 3479, "maxY": 2058, "bold": true}, + {"char": 951, "minX": 3481, "minY": 1922, "maxX": 3542, "maxY": 2058, "bold": true}, + {"char": 954, "minX": 3544, "minY": 1922, "maxX": 3605, "maxY": 2058, "bold": true}, + {"char": 959, "minX": 3607, "minY": 1922, "maxX": 3668, "maxY": 2058, "bold": true}, + {"char": 961, "minX": 3670, "minY": 1922, "maxX": 3731, "maxY": 2058, "bold": true}, + {"char": 963, "minX": 3733, "minY": 1922, "maxX": 3794, "maxY": 2058, "bold": true}, + {"char": 942, "minX": 3796, "minY": 1922, "maxX": 3857, "maxY": 2058, "bold": true}, + {"char": 948, "minX": 3859, "minY": 1922, "maxX": 3920, "maxY": 2058, "bold": true}, + {"char": 926, "minX": 3922, "minY": 1922, "maxX": 3983, "maxY": 2058, "bold": true}, + {"char": 931, "minX": 3985, "minY": 1922, "maxX": 4046, "maxY": 2058, "bold": true}, + {"char": 1171, "minX": 4048, "minY": 1922, "maxX": 4096, "maxY": 2058, "bold": true}, + {"char": 917, "minX": 0, "minY": 2060, "maxX": 61, "maxY": 2196, "bold": true}, + {"char": 511, "minX": 63, "minY": 2060, "maxX": 124, "maxY": 2196, "bold": true}, + {"char": 331, "minX": 126, "minY": 2060, "maxX": 187, "maxY": 2196, "bold": true}, + {"char": 333, "minX": 189, "minY": 2060, "maxX": 250, "maxY": 2196, "bold": true}, + {"char": 335, "minX": 252, "minY": 2060, "maxX": 313, "maxY": 2196, "bold": true}, + {"char": 337, "minX": 315, "minY": 2060, "maxX": 376, "maxY": 2196, "bold": true}, + {"char": 312, "minX": 378, "minY": 2060, "maxX": 439, "maxY": 2196, "bold": true}, + {"char": 287, "minX": 441, "minY": 2060, "maxX": 502, "maxY": 2196, "bold": true}, + {"char": 289, "minX": 504, "minY": 2060, "maxX": 565, "maxY": 2196, "bold": true}, + {"char": 291, "minX": 567, "minY": 2060, "maxX": 628, "maxY": 2196, "bold": true}, + {"char": 274, "minX": 630, "minY": 2060, "maxX": 691, "maxY": 2196, "bold": true}, + {"char": 276, "minX": 693, "minY": 2060, "maxX": 754, "maxY": 2196, "bold": true}, + {"char": 278, "minX": 756, "minY": 2060, "maxX": 817, "maxY": 2196, "bold": true}, + {"char": 280, "minX": 819, "minY": 2060, "maxX": 880, "maxY": 2196, "bold": true}, + {"char": 282, "minX": 882, "minY": 2060, "maxX": 943, "maxY": 2196, "bold": true}, + {"char": 285, "minX": 945, "minY": 2060, "maxX": 1006, "maxY": 2196, "bold": true}, + {"char": 245, "minX": 1008, "minY": 2060, "maxX": 1069, "maxY": 2196, "bold": true}, + {"char": 246, "minX": 1071, "minY": 2060, "maxX": 1132, "maxY": 2196, "bold": true}, + {"char": 247, "minX": 1134, "minY": 2060, "maxX": 1195, "maxY": 2196, "bold": true}, + {"char": 248, "minX": 1197, "minY": 2060, "maxX": 1258, "maxY": 2196, "bold": true}, + {"char": 254, "minX": 1260, "minY": 2060, "maxX": 1321, "maxY": 2196, "bold": true}, + {"char": 242, "minX": 1323, "minY": 2060, "maxX": 1384, "maxY": 2196, "bold": true}, + {"char": 243, "minX": 1386, "minY": 2060, "maxX": 1447, "maxY": 2196, "bold": true}, + {"char": 244, "minX": 1449, "minY": 2060, "maxX": 1510, "maxY": 2196, "bold": true}, + {"char": 203, "minX": 1512, "minY": 2060, "maxX": 1573, "maxY": 2196, "bold": true}, + {"char": 200, "minX": 1575, "minY": 2060, "maxX": 1636, "maxY": 2196, "bold": true}, + {"char": 201, "minX": 1638, "minY": 2060, "maxX": 1699, "maxY": 2196, "bold": true}, + {"char": 202, "minX": 1701, "minY": 2060, "maxX": 1762, "maxY": 2196, "bold": true}, + {"char": 103, "minX": 1764, "minY": 2060, "maxX": 1825, "maxY": 2196, "bold": true}, + {"char": 111, "minX": 1827, "minY": 2060, "maxX": 1888, "maxY": 2196, "bold": true}, + {"char": 113, "minX": 1890, "minY": 2060, "maxX": 1951, "maxY": 2196, "bold": true}, + {"char": 69, "minX": 1953, "minY": 2060, "maxX": 2014, "maxY": 2196, "bold": true}, + {"char": 48, "minX": 2016, "minY": 2060, "maxX": 2077, "maxY": 2196, "bold": true}, + {"char": 49, "minX": 2079, "minY": 2060, "maxX": 2140, "maxY": 2196, "bold": true}, + {"char": 50, "minX": 2142, "minY": 2060, "maxX": 2203, "maxY": 2196, "bold": true}, + {"char": 51, "minX": 2205, "minY": 2060, "maxX": 2266, "maxY": 2196, "bold": true}, + {"char": 52, "minX": 2268, "minY": 2060, "maxX": 2329, "maxY": 2196, "bold": true}, + {"char": 53, "minX": 2331, "minY": 2060, "maxX": 2392, "maxY": 2196, "bold": true}, + {"char": 54, "minX": 2394, "minY": 2060, "maxX": 2455, "maxY": 2196, "bold": true}, + {"char": 55, "minX": 2457, "minY": 2060, "maxX": 2518, "maxY": 2196, "bold": true}, + {"char": 56, "minX": 2520, "minY": 2060, "maxX": 2581, "maxY": 2196, "bold": true}, + {"char": 57, "minX": 2583, "minY": 2060, "maxX": 2644, "maxY": 2196, "bold": true}, + {"char": 36, "minX": 2646, "minY": 2060, "maxX": 2707, "maxY": 2196, "bold": true}, + {"char": 1187, "minX": 2709, "minY": 2060, "maxX": 2772, "maxY": 2191, "bold": false}, + {"char": 1166, "minX": 2774, "minY": 2060, "maxX": 2837, "maxY": 2191, "bold": false}, + {"char": 1164, "minX": 2839, "minY": 2060, "maxX": 2902, "maxY": 2191, "bold": false}, + {"char": 1122, "minX": 2904, "minY": 2060, "maxX": 2967, "maxY": 2191, "bold": false}, + {"char": 1126, "minX": 2969, "minY": 2060, "maxX": 3032, "maxY": 2191, "bold": false}, + {"char": 1068, "minX": 3034, "minY": 2060, "maxX": 3097, "maxY": 2191, "bold": false}, + {"char": 1059, "minX": 3099, "minY": 2060, "maxX": 3162, "maxY": 2191, "bold": false}, + {"char": 1061, "minX": 3164, "minY": 2060, "maxX": 3227, "maxY": 2191, "bold": false}, + {"char": 1041, "minX": 3229, "minY": 2060, "maxX": 3292, "maxY": 2191, "bold": false}, + {"char": 1042, "minX": 3294, "minY": 2060, "maxX": 3357, "maxY": 2191, "bold": false}, + {"char": 1036, "minX": 3359, "minY": 2060, "maxX": 3422, "maxY": 2191, "bold": false}, + {"char": 1038, "minX": 3424, "minY": 2060, "maxX": 3487, "maxY": 2191, "bold": false}, + {"char": 922, "minX": 3489, "minY": 2060, "maxX": 3552, "maxY": 2191, "bold": false}, + {"char": 935, "minX": 3554, "minY": 2060, "maxX": 3617, "maxY": 2191, "bold": false}, + {"char": 914, "minX": 3619, "minY": 2060, "maxX": 3682, "maxY": 2191, "bold": false}, + {"char": 310, "minX": 3684, "minY": 2060, "maxX": 3747, "maxY": 2191, "bold": false}, + {"char": 272, "minX": 3749, "minY": 2060, "maxX": 3812, "maxY": 2191, "bold": false}, + {"char": 208, "minX": 3814, "minY": 2060, "maxX": 3877, "maxY": 2191, "bold": false}, + {"char": 88, "minX": 3879, "minY": 2060, "maxX": 3942, "maxY": 2191, "bold": false}, + {"char": 75, "minX": 3944, "minY": 2060, "maxX": 4007, "maxY": 2191, "bold": false}, + {"char": 66, "minX": 4009, "minY": 2060, "maxX": 4072, "maxY": 2191, "bold": false}, + {"char": 8231, "minX": 4074, "minY": 2060, "maxX": 4096, "maxY": 2191, "bold": false}, + {"char": 8800, "minX": 0, "minY": 2198, "maxX": 60, "maxY": 2334, "bold": true}, + {"char": 8722, "minX": 62, "minY": 2198, "maxX": 122, "maxY": 2334, "bold": true}, + {"char": 8199, "minX": 124, "minY": 2198, "maxX": 184, "maxY": 2334, "bold": true}, + {"char": 7909, "minX": 186, "minY": 2198, "maxX": 246, "maxY": 2334, "bold": true}, + {"char": 7911, "minX": 248, "minY": 2198, "maxX": 308, "maxY": 2334, "bold": true}, + {"char": 1277, "minX": 310, "minY": 2198, "maxX": 370, "maxY": 2334, "bold": true}, + {"char": 1281, "minX": 372, "minY": 2198, "maxX": 432, "maxY": 2334, "bold": true}, + {"char": 1286, "minX": 434, "minY": 2198, "maxX": 494, "maxY": 2334, "bold": true}, + {"char": 1270, "minX": 496, "minY": 2198, "maxX": 556, "maxY": 2334, "bold": true}, + {"char": 1209, "minX": 558, "minY": 2198, "maxX": 618, "maxY": 2334, "bold": true}, + {"char": 1211, "minX": 620, "minY": 2198, "maxX": 680, "maxY": 2334, "bold": true}, + {"char": 1220, "minX": 682, "minY": 2198, "maxX": 742, "maxY": 2334, "bold": true}, + {"char": 1143, "minX": 744, "minY": 2198, "maxX": 804, "maxY": 2334, "bold": true}, + {"char": 1127, "minX": 806, "minY": 2198, "maxX": 866, "maxY": 2334, "bold": true}, + {"char": 1088, "minX": 868, "minY": 2198, "maxX": 928, "maxY": 2334, "bold": true}, + {"char": 1073, "minX": 930, "minY": 2198, "maxX": 990, "maxY": 2334, "bold": true}, + {"char": 1043, "minX": 992, "minY": 2198, "maxX": 1052, "maxY": 2334, "bold": true}, + {"char": 1027, "minX": 1054, "minY": 2198, "maxX": 1114, "maxY": 2334, "bold": true}, + {"char": 1032, "minX": 1116, "minY": 2198, "maxX": 1176, "maxY": 2334, "bold": true}, + {"char": 940, "minX": 1178, "minY": 2198, "maxX": 1238, "maxY": 2334, "bold": true}, + {"char": 945, "minX": 1240, "minY": 2198, "maxX": 1300, "maxY": 2334, "bold": true}, + {"char": 915, "minX": 1302, "minY": 2198, "maxX": 1362, "maxY": 2334, "bold": true}, + {"char": 371, "minX": 1364, "minY": 2198, "maxX": 1424, "maxY": 2334, "bold": true}, + {"char": 361, "minX": 1426, "minY": 2198, "maxX": 1486, "maxY": 2334, "bold": true}, + {"char": 363, "minX": 1488, "minY": 2198, "maxX": 1548, "maxY": 2334, "bold": true}, + {"char": 365, "minX": 1550, "minY": 2198, "maxX": 1610, "maxY": 2334, "bold": true}, + {"char": 367, "minX": 1612, "minY": 2198, "maxX": 1672, "maxY": 2334, "bold": true}, + {"char": 369, "minX": 1674, "minY": 2198, "maxX": 1734, "maxY": 2334, "bold": true}, + {"char": 328, "minX": 1736, "minY": 2198, "maxX": 1796, "maxY": 2334, "bold": true}, + {"char": 329, "minX": 1798, "minY": 2198, "maxX": 1858, "maxY": 2334, "bold": true}, + {"char": 324, "minX": 1860, "minY": 2198, "maxX": 1920, "maxY": 2334, "bold": true}, + {"char": 326, "minX": 1922, "minY": 2198, "maxX": 1982, "maxY": 2334, "bold": true}, + {"char": 308, "minX": 1984, "minY": 2198, "maxX": 2044, "maxY": 2334, "bold": true}, + {"char": 293, "minX": 2046, "minY": 2198, "maxX": 2106, "maxY": 2334, "bold": true}, + {"char": 249, "minX": 2108, "minY": 2198, "maxX": 2168, "maxY": 2334, "bold": true}, + {"char": 250, "minX": 2170, "minY": 2198, "maxX": 2230, "maxY": 2334, "bold": true}, + {"char": 251, "minX": 2232, "minY": 2198, "maxX": 2292, "maxY": 2334, "bold": true}, + {"char": 252, "minX": 2294, "minY": 2198, "maxX": 2354, "maxY": 2334, "bold": true}, + {"char": 241, "minX": 2356, "minY": 2198, "maxX": 2416, "maxY": 2334, "bold": true}, + {"char": 162, "minX": 2418, "minY": 2198, "maxX": 2478, "maxY": 2334, "bold": true}, + {"char": 117, "minX": 2480, "minY": 2198, "maxX": 2540, "maxY": 2334, "bold": true}, + {"char": 104, "minX": 2542, "minY": 2198, "maxX": 2602, "maxY": 2334, "bold": true}, + {"char": 110, "minX": 2604, "minY": 2198, "maxX": 2664, "maxY": 2334, "bold": true}, + {"char": 112, "minX": 2666, "minY": 2198, "maxX": 2726, "maxY": 2334, "bold": true}, + {"char": 98, "minX": 2728, "minY": 2198, "maxX": 2788, "maxY": 2334, "bold": true}, + {"char": 100, "minX": 2790, "minY": 2198, "maxX": 2850, "maxY": 2334, "bold": true}, + {"char": 74, "minX": 2852, "minY": 2198, "maxX": 2912, "maxY": 2334, "bold": true}, + {"char": 61, "minX": 2914, "minY": 2198, "maxX": 2974, "maxY": 2334, "bold": true}, + {"char": 43, "minX": 2976, "minY": 2198, "maxX": 3036, "maxY": 2334, "bold": true}, + {"char": 7919, "minX": 3038, "minY": 2198, "maxX": 3100, "maxY": 2329, "bold": false}, + {"char": 7921, "minX": 3102, "minY": 2198, "maxX": 3164, "maxY": 2329, "bold": false}, + {"char": 7913, "minX": 3166, "minY": 2198, "maxX": 3228, "maxY": 2329, "bold": false}, + {"char": 7915, "minX": 3230, "minY": 2198, "maxX": 3292, "maxY": 2329, "bold": false}, + {"char": 7917, "minX": 3294, "minY": 2198, "maxX": 3356, "maxY": 2329, "bold": false}, + {"char": 1193, "minX": 3358, "minY": 2198, "maxX": 3420, "maxY": 2329, "bold": false}, + {"char": 1179, "minX": 3422, "minY": 2198, "maxX": 3484, "maxY": 2329, "bold": false}, + {"char": 1172, "minX": 3486, "minY": 2198, "maxX": 3548, "maxY": 2329, "bold": false}, + {"char": 1154, "minX": 3550, "minY": 2198, "maxX": 3612, "maxY": 2329, "bold": false}, + {"char": 1071, "minX": 3614, "minY": 2198, "maxX": 3676, "maxY": 2329, "bold": false}, + {"char": 1076, "minX": 3678, "minY": 2198, "maxX": 3740, "maxY": 2329, "bold": false}, + {"char": 960, "minX": 3742, "minY": 2198, "maxX": 3804, "maxY": 2329, "bold": false}, + {"char": 432, "minX": 3806, "minY": 2198, "maxX": 3868, "maxY": 2329, "bold": false}, + {"char": 342, "minX": 3870, "minY": 2198, "maxX": 3932, "maxY": 2329, "bold": false}, + {"char": 344, "minX": 3934, "minY": 2198, "maxX": 3996, "maxY": 2329, "bold": false}, + {"char": 340, "minX": 3998, "minY": 2198, "maxX": 4060, "maxY": 2329, "bold": false}, + {"char": 8196, "minX": 4062, "minY": 2198, "maxX": 4096, "maxY": 2329, "bold": false}, + {"char": 273, "minX": 0, "minY": 2336, "maxX": 62, "maxY": 2467, "bold": false}, + {"char": 167, "minX": 64, "minY": 2336, "maxX": 126, "maxY": 2467, "bold": false}, + {"char": 82, "minX": 128, "minY": 2336, "maxX": 190, "maxY": 2467, "bold": false}, + {"char": 8721, "minX": 192, "minY": 2336, "maxX": 253, "maxY": 2467, "bold": false}, + {"char": 7922, "minX": 255, "minY": 2336, "maxX": 316, "maxY": 2467, "bold": false}, + {"char": 7924, "minX": 318, "minY": 2336, "maxX": 379, "maxY": 2467, "bold": false}, + {"char": 7926, "minX": 381, "minY": 2336, "maxX": 442, "maxY": 2467, "bold": false}, + {"char": 7928, "minX": 444, "minY": 2336, "maxX": 505, "maxY": 2467, "bold": false}, + {"char": 1207, "minX": 507, "minY": 2336, "maxX": 568, "maxY": 2467, "bold": false}, + {"char": 1213, "minX": 570, "minY": 2336, "maxX": 631, "maxY": 2467, "bold": false}, + {"char": 1215, "minX": 633, "minY": 2336, "maxX": 694, "maxY": 2467, "bold": false}, + {"char": 1196, "minX": 696, "minY": 2336, "maxX": 757, "maxY": 2467, "bold": false}, + {"char": 1198, "minX": 759, "minY": 2336, "maxX": 820, "maxY": 2467, "bold": false}, + {"char": 1200, "minX": 822, "minY": 2336, "maxX": 883, "maxY": 2467, "bold": false}, + {"char": 1058, "minX": 885, "minY": 2336, "maxX": 946, "maxY": 2467, "bold": false}, + {"char": 939, "minX": 948, "minY": 2336, "maxX": 1009, "maxY": 2467, "bold": false}, + {"char": 932, "minX": 1011, "minY": 2336, "maxX": 1072, "maxY": 2467, "bold": false}, + {"char": 933, "minX": 1074, "minY": 2336, "maxX": 1135, "maxY": 2467, "bold": false}, + {"char": 538, "minX": 1137, "minY": 2336, "maxX": 1198, "maxY": 2467, "bold": false}, + {"char": 374, "minX": 1200, "minY": 2336, "maxX": 1261, "maxY": 2467, "bold": false}, + {"char": 376, "minX": 1263, "minY": 2336, "maxX": 1324, "maxY": 2467, "bold": false}, + {"char": 356, "minX": 1326, "minY": 2336, "maxX": 1387, "maxY": 2467, "bold": false}, + {"char": 358, "minX": 1389, "minY": 2336, "maxX": 1450, "maxY": 2467, "bold": false}, + {"char": 354, "minX": 1452, "minY": 2336, "maxX": 1513, "maxY": 2467, "bold": false}, + {"char": 221, "minX": 1515, "minY": 2336, "maxX": 1576, "maxY": 2467, "bold": false}, + {"char": 223, "minX": 1578, "minY": 2336, "maxX": 1639, "maxY": 2467, "bold": false}, + {"char": 89, "minX": 1641, "minY": 2336, "maxX": 1702, "maxY": 2467, "bold": false}, + {"char": 84, "minX": 1704, "minY": 2336, "maxX": 1765, "maxY": 2467, "bold": false}, + {"char": 35, "minX": 1767, "minY": 2336, "maxX": 1828, "maxY": 2467, "bold": false}, + {"char": 1246, "minX": 1830, "minY": 2336, "maxX": 1890, "maxY": 2467, "bold": false}, + {"char": 1176, "minX": 1892, "minY": 2336, "maxX": 1952, "maxY": 2467, "bold": false}, + {"char": 1094, "minX": 1954, "minY": 2336, "maxX": 2014, "maxY": 2467, "bold": false}, + {"char": 1047, "minX": 2016, "minY": 2336, "maxX": 2076, "maxY": 2467, "bold": false}, + {"char": 1029, "minX": 2078, "minY": 2336, "maxX": 2138, "maxY": 2467, "bold": false}, + {"char": 978, "minX": 2140, "minY": 2336, "maxX": 2200, "maxY": 2467, "bold": false}, + {"char": 946, "minX": 2202, "minY": 2336, "maxX": 2262, "maxY": 2467, "bold": false}, + {"char": 918, "minX": 2264, "minY": 2336, "maxX": 2324, "maxY": 2467, "bold": false}, + {"char": 536, "minX": 2326, "minY": 2336, "maxX": 2386, "maxY": 2467, "bold": false}, + {"char": 377, "minX": 2388, "minY": 2336, "maxX": 2448, "maxY": 2467, "bold": false}, + {"char": 379, "minX": 2450, "minY": 2336, "maxX": 2510, "maxY": 2467, "bold": false}, + {"char": 381, "minX": 2512, "minY": 2336, "maxX": 2572, "maxY": 2467, "bold": false}, + {"char": 346, "minX": 2574, "minY": 2336, "maxX": 2634, "maxY": 2467, "bold": false}, + {"char": 348, "minX": 2636, "minY": 2336, "maxX": 2696, "maxY": 2467, "bold": false}, + {"char": 350, "minX": 2698, "minY": 2336, "maxX": 2758, "maxY": 2467, "bold": false}, + {"char": 352, "minX": 2760, "minY": 2336, "maxX": 2820, "maxY": 2467, "bold": false}, + {"char": 222, "minX": 2822, "minY": 2336, "maxX": 2882, "maxY": 2467, "bold": false}, + {"char": 90, "minX": 2884, "minY": 2336, "maxX": 2944, "maxY": 2467, "bold": false}, + {"char": 83, "minX": 2946, "minY": 2336, "maxX": 3006, "maxY": 2467, "bold": false}, + {"char": 64258, "minX": 3008, "minY": 2336, "maxX": 3067, "maxY": 2467, "bold": false}, + {"char": 8730, "minX": 3069, "minY": 2336, "maxX": 3128, "maxY": 2467, "bold": false}, + {"char": 8356, "minX": 3130, "minY": 2336, "maxX": 3189, "maxY": 2467, "bold": false}, + {"char": 7891, "minX": 3191, "minY": 2336, "maxX": 3250, "maxY": 2467, "bold": false}, + {"char": 977, "minX": 3252, "minY": 2336, "maxX": 3311, "maxY": 2467, "bold": false}, + {"char": 956, "minX": 3313, "minY": 2336, "maxX": 3372, "maxY": 2467, "bold": false}, + {"char": 181, "minX": 3374, "minY": 2336, "maxX": 3433, "maxY": 2467, "bold": false}, + {"char": 163, "minX": 3435, "minY": 2336, "maxX": 3494, "maxY": 2467, "bold": false}, + {"char": 64257, "minX": 3496, "minY": 2336, "maxX": 3554, "maxY": 2467, "bold": false}, + {"char": 8363, "minX": 3556, "minY": 2336, "maxX": 3614, "maxY": 2467, "bold": false}, + {"char": 8378, "minX": 3616, "minY": 2336, "maxX": 3674, "maxY": 2467, "bold": false}, + {"char": 7905, "minX": 3676, "minY": 2336, "maxX": 3734, "maxY": 2467, "bold": false}, + {"char": 7907, "minX": 3736, "minY": 2336, "maxX": 3794, "maxY": 2467, "bold": false}, + {"char": 7899, "minX": 3796, "minY": 2336, "maxX": 3854, "maxY": 2467, "bold": false}, + {"char": 7901, "minX": 3856, "minY": 2336, "maxX": 3914, "maxY": 2467, "bold": false}, + {"char": 7903, "minX": 3916, "minY": 2336, "maxX": 3974, "maxY": 2467, "bold": false}, + {"char": 1249, "minX": 3976, "minY": 2336, "maxX": 4034, "maxY": 2467, "bold": false}, + {"char": 1248, "minX": 4036, "minY": 2336, "maxX": 4094, "maxY": 2467, "bold": false}, + {"char": 8355, "minX": 0, "minY": 2469, "maxX": 59, "maxY": 2605, "bold": true}, + {"char": 8224, "minX": 61, "minY": 2469, "maxX": 120, "maxY": 2605, "bold": true}, + {"char": 1297, "minX": 122, "minY": 2469, "maxX": 181, "maxY": 2605, "bold": true}, + {"char": 1269, "minX": 183, "minY": 2469, "maxX": 242, "maxY": 2605, "bold": true}, + {"char": 1228, "minX": 244, "minY": 2469, "maxX": 303, "maxY": 2605, "bold": true}, + {"char": 1168, "minX": 305, "minY": 2469, "maxX": 364, "maxY": 2605, "bold": true}, + {"char": 1116, "minX": 366, "minY": 2469, "maxX": 425, "maxY": 2605, "bold": true}, + {"char": 1095, "minX": 427, "minY": 2469, "maxX": 486, "maxY": 2605, "bold": true}, + {"char": 1100, "minX": 488, "minY": 2469, "maxX": 547, "maxY": 2605, "bold": true}, + {"char": 1103, "minX": 549, "minY": 2469, "maxX": 608, "maxY": 2605, "bold": true}, + {"char": 1082, "minX": 610, "minY": 2469, "maxX": 669, "maxY": 2605, "bold": true}, + {"char": 965, "minX": 671, "minY": 2469, "maxX": 730, "maxY": 2605, "bold": true}, + {"char": 971, "minX": 732, "minY": 2469, "maxX": 791, "maxY": 2605, "bold": true}, + {"char": 973, "minX": 793, "minY": 2469, "maxX": 852, "maxY": 2605, "bold": true}, + {"char": 955, "minX": 854, "minY": 2469, "maxX": 913, "maxY": 2605, "bold": true}, + {"char": 941, "minX": 915, "minY": 2469, "maxX": 974, "maxY": 2605, "bold": true}, + {"char": 944, "minX": 976, "minY": 2469, "maxX": 1035, "maxY": 2605, "bold": true}, + {"char": 949, "minX": 1037, "minY": 2469, "maxX": 1096, "maxY": 2605, "bold": true}, + {"char": 321, "minX": 1098, "minY": 2469, "maxX": 1157, "maxY": 2605, "bold": true}, + {"char": 295, "minX": 1159, "minY": 2469, "maxX": 1218, "maxY": 2605, "bold": true}, + {"char": 165, "minX": 1220, "minY": 2469, "maxX": 1279, "maxY": 2605, "bold": true}, + {"char": 172, "minX": 1281, "minY": 2469, "maxX": 1340, "maxY": 2605, "bold": true}, + {"char": 70, "minX": 1342, "minY": 2469, "maxX": 1401, "maxY": 2605, "bold": true}, + {"char": 8252, "minX": 1403, "minY": 2469, "maxX": 1461, "maxY": 2605, "bold": true}, + {"char": 7877, "minX": 1463, "minY": 2469, "maxX": 1521, "maxY": 2605, "bold": true}, + {"char": 7879, "minX": 1523, "minY": 2469, "maxX": 1581, "maxY": 2605, "bold": true}, + {"char": 7863, "minX": 1583, "minY": 2469, "maxX": 1641, "maxY": 2605, "bold": true}, + {"char": 7865, "minX": 1643, "minY": 2469, "maxX": 1701, "maxY": 2605, "bold": true}, + {"char": 7867, "minX": 1703, "minY": 2469, "maxX": 1761, "maxY": 2605, "bold": true}, + {"char": 7869, "minX": 1763, "minY": 2469, "maxX": 1821, "maxY": 2605, "bold": true}, + {"char": 7871, "minX": 1823, "minY": 2469, "maxX": 1881, "maxY": 2605, "bold": true}, + {"char": 7875, "minX": 1883, "minY": 2469, "maxX": 1941, "maxY": 2605, "bold": true}, + {"char": 7849, "minX": 1943, "minY": 2469, "maxX": 2001, "maxY": 2605, "bold": true}, + {"char": 7851, "minX": 2003, "minY": 2469, "maxX": 2061, "maxY": 2605, "bold": true}, + {"char": 7853, "minX": 2063, "minY": 2469, "maxX": 2121, "maxY": 2605, "bold": true}, + {"char": 7855, "minX": 2123, "minY": 2469, "maxX": 2181, "maxY": 2605, "bold": true}, + {"char": 7857, "minX": 2183, "minY": 2469, "maxX": 2241, "maxY": 2605, "bold": true}, + {"char": 7859, "minX": 2243, "minY": 2469, "maxX": 2301, "maxY": 2605, "bold": true}, + {"char": 7861, "minX": 2303, "minY": 2469, "maxX": 2361, "maxY": 2605, "bold": true}, + {"char": 7841, "minX": 2363, "minY": 2469, "maxX": 2421, "maxY": 2605, "bold": true}, + {"char": 7843, "minX": 2423, "minY": 2469, "maxX": 2481, "maxY": 2605, "bold": true}, + {"char": 7845, "minX": 2483, "minY": 2469, "maxX": 2541, "maxY": 2605, "bold": true}, + {"char": 7681, "minX": 2543, "minY": 2469, "maxX": 2601, "maxY": 2605, "bold": true}, + {"char": 1267, "minX": 2603, "minY": 2469, "maxX": 2661, "maxY": 2605, "bold": true}, + {"char": 1235, "minX": 2663, "minY": 2469, "maxX": 2721, "maxY": 2605, "bold": true}, + {"char": 1239, "minX": 2723, "minY": 2469, "maxX": 2781, "maxY": 2605, "bold": true}, + {"char": 1233, "minX": 2783, "minY": 2469, "maxX": 2841, "maxY": 2605, "bold": true}, + {"char": 1203, "minX": 2843, "minY": 2469, "maxX": 2901, "maxY": 2605, "bold": true}, + {"char": 1165, "minX": 2903, "minY": 2469, "maxX": 2961, "maxY": 2605, "bold": true}, + {"char": 1170, "minX": 2963, "minY": 2469, "maxX": 3021, "maxY": 2605, "bold": true}, + {"char": 1153, "minX": 3023, "minY": 2469, "maxX": 3081, "maxY": 2605, "bold": true}, + {"char": 1123, "minX": 3083, "minY": 2469, "maxX": 3141, "maxY": 2605, "bold": true}, + {"char": 1104, "minX": 3143, "minY": 2469, "maxX": 3201, "maxY": 2605, "bold": true}, + {"char": 1105, "minX": 3203, "minY": 2469, "maxX": 3261, "maxY": 2605, "bold": true}, + {"char": 1072, "minX": 3263, "minY": 2469, "maxX": 3321, "maxY": 2605, "bold": true}, + {"char": 1077, "minX": 3323, "minY": 2469, "maxX": 3381, "maxY": 2605, "bold": true}, + {"char": 507, "minX": 3383, "minY": 2469, "maxX": 3441, "maxY": 2605, "bold": true}, + {"char": 315, "minX": 3443, "minY": 2469, "maxX": 3501, "maxY": 2605, "bold": true}, + {"char": 317, "minX": 3503, "minY": 2469, "maxX": 3561, "maxY": 2605, "bold": true}, + {"char": 319, "minX": 3563, "minY": 2469, "maxX": 3621, "maxY": 2605, "bold": true}, + {"char": 313, "minX": 3623, "minY": 2469, "maxX": 3681, "maxY": 2605, "bold": true}, + {"char": 275, "minX": 3683, "minY": 2469, "maxX": 3741, "maxY": 2605, "bold": true}, + {"char": 277, "minX": 3743, "minY": 2469, "maxX": 3801, "maxY": 2605, "bold": true}, + {"char": 279, "minX": 3803, "minY": 2469, "maxX": 3861, "maxY": 2605, "bold": true}, + {"char": 281, "minX": 3863, "minY": 2469, "maxX": 3921, "maxY": 2605, "bold": true}, + {"char": 283, "minX": 3923, "minY": 2469, "maxX": 3981, "maxY": 2605, "bold": true}, + {"char": 259, "minX": 3983, "minY": 2469, "maxX": 4041, "maxY": 2605, "bold": true}, + {"char": 8467, "minX": 4043, "minY": 2469, "maxX": 4096, "maxY": 2605, "bold": true}, + {"char": 261, "minX": 0, "minY": 2607, "maxX": 58, "maxY": 2743, "bold": true}, + {"char": 257, "minX": 60, "minY": 2607, "maxX": 118, "maxY": 2743, "bold": true}, + {"char": 232, "minX": 120, "minY": 2607, "maxX": 178, "maxY": 2743, "bold": true}, + {"char": 233, "minX": 180, "minY": 2607, "maxX": 238, "maxY": 2743, "bold": true}, + {"char": 234, "minX": 240, "minY": 2607, "maxX": 298, "maxY": 2743, "bold": true}, + {"char": 235, "minX": 300, "minY": 2607, "maxX": 358, "maxY": 2743, "bold": true}, + {"char": 224, "minX": 360, "minY": 2607, "maxX": 418, "maxY": 2743, "bold": true}, + {"char": 225, "minX": 420, "minY": 2607, "maxX": 478, "maxY": 2743, "bold": true}, + {"char": 226, "minX": 480, "minY": 2607, "maxX": 538, "maxY": 2743, "bold": true}, + {"char": 227, "minX": 540, "minY": 2607, "maxX": 598, "maxY": 2743, "bold": true}, + {"char": 228, "minX": 600, "minY": 2607, "maxX": 658, "maxY": 2743, "bold": true}, + {"char": 229, "minX": 660, "minY": 2607, "maxX": 718, "maxY": 2743, "bold": true}, + {"char": 177, "minX": 720, "minY": 2607, "maxX": 778, "maxY": 2743, "bold": true}, + {"char": 101, "minX": 780, "minY": 2607, "maxX": 838, "maxY": 2743, "bold": true}, + {"char": 97, "minX": 840, "minY": 2607, "maxX": 898, "maxY": 2743, "bold": true}, + {"char": 76, "minX": 900, "minY": 2607, "maxX": 958, "maxY": 2743, "bold": true}, + {"char": 8377, "minX": 960, "minY": 2607, "maxX": 1017, "maxY": 2743, "bold": true}, + {"char": 1287, "minX": 1019, "minY": 2607, "maxX": 1076, "maxY": 2743, "bold": true}, + {"char": 1261, "minX": 1078, "minY": 2607, "maxX": 1135, "maxY": 2743, "bold": true}, + {"char": 1241, "minX": 1137, "minY": 2607, "maxX": 1194, "maxY": 2743, "bold": true}, + {"char": 1243, "minX": 1196, "minY": 2607, "maxX": 1253, "maxY": 2743, "bold": true}, + {"char": 1108, "minX": 1255, "minY": 2607, "maxX": 1312, "maxY": 2743, "bold": true}, + {"char": 1101, "minX": 1314, "minY": 2607, "maxX": 1371, "maxY": 2743, "bold": true}, + {"char": 1106, "minX": 1373, "minY": 2607, "maxX": 1430, "maxY": 2743, "bold": true}, + {"char": 962, "minX": 1432, "minY": 2607, "maxX": 1489, "maxY": 2743, "bold": true}, + {"char": 901, "minX": 1491, "minY": 2607, "maxX": 1548, "maxY": 2743, "bold": true}, + {"char": 601, "minX": 1550, "minY": 2607, "maxX": 1607, "maxY": 2743, "bold": true}, + {"char": 215, "minX": 1609, "minY": 2607, "maxX": 1666, "maxY": 2743, "bold": true}, + {"char": 8805, "minX": 1668, "minY": 2607, "maxX": 1724, "maxY": 2743, "bold": true}, + {"char": 1293, "minX": 1726, "minY": 2607, "maxX": 1782, "maxY": 2743, "bold": true}, + {"char": 1279, "minX": 1784, "minY": 2607, "maxX": 1840, "maxY": 2743, "bold": true}, + {"char": 1195, "minX": 1842, "minY": 2607, "maxX": 1898, "maxY": 2743, "bold": true}, + {"char": 1173, "minX": 1900, "minY": 2607, "maxX": 1956, "maxY": 2743, "bold": true}, + {"char": 1134, "minX": 1958, "minY": 2607, "maxX": 2014, "maxY": 2743, "bold": true}, + {"char": 1109, "minX": 2016, "minY": 2607, "maxX": 2072, "maxY": 2743, "bold": true}, + {"char": 1089, "minX": 2074, "minY": 2607, "maxX": 2130, "maxY": 2743, "bold": true}, + {"char": 1093, "minX": 2132, "minY": 2607, "maxX": 2188, "maxY": 2743, "bold": true}, + {"char": 964, "minX": 2190, "minY": 2607, "maxX": 2246, "maxY": 2743, "bold": true}, + {"char": 537, "minX": 2248, "minY": 2607, "maxX": 2304, "maxY": 2743, "bold": true}, + {"char": 347, "minX": 2306, "minY": 2607, "maxX": 2362, "maxY": 2743, "bold": true}, + {"char": 349, "minX": 2364, "minY": 2607, "maxX": 2420, "maxY": 2743, "bold": true}, + {"char": 351, "minX": 2422, "minY": 2607, "maxX": 2478, "maxY": 2743, "bold": true}, + {"char": 353, "minX": 2480, "minY": 2607, "maxX": 2536, "maxY": 2743, "bold": true}, + {"char": 311, "minX": 2538, "minY": 2607, "maxX": 2594, "maxY": 2743, "bold": true}, + {"char": 263, "minX": 2596, "minY": 2607, "maxX": 2652, "maxY": 2743, "bold": true}, + {"char": 265, "minX": 2654, "minY": 2607, "maxX": 2710, "maxY": 2743, "bold": true}, + {"char": 267, "minX": 2712, "minY": 2607, "maxX": 2768, "maxY": 2743, "bold": true}, + {"char": 269, "minX": 2770, "minY": 2607, "maxX": 2826, "maxY": 2743, "bold": true}, + {"char": 231, "minX": 2828, "minY": 2607, "maxX": 2884, "maxY": 2743, "bold": true}, + {"char": 115, "minX": 2886, "minY": 2607, "maxX": 2942, "maxY": 2743, "bold": true}, + {"char": 120, "minX": 2944, "minY": 2607, "maxX": 3000, "maxY": 2743, "bold": true}, + {"char": 107, "minX": 3002, "minY": 2607, "maxX": 3058, "maxY": 2743, "bold": true}, + {"char": 99, "minX": 3060, "minY": 2607, "maxX": 3116, "maxY": 2743, "bold": true}, + {"char": 62, "minX": 3118, "minY": 2607, "maxX": 3174, "maxY": 2743, "bold": true}, + {"char": 1181, "minX": 3176, "minY": 2607, "maxX": 3234, "maxY": 2738, "bold": false}, + {"char": 1183, "minX": 3236, "minY": 2607, "maxX": 3294, "maxY": 2738, "bold": false}, + {"char": 1083, "minX": 3296, "minY": 2607, "maxX": 3354, "maxY": 2738, "bold": false}, + {"char": 952, "minX": 3356, "minY": 2607, "maxX": 3414, "maxY": 2738, "bold": false}, + {"char": 417, "minX": 3416, "minY": 2607, "maxX": 3474, "maxY": 2738, "bold": false}, + {"char": 240, "minX": 3476, "minY": 2607, "maxX": 3534, "maxY": 2738, "bold": false}, + {"char": 8225, "minX": 3536, "minY": 2607, "maxX": 3593, "maxY": 2738, "bold": false}, + {"char": 7893, "minX": 3595, "minY": 2607, "maxX": 3652, "maxY": 2738, "bold": false}, + {"char": 7895, "minX": 3654, "minY": 2607, "maxX": 3711, "maxY": 2738, "bold": false}, + {"char": 7897, "minX": 3713, "minY": 2607, "maxX": 3770, "maxY": 2738, "bold": false}, + {"char": 7876, "minX": 3772, "minY": 2607, "maxX": 3829, "maxY": 2738, "bold": false}, + {"char": 7878, "minX": 3831, "minY": 2607, "maxX": 3888, "maxY": 2738, "bold": false}, + {"char": 7885, "minX": 3890, "minY": 2607, "maxX": 3947, "maxY": 2738, "bold": false}, + {"char": 7887, "minX": 3949, "minY": 2607, "maxX": 4006, "maxY": 2738, "bold": false}, + {"char": 7889, "minX": 4008, "minY": 2607, "maxX": 4065, "maxY": 2738, "bold": false}, + {"char": 60929, "minX": 4067, "minY": 2607, "maxX": 4096, "maxY": 2738, "bold": false}, + {"char": 8804, "minX": 0, "minY": 2745, "maxX": 55, "maxY": 2881, "bold": true}, + {"char": 9674, "minX": 57, "minY": 2745, "maxX": 112, "maxY": 2881, "bold": true}, + {"char": 8194, "minX": 114, "minY": 2745, "maxX": 169, "maxY": 2881, "bold": true}, + {"char": 7923, "minX": 171, "minY": 2745, "maxX": 226, "maxY": 2881, "bold": true}, + {"char": 7925, "minX": 228, "minY": 2745, "maxX": 283, "maxY": 2881, "bold": true}, + {"char": 7927, "minX": 285, "minY": 2745, "maxX": 340, "maxY": 2881, "bold": true}, + {"char": 7929, "minX": 342, "minY": 2745, "maxX": 397, "maxY": 2881, "bold": true}, + {"char": 8192, "minX": 399, "minY": 2745, "maxX": 454, "maxY": 2881, "bold": true}, + {"char": 1263, "minX": 456, "minY": 2745, "maxX": 511, "maxY": 2881, "bold": true}, + {"char": 1265, "minX": 513, "minY": 2745, "maxX": 568, "maxY": 2881, "bold": true}, + {"char": 1247, "minX": 570, "minY": 2745, "maxX": 625, "maxY": 2881, "bold": true}, + {"char": 1199, "minX": 627, "minY": 2745, "maxX": 682, "maxY": 2881, "bold": true}, + {"char": 1201, "minX": 684, "minY": 2745, "maxX": 739, "maxY": 2881, "bold": true}, + {"char": 1177, "minX": 741, "minY": 2745, "maxX": 796, "maxY": 2881, "bold": true}, + {"char": 1141, "minX": 798, "minY": 2745, "maxX": 853, "maxY": 2881, "bold": true}, + {"char": 1115, "minX": 855, "minY": 2745, "maxX": 910, "maxY": 2881, "bold": true}, + {"char": 1118, "minX": 912, "minY": 2745, "maxX": 967, "maxY": 2881, "bold": true}, + {"char": 1091, "minX": 969, "minY": 2745, "maxX": 1024, "maxY": 2881, "bold": true}, + {"char": 1079, "minX": 1026, "minY": 2745, "maxX": 1081, "maxY": 2881, "bold": true}, + {"char": 958, "minX": 1083, "minY": 2745, "maxX": 1138, "maxY": 2881, "bold": true}, + {"char": 947, "minX": 1140, "minY": 2745, "maxX": 1195, "maxY": 2881, "bold": true}, + {"char": 950, "minX": 1197, "minY": 2745, "maxX": 1252, "maxY": 2881, "bold": true}, + {"char": 375, "minX": 1254, "minY": 2745, "maxX": 1309, "maxY": 2881, "bold": true}, + {"char": 307, "minX": 1311, "minY": 2745, "maxX": 1366, "maxY": 2881, "bold": true}, + {"char": 253, "minX": 1368, "minY": 2745, "maxX": 1423, "maxY": 2881, "bold": true}, + {"char": 255, "minX": 1425, "minY": 2745, "maxX": 1480, "maxY": 2881, "bold": true}, + {"char": 121, "minX": 1482, "minY": 2745, "maxX": 1537, "maxY": 2881, "bold": true}, + {"char": 60, "minX": 1539, "minY": 2745, "maxX": 1594, "maxY": 2881, "bold": true}, + {"char": 7864, "minX": 1596, "minY": 2745, "maxX": 1653, "maxY": 2876, "bold": false}, + {"char": 7866, "minX": 1655, "minY": 2745, "maxX": 1712, "maxY": 2876, "bold": false}, + {"char": 7868, "minX": 1714, "minY": 2745, "maxX": 1771, "maxY": 2876, "bold": false}, + {"char": 7870, "minX": 1773, "minY": 2745, "maxX": 1830, "maxY": 2876, "bold": false}, + {"char": 7873, "minX": 1832, "minY": 2745, "maxX": 1889, "maxY": 2876, "bold": false}, + {"char": 7874, "minX": 1891, "minY": 2745, "maxX": 1948, "maxY": 2876, "bold": false}, + {"char": 1251, "minX": 1950, "minY": 2745, "maxX": 2007, "maxY": 2876, "bold": false}, + {"char": 1253, "minX": 2009, "minY": 2745, "maxX": 2066, "maxY": 2876, "bold": false}, + {"char": 1255, "minX": 2068, "minY": 2745, "maxX": 2125, "maxY": 2876, "bold": false}, + {"char": 1257, "minX": 2127, "minY": 2745, "maxX": 2184, "maxY": 2876, "bold": false}, + {"char": 1259, "minX": 2186, "minY": 2745, "maxX": 2243, "maxY": 2876, "bold": false}, + {"char": 1238, "minX": 2245, "minY": 2745, "maxX": 2302, "maxY": 2876, "bold": false}, + {"char": 1224, "minX": 2304, "minY": 2745, "maxX": 2361, "maxY": 2876, "bold": false}, + {"char": 1167, "minX": 2363, "minY": 2745, "maxX": 2420, "maxY": 2876, "bold": false}, + {"char": 1139, "minX": 2422, "minY": 2745, "maxX": 2479, "maxY": 2876, "bold": false}, + {"char": 1147, "minX": 2481, "minY": 2745, "maxX": 2538, "maxY": 2876, "bold": false}, + {"char": 1117, "minX": 2540, "minY": 2745, "maxX": 2597, "maxY": 2876, "bold": false}, + {"char": 1119, "minX": 2599, "minY": 2745, "maxX": 2656, "maxY": 2876, "bold": false}, + {"char": 1080, "minX": 2658, "minY": 2745, "maxX": 2715, "maxY": 2876, "bold": false}, + {"char": 1081, "minX": 2717, "minY": 2745, "maxX": 2774, "maxY": 2876, "bold": false}, + {"char": 1085, "minX": 2776, "minY": 2745, "maxX": 2833, "maxY": 2876, "bold": false}, + {"char": 1086, "minX": 2835, "minY": 2745, "maxX": 2892, "maxY": 2876, "bold": false}, + {"char": 1087, "minX": 2894, "minY": 2745, "maxX": 2951, "maxY": 2876, "bold": false}, + {"char": 1074, "minX": 2953, "minY": 2745, "maxX": 3010, "maxY": 2876, "bold": false}, + {"char": 1045, "minX": 3012, "minY": 2745, "maxX": 3069, "maxY": 2876, "bold": false}, + {"char": 1025, "minX": 3071, "minY": 2745, "maxX": 3128, "maxY": 2876, "bold": false}, + {"char": 972, "minX": 3130, "minY": 2745, "maxX": 3187, "maxY": 2876, "bold": false}, + {"char": 1024, "minX": 3189, "minY": 2745, "maxX": 3246, "maxY": 2876, "bold": false}, + {"char": 951, "minX": 3248, "minY": 2745, "maxX": 3305, "maxY": 2876, "bold": false}, + {"char": 954, "minX": 3307, "minY": 2745, "maxX": 3364, "maxY": 2876, "bold": false}, + {"char": 959, "minX": 3366, "minY": 2745, "maxX": 3423, "maxY": 2876, "bold": false}, + {"char": 961, "minX": 3425, "minY": 2745, "maxX": 3482, "maxY": 2876, "bold": false}, + {"char": 963, "minX": 3484, "minY": 2745, "maxX": 3541, "maxY": 2876, "bold": false}, + {"char": 942, "minX": 3543, "minY": 2745, "maxX": 3600, "maxY": 2876, "bold": false}, + {"char": 948, "minX": 3602, "minY": 2745, "maxX": 3659, "maxY": 2876, "bold": false}, + {"char": 926, "minX": 3661, "minY": 2745, "maxX": 3718, "maxY": 2876, "bold": false}, + {"char": 931, "minX": 3720, "minY": 2745, "maxX": 3777, "maxY": 2876, "bold": false}, + {"char": 917, "minX": 3779, "minY": 2745, "maxX": 3836, "maxY": 2876, "bold": false}, + {"char": 511, "minX": 3838, "minY": 2745, "maxX": 3895, "maxY": 2876, "bold": false}, + {"char": 331, "minX": 3897, "minY": 2745, "maxX": 3954, "maxY": 2876, "bold": false}, + {"char": 333, "minX": 3956, "minY": 2745, "maxX": 4013, "maxY": 2876, "bold": false}, + {"char": 335, "minX": 4015, "minY": 2745, "maxX": 4072, "maxY": 2876, "bold": false}, + {"char": 8216, "minX": 4074, "minY": 2745, "maxX": 4096, "maxY": 2876, "bold": false}, + {"char": 337, "minX": 0, "minY": 2883, "maxX": 57, "maxY": 3014, "bold": false}, + {"char": 312, "minX": 59, "minY": 2883, "maxX": 116, "maxY": 3014, "bold": false}, + {"char": 287, "minX": 118, "minY": 2883, "maxX": 175, "maxY": 3014, "bold": false}, + {"char": 289, "minX": 177, "minY": 2883, "maxX": 234, "maxY": 3014, "bold": false}, + {"char": 291, "minX": 236, "minY": 2883, "maxX": 293, "maxY": 3014, "bold": false}, + {"char": 274, "minX": 295, "minY": 2883, "maxX": 352, "maxY": 3014, "bold": false}, + {"char": 276, "minX": 354, "minY": 2883, "maxX": 411, "maxY": 3014, "bold": false}, + {"char": 278, "minX": 413, "minY": 2883, "maxX": 470, "maxY": 3014, "bold": false}, + {"char": 280, "minX": 472, "minY": 2883, "maxX": 529, "maxY": 3014, "bold": false}, + {"char": 282, "minX": 531, "minY": 2883, "maxX": 588, "maxY": 3014, "bold": false}, + {"char": 285, "minX": 590, "minY": 2883, "maxX": 647, "maxY": 3014, "bold": false}, + {"char": 245, "minX": 649, "minY": 2883, "maxX": 706, "maxY": 3014, "bold": false}, + {"char": 246, "minX": 708, "minY": 2883, "maxX": 765, "maxY": 3014, "bold": false}, + {"char": 247, "minX": 767, "minY": 2883, "maxX": 824, "maxY": 3014, "bold": false}, + {"char": 248, "minX": 826, "minY": 2883, "maxX": 883, "maxY": 3014, "bold": false}, + {"char": 254, "minX": 885, "minY": 2883, "maxX": 942, "maxY": 3014, "bold": false}, + {"char": 242, "minX": 944, "minY": 2883, "maxX": 1001, "maxY": 3014, "bold": false}, + {"char": 243, "minX": 1003, "minY": 2883, "maxX": 1060, "maxY": 3014, "bold": false}, + {"char": 244, "minX": 1062, "minY": 2883, "maxX": 1119, "maxY": 3014, "bold": false}, + {"char": 203, "minX": 1121, "minY": 2883, "maxX": 1178, "maxY": 3014, "bold": false}, + {"char": 200, "minX": 1180, "minY": 2883, "maxX": 1237, "maxY": 3014, "bold": false}, + {"char": 201, "minX": 1239, "minY": 2883, "maxX": 1296, "maxY": 3014, "bold": false}, + {"char": 202, "minX": 1298, "minY": 2883, "maxX": 1355, "maxY": 3014, "bold": false}, + {"char": 103, "minX": 1357, "minY": 2883, "maxX": 1414, "maxY": 3014, "bold": false}, + {"char": 111, "minX": 1416, "minY": 2883, "maxX": 1473, "maxY": 3014, "bold": false}, + {"char": 113, "minX": 1475, "minY": 2883, "maxX": 1532, "maxY": 3014, "bold": false}, + {"char": 69, "minX": 1534, "minY": 2883, "maxX": 1591, "maxY": 3014, "bold": false}, + {"char": 48, "minX": 1593, "minY": 2883, "maxX": 1650, "maxY": 3014, "bold": false}, + {"char": 49, "minX": 1652, "minY": 2883, "maxX": 1709, "maxY": 3014, "bold": false}, + {"char": 50, "minX": 1711, "minY": 2883, "maxX": 1768, "maxY": 3014, "bold": false}, + {"char": 51, "minX": 1770, "minY": 2883, "maxX": 1827, "maxY": 3014, "bold": false}, + {"char": 52, "minX": 1829, "minY": 2883, "maxX": 1886, "maxY": 3014, "bold": false}, + {"char": 53, "minX": 1888, "minY": 2883, "maxX": 1945, "maxY": 3014, "bold": false}, + {"char": 54, "minX": 1947, "minY": 2883, "maxX": 2004, "maxY": 3014, "bold": false}, + {"char": 55, "minX": 2006, "minY": 2883, "maxX": 2063, "maxY": 3014, "bold": false}, + {"char": 56, "minX": 2065, "minY": 2883, "maxX": 2122, "maxY": 3014, "bold": false}, + {"char": 57, "minX": 2124, "minY": 2883, "maxX": 2181, "maxY": 3014, "bold": false}, + {"char": 36, "minX": 2183, "minY": 2883, "maxX": 2240, "maxY": 3014, "bold": false}, + {"char": 8800, "minX": 2242, "minY": 2883, "maxX": 2298, "maxY": 3014, "bold": false}, + {"char": 8722, "minX": 2300, "minY": 2883, "maxX": 2356, "maxY": 3014, "bold": false}, + {"char": 8199, "minX": 2358, "minY": 2883, "maxX": 2414, "maxY": 3014, "bold": false}, + {"char": 7909, "minX": 2416, "minY": 2883, "maxX": 2472, "maxY": 3014, "bold": false}, + {"char": 7911, "minX": 2474, "minY": 2883, "maxX": 2530, "maxY": 3014, "bold": false}, + {"char": 7872, "minX": 2532, "minY": 2883, "maxX": 2588, "maxY": 3014, "bold": false}, + {"char": 1277, "minX": 2590, "minY": 2883, "maxX": 2646, "maxY": 3014, "bold": false}, + {"char": 1281, "minX": 2648, "minY": 2883, "maxX": 2704, "maxY": 3014, "bold": false}, + {"char": 1286, "minX": 2706, "minY": 2883, "maxX": 2762, "maxY": 3014, "bold": false}, + {"char": 1270, "minX": 2764, "minY": 2883, "maxX": 2820, "maxY": 3014, "bold": false}, + {"char": 1209, "minX": 2822, "minY": 2883, "maxX": 2878, "maxY": 3014, "bold": false}, + {"char": 1211, "minX": 2880, "minY": 2883, "maxX": 2936, "maxY": 3014, "bold": false}, + {"char": 1220, "minX": 2938, "minY": 2883, "maxX": 2994, "maxY": 3014, "bold": false}, + {"char": 1088, "minX": 2996, "minY": 2883, "maxX": 3052, "maxY": 3014, "bold": false}, + {"char": 1073, "minX": 3054, "minY": 2883, "maxX": 3110, "maxY": 3014, "bold": false}, + {"char": 1043, "minX": 3112, "minY": 2883, "maxX": 3168, "maxY": 3014, "bold": false}, + {"char": 1027, "minX": 3170, "minY": 2883, "maxX": 3226, "maxY": 3014, "bold": false}, + {"char": 1032, "minX": 3228, "minY": 2883, "maxX": 3284, "maxY": 3014, "bold": false}, + {"char": 940, "minX": 3286, "minY": 2883, "maxX": 3342, "maxY": 3014, "bold": false}, + {"char": 945, "minX": 3344, "minY": 2883, "maxX": 3400, "maxY": 3014, "bold": false}, + {"char": 915, "minX": 3402, "minY": 2883, "maxX": 3458, "maxY": 3014, "bold": false}, + {"char": 371, "minX": 3460, "minY": 2883, "maxX": 3516, "maxY": 3014, "bold": false}, + {"char": 361, "minX": 3518, "minY": 2883, "maxX": 3574, "maxY": 3014, "bold": false}, + {"char": 363, "minX": 3576, "minY": 2883, "maxX": 3632, "maxY": 3014, "bold": false}, + {"char": 365, "minX": 3634, "minY": 2883, "maxX": 3690, "maxY": 3014, "bold": false}, + {"char": 367, "minX": 3692, "minY": 2883, "maxX": 3748, "maxY": 3014, "bold": false}, + {"char": 369, "minX": 3750, "minY": 2883, "maxX": 3806, "maxY": 3014, "bold": false}, + {"char": 328, "minX": 3808, "minY": 2883, "maxX": 3864, "maxY": 3014, "bold": false}, + {"char": 324, "minX": 3866, "minY": 2883, "maxX": 3922, "maxY": 3014, "bold": false}, + {"char": 326, "minX": 3924, "minY": 2883, "maxX": 3980, "maxY": 3014, "bold": false}, + {"char": 308, "minX": 3982, "minY": 2883, "maxX": 4038, "maxY": 3014, "bold": false}, + {"char": 293, "minX": 4040, "minY": 2883, "maxX": 4096, "maxY": 3014, "bold": false}, + {"char": 8229, "minX": 0, "minY": 3016, "maxX": 54, "maxY": 3152, "bold": true}, + {"char": 967, "minX": 56, "minY": 3016, "maxX": 110, "maxY": 3152, "bold": true}, + {"char": 378, "minX": 112, "minY": 3016, "maxX": 166, "maxY": 3152, "bold": true}, + {"char": 380, "minX": 168, "minY": 3016, "maxX": 222, "maxY": 3152, "bold": true}, + {"char": 382, "minX": 224, "minY": 3016, "maxX": 278, "maxY": 3152, "bold": true}, + {"char": 122, "minX": 280, "minY": 3016, "maxX": 334, "maxY": 3152, "bold": true}, + {"char": 249, "minX": 336, "minY": 3016, "maxX": 392, "maxY": 3147, "bold": false}, + {"char": 250, "minX": 394, "minY": 3016, "maxX": 450, "maxY": 3147, "bold": false}, + {"char": 251, "minX": 452, "minY": 3016, "maxX": 508, "maxY": 3147, "bold": false}, + {"char": 252, "minX": 510, "minY": 3016, "maxX": 566, "maxY": 3147, "bold": false}, + {"char": 241, "minX": 568, "minY": 3016, "maxX": 624, "maxY": 3147, "bold": false}, + {"char": 162, "minX": 626, "minY": 3016, "maxX": 682, "maxY": 3147, "bold": false}, + {"char": 117, "minX": 684, "minY": 3016, "maxX": 740, "maxY": 3147, "bold": false}, + {"char": 104, "minX": 742, "minY": 3016, "maxX": 798, "maxY": 3147, "bold": false}, + {"char": 110, "minX": 800, "minY": 3016, "maxX": 856, "maxY": 3147, "bold": false}, + {"char": 112, "minX": 858, "minY": 3016, "maxX": 914, "maxY": 3147, "bold": false}, + {"char": 98, "minX": 916, "minY": 3016, "maxX": 972, "maxY": 3147, "bold": false}, + {"char": 100, "minX": 974, "minY": 3016, "maxX": 1030, "maxY": 3147, "bold": false}, + {"char": 74, "minX": 1032, "minY": 3016, "maxX": 1088, "maxY": 3147, "bold": false}, + {"char": 61, "minX": 1090, "minY": 3016, "maxX": 1146, "maxY": 3147, "bold": false}, + {"char": 43, "minX": 1148, "minY": 3016, "maxX": 1204, "maxY": 3147, "bold": false}, + {"char": 8355, "minX": 1206, "minY": 3016, "maxX": 1261, "maxY": 3147, "bold": false}, + {"char": 8224, "minX": 1263, "minY": 3016, "maxX": 1318, "maxY": 3147, "bold": false}, + {"char": 7847, "minX": 1320, "minY": 3016, "maxX": 1375, "maxY": 3147, "bold": false}, + {"char": 1297, "minX": 1377, "minY": 3016, "maxX": 1432, "maxY": 3147, "bold": false}, + {"char": 1269, "minX": 1434, "minY": 3016, "maxX": 1489, "maxY": 3147, "bold": false}, + {"char": 1228, "minX": 1491, "minY": 3016, "maxX": 1546, "maxY": 3147, "bold": false}, + {"char": 1168, "minX": 1548, "minY": 3016, "maxX": 1603, "maxY": 3147, "bold": false}, + {"char": 1127, "minX": 1605, "minY": 3016, "maxX": 1660, "maxY": 3147, "bold": false}, + {"char": 1116, "minX": 1662, "minY": 3016, "maxX": 1717, "maxY": 3147, "bold": false}, + {"char": 1095, "minX": 1719, "minY": 3016, "maxX": 1774, "maxY": 3147, "bold": false}, + {"char": 1100, "minX": 1776, "minY": 3016, "maxX": 1831, "maxY": 3147, "bold": false}, + {"char": 1103, "minX": 1833, "minY": 3016, "maxX": 1888, "maxY": 3147, "bold": false}, + {"char": 1082, "minX": 1890, "minY": 3016, "maxX": 1945, "maxY": 3147, "bold": false}, + {"char": 965, "minX": 1947, "minY": 3016, "maxX": 2002, "maxY": 3147, "bold": false}, + {"char": 971, "minX": 2004, "minY": 3016, "maxX": 2059, "maxY": 3147, "bold": false}, + {"char": 973, "minX": 2061, "minY": 3016, "maxX": 2116, "maxY": 3147, "bold": false}, + {"char": 955, "minX": 2118, "minY": 3016, "maxX": 2173, "maxY": 3147, "bold": false}, + {"char": 941, "minX": 2175, "minY": 3016, "maxX": 2230, "maxY": 3147, "bold": false}, + {"char": 944, "minX": 2232, "minY": 3016, "maxX": 2287, "maxY": 3147, "bold": false}, + {"char": 949, "minX": 2289, "minY": 3016, "maxX": 2344, "maxY": 3147, "bold": false}, + {"char": 329, "minX": 2346, "minY": 3016, "maxX": 2401, "maxY": 3147, "bold": false}, + {"char": 321, "minX": 2403, "minY": 3016, "maxX": 2458, "maxY": 3147, "bold": false}, + {"char": 295, "minX": 2460, "minY": 3016, "maxX": 2515, "maxY": 3147, "bold": false}, + {"char": 172, "minX": 2517, "minY": 3016, "maxX": 2572, "maxY": 3147, "bold": false}, + {"char": 70, "minX": 2574, "minY": 3016, "maxX": 2629, "maxY": 3147, "bold": false}, + {"char": 8252, "minX": 2631, "minY": 3016, "maxX": 2685, "maxY": 3147, "bold": false}, + {"char": 7877, "minX": 2687, "minY": 3016, "maxX": 2741, "maxY": 3147, "bold": false}, + {"char": 7879, "minX": 2743, "minY": 3016, "maxX": 2797, "maxY": 3147, "bold": false}, + {"char": 7863, "minX": 2799, "minY": 3016, "maxX": 2853, "maxY": 3147, "bold": false}, + {"char": 7865, "minX": 2855, "minY": 3016, "maxX": 2909, "maxY": 3147, "bold": false}, + {"char": 7867, "minX": 2911, "minY": 3016, "maxX": 2965, "maxY": 3147, "bold": false}, + {"char": 7869, "minX": 2967, "minY": 3016, "maxX": 3021, "maxY": 3147, "bold": false}, + {"char": 7871, "minX": 3023, "minY": 3016, "maxX": 3077, "maxY": 3147, "bold": false}, + {"char": 7875, "minX": 3079, "minY": 3016, "maxX": 3133, "maxY": 3147, "bold": false}, + {"char": 7849, "minX": 3135, "minY": 3016, "maxX": 3189, "maxY": 3147, "bold": false}, + {"char": 7851, "minX": 3191, "minY": 3016, "maxX": 3245, "maxY": 3147, "bold": false}, + {"char": 7853, "minX": 3247, "minY": 3016, "maxX": 3301, "maxY": 3147, "bold": false}, + {"char": 7855, "minX": 3303, "minY": 3016, "maxX": 3357, "maxY": 3147, "bold": false}, + {"char": 7857, "minX": 3359, "minY": 3016, "maxX": 3413, "maxY": 3147, "bold": false}, + {"char": 7859, "minX": 3415, "minY": 3016, "maxX": 3469, "maxY": 3147, "bold": false}, + {"char": 7861, "minX": 3471, "minY": 3016, "maxX": 3525, "maxY": 3147, "bold": false}, + {"char": 7841, "minX": 3527, "minY": 3016, "maxX": 3581, "maxY": 3147, "bold": false}, + {"char": 7843, "minX": 3583, "minY": 3016, "maxX": 3637, "maxY": 3147, "bold": false}, + {"char": 7845, "minX": 3639, "minY": 3016, "maxX": 3693, "maxY": 3147, "bold": false}, + {"char": 7681, "minX": 3695, "minY": 3016, "maxX": 3749, "maxY": 3147, "bold": false}, + {"char": 1235, "minX": 3751, "minY": 3016, "maxX": 3805, "maxY": 3147, "bold": false}, + {"char": 1239, "minX": 3807, "minY": 3016, "maxX": 3861, "maxY": 3147, "bold": false}, + {"char": 1233, "minX": 3863, "minY": 3016, "maxX": 3917, "maxY": 3147, "bold": false}, + {"char": 1165, "minX": 3919, "minY": 3016, "maxX": 3973, "maxY": 3147, "bold": false}, + {"char": 1170, "minX": 3975, "minY": 3016, "maxX": 4029, "maxY": 3147, "bold": false}, + {"char": 1153, "minX": 4031, "minY": 3016, "maxX": 4085, "maxY": 3147, "bold": false}, + {"char": 1197, "minX": 0, "minY": 3154, "maxX": 53, "maxY": 3290, "bold": true}, + {"char": 1135, "minX": 55, "minY": 3154, "maxX": 108, "maxY": 3290, "bold": true}, + {"char": 1090, "minX": 110, "minY": 3154, "maxX": 163, "maxY": 3290, "bold": true}, + {"char": 957, "minX": 165, "minY": 3154, "maxX": 218, "maxY": 3290, "bold": true}, + {"char": 710, "minX": 220, "minY": 3154, "maxX": 273, "maxY": 3290, "bold": true}, + {"char": 191, "minX": 275, "minY": 3154, "maxX": 328, "maxY": 3290, "bold": true}, + {"char": 182, "minX": 330, "minY": 3154, "maxX": 383, "maxY": 3290, "bold": true}, + {"char": 187, "minX": 385, "minY": 3154, "maxX": 438, "maxY": 3290, "bold": true}, + {"char": 171, "minX": 440, "minY": 3154, "maxX": 493, "maxY": 3290, "bold": true}, + {"char": 118, "minX": 495, "minY": 3154, "maxX": 548, "maxY": 3290, "bold": true}, + {"char": 63, "minX": 550, "minY": 3154, "maxX": 603, "maxY": 3290, "bold": true}, + {"char": 713, "minX": 605, "minY": 3154, "maxX": 657, "maxY": 3290, "bold": true}, + {"char": 732, "minX": 659, "minY": 3154, "maxX": 711, "maxY": 3290, "bold": true}, + {"char": 175, "minX": 713, "minY": 3154, "maxX": 765, "maxY": 3290, "bold": true}, + {"char": 1123, "minX": 767, "minY": 3154, "maxX": 821, "maxY": 3285, "bold": false}, + {"char": 1104, "minX": 823, "minY": 3154, "maxX": 877, "maxY": 3285, "bold": false}, + {"char": 1105, "minX": 879, "minY": 3154, "maxX": 933, "maxY": 3285, "bold": false}, + {"char": 1072, "minX": 935, "minY": 3154, "maxX": 989, "maxY": 3285, "bold": false}, + {"char": 1077, "minX": 991, "minY": 3154, "maxX": 1045, "maxY": 3285, "bold": false}, + {"char": 507, "minX": 1047, "minY": 3154, "maxX": 1101, "maxY": 3285, "bold": false}, + {"char": 315, "minX": 1103, "minY": 3154, "maxX": 1157, "maxY": 3285, "bold": false}, + {"char": 317, "minX": 1159, "minY": 3154, "maxX": 1213, "maxY": 3285, "bold": false}, + {"char": 319, "minX": 1215, "minY": 3154, "maxX": 1269, "maxY": 3285, "bold": false}, + {"char": 313, "minX": 1271, "minY": 3154, "maxX": 1325, "maxY": 3285, "bold": false}, + {"char": 275, "minX": 1327, "minY": 3154, "maxX": 1381, "maxY": 3285, "bold": false}, + {"char": 277, "minX": 1383, "minY": 3154, "maxX": 1437, "maxY": 3285, "bold": false}, + {"char": 279, "minX": 1439, "minY": 3154, "maxX": 1493, "maxY": 3285, "bold": false}, + {"char": 281, "minX": 1495, "minY": 3154, "maxX": 1549, "maxY": 3285, "bold": false}, + {"char": 283, "minX": 1551, "minY": 3154, "maxX": 1605, "maxY": 3285, "bold": false}, + {"char": 259, "minX": 1607, "minY": 3154, "maxX": 1661, "maxY": 3285, "bold": false}, + {"char": 261, "minX": 1663, "minY": 3154, "maxX": 1717, "maxY": 3285, "bold": false}, + {"char": 257, "minX": 1719, "minY": 3154, "maxX": 1773, "maxY": 3285, "bold": false}, + {"char": 232, "minX": 1775, "minY": 3154, "maxX": 1829, "maxY": 3285, "bold": false}, + {"char": 233, "minX": 1831, "minY": 3154, "maxX": 1885, "maxY": 3285, "bold": false}, + {"char": 234, "minX": 1887, "minY": 3154, "maxX": 1941, "maxY": 3285, "bold": false}, + {"char": 235, "minX": 1943, "minY": 3154, "maxX": 1997, "maxY": 3285, "bold": false}, + {"char": 224, "minX": 1999, "minY": 3154, "maxX": 2053, "maxY": 3285, "bold": false}, + {"char": 225, "minX": 2055, "minY": 3154, "maxX": 2109, "maxY": 3285, "bold": false}, + {"char": 226, "minX": 2111, "minY": 3154, "maxX": 2165, "maxY": 3285, "bold": false}, + {"char": 227, "minX": 2167, "minY": 3154, "maxX": 2221, "maxY": 3285, "bold": false}, + {"char": 228, "minX": 2223, "minY": 3154, "maxX": 2277, "maxY": 3285, "bold": false}, + {"char": 229, "minX": 2279, "minY": 3154, "maxX": 2333, "maxY": 3285, "bold": false}, + {"char": 177, "minX": 2335, "minY": 3154, "maxX": 2389, "maxY": 3285, "bold": false}, + {"char": 101, "minX": 2391, "minY": 3154, "maxX": 2445, "maxY": 3285, "bold": false}, + {"char": 97, "minX": 2447, "minY": 3154, "maxX": 2501, "maxY": 3285, "bold": false}, + {"char": 76, "minX": 2503, "minY": 3154, "maxX": 2557, "maxY": 3285, "bold": false}, + {"char": 8377, "minX": 2559, "minY": 3154, "maxX": 2612, "maxY": 3285, "bold": false}, + {"char": 1287, "minX": 2614, "minY": 3154, "maxX": 2667, "maxY": 3285, "bold": false}, + {"char": 1261, "minX": 2669, "minY": 3154, "maxX": 2722, "maxY": 3285, "bold": false}, + {"char": 1241, "minX": 2724, "minY": 3154, "maxX": 2777, "maxY": 3285, "bold": false}, + {"char": 1243, "minX": 2779, "minY": 3154, "maxX": 2832, "maxY": 3285, "bold": false}, + {"char": 1203, "minX": 2834, "minY": 3154, "maxX": 2887, "maxY": 3285, "bold": false}, + {"char": 1143, "minX": 2889, "minY": 3154, "maxX": 2942, "maxY": 3285, "bold": false}, + {"char": 1108, "minX": 2944, "minY": 3154, "maxX": 2997, "maxY": 3285, "bold": false}, + {"char": 1101, "minX": 2999, "minY": 3154, "maxX": 3052, "maxY": 3285, "bold": false}, + {"char": 962, "minX": 3054, "minY": 3154, "maxX": 3107, "maxY": 3285, "bold": false}, + {"char": 901, "minX": 3109, "minY": 3154, "maxX": 3162, "maxY": 3285, "bold": false}, + {"char": 601, "minX": 3164, "minY": 3154, "maxX": 3217, "maxY": 3285, "bold": false}, + {"char": 215, "minX": 3219, "minY": 3154, "maxX": 3272, "maxY": 3285, "bold": false}, + {"char": 165, "minX": 3274, "minY": 3154, "maxX": 3327, "maxY": 3285, "bold": false}, + {"char": 8805, "minX": 3329, "minY": 3154, "maxX": 3381, "maxY": 3285, "bold": false}, + {"char": 1293, "minX": 3383, "minY": 3154, "maxX": 3435, "maxY": 3285, "bold": false}, + {"char": 1195, "minX": 3437, "minY": 3154, "maxX": 3489, "maxY": 3285, "bold": false}, + {"char": 1173, "minX": 3491, "minY": 3154, "maxX": 3543, "maxY": 3285, "bold": false}, + {"char": 1134, "minX": 3545, "minY": 3154, "maxX": 3597, "maxY": 3285, "bold": false}, + {"char": 1109, "minX": 3599, "minY": 3154, "maxX": 3651, "maxY": 3285, "bold": false}, + {"char": 1106, "minX": 3653, "minY": 3154, "maxX": 3705, "maxY": 3285, "bold": false}, + {"char": 1089, "minX": 3707, "minY": 3154, "maxX": 3759, "maxY": 3285, "bold": false}, + {"char": 964, "minX": 3761, "minY": 3154, "maxX": 3813, "maxY": 3285, "bold": false}, + {"char": 537, "minX": 3815, "minY": 3154, "maxX": 3867, "maxY": 3285, "bold": false}, + {"char": 347, "minX": 3869, "minY": 3154, "maxX": 3921, "maxY": 3285, "bold": false}, + {"char": 349, "minX": 3923, "minY": 3154, "maxX": 3975, "maxY": 3285, "bold": false}, + {"char": 351, "minX": 3977, "minY": 3154, "maxX": 4029, "maxY": 3285, "bold": false}, + {"char": 353, "minX": 4031, "minY": 3154, "maxX": 4083, "maxY": 3285, "bold": false}, + {"char": 311, "minX": 0, "minY": 3292, "maxX": 52, "maxY": 3423, "bold": false}, + {"char": 263, "minX": 54, "minY": 3292, "maxX": 106, "maxY": 3423, "bold": false}, + {"char": 265, "minX": 108, "minY": 3292, "maxX": 160, "maxY": 3423, "bold": false}, + {"char": 267, "minX": 162, "minY": 3292, "maxX": 214, "maxY": 3423, "bold": false}, + {"char": 269, "minX": 216, "minY": 3292, "maxX": 268, "maxY": 3423, "bold": false}, + {"char": 231, "minX": 270, "minY": 3292, "maxX": 322, "maxY": 3423, "bold": false}, + {"char": 115, "minX": 324, "minY": 3292, "maxX": 376, "maxY": 3423, "bold": false}, + {"char": 107, "minX": 378, "minY": 3292, "maxX": 430, "maxY": 3423, "bold": false}, + {"char": 99, "minX": 432, "minY": 3292, "maxX": 484, "maxY": 3423, "bold": false}, + {"char": 62, "minX": 486, "minY": 3292, "maxX": 538, "maxY": 3423, "bold": false}, + {"char": 8804, "minX": 540, "minY": 3292, "maxX": 591, "maxY": 3423, "bold": false}, + {"char": 9674, "minX": 593, "minY": 3292, "maxX": 644, "maxY": 3423, "bold": false}, + {"char": 8194, "minX": 646, "minY": 3292, "maxX": 697, "maxY": 3423, "bold": false}, + {"char": 8192, "minX": 699, "minY": 3292, "maxX": 750, "maxY": 3423, "bold": false}, + {"char": 1247, "minX": 752, "minY": 3292, "maxX": 803, "maxY": 3423, "bold": false}, + {"char": 1199, "minX": 805, "minY": 3292, "maxX": 856, "maxY": 3423, "bold": false}, + {"char": 1201, "minX": 858, "minY": 3292, "maxX": 909, "maxY": 3423, "bold": false}, + {"char": 1177, "minX": 911, "minY": 3292, "maxX": 962, "maxY": 3423, "bold": false}, + {"char": 1141, "minX": 964, "minY": 3292, "maxX": 1015, "maxY": 3423, "bold": false}, + {"char": 1115, "minX": 1017, "minY": 3292, "maxX": 1068, "maxY": 3423, "bold": false}, + {"char": 1079, "minX": 1070, "minY": 3292, "maxX": 1121, "maxY": 3423, "bold": false}, + {"char": 958, "minX": 1123, "minY": 3292, "maxX": 1174, "maxY": 3423, "bold": false}, + {"char": 947, "minX": 1176, "minY": 3292, "maxX": 1227, "maxY": 3423, "bold": false}, + {"char": 950, "minX": 1229, "minY": 3292, "maxX": 1280, "maxY": 3423, "bold": false}, + {"char": 307, "minX": 1282, "minY": 3292, "maxX": 1333, "maxY": 3423, "bold": false}, + {"char": 60, "minX": 1335, "minY": 3292, "maxX": 1386, "maxY": 3423, "bold": false}, + {"char": 1279, "minX": 1388, "minY": 3292, "maxX": 1438, "maxY": 3423, "bold": false}, + {"char": 1093, "minX": 1440, "minY": 3292, "maxX": 1490, "maxY": 3423, "bold": false}, + {"char": 967, "minX": 1492, "minY": 3292, "maxX": 1542, "maxY": 3423, "bold": false}, + {"char": 378, "minX": 1544, "minY": 3292, "maxX": 1594, "maxY": 3423, "bold": false}, + {"char": 380, "minX": 1596, "minY": 3292, "maxX": 1646, "maxY": 3423, "bold": false}, + {"char": 382, "minX": 1648, "minY": 3292, "maxX": 1698, "maxY": 3423, "bold": false}, + {"char": 120, "minX": 1700, "minY": 3292, "maxX": 1750, "maxY": 3423, "bold": false}, + {"char": 122, "minX": 1752, "minY": 3292, "maxX": 1802, "maxY": 3423, "bold": false}, + {"char": 8467, "minX": 1804, "minY": 3292, "maxX": 1853, "maxY": 3423, "bold": false}, + {"char": 7923, "minX": 1855, "minY": 3292, "maxX": 1904, "maxY": 3423, "bold": false}, + {"char": 7925, "minX": 1906, "minY": 3292, "maxX": 1955, "maxY": 3423, "bold": false}, + {"char": 7927, "minX": 1957, "minY": 3292, "maxX": 2006, "maxY": 3423, "bold": false}, + {"char": 7929, "minX": 2008, "minY": 3292, "maxX": 2057, "maxY": 3423, "bold": false}, + {"char": 1263, "minX": 2059, "minY": 3292, "maxX": 2108, "maxY": 3423, "bold": false}, + {"char": 1265, "minX": 2110, "minY": 3292, "maxX": 2159, "maxY": 3423, "bold": false}, + {"char": 1267, "minX": 2161, "minY": 3292, "maxX": 2210, "maxY": 3423, "bold": false}, + {"char": 1197, "minX": 2212, "minY": 3292, "maxX": 2261, "maxY": 3423, "bold": false}, + {"char": 1135, "minX": 2263, "minY": 3292, "maxX": 2312, "maxY": 3423, "bold": false}, + {"char": 1118, "minX": 2314, "minY": 3292, "maxX": 2363, "maxY": 3423, "bold": false}, + {"char": 1090, "minX": 2365, "minY": 3292, "maxX": 2414, "maxY": 3423, "bold": false}, + {"char": 1091, "minX": 2416, "minY": 3292, "maxX": 2465, "maxY": 3423, "bold": false}, + {"char": 957, "minX": 2467, "minY": 3292, "maxX": 2516, "maxY": 3423, "bold": false}, + {"char": 710, "minX": 2518, "minY": 3292, "maxX": 2567, "maxY": 3423, "bold": false}, + {"char": 375, "minX": 2569, "minY": 3292, "maxX": 2618, "maxY": 3423, "bold": false}, + {"char": 253, "minX": 2620, "minY": 3292, "maxX": 2669, "maxY": 3423, "bold": false}, + {"char": 255, "minX": 2671, "minY": 3292, "maxX": 2720, "maxY": 3423, "bold": false}, + {"char": 191, "minX": 2722, "minY": 3292, "maxX": 2771, "maxY": 3423, "bold": false}, + {"char": 182, "minX": 2773, "minY": 3292, "maxX": 2822, "maxY": 3423, "bold": false}, + {"char": 187, "minX": 2824, "minY": 3292, "maxX": 2873, "maxY": 3423, "bold": false}, + {"char": 171, "minX": 2875, "minY": 3292, "maxX": 2924, "maxY": 3423, "bold": false}, + {"char": 118, "minX": 2926, "minY": 3292, "maxX": 2975, "maxY": 3423, "bold": false}, + {"char": 121, "minX": 2977, "minY": 3292, "maxX": 3026, "maxY": 3423, "bold": false}, + {"char": 63, "minX": 3028, "minY": 3292, "maxX": 3077, "maxY": 3423, "bold": false}, + {"char": 713, "minX": 3079, "minY": 3292, "maxX": 3127, "maxY": 3423, "bold": false}, + {"char": 732, "minX": 3129, "minY": 3292, "maxX": 3177, "maxY": 3423, "bold": false}, + {"char": 175, "minX": 3179, "minY": 3292, "maxX": 3227, "maxY": 3423, "bold": false}, + {"char": 711, "minX": 3229, "minY": 3292, "maxX": 3275, "maxY": 3423, "bold": false}, + {"char": 186, "minX": 3277, "minY": 3292, "maxX": 3323, "maxY": 3423, "bold": false}, + {"char": 8260, "minX": 3325, "minY": 3292, "maxX": 3370, "maxY": 3423, "bold": false}, + {"char": 8215, "minX": 3372, "minY": 3292, "maxX": 3417, "maxY": 3423, "bold": false}, + {"char": 1169, "minX": 3419, "minY": 3292, "maxX": 3464, "maxY": 3423, "bold": false}, + {"char": 170, "minX": 3466, "minY": 3292, "maxX": 3511, "maxY": 3423, "bold": false}, + {"char": 95, "minX": 3513, "minY": 3292, "maxX": 3558, "maxY": 3423, "bold": false}, + {"char": 1171, "minX": 3560, "minY": 3292, "maxX": 3604, "maxY": 3423, "bold": false}, + {"char": 728, "minX": 3606, "minY": 3292, "maxX": 3650, "maxY": 3423, "bold": false}, + {"char": 168, "minX": 3652, "minY": 3292, "maxX": 3696, "maxY": 3423, "bold": false}, + {"char": 42, "minX": 3698, "minY": 3292, "maxX": 3742, "maxY": 3423, "bold": false}, + {"char": 94, "minX": 3744, "minY": 3292, "maxX": 3787, "maxY": 3423, "bold": false}, + {"char": 1271, "minX": 3789, "minY": 3292, "maxX": 3831, "maxY": 3423, "bold": false}, + {"char": 1107, "minX": 3833, "minY": 3292, "maxX": 3875, "maxY": 3423, "bold": false}, + {"char": 1075, "minX": 3877, "minY": 3292, "maxX": 3919, "maxY": 3423, "bold": false}, + {"char": 912, "minX": 3921, "minY": 3292, "maxX": 3963, "maxY": 3423, "bold": false}, + {"char": 92, "minX": 3965, "minY": 3292, "maxX": 4007, "maxY": 3423, "bold": false}, + {"char": 783, "minX": 4009, "minY": 3292, "maxX": 4050, "maxY": 3423, "bold": false}, + {"char": 47, "minX": 4052, "minY": 3292, "maxX": 4092, "maxY": 3423, "bold": false}, + {"char": 1275, "minX": 0, "minY": 3425, "maxX": 50, "maxY": 3561, "bold": true}, + {"char": 783, "minX": 52, "minY": 3425, "maxX": 102, "maxY": 3561, "bold": true}, + {"char": 711, "minX": 104, "minY": 3425, "maxX": 154, "maxY": 3561, "bold": true}, + {"char": 186, "minX": 156, "minY": 3425, "maxX": 206, "maxY": 3561, "bold": true}, + {"char": 8260, "minX": 208, "minY": 3425, "maxX": 257, "maxY": 3561, "bold": true}, + {"char": 8215, "minX": 259, "minY": 3425, "maxX": 308, "maxY": 3561, "bold": true}, + {"char": 1169, "minX": 310, "minY": 3425, "maxX": 359, "maxY": 3561, "bold": true}, + {"char": 170, "minX": 361, "minY": 3425, "maxX": 410, "maxY": 3561, "bold": true}, + {"char": 95, "minX": 412, "minY": 3425, "maxX": 461, "maxY": 3561, "bold": true}, + {"char": 728, "minX": 463, "minY": 3425, "maxX": 511, "maxY": 3561, "bold": true}, + {"char": 168, "minX": 513, "minY": 3425, "maxX": 561, "maxY": 3561, "bold": true}, + {"char": 42, "minX": 563, "minY": 3425, "maxX": 611, "maxY": 3561, "bold": true}, + {"char": 94, "minX": 613, "minY": 3425, "maxX": 660, "maxY": 3561, "bold": true}, + {"char": 8319, "minX": 662, "minY": 3425, "maxX": 708, "maxY": 3561, "bold": true}, + {"char": 1271, "minX": 710, "minY": 3425, "maxX": 756, "maxY": 3561, "bold": true}, + {"char": 1107, "minX": 758, "minY": 3425, "maxX": 804, "maxY": 3561, "bold": true}, + {"char": 1075, "minX": 806, "minY": 3425, "maxX": 852, "maxY": 3561, "bold": true}, + {"char": 912, "minX": 854, "minY": 3425, "maxX": 900, "maxY": 3561, "bold": true}, + {"char": 92, "minX": 902, "minY": 3425, "maxX": 948, "maxY": 3561, "bold": true}, + {"char": 47, "minX": 950, "minY": 3425, "maxX": 994, "maxY": 3561, "bold": true}, + {"char": 8747, "minX": 996, "minY": 3425, "maxX": 1039, "maxY": 3561, "bold": true}, + {"char": 8221, "minX": 1041, "minY": 3425, "maxX": 1084, "maxY": 3561, "bold": true}, + {"char": 733, "minX": 1086, "minY": 3425, "maxX": 1129, "maxY": 3561, "bold": true}, + {"char": 8220, "minX": 1131, "minY": 3425, "maxX": 1173, "maxY": 3561, "bold": true}, + {"char": 8222, "minX": 1175, "minY": 3425, "maxX": 1217, "maxY": 3561, "bold": true}, + {"char": 1156, "minX": 1219, "minY": 3425, "maxX": 1261, "maxY": 3561, "bold": true}, + {"char": 402, "minX": 1263, "minY": 3425, "maxX": 1305, "maxY": 3561, "bold": true}, + {"char": 176, "minX": 1307, "minY": 3425, "maxX": 1349, "maxY": 3561, "bold": true}, + {"char": 8308, "minX": 1351, "minY": 3425, "maxX": 1392, "maxY": 3561, "bold": true}, + {"char": 1155, "minX": 1394, "minY": 3425, "maxX": 1435, "maxY": 3561, "bold": true}, + {"char": 771, "minX": 1437, "minY": 3425, "maxX": 1478, "maxY": 3561, "bold": true}, + {"char": 296, "minX": 1480, "minY": 3425, "maxX": 1521, "maxY": 3561, "bold": true}, + {"char": 297, "minX": 1523, "minY": 3425, "maxX": 1564, "maxY": 3561, "bold": true}, + {"char": 178, "minX": 1566, "minY": 3425, "maxX": 1607, "maxY": 3561, "bold": true}, + {"char": 179, "minX": 1609, "minY": 3425, "maxX": 1650, "maxY": 3561, "bold": true}, + {"char": 185, "minX": 1652, "minY": 3425, "maxX": 1693, "maxY": 3561, "bold": true}, + {"char": 1111, "minX": 1695, "minY": 3425, "maxX": 1735, "maxY": 3561, "bold": true}, + {"char": 1031, "minX": 1737, "minY": 3425, "maxX": 1777, "maxY": 3561, "bold": true}, + {"char": 970, "minX": 1779, "minY": 3425, "maxX": 1819, "maxY": 3561, "bold": true}, + {"char": 938, "minX": 1821, "minY": 3425, "maxX": 1861, "maxY": 3561, "bold": true}, + {"char": 496, "minX": 1863, "minY": 3425, "maxX": 1903, "maxY": 3561, "bold": true}, + {"char": 320, "minX": 1905, "minY": 3425, "maxX": 1945, "maxY": 3561, "bold": true}, + {"char": 239, "minX": 1947, "minY": 3425, "maxX": 1987, "maxY": 3561, "bold": true}, + {"char": 207, "minX": 1989, "minY": 3425, "maxX": 2029, "maxY": 3561, "bold": true}, + {"char": 8226, "minX": 2031, "minY": 3425, "maxX": 2070, "maxY": 3561, "bold": true}, + {"char": 906, "minX": 2072, "minY": 3425, "maxX": 2111, "maxY": 3561, "bold": true}, + {"char": 357, "minX": 2113, "minY": 3425, "maxX": 2152, "maxY": 3561, "bold": true}, + {"char": 343, "minX": 2154, "minY": 3425, "maxX": 2193, "maxY": 3561, "bold": true}, + {"char": 345, "minX": 2195, "minY": 3425, "maxX": 2234, "maxY": 3561, "bold": true}, + {"char": 341, "minX": 2236, "minY": 3425, "maxX": 2275, "maxY": 3561, "bold": true}, + {"char": 298, "minX": 2277, "minY": 3425, "maxX": 2316, "maxY": 3561, "bold": true}, + {"char": 299, "minX": 2318, "minY": 3425, "maxX": 2357, "maxY": 3561, "bold": true}, + {"char": 102, "minX": 2359, "minY": 3425, "maxX": 2398, "maxY": 3561, "bold": true}, + {"char": 114, "minX": 2400, "minY": 3425, "maxX": 2439, "maxY": 3561, "bold": true}, + {"char": 40, "minX": 2441, "minY": 3425, "maxX": 2480, "maxY": 3561, "bold": true}, + {"char": 41, "minX": 2482, "minY": 3425, "maxX": 2521, "maxY": 3561, "bold": true}, + {"char": 8196, "minX": 2523, "minY": 3425, "maxX": 2561, "maxY": 3561, "bold": true}, + {"char": 730, "minX": 2563, "minY": 3425, "maxX": 2601, "maxY": 3561, "bold": true}, + {"char": 359, "minX": 2603, "minY": 3425, "maxX": 2641, "maxY": 3561, "bold": true}, + {"char": 309, "minX": 2643, "minY": 3425, "maxX": 2681, "maxY": 3561, "bold": true}, + {"char": 238, "minX": 2683, "minY": 3425, "maxX": 2721, "maxY": 3561, "bold": true}, + {"char": 206, "minX": 2723, "minY": 3425, "maxX": 2761, "maxY": 3561, "bold": true}, + {"char": 123, "minX": 2763, "minY": 3425, "maxX": 2801, "maxY": 3561, "bold": true}, + {"char": 125, "minX": 2803, "minY": 3425, "maxX": 2841, "maxY": 3561, "bold": true}, + {"char": 8747, "minX": 2843, "minY": 3425, "maxX": 2882, "maxY": 3556, "bold": false}, + {"char": 8221, "minX": 2884, "minY": 3425, "maxX": 2923, "maxY": 3556, "bold": false}, + {"char": 733, "minX": 2925, "minY": 3425, "maxX": 2964, "maxY": 3556, "bold": false}, + {"char": 8220, "minX": 2966, "minY": 3425, "maxX": 3004, "maxY": 3556, "bold": false}, + {"char": 8222, "minX": 3006, "minY": 3425, "maxX": 3044, "maxY": 3556, "bold": false}, + {"char": 1156, "minX": 3046, "minY": 3425, "maxX": 3084, "maxY": 3556, "bold": false}, + {"char": 402, "minX": 3086, "minY": 3425, "maxX": 3124, "maxY": 3556, "bold": false}, + {"char": 176, "minX": 3126, "minY": 3425, "maxX": 3164, "maxY": 3556, "bold": false}, + {"char": 8308, "minX": 3166, "minY": 3425, "maxX": 3203, "maxY": 3556, "bold": false}, + {"char": 1155, "minX": 3205, "minY": 3425, "maxX": 3242, "maxY": 3556, "bold": false}, + {"char": 771, "minX": 3244, "minY": 3425, "maxX": 3281, "maxY": 3556, "bold": false}, + {"char": 296, "minX": 3283, "minY": 3425, "maxX": 3320, "maxY": 3556, "bold": false}, + {"char": 297, "minX": 3322, "minY": 3425, "maxX": 3359, "maxY": 3556, "bold": false}, + {"char": 178, "minX": 3361, "minY": 3425, "maxX": 3398, "maxY": 3556, "bold": false}, + {"char": 179, "minX": 3400, "minY": 3425, "maxX": 3437, "maxY": 3556, "bold": false}, + {"char": 185, "minX": 3439, "minY": 3425, "maxX": 3476, "maxY": 3556, "bold": false}, + {"char": 1111, "minX": 3478, "minY": 3425, "maxX": 3514, "maxY": 3556, "bold": false}, + {"char": 1031, "minX": 3516, "minY": 3425, "maxX": 3552, "maxY": 3556, "bold": false}, + {"char": 970, "minX": 3554, "minY": 3425, "maxX": 3590, "maxY": 3556, "bold": false}, + {"char": 938, "minX": 3592, "minY": 3425, "maxX": 3628, "maxY": 3556, "bold": false}, + {"char": 496, "minX": 3630, "minY": 3425, "maxX": 3666, "maxY": 3556, "bold": false}, + {"char": 320, "minX": 3668, "minY": 3425, "maxX": 3704, "maxY": 3556, "bold": false}, + {"char": 239, "minX": 3706, "minY": 3425, "maxX": 3742, "maxY": 3556, "bold": false}, + {"char": 207, "minX": 3744, "minY": 3425, "maxX": 3780, "maxY": 3556, "bold": false}, + {"char": 8226, "minX": 3782, "minY": 3425, "maxX": 3817, "maxY": 3556, "bold": false}, + {"char": 906, "minX": 3819, "minY": 3425, "maxX": 3854, "maxY": 3556, "bold": false}, + {"char": 357, "minX": 3856, "minY": 3425, "maxX": 3891, "maxY": 3556, "bold": false}, + {"char": 343, "minX": 3893, "minY": 3425, "maxX": 3928, "maxY": 3556, "bold": false}, + {"char": 345, "minX": 3930, "minY": 3425, "maxX": 3965, "maxY": 3556, "bold": false}, + {"char": 341, "minX": 3967, "minY": 3425, "maxX": 4002, "maxY": 3556, "bold": false}, + {"char": 298, "minX": 4004, "minY": 3425, "maxX": 4039, "maxY": 3556, "bold": false}, + {"char": 299, "minX": 4041, "minY": 3425, "maxX": 4076, "maxY": 3556, "bold": false}, + {"char": 777, "minX": 4078, "minY": 3425, "maxX": 4096, "maxY": 3556, "bold": false}, + {"char": 8208, "minX": 0, "minY": 3563, "maxX": 37, "maxY": 3699, "bold": true}, + {"char": 8209, "minX": 39, "minY": 3563, "maxX": 76, "maxY": 3699, "bold": true}, + {"char": 953, "minX": 78, "minY": 3563, "maxX": 115, "maxY": 3699, "bold": true}, + {"char": 943, "minX": 117, "minY": 3563, "maxX": 154, "maxY": 3699, "bold": true}, + {"char": 539, "minX": 156, "minY": 3563, "maxX": 193, "maxY": 3699, "bold": true}, + {"char": 355, "minX": 195, "minY": 3563, "maxX": 232, "maxY": 3699, "bold": true}, + {"char": 318, "minX": 234, "minY": 3563, "maxX": 271, "maxY": 3699, "bold": true}, + {"char": 300, "minX": 273, "minY": 3563, "maxX": 310, "maxY": 3699, "bold": true}, + {"char": 301, "minX": 312, "minY": 3563, "maxX": 349, "maxY": 3699, "bold": true}, + {"char": 180, "minX": 351, "minY": 3563, "maxX": 388, "maxY": 3699, "bold": true}, + {"char": 173, "minX": 390, "minY": 3563, "maxX": 427, "maxY": 3699, "bold": true}, + {"char": 116, "minX": 429, "minY": 3563, "maxX": 466, "maxY": 3699, "bold": true}, + {"char": 45, "minX": 468, "minY": 3563, "maxX": 505, "maxY": 3699, "bold": true}, + {"char": 60930, "minX": 507, "minY": 3563, "maxX": 543, "maxY": 3699, "bold": true}, + {"char": 8243, "minX": 545, "minY": 3563, "maxX": 581, "maxY": 3699, "bold": true}, + {"char": 34, "minX": 583, "minY": 3563, "maxX": 619, "maxY": 3699, "bold": true}, + {"char": 8249, "minX": 621, "minY": 3563, "maxX": 656, "maxY": 3699, "bold": true}, + {"char": 8250, "minX": 658, "minY": 3563, "maxX": 692, "maxY": 3699, "bold": true}, + {"char": 755, "minX": 694, "minY": 3563, "maxX": 728, "maxY": 3699, "bold": true}, + {"char": 900, "minX": 730, "minY": 3563, "maxX": 764, "maxY": 3699, "bold": true}, + {"char": 102, "minX": 766, "minY": 3563, "maxX": 801, "maxY": 3694, "bold": false}, + {"char": 114, "minX": 803, "minY": 3563, "maxX": 838, "maxY": 3694, "bold": false}, + {"char": 40, "minX": 840, "minY": 3563, "maxX": 875, "maxY": 3694, "bold": false}, + {"char": 41, "minX": 877, "minY": 3563, "maxX": 912, "maxY": 3694, "bold": false}, + {"char": 730, "minX": 914, "minY": 3563, "maxX": 948, "maxY": 3694, "bold": false}, + {"char": 359, "minX": 950, "minY": 3563, "maxX": 984, "maxY": 3694, "bold": false}, + {"char": 309, "minX": 986, "minY": 3563, "maxX": 1020, "maxY": 3694, "bold": false}, + {"char": 238, "minX": 1022, "minY": 3563, "maxX": 1056, "maxY": 3694, "bold": false}, + {"char": 206, "minX": 1058, "minY": 3563, "maxX": 1092, "maxY": 3694, "bold": false}, + {"char": 123, "minX": 1094, "minY": 3563, "maxX": 1128, "maxY": 3694, "bold": false}, + {"char": 125, "minX": 1130, "minY": 3563, "maxX": 1164, "maxY": 3694, "bold": false}, + {"char": 8208, "minX": 1166, "minY": 3563, "maxX": 1199, "maxY": 3694, "bold": false}, + {"char": 8209, "minX": 1201, "minY": 3563, "maxX": 1234, "maxY": 3694, "bold": false}, + {"char": 953, "minX": 1236, "minY": 3563, "maxX": 1269, "maxY": 3694, "bold": false}, + {"char": 943, "minX": 1271, "minY": 3563, "maxX": 1304, "maxY": 3694, "bold": false}, + {"char": 539, "minX": 1306, "minY": 3563, "maxX": 1339, "maxY": 3694, "bold": false}, + {"char": 355, "minX": 1341, "minY": 3563, "maxX": 1374, "maxY": 3694, "bold": false}, + {"char": 318, "minX": 1376, "minY": 3563, "maxX": 1409, "maxY": 3694, "bold": false}, + {"char": 300, "minX": 1411, "minY": 3563, "maxX": 1444, "maxY": 3694, "bold": false}, + {"char": 301, "minX": 1446, "minY": 3563, "maxX": 1479, "maxY": 3694, "bold": false}, + {"char": 180, "minX": 1481, "minY": 3563, "maxX": 1514, "maxY": 3694, "bold": false}, + {"char": 173, "minX": 1516, "minY": 3563, "maxX": 1549, "maxY": 3694, "bold": false}, + {"char": 116, "minX": 1551, "minY": 3563, "maxX": 1584, "maxY": 3694, "bold": false}, + {"char": 45, "minX": 1586, "minY": 3563, "maxX": 1619, "maxY": 3694, "bold": false}, + {"char": 8243, "minX": 1621, "minY": 3563, "maxX": 1653, "maxY": 3694, "bold": false}, + {"char": 96, "minX": 1655, "minY": 3563, "maxX": 1687, "maxY": 3694, "bold": false}, + {"char": 34, "minX": 1689, "minY": 3563, "maxX": 1721, "maxY": 3694, "bold": false}, + {"char": 8249, "minX": 1723, "minY": 3563, "maxX": 1754, "maxY": 3694, "bold": false}, + {"char": 8250, "minX": 1756, "minY": 3563, "maxX": 1786, "maxY": 3694, "bold": false}, + {"char": 755, "minX": 1788, "minY": 3563, "maxX": 1818, "maxY": 3694, "bold": false}, + {"char": 900, "minX": 1820, "minY": 3563, "maxX": 1850, "maxY": 3694, "bold": false}, + {"char": 731, "minX": 1852, "minY": 3563, "maxX": 1881, "maxY": 3694, "bold": false}, + {"char": 322, "minX": 1883, "minY": 3563, "maxX": 1912, "maxY": 3694, "bold": false}, + {"char": 7880, "minX": 1914, "minY": 3563, "maxX": 1942, "maxY": 3694, "bold": false}, + {"char": 7882, "minX": 1944, "minY": 3563, "maxX": 1972, "maxY": 3694, "bold": false}, + {"char": 1231, "minX": 1974, "minY": 3563, "maxX": 2002, "maxY": 3694, "bold": false}, + {"char": 1216, "minX": 2004, "minY": 3563, "maxX": 2032, "maxY": 3694, "bold": false}, + {"char": 1030, "minX": 2034, "minY": 3563, "maxX": 2062, "maxY": 3694, "bold": false}, + {"char": 921, "minX": 2064, "minY": 3563, "maxX": 2092, "maxY": 3694, "bold": false}, + {"char": 903, "minX": 2094, "minY": 3563, "maxX": 2122, "maxY": 3694, "bold": false}, + {"char": 302, "minX": 2124, "minY": 3563, "maxX": 2152, "maxY": 3694, "bold": false}, + {"char": 304, "minX": 2154, "minY": 3563, "maxX": 2182, "maxY": 3694, "bold": false}, + {"char": 205, "minX": 2184, "minY": 3563, "maxX": 2212, "maxY": 3694, "bold": false}, + {"char": 183, "minX": 2214, "minY": 3563, "maxX": 2242, "maxY": 3694, "bold": false}, + {"char": 73, "minX": 2244, "minY": 3563, "maxX": 2272, "maxY": 3694, "bold": false}, + {"char": 46, "minX": 2274, "minY": 3563, "maxX": 2302, "maxY": 3694, "bold": false}, + {"char": 8200, "minX": 2304, "minY": 3563, "maxX": 2331, "maxY": 3694, "bold": false}, + {"char": 91, "minX": 2333, "minY": 3563, "maxX": 2360, "maxY": 3694, "bold": false}, + {"char": 93, "minX": 2362, "minY": 3563, "maxX": 2389, "maxY": 3694, "bold": false}, + {"char": 58, "minX": 2391, "minY": 3563, "maxX": 2418, "maxY": 3694, "bold": false}, + {"char": 33, "minX": 2420, "minY": 3563, "maxX": 2447, "maxY": 3694, "bold": false}, + {"char": 7881, "minX": 2449, "minY": 3563, "maxX": 2475, "maxY": 3694, "bold": false}, + {"char": 7883, "minX": 2477, "minY": 3563, "maxX": 2503, "maxY": 3694, "bold": false}, + {"char": 1110, "minX": 2505, "minY": 3563, "maxX": 2531, "maxY": 3694, "bold": false}, + {"char": 729, "minX": 2533, "minY": 3563, "maxX": 2559, "maxY": 3694, "bold": false}, + {"char": 383, "minX": 2561, "minY": 3563, "maxX": 2587, "maxY": 3694, "bold": false}, + {"char": 314, "minX": 2589, "minY": 3563, "maxX": 2615, "maxY": 3694, "bold": false}, + {"char": 316, "minX": 2617, "minY": 3563, "maxX": 2643, "maxY": 3694, "bold": false}, + {"char": 303, "minX": 2645, "minY": 3563, "maxX": 2671, "maxY": 3694, "bold": false}, + {"char": 305, "minX": 2673, "minY": 3563, "maxX": 2699, "maxY": 3694, "bold": false}, + {"char": 237, "minX": 2701, "minY": 3563, "maxX": 2727, "maxY": 3694, "bold": false}, + {"char": 184, "minX": 2729, "minY": 3563, "maxX": 2755, "maxY": 3694, "bold": false}, + {"char": 161, "minX": 2757, "minY": 3563, "maxX": 2783, "maxY": 3694, "bold": false}, + {"char": 105, "minX": 2785, "minY": 3563, "maxX": 2811, "maxY": 3694, "bold": false}, + {"char": 108, "minX": 2813, "minY": 3563, "maxX": 2839, "maxY": 3694, "bold": false}, + {"char": 8197, "minX": 2841, "minY": 3563, "maxX": 2866, "maxY": 3694, "bold": false}, + {"char": 166, "minX": 2868, "minY": 3563, "maxX": 2893, "maxY": 3694, "bold": false}, + {"char": 124, "minX": 2895, "minY": 3563, "maxX": 2920, "maxY": 3694, "bold": false}, + {"char": 160, "minX": 2922, "minY": 3563, "maxX": 2947, "maxY": 3694, "bold": false}, + {"char": 32, "minX": 2949, "minY": 3563, "maxX": 2974, "maxY": 3694, "bold": false}, + {"char": 63171, "minX": 2976, "minY": 3563, "maxX": 3000, "maxY": 3694, "bold": false}, + {"char": 768, "minX": 3002, "minY": 3563, "maxX": 3026, "maxY": 3694, "bold": false}, + {"char": 769, "minX": 3028, "minY": 3563, "maxX": 3052, "maxY": 3694, "bold": false}, + {"char": 567, "minX": 3054, "minY": 3563, "maxX": 3078, "maxY": 3694, "bold": false}, + {"char": 236, "minX": 3080, "minY": 3563, "maxX": 3104, "maxY": 3694, "bold": false}, + {"char": 204, "minX": 3106, "minY": 3563, "maxX": 3130, "maxY": 3694, "bold": false}, + {"char": 59, "minX": 3132, "minY": 3563, "maxX": 3156, "maxY": 3694, "bold": false}, + {"char": 8218, "minX": 3158, "minY": 3563, "maxX": 3181, "maxY": 3694, "bold": false}, + {"char": 1112, "minX": 3183, "minY": 3563, "maxX": 3206, "maxY": 3694, "bold": false}, + {"char": 106, "minX": 3208, "minY": 3563, "maxX": 3231, "maxY": 3694, "bold": false}, + {"char": 8217, "minX": 3233, "minY": 3563, "maxX": 3255, "maxY": 3694, "bold": false}, + {"char": 700, "minX": 3257, "minY": 3563, "maxX": 3279, "maxY": 3694, "bold": false}, + {"char": 44, "minX": 3281, "minY": 3563, "maxX": 3303, "maxY": 3694, "bold": false}, + {"char": 8219, "minX": 3305, "minY": 3563, "maxX": 3326, "maxY": 3694, "bold": false}, + {"char": 8201, "minX": 3328, "minY": 3563, "maxX": 3348, "maxY": 3694, "bold": false}, + {"char": 8242, "minX": 3350, "minY": 3563, "maxX": 3367, "maxY": 3694, "bold": false}, + {"char": 8198, "minX": 3369, "minY": 3563, "maxX": 3386, "maxY": 3694, "bold": false}, + {"char": 39, "minX": 3388, "minY": 3563, "maxX": 3405, "maxY": 3694, "bold": false}, + {"char": 803, "minX": 3407, "minY": 3563, "maxX": 3422, "maxY": 3694, "bold": false}, + {"char": 1157, "minX": 3424, "minY": 3563, "maxX": 3437, "maxY": 3694, "bold": false}, + {"char": 1158, "minX": 3439, "minY": 3563, "maxX": 3452, "maxY": 3694, "bold": false}, + {"char": 731, "minX": 0, "minY": 3701, "maxX": 33, "maxY": 3837, "bold": true}, + {"char": 322, "minX": 35, "minY": 3701, "maxX": 68, "maxY": 3837, "bold": true}, + {"char": 236, "minX": 70, "minY": 3701, "maxX": 103, "maxY": 3837, "bold": true}, + {"char": 204, "minX": 105, "minY": 3701, "maxX": 138, "maxY": 3837, "bold": true}, + {"char": 96, "minX": 140, "minY": 3701, "maxX": 173, "maxY": 3837, "bold": true}, + {"char": 7880, "minX": 175, "minY": 3701, "maxX": 207, "maxY": 3837, "bold": true}, + {"char": 7882, "minX": 209, "minY": 3701, "maxX": 241, "maxY": 3837, "bold": true}, + {"char": 1231, "minX": 243, "minY": 3701, "maxX": 275, "maxY": 3837, "bold": true}, + {"char": 1216, "minX": 277, "minY": 3701, "maxX": 309, "maxY": 3837, "bold": true}, + {"char": 1030, "minX": 311, "minY": 3701, "maxX": 343, "maxY": 3837, "bold": true}, + {"char": 921, "minX": 345, "minY": 3701, "maxX": 377, "maxY": 3837, "bold": true}, + {"char": 768, "minX": 379, "minY": 3701, "maxX": 411, "maxY": 3837, "bold": true}, + {"char": 769, "minX": 413, "minY": 3701, "maxX": 445, "maxY": 3837, "bold": true}, + {"char": 903, "minX": 447, "minY": 3701, "maxX": 479, "maxY": 3837, "bold": true}, + {"char": 302, "minX": 481, "minY": 3701, "maxX": 513, "maxY": 3837, "bold": true}, + {"char": 304, "minX": 515, "minY": 3701, "maxX": 547, "maxY": 3837, "bold": true}, + {"char": 205, "minX": 549, "minY": 3701, "maxX": 581, "maxY": 3837, "bold": true}, + {"char": 183, "minX": 583, "minY": 3701, "maxX": 615, "maxY": 3837, "bold": true}, + {"char": 73, "minX": 617, "minY": 3701, "maxX": 649, "maxY": 3837, "bold": true}, + {"char": 46, "minX": 651, "minY": 3701, "maxX": 683, "maxY": 3837, "bold": true}, + {"char": 8200, "minX": 685, "minY": 3701, "maxX": 716, "maxY": 3837, "bold": true}, + {"char": 91, "minX": 718, "minY": 3701, "maxX": 749, "maxY": 3837, "bold": true}, + {"char": 93, "minX": 751, "minY": 3701, "maxX": 782, "maxY": 3837, "bold": true}, + {"char": 58, "minX": 784, "minY": 3701, "maxX": 815, "maxY": 3837, "bold": true}, + {"char": 33, "minX": 817, "minY": 3701, "maxX": 848, "maxY": 3837, "bold": true}, + {"char": 7881, "minX": 850, "minY": 3701, "maxX": 880, "maxY": 3837, "bold": true}, + {"char": 7883, "minX": 882, "minY": 3701, "maxX": 912, "maxY": 3837, "bold": true}, + {"char": 1110, "minX": 914, "minY": 3701, "maxX": 944, "maxY": 3837, "bold": true}, + {"char": 729, "minX": 946, "minY": 3701, "maxX": 976, "maxY": 3837, "bold": true}, + {"char": 383, "minX": 978, "minY": 3701, "maxX": 1008, "maxY": 3837, "bold": true}, + {"char": 314, "minX": 1010, "minY": 3701, "maxX": 1040, "maxY": 3837, "bold": true}, + {"char": 316, "minX": 1042, "minY": 3701, "maxX": 1072, "maxY": 3837, "bold": true}, + {"char": 303, "minX": 1074, "minY": 3701, "maxX": 1104, "maxY": 3837, "bold": true}, + {"char": 305, "minX": 1106, "minY": 3701, "maxX": 1136, "maxY": 3837, "bold": true}, + {"char": 237, "minX": 1138, "minY": 3701, "maxX": 1168, "maxY": 3837, "bold": true}, + {"char": 184, "minX": 1170, "minY": 3701, "maxX": 1200, "maxY": 3837, "bold": true}, + {"char": 161, "minX": 1202, "minY": 3701, "maxX": 1232, "maxY": 3837, "bold": true}, + {"char": 105, "minX": 1234, "minY": 3701, "maxX": 1264, "maxY": 3837, "bold": true}, + {"char": 108, "minX": 1266, "minY": 3701, "maxX": 1296, "maxY": 3837, "bold": true}, + {"char": 8197, "minX": 1298, "minY": 3701, "maxX": 1327, "maxY": 3837, "bold": true}, + {"char": 166, "minX": 1329, "minY": 3701, "maxX": 1358, "maxY": 3837, "bold": true}, + {"char": 124, "minX": 1360, "minY": 3701, "maxX": 1389, "maxY": 3837, "bold": true}, + {"char": 160, "minX": 1391, "minY": 3701, "maxX": 1420, "maxY": 3837, "bold": true}, + {"char": 32, "minX": 1422, "minY": 3701, "maxX": 1451, "maxY": 3837, "bold": true}, + {"char": 63171, "minX": 1453, "minY": 3701, "maxX": 1481, "maxY": 3837, "bold": true}, + {"char": 1112, "minX": 1483, "minY": 3701, "maxX": 1511, "maxY": 3837, "bold": true}, + {"char": 567, "minX": 1513, "minY": 3701, "maxX": 1541, "maxY": 3837, "bold": true}, + {"char": 106, "minX": 1543, "minY": 3701, "maxX": 1571, "maxY": 3837, "bold": true}, + {"char": 59, "minX": 1573, "minY": 3701, "maxX": 1601, "maxY": 3837, "bold": true}, + {"char": 8218, "minX": 1603, "minY": 3701, "maxX": 1630, "maxY": 3837, "bold": true}, + {"char": 8231, "minX": 1632, "minY": 3701, "maxX": 1658, "maxY": 3837, "bold": true}, + {"char": 8216, "minX": 1660, "minY": 3701, "maxX": 1686, "maxY": 3837, "bold": true}, + {"char": 8217, "minX": 1688, "minY": 3701, "maxX": 1714, "maxY": 3837, "bold": true}, + {"char": 700, "minX": 1716, "minY": 3701, "maxX": 1742, "maxY": 3837, "bold": true}, + {"char": 44, "minX": 1744, "minY": 3701, "maxX": 1770, "maxY": 3837, "bold": true}, + {"char": 8219, "minX": 1772, "minY": 3701, "maxX": 1797, "maxY": 3837, "bold": true}, + {"char": 8201, "minX": 1799, "minY": 3701, "maxX": 1823, "maxY": 3837, "bold": true}, + {"char": 777, "minX": 1825, "minY": 3701, "maxX": 1847, "maxY": 3837, "bold": true}, + {"char": 8242, "minX": 1849, "minY": 3701, "maxX": 1870, "maxY": 3837, "bold": true}, + {"char": 8198, "minX": 1872, "minY": 3701, "maxX": 1893, "maxY": 3837, "bold": true}, + {"char": 39, "minX": 1895, "minY": 3701, "maxX": 1916, "maxY": 3837, "bold": true}, + {"char": 803, "minX": 1918, "minY": 3701, "maxX": 1937, "maxY": 3837, "bold": true}, + {"char": 1157, "minX": 1939, "minY": 3701, "maxX": 1957, "maxY": 3837, "bold": true}, + {"char": 1158, "minX": 1959, "minY": 3701, "maxX": 1976, "maxY": 3837, "bold": true}, + {"char": 8202, "minX": 1978, "minY": 3701, "maxX": 1992, "maxY": 3837, "bold": true}, {"char": 0, "minX": 0, "minY": 0, "maxX": 0, "maxY": 0, "bold": false}, {"char": 2, "minX": 0, "minY": 0, "maxX": 0, "maxY": 0, "bold": false}, {"char": 9, "minX": 0, "minY": 0, "maxX": 0, "maxY": 0, "bold": false}, diff --git a/src/main/resources/assets/base/font/roboto_texture.png b/src/main/resources/assets/base/font/roboto_texture.png index ce6ca1c..878ccec 100644 Binary files a/src/main/resources/assets/base/font/roboto_texture.png and b/src/main/resources/assets/base/font/roboto_texture.png differ