utf8 (Русский)

Available since LÖVE 0.9.2
This module is not supported in earlier versions.


Эта библиотека предоставляет базовую поддержку для кодирования UTF-8.

Она размещает все свои функции внутри таблицы возвращённой require("utf8"). Эта библиотека не предоставляет поддержку Unicode, кроме обработки UTF-8 кодирования. Любая операция, требующая обозначения символа, вроде классификации символов, находится вне сферы применения данной библиотеки.

Для подробного использования, смотрите справочное руководство.

O.png Функция utf8.char не работает правильно в 0.9.2; Однако, проблемы нет с 0.10.0  



Примеры

Печать текста, который пользователь вводит, и удаление его, используя модуль UTF-8.

local utf8 = require("utf8")

function love.load()
    text = "Type away! -- "

    -- включение повтора клавиш, чтобы возврат (backspace) мог удерживаться, вызывая love.keypressed множество раз.
    love.keyboard.setKeyRepeat(true)
end

function love.textinput(t)
    text = text .. t
end

function love.keypressed(key)
    if key == "backspace" then
        -- получение позиции в байтах последнего UTF-8 символа в строке.
        local byteoffset = utf8.offset(text, -1)

        if byteoffset then
            -- удаление последнего UTF-8 символа.
            -- string.sub работает с байтами, а не UTF-8 символами, так что мы не можем сделать 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

Смотрите также


Другие языки