Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 323 lines 16 kB view raw
1package org.bukkit.map; 2 3/** 4 * Represents the built-in Minecraft font. 5 */ 6public class MinecraftFont extends MapFont { 7 8 private static final int spaceSize = 2; 9 10 private static final String fontChars = " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "'abcdefghijklmnopqrstuvwxyz{|}~\u007F" + "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" + // Çüéâäàåç 11 "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" + // êëèïîìÄÅ 12 "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" + // ÉæÆôöòûù 13 "\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0191" + // ÿÖÜø£Ø×ƒ 14 "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" + // áíóúñѪº 15 "\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB"; // ¿®¬½¼¡«» 16 17 private static final int[][] fontData = new int[][] { 18 /* null */ { 0, 0, 0, 0, 0, 0, 0, 0 }, 19 /* 1 */ { 126, 129, 165, 129, 189, 153, 129, 126 }, 20 /* 2 */ { 126, 255, 219, 255, 195, 231, 255, 126 }, 21 /* 3 */ { 54, 127, 127, 127, 62, 28, 8, 0 }, 22 /* 4 */ { 8, 28, 62, 127, 62, 28, 8, 0 }, 23 /* 5 */ { 28, 62, 28, 127, 127, 62, 28, 62 }, 24 /* 6 */ { 8, 8, 28, 62, 127, 62, 28, 62 }, 25 /* 7 */ { 0, 0, 24, 60, 60, 24, 0, 0 }, 26 /* 8 */ { 255, 255, 231, 195, 195, 231, 255, 255 }, 27 /* 9 */ { 0, 60, 102, 66, 66, 102, 60, 0 }, 28 /* 10 */ { 255, 195, 153, 189, 189, 153, 195, 255 }, 29 /* 11 */ { 240, 224, 240, 190, 51, 51, 51, 30 }, 30 /* 12 */ { 60, 102, 102, 102, 60, 24, 126, 24 }, 31 /* 13 */ { 252, 204, 252, 12, 12, 14, 15, 7 }, 32 /* 14 */ { 254, 198, 254, 198, 198, 230, 103, 3 }, 33 /* 15 */ { 153, 90, 60, 231, 231, 60, 90, 153 }, 34 /* 16 */ { 1, 7, 31, 127, 31, 7, 1, 0 }, 35 /* 17 */ { 64, 112, 124, 127, 124, 112, 64, 0 }, 36 /* 18 */ { 24, 60, 126, 24, 24, 126, 60, 24 }, 37 /* 19 */ { 102, 102, 102, 102, 102, 0, 102, 0 }, 38 /* 20 */ { 254, 219, 219, 222, 216, 216, 216, 0 }, 39 /* 21 */ { 124, 198, 28, 54, 54, 28, 51, 30 }, 40 /* 22 */ { 0, 0, 0, 0, 126, 126, 126, 0 }, 41 /* 23 */ { 24, 60, 126, 24, 126, 60, 24, 255 }, 42 /* 24 */ { 24, 60, 126, 24, 24, 24, 24, 0 }, 43 /* 25 */ { 24, 24, 24, 24, 126, 60, 24, 0 }, 44 /* 26 */ { 0, 24, 48, 127, 48, 24, 0, 0 }, 45 /* 27 */ { 0, 12, 6, 127, 6, 12, 0, 0 }, 46 /* 28 */ { 0, 0, 3, 3, 3, 127, 0, 0 }, 47 /* 29 */ { 0, 36, 102, 255, 102, 36, 0, 0 }, 48 /* 30 */ { 0, 24, 60, 126, 255, 255, 0, 0 }, 49 /* 31 */ { 0, 255, 255, 126, 60, 24, 0, 0 }, 50 /* */ { 0, 0, 0, 0, 0, 0, 0, 0 }, 51 /* ! */ { 1, 1, 1, 1, 1, 0, 1, 0 }, 52 /* " */ { 10, 10, 5, 0, 0, 0, 0, 0 }, 53 /* # */ { 10, 10, 31, 10, 31, 10, 10, 0 }, 54 /* $ */ { 4, 30, 1, 14, 16, 15, 4, 0 }, 55 /* % */ { 17, 9, 8, 4, 2, 18, 17, 0 }, 56 /* & */ { 4, 10, 4, 22, 13, 9, 22, 0 }, 57 /* ' */ { 2, 2, 1, 0, 0, 0, 0, 0 }, 58 /* ( */ { 12, 2, 1, 1, 1, 2, 12, 0 }, 59 /* ) */ { 3, 4, 8, 8, 8, 4, 3, 0 }, 60 /* * */ { 0, 0, 9, 6, 9, 0, 0, 0 }, 61 /* + */ { 0, 4, 4, 31, 4, 4, 0, 0 }, 62 /* , */ { 0, 0, 0, 0, 0, 1, 1, 1 }, 63 /* - */ { 0, 0, 0, 31, 0, 0, 0, 0 }, 64 /* . */ { 0, 0, 0, 0, 0, 1, 1, 0 }, 65 /* / */ { 16, 8, 8, 4, 2, 2, 1, 0 }, 66 /* 0 */ { 14, 17, 25, 21, 19, 17, 14, 0 }, 67 /* 1 */ { 4, 6, 4, 4, 4, 4, 31, 0 }, 68 /* 2 */ { 14, 17, 16, 12, 2, 17, 31, 0 }, 69 /* 3 */ { 14, 17, 16, 12, 16, 17, 14, 0 }, 70 /* 4 */ { 24, 20, 18, 17, 31, 16, 16, 0 }, 71 /* 5 */ { 31, 1, 15, 16, 16, 17, 14, 0 }, 72 /* 6 */ { 12, 2, 1, 15, 17, 17, 14, 0 }, 73 /* 7 */ { 31, 17, 16, 8, 4, 4, 4, 0 }, 74 /* 8 */ { 14, 17, 17, 14, 17, 17, 14, 0 }, 75 /* 9 */ { 14, 17, 17, 30, 16, 8, 6, 0 }, 76 /* : */ { 0, 1, 1, 0, 0, 1, 1, 0 }, 77 /* ; */ { 0, 1, 1, 0, 0, 1, 1, 1 }, 78 /* < */ { 8, 4, 2, 1, 2, 4, 8, 0 }, 79 /* = */ { 0, 0, 31, 0, 0, 31, 0, 0 }, 80 /* > */ { 1, 2, 4, 8, 4, 2, 1, 0 }, 81 /* ? */ { 14, 17, 16, 8, 4, 0, 4, 0 }, 82 /* @ */ { 30, 33, 45, 45, 61, 1, 30, 0 }, 83 /* A */ { 14, 17, 31, 17, 17, 17, 17, 0 }, 84 /* B */ { 15, 17, 15, 17, 17, 17, 15, 0 }, 85 /* C */ { 14, 17, 1, 1, 1, 17, 14, 0 }, 86 /* D */ { 15, 17, 17, 17, 17, 17, 15, 0 }, 87 /* E */ { 31, 1, 7, 1, 1, 1, 31, 0 }, 88 /* F */ { 31, 1, 7, 1, 1, 1, 1, 0 }, 89 /* G */ { 30, 1, 25, 17, 17, 17, 14, 0 }, 90 /* H */ { 17, 17, 31, 17, 17, 17, 17, 0 }, 91 /* I */ { 7, 2, 2, 2, 2, 2, 7, 0 }, 92 /* J */ { 16, 16, 16, 16, 16, 17, 14, 0 }, 93 /* K */ { 17, 9, 7, 9, 17, 17, 17, 0 }, 94 /* L */ { 1, 1, 1, 1, 1, 1, 31, 0 }, 95 /* M */ { 17, 27, 21, 17, 17, 17, 17, 0 }, 96 /* N */ { 17, 19, 21, 25, 17, 17, 17, 0 }, 97 /* O */ { 14, 17, 17, 17, 17, 17, 14, 0 }, 98 /* P */ { 15, 17, 15, 1, 1, 1, 1, 0 }, 99 /* Q */ { 14, 17, 17, 17, 17, 9, 22, 0 }, 100 /* R */ { 15, 17, 15, 17, 17, 17, 17, 0 }, 101 /* S */ { 30, 1, 14, 16, 16, 17, 14, 0 }, 102 /* T */ { 31, 4, 4, 4, 4, 4, 4, 0 }, 103 /* U */ { 17, 17, 17, 17, 17, 17, 14, 0 }, 104 /* V */ { 17, 17, 17, 17, 10, 10, 4, 0 }, 105 /* W */ { 17, 17, 17, 17, 21, 27, 17, 0 }, 106 /* X */ { 17, 10, 4, 10, 17, 17, 17, 0 }, 107 /* Y */ { 17, 10, 4, 4, 4, 4, 4, 0 }, 108 /* Z */ { 31, 16, 8, 4, 2, 1, 31, 0 }, 109 /* [ */ { 7, 1, 1, 1, 1, 1, 7, 0 }, 110 /* \ */ { 1, 2, 2, 4, 8, 8, 16, 0 }, 111 /* ] */ { 7, 4, 4, 4, 4, 4, 7, 0 }, 112 /* ^ */ { 4, 10, 17, 0, 0, 0, 0, 0 }, 113 /* _ */ { 0, 0, 0, 0, 0, 0, 0, 31 }, 114 /* ` */ { 1, 1, 2, 0, 0, 0, 0, 0 }, 115 /* a */ { 0, 0, 14, 16, 30, 17, 30, 0 }, 116 /* b */ { 1, 1, 13, 19, 17, 17, 15, 0 }, 117 /* c */ { 0, 0, 14, 17, 1, 17, 14, 0 }, 118 /* d */ { 16, 16, 22, 25, 17, 17, 30, 0 }, 119 /* e */ { 0, 0, 14, 17, 31, 1, 30, 0 }, 120 /* f */ { 12, 2, 15, 2, 2, 2, 2, 0 }, 121 /* g */ { 0, 0, 30, 17, 17, 30, 16, 15 }, 122 /* h */ { 1, 1, 13, 19, 17, 17, 17, 0 }, 123 /* i */ { 1, 0, 1, 1, 1, 1, 1, 0 }, 124 /* j */ { 16, 0, 16, 16, 16, 17, 17, 14 }, 125 /* k */ { 1, 1, 9, 5, 3, 5, 9, 0 }, 126 /* l */ { 1, 1, 1, 1, 1, 1, 2, 0 }, 127 /* m */ { 0, 0, 11, 21, 21, 17, 17, 0 }, 128 /* n */ { 0, 0, 15, 17, 17, 17, 17, 0 }, 129 /* o */ { 0, 0, 14, 17, 17, 17, 14, 0 }, 130 /* p */ { 0, 0, 13, 19, 17, 15, 1, 1 }, 131 /* q */ { 0, 0, 22, 25, 17, 30, 16, 16 }, 132 /* r */ { 0, 0, 13, 19, 1, 1, 1, 0 }, 133 /* s */ { 0, 0, 30, 1, 14, 16, 15, 0 }, 134 /* t */ { 2, 2, 7, 2, 2, 2, 4, 0 }, 135 /* u */ { 0, 0, 17, 17, 17, 17, 30, 0 }, 136 /* v */ { 0, 0, 17, 17, 17, 10, 4, 0 }, 137 /* w */ { 0, 0, 17, 17, 21, 21, 30, 0 }, 138 /* x */ { 0, 0, 17, 10, 4, 10, 17, 0 }, 139 /* y */ { 0, 0, 17, 17, 17, 30, 16, 15 }, 140 /* z */ { 0, 0, 31, 8, 4, 2, 31, 0 }, 141 /* { */ { 12, 2, 2, 1, 2, 2, 12, 0 }, 142 /* | */ { 1, 1, 1, 0, 1, 1, 1, 0 }, 143 /* } */ { 3, 4, 4, 8, 4, 4, 3, 0 }, 144 /* ~ */ { 38, 25, 0, 0, 0, 0, 0, 0 }, 145 /* ⌂ */ { 0, 0, 4, 10, 17, 17, 31, 0 }, 146 /* Ç */ { 14, 17, 1, 1, 17, 14, 16, 12 }, 147 /* ü */ { 10, 0, 17, 17, 17, 17, 30, 0 }, 148 /* é */ { 24, 0, 14, 17, 31, 1, 30, 0 }, 149 /* â */ { 14, 17, 14, 16, 30, 17, 30, 0 }, 150 /* ä */ { 10, 0, 14, 16, 30, 17, 30, 0 }, 151 /* à */ { 3, 0, 14, 16, 30, 17, 30, 0 }, 152 /* å */ { 4, 0, 14, 16, 30, 17, 30, 0 }, 153 /* ç */ { 0, 14, 17, 1, 17, 14, 16, 12 }, 154 /* ê */ { 14, 17, 14, 17, 31, 1, 30, 0 }, 155 /* ë */ { 10, 0, 14, 17, 31, 1, 30, 0 }, 156 /* è */ { 3, 0, 14, 17, 31, 1, 30, 0 }, 157 /* ï */ { 5, 0, 2, 2, 2, 2, 2, 0 }, 158 /* î */ { 14, 17, 4, 4, 4, 4, 4, 0 }, 159 /* ì */ { 3, 0, 2, 2, 2, 2, 2, 0 }, 160 /* Ä */ { 17, 14, 17, 31, 17, 17, 17, 0 }, 161 /* Å */ { 4, 0, 14, 17, 31, 17, 17, 0 }, 162 /* É */ { 24, 0, 31, 1, 7, 1, 31, 0 }, 163 /* æ */ { 0, 0, 10, 20, 30, 5, 30, 0 }, 164 /* Æ */ { 30, 5, 15, 5, 5, 5, 29, 0 }, 165 /* ô */ { 14, 17, 14, 17, 17, 17, 14, 0 }, 166 /* ö */ { 10, 0, 14, 17, 17, 17, 14, 0 }, 167 /* ò */ { 3, 0, 14, 17, 17, 17, 14, 0 }, 168 /* û */ { 14, 17, 0, 17, 17, 17, 30, 0 }, 169 /* ù */ { 3, 0, 17, 17, 17, 17, 30, 0 }, 170 /* ÿ */ { 10, 0, 17, 17, 17, 30, 16, 15 }, 171 /* Ö */ { 17, 14, 17, 17, 17, 17, 14, 0 }, 172 /* Ü */ { 17, 0, 17, 17, 17, 17, 14, 0 }, 173 /* ø */ { 0, 0, 14, 25, 21, 19, 14, 4 }, 174 /* £ */ { 12, 18, 2, 15, 2, 2, 31, 0 }, 175 /* Ø */ { 14, 17, 25, 21, 19, 17, 14, 0 }, 176 /* × */ { 0, 0, 5, 2, 5, 0, 0, 0 }, 177 /* ƒ */ { 8, 20, 4, 14, 4, 4, 5, 2 }, 178 /* á */ { 24, 0, 14, 16, 30, 17, 30, 0 }, 179 /* í */ { 3, 0, 1, 1, 1, 1, 1, 0 }, 180 /* ó */ { 24, 0, 14, 17, 17, 17, 14, 0 }, 181 /* ú */ { 24, 0, 17, 17, 17, 17, 30, 0 }, 182 /* ñ */ { 31, 0, 15, 17, 17, 17, 17, 0 }, 183 /* Ñ */ { 31, 0, 17, 19, 21, 25, 17, 0 }, 184 /* ª */ { 14, 16, 31, 30, 0, 31, 0, 0 }, 185 /* º */ { 14, 17, 17, 14, 0, 31, 0, 0 }, 186 /* ¿ */ { 4, 0, 4, 2, 1, 17, 14, 0 }, 187 /* ® */ { 0, 30, 45, 37, 43, 30, 0, 0 }, 188 /* ¬ */ { 0, 0, 0, 31, 16, 16, 0, 0 }, 189 /* ½ */ { 17, 9, 8, 4, 18, 10, 25, 0 }, 190 /* ¼ */ { 17, 9, 8, 4, 26, 26, 17, 0 }, 191 /* ¡ */ { 0, 1, 0, 1, 1, 1, 1, 0 }, 192 /* « */ { 0, 20, 10, 5, 10, 20, 0, 0 }, 193 /* » */ { 0, 5, 10, 20, 10, 5, 0, 0 }, 194 /* 176 */ { 68, 17, 68, 17, 68, 17, 68, 17 }, 195 /* 177 */ { 170, 85, 170, 85, 170, 85, 170, 85 }, 196 /* 178 */ { 219, 238, 219, 119, 219, 238, 219, 119 }, 197 /* 179 */ { 24, 24, 24, 24, 24, 24, 24, 24 }, 198 /* 180 */ { 24, 24, 24, 24, 31, 24, 24, 24 }, 199 /* 181 */ { 24, 24, 31, 24, 31, 24, 24, 24 }, 200 /* 182 */ { 108, 108, 108, 108, 111, 108, 108, 108 }, 201 /* 183 */ { 0, 0, 0, 0, 127, 108, 108, 108 }, 202 /* 184 */ { 0, 0, 31, 24, 31, 24, 24, 24 }, 203 /* 185 */ { 108, 108, 111, 96, 111, 108, 108, 108 }, 204 /* 186 */ { 108, 108, 108, 108, 108, 108, 108, 108 }, 205 /* 187 */ { 0, 0, 127, 96, 111, 108, 108, 108 }, 206 /* 188 */ { 108, 108, 111, 96, 127, 0, 0, 0 }, 207 /* 189 */ { 108, 108, 108, 108, 127, 0, 0, 0 }, 208 /* 190 */ { 24, 24, 31, 24, 31, 0, 0, 0 }, 209 /* 191 */ { 0, 0, 0, 0, 31, 24, 24, 24 }, 210 /* 192 */ { 24, 24, 24, 24, 248, 0, 0, 0 }, 211 /* 193 */ { 24, 24, 24, 24, 255, 0, 0, 0 }, 212 /* 194 */ { 0, 0, 0, 0, 255, 24, 24, 24 }, 213 /* 195 */ { 24, 24, 24, 24, 248, 24, 24, 24 }, 214 /* 196 */ { 0, 0, 0, 0, 255, 0, 0, 0 }, 215 /* 197 */ { 24, 24, 24, 24, 255, 24, 24, 24 }, 216 /* 198 */ { 24, 24, 248, 24, 248, 24, 24, 24 }, 217 /* 199 */ { 108, 108, 108, 108, 236, 108, 108, 108 }, 218 /* 200 */ { 108, 108, 236, 12, 252, 0, 0, 0 }, 219 /* 201 */ { 0, 0, 252, 12, 236, 108, 108, 108 }, 220 /* 202 */ { 108, 108, 239, 0, 255, 0, 0, 0 }, 221 /* 203 */ { 0, 0, 255, 0, 239, 108, 108, 108 }, 222 /* 204 */ { 108, 108, 236, 12, 236, 108, 108, 108 }, 223 /* 205 */ { 0, 0, 255, 0, 255, 0, 0, 0 }, 224 /* 206 */ { 108, 108, 239, 0, 239, 108, 108, 108 }, 225 /* 207 */ { 24, 24, 255, 0, 255, 0, 0, 0 }, 226 /* 208 */ { 108, 108, 108, 108, 255, 0, 0, 0 }, 227 /* 209 */ { 0, 0, 255, 0, 255, 24, 24, 24 }, 228 /* 210 */ { 0, 0, 0, 0, 255, 108, 108, 108 }, 229 /* 211 */ { 108, 108, 108, 108, 252, 0, 0, 0 }, 230 /* 212 */ { 24, 24, 248, 24, 248, 0, 0, 0 }, 231 /* 213 */ { 0, 0, 248, 24, 248, 24, 24, 24 }, 232 /* 214 */ { 0, 0, 0, 0, 252, 108, 108, 108 }, 233 /* 215 */ { 108, 108, 108, 108, 255, 108, 108, 108 }, 234 /* 216 */ { 24, 24, 255, 24, 255, 24, 24, 24 }, 235 /* 217 */ { 24, 24, 24, 24, 31, 0, 0, 0 }, 236 /* 218 */ { 0, 0, 0, 0, 248, 24, 24, 24 }, 237 /* 219 */ { 255, 255, 255, 255, 255, 255, 255, 255 }, 238 /* 220 */ { 0, 0, 0, 0, 255, 255, 255, 255 }, 239 /* 221 */ { 15, 15, 15, 15, 15, 15, 15, 15 }, 240 /* 222 */ { 240, 240, 240, 240, 240, 240, 240, 240 }, 241 /* 223 */ { 255, 255, 255, 255, 0, 0, 0, 0 }, 242 /* 224 */ { 0, 0, 110, 59, 19, 59, 110, 0 }, 243 /* 225 */ { 0, 30, 51, 31, 51, 31, 3, 3 }, 244 /* 226 */ { 0, 63, 51, 3, 3, 3, 3, 0 }, 245 /* 227 */ { 0, 127, 54, 54, 54, 54, 54, 0 }, 246 /* 228 */ { 63, 51, 6, 12, 6, 51, 63, 0 }, 247 /* 229 */ { 0, 0, 126, 27, 27, 27, 14, 0 }, 248 /* 230 */ { 0, 102, 102, 102, 102, 62, 6, 3 }, 249 /* 231 */ { 0, 110, 59, 24, 24, 24, 24, 0 }, 250 /* 232 */ { 63, 12, 30, 51, 51, 30, 12, 63 }, 251 /* 233 */ { 28, 54, 99, 127, 99, 54, 28, 0 }, 252 /* 234 */ { 28, 54, 99, 99, 54, 54, 119, 0 }, 253 /* 235 */ { 56, 12, 24, 62, 51, 51, 30, 0 }, 254 /* 236 */ { 0, 0, 126, 219, 219, 126, 0, 0 }, 255 /* 237 */ { 96, 48, 126, 219, 219, 126, 6, 3 }, 256 /* 238 */ { 28, 6, 3, 31, 3, 6, 28, 0 }, 257 /* 239 */ { 30, 51, 51, 51, 51, 51, 51, 0 }, 258 /* 240 */ { 0, 63, 0, 63, 0, 63, 0, 0 }, 259 /* 241 */ { 12, 12, 63, 12, 12, 0, 63, 0 }, 260 /* 242 */ { 6, 12, 24, 12, 6, 0, 63, 0 }, 261 /* 243 */ { 24, 12, 6, 12, 24, 0, 63, 0 }, 262 /* 244 */ { 112, 216, 216, 24, 24, 24, 24, 24 }, 263 /* 245 */ { 24, 24, 24, 24, 24, 27, 27, 14 }, 264 /* 246 */ { 12, 12, 0, 63, 0, 12, 12, 0 }, 265 /* 247 */ { 0, 110, 59, 0, 110, 59, 0, 0 }, 266 /* 248 */ { 28, 54, 54, 28, 0, 0, 0, 0 }, 267 /* 249 */ { 0, 0, 0, 24, 24, 0, 0, 0 }, 268 /* 250 */ { 0, 0, 0, 0, 24, 0, 0, 0 }, 269 /* 251 */ { 240, 48, 48, 48, 55, 54, 60, 56 }, 270 /* 252 */ { 30, 54, 54, 54, 54, 0, 0, 0 }, 271 /* 253 */ { 14, 24, 12, 6, 30, 0, 0, 0 }, 272 /* 254 */ { 0, 0, 60, 60, 60, 60, 0, 0 }, 273 /* 255 */ { 0, 0, 0, 0, 0, 0, 0, 0 }, }; 274 275 /** 276 * A static non-malleable MinecraftFont. 277 */ 278 public static final MinecraftFont Font = new MinecraftFont(false); 279 280 /** 281 * Initialize a new MinecraftFont. 282 */ 283 public MinecraftFont() { 284 this(true); 285 } 286 287 private MinecraftFont(boolean malleable) { 288 for (int i = 1; i < fontData.length; ++i) { 289 char ch = (char) i; 290 if (i >= 32 && i < 32 + fontChars.length()) { 291 ch = fontChars.charAt(i - 32); 292 } 293 294 if (ch == ' ') { 295 setChar(ch, new CharacterSprite(spaceSize, 8, new boolean[spaceSize * 8])); 296 continue; 297 } 298 299 int[] rows = fontData[i]; 300 int width = 0; 301 for (int r = 0; r < 8; ++r) { 302 for (int c = 0; c < 8; ++c) { 303 if ((rows[r] & (1 << c)) != 0 && c > width) { 304 width = c; 305 } 306 } 307 } 308 ++width; 309 310 boolean[] data = new boolean[width * 8]; 311 for (int r = 0; r < 8; ++r) { 312 for (int c = 0; c < width; ++c) { 313 data[r * width + c] = (rows[r] & (1 << c)) != 0; 314 } 315 } 316 317 setChar(ch, new CharacterSprite(width, 8, data)); 318 } 319 320 this.malleable = malleable; 321 } 322 323}