]> code.citadel.org Git - citadel.git/blobdiff - webcit/tiny_mce/themes/advanced/jscripts/charmap.js
src/crypto.c: possible fix for memory leak related
[citadel.git] / webcit / tiny_mce / themes / advanced / jscripts / charmap.js
index 07a09975e05497b128dcad53c4a90fc504a600d1..bc9df27b355059d9588840bac8b40a01e3c3b11a 100644 (file)
-function init() {
-       tinyMCEPopup.resizeToInnerSize();
-}
-
-var charmap = new Array();
-
-// for mor details please see w3c.org
-// now here is the complete list ;)
-
-charmap = [
-       [' ',    ' ',  true, 'no-break space'],
-       ['&',     '&',   true, 'ampersand'],
-       ['"',    '"',   true, 'quotation mark'],
-// finance
-       ['¢',    '¢',  true, 'cent sign'],
-       ['€',    '€', true, 'euro sign'],
-       ['£',   '£',  true, 'pound sign'],
-       ['¥',     '¥',  true, 'yen sign'],
-// signs
-       ['©',    '©',  true, 'copyright sign'],
-       ['®',     '®',  true, 'registered sign'],
-       ['™',   '™', true, 'trade mark sign'],
-       ['‰',  '‰', true, 'per mille sign'],
-       ['µ',   'µ',  true, 'micro sign'],
-       ['·',  '·',  true, 'middle dot'],
-       ['•',    '•', true, 'bullet'],
-       ['…',  '…', true, 'three dot leader'],
-       ['′',   '′', true, 'minutes / feet'],
-       ['″',   '″', true, 'seconds / inches'],
-       ['§',    '§',  true, 'section sign'],
-       ['¶',    '¶',  true, 'paragraph sign'],
-       ['ß',   'ß',  true, 'sharp s / ess-zed'],
-// quotations
-       ['‹',  '‹', true, 'single left-pointing angle quotation mark'],
-       ['›',  '›', true, 'single right-pointing angle quotation mark'],
-       ['«',   '«',  true, 'left pointing guillemet'],
-       ['»',   '»',  true, 'right pointing guillemet'],
-       ['‘',   '‘', true, 'left single quotation mark'],
-       ['’',   '’', true, 'right single quotation mark'],
-       ['“',   '“', true, 'left double quotation mark'],
-       ['”',   '”', true, 'right double quotation mark'],
-       ['‚',   '‚', true, 'single low-9 quotation mark'],
-       ['„',   '„', true, 'double low-9 quotation mark'],
-       ['<',      '<',   true, 'less-than sign'],
-       ['>',      '>',   true, 'greater-than sign'],
-       ['≤',      '≤', true, 'less-than or equal to'],
-       ['≥',      '≥', true, 'greater-than or equal to'],
-       ['–',   '–', true, 'en dash'],
-       ['—',   '—', true, 'em dash'],
-       ['¯',    '¯',  true, 'macron'],
-       ['‾',   '‾', true, 'overline'],
-       ['¤',  '¤',  true, 'currency sign'],
-       ['¦',  '¦',  true, 'broken bar'],
-       ['¨',     '¨',  true, 'diaeresis'],
-       ['¡',   '¡',  true, 'inverted exclamation mark'],
-       ['¿',  '¿',  true, 'turned question mark'],
-       ['ˆ',    'ˆ',  true, 'circumflex accent'],
-       ['˜',   '˜',  true, 'small tilde'],
-       ['°',     '°',  true, 'degree sign'],
-       ['−',   '−', true, 'minus sign'],
-       ['±',  '±',  true, 'plus-minus sign'],
-       ['÷',  '÷',  true, 'division sign'],
-       ['⁄',   '⁄', true, 'fraction slash'],
-       ['×',   '×',  true, 'multiplication sign'],
-       ['¹',    '¹',  true, 'superscript one'],
-       ['²',    '²',  true, 'superscript two'],
-       ['³',    '³',  true, 'superscript three'],
-       ['¼',  '¼',  true, 'fraction one quarter'],
-       ['½',  '½',  true, 'fraction one half'],
-       ['¾',  '¾',  true, 'fraction three quarters'],
-// math / logical
-       ['ƒ',    'ƒ',  true, 'function / florin'],
-       ['∫',     '∫', true, 'integral'],
-       ['∑',     '∑', true, 'n-ary sumation'],
-       ['∞',   '∞', true, 'infinity'],
-       ['√',   '√', true, 'square root'],
-       ['∼',     '∼', false,'similar to'],
-       ['≅',    '≅', false,'approximately equal to'],
-       ['≈',   '≈', true, 'almost equal to'],
-       ['≠',      '≠', true, 'not equal to'],
-       ['≡',   '≡', true, 'identical to'],
-       ['∈',    '∈', false,'element of'],
-       ['∉',   '∉', false,'not an element of'],
-       ['∋',      '∋', false,'contains as member'],
-       ['∏',    '∏', true, 'n-ary product'],
-       ['∧',     '∧', false,'logical and'],
-       ['∨',      '∨', false,'logical or'],
-       ['¬',     '¬',  true, 'not sign'],
-       ['∩',     '∩', true, 'intersection'],
-       ['∪',     '∪', false,'union'],
-       ['∂',    '∂', true, 'partial differential'],
-       ['∀',  '∀', false,'for all'],
-       ['∃',   '∃', false,'there exists'],
-       ['∅',   '∅', false,'diameter'],
-       ['∇',   '∇', false,'backward difference'],
-       ['∗',  '∗', false,'asterisk operator'],
-       ['∝',    '∝', false,'proportional to'],
-       ['∠',     '∠', false,'angle'],
-// undefined
-       ['´',   '´',  true, 'acute accent'],
-       ['¸',   '¸',  true, 'cedilla'],
-       ['ª',    'ª',  true, 'feminine ordinal indicator'],
-       ['º',    'º',  true, 'masculine ordinal indicator'],
-       ['†',  '†', true, 'dagger'],
-       ['‡',  '‡', true, 'double dagger'],
-// alphabetical special chars
-       ['À',  'À',  true, 'A - grave'],
-       ['Á',  'Á',  true, 'A - acute'],
-       ['Â',   'Â',  true, 'A - circumflex'],
-       ['Ã',  'Ã',  true, 'A - tilde'],
-       ['Ä',    'Ä',  true, 'A - diaeresis'],
-       ['Å',   'Å',  true, 'A - ring above'],
-       ['Æ',   'Æ',  true, 'ligature AE'],
-       ['Ç',  'Ç',  true, 'C - cedilla'],
-       ['È',  'È',  true, 'E - grave'],
-       ['É',  'É',  true, 'E - acute'],
-       ['Ê',   'Ê',  true, 'E - circumflex'],
-       ['Ë',    'Ë',  true, 'E - diaeresis'],
-       ['Ì',  'Ì',  true, 'I - grave'],
-       ['Í',  'Í',  true, 'I - acute'],
-       ['Î',   'Î',  true, 'I - circumflex'],
-       ['Ï',    'Ï',  true, 'I - diaeresis'],
-       ['Ð',     'Ð',  true, 'ETH'],
-       ['Ñ',  'Ñ',  true, 'N - tilde'],
-       ['Ò',  'Ò',  true, 'O - grave'],
-       ['Ó',  'Ó',  true, 'O - acute'],
-       ['Ô',   'Ô',  true, 'O - circumflex'],
-       ['Õ',  'Õ',  true, 'O - tilde'],
-       ['Ö',    'Ö',  true, 'O - diaeresis'],
-       ['Ø',  'Ø',  true, 'O - slash'],
-       ['Œ',   'Œ',  true, 'ligature OE'],
-       ['Š',  'Š',  true, 'S - caron'],
-       ['Ù',  'Ù',  true, 'U - grave'],
-       ['Ú',  'Ú',  true, 'U - acute'],
-       ['Û',   'Û',  true, 'U - circumflex'],
-       ['Ü',    'Ü',  true, 'U - diaeresis'],
-       ['Ý',  'Ý',  true, 'Y - acute'],
-       ['Ÿ',    'Ÿ',  true, 'Y - diaeresis'],
-       ['Þ',   'Þ',  true, 'THORN'],
-       ['à',  'à',  true, 'a - grave'],
-       ['á',  'á',  true, 'a - acute'],
-       ['â',   'â',  true, 'a - circumflex'],
-       ['ã',  'ã',  true, 'a - tilde'],
-       ['ä',    'ä',  true, 'a - diaeresis'],
-       ['å',   'å',  true, 'a - ring above'],
-       ['æ',   'æ',  true, 'ligature ae'],
-       ['ç',  'ç',  true, 'c - cedilla'],
-       ['è',  'è',  true, 'e - grave'],
-       ['é',  'é',  true, 'e - acute'],
-       ['ê',   'ê',  true, 'e - circumflex'],
-       ['ë',    'ë',  true, 'e - diaeresis'],
-       ['ì',  'ì',  true, 'i - grave'],
-       ['í',  'í',  true, 'i - acute'],
-       ['î',   'î',  true, 'i - circumflex'],
-       ['ï',    'ï',  true, 'i - diaeresis'],
-       ['ð',     'ð',  true, 'eth'],
-       ['ñ',  'ñ',  true, 'n - tilde'],
-       ['ò',  'ò',  true, 'o - grave'],
-       ['ó',  'ó',  true, 'o - acute'],
-       ['ô',   'ô',  true, 'o - circumflex'],
-       ['õ',  'õ',  true, 'o - tilde'],
-       ['ö',    'ö',  true, 'o - diaeresis'],
-       ['ø',  'ø',  true, 'o slash'],
-       ['œ',   'œ',  true, 'ligature oe'],
-       ['š',  'š',  true, 's - caron'],
-       ['ù',  'ù',  true, 'u - grave'],
-       ['ú',  'ú',  true, 'u - acute'],
-       ['û',   'û',  true, 'u - circumflex'],
-       ['ü',    'ü',  true, 'u - diaeresis'],
-       ['ý',  'ý',  true, 'y - acute'],
-       ['þ',   'þ',  true, 'thorn'],
-       ['ÿ',    'ÿ',  true, 'y - diaeresis'],
-// ['Α',   'Α',  true, 'Alpha'],
-       ['Β',    'Β',  true, 'Beta'],
-       ['Γ',   'Γ',  true, 'Gamma'],
-       ['Δ',   'Δ',  true, 'Delta'],
-       ['Ε', 'Ε',  true, 'Epsilon'],
-       ['Ζ',    'Ζ',  true, 'Zeta'],
-       ['Η',     'Η',  true, 'Eta'],
-       ['Θ',   'Θ',  true, 'Theta'],
-       ['Ι',    'Ι',  true, 'Iota'],
-       ['Κ',   'Κ',  true, 'Kappa'],
-       ['Λ',  'Λ',  true, 'Lambda'],
-       ['Μ',      'Μ',  true, 'Mu'],
-       ['Ν',      'Ν',  true, 'Nu'],
-       ['Ξ',      'Ξ',  true, 'Xi'],
-       ['Ο', 'Ο',  true, 'Omicron'],
-       ['Π',      'Π',  true, 'Pi'],
-       ['Ρ',     'Ρ',  true, 'Rho'],
-       ['Σ',   'Σ',  true, 'Sigma'],
-       ['Τ',     'Τ',  true, 'Tau'],
-       ['Υ', 'Υ',  true, 'Upsilon'],
-       ['Φ',     'Φ',  true, 'Phi'],
-       ['Χ',     'Χ',  true, 'Chi'],
-       ['Ψ',     'Ψ',  true, 'Psi'],
-       ['Ω',   'Ω',  true, 'Omega'],
-       ['α',   'α',  true, 'alpha'],
-       ['β',    'β',  true, 'beta'],
-       ['γ',   'γ',  true, 'gamma'],
-       ['δ',   'δ',  true, 'delta'],
-       ['ε', 'ε',  true, 'epsilon'],
-       ['ζ',    'ζ',  true, 'zeta'],
-       ['η',     'η',  true, 'eta'],
-       ['θ',   'θ',  true, 'theta'],
-       ['ι',    'ι',  true, 'iota'],
-       ['κ',   'κ',  true, 'kappa'],
-       ['λ',  'λ',  true, 'lambda'],
-       ['μ',      'μ',  true, 'mu'],
-       ['ν',      'ν',  true, 'nu'],
-       ['ξ',      'ξ',  true, 'xi'],
-       ['ο', 'ο',  true, 'omicron'],
-       ['π',      'π',  true, 'pi'],
-       ['ρ',     'ρ',  true, 'rho'],
-       ['ς',  'ς',  true, 'final sigma'],
-       ['σ',   'σ',  true, 'sigma'],
-       ['τ',     'τ',  true, 'tau'],
-       ['υ', 'υ',  true, 'upsilon'],
-       ['φ',     'φ',  true, 'phi'],
-       ['χ',     'χ',  true, 'chi'],
-       ['ψ',     'ψ',  true, 'psi'],
-       ['ω',   'ω',  true, 'omega'],
-// symbols
-       ['ℵ', 'ℵ', false,'alef symbol'],
-       ['ϖ',     'ϖ',  false,'pi symbol'],
-       ['ℜ',    'ℜ', false,'real part symbol'],
-       ['ϑ','ϑ',  false,'theta symbol'],
-       ['ϒ',   'ϒ',  false,'upsilon - hook symbol'],
-       ['℘',  '℘', false,'Weierstrass p'],
-       ['ℑ',   'ℑ', false,'imaginary part'],
-// arrows
-       ['←',    '←', true, 'leftwards arrow'],
-       ['↑',    '↑', true, 'upwards arrow'],
-       ['→',    '→', true, 'rightwards arrow'],
-       ['↓',    '↓', true, 'downwards arrow'],
-       ['↔',    '↔', true, 'left right arrow'],
-       ['↵',   '↵', false,'carriage return'],
-       ['⇐',    '⇐', false,'leftwards double arrow'],
-       ['⇑',    '⇑', false,'upwards double arrow'],
-       ['⇒',    '⇒', false,'rightwards double arrow'],
-       ['⇓',    '⇓', false,'downwards double arrow'],
-       ['⇔',    '⇔', false,'left right double arrow'],
-       ['∴',  '∴', false,'therefore'],
-       ['⊂',     '⊂', false,'subset of'],
-       ['⊃',     '⊃', false,'superset of'],
-       ['⊄',    '⊄', false,'not a subset of'],
-       ['⊆',    '⊆', false,'subset of or equal to'],
-       ['⊇',    '⊇', false,'superset of or equal to'],
-       ['⊕',   '⊕', false,'circled plus'],
-       ['⊗',  '⊗', false,'circled times'],
-       ['⊥',    '⊥', false,'perpendicular'],
-       ['⋅',    '⋅', false,'dot operator'],
-       ['⌈',   '⌈', false,'left ceiling'],
-       ['⌉',   '⌉', false,'right ceiling'],
-       ['⌊',  '⌊', false,'left floor'],
-       ['⌋',  '⌋', false,'right floor'],
-       ['⟨',    '〈', false,'left-pointing angle bracket'],
-       ['⟩',    '〉', false,'right-pointing angle bracket'],
-       ['◊',     '◊', true,'lozenge'],
-       ['♠',  '♠', false,'black spade suit'],
-       ['♣',   '♣', true, 'black club suit'],
-       ['♥',  '♥', true, 'black heart suit'],
-       ['♦',   '♦', true, 'black diamond suit'],
-       [' ',    ' ', false,'en space'],
-       [' ',    ' ', false,'em space'],
-       [' ',  ' ', false,'thin space'],
-       ['‌',    '‌', false,'zero width non-joiner'],
-       ['‍',     '‍', false,'zero width joiner'],
-       ['‎',     '‎', false,'left-to-right mark'],
-       ['‏',     '‏', false,'right-to-left mark'],
-       ['­',     '­',  false,'soft hyphen']
-];
-
-function renderCharMapHTML() {
-       var charsPerRow = 20, tdWidth=20, tdHeight=20;
-       var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
-       var cols=-1;
-       for (var i=0; i<charmap.length; i++) {
-               if (charmap[i][2]==true) {
-                       cols++;
-                       html += ''
-                               + '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
-                               + ' onmouseover="tinyMCE.switchClass(this,\'charmapOver\');'
-                               + 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
-                               + ' onmouseout="tinyMCE.restoreClass(this,\'charmapOver\');"'
-                               + ' nowrap="nowrap"><a style="text-decoration: none;" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onmousedown="return false;" title="' + charmap[i][3] + '">'
-                               + charmap[i][1]
-                               + '</a></td>';
-                       if ((cols+1) % charsPerRow == 0)
-                               html += '</tr><tr height="' + tdHeight + '">';
-               }
-        }
-       if (cols % charsPerRow > 0) {
-               var padd = charsPerRow - (cols % charsPerRow);
-               for (var i=0; i<padd-1; i++)
-                       html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
-       }
-       html += '</tr></table>';
-       document.write(html);
-}
-
-function insertChar(chr) {
-       tinyMCEPopup.execCommand('mceInsertContent', false, '\&#' + chr + ';');
-
-       // Refocus in window
-       if (tinyMCEPopup.isWindow)
-               window.focus();
-}
-
-function previewChar(codeA, codeB, codeN) {
-       var elmA = document.getElementById('codeA');
-       var elmB = document.getElementById('codeB');
-       var elmV = document.getElementById('codeV');
-       var elmN = document.getElementById('codeN');
-
-       if (codeA=='#160;') {
-               elmV.innerHTML = '__';
-       } else {
-               elmV.innerHTML = '&' + codeA;
-       }
-
-       elmB.innerHTML = '&amp;' + codeA;
-       elmA.innerHTML = '&amp;' + codeB;
-       elmN.innerHTML = codeN;
-}
+function init() {\r
+       tinyMCEPopup.resizeToInnerSize();\r
+}\r
+\r
+var charmap = new Array();\r
+\r
+// for mor details please see w3c.org\r
+// now here is the complete list ;)\r
+\r
+charmap = [\r
+       ['&nbsp;',    '&#160;',  true, 'no-break space'],\r
+       ['&amp;',     '&#38;',   true, 'ampersand'],\r
+       ['&quot;',    '&#34;',   true, 'quotation mark'],\r
+// finance\r
+       ['&cent;',    '&#162;',  true, 'cent sign'],\r
+       ['&euro;',    '&#8364;', true, 'euro sign'],\r
+       ['&pound;',   '&#163;',  true, 'pound sign'],\r
+       ['&yen;',     '&#165;',  true, 'yen sign'],\r
+// signs\r
+       ['&copy;',    '&#169;',  true, 'copyright sign'],\r
+       ['&reg;',     '&#174;',  true, 'registered sign'],\r
+       ['&trade;',   '&#8482;', true, 'trade mark sign'],\r
+       ['&permil;',  '&#8240;', true, 'per mille sign'],\r
+       ['&micro;',   '&#181;',  true, 'micro sign'],\r
+       ['&middot;',  '&#183;',  true, 'middle dot'],\r
+       ['&bull;',    '&#8226;', true, 'bullet'],\r
+       ['&hellip;',  '&#8230;', true, 'three dot leader'],\r
+       ['&prime;',   '&#8242;', true, 'minutes / feet'],\r
+       ['&Prime;',   '&#8243;', true, 'seconds / inches'],\r
+       ['&sect;',    '&#167;',  true, 'section sign'],\r
+       ['&para;',    '&#182;',  true, 'paragraph sign'],\r
+       ['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],\r
+// quotations\r
+       ['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],\r
+       ['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],\r
+       ['&laquo;',   '&#171;',  true, 'left pointing guillemet'],\r
+       ['&raquo;',   '&#187;',  true, 'right pointing guillemet'],\r
+       ['&lsquo;',   '&#8216;', true, 'left single quotation mark'],\r
+       ['&rsquo;',   '&#8217;', true, 'right single quotation mark'],\r
+       ['&ldquo;',   '&#8220;', true, 'left double quotation mark'],\r
+       ['&rdquo;',   '&#8221;', true, 'right double quotation mark'],\r
+       ['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],\r
+       ['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],\r
+       ['&lt;',      '&#60;',   true, 'less-than sign'],\r
+       ['&gt;',      '&#62;',   true, 'greater-than sign'],\r
+       ['&le;',      '&#8804;', true, 'less-than or equal to'],\r
+       ['&ge;',      '&#8805;', true, 'greater-than or equal to'],\r
+       ['&ndash;',   '&#8211;', true, 'en dash'],\r
+       ['&mdash;',   '&#8212;', true, 'em dash'],\r
+       ['&macr;',    '&#175;',  true, 'macron'],\r
+       ['&oline;',   '&#8254;', true, 'overline'],\r
+       ['&curren;',  '&#164;',  true, 'currency sign'],\r
+       ['&brvbar;',  '&#166;',  true, 'broken bar'],\r
+       ['&uml;',     '&#168;',  true, 'diaeresis'],\r
+       ['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],\r
+       ['&iquest;',  '&#191;',  true, 'turned question mark'],\r
+       ['&circ;',    '&#710;',  true, 'circumflex accent'],\r
+       ['&tilde;',   '&#732;',  true, 'small tilde'],\r
+       ['&deg;',     '&#176;',  true, 'degree sign'],\r
+       ['&minus;',   '&#8722;', true, 'minus sign'],\r
+       ['&plusmn;',  '&#177;',  true, 'plus-minus sign'],\r
+       ['&divide;',  '&#247;',  true, 'division sign'],\r
+       ['&frasl;',   '&#8260;', true, 'fraction slash'],\r
+       ['&times;',   '&#215;',  true, 'multiplication sign'],\r
+       ['&sup1;',    '&#185;',  true, 'superscript one'],\r
+       ['&sup2;',    '&#178;',  true, 'superscript two'],\r
+       ['&sup3;',    '&#179;',  true, 'superscript three'],\r
+       ['&frac14;',  '&#188;',  true, 'fraction one quarter'],\r
+       ['&frac12;',  '&#189;',  true, 'fraction one half'],\r
+       ['&frac34;',  '&#190;',  true, 'fraction three quarters'],\r
+// math / logical\r
+       ['&fnof;',    '&#402;',  true, 'function / florin'],\r
+       ['&int;',     '&#8747;', true, 'integral'],\r
+       ['&sum;',     '&#8721;', true, 'n-ary sumation'],\r
+       ['&infin;',   '&#8734;', true, 'infinity'],\r
+       ['&radic;',   '&#8730;', true, 'square root'],\r
+       ['&sim;',     '&#8764;', false,'similar to'],\r
+       ['&cong;',    '&#8773;', false,'approximately equal to'],\r
+       ['&asymp;',   '&#8776;', true, 'almost equal to'],\r
+       ['&ne;',      '&#8800;', true, 'not equal to'],\r
+       ['&equiv;',   '&#8801;', true, 'identical to'],\r
+       ['&isin;',    '&#8712;', false,'element of'],\r
+       ['&notin;',   '&#8713;', false,'not an element of'],\r
+       ['&ni;',      '&#8715;', false,'contains as member'],\r
+       ['&prod;',    '&#8719;', true, 'n-ary product'],\r
+       ['&and;',     '&#8743;', false,'logical and'],\r
+       ['&or;',      '&#8744;', false,'logical or'],\r
+       ['&not;',     '&#172;',  true, 'not sign'],\r
+       ['&cap;',     '&#8745;', true, 'intersection'],\r
+       ['&cup;',     '&#8746;', false,'union'],\r
+       ['&part;',    '&#8706;', true, 'partial differential'],\r
+       ['&forall;',  '&#8704;', false,'for all'],\r
+       ['&exist;',   '&#8707;', false,'there exists'],\r
+       ['&empty;',   '&#8709;', false,'diameter'],\r
+       ['&nabla;',   '&#8711;', false,'backward difference'],\r
+       ['&lowast;',  '&#8727;', false,'asterisk operator'],\r
+       ['&prop;',    '&#8733;', false,'proportional to'],\r
+       ['&ang;',     '&#8736;', false,'angle'],\r
+// undefined\r
+       ['&acute;',   '&#180;',  true, 'acute accent'],\r
+       ['&cedil;',   '&#184;',  true, 'cedilla'],\r
+       ['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],\r
+       ['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],\r
+       ['&dagger;',  '&#8224;', true, 'dagger'],\r
+       ['&Dagger;',  '&#8225;', true, 'double dagger'],\r
+// alphabetical special chars\r
+       ['&Agrave;',  '&#192;',  true, 'A - grave'],\r
+       ['&Aacute;',  '&#193;',  true, 'A - acute'],\r
+       ['&Acirc;',   '&#194;',  true, 'A - circumflex'],\r
+       ['&Atilde;',  '&#195;',  true, 'A - tilde'],\r
+       ['&Auml;',    '&#196;',  true, 'A - diaeresis'],\r
+       ['&Aring;',   '&#197;',  true, 'A - ring above'],\r
+       ['&AElig;',   '&#198;',  true, 'ligature AE'],\r
+       ['&Ccedil;',  '&#199;',  true, 'C - cedilla'],\r
+       ['&Egrave;',  '&#200;',  true, 'E - grave'],\r
+       ['&Eacute;',  '&#201;',  true, 'E - acute'],\r
+       ['&Ecirc;',   '&#202;',  true, 'E - circumflex'],\r
+       ['&Euml;',    '&#203;',  true, 'E - diaeresis'],\r
+       ['&Igrave;',  '&#204;',  true, 'I - grave'],\r
+       ['&Iacute;',  '&#205;',  true, 'I - acute'],\r
+       ['&Icirc;',   '&#206;',  true, 'I - circumflex'],\r
+       ['&Iuml;',    '&#207;',  true, 'I - diaeresis'],\r
+       ['&ETH;',     '&#208;',  true, 'ETH'],\r
+       ['&Ntilde;',  '&#209;',  true, 'N - tilde'],\r
+       ['&Ograve;',  '&#210;',  true, 'O - grave'],\r
+       ['&Oacute;',  '&#211;',  true, 'O - acute'],\r
+       ['&Ocirc;',   '&#212;',  true, 'O - circumflex'],\r
+       ['&Otilde;',  '&#213;',  true, 'O - tilde'],\r
+       ['&Ouml;',    '&#214;',  true, 'O - diaeresis'],\r
+       ['&Oslash;',  '&#216;',  true, 'O - slash'],\r
+       ['&OElig;',   '&#338;',  true, 'ligature OE'],\r
+       ['&Scaron;',  '&#352;',  true, 'S - caron'],\r
+       ['&Ugrave;',  '&#217;',  true, 'U - grave'],\r
+       ['&Uacute;',  '&#218;',  true, 'U - acute'],\r
+       ['&Ucirc;',   '&#219;',  true, 'U - circumflex'],\r
+       ['&Uuml;',    '&#220;',  true, 'U - diaeresis'],\r
+       ['&Yacute;',  '&#221;',  true, 'Y - acute'],\r
+       ['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],\r
+       ['&THORN;',   '&#222;',  true, 'THORN'],\r
+       ['&agrave;',  '&#224;',  true, 'a - grave'],\r
+       ['&aacute;',  '&#225;',  true, 'a - acute'],\r
+       ['&acirc;',   '&#226;',  true, 'a - circumflex'],\r
+       ['&atilde;',  '&#227;',  true, 'a - tilde'],\r
+       ['&auml;',    '&#228;',  true, 'a - diaeresis'],\r
+       ['&aring;',   '&#229;',  true, 'a - ring above'],\r
+       ['&aelig;',   '&#230;',  true, 'ligature ae'],\r
+       ['&ccedil;',  '&#231;',  true, 'c - cedilla'],\r
+       ['&egrave;',  '&#232;',  true, 'e - grave'],\r
+       ['&eacute;',  '&#233;',  true, 'e - acute'],\r
+       ['&ecirc;',   '&#234;',  true, 'e - circumflex'],\r
+       ['&euml;',    '&#235;',  true, 'e - diaeresis'],\r
+       ['&igrave;',  '&#236;',  true, 'i - grave'],\r
+       ['&iacute;',  '&#237;',  true, 'i - acute'],\r
+       ['&icirc;',   '&#238;',  true, 'i - circumflex'],\r
+       ['&iuml;',    '&#239;',  true, 'i - diaeresis'],\r
+       ['&eth;',     '&#240;',  true, 'eth'],\r
+       ['&ntilde;',  '&#241;',  true, 'n - tilde'],\r
+       ['&ograve;',  '&#242;',  true, 'o - grave'],\r
+       ['&oacute;',  '&#243;',  true, 'o - acute'],\r
+       ['&ocirc;',   '&#244;',  true, 'o - circumflex'],\r
+       ['&otilde;',  '&#245;',  true, 'o - tilde'],\r
+       ['&ouml;',    '&#246;',  true, 'o - diaeresis'],\r
+       ['&oslash;',  '&#248;',  true, 'o slash'],\r
+       ['&oelig;',   '&#339;',  true, 'ligature oe'],\r
+       ['&scaron;',  '&#353;',  true, 's - caron'],\r
+       ['&ugrave;',  '&#249;',  true, 'u - grave'],\r
+       ['&uacute;',  '&#250;',  true, 'u - acute'],\r
+       ['&ucirc;',   '&#251;',  true, 'u - circumflex'],\r
+       ['&uuml;',    '&#252;',  true, 'u - diaeresis'],\r
+       ['&yacute;',  '&#253;',  true, 'y - acute'],\r
+       ['&thorn;',   '&#254;',  true, 'thorn'],\r
+       ['&yuml;',    '&#255;',  true, 'y - diaeresis'],\r
+// ['&Alpha;',   '&#913;',  true, 'Alpha'],\r
+       ['&Beta;',    '&#914;',  true, 'Beta'],\r
+       ['&Gamma;',   '&#915;',  true, 'Gamma'],\r
+       ['&Delta;',   '&#916;',  true, 'Delta'],\r
+       ['&Epsilon;', '&#917;',  true, 'Epsilon'],\r
+       ['&Zeta;',    '&#918;',  true, 'Zeta'],\r
+       ['&Eta;',     '&#919;',  true, 'Eta'],\r
+       ['&Theta;',   '&#920;',  true, 'Theta'],\r
+       ['&Iota;',    '&#921;',  true, 'Iota'],\r
+       ['&Kappa;',   '&#922;',  true, 'Kappa'],\r
+       ['&Lambda;',  '&#923;',  true, 'Lambda'],\r
+       ['&Mu;',      '&#924;',  true, 'Mu'],\r
+       ['&Nu;',      '&#925;',  true, 'Nu'],\r
+       ['&Xi;',      '&#926;',  true, 'Xi'],\r
+       ['&Omicron;', '&#927;',  true, 'Omicron'],\r
+       ['&Pi;',      '&#928;',  true, 'Pi'],\r
+       ['&Rho;',     '&#929;',  true, 'Rho'],\r
+       ['&Sigma;',   '&#931;',  true, 'Sigma'],\r
+       ['&Tau;',     '&#932;',  true, 'Tau'],\r
+       ['&Upsilon;', '&#933;',  true, 'Upsilon'],\r
+       ['&Phi;',     '&#934;',  true, 'Phi'],\r
+       ['&Chi;',     '&#935;',  true, 'Chi'],\r
+       ['&Psi;',     '&#936;',  true, 'Psi'],\r
+       ['&Omega;',   '&#937;',  true, 'Omega'],\r
+       ['&alpha;',   '&#945;',  true, 'alpha'],\r
+       ['&beta;',    '&#946;',  true, 'beta'],\r
+       ['&gamma;',   '&#947;',  true, 'gamma'],\r
+       ['&delta;',   '&#948;',  true, 'delta'],\r
+       ['&epsilon;', '&#949;',  true, 'epsilon'],\r
+       ['&zeta;',    '&#950;',  true, 'zeta'],\r
+       ['&eta;',     '&#951;',  true, 'eta'],\r
+       ['&theta;',   '&#952;',  true, 'theta'],\r
+       ['&iota;',    '&#953;',  true, 'iota'],\r
+       ['&kappa;',   '&#954;',  true, 'kappa'],\r
+       ['&lambda;',  '&#955;',  true, 'lambda'],\r
+       ['&mu;',      '&#956;',  true, 'mu'],\r
+       ['&nu;',      '&#957;',  true, 'nu'],\r
+       ['&xi;',      '&#958;',  true, 'xi'],\r
+       ['&omicron;', '&#959;',  true, 'omicron'],\r
+       ['&pi;',      '&#960;',  true, 'pi'],\r
+       ['&rho;',     '&#961;',  true, 'rho'],\r
+       ['&sigmaf;',  '&#962;',  true, 'final sigma'],\r
+       ['&sigma;',   '&#963;',  true, 'sigma'],\r
+       ['&tau;',     '&#964;',  true, 'tau'],\r
+       ['&upsilon;', '&#965;',  true, 'upsilon'],\r
+       ['&phi;',     '&#966;',  true, 'phi'],\r
+       ['&chi;',     '&#967;',  true, 'chi'],\r
+       ['&psi;',     '&#968;',  true, 'psi'],\r
+       ['&omega;',   '&#969;',  true, 'omega'],\r
+// symbols\r
+       ['&alefsym;', '&#8501;', false,'alef symbol'],\r
+       ['&piv;',     '&#982;',  false,'pi symbol'],\r
+       ['&real;',    '&#8476;', false,'real part symbol'],\r
+       ['&thetasym;','&#977;',  false,'theta symbol'],\r
+       ['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],\r
+       ['&weierp;',  '&#8472;', false,'Weierstrass p'],\r
+       ['&image;',   '&#8465;', false,'imaginary part'],\r
+// arrows\r
+       ['&larr;',    '&#8592;', true, 'leftwards arrow'],\r
+       ['&uarr;',    '&#8593;', true, 'upwards arrow'],\r
+       ['&rarr;',    '&#8594;', true, 'rightwards arrow'],\r
+       ['&darr;',    '&#8595;', true, 'downwards arrow'],\r
+       ['&harr;',    '&#8596;', true, 'left right arrow'],\r
+       ['&crarr;',   '&#8629;', false,'carriage return'],\r
+       ['&lArr;',    '&#8656;', false,'leftwards double arrow'],\r
+       ['&uArr;',    '&#8657;', false,'upwards double arrow'],\r
+       ['&rArr;',    '&#8658;', false,'rightwards double arrow'],\r
+       ['&dArr;',    '&#8659;', false,'downwards double arrow'],\r
+       ['&hArr;',    '&#8660;', false,'left right double arrow'],\r
+       ['&there4;',  '&#8756;', false,'therefore'],\r
+       ['&sub;',     '&#8834;', false,'subset of'],\r
+       ['&sup;',     '&#8835;', false,'superset of'],\r
+       ['&nsub;',    '&#8836;', false,'not a subset of'],\r
+       ['&sube;',    '&#8838;', false,'subset of or equal to'],\r
+       ['&supe;',    '&#8839;', false,'superset of or equal to'],\r
+       ['&oplus;',   '&#8853;', false,'circled plus'],\r
+       ['&otimes;',  '&#8855;', false,'circled times'],\r
+       ['&perp;',    '&#8869;', false,'perpendicular'],\r
+       ['&sdot;',    '&#8901;', false,'dot operator'],\r
+       ['&lceil;',   '&#8968;', false,'left ceiling'],\r
+       ['&rceil;',   '&#8969;', false,'right ceiling'],\r
+       ['&lfloor;',  '&#8970;', false,'left floor'],\r
+       ['&rfloor;',  '&#8971;', false,'right floor'],\r
+       ['&lang;',    '&#9001;', false,'left-pointing angle bracket'],\r
+       ['&rang;',    '&#9002;', false,'right-pointing angle bracket'],\r
+       ['&loz;',     '&#9674;', true,'lozenge'],\r
+       ['&spades;',  '&#9824;', false,'black spade suit'],\r
+       ['&clubs;',   '&#9827;', true, 'black club suit'],\r
+       ['&hearts;',  '&#9829;', true, 'black heart suit'],\r
+       ['&diams;',   '&#9830;', true, 'black diamond suit'],\r
+       ['&ensp;',    '&#8194;', false,'en space'],\r
+       ['&emsp;',    '&#8195;', false,'em space'],\r
+       ['&thinsp;',  '&#8201;', false,'thin space'],\r
+       ['&zwnj;',    '&#8204;', false,'zero width non-joiner'],\r
+       ['&zwj;',     '&#8205;', false,'zero width joiner'],\r
+       ['&lrm;',     '&#8206;', false,'left-to-right mark'],\r
+       ['&rlm;',     '&#8207;', false,'right-to-left mark'],\r
+       ['&shy;',     '&#173;',  false,'soft hyphen']\r
+];\r
+\r
+function renderCharMapHTML() {\r
+       var charsPerRow = 20, tdWidth=20, tdHeight=20;\r
+       var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';\r
+       var cols=-1;\r
+       for (var i=0; i<charmap.length; i++) {\r
+               if (charmap[i][2]==true) {\r
+                       cols++;\r
+                       html += ''\r
+                               + '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'\r
+                               + ' onmouseover="tinyMCE.switchClass(this,\'charmapOver\');'\r
+                               + 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'\r
+                               + ' onmouseout="tinyMCE.restoreClass(this,\'charmapOver\');"'\r
+                               + ' nowrap="nowrap" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');"><a style="text-decoration: none;" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'\r
+                               + charmap[i][1]\r
+                               + '</a></td>';\r
+                       if ((cols+1) % charsPerRow == 0)\r
+                               html += '</tr><tr height="' + tdHeight + '">';\r
+               }\r
+        }\r
+       if (cols % charsPerRow > 0) {\r
+               var padd = charsPerRow - (cols % charsPerRow);\r
+               for (var i=0; i<padd-1; i++)\r
+                       html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';\r
+       }\r
+       html += '</tr></table>';\r
+       document.write(html);\r
+}\r
+\r
+function insertChar(chr) {\r
+       tinyMCEPopup.execCommand('mceInsertContent', false, '\&#' + chr + ';');\r
+\r
+       // Refocus in window\r
+       if (tinyMCEPopup.isWindow)\r
+               window.focus();\r
+}\r
+\r
+function previewChar(codeA, codeB, codeN) {\r
+       var elmA = document.getElementById('codeA');\r
+       var elmB = document.getElementById('codeB');\r
+       var elmV = document.getElementById('codeV');\r
+       var elmN = document.getElementById('codeN');\r
+\r
+       if (codeA=='#160;') {\r
+               elmV.innerHTML = '__';\r
+       } else {\r
+               elmV.innerHTML = '&' + codeA;\r
+       }\r
+\r
+       elmB.innerHTML = '&amp;' + codeA;\r
+       elmA.innerHTML = '&amp;' + codeB;\r
+       elmN.innerHTML = codeN;\r
+}\r