This is a modified version of Frederico Knabben's specialCharacter plugin. It gives the user the possibility to insert most unicode symbols. All characters have been divided into groups (sort of the way word does it). I am still working on the tooltip texts for all characters - and so far it is only (partly) done in english.
The dialog can be modified to only list groups that you want. Sorting of the groups can be done in two different ways. Default group can be changed.
In order to add the plugin to your CKEditor add the following line:
config.extraPlugins = 'symbol';
Let me know what you think... If you have any suggestions then write to me (helmoe@gmail.com)
The recommended way to install all CKEditor add-ons is to create a custom build by using Online builder. To do that, click the Add to my editor button on the plugin page. When you are done, click the Build my editor button on the right side of the page to go to Online builder.
Note: This add-on is already selected to be a part of your current build.
Add-on installation instructions
If you want to add the plugin manually, you will need to:
Extract the downloaded plugin .zip into the plugins folder of your CKEditor installation. Example:
http://example.com/ckeditor/plugins/symbol
Enable the plugin by using the extraPlugins configuration setting. Example:
changed widths: ['100%'] to width: '100%' for better chrome support (on MAC?)
a little more cleanup in en.js
UniCode combobox list now remembers range when reopened
1.06 - 1 february 2013
updated symbol plugin to work with CKEditor 4.0
- en.js file cleanup (not finished yet...)
1.05 - 25 november 2011
added sortSymbolRangesAlphabetically which allows sorting the symbol ranges alphabetically
added defaultSymbolRange which specifies the symbol range to startdisplaying
1.04 - ? ? 2011
always turn symbol action on in toolbar
1.03 - 5 september 2011
fixed tooltip error not showing correct text
1.02 - 5 september 2011
fixed the removeSymbolRanges list so when defined in the config (config.removeSymbolRanges = [1,2,3];) it removes range 1, 2 and 3
updated symbol names in en.js
1.01 - 12 may 2011
fixed startup problem in IE 9.0
updated symbol names in en.js
1.00 - 24 March 2011
Initial release
Setup:
/**
* The list of special characters to remove from the Symbol dialog.
* NB: THEY HAVE TO BE IN ASCENDING ORDER (ORELSE OFFSETS WILL BE WRONG)!!!
* @type Array
* @example
* config.removeSymbolRanges = [ 1, 9, 11 ]; //In order to remove 'Basic Latin', Cyrillic' and 'Armenian' ranges
*/
//CKEDITOR.config.removeSymbolRanges = [1,9,11];
/**
* Sort the symbol names in the combobox alphabetically.
* @type Boolean
* @example
* config.sortSymbolRangesAlphabetically = true; //In order to sort symbolRange-names alphabetically in the dropdown list
*/
//CKEDITOR.config.sortSymbolRangesAlphabetically = true;
/**
* The default symbolRange to display when the dialog is opened. If defaultSymbolRange is not defined 'Basic Latin' will be used.
* If defined but not present in the symbolRanges then index 0 in the symbolRanges will be used as default.
* @type String
* @example
* config.defaultSymbolRange = 'Latin Extended-B'; //The 'Latin Extended-B' symbol range will be displayed in the symbol dialog upon opening
*/
//CKEDITOR.config.defaultSymbolRange = 'Latin Extended-B';
/**
* The list of special characters visible in the Symbol dialog. This is an array of pairs where the first entry is
* the the name of the range and the second is the range specification in hex.
* Ranges can be devided into smaller ranges in order to easily specify the characters to display.
* It can be defined by a range: 0020-007E
* Here the range runs from hex 0020 to 007E (both inclusive). Or it can be a single hex (indicating a single character
* If a range is followed by an asterix '*' an extra will be inserted before the character - this is used to
* display diacritical characters (the extra will not be inserted in the document).
*
* @type Array
* @example
* config.symbolRanges = [ ['Basic Latin', '0020-007F], ['Latin-1 Supplement', '00A0-00B0,00B1,00B2-00FF'], ['Combining Diacritical Marks', '0300-036F*'] ];
*/
CKEDITOR.config.symbolRanges =
[
['Basic Latin', '0020-007E'],
['Latin-1 Supplement', '00A0-00B0,00B1,00B2-00FF'],
['Latin Extended-A', '0100-017F'],
['Latin Extended-B', '0180-024F'],
['IPA Extensions', '0250-02AF'],
['Spacing Modifier Letters', '02B0-02FF'],
['Combining Diacritical Marks', '0300-036F*'],
['Greek and Coptic', '0370-03FF'],
['Cyrillic', '0400-04FF'],
['Cyrillic Supplementary', '0500-052F'],
['Armenian', '0530-058F'],
['Hebrew', '0590-05FF'],
['Arabic', '0600-06FF'],
['Syriac', '0700-074F'],
['Thaana', '0780-07BF'],
['Devanagari', '0900-097F'],
['Bengali', '0980-09FF'],
['Gurmukhi', '0A00-0A7F'],
['Gujarati', '0A80-0AFF'],
['Oriya', '0B00-0B7F'],
['Tamil', '0B80-0BFF'],
['Telugu', '0C00-0C7F'],
['Kannada', '0C80-0CFF'],
['Malayalam', '0D00-0D7F'],
['Sinhala', '0D80-0DFF'],
['Thai', '0E00-0E7F'],
['Lao', '0E80-0EFF'],
['Tibetan', '0F00-0FFF'],
['Myanmar', '1000-109F'],
['Georgian', '10A0-10FF'],
['Hangul Jamo', '1100-11FF'],
['Ethiopic', '1200-137F'],
['Cherokee', '13A0-13FF'],
['Unified Canadian Aboriginal Syllabics', '1400-167F'],
['Ogham', '1680-169F'],
['Runic', '16A0-16FF'],
['Tagalog', '1700-171F'],
['Hanunoo', '1720-173F'],
['Buhid', '1740-175F'],
['Tagbanwa', '1760-177F'],
['Khmer', '1780-17FF'],
['Mongolian', '1800-18AF'],
['Limbu', '1900-194F'],
['Tai Le', '1950-197F'],
['Khmer Symbols', '19E0-19FF'],
['Phonetic Extensions', '1D00-1D7F'],
['Latin Extended Additional', '1E00-1EFF'],
['Greek Extended', '1F00-1FFF'],
['General Punctuation', '2000-206F'],
['Superscripts and Subscripts', '2070-209F'],
['Currency Symbols', '20A0-20CF'],
['Combining Diacritical Marks for Symbols', '20D0-20FF'],
['Letterlike Symbols', '2100-214F'],
['Number Forms', '2150-218F'],
['Arrows', '2190-21FF'],
['Mathematical Operators', '2200-22FF'],
['Miscellaneous Technical', '2300-23FF'],
['Control Pictures', '2400-243F'],
['Optical Character Recognition', '2440-245F'],
['Enclosed Alphanumerics', '2460-24FF'],
['Box Drawing', '2500-257F'],
['Block Elements', '2580-259F'],
['Geometric Shapes', '25A0-25FF'],
['Miscellaneous Symbols', '2600-26FF'],
['Dingbats', '2700-27BF'],
['Miscellaneous Mathematical Symbols-A', '27C0-27EF'],
['Supplemental Arrows-A', '27F0-27FF'],
['Braille Patterns', '2800-28FF'],
['Supplemental Arrows-B', '2900-297F'],
['Miscellaneous Mathematical Symbols-B', '2980-29FF'],
['Supplemental Mathematical Operators', '2A00-2AFF'],
['Miscellaneous Symbols and Arrows', '2B00-2BFF'],
['CJK Radicals Supplement', '2E80-2EFF'],
['Kangxi Radicals', '2F00-2FDF'],
['Ideographic Description Characters', '2FF0-2FFF'],
['CJK Symbols and Punctuation', '3000-303F'],
['Hiragana', '3040-309F'],
['Katakana', '30A0-30FF'],
['Bopomofo', '3100-312F'],
['Hangul Compatibility Jamo', '3130-318F'],
['Kanbun', '3190-319F'],
['Bopomofo Extended', '31A0-31BF'],
['Katakana Phonetic Extensions', '31F0-31FF'],
['Enclosed CJK Letters and Months', '3200-32FF'],
['CJK Compatibility', '3300-33FF'],
['CJK Unified Ideographs Extension A', '3400-4DBF'],
['Yijing Hexagram Symbols', '4DC0-4DFF'],
['CJK Unified Ideographs', '4E00-9FFF'],
['Yi Syllables', 'A000-A48F'],
['Yi Radicals', 'A490-A4CF'],
['Hangul Syllables', 'AC00-D7AF'],
['High Surrogates', 'D800-DB7F'],
['High Private Use Surrogates', 'DB80-DBFF'],
['Low Surrogates', 'DC00-DFFF'],
['Private Use Area', 'E000-F8FF'],
['CJK Compatibility Ideographs', 'F900-FAFF'],
['Alphabetic Presentation Forms', 'FB00-FB4F'],
['Arabic Presentation Forms-A', 'FB50-FDFF'],
['Variation Selectors', 'FE00-FE0F'],
['Combining Half Marks', 'FE20-FE2F'],
['CJK Compatibility Forms', 'FE30-FE4F'],
['Small Form Variants', 'FE50-FE6F'],
['Arabic Presentation Forms-B', 'FE70-FEFF'],
['Halfwidth and Fullwidth Forms', 'FF00-FFEF'],
['Specials', 'FFF0-FFFF']
];