├── doc
├── ss01.png
├── ss02.png
├── ss03.png
├── ss04.png
├── ss05.png
├── ss06.png
└── ss07.png
├── Assets
├── SceneSample.unity
├── bmfont
│ ├── yanone.mat
│ ├── yanone.png
│ ├── m2pbold.mat
│ ├── mp2pbold.png
│ ├── m2pbold.fontsettings
│ ├── yanone.fontsettings
│ ├── yanone.txt
│ └── mp2pbold.fnt.txt
├── gridfont
│ ├── number.mat
│ ├── number.png
│ └── number.fontsettings
└── Editor
│ └── ChrRectSet.cs
├── ChrRectSet.unitypackage
├── LICENSE
└── readme.md
/doc/ss01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/doc/ss01.png
--------------------------------------------------------------------------------
/doc/ss02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/doc/ss02.png
--------------------------------------------------------------------------------
/doc/ss03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/doc/ss03.png
--------------------------------------------------------------------------------
/doc/ss04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/doc/ss04.png
--------------------------------------------------------------------------------
/doc/ss05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/doc/ss05.png
--------------------------------------------------------------------------------
/doc/ss06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/doc/ss06.png
--------------------------------------------------------------------------------
/doc/ss07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/doc/ss07.png
--------------------------------------------------------------------------------
/Assets/SceneSample.unity:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/SceneSample.unity
--------------------------------------------------------------------------------
/Assets/bmfont/yanone.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/bmfont/yanone.mat
--------------------------------------------------------------------------------
/Assets/bmfont/yanone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/bmfont/yanone.png
--------------------------------------------------------------------------------
/ChrRectSet.unitypackage:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/ChrRectSet.unitypackage
--------------------------------------------------------------------------------
/Assets/bmfont/m2pbold.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/bmfont/m2pbold.mat
--------------------------------------------------------------------------------
/Assets/bmfont/mp2pbold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/bmfont/mp2pbold.png
--------------------------------------------------------------------------------
/Assets/gridfont/number.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/gridfont/number.mat
--------------------------------------------------------------------------------
/Assets/gridfont/number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/gridfont/number.png
--------------------------------------------------------------------------------
/Assets/bmfont/m2pbold.fontsettings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/bmfont/m2pbold.fontsettings
--------------------------------------------------------------------------------
/Assets/bmfont/yanone.fontsettings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/bmfont/yanone.fontsettings
--------------------------------------------------------------------------------
/Assets/gridfont/number.fontsettings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mieki256/ChrRectSet/HEAD/Assets/gridfont/number.fontsettings
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | This is free and unencumbered software released into the public domain.
2 |
3 | Anyone is free to copy, modify, publish, use, compile, sell, or
4 | distribute this software, either in source code form or as a compiled
5 | binary, for any purpose, commercial or non-commercial, and by any
6 | means.
7 |
8 | In jurisdictions that recognize copyright laws, the author or authors
9 | of this software dedicate any and all copyright interest in the
10 | software to the public domain. We make this dedication for the benefit
11 | of the public at large and to the detriment of our heirs and
12 | successors. We intend this dedication to be an overt act of
13 | relinquishment in perpetuity of all present and future rights to this
14 | software under copyright law.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
24 | For more information, please refer to
25 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | ChrRectSet.cs
2 | =================
3 |
4 | 概要
5 | ---------
6 |
7 | Unity の Custom Font を使うとビットマップフォントが表示できる。
8 |
9 | 
10 |
11 | しかし、使用する文字数分、Chracater Rects を設定しないといけない。
12 | この Unity拡張は、その設定作業を自動化する。
13 |
14 | 以下の2種類の設定方法が選べる。
15 |
16 | * BMFontから出力された、fntファイル内容を元にして設定。
17 | * 等間隔で文字が配置されているビットマップフォント画像に対し、等間隔で分割して設定。
18 |
19 |
20 | 導入方法 / Install
21 | -------------------
22 |
23 | Assets\Editor\ 以下に、ChrRectSet.cs をコピーする。
24 |
25 |
26 | 前準備
27 | ----------
28 |
29 | ビットマップフォントを使う場合、以下の作業/Assetsの追加をしておく。
30 |
31 | 1. Assets に、ビットマップフォント画像をコピーして、以下を設定。
32 | * Texture Type : GUI
33 | * Filter Mode : Point
34 | 
35 | 2. Assets に、Material を追加して、以下を設定。
36 | * Texture に、ビットマップフォント画像をD&D。
37 | * Shader を、Unlit/Transparent にする。(Shader → Unlit → Transparent の順に選択)
38 | 
39 | 3. Assets に、Custom Font を追加して、以下を設定。
40 | * Material に、先ほど追加した Material をD&D。
41 | 
42 | 4. BMFontから出力されたfntファイルで設定したい場合は、fntファイルもAssetsにコピーする。その際、拡張子を、.fnt から .txt にリネームしておく。
43 | 5. Hierarchy に GUI Text 等を追加して、Font に、先ほど用意した Custom Font を D&D。
44 |
45 |
46 | 使い方 / Usage
47 | ----------------
48 |
49 | ChrRectSet.cs が導入されていれば、Unity のメニューに Custom という項目が増えるはず。
50 |
51 | 
52 |
53 | Custom → Custom Font Setting → Chr Rect Set を選択すると、作業ウインドウが開く。
54 |
55 | ### BMFontから出力されたfntファイルを使う場合
56 |
57 | 
58 |
59 | 1. Assets から、作業ウインドウに、以下をD&D。
60 | * 設定したい Custom Font
61 | * ビットマップフォント画像
62 | * fntファイル(.txtにリネームしたファイル)
63 | 2. Set Character Rects ボタンを押す。
64 | 3. Custom Font の Ascii Start Offset に、使う文字の一番最初のASCIIコードを入力。
65 |
66 | ### 等間隔に配置されたビットマップフォント画像を使う場合
67 |
68 | 
69 |
70 | 1. Assets から、作業ウインドウに、以下をD&D。
71 | * 設定したい Custom Font
72 | * ビットマップフォント画像
73 | 2. Grid Layout 以下の項目を入力。
74 | * Use Texture Area : 画像内でフォント部分が置かれている領域を指定。
75 | * Font Count X : 横方向にいくつ文字があるか。
76 | * Font Count Y : 縦方向にいくつ文字があるか。
77 | * Character Length : 何文字分設定するか。
78 | 3. Set Character Rects ボタンを押す。
79 | 4. Custom Font の Ascii Start Offset に、使う文字の一番最初のASCIIコードを入力。
80 |
81 | ### 注意点
82 |
83 | * 設定後、Custom Font の Character Rects を開いたり閉じたりしないと、Gameビュー(?)に反映されない模様。
84 | * 0~9の数字だけを表示するなら、Ascii Start Offset は 48 (= '0')。
85 | * 記号、数字、アルファベットを表示するなら、Ascii Start Offset は 32 (= ' ' (空白文字))。
86 | * ShoeBox で出力した fnt なら、TAB文字情報も含まれてるので、Ascii Start Offset は 9 (= TAB文字)。
87 |
88 | ライセンス / License
89 | -------------------------
90 |
91 | Public Domain
92 |
93 | 関連ツール / Tools
94 | ----------------------
95 |
96 | * [BMFont - AngelCode.com](http://www.angelcode.com/products/bmfont/) - ビットマップフォント画像作成ツール。(Windows用)
97 | * [ShoeBox](http://renderhjs.net/shoebox/) - 2Dゲーム制作に特化した画像編集ツール。Adobe AIR製。BMFont互換のビットマップフォント画像を作成可能。
98 | * [hiero](http://code.google.com/p/libgdx/downloads/detail?name=hiero.jar) - Java製のビットマップフォント画像生成ツール。BMFont互換。
99 |
100 |
101 | 変更履歴 / Change Log
102 | ---------------------------
103 |
104 | * 2014/02/13 Unity 4.3.3f1で動作するように修正。
105 | * 2013/10/07 とりあえず作成
106 |
107 |
108 |
--------------------------------------------------------------------------------
/Assets/Editor/ChrRectSet.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEditor;
3 | using System.Collections.Generic;
4 |
5 | /*
6 | * Unity extension to set a custom font.
7 | * Set by using the information of fnt file bmfont outputs.
8 | *
9 | * Install:
10 | * Copy to Assets\Editor\ , this script.
11 | *
12 | * Use:
13 | * Custom -> Custom Font Setting -> Chr Rect Set.
14 | *
15 | * D&D, "Custom Font", "font texture" and "fnt file(.txt)"
16 | * Push "Set" button.
17 | *
18 | * or split.
19 | * D&D, "Custom Font" and "font texture".
20 | * input, Use Texture Area, Count X, Count Y and Char Length.
21 | * Push "Set" button.
22 | *
23 | * License:
24 | * Public Domain.
25 | */
26 | public class ChrRectSet : EditorWindow {
27 | public Font customFontObj;
28 | public TextAsset fontPosTbl;
29 | public Texture fontTexture;
30 | public bool xoffsetEnable = true;
31 | public Vector2 scrollPos;
32 |
33 | public Rect useTexRect = new Rect(0, 0, 256, 256);
34 | public int fontCountX = 8;
35 | public int fontCountY = 8;
36 | public int fontLength = 64;
37 |
38 | struct ChrRect {
39 | public int id;
40 | public int x;
41 | public int y;
42 | public int w;
43 | public int h;
44 | public int xofs;
45 | public int yofs;
46 |
47 | public int index;
48 | public float uvX;
49 | public float uvY;
50 | public float uvW;
51 | public float uvH;
52 | public float vertX;
53 | public float vertY;
54 | public float vertW;
55 | public float vertH;
56 | public float width;
57 | }
58 |
59 | // add menu
60 | [MenuItem("Custom/Custom Font Setting/Chr Rect Set")]
61 | static void Init() {
62 | EditorWindow.GetWindow(typeof(ChrRectSet));
63 | }
64 |
65 | // layout window
66 | void OnGUI() {
67 | EditorGUILayout.BeginScrollView(scrollPos);
68 |
69 | // use .fnt(.txt)
70 | customFontObj = (Font)EditorGUILayout.ObjectField("Custom Font", customFontObj, typeof(Font), false);
71 | fontTexture = (Texture)EditorGUILayout.ObjectField("Font Texture", fontTexture, typeof(Texture), false);
72 | EditorGUILayout.Space();
73 | EditorGUILayout.LabelField("Use BMFont fnt File", EditorStyles.boldLabel);
74 | fontPosTbl = (TextAsset)EditorGUILayout.ObjectField("BMFont fnt (.txt)", fontPosTbl, typeof(TextAsset), false);
75 | xoffsetEnable = EditorGUILayout.Toggle("xoffset Enable", xoffsetEnable);
76 | if (GUILayout.Button("Set Character Rects")) {
77 | if (customFontObj == null) this.ShowNotification(new GUIContent("No Custom Font selected"));
78 | else if (fontTexture == null) this.ShowNotification(new GUIContent("No Font Texture selected"));
79 | else if (fontPosTbl == null) this.ShowNotification(new GUIContent("No Font Position Table file selected"));
80 | else {
81 | CalcChrRect(customFontObj, fontPosTbl, fontTexture);
82 | }
83 | }
84 |
85 | // split
86 | EditorGUILayout.Space();
87 | EditorGUILayout.LabelField("Grid Layout", EditorStyles.boldLabel);
88 | useTexRect = EditorGUILayout.RectField("Use Texture Area", useTexRect);
89 | fontCountX = EditorGUILayout.IntField("Font Count X", fontCountX);
90 | fontCountY = EditorGUILayout.IntField("Font Count Y", fontCountY);
91 | fontLength = EditorGUILayout.IntField("Character Length", fontLength);
92 | if (GUILayout.Button("Set Character Rects")) {
93 | if (customFontObj == null) this.ShowNotification(new GUIContent("No Custom Font selected"));
94 | else if (fontTexture == null) this.ShowNotification(new GUIContent("No Font Texture selected"));
95 | else CalcChrRectGrid(customFontObj, fontTexture, useTexRect, fontCountX, fontCountY, fontLength);
96 | }
97 |
98 | EditorGUILayout.EndScrollView();
99 | }
100 |
101 | void OnInspectorUpdate() {
102 | this.Repaint();
103 | }
104 |
105 | // set by .fnt(.txt)
106 | void CalcChrRect(Font fontObj, TextAsset posTbl, Texture tex) {
107 | float imgw = (float)tex.width;
108 | float imgh = (float)tex.height;
109 | string txt = posTbl.text;
110 | List tblList = new List();
111 | int asciiStartOffset = int.MaxValue;
112 | int maxH = 0;
113 | foreach (string line in txt.Split('\n')) {
114 | if (line.IndexOf("char id=") == 0) {
115 | ChrRect d = GetChrRect(line, imgw, imgh);
116 | if (asciiStartOffset > d.id) asciiStartOffset = d.id;
117 | if (maxH < d.h) maxH = d.h;
118 | tblList.Add(d);
119 | }
120 | }
121 | ChrRect[] tbls = tblList.ToArray();
122 |
123 | // index value
124 | for (int i = 0; i < tbls.Length; i++) {
125 | tbls[i].index = tbls[i].id - asciiStartOffset;
126 | }
127 |
128 | // make new CharacterInfo
129 | SetCharacterInfo(tbls, fontObj);
130 | // fontObj.asciiStartOffset = asciiStartOffset;
131 |
132 | this.ShowNotification(new GUIContent("Complete"));
133 | }
134 |
135 | // set by split
136 | void CalcChrRectGrid(Font fontObj, Texture tex, Rect area, int xc, int yc, int num) {
137 | float imgw = (float)tex.width;
138 | float imgh = (float)tex.height;
139 | int fw = (int)(area.width - area.x) / xc;
140 | int fh = (int)(area.height - area.y) / yc;
141 | List tblList = new List();
142 | for (int i = 0; i < num; i++) {
143 | int xi = i % xc;
144 | int yi = i / xc;
145 | ChrRect d = new ChrRect();
146 | d.index = i;
147 | d.uvX = (float)(area.x + (fw * xi)) / imgw;
148 | d.uvY = (float)(imgh - (area.y + (fh * yi) + fh)) / imgh;
149 | d.uvW = (float)fw / imgw;
150 | d.uvH = (float)fh / imgh;
151 | d.vertX = 0;
152 | d.vertY = 0;
153 | d.vertW = fw;
154 | d.vertH = -fh;
155 | d.width = fw;
156 | tblList.Add(d);
157 | }
158 | ChrRect[] tbls = tblList.ToArray();
159 | SetCharacterInfo(tbls, fontObj);
160 | this.ShowNotification(new GUIContent("Complete"));
161 | }
162 |
163 | // over write custom font by new CharacterInfo
164 | void SetCharacterInfo(ChrRect[] tbls, Font fontObj) {
165 | CharacterInfo[] nci = new CharacterInfo[tbls.Length];
166 | for (int i = 0; i < tbls.Length; i++) {
167 | nci[i].index = tbls[i].index;
168 | nci[i].width = tbls[i].width;
169 | nci[i].uv.x = tbls[i].uvX;
170 | nci[i].uv.y = tbls[i].uvY;
171 | nci[i].uv.width = tbls[i].uvW;
172 | nci[i].uv.height = tbls[i].uvH;
173 | nci[i].vert.x = tbls[i].vertX;
174 | nci[i].vert.y = tbls[i].vertY;
175 | nci[i].vert.width = tbls[i].vertW;
176 | nci[i].vert.height = tbls[i].vertH;
177 | }
178 | fontObj.characterInfo = nci;
179 | }
180 |
181 | // get font table one line.
182 | ChrRect GetChrRect(string line, float imgw, float imgh) {
183 | ChrRect d = new ChrRect();
184 |
185 | foreach (string s in line.Split(' ')) {
186 | if (s.IndexOf("id=") >= 0) d.id = GetParamInt(s, "id=");
187 | else if (s.IndexOf("x=") >= 0) d.x = GetParamInt(s, "x=");
188 | else if (s.IndexOf("y=") >= 0) d.y = GetParamInt(s, "y=");
189 | else if (s.IndexOf("width=") >= 0) d.w = GetParamInt(s, "width=");
190 | else if (s.IndexOf("height=") >= 0) d.h = GetParamInt(s, "height=");
191 | else if (s.IndexOf("xoffset=") >= 0) d.xofs = GetParamInt(s, "xoffset=");
192 | else if (s.IndexOf("yoffset=") >= 0) d.yofs = GetParamInt(s, "yoffset=");
193 | else if (s.IndexOf("xadvance=") >= 0) d.width = GetParamInt(s, "xadvance=");
194 | }
195 |
196 | d.uvX = (float)d.x / imgw;
197 | d.uvY = (float)(imgh - d.y - d.h) / imgh;
198 | d.uvW = (float)d.w / imgw;
199 | d.uvH = (float)d.h / imgh;
200 |
201 | d.vertX = (xoffsetEnable) ? (float)d.xofs : 0.0f;
202 | d.vertY = -(float)d.yofs;
203 | d.vertW = d.w;
204 | d.vertH = -d.h;
205 |
206 | return d;
207 | }
208 |
209 | // "wd=int" to int
210 | int GetParamInt(string s, string wd) {
211 | if (s.IndexOf(wd) >= 0) {
212 | int v;
213 | if (int.TryParse(s.Substring(wd.Length), out v)) return v;
214 | }
215 | return int.MaxValue;
216 | }
217 | }
218 |
--------------------------------------------------------------------------------
/Assets/bmfont/yanone.txt:
--------------------------------------------------------------------------------
1 | info face="font" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
2 | common lineHeight=31 base=26 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
3 | page id=0 file="font.png"
4 | chars count=96
5 | char id=33 x=114 y=0 width=11 height=23 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=0 letter="!"
6 | char id=34 x=50 y=241 width=13 height=12 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=0 letter="""
7 | char id=35 x=0 y=196 width=16 height=15 xoffset=0 yoffset=13 xadvance=18 page=0 chnl=0 letter="#"
8 | char id=36 x=35 y=146 width=15 height=27 xoffset=0 yoffset=7 xadvance=17 page=0 chnl=0 letter="$"
9 | char id=37 x=0 y=24 width=22 height=23 xoffset=0 yoffset=8 xadvance=24 page=0 chnl=0 letter="%"
10 | char id=38 x=0 y=95 width=19 height=23 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=0 letter="&"
11 | char id=39 x=56 y=24 width=10 height=11 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=0 letter="'"
12 | char id=40 x=123 y=187 width=12 height=30 xoffset=0 yoffset=6 xadvance=14 page=0 chnl=0 letter="("
13 | char id=41 x=112 y=29 width=12 height=30 xoffset=0 yoffset=6 xadvance=14 page=0 chnl=0 letter=")"
14 | char id=42 x=0 y=143 width=17 height=18 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 letter="*"
15 | char id=43 x=0 y=162 width=17 height=14 xoffset=0 yoffset=14 xadvance=19 page=0 chnl=0 letter="+"
16 | char id=44 x=96 y=196 width=9 height=10 xoffset=0 yoffset=23 xadvance=11 page=0 chnl=0 letter=","
17 | char id=45 x=110 y=187 width=12 height=8 xoffset=0 yoffset=17 xadvance=14 page=0 chnl=0 letter="-"
18 | char id=46 x=71 y=48 width=9 height=9 xoffset=0 yoffset=22 xadvance=11 page=0 chnl=0 letter="."
19 | char id=47 x=53 y=68 width=15 height=24 xoffset=0 yoffset=7 xadvance=17 page=0 chnl=0 letter="/"
20 | char id=48 x=37 y=72 width=15 height=20 xoffset=0 yoffset=11 xadvance=17 page=0 chnl=0 letter="0"
21 | char id=49 x=34 y=194 width=16 height=20 xoffset=0 yoffset=11 xadvance=18 page=0 chnl=0 letter="1"
22 | char id=50 x=23 y=0 width=16 height=20 xoffset=0 yoffset=11 xadvance=18 page=0 chnl=0 letter="2"
23 | char id=51 x=39 y=45 width=15 height=22 xoffset=0 yoffset=11 xadvance=17 page=0 chnl=0 letter="3"
24 | char id=52 x=17 y=231 width=16 height=21 xoffset=0 yoffset=10 xadvance=18 page=0 chnl=0 letter="4"
25 | char id=53 x=35 y=99 width=15 height=22 xoffset=0 yoffset=11 xadvance=17 page=0 chnl=0 letter="5"
26 | char id=54 x=34 y=215 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="6"
27 | char id=55 x=20 y=76 width=16 height=22 xoffset=0 yoffset=11 xadvance=18 page=0 chnl=0 letter="7"
28 | char id=56 x=35 y=122 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="8"
29 | char id=57 x=17 y=196 width=16 height=22 xoffset=0 yoffset=11 xadvance=18 page=0 chnl=0 letter="9"
30 | char id=58 x=95 y=238 width=9 height=17 xoffset=0 yoffset=14 xadvance=11 page=0 chnl=0 letter=":"
31 | char id=59 x=124 y=116 width=9 height=19 xoffset=0 yoffset=14 xadvance=11 page=0 chnl=0 letter=";"
32 | char id=60 x=34 y=239 width=15 height=16 xoffset=0 yoffset=14 xadvance=17 page=0 chnl=0 letter="<"
33 | char id=61 x=35 y=174 width=15 height=13 xoffset=0 yoffset=15 xadvance=17 page=0 chnl=0 letter="="
34 | char id=62 x=40 y=25 width=15 height=14 xoffset=0 yoffset=15 xadvance=17 page=0 chnl=0 letter=">"
35 | char id=63 x=110 y=139 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="?"
36 | char id=64 x=0 y=48 width=21 height=27 xoffset=0 yoffset=9 xadvance=23 page=0 chnl=0 letter="@"
37 | char id=65 x=0 y=119 width=17 height=23 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=0 letter="A"
38 | char id=66 x=84 y=48 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="B"
39 | char id=67 x=71 y=24 width=14 height=23 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 letter="C"
40 | char id=68 x=82 y=155 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="D"
41 | char id=69 x=82 y=131 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="E"
42 | char id=70 x=82 y=107 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="F"
43 | char id=71 x=51 y=93 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="G"
44 | char id=72 x=69 y=64 width=14 height=23 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 letter="H"
45 | char id=73 x=123 y=218 width=9 height=23 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0 letter="I"
46 | char id=74 x=81 y=232 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="J"
47 | char id=75 x=66 y=208 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="K"
48 | char id=76 x=96 y=72 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="L"
49 | char id=77 x=18 y=170 width=16 height=23 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 letter="M"
50 | char id=78 x=55 y=40 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="N"
51 | char id=79 x=56 y=0 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="O"
52 | char id=80 x=110 y=163 width=13 height=23 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="P"
53 | char id=81 x=18 y=119 width=16 height=26 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 letter="Q"
54 | char id=82 x=67 y=180 width=14 height=23 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 letter="R"
55 | char id=83 x=66 y=232 width=14 height=23 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 letter="S"
56 | char id=84 x=22 y=48 width=16 height=23 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 letter="T"
57 | char id=85 x=67 y=118 width=14 height=23 xoffset=0 yoffset=8 xadvance=16 page=0 chnl=0 letter="U"
58 | char id=86 x=23 y=21 width=16 height=23 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 letter="V"
59 | char id=87 x=0 y=0 width=22 height=23 xoffset=0 yoffset=8 xadvance=24 page=0 chnl=0 letter="W"
60 | char id=88 x=0 y=222 width=16 height=23 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 letter="X"
61 | char id=89 x=51 y=141 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="Y"
62 | char id=90 x=51 y=117 width=15 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="Z"
63 | char id=91 x=82 y=179 width=13 height=30 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=0 letter="["
64 | char id=92 x=50 y=215 width=15 height=25 xoffset=0 yoffset=7 xadvance=17 page=0 chnl=0 letter="\"
65 | char id=93 x=96 y=96 width=13 height=30 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=0 letter="]"
66 | char id=94 x=17 y=219 width=16 height=11 xoffset=0 yoffset=15 xadvance=18 page=0 chnl=0 letter="^"
67 | char id=95 x=0 y=246 width=15 height=8 xoffset=0 yoffset=26 xadvance=17 page=0 chnl=0 letter="_"
68 | char id=96 x=84 y=72 width=11 height=11 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=0 letter="`"
69 | char id=97 x=67 y=142 width=14 height=18 xoffset=0 yoffset=13 xadvance=16 page=0 chnl=0 letter="a"
70 | char id=98 x=96 y=127 width=13 height=24 xoffset=0 yoffset=7 xadvance=15 page=0 chnl=0 letter="b"
71 | char id=99 x=86 y=28 width=13 height=18 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="c"
72 | char id=100 x=98 y=47 width=13 height=24 xoffset=0 yoffset=7 xadvance=15 page=0 chnl=0 letter="d"
73 | char id=101 x=96 y=152 width=13 height=18 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="e"
74 | char id=102 x=40 y=0 width=15 height=24 xoffset=0 yoffset=7 xadvance=17 page=0 chnl=0 letter="f"
75 | char id=103 x=18 y=146 width=16 height=23 xoffset=0 yoffset=13 xadvance=18 page=0 chnl=0 letter="g"
76 | char id=104 x=96 y=171 width=13 height=24 xoffset=0 yoffset=7 xadvance=15 page=0 chnl=0 letter="h"
77 | char id=105 x=124 y=60 width=9 height=23 xoffset=0 yoffset=8 xadvance=11 page=0 chnl=0 letter="i"
78 | char id=106 x=100 y=0 width=13 height=28 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="j"
79 | char id=107 x=67 y=93 width=14 height=24 xoffset=0 yoffset=7 xadvance=16 page=0 chnl=0 letter="k"
80 | char id=108 x=124 y=136 width=9 height=24 xoffset=0 yoffset=7 xadvance=11 page=0 chnl=0 letter="l"
81 | char id=109 x=0 y=177 width=17 height=18 xoffset=0 yoffset=13 xadvance=19 page=0 chnl=0 letter="m"
82 | char id=110 x=110 y=72 width=13 height=18 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="n"
83 | char id=111 x=67 y=161 width=14 height=18 xoffset=0 yoffset=13 xadvance=16 page=0 chnl=0 letter="o"
84 | char id=112 x=110 y=91 width=13 height=23 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="p"
85 | char id=113 x=110 y=115 width=13 height=23 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="q"
86 | char id=114 x=82 y=210 width=12 height=18 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="r"
87 | char id=115 x=82 y=88 width=13 height=18 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="s"
88 | char id=116 x=109 y=215 width=13 height=22 xoffset=0 yoffset=9 xadvance=15 page=0 chnl=0 letter="t"
89 | char id=117 x=109 y=196 width=13 height=18 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="u"
90 | char id=118 x=20 y=99 width=14 height=18 xoffset=0 yoffset=13 xadvance=16 page=0 chnl=0 letter="v"
91 | char id=119 x=0 y=76 width=19 height=18 xoffset=0 yoffset=13 xadvance=21 page=0 chnl=0 letter="w"
92 | char id=120 x=51 y=165 width=15 height=18 xoffset=0 yoffset=13 xadvance=17 page=0 chnl=0 letter="x"
93 | char id=121 x=51 y=184 width=15 height=23 xoffset=0 yoffset=13 xadvance=17 page=0 chnl=0 letter="y"
94 | char id=122 x=72 y=0 width=13 height=18 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="z"
95 | char id=123 x=86 y=0 width=13 height=27 xoffset=0 yoffset=7 xadvance=15 page=0 chnl=0 letter="{"
96 | char id=124 x=124 y=84 width=9 height=31 xoffset=0 yoffset=5 xadvance=11 page=0 chnl=0 letter="|"
97 | char id=125 x=95 y=210 width=13 height=27 xoffset=0 yoffset=7 xadvance=15 page=0 chnl=0 letter="}"
98 | char id=126 x=0 y=212 width=16 height=9 xoffset=0 yoffset=17 xadvance=18 page=0 chnl=0 letter="~"
99 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=9 page=0 chnl=0 letter=" "
100 | char id=9 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=72 page=0 chnl=0 letter=" "
101 |
102 | kernings count=0
103 |
--------------------------------------------------------------------------------
/Assets/bmfont/mp2pbold.fnt.txt:
--------------------------------------------------------------------------------
1 | info face="M+ 2p bold" size=-20 bold=0 italic=0 charset="ANSI" unicode=0 stretchH=100 smooth=1 aa=4 padding=1,1,1,1 spacing=1,1 outline=2
2 | common lineHeight=28 base=22 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
3 | page id=0 file="myfont0_0.png"
4 | chars count=95
5 | char id=32 x=247 y=108 width=7 height=7 xoffset=-3 yoffset=-3 xadvance=6 page=0 chnl=15
6 | char id=33 x=125 y=93 width=10 height=21 xoffset=-1 yoffset=3 xadvance=8 page=0 chnl=15
7 | char id=34 x=0 y=136 width=14 height=12 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15
8 | char id=35 x=196 y=46 width=19 height=21 xoffset=-3 yoffset=3 xadvance=13 page=0 chnl=15
9 | char id=36 x=24 y=0 width=17 height=25 xoffset=-3 yoffset=2 xadvance=12 page=0 chnl=15
10 | char id=37 x=152 y=0 width=23 height=22 xoffset=-3 yoffset=3 xadvance=18 page=0 chnl=15
11 | char id=38 x=199 y=0 width=21 height=22 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=15
12 | char id=39 x=41 y=136 width=10 height=12 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=15
13 | char id=40 x=73 y=0 width=13 height=25 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15
14 | char id=41 x=115 y=0 width=13 height=25 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=15
15 | char id=42 x=211 y=109 width=16 height=16 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15
16 | char id=43 x=148 y=93 width=18 height=18 xoffset=-2 yoffset=6 xadvance=14 page=0 chnl=15
17 | char id=44 x=29 y=136 width=11 height=12 xoffset=-2 yoffset=15 xadvance=7 page=0 chnl=15
18 | char id=45 x=103 y=134 width=13 height=9 xoffset=-2 yoffset=11 xadvance=9 page=0 chnl=15
19 | char id=46 x=72 y=135 width=10 height=10 xoffset=-2 yoffset=15 xadvance=6 page=0 chnl=15
20 | char id=47 x=17 y=51 width=16 height=22 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15
21 | char id=48 x=79 y=26 width=18 height=22 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15
22 | char id=49 x=99 y=93 width=14 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
23 | char id=50 x=239 y=68 width=16 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
24 | char id=51 x=135 y=25 width=17 height=22 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
25 | char id=52 x=236 y=46 width=18 height=21 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15
26 | char id=53 x=34 y=96 width=16 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
27 | char id=54 x=98 y=26 width=18 height=22 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15
28 | char id=55 x=186 y=68 width=17 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
29 | char id=56 x=41 y=26 width=18 height=22 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15
30 | char id=57 x=60 y=26 width=18 height=22 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15
31 | char id=58 x=203 y=90 width=10 height=18 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=15
32 | char id=59 x=136 y=93 width=11 height=20 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15
33 | char id=60 x=185 y=90 width=17 height=18 xoffset=-2 yoffset=6 xadvance=13 page=0 chnl=15
34 | char id=61 x=228 y=108 width=18 height=14 xoffset=-2 yoffset=9 xadvance=15 page=0 chnl=15
35 | char id=62 x=167 y=93 width=17 height=18 xoffset=-2 yoffset=6 xadvance=13 page=0 chnl=15
36 | char id=63 x=150 y=71 width=17 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
37 | char id=64 x=176 y=0 width=22 height=22 xoffset=-3 yoffset=5 xadvance=16 page=0 chnl=15
38 | char id=65 x=175 y=46 width=20 height=21 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=15
39 | char id=66 x=168 y=68 width=17 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
40 | char id=67 x=21 y=27 width=19 height=22 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=15
41 | char id=68 x=57 y=72 width=18 height=21 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=15
42 | char id=69 x=222 y=68 width=16 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
43 | char id=70 x=51 y=95 width=15 height=21 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15
44 | char id=71 x=0 y=28 width=20 height=22 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=15
45 | char id=72 x=0 y=74 width=18 height=21 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=15
46 | char id=73 x=114 y=93 width=10 height=21 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15
47 | char id=74 x=0 y=96 width=16 height=21 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15
48 | char id=75 x=19 y=74 width=18 height=21 xoffset=-2 yoffset=3 xadvance=13 page=0 chnl=15
49 | char id=76 x=17 y=96 width=16 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
50 | char id=77 x=110 y=49 width=22 height=21 xoffset=-3 yoffset=3 xadvance=17 page=0 chnl=15
51 | char id=78 x=38 y=73 width=18 height=21 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=15
52 | char id=79 x=221 y=0 width=21 height=22 xoffset=-3 yoffset=3 xadvance=16 page=0 chnl=15
53 | char id=80 x=132 y=71 width=17 height=21 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
54 | char id=81 x=129 y=0 width=22 height=24 xoffset=-3 yoffset=3 xadvance=16 page=0 chnl=15
55 | char id=82 x=114 y=71 width=17 height=21 xoffset=-2 yoffset=3 xadvance=13 page=0 chnl=15
56 | char id=83 x=153 y=23 width=17 height=22 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
57 | char id=84 x=76 y=72 width=18 height=21 xoffset=-2 yoffset=3 xadvance=13 page=0 chnl=15
58 | char id=85 x=95 y=71 width=18 height=21 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=15
59 | char id=86 x=154 y=46 width=20 height=21 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=15
60 | char id=87 x=85 y=49 width=24 height=21 xoffset=-3 yoffset=3 xadvance=19 page=0 chnl=15
61 | char id=88 x=216 y=46 width=19 height=21 xoffset=-3 yoffset=3 xadvance=13 page=0 chnl=15
62 | char id=89 x=133 y=49 width=20 height=21 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=15
63 | char id=90 x=204 y=68 width=17 height=21 xoffset=-2 yoffset=3 xadvance=13 page=0 chnl=15
64 | char id=91 x=87 y=0 width=13 height=25 xoffset=-1 yoffset=3 xadvance=10 page=0 chnl=15
65 | char id=92 x=68 y=49 width=16 height=22 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15
66 | char id=93 x=101 y=0 width=13 height=25 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15
67 | char id=94 x=191 y=109 width=19 height=16 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=15
68 | char id=95 x=83 y=134 width=19 height=9 xoffset=-3 yoffset=19 xadvance=12 page=0 chnl=15
69 | char id=96 x=15 y=136 width=13 height=12 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15
70 | char id=97 x=127 y=115 width=16 height=17 xoffset=-3 yoffset=7 xadvance=11 page=0 chnl=15
71 | char id=98 x=117 y=26 width=17 height=22 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
72 | char id=99 x=76 y=116 width=16 height=17 xoffset=-3 yoffset=7 xadvance=10 page=0 chnl=15
73 | char id=100 x=51 y=49 width=16 height=22 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15
74 | char id=101 x=237 y=90 width=17 height=17 xoffset=-3 yoffset=7 xadvance=11 page=0 chnl=15
75 | char id=102 x=67 y=94 width=15 height=21 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=15
76 | char id=103 x=189 y=23 width=17 height=22 xoffset=-3 yoffset=7 xadvance=12 page=0 chnl=15
77 | char id=104 x=34 y=50 width=16 height=22 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
78 | char id=105 x=242 y=23 width=9 height=22 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15
79 | char id=106 x=10 y=0 width=13 height=26 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=15
80 | char id=107 x=171 y=23 width=17 height=22 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15
81 | char id=108 x=243 y=0 width=9 height=22 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15
82 | char id=109 x=0 y=118 width=21 height=17 xoffset=-2 yoffset=7 xadvance=16 page=0 chnl=15
83 | char id=110 x=93 y=116 width=16 height=17 xoffset=-2 yoffset=7 xadvance=12 page=0 chnl=15
84 | char id=111 x=22 y=118 width=17 height=17 xoffset=-3 yoffset=7 xadvance=11 page=0 chnl=15
85 | char id=112 x=225 y=23 width=16 height=22 xoffset=-2 yoffset=7 xadvance=12 page=0 chnl=15
86 | char id=113 x=0 y=51 width=16 height=22 xoffset=-3 yoffset=7 xadvance=12 page=0 chnl=15
87 | char id=114 x=176 y=112 width=14 height=17 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15
88 | char id=115 x=144 y=114 width=15 height=17 xoffset=-3 yoffset=7 xadvance=10 page=0 chnl=15
89 | char id=116 x=83 y=94 width=15 height=21 xoffset=-3 yoffset=4 xadvance=10 page=0 chnl=15
90 | char id=117 x=110 y=115 width=16 height=17 xoffset=-2 yoffset=8 xadvance=11 page=0 chnl=15
91 | char id=118 x=40 y=118 width=17 height=17 xoffset=-3 yoffset=8 xadvance=11 page=0 chnl=15
92 | char id=119 x=214 y=90 width=22 height=17 xoffset=-3 yoffset=8 xadvance=16 page=0 chnl=15
93 | char id=120 x=58 y=117 width=17 height=17 xoffset=-3 yoffset=8 xadvance=11 page=0 chnl=15
94 | char id=121 x=207 y=23 width=17 height=22 xoffset=-3 yoffset=8 xadvance=11 page=0 chnl=15
95 | char id=122 x=160 y=112 width=15 height=17 xoffset=-2 yoffset=8 xadvance=11 page=0 chnl=15
96 | char id=123 x=58 y=0 width=14 height=25 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15
97 | char id=124 x=0 y=0 width=9 height=27 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15
98 | char id=125 x=42 y=0 width=15 height=25 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15
99 | char id=126 x=52 y=136 width=19 height=11 xoffset=-3 yoffset=10 xadvance=14 page=0 chnl=15
100 |
--------------------------------------------------------------------------------