utf8
Доступно с LÖVE 0.9.2
Этот модуль не поддерживается в более ранних версиях.
Эта библиотека предоставляет базовую поддержку обработки строк, закодированных в UTF-8.
Все её функции находятся в таблице, возвращаемой require("utf8"). Эта библиотека не предоставляет никакой поддержки Юникода, кроме обработки кодировки UTF-8. Любые операции, требующие понимания значения символа, такие как классификация символов, выходят за рамки её возможностей.
Для подробного использования, см. справочное руководство.
Функция utf8.char не работает правильно в 0.9.2; Однако это не проблема с 0.10.0
Примеры
Выведите текст, введённый пользователем, и удалите его, используя модуль UTF-8.
local utf8 = require("utf8")
function love.load()
text = "Type away! -- "
-- enable key repeat so backspace can be held down to trigger love.keypressed multiple times.
love.keyboard.setKeyRepeat(true)
end
function love.textinput(t)
text = text .. t
end
function love.keypressed(key)
if key == "backspace" then
-- get the byte offset to the last UTF-8 character in the string.
local byteoffset = utf8.offset(text, -1)
if byteoffset then
-- remove the last UTF-8 character.
-- string.sub operates on bytes rather than UTF-8 characters, so we couldn't do string.sub(text, 1, -2).
text = string.sub(text, 1, byteoffset - 1)
end
end
end
function love.draw()
love.graphics.printf(text, 0, 0, love.graphics.getWidth())
end
См. также
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/utf8