-- 计算字符串宽度
local
str =
"Jimmy: 你好,世界!"
local
fontSize = 20
local
lenInByte = #str
local
width = 0
for
i=1,lenInByte
do
local
curByte =
string.byte
(str, i)
local
byteCount = 1;
if
curByte>0
and
curByte<=127
then
byteCount = 1
elseif
curByte>=192
and
curByte<223
then
byteCount = 2
elseif
curByte>=224
and
curByte<239
then
byteCount = 3
elseif
curByte>=240
and
curByte<=247
then
byteCount = 4
end
local
char =
string.sub
(str, i, i+byteCount-1)
i = i + byteCount -1
if
byteCount == 1
then
width = width + fontSize * 0.5
else
width = width + fontSize
print
(char)
end
end
print
(
"总宽度: "
..width)