fabricjs Itext for multi byte languages

With fabric.js's Itext objects, you cannot input a multi-byte character. Here is a solution.

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.13/fabric.min.js"></script>

<input type="range" min="5" max="150" value="40" id="size">
<div class="canvas-wrapper">
    <canvas id="canvas" width="250" height="250"></canvas>
</div>

JavaScript

var canvas = new fabric.Canvas('canvas');

var text = 'enter multi-byte text here';
var itextObj = new fabric.IText(text, {
  left: 0,
  top: 0,
  fontFamily:  "Helvetica", // 字型
  fill: 'red'
})
canvas.add(itextObj)


document.getElementById('size')['onchange'] = function() {
    var el = this;
    var style = { };
    itextObj['fontSize'] = parseInt(this.value, 10);
    canvas.renderAll();
  };