- Creator 版本: 2.4.9
- 目标平台: Chrome
前提:之前反馈过一个阿语的长度计算换行的问题,已经得到解决https://forum.cocos.org/t/topic/138014/6
表现:使用Label去显示阿语,因为阿语需要右对齐,所以将Label设置成右对齐之后,产生截断
显示的问题,如图
上方是左对齐文本没有问题,下方是右对齐文本,可以看到左边被截断。可以想象到是右对齐的时候startX的位置产生了问题,跟踪代码到 cocos/cocos-engine/blob/v2.4.8/cocos2d/core/renderer/utils/label/ttf.js 文件中的fillText()方法,但找不到fillText的实现。这个问题要怎么样去解决?右对齐的StartX的位置是Label的长度,猜测可能是阿语的长度计算问题

是不是放的位置的原因
文本框的X坐标和width都相同。这个原因是这行右对齐的文本在Label这个容器里面的位置发生了偏差,调试发现两个文本的StartX位置都相同,值为Label的Width,可能是在fillText()的时候,长度计算有问题导致render的位置发生了偏差。
google 浏览器切换到阿语,找到换行的代码,字段断句,修改引擎断词的敌方.
这个不是断词,是text文本在Label容器中的坐标问题