Category:Home/memo (Total 18 items)

≪ Quicktimeの時間の取り扱い | パスを書く ≫

textを扱う

  • 2008-05-23 (金)
  • memo

text()コマンドを使う。

text("test",0,0)

このようにしても見れない。text()の場合座標はbaselineで決定される。よって上のように呼び出すと描画スペースより外に出てしまう。適当にy軸方向に動かして

text("test",0,50)

これで描画出来た。

日本語を取り扱う場合はクォーテーションの前にuをつけてユニコードとして取り扱わないと化ける。

text(u"テスト",0,50)

フォントの種類や大きさは、font(), fontsize()で変更出来る。
日本語フォントの書体は正確な英語名を使わないとエラーになる。

こちらが参考になるになる。
NodeBoxで日本語フォントを指定する方法

  • ヒラギノ明朝 Pro W3→Hiragino Mincho Pro W3
  • ヒラギノ明朝 Pro W6→Hiragino Mincho Pro W6
  • ヒラギノ角ゴ Pro W3→Hiragino Kaku Gothic Pro W3
  • ヒラギノ角ゴ Pro W6→Hiragino Kaku Gothic Pro W6
  • ヒラギノ角ゴ Std→Hiragino Kaku Gothic std
  • ヒラギノ丸ゴ Pro→Hiragino Maru Gothic Pro W3とかW6とか付けない場合はW3になる

ProNを指定したい場合はProをProNにすれば大丈夫。(ProNって旧字体がデフォルトの書体なんだっけ?)

標準でインストールされているもので一番指定しやすいのはOsaka。等幅はOsaka-Mono

font("Osaka")
fontsize(100)
text(u"テスト",0,100)

クォーテーションで括らなかったり、最初の文字を小文字にするとエラー

font(osaka)
fontsize(100)
text(u"テスト",0,100)

テキストを折り返したい時はtext()コマンドでwidth=,height=でテキストブロックのサイズを指定する。 widthをfontsizeにすれば一応縦書きになる。一行だけだったら。。。

font("Osaka")
fontsize(10)
text(u"テストテストテストテストテストテストテストテストテストテストテストテストテスト",0,10,width=50,height=1000)

行間やアライメントはlineheight()やalign()を使って調節する

font("Osaka")
fontsize(10)
lineheight(2.0)
align(RIGHT)
text(u"テストテストテストテスト",0,10,width=50)

外部テキストの読み込みにはopenコマンドを用いる。
テキスト全体を読み込む時はopen(path).read()、行で読み込む時はopen(path).readline()
utf-8で保存してデコードしてやる。

t=open(u"名称未設定.txt").read()
t=t.decode("utf-8")
text(t,0,10)

テキストブロックのサイズを知りたい時はtextwidth(), textheight(), textmetrics()を用いる。

テキストをPathとして利用する場合はtextpathを用いる。
この際、font()で書体を決めておかないと、例えu"text"していてもPathにした時に文字化ける。

Category:Home/memo (Total 18 items)

≪ Quicktimeの時間の取り扱い | パスを書く ≫

Entries in this Category
Tutorial
Library
Syndicate this site

RSS 1.0 Feed

Return to page top