functionFunSetLinefeed( strText, nLineWidth )--文本,行宽 --读取每个字符做中文英文判断,并且记录大小 local nStep = 1 local index = 1 local ltabTextSize = {} whiletruedo c = string.sub(strText, nStep, nStep) b = string.byte(c) if b > 128then ltabTextSize[index] = 3 nStep = nStep + 3 index = index + 1 else ltabTextSize[index] = 1 nStep = nStep + 1 index = index + 1 end if nStep > #strText then break end end --将字符按照限定行宽进行分组 local nLineCount = 1 local nBeginPos = 1 local lptrCurText = nil local ltabText = {} local nCurSize = 0 for i = 1, index - 1do nCurSize = nCurSize + ltabTextSize[i] if nCurSize > nLineWidth and nLineCount< math.ceil(#strText/nLineWidth) then nCurSize = nCurSize - ltabTextSize[i] ltabText[nLineCount] = string.sub( strText, nBeginPos, nBeginPos + nCurSize - 1 ) nBeginPos = nBeginPos + nCurSize nCurSize = ltabTextSize[i] nLineCount = nLineCount + 1 end if nLineCount == math.ceil(#strText/nLineWidth) then ltabText[nLineCount] = string.sub( strText, nBeginPos, #strText) end end -- for i = 1, nLineCount - 1 do for i = 1, nLineCount do if lptrCurText == nilthen lptrCurText = ltabText[i] else lptrCurText = lptrCurText .. "\n" .. ltabText[i] end end return lptrCurText end