Difference between revisions of "utf8 (Русский)"

(Created page with "{{newin|0.9.2|092|type=module}} Эта библиотека предоставляет базовую поддержку для кодирования UTF-8. Она ра...")
 
 
Line 49: Line 49:
  
 
[[Category:Libraries (Русский)]]
 
[[Category:Libraries (Русский)]]
{{#set:Description=Provides basic support for manipulating UTF-8 strings.}}
+
{{#set:Description=Предоставляет базовую поддержку для работы с UTF-8 строками.}}
 
{{#set:LOVE Version=0.9.2}}
 
{{#set:LOVE Version=0.9.2}}
 
{{#set:Keyword=String}}
 
{{#set:Keyword=String}}
 
== Другие языки ==
 
== Другие языки ==
 
{{i18n|utf8}}
 
{{i18n|utf8}}

Latest revision as of 19:38, 12 June 2018

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

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


Другие языки