b2evolution PHP Cross Reference Blogging Systems

Source: /plugins/tinymce_plugin/tiny_mce/themes/advanced/js/charmap.js - 363 lines - 15430 bytes - Summary - Text - Print

Description: charmap.js

   1  /**
   2   * charmap.js
   3   *
   4   * Copyright 2009, Moxiecode Systems AB
   5   * Released under LGPL License.
   6   *
   7   * License: http://tinymce.moxiecode.com/license
   8   * Contributing: http://tinymce.moxiecode.com/contributing
   9   */
  10  
  11  tinyMCEPopup.requireLangPack();
  12  
  13  var charmap = [
  14      [' ',    ' ',  true, 'no-break space'],
  15      ['&',     '&',   true, 'ampersand'],
  16      ['"',    '"',   true, 'quotation mark'],
  17  // finance
  18      ['¢',    '¢',  true, 'cent sign'],
  19      ['€',    '€', true, 'euro sign'],
  20      ['£',   '£',  true, 'pound sign'],
  21      ['¥',     '¥',  true, 'yen sign'],
  22  // signs
  23      ['©',    '©',  true, 'copyright sign'],
  24      ['®',     '®',  true, 'registered sign'],
  25      ['™',   '™', true, 'trade mark sign'],
  26      ['‰',  '‰', true, 'per mille sign'],
  27      ['µ',   'µ',  true, 'micro sign'],
  28      ['·',  '·',  true, 'middle dot'],
  29      ['•',    '•', true, 'bullet'],
  30      ['…',  '…', true, 'three dot leader'],
  31      ['′',   '′', true, 'minutes / feet'],
  32      ['″',   '″', true, 'seconds / inches'],
  33      ['§',    '§',  true, 'section sign'],
  34      ['¶',    '¶',  true, 'paragraph sign'],
  35      ['ß',   'ß',  true, 'sharp s / ess-zed'],
  36  // quotations
  37      ['‹',  '‹', true, 'single left-pointing angle quotation mark'],
  38      ['›',  '›', true, 'single right-pointing angle quotation mark'],
  39      ['«',   '«',  true, 'left pointing guillemet'],
  40      ['»',   '»',  true, 'right pointing guillemet'],
  41      ['‘',   '‘', true, 'left single quotation mark'],
  42      ['’',   '’', true, 'right single quotation mark'],
  43      ['“',   '“', true, 'left double quotation mark'],
  44      ['”',   '”', true, 'right double quotation mark'],
  45      ['‚',   '‚', true, 'single low-9 quotation mark'],
  46      ['„',   '„', true, 'double low-9 quotation mark'],
  47      ['<',      '<',   true, 'less-than sign'],
  48      ['>',      '>',   true, 'greater-than sign'],
  49      ['≤',      '≤', true, 'less-than or equal to'],
  50      ['≥',      '≥', true, 'greater-than or equal to'],
  51      ['–',   '–', true, 'en dash'],
  52      ['—',   '—', true, 'em dash'],
  53      ['¯',    '¯',  true, 'macron'],
  54      ['‾',   '‾', true, 'overline'],
  55      ['¤',  '¤',  true, 'currency sign'],
  56      ['¦',  '¦',  true, 'broken bar'],
  57      ['¨',     '¨',  true, 'diaeresis'],
  58      ['¡',   '¡',  true, 'inverted exclamation mark'],
  59      ['¿',  '¿',  true, 'turned question mark'],
  60      ['ˆ',    'ˆ',  true, 'circumflex accent'],
  61      ['˜',   '˜',  true, 'small tilde'],
  62      ['°',     '°',  true, 'degree sign'],
  63      ['−',   '−', true, 'minus sign'],
  64      ['±',  '±',  true, 'plus-minus sign'],
  65      ['÷',  '÷',  true, 'division sign'],
  66      ['⁄',   '⁄', true, 'fraction slash'],
  67      ['×',   '×',  true, 'multiplication sign'],
  68      ['¹',    '¹',  true, 'superscript one'],
  69      ['²',    '²',  true, 'superscript two'],
  70      ['³',    '³',  true, 'superscript three'],
  71      ['¼',  '¼',  true, 'fraction one quarter'],
  72      ['½',  '½',  true, 'fraction one half'],
  73      ['¾',  '¾',  true, 'fraction three quarters'],
  74  // math / logical
  75      ['ƒ',    'ƒ',  true, 'function / florin'],
  76      ['∫',     '∫', true, 'integral'],
  77      ['∑',     '∑', true, 'n-ary sumation'],
  78      ['∞',   '∞', true, 'infinity'],
  79      ['√',   '√', true, 'square root'],
  80      ['∼',     '∼', false,'similar to'],
  81      ['≅',    '≅', false,'approximately equal to'],
  82      ['≈',   '≈', true, 'almost equal to'],
  83      ['≠',      '≠', true, 'not equal to'],
  84      ['≡',   '≡', true, 'identical to'],
  85      ['∈',    '∈', false,'element of'],
  86      ['∉',   '∉', false,'not an element of'],
  87      ['∋',      '∋', false,'contains as member'],
  88      ['∏',    '∏', true, 'n-ary product'],
  89      ['∧',     '∧', false,'logical and'],
  90      ['∨',      '∨', false,'logical or'],
  91      ['¬',     '¬',  true, 'not sign'],
  92      ['∩',     '∩', true, 'intersection'],
  93      ['∪',     '∪', false,'union'],
  94      ['∂',    '∂', true, 'partial differential'],
  95      ['∀',  '∀', false,'for all'],
  96      ['∃',   '∃', false,'there exists'],
  97      ['∅',   '∅', false,'diameter'],
  98      ['∇',   '∇', false,'backward difference'],
  99      ['∗',  '∗', false,'asterisk operator'],
 100      ['∝',    '∝', false,'proportional to'],
 101      ['∠',     '∠', false,'angle'],
 102  // undefined
 103      ['´',   '´',  true, 'acute accent'],
 104      ['¸',   '¸',  true, 'cedilla'],
 105      ['ª',    'ª',  true, 'feminine ordinal indicator'],
 106      ['º',    'º',  true, 'masculine ordinal indicator'],
 107      ['†',  '†', true, 'dagger'],
 108      ['‡',  '‡', true, 'double dagger'],
 109  // alphabetical special chars
 110      ['À',  'À',  true, 'A - grave'],
 111      ['Á',  'Á',  true, 'A - acute'],
 112      ['Â',   'Â',  true, 'A - circumflex'],
 113      ['Ã',  'Ã',  true, 'A - tilde'],
 114      ['Ä',    'Ä',  true, 'A - diaeresis'],
 115      ['Å',   'Å',  true, 'A - ring above'],
 116      ['Æ',   'Æ',  true, 'ligature AE'],
 117      ['Ç',  'Ç',  true, 'C - cedilla'],
 118      ['È',  'È',  true, 'E - grave'],
 119      ['É',  'É',  true, 'E - acute'],
 120      ['Ê',   'Ê',  true, 'E - circumflex'],
 121      ['Ë',    'Ë',  true, 'E - diaeresis'],
 122      ['Ì',  'Ì',  true, 'I - grave'],
 123      ['Í',  'Í',  true, 'I - acute'],
 124      ['Î',   'Î',  true, 'I - circumflex'],
 125      ['Ï',    'Ï',  true, 'I - diaeresis'],
 126      ['Ð',     'Ð',  true, 'ETH'],
 127      ['Ñ',  'Ñ',  true, 'N - tilde'],
 128      ['Ò',  'Ò',  true, 'O - grave'],
 129      ['Ó',  'Ó',  true, 'O - acute'],
 130      ['Ô',   'Ô',  true, 'O - circumflex'],
 131      ['Õ',  'Õ',  true, 'O - tilde'],
 132      ['Ö',    'Ö',  true, 'O - diaeresis'],
 133      ['Ø',  'Ø',  true, 'O - slash'],
 134      ['Œ',   'Œ',  true, 'ligature OE'],
 135      ['Š',  'Š',  true, 'S - caron'],
 136      ['Ù',  'Ù',  true, 'U - grave'],
 137      ['Ú',  'Ú',  true, 'U - acute'],
 138      ['Û',   'Û',  true, 'U - circumflex'],
 139      ['Ü',    'Ü',  true, 'U - diaeresis'],
 140      ['Ý',  'Ý',  true, 'Y - acute'],
 141      ['Ÿ',    'Ÿ',  true, 'Y - diaeresis'],
 142      ['Þ',   'Þ',  true, 'THORN'],
 143      ['à',  'à',  true, 'a - grave'],
 144      ['á',  'á',  true, 'a - acute'],
 145      ['â',   'â',  true, 'a - circumflex'],
 146      ['ã',  'ã',  true, 'a - tilde'],
 147      ['ä',    'ä',  true, 'a - diaeresis'],
 148      ['å',   'å',  true, 'a - ring above'],
 149      ['æ',   'æ',  true, 'ligature ae'],
 150      ['ç',  'ç',  true, 'c - cedilla'],
 151      ['è',  'è',  true, 'e - grave'],
 152      ['é',  'é',  true, 'e - acute'],
 153      ['ê',   'ê',  true, 'e - circumflex'],
 154      ['ë',    'ë',  true, 'e - diaeresis'],
 155      ['ì',  'ì',  true, 'i - grave'],
 156      ['í',  'í',  true, 'i - acute'],
 157      ['î',   'î',  true, 'i - circumflex'],
 158      ['ï',    'ï',  true, 'i - diaeresis'],
 159      ['ð',     'ð',  true, 'eth'],
 160      ['ñ',  'ñ',  true, 'n - tilde'],
 161      ['ò',  'ò',  true, 'o - grave'],
 162      ['ó',  'ó',  true, 'o - acute'],
 163      ['ô',   'ô',  true, 'o - circumflex'],
 164      ['õ',  'õ',  true, 'o - tilde'],
 165      ['ö',    'ö',  true, 'o - diaeresis'],
 166      ['ø',  'ø',  true, 'o slash'],
 167      ['œ',   'œ',  true, 'ligature oe'],
 168      ['š',  'š',  true, 's - caron'],
 169      ['ù',  'ù',  true, 'u - grave'],
 170      ['ú',  'ú',  true, 'u - acute'],
 171      ['û',   'û',  true, 'u - circumflex'],
 172      ['ü',    'ü',  true, 'u - diaeresis'],
 173      ['ý',  'ý',  true, 'y - acute'],
 174      ['þ',   'þ',  true, 'thorn'],
 175      ['ÿ',    'ÿ',  true, 'y - diaeresis'],
 176      ['Α',   'Α',  true, 'Alpha'],
 177      ['Β',    'Β',  true, 'Beta'],
 178      ['Γ',   'Γ',  true, 'Gamma'],
 179      ['Δ',   'Δ',  true, 'Delta'],
 180      ['Ε', 'Ε',  true, 'Epsilon'],
 181      ['Ζ',    'Ζ',  true, 'Zeta'],
 182      ['Η',     'Η',  true, 'Eta'],
 183      ['Θ',   'Θ',  true, 'Theta'],
 184      ['Ι',    'Ι',  true, 'Iota'],
 185      ['Κ',   'Κ',  true, 'Kappa'],
 186      ['Λ',  'Λ',  true, 'Lambda'],
 187      ['Μ',      'Μ',  true, 'Mu'],
 188      ['Ν',      'Ν',  true, 'Nu'],
 189      ['Ξ',      'Ξ',  true, 'Xi'],
 190      ['Ο', 'Ο',  true, 'Omicron'],
 191      ['Π',      'Π',  true, 'Pi'],
 192      ['Ρ',     'Ρ',  true, 'Rho'],
 193      ['Σ',   'Σ',  true, 'Sigma'],
 194      ['Τ',     'Τ',  true, 'Tau'],
 195      ['Υ', 'Υ',  true, 'Upsilon'],
 196      ['Φ',     'Φ',  true, 'Phi'],
 197      ['Χ',     'Χ',  true, 'Chi'],
 198      ['Ψ',     'Ψ',  true, 'Psi'],
 199      ['Ω',   'Ω',  true, 'Omega'],
 200      ['α',   'α',  true, 'alpha'],
 201      ['β',    'β',  true, 'beta'],
 202      ['γ',   'γ',  true, 'gamma'],
 203      ['δ',   'δ',  true, 'delta'],
 204      ['ε', 'ε',  true, 'epsilon'],
 205      ['ζ',    'ζ',  true, 'zeta'],
 206      ['η',     'η',  true, 'eta'],
 207      ['θ',   'θ',  true, 'theta'],
 208      ['ι',    'ι',  true, 'iota'],
 209      ['κ',   'κ',  true, 'kappa'],
 210      ['λ',  'λ',  true, 'lambda'],
 211      ['μ',      'μ',  true, 'mu'],
 212      ['ν',      'ν',  true, 'nu'],
 213      ['ξ',      'ξ',  true, 'xi'],
 214      ['ο', 'ο',  true, 'omicron'],
 215      ['π',      'π',  true, 'pi'],
 216      ['ρ',     'ρ',  true, 'rho'],
 217      ['ς',  'ς',  true, 'final sigma'],
 218      ['σ',   'σ',  true, 'sigma'],
 219      ['τ',     'τ',  true, 'tau'],
 220      ['υ', 'υ',  true, 'upsilon'],
 221      ['φ',     'φ',  true, 'phi'],
 222      ['χ',     'χ',  true, 'chi'],
 223      ['ψ',     'ψ',  true, 'psi'],
 224      ['ω',   'ω',  true, 'omega'],
 225  // symbols
 226      ['ℵ', 'ℵ', false,'alef symbol'],
 227      ['ϖ',     'ϖ',  false,'pi symbol'],
 228      ['ℜ',    'ℜ', false,'real part symbol'],
 229      ['ϑ','ϑ',  false,'theta symbol'],
 230      ['ϒ',   'ϒ',  false,'upsilon - hook symbol'],
 231      ['℘',  '℘', false,'Weierstrass p'],
 232      ['ℑ',   'ℑ', false,'imaginary part'],
 233  // arrows
 234      ['←',    '←', true, 'leftwards arrow'],
 235      ['↑',    '↑', true, 'upwards arrow'],
 236      ['→',    '→', true, 'rightwards arrow'],
 237      ['↓',    '↓', true, 'downwards arrow'],
 238      ['↔',    '↔', true, 'left right arrow'],
 239      ['↵',   '↵', false,'carriage return'],
 240      ['⇐',    '⇐', false,'leftwards double arrow'],
 241      ['⇑',    '⇑', false,'upwards double arrow'],
 242      ['⇒',    '⇒', false,'rightwards double arrow'],
 243      ['⇓',    '⇓', false,'downwards double arrow'],
 244      ['⇔',    '⇔', false,'left right double arrow'],
 245      ['∴',  '∴', false,'therefore'],
 246      ['⊂',     '⊂', false,'subset of'],
 247      ['⊃',     '⊃', false,'superset of'],
 248      ['⊄',    '⊄', false,'not a subset of'],
 249      ['⊆',    '⊆', false,'subset of or equal to'],
 250      ['⊇',    '⊇', false,'superset of or equal to'],
 251      ['⊕',   '⊕', false,'circled plus'],
 252      ['⊗',  '⊗', false,'circled times'],
 253      ['⊥',    '⊥', false,'perpendicular'],
 254      ['⋅',    '⋅', false,'dot operator'],
 255      ['⌈',   '⌈', false,'left ceiling'],
 256      ['⌉',   '⌉', false,'right ceiling'],
 257      ['⌊',  '⌊', false,'left floor'],
 258      ['⌋',  '⌋', false,'right floor'],
 259      ['⟨',    '〈', false,'left-pointing angle bracket'],
 260      ['⟩',    '〉', false,'right-pointing angle bracket'],
 261      ['◊',     '◊', true, 'lozenge'],
 262      ['♠',  '♠', true, 'black spade suit'],
 263      ['♣',   '♣', true, 'black club suit'],
 264      ['♥',  '♥', true, 'black heart suit'],
 265      ['♦',   '♦', true, 'black diamond suit'],
 266      [' ',    ' ', false,'en space'],
 267      [' ',    ' ', false,'em space'],
 268      [' ',  ' ', false,'thin space'],
 269      ['‌',    '‌', false,'zero width non-joiner'],
 270      ['‍',     '‍', false,'zero width joiner'],
 271      ['‎',     '‎', false,'left-to-right mark'],
 272      ['‏',     '‏', false,'right-to-left mark'],
 273      ['­',     '­',  false,'soft hyphen']
 274  ];
 275  
 276  tinyMCEPopup.onInit.add(function() {
 277      tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());
 278      addKeyboardNavigation();
 279  });
 280  
 281  function addKeyboardNavigation(){
 282      var tableElm, cells, settings;
 283  
 284      cells = tinyMCEPopup.dom.select("a.charmaplink", "charmapgroup");
 285  
 286      settings ={
 287          root: "charmapgroup",
 288          items: cells
 289      };
 290      cells[0].tabindex=0;
 291      tinyMCEPopup.dom.addClass(cells[0], "mceFocus");
 292      if (tinymce.isGecko) {
 293          cells[0].focus();        
 294      } else {
 295          setTimeout(function(){
 296              cells[0].focus();
 297          }, 100);
 298      }
 299      tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);
 300  }
 301  
 302  function renderCharMapHTML() {
 303      var charsPerRow = 20, tdWidth=20, tdHeight=20, i;
 304      var html = '<div id="charmapgroup" aria-labelledby="charmap_label" tabindex="0" role="listbox">'+
 305      '<table role="presentation" border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + 
 306      '"><tr height="' + tdHeight + '">';
 307      var cols=-1;
 308  
 309      for (i=0; i<charmap.length; i++) {
 310          var previewCharFn;
 311  
 312          if (charmap[i][2]==true) {
 313              cols++;
 314              previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');';
 315              html += ''
 316                  + '<td class="charmap">'
 317                  + '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + ' '+ tinyMCEPopup.editor.translate("advanced_dlg.charmap_usage")+'">'
 318                  + charmap[i][1]
 319                  + '</a></td>';
 320              if ((cols+1) % charsPerRow == 0)
 321                  html += '</tr><tr height="' + tdHeight + '">';
 322          }
 323       }
 324  
 325      if (cols % charsPerRow > 0) {
 326          var padd = charsPerRow - (cols % charsPerRow);
 327          for (var i=0; i<padd-1; i++)
 328              html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
 329      }
 330  
 331      html += '</tr></table></div>';
 332      html = html.replace(/<tr height="20"><\/tr>/g, '');
 333  
 334      return html;
 335  }
 336  
 337  function insertChar(chr) {
 338      tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
 339  
 340      // Refocus in window
 341      if (tinyMCEPopup.isWindow)
 342          window.focus();
 343  
 344      tinyMCEPopup.editor.focus();
 345      tinyMCEPopup.close();
 346  }
 347  
 348  function previewChar(codeA, codeB, codeN) {
 349      var elmA = document.getElementById('codeA');
 350      var elmB = document.getElementById('codeB');
 351      var elmV = document.getElementById('codeV');
 352      var elmN = document.getElementById('codeN');
 353  
 354      if (codeA=='#160;') {
 355          elmV.innerHTML = '__';
 356      } else {
 357          elmV.innerHTML = '&' + codeA;
 358      }
 359  
 360      elmB.innerHTML = '&amp;' + codeA;
 361      elmA.innerHTML = '&amp;' + codeB;
 362      elmN.innerHTML = codeN;
 363  }

title

Description

title

Description

title

Description

title

title

Body