utf8 (Français)

Disponible depuis LÖVE 0.9.2
Ce-tte module n'est pas supporté-e par des versions plus anciennes.


Cette bibliothèque fournit un support basique pour la manipulation des chaînes de caractères encodées en UTF-8.

Elle fournit toutes les fonctions au sein de la table retournée par require("utf8"). Cette bibliothèque ne fournit pas de support d'Unicode autre que la gestion de l'encodage UTF-8. Toutes les opérations nécessitant la sémantique du caractère, telles que la classification de caractère, est hors de son champs d'application.

Pour une utilisation détaillée, voir le manuel de référence.

O.png La fonction utf8.char ne fonctionne pas correctement avec LÖVE 0.9.2 ; Cependant, elle n'a plus ce problème depuis la version 0.10.0  



Exemples

Affiche le texte que l'utilisateur écrit, et l'efface, en utilisant le module UTF-8.

local utf8 = require("utf8")

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

    -- Active la répétition des touches, afin que la touche suppression puisse être pressée en continue afin de déclencher love.keypressed plusieurs fois.
    love.keyboard.setKeyRepeat(true)
end

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

function love.keypressed(key)
    if key == "backspace" then
        -- récupère la position en octets du dernier caractère UTF-8 au sein de la chaîne.
        local byteoffset = utf8.offset(text, -1)

        if byteoffset then
            -- Efface le dernier caractère UTF-8.
            -- string.sub travaille sur des octets, plutôt que sur des caractères UTF-8, on ne pourrait donc pas utiliser 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

Voir également


Autres langues