※タイトルは、文面を作るところでTinyMCEを用いるという意味
※差し込まれた画像パスをcidにしたり、base64エンコードしたり、マルチパート化したり、実際の送信までにはあれこれ処理が必要デス!


多機能は良いのだが、やれることが多すぎてちょっとのことで悩ましいTinyMCEです…。


TwitterのTLを見てたら、はてなに質問がありました。

「spanタグではなくfontで出力したい」

さっそく答えてみた。


…ファーストコンタクト失敗w


ちゃんとTinyMCEをダウンロードしてきて、サンプルを開いて確認!


/jscripts/tiny_mce/tiny_mce_src.js


コアソースを漁ったところ、初期設定はspanになっているようだ。

あとは設定が置換出来れば良いわけで、設定のドキュメントを探してみたらありました。

http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/formats


ということで、TinyMCEのエディタメニューでフォントサイズ、カラーをfont出力したい場合は設定で以下のようにします。

tinyMCE.init({
convert_fonts_to_spans:false, /*spanタグに変換されないように*/
    formats : {
        forecolor:{inline:'font',attributes:{color:'%value'}},
        fontsize:{inline:'font',attributes:{size:'%value'}},
    },
    theme_advanced_font_sizes:"小さい=1,ちょい小さい=2,ふつう=3,
ちょい大きい=4,大きい=5,わりと大きい=6,すごく大きい=7", /*←実際には一行で*/
    font_size_style_values:'1,2,3,4,5,6,7',
}

spanをfontで出力するにはそれで事足りるのですが、そのままだとエディタのFont Size一覧表示だったりsizeの値が異なることになるため、他の設定も併せて行なっています。
  • theme_advanced_font_sizesを指定して、デフォルトの表示を変更します。
  • font_size_style_valuesを指定して、xx-smallなどのcss値を1〜7のフォントサイズ(size="?")となるようにします。
以上です。