source: branches/1.2/workflow/js/fckeditor/editor/_source/internals/fckxhtmlentities.js @ 1349

Revision 1349, 6.5 KB checked in by niltonneto, 15 years ago (diff)

Ticket #561 - Inclusão do módulo Workflow faltante nessa versão.

  • Property svn:executable set to *
Line 
1/*
2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3 * Copyright (C) 2003-2007 Frederico Caldeira Knabben
4 *
5 * == BEGIN LICENSE ==
6 *
7 * Licensed under the terms of any of the following licenses at your
8 * choice:
9 *
10 *  - GNU General Public License Version 2 or later (the "GPL")
11 *    http://www.gnu.org/licenses/gpl.html
12 *
13 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
14 *    http://www.gnu.org/licenses/lgpl.html
15 *
16 *  - Mozilla Public License Version 1.1 or later (the "MPL")
17 *    http://www.mozilla.org/MPL/MPL-1.1.html
18 *
19 * == END LICENSE ==
20 *
21 * This file define the HTML entities handled by the editor.
22 */
23
24var FCKXHtmlEntities = new Object() ;
25
26FCKXHtmlEntities.Initialize = function()
27{
28        if ( FCKXHtmlEntities.Entities )
29                return ;
30
31        var sChars = '' ;
32        var oEntities, e ;
33
34        if ( FCKConfig.ProcessHTMLEntities )
35        {
36                FCKXHtmlEntities.Entities = {
37                        // Latin-1 Entities
38                        ' ':'nbsp',
39                        '¡':'iexcl',
40                        '¢':'cent',
41                        '£':'pound',
42                        '¤':'curren',
43                        '¥':'yen',
44                        '¦':'brvbar',
45                        '§':'sect',
46                        '¨':'uml',
47                        '©':'copy',
48                        'ª':'ordf',
49                        '«':'laquo',
50                        '¬':'not',
51                        '­':'shy',
52                        '®':'reg',
53                        '¯':'macr',
54                        '°':'deg',
55                        '±':'plusmn',
56                        '²':'sup2',
57                        '³':'sup3',
58                        '´':'acute',
59                        'µ':'micro',
60                        '¶':'para',
61                        '·':'middot',
62                        '¸':'cedil',
63                        '¹':'sup1',
64                        'º':'ordm',
65                        '»':'raquo',
66                        '¼':'frac14',
67                        '½':'frac12',
68                        '¾':'frac34',
69                        '¿':'iquest',
70                        '×':'times',
71                        '÷':'divide',
72
73                        // Symbols
74
75                        'ƒ':'fnof',
76                        '•':'bull',
77                        '…':'hellip',
78                        '′':'prime',
79                        '″':'Prime',
80                        '‾':'oline',
81                        '⁄':'frasl',
82                        '℘':'weierp',
83                        'ℑ':'image',
84                        'ℜ':'real',
85                        '™':'trade',
86                        'ℵ':'alefsym',
87                        '←':'larr',
88                        '↑':'uarr',
89                        '→':'rarr',
90                        '↓':'darr',
91                        '↔':'harr',
92                        '↵':'crarr',
93                        '⇐':'lArr',
94                        '⇑':'uArr',
95                        '⇒':'rArr',
96                        '⇓':'dArr',
97                        '⇔':'hArr',
98                        '∀':'forall',
99                        '∂':'part',
100                        '∃':'exist',
101                        '∅':'empty',
102                        '∇':'nabla',
103                        '∈':'isin',
104                        '∉':'notin',
105                        '∋':'ni',
106                        '∏':'prod',
107                        '∑':'sum',
108                        '−':'minus',
109                        '∗':'lowast',
110                        '√':'radic',
111                        '∝':'prop',
112                        '∞':'infin',
113                        '∠':'ang',
114                        '∧':'and',
115                        '∨':'or',
116                        '∩':'cap',
117                        '∪':'cup',
118                        '∫':'int',
119                        '∴':'there4',
120                        '∼':'sim',
121                        '≅':'cong',
122                        '≈':'asymp',
123                        '≠':'ne',
124                        '≡':'equiv',
125                        '≤':'le',
126                        '≥':'ge',
127                        '⊂':'sub',
128                        '⊃':'sup',
129                        '⊄':'nsub',
130                        '⊆':'sube',
131                        '⊇':'supe',
132                        '⊕':'oplus',
133                        '⊗':'otimes',
134                        '⊥':'perp',
135                        '⋅':'sdot',
136                        '◊':'loz',
137                        '♠':'spades',
138                        '♣':'clubs',
139                        '♥':'hearts',
140                        '♦':'diams',
141
142                        // Other Special Characters
143
144                        '"':'quot',
145                //      '&':'amp',              // This entity is automatically handled by the XHTML parser.
146                //      '<':'lt',               // This entity is automatically handled by the XHTML parser.
147                //      '>':'gt',               // This entity is automatically handled by the XHTML parser.
148                        'ˆ':'circ',
149                        '˜':'tilde',
150                        ' ':'ensp',
151                        ' ':'emsp',
152                        ' ':'thinsp',
153                        '‌':'zwnj',
154                        '‍':'zwj',
155                        '‎':'lrm',
156                        '‏':'rlm',
157                        '–':'ndash',
158                        '—':'mdash',
159                        '‘':'lsquo',
160                        '’':'rsquo',
161                        '‚':'sbquo',
162                        '“':'ldquo',
163                        '”':'rdquo',
164                        '„':'bdquo',
165                        '†':'dagger',
166                        '‡':'Dagger',
167                        '‰':'permil',
168                        '‹':'lsaquo',
169                        '›':'rsaquo',
170                        '€':'euro'
171                } ;
172
173                // Process Base Entities.
174                for ( e in FCKXHtmlEntities.Entities )
175                        sChars += e ;
176
177                // Include Latin Letters Entities.
178                if ( FCKConfig.IncludeLatinEntities )
179                {
180                        oEntities = {
181                                'À':'Agrave',
182                                'Á':'Aacute',
183                                'Â':'Acirc',
184                                'Ã':'Atilde',
185                                'Ä':'Auml',
186                                'Å':'Aring',
187                                'Æ':'AElig',
188                                'Ç':'Ccedil',
189                                'È':'Egrave',
190                                'É':'Eacute',
191                                'Ê':'Ecirc',
192                                'Ë':'Euml',
193                                'Ì':'Igrave',
194                                'Í':'Iacute',
195                                'Î':'Icirc',
196                                'Ï':'Iuml',
197                                'Ð':'ETH',
198                                'Ñ':'Ntilde',
199                                'Ò':'Ograve',
200                                'Ó':'Oacute',
201                                'Ô':'Ocirc',
202                                'Õ':'Otilde',
203                                'Ö':'Ouml',
204                                'Ø':'Oslash',
205                                'Ù':'Ugrave',
206                                'Ú':'Uacute',
207                                'Û':'Ucirc',
208                                'Ü':'Uuml',
209                                'Ý':'Yacute',
210                                'Þ':'THORN',
211                                'ß':'szlig',
212                                'à':'agrave',
213                                'á':'aacute',
214                                'â':'acirc',
215                                'ã':'atilde',
216                                'ä':'auml',
217                                'å':'aring',
218                                'æ':'aelig',
219                                'ç':'ccedil',
220                                'è':'egrave',
221                                'é':'eacute',
222                                'ê':'ecirc',
223                                'ë':'euml',
224                                'ì':'igrave',
225                                'í':'iacute',
226                                'î':'icirc',
227                                'ï':'iuml',
228                                'ð':'eth',
229                                'ñ':'ntilde',
230                                'ò':'ograve',
231                                'ó':'oacute',
232                                'ô':'ocirc',
233                                'õ':'otilde',
234                                'ö':'ouml',
235                                'ø':'oslash',
236                                'ù':'ugrave',
237                                'ú':'uacute',
238                                'û':'ucirc',
239                                'ü':'uuml',
240                                'ý':'yacute',
241                                'þ':'thorn',
242                                'ÿ':'yuml',
243                                'Œ':'OElig',
244                                'œ':'oelig',
245                                'Š':'Scaron',
246                                'š':'scaron',
247                                'Ÿ':'Yuml'
248                        } ;
249
250                        for ( e in oEntities )
251                        {
252                                FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
253                                sChars += e ;
254                        }
255
256                        oEntities = null ;
257                }
258
259                // Include Greek Letters Entities.
260                if ( FCKConfig.IncludeGreekEntities )
261                {
262                        oEntities = {
263                                'Α':'Alpha',
264                                'Β':'Beta',
265                                'Γ':'Gamma',
266                                'Δ':'Delta',
267                                'Ε':'Epsilon',
268                                'Ζ':'Zeta',
269                                'Η':'Eta',
270                                'Θ':'Theta',
271                                'Ι':'Iota',
272                                'Κ':'Kappa',
273                                'Λ':'Lambda',
274                                'Μ':'Mu',
275                                'Ν':'Nu',
276                                'Ξ':'Xi',
277                                'Ο':'Omicron',
278                                'Π':'Pi',
279                                'Ρ':'Rho',
280                                'Σ':'Sigma',
281                                'Τ':'Tau',
282                                'Υ':'Upsilon',
283                                'Φ':'Phi',
284                                'Χ':'Chi',
285                                'Ψ':'Psi',
286                                'Ω':'Omega',
287                                'α':'alpha',
288                                'β':'beta',
289                                'γ':'gamma',
290                                'δ':'delta',
291                                'ε':'epsilon',
292                                'ζ':'zeta',
293                                'η':'eta',
294                                'θ':'theta',
295                                'ι':'iota',
296                                'κ':'kappa',
297                                'λ':'lambda',
298                                'μ':'mu',
299                                'ν':'nu',
300                                'ξ':'xi',
301                                'ο':'omicron',
302                                'π':'pi',
303                                'ρ':'rho',
304                                'ς':'sigmaf',
305                                'σ':'sigma',
306                                'τ':'tau',
307                                'υ':'upsilon',
308                                'φ':'phi',
309                                'χ':'chi',
310                                'ψ':'psi',
311                                'ω':'omega'
312                        } ;
313
314                        for ( e in oEntities )
315                        {
316                                FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
317                                sChars += e ;
318                        }
319
320                        oEntities = null ;
321                }
322        }
323        else
324        {
325                FCKXHtmlEntities.Entities = {} ;
326
327                // Even if we are not processing the entities, we must render the &nbsp;
328                // correctly. As we don't want HTML entities, let's use its numeric
329                // representation (&#160).
330                sChars = ' ' ;
331        }
332
333        // Create the Regex used to find entities in the text.
334        var sRegexPattern = '[' + sChars + ']' ;
335
336        if ( FCKConfig.ProcessNumericEntities )
337                sRegexPattern = '[^ -~]|' + sRegexPattern ;
338
339        var sAdditional = FCKConfig.AdditionalNumericEntities ;
340
341        if ( sAdditional && sAdditional.length > 0 )
342                sRegexPattern += '|' + FCKConfig.AdditionalNumericEntities ;
343
344        FCKXHtmlEntities.EntitiesRegex = new RegExp( sRegexPattern, 'g' ) ;
345}
Note: See TracBrowser for help on using the repository browser.