cocos2dx 系统字体bug

3.10以下均有这个问题,3.10以上没测过

部分泰文字体(三音节)会被截断。

如图:文字被截断,可以看到同一个字,第一行第一个,以及第三行第一个。
第三行的是完整显示的,但是第一行会被截断。
看到CCDivece-ios.mm的_initWithString方法中就彻底懵逼了,看不懂,来回调整数值也无法显示。。。
如果实在不行的话,只能使用ttf了,虽然字体文件比较大。。。

local args = {"Arial","Helvetica","Marker Felt"}
local top = 500
for i,desc in ipairs(args) do
    local tmp =  cc.Label:createWithSystemFont("ซื้อทับทิม", desc, 40)
    tmp:setContentSize(cc.size(200,100))
    tmp:setPosition(cc.p(400,top))
    self:addChild(tmp)
    top = top - 50
end

测试代码

看不懂泰文,帮忙呼叫@zilong

请问这个问题后面怎么解决呢

https://github.com/cocos2d/cocos2d-x/issues/18943
请问这个问题该怎么解决呢

[stringWithAttributes drawInRect:textRect]; 这个方法貌似有问题,没有把第一行完整的写到CGBitmapContext上
解决办法:
方法一:使用 ttf ,但如果玩家使用了中文或者其他非泰语,可能有问题
2,
添加 CGRect textBgRect = CGRectMake(xPadding, 0,realDimensions.width, POTHigh);
修改 CGContextBeginTransparencyLayerWithRect(context, textBgRect, NULL);

在代码里设置dimensions,height设置稍微大点,居中或者按底部对齐

后面别人解决的。。。

以前我们简单粗暴就手动断行
以前处理过这个泰文问题,虽然没学过但了解了一下,简单的说明是,泰文文字上的音标一样的东西都是独立的utf字,不能断开