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