creator 富文本bug

  • Creator 版本:2.4.14

  • 目标平台: 任意

  • 重现方式:
    先随便写一段文字,比如 我是测试文本
    假设 我是测试文本 这几个字的宽度是100
    设置richText.node.width = 99.8
    则会出现
    我是测试文本

变成了二行字,第二行是对最后一个字的重复

我觉得是 textUtil.fragmentText的问题

我简单处理为

    fragmentText: function fragmentText(stringToken, allWidth, maxWidth, measureText) {
            var wrappedWords = [];
            if (0 === stringToken.length || maxWidth < 0) {
              wrappedWords.push("");
              return wrappedWords;
            }
            var text = stringToken;
            while (allWidth > maxWidth && text.length > 1) {
              var fuzzyLen = text.length * (maxWidth / allWidth) | 0;
              // 简单修复的代码开始
              if (fuzzyLen === text.length - 1) {
                fuzzyLen = text.length;
              }
              // 简单修复的代码结束