はじめに
今回はProcessingを使う人が困りがちな、text()で日本語入力しようとした際に文字化けする問題を最も簡単に解決できる方法(筆者体感)を紹介します。
筆者はPythonで説明します。
※Javaでの動作は確認できていないのでもし確認できた方はコメントで教えてください!
本題
文字化け
みなさん、Processingにて下記のようにtext() を使って日本語を表示しようとしたことはありませんか?
def setup():
size(400, 400)
background(0)
font = createFont("Meiryo", 50)
textFont(font)
textSize(50)
def draw():
fill(255, 0, 0)
textAlign(CENTER, CENTER)
text("文字化け嫌い", width/2, height/2)
一見なんの問題もないコードなのに実行結果は。。。
こうなってしまいました。。。
createFont() とtextFont() でちゃんとフォントも指定してるのに。。。って思いますよね
でもこれ以下のような、ワンステップですぐに解決できます。
解決方法
その簡単な方法とは
""の前にuを打ち込むだけ!
以下の通りです
text(u"#入力したい文字列", x座標, y座標)
先程の全体のコードの場合はこんな感じ
def setup():
size(600, 400)
background(0)
background(0)
font = createFont("Meiryo", 50)
textSize(50)
def draw():
fill(255, 0, 0)
textAlign(CENTER, CENTER)
text(u"文字化け嫌い", width/2, height/2)
この記事がProcessingのtext() で困ってる誰かさんの役に立てればと思います。