package net.lax1dude.eaglercraft.v1_8.minecraft;

/**
 * Copyright (c) 2024 lax1dude. All Rights Reserved.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 * 
 */
public class FontMappingHelper {

	public static int lookupChar(char c, boolean incSel) {
		switch(c) {
		case 167:
			return incSel ? 256 : -1;
		case 192:
			return 0;
		case 193:
			return 1;
		case 194:
			return 2;
		case 200:
			return 3;
		case 202:
			return 4;
		case 203:
			return 5;
		case 205:
			return 6;
		case 211:
			return 7;
		case 212:
			return 8;
		case 213:
			return 9;
		case 218:
			return 10;
		case 223:
			return 11;
		case 227:
			return 12;
		case 245:
			return 13;
		case 287:
			return 14;
		case 304:
			return 15;
		case 305:
			return 16;
		case 338:
			return 17;
		case 339:
			return 18;
		case 350:
			return 19;
		case 351:
			return 20;
		case 372:
			return 21;
		case 373:
			return 22;
		case 382:
			return 23;
		case 519:
			return 24;
		case 0:
			return 25;
		case 32:
			return 32;
		case 33:
			return 33;
		case 34:
			return 34;
		case 35:
			return 35;
		case 36:
			return 36;
		case 37:
			return 37;
		case 38:
			return 38;
		case 39:
			return 39;
		case 40:
			return 40;
		case 41:
			return 41;
		case 42:
			return 42;
		case 43:
			return 43;
		case 44:
			return 44;
		case 45:
			return 45;
		case 46:
			return 46;
		case 47:
			return 47;
		case 48:
			return 48;
		case 49:
			return 49;
		case 50:
			return 50;
		case 51:
			return 51;
		case 52:
			return 52;
		case 53:
			return 53;
		case 54:
			return 54;
		case 55:
			return 55;
		case 56:
			return 56;
		case 57:
			return 57;
		case 58:
			return 58;
		case 59:
			return 59;
		case 60:
			return 60;
		case 61:
			return 61;
		case 62:
			return 62;
		case 63:
			return 63;
		case 64:
			return 64;
		case 65:
			return 65;
		case 66:
			return 66;
		case 67:
			return 67;
		case 68:
			return 68;
		case 69:
			return 69;
		case 70:
			return 70;
		case 71:
			return 71;
		case 72:
			return 72;
		case 73:
			return 73;
		case 74:
			return 74;
		case 75:
			return 75;
		case 76:
			return 76;
		case 77:
			return 77;
		case 78:
			return 78;
		case 79:
			return 79;
		case 80:
			return 80;
		case 81:
			return 81;
		case 82:
			return 82;
		case 83:
			return 83;
		case 84:
			return 84;
		case 85:
			return 85;
		case 86:
			return 86;
		case 87:
			return 87;
		case 88:
			return 88;
		case 89:
			return 89;
		case 90:
			return 90;
		case 91:
			return 91;
		case 92:
			return 92;
		case 93:
			return 93;
		case 94:
			return 94;
		case 95:
			return 95;
		case 96:
			return 96;
		case 97:
			return 97;
		case 98:
			return 98;
		case 99:
			return 99;
		case 100:
			return 100;
		case 101:
			return 101;
		case 102:
			return 102;
		case 103:
			return 103;
		case 104:
			return 104;
		case 105:
			return 105;
		case 106:
			return 106;
		case 107:
			return 107;
		case 108:
			return 108;
		case 109:
			return 109;
		case 110:
			return 110;
		case 111:
			return 111;
		case 112:
			return 112;
		case 113:
			return 113;
		case 114:
			return 114;
		case 115:
			return 115;
		case 116:
			return 116;
		case 117:
			return 117;
		case 118:
			return 118;
		case 119:
			return 119;
		case 120:
			return 120;
		case 121:
			return 121;
		case 122:
			return 122;
		case 123:
			return 123;
		case 124:
			return 124;
		case 125:
			return 125;
		case 126:
			return 126;
		case 199:
			return 128;
		case 252:
			return 129;
		case 233:
			return 130;
		case 226:
			return 131;
		case 228:
			return 132;
		case 224:
			return 133;
		case 229:
			return 134;
		case 231:
			return 135;
		case 234:
			return 136;
		case 235:
			return 137;
		case 232:
			return 138;
		case 239:
			return 139;
		case 238:
			return 140;
		case 236:
			return 141;
		case 196:
			return 142;
		case 197:
			return 143;
		case 201:
			return 144;
		case 230:
			return 145;
		case 198:
			return 146;
		case 244:
			return 147;
		case 246:
			return 148;
		case 242:
			return 149;
		case 251:
			return 150;
		case 249:
			return 151;
		case 255:
			return 152;
		case 214:
			return 153;
		case 220:
			return 154;
		case 248:
			return 155;
		case 163:
			return 156;
		case 216:
			return 157;
		case 215:
			return 158;
		case 402:
			return 159;
		case 225:
			return 160;
		case 237:
			return 161;
		case 243:
			return 162;
		case 250:
			return 163;
		case 241:
			return 164;
		case 209:
			return 165;
		case 170:
			return 166;
		case 186:
			return 167;
		case 191:
			return 168;
		case 174:
			return 169;
		case 172:
			return 170;
		case 189:
			return 171;
		case 188:
			return 172;
		case 161:
			return 173;
		case 171:
			return 174;
		case 187:
			return 175;
		case 9617:
			return 176;
		case 9618:
			return 177;
		case 9619:
			return 178;
		case 9474:
			return 179;
		case 9508:
			return 180;
		case 9569:
			return 181;
		case 9570:
			return 182;
		case 9558:
			return 183;
		case 9557:
			return 184;
		case 9571:
			return 185;
		case 9553:
			return 186;
		case 9559:
			return 187;
		case 9565:
			return 188;
		case 9564:
			return 189;
		case 9563:
			return 190;
		case 9488:
			return 191;
		case 9492:
			return 192;
		case 9524:
			return 193;
		case 9516:
			return 194;
		case 9500:
			return 195;
		case 9472:
			return 196;
		case 9532:
			return 197;
		case 9566:
			return 198;
		case 9567:
			return 199;
		case 9562:
			return 200;
		case 9556:
			return 201;
		case 9577:
			return 202;
		case 9574:
			return 203;
		case 9568:
			return 204;
		case 9552:
			return 205;
		case 9580:
			return 206;
		case 9575:
			return 207;
		case 9576:
			return 208;
		case 9572:
			return 209;
		case 9573:
			return 210;
		case 9561:
			return 211;
		case 9560:
			return 212;
		case 9554:
			return 213;
		case 9555:
			return 214;
		case 9579:
			return 215;
		case 9578:
			return 216;
		case 9496:
			return 217;
		case 9484:
			return 218;
		case 9608:
			return 219;
		case 9604:
			return 220;
		case 9612:
			return 221;
		case 9616:
			return 222;
		case 9600:
			return 223;
		case 945:
			return 224;
		case 946:
			return 225;
		case 915:
			return 226;
		case 960:
			return 227;
		case 931:
			return 228;
		case 963:
			return 229;
		case 956:
			return 230;
		case 964:
			return 231;
		case 934:
			return 232;
		case 920:
			return 233;
		case 937:
			return 234;
		case 948:
			return 235;
		case 8734:
			return 236;
		case 8709:
			return 237;
		case 8712:
			return 238;
		case 8745:
			return 239;
		case 8801:
			return 240;
		case 177:
			return 241;
		case 8805:
			return 242;
		case 8804:
			return 243;
		case 8992:
			return 244;
		case 8993:
			return 245;
		case 247:
			return 246;
		case 8776:
			return 247;
		case 176:
			return 248;
		case 8729:
			return 249;
		case 183:
			return 250;
		case 8730:
			return 251;
		case 8319:
			return 252;
		case 178:
			return 253;
		case 9632:
			return 254;
		default:
			return -1;
		}
	}

}
