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