utf8
Available since LÖVE 0.9.2
This module is not supported in earlier versions.
This library provides basic support for handling UTF-8 encoded strings.
It provides all its functions inside the table returned by require("utf8")
. This library does not provide any support for Unicode other than handling UTF-8 encoding. Any operation that needs the meaning of a character, such as character classification, is outside its scope.
For detailed usage, see the reference manual.
The utf8.char function does not work correctly in 0.9.2; However, it is not an issue since 0.10.0
Examples
Print text the user writes, and erase it using the UTF-8 module.
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
See Also
Links: