<?php

add_filter('tiny_mce_before_init', 'add_custom_classes');

function add_custom_classes($initArray) {

 $initArray['theme_advanced_styles'] = "Orange=orange,Blue=blue,Large=large";
 
 $initArray['theme_advanced_buttons2_add_before'] = 'styleselect';
 
 return $initArray;
}
?>

There have been far too many instances of clients spending decent money to have their site lovingly crafted with care and attention to every typographical detail, only to start tearing through it making all of the text purple and green and bold and in Comic Sans SO THAT IT ALL STANDS OUT once they gain access to the CMS.

What we really want is a mechanism that allows the user to choose colours and styles that will blend seamlessly with the design, creating accents and highlights rather han garishly obnoxious web-graffiti.

Adding this code to your active theme's functions.php file adds a custom Styles dropdown menu whereby the editor can choose an appropriate, predefined CSS class to emphasise their text, rather than style-vomiting all over the pretty landscape of their website.

More detail and explanations here: blog.gaijindesign.com/wordpress-adding-a-styles-menu-with-css-classes-to-your-tinymce-editor/