1/* 2 * pgn4web javascript chessboard 3 * copyright (C) 2009-2013 Paolo Casaschi 4 * see README file and http://pgn4web.casaschi.net 5 * for credits, license and more details 6 */ 7 8"use strict"; 9 10if ((typeof(blockChessInformantNAGSymbols) != "boolean") || (!blockChessInformantNAGSymbols)) { 11 12 if (typeof(ii) == "undefined") { var ii; } 13 14 var jsre = new RegExp("chess-informant-NAG-symbols\.js$", ""); 15 var FontPath = detectJavascriptLocation(jsre).replace(jsre, ""); 16 17 document.write('<link href="' + FontPath + 'pgn4web-font-ChessInformantReader.css" type="text/css" rel="stylesheet" />'); 18 document.write('<style type="text/css">.NAGs, .NAGl { font-family: "pgn4web ChessInformantReader"; line-height: 1em; }</style>'); 19 20 var Ns = '<span class="NAGs">'; 21 var Nl = '<span class="NAGl">'; 22 var Ne = '</span>'; 23 24 var basicNAGs = /^([\?!+#\s]|<span class="NAGs">[^<]*<.span>)+(\s|$)/; 25 26 if (typeof(NAGstyle) == "undefined") { var NAGstyle; } 27 NAGstyle = 'informantreader'; 28 29 NAG[0] = ''; 30 NAG[1] = '!'; // 'good move'; 31 NAG[2] = '?'; // 'bad move'; 32 NAG[3] = '!!'; // 'very good move'; 33 NAG[4] = '??'; // 'very bad move'; 34 NAG[5] = '!?'; // 'speculative move'; 35 NAG[6] = '?!'; // 'questionable move'; 36 NAG[7] = NAG[8] = Ns + 'ì' + Ne; // 'forced move'; 37 NAG[9] = '??'; // 'worst move'; 38 NAG[10] = NAG[11] = NAG[12] = Ns + '=' + Ne; // 'drawish position'; 39 NAG[13] = Ns + 'Õ' + Ne; // 'unclear position'; 40 NAG[14] = Ns + '¢' + Ne; // 'White has a slight advantage'; 41 NAG[15] = Ns + '£' + Ne; // 'Black has a slight advantage'; 42 NAG[16] = Ns + '¥' + Ne; // 'White has a moderate advantage'; 43 NAG[17] = Ns + '¤' + Ne; // 'Black has a moderate advantage'; 44 NAG[18] = NAG[20] = Ns + '+»' + Ne; // 'White has a decisive advantage'; 45 NAG[19] = NAG[21] = Ns + '»+' + Ne; // 'Black has a decisive advantage'; 46 NAG[22] = NAG[23] = Ns + 'Â' + Ne; // 'zugzwang'; 47 NAG[24] = NAG[25] = NAG[26] = NAG[27] = NAG[28] = NAG[29] = Ns + 'Á' + Ne; // 'space advantage'; 48 NAG[30] = NAG[31] = NAG[32] = NAG[33] = NAG[34] = NAG[35] = Ns + '¶' + Ne; // 'time (development) advantage'; 49 NAG[36] = NAG[37] = NAG[38] = NAG[39] = Ns + 'î' + Ne; // 'initiative'; 50 NAG[40] = NAG[41] = Ns + 'ï' + Ne; // 'attack'; 51 NAG[42] = NAG[43] = ''; // 'insufficient compensation for material deficit'; 52 NAG[44] = NAG[45] = NAG[46] = NAG[47] = Ns + '§' + Ne; // 'sufficient compensation for material deficit'; 53 NAG[48] = NAG[49] = NAG[50] = NAG[51] = NAG[52] = NAG[53] = Ns + '¿' + Ne; // 'center control advantage'; 54 for (ii = 54; ii <= 129; ii++) { NAG[ii] = ''; } 55 NAG[130] = NAG[131] = NAG[132] = NAG[133] = NAG[134] = NAG[135] = Ns + '|' + Ne; // 'counterplay'; 56 NAG[136] = NAG[137] = NAG[138] = NAG[139] = Ns + '°' + Ne; // 'time control pressure'; 57 58 NAG[140] = Nl + 'Å' + Ne; // 'with the idea'; 59 NAG[141] = ''; // 'aimed against'; 60 NAG[142] = Nl + 'Ä' + Ne; // 'better is'; 61 NAG[143] = ''; // 'worse is'; 62 NAG[144] = Nl + '=' + Ne; // 'equivalent is'; 63 NAG[145] = 'RR'; // 'editorial comment'; 64 NAG[146] = 'N'; // 'novelty'; 65 NAG[147] = NAG[244] = Nl + '^' + Ne; // 'weak point'; 66 NAG[148] = NAG[245] = Nl + 'Ï' + Ne; // 'endgame'; 67 NAG[149] = NAG[239] = Nl + ' ˜ ' + Ne; // 'file'; 68 NAG[150] = NAG[240] = Nl + '\' + Ne; // 'diagonal'; 69 NAG[151] = NAG[152] = NAG[246] = Nl + 'Ò' + Ne; // 'bishop pair'; 70 NAG[153] = NAG[247] = Nl + 'Ó' + Ne; // 'opposite bishops'; 71 NAG[154] = NAG[248] = Nl + 'Ô' + Ne; // 'same bishops'; 72 NAG[155] = NAG[156] = NAG[193] = NAG[249] = Nl + 'Ù' + Ne; // 'connected pawns'; 73 NAG[157] = NAG[158] = NAG[192] = NAG[250] = Nl + 'Û' + Ne; // 'isolated pawns'; 74 NAG[159] = NAG[160] = NAG[191] = NAG[251] = Nl + 'Ú' + Ne; // 'doubled pawns'; 75 NAG[161] = NAG[162] = NAG[252] = Nl + '‹' + Ne; // 'passed pawn'; 76 NAG[163] = NAG[164] = NAG[253] = Nl + '›' + Ne; // 'pawn majority'; 77 for (ii = 165; ii <= 189; ii++) { NAG[ii] = ''; } 78 NAG[190] = Nl + 'ß' + Ne; // 'etc'; 79 NAG[194] = ''; // 'hanging pawns'; 80 NAG[195] = ''; // 'backward pawns'; 81 for (ii = 196; ii <= 200; ii++) { NAG[ii] = ''; } 82 NAG[201] = NAG[220] = NAG[221] = ''; // 'diagram'; 83 for (ii = 202; ii <= 219; ii++) { NAG[ii] = ''; } 84 for (ii = 222; ii <= 237; ii++) { NAG[ii] = ''; } 85 NAG[238] = Nl + 'Á' + Ne; // 'space advantage'; 86 NAG[241] = Nl + '¿' + Ne; // 'center'; 87 NAG[242] = Nl + '}' + Ne; // 'kingside'; 88 NAG[243] = Nl + '{' + Ne; // 'queenside'; 89 NAG[254] = Nl + '‘' + Ne; // 'with'; 90 NAG[255] = Nl + '_' + Ne; // 'without'; 91 92} 93 94