Index: /CKEditor/branches/features/pasting/_source/plugins/pastefromword/plugin.js
===================================================================
--- /CKEditor/branches/features/pasting/_source/plugins/pastefromword/plugin.js	(revision 4603)
+++ /CKEditor/branches/features/pasting/_source/plugins/pastefromword/plugin.js	(revision 4604)
@@ -330,12 +330,24 @@
 				flattenList : function( element )
 				{
-					var	parent = element.parent;
+					var	attrs = element.attributes,
+						parent = element.parent;
+
+					var listStyleType,
+						indentLevel = 1;
 
 					// Resolve how many level nested.
-					var indentLevel = 1;
 					while( parent )
 					{
 						parent.attributes && parent.attributes[ 'cke:list'] && indentLevel++;
 						parent = parent.parent;
+					}
+
+					// All list items are of the same type.
+					switch( attrs.type )
+					{
+						case 'a' :
+							listStyleType = 'lower-alpha';
+							break;
+						// TODO: Support more list style type from MS-Word.
 					}
 
@@ -364,7 +376,6 @@
 							child.name = 'cke:li';
 							attributes[ 'cke:indent' ] = indentLevel;
-							// Assume only items in default list style type are
-							// represented.
 							attributes[ 'cke:listtype' ] = element.name;
+							listStyleType && child.addStyle( 'list-style-type', listStyleType, true );
 						}
 					}
@@ -373,5 +384,5 @@
 					delete element.name;
 					// We're loosing tag name here, signalize this element as a list.
-					element.attributes[ 'cke:list' ] = 1;
+					attrs[ 'cke:list' ] = 1;
 				},
 
@@ -552,13 +563,6 @@
 										[ [ /^width|height$/, null, convertToPx ] ] )( attrs.style ) || '';
 
-						// IE leave empty spaces at the beginning of body. 
-						if ( !tagName )
-						{
-							var textNode = element.firstTextChild();
-							if ( textNode && textNode.value.match( /^(:?\s|&nbsp;)+$/ ) )
-								element.children.splice( 0, 1 );
-						}
 						// Processing headings.
-						else if ( tagName.match( /h\d/ ) )
+						if ( tagName.match( /h\d/ ) )
 						{
 							element.filterChildren();
@@ -833,5 +837,5 @@
 						{
 							var listSymbol = element.firstTextChild().value,
-								listType = listSymbol.match( /([^\s]+?)([.)]?)/ );
+								listType = listSymbol.match( /^([^\s]+?)([.)]?)$/ );
 							return createListBulletMarker( listType, listSymbol );
 						}
