Here you are the workaround:
find the private method p._drawText in createjs (or easeljs for non combinded) and replace with the following code
this code has been well tested with one of my projects for half year
/**
* Draws multiline text.
* @method _drawText
* @param {CanvasRenderingContext2D} ctx
* @param {Object} o
* @param {Array} lines
* @return {Object}
* @protected
**/
p._drawText = function(ctx, o, lines) {
var paint = !!ctx;
if (!paint) {
ctx = Text._workingContext;
ctx.save();
this._prepContext(ctx);
}
var lineHeight = this.lineHeight || this.getMeasuredLineHeight();
var maxW = 0,
count = 0;
var hardLines = String(this.text).split(/(?:\r\n|\r|\n)/);
for (var i = 0, l = hardLines.length; i < l; i++) {
var str = hardLines[i];
var w = null;
if (this.lineWidth != null && (w = ctx.measureText(str).width) > this.lineWidth) {
// text wrapping:
// hanyeah CJK wrapping
var words0;
var words;
if ((/[\u4e00-\u9fa5]+/).test(str)) { //contains CJK characters
words0 = str.split(/(\s)/);
words = [];
for (var hi = 0; hi < words0.length; hi++) {
var hs = "";
for (var hj = 0; hj < words0[hi].length; hj++) {
var hjs = words0[hi][hj];
if (hjs.charCodeAt(0) > 255) {
if (hs != "") {
words.push(hs);
}
words.push(hjs);
hs = "";
} else {
hs += hjs;
}
}
if (hs != "") {
words.push(hs);
}
}
} else {
words = str.split(/(\s)/);
}
str = words[0];
w = ctx.measureText(str).width;
for (var j = 1, jl = words.length; j < jl; j += 1) {
// Line needs to wrap:
var wordW = ctx.measureText(words[j]).width;
if (w + wordW > this.lineWidth) {
if (paint) {
this._drawTextLine(ctx, str, count * lineHeight);
}
if (lines) {
lines.push(str);
}
if (w > maxW) {
maxW = w;
}
str = words[j];
w = ctx.measureText(str).width;
count++;
} else {
str += words[j];
w += wordW;
}
}
}
//end hanyeah CJK wrapping
if (paint) {
this._drawTextLine(ctx, str, count * lineHeight);
}
if (lines) {
lines.push(str);
}
if (o && w == null) {
w = ctx.measureText(str).width;
}
if (w > maxW) {
maxW = w;
}
count++;
}
if (o) {
o.width = maxW;
o.height = count * lineHeight;
}
if (!paint) {
ctx.restore();
}
return o;
};