Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5287)
+++ /CKEditor/trunk/CHANGES.html	(revision 5288)
@@ -49,4 +49,5 @@
 		<li><a href="http://dev.fckeditor.net/ticket/5302">#5302</a> : Adding config option 'CKEDITOR.config.forceEnterMode'.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5216">#5216</a> : Extend CKEDITOR.appendTo to allow a data parameter for the initial value.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5352">#5352</a> : Allow to define the stylesSet array in the config object for the editor.</li>
 	</ul>
 	<p>
Index: /CKEditor/trunk/_source/plugins/styles/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/styles/plugin.js	(revision 5287)
+++ /CKEditor/trunk/_source/plugins/styles/plugin.js	(revision 5288)
@@ -1,3 +1,3 @@
-﻿/*
+/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -253,5 +253,5 @@
 						var elementAttr = element.getAttribute( attName ) || '';
 						if ( attName == 'style' ?
-							compareCssText( attribs[ attName ], normalizeCssText( elementAttr, false ) ) 
+							compareCssText( attribs[ attName ], normalizeCssText( elementAttr, false ) )
 							: attribs[ attName ] == elementAttr  )
 						{
@@ -1231,5 +1231,5 @@
 							 .toLowerCase();
 	}
-	
+
 	// Turn inline style text properties into one hash.
 	function parseStyleText( styleText )
@@ -1251,6 +1251,6 @@
 		for( var name in source )
 		{
-			// Value 'inheirt'  is treated as a wildcard,
-			// which will matches any value.   
+			// Value 'inherit'  is treated as a wildcard,
+			// which will match any value.
 			if ( !( name in target &&
 					( target[ name ] == source[ name ]
@@ -1325,6 +1325,15 @@
 		var editor = this,
 			// Respect the backwards compatible definition entry
-			configStyleSet = editor.config.stylesCombo_stylesSet || editor.config.stylesSet,
-			partsStylesSet = configStyleSet.split( ':' ),
+			configStyleSet = editor.config.stylesCombo_stylesSet || editor.config.stylesSet || 'default';
+
+		// #5352 Allow to define the styles directly in the config object
+		if ( configStyleSet instanceof Array )
+		{
+			editor._.stylesDefinitions = configStyleSet;
+			callback( configStyleSet );
+			return;
+		}
+
+		var	partsStylesSet = configStyleSet.split( ':' ),
 			styleSetName = partsStylesSet[ 0 ],
 			externalPath = partsStylesSet[ 1 ],
@@ -1335,5 +1344,4 @@
 					partsStylesSet.slice( 1 ).join( ':' ) :
 					pluginPath + 'styles/' + styleSetName + '.js', '' );
-
 
 		CKEDITOR.stylesSet.load( styleSetName, function( stylesSet )
@@ -1357,5 +1365,5 @@
  * possible to set the URL from which loading the styles file.<br>
  * Previously this setting was available as config.stylesCombo_stylesSet<br>
- * @type string
+ * @type String|Array
  * @default 'default'
  * @since 3.3
@@ -1369,4 +1377,8 @@
  * // Load from a full URL.
  * config.stylesSet = 'mystyles:http://www.example.com/editorstyles/styles.js';
+ * @example
+ * // Load from a list of definitions.
+ * config.stylesSet = [
+ *  { name : 'Strong Emphasis', element : 'strong' },
+ * { name : 'Emphasis', element : 'em' }, ... ];
  */
-CKEDITOR.config.stylesSet = 'default';
