teCharacterBound(offset) {
        let margin = 10;
        let charX = canvas.offsetLeft + anchorX + offset * charWidth;
        let charY = canvas.offsetTop + anchorY;
        return DOMRect.fromRect({x:charX, y:charY-charHeight, width:charWidth, height:charHeight+margin});
    }

    editContext.addEventListener("characterboundsupdate", e => {
        console.log(`editcontext.text:[${editContext.text}]`);
        console.log(`characterboundsupdate: composition range (${e.rangeStart}, ${e.rangeEn