Я пытаюсь выровнять строку с символами Unicode.
Но это не работает.
Неверные места. :(версия
Lua является 5,1.
В чем проблема?
Форматирование строк с помощью символов Unicode с использованием Lua
local t =
{
"character",
"루아", -- korean
"abc감사합니다123", -- korean
"ab23",
"lua is funny",
"ㅇㅅㅇ",
"美國大將", --chinese
"qwert-54321",
};
for k, v in pairs(t) do
print(string.format("%30s", v));
end
result:----------------------------------------------
character
루아
abc감사합니다123
ab23
lua is funny
ㅇㅅㅇ
美國大將
qwert-54321
Форматирование символов Юникода может быть сложным, потому что каждый символ принимает не только переменное количество байтов при кодировании, но и при отображении числа переменных в столбце переменной. Выполняя быстрый поиск по Luarocks, библиотека [wcwidth] (https://luarocks.org/modules/aperezdc/wcwidth) выглядит так, как будто она подходит для того, что вы пытаетесь сделать. – hugomg