Difference between revisions of "utf8 (日本語)"
m |
m (→用例) |
||
Line 48: | Line 48: | ||
詳しくは、文字コード表 (Windows では文字コード表のアプリケーションを起動) を参照してください。 | 詳しくは、文字コード表 (Windows では文字コード表のアプリケーションを起動) を参照してください。 | ||
<source lang=lua> | <source lang=lua> | ||
+ | local utf8 = require("utf8") | ||
+ | |||
+ | |||
+ | function love.load() | ||
+ | -- フォントの指定と設定を行ってください。 | ||
+ | end | ||
+ | |||
function love.draw() | function love.draw() | ||
code = utf8.codepoint('ほ') + 2 | code = utf8.codepoint('ほ') + 2 | ||
love.graphics.print(utf8.char(code), 20, 20) | love.graphics.print(utf8.char(code), 20, 20) | ||
− | + | end | |
</source> | </source> | ||
Revision as of 07:04, 21 August 2017
LÖVE 0.9.2 から使用可能 |
このモジュールは以前のバージョンでは非対応です。 |
このライブラリは UTF-8 符号化文字列を扱うため基本的な支援をします。
全ての関数は require("utf8")
により返されたテーブルの内側にて提供しています。このライブラリで扱えるのは UTF-8 エンコーディングであり、それ以外の Unicode には対応していません。文字の分類などの、文字の意味を必要とする全ての操作は適用範囲外です。
使用方法の詳細は、 リファレンスマニュアルを参照してください。
utf8.char は 0.9.2 では正常に動作しません。しかしながら、この問題は 0.10.0 以降では存在しません。 |
用例
ユーザが記述したテキストの表示後に、 UTF-8 モジュールを使用して消去します。
local utf8 = require("utf8")
function love.load()
text = "Type away! -- "
-- 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
文字の演算により「ほ」を半濁音「ぽ」にします。これを応用することで全角・半角、新字体・旧字体、歴史的仮名遣い、ひらがな・カタカナの相互変換が行えるようになります。
詳しくは、文字コード表 (Windows では文字コード表のアプリケーションを起動) を参照してください。
local utf8 = require("utf8")
function love.load()
-- フォントの指定と設定を行ってください。
end
function love.draw()
code = utf8.codepoint('ほ') + 2
love.graphics.print(utf8.char(code), 20, 20)
end
関連
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info