4 * Copyright 2009, Moxiecode Systems AB
5 * Released under LGPL License.
7 * License: http://tinymce.moxiecode.com/license
8 * Contributing: http://tinymce.moxiecode.com/contributing
11 tinymce.onAddEditor.add(function(tinymce, ed) {
12 var filters, fontSizes, dom, settings = ed.settings;
14 if (settings.inline_styles) {
15 fontSizes = tinymce.explode(settings.font_size_style_values);
17 function replaceWithSpan(node, styles) {
18 tinymce.each(styles, function(value, name) {
20 dom.setStyle(node, name, value);
23 dom.rename(node, 'span');
27 font : function(dom, node) {
28 replaceWithSpan(node, {
29 backgroundColor : node.style.backgroundColor,
31 fontFamily : node.face,
32 fontSize : fontSizes[parseInt(node.size) - 1]
36 u : function(dom, node) {
37 replaceWithSpan(node, {
38 textDecoration : 'underline'
42 strike : function(dom, node) {
43 replaceWithSpan(node, {
44 textDecoration : 'line-through'
49 function convert(editor, params) {
52 if (settings.convert_fonts_to_spans) {
53 tinymce.each(dom.select('font,u,strike', params.node), function(node) {
54 filters[node.nodeName.toLowerCase()](ed.dom, node);
59 ed.onPreProcess.add(convert);
60 ed.onSetContent.add(convert);
62 ed.onInit.add(function() {
63 ed.selection.onSetContent.add(convert);