/source/Plug-in/fck/editor/_source/internals/fckxhtmlentities.js
http://prosporous.googlecode.com/ · JavaScript · 354 lines · 321 code · 8 blank · 25 comment · 2 complexity · 4e8b85bc72839f24390a8a2d230890df MD5 · raw file
- /*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This file define the HTML entities handled by the editor.
- */
-
- var FCKXHtmlEntities = new Object() ;
-
- FCKXHtmlEntities.Initialize = function()
- {
- if ( FCKXHtmlEntities.Entities )
- return ;
-
- var sChars = '' ;
- var oEntities, e ;
-
- if ( FCKConfig.ProcessHTMLEntities )
- {
- FCKXHtmlEntities.Entities = {
- // Latin-1 Entities
- ' ':'nbsp',
- 'Ą':'iexcl',
- '˘':'cent',
- 'Ł':'pound',
- '¤':'curren',
- 'Ľ':'yen',
- 'Ś':'brvbar',
- '§':'sect',
- '¨':'uml',
- 'Š':'copy',
- 'Ş':'ordf',
- 'Ť':'laquo',
- 'Ź':'not',
- '':'shy',
- 'Ž':'reg',
- 'Ż':'macr',
- '°':'deg',
- 'ą':'plusmn',
- '˛':'sup2',
- 'ł':'sup3',
- '´':'acute',
- 'ľ':'micro',
- 'ś':'para',
- 'ˇ':'middot',
- '¸':'cedil',
- 'š':'sup1',
- 'ş':'ordm',
- 'ť':'raquo',
- 'ź':'frac14',
- '˝':'frac12',
- 'ž':'frac34',
- 'ż':'iquest',
- '×':'times',
- '÷':'divide',
-
- // Symbols
-
- '':'fnof',
- '':'bull',
- '
':'hellip',
- '?':'prime',
- '?':'Prime',
- '?':'oline',
- '?':'frasl',
- '?':'weierp',
- '?':'image',
- '?':'real',
- '':'trade',
- '?':'alefsym',
- '?':'larr',
- '?':'uarr',
- '?':'rarr',
- '?':'darr',
- '?':'harr',
- '?':'crarr',
- '?':'lArr',
- '?':'uArr',
- '?':'rArr',
- '?':'dArr',
- '?':'hArr',
- '?':'forall',
- '?':'part',
- '?':'exist',
- '?':'empty',
- '?':'nabla',
- '?':'isin',
- '?':'notin',
- '?':'ni',
- '?':'prod',
- '?':'sum',
- '?':'minus',
- '?':'lowast',
- '?':'radic',
- '?':'prop',
- '?':'infin',
- '?':'ang',
- '?':'and',
- '?':'or',
- '?':'cap',
- '?':'cup',
- '?':'int',
- '?':'there4',
- '?':'sim',
- '?':'cong',
- '?':'asymp',
- '?':'ne',
- '?':'equiv',
- '?':'le',
- '?':'ge',
- '?':'sub',
- '?':'sup',
- '?':'nsub',
- '?':'sube',
- '?':'supe',
- '?':'oplus',
- '?':'otimes',
- '?':'perp',
- '?':'sdot',
- '\u2308':'lceil',
- '\u2309':'rceil',
- '\u230a':'lfloor',
- '\u230b':'rfloor',
- '\u2329':'lang',
- '\u232a':'rang',
- '?':'loz',
- '?':'spades',
- '?':'clubs',
- '?':'hearts',
- '?':'diams',
-
- // Other Special Characters
-
- '"':'quot',
- // '&':'amp', // This entity is automatically handled by the XHTML parser.
- // '<':'lt', // This entity is automatically handled by the XHTML parser.
- // '>':'gt', // This entity is automatically handled by the XHTML parser.
- '':'circ',
- '':'tilde',
- '?':'ensp',
- '?':'emsp',
- '?':'thinsp',
- '?':'zwnj',
- '?':'zwj',
- '?':'lrm',
- '?':'rlm',
- '':'ndash',
- '':'mdash',
- '':'lsquo',
- '':'rsquo',
- '':'sbquo',
- '':'ldquo',
- '':'rdquo',
- '':'bdquo',
- '':'dagger',
- '':'Dagger',
- '':'permil',
- '':'lsaquo',
- '':'rsaquo',
- '':'euro'
- } ;
-
- // Process Base Entities.
- for ( e in FCKXHtmlEntities.Entities )
- sChars += e ;
-
- // Include Latin Letters Entities.
- if ( FCKConfig.IncludeLatinEntities )
- {
- oEntities = {
- 'Ŕ':'Agrave',
- 'Á':'Aacute',
- 'Â':'Acirc',
- 'Ă':'Atilde',
- 'Ä':'Auml',
- 'Ĺ':'Aring',
- 'Ć':'AElig',
- 'Ç':'Ccedil',
- 'Č':'Egrave',
- 'É':'Eacute',
- 'Ę':'Ecirc',
- 'Ë':'Euml',
- 'Ě':'Igrave',
- 'Í':'Iacute',
- 'Î':'Icirc',
- 'Ď':'Iuml',
- 'Đ':'ETH',
- 'Ń':'Ntilde',
- 'Ň':'Ograve',
- 'Ó':'Oacute',
- 'Ô':'Ocirc',
- 'Ő':'Otilde',
- 'Ö':'Ouml',
- 'Ř':'Oslash',
- 'Ů':'Ugrave',
- 'Ú':'Uacute',
- 'Ű':'Ucirc',
- 'Ü':'Uuml',
- 'Ý':'Yacute',
- 'Ţ':'THORN',
- 'ß':'szlig',
- 'ŕ':'agrave',
- 'á':'aacute',
- 'â':'acirc',
- 'ă':'atilde',
- 'ä':'auml',
- 'ĺ':'aring',
- 'ć':'aelig',
- 'ç':'ccedil',
- 'č':'egrave',
- 'é':'eacute',
- 'ę':'ecirc',
- 'ë':'euml',
- 'ě':'igrave',
- 'í':'iacute',
- 'î':'icirc',
- 'ď':'iuml',
- 'đ':'eth',
- 'ń':'ntilde',
- 'ň':'ograve',
- 'ó':'oacute',
- 'ô':'ocirc',
- 'ő':'otilde',
- 'ö':'ouml',
- 'ř':'oslash',
- 'ů':'ugrave',
- 'ú':'uacute',
- 'ű':'ucirc',
- 'ü':'uuml',
- 'ý':'yacute',
- 'ţ':'thorn',
- '˙':'yuml',
- '':'OElig',
- '':'oelig',
- '':'Scaron',
- '':'scaron',
- '':'Yuml'
- } ;
-
- for ( e in oEntities )
- {
- FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
- sChars += e ;
- }
-
- oEntities = null ;
- }
-
- // Include Greek Letters Entities.
- if ( FCKConfig.IncludeGreekEntities )
- {
- oEntities = {
- '?':'Alpha',
- '?':'Beta',
- '?':'Gamma',
- '?':'Delta',
- '?':'Epsilon',
- '?':'Zeta',
- '?':'Eta',
- '?':'Theta',
- '?':'Iota',
- '?':'Kappa',
- '?':'Lambda',
- '?':'Mu',
- '?':'Nu',
- '?':'Xi',
- '?':'Omicron',
- '?':'Pi',
- '?':'Rho',
- '?':'Sigma',
- '?':'Tau',
- '?':'Upsilon',
- '?':'Phi',
- '?':'Chi',
- '?':'Psi',
- '?':'Omega',
- '?':'alpha',
- '?':'beta',
- '?':'gamma',
- '?':'delta',
- '?':'epsilon',
- '?':'zeta',
- '?':'eta',
- '?':'theta',
- '?':'iota',
- '?':'kappa',
- '?':'lambda',
- '?':'mu',
- '?':'nu',
- '?':'xi',
- '?':'omicron',
- '?':'pi',
- '?':'rho',
- '?':'sigmaf',
- '?':'sigma',
- '?':'tau',
- '?':'upsilon',
- '?':'phi',
- '?':'chi',
- '?':'psi',
- '?':'omega',
- '\u03d1':'thetasym',
- '\u03d2':'upsih',
- '\u03d6':'piv'
- } ;
-
- for ( e in oEntities )
- {
- FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
- sChars += e ;
- }
-
- oEntities = null ;
- }
- }
- else
- {
- FCKXHtmlEntities.Entities = {} ;
-
- // Even if we are not processing the entities, we must render the
- // correctly. As we don't want HTML entities, let's use its numeric
- // representation ( ).
- sChars = ' ' ;
- }
-
- // Create the Regex used to find entities in the text.
- var sRegexPattern = '[' + sChars + ']' ;
-
- if ( FCKConfig.ProcessNumericEntities )
- sRegexPattern = '[^ -~]|' + sRegexPattern ;
-
- var sAdditional = FCKConfig.AdditionalNumericEntities ;
-
- if ( sAdditional && sAdditional.length > 0 )
- sRegexPattern += '|' + FCKConfig.AdditionalNumericEntities ;
-
- FCKXHtmlEntities.EntitiesRegex = new RegExp( sRegexPattern, 'g' ) ;
- }