Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html (revision 6114)
+++ /CKEditor/trunk/CHANGES.html (revision 6115)
@@ -60,4 +60,5 @@
#6297 : Floated inline elements are no anymore acting in behavior of blocks.
#6171 : [Firefox] Open rich combo scrolls host page to top when editor has vertical scrollbar.
+ #6330 : List bullet form MS Word with Roman numbering are not preserved.
Index: /CKEditor/trunk/_source/plugins/pastefromword/filter/default.js
===================================================================
--- /CKEditor/trunk/_source/plugins/pastefromword/filter/default.js (revision 6114)
+++ /CKEditor/trunk/_source/plugins/pastefromword/filter/default.js (revision 6115)
@@ -121,4 +121,7 @@
var cssLengthRelativeUnit = /^([.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i;
var emptyMarginRegex = /^(?:\b0[^\s]*\s*){1,4}$/; // e.g. 0px 0pt 0px
+ var romanLiternalPattern = '^m{0,4}(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})$',
+ lowerRomanLiteralRegex = new RegExp( romanLiternalPattern ),
+ upperRomanLiteralRegex = new RegExp( romanLiternalPattern.toUpperCase() );
var listBaseIndent = 0,
@@ -145,6 +148,8 @@
if ( !isNaN( bulletStyle[ 1 ] ) )
bulletStyle = 'decimal';
- // No way to distinguish between Roman numerals and Alphas,
- // detect them as a whole.
+ else if ( lowerRomanLiteralRegex.test( bulletStyle[ 1 ] ) )
+ bulletStyle = 'lower-roman';
+ else if ( upperRomanLiteralRegex.test( bulletStyle[ 1 ] ) )
+ bulletStyle = 'upper-roman';
else if ( /^[a-z]+$/.test( bulletStyle[ 1 ] ) )
bulletStyle = 'lower-alpha';