Spec-Zone.ru › LÖVE

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

См. также

  • love
  • love.textinput


© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/utf8

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API