外部からのテキストオブジェクト操作

投稿ツリー


このトピックの投稿一覧へ

通常 外部からのテキストオブジェクト操作

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2007/1/11 23:48
まんだ  長老 居住地: むかしは本州の西端  投稿数: 570
皆さんこんばんは。

Blenderのテキストオブジェクトって
・UNICODEに対応した(?)TTFフォント
・UTF-8エンコードされたテキストファイル
があれば
1.フォントファイルを指定する
2.UTF-8エンコードしたテキストファイルからテキストを流し込む
という手順で漢字かな混じりの日本語を表示することが出来るのですが、少なくともWindows上ではBlender上で直接漢字変換して…ということが出来ない状態です。

そこで、直接とはいかないまでも、それに近いことが出来ないか、と考えてみました。Pythonに付いてくることのあるTkウィジェット、"PyTkinter"で小窓を出してそこでテキストを編集できれば他のWindowsアプリケーションからもコピー&ペースト出来るので便利になりはしないかと。

ところが、作って動かしてみた(ええ、ちゃんと小窓も出てます )ものの、そう上手くいくわけではなくて…。半角英字(ASCII)ではエラーにならないのに、全角を入力してみると

AttributeError: expected string argument

と表示されます。テキストオブジェクト(データブロック?)にテキストを設定する際に想定していない文字コ―ドがあるために、テキストとして扱ってくれないようです。

8bitのバイト列を「透過扱い」にしてテキストオブジェクトのテキストを設定するなどということは出来ないんでしょうか?

疑問解決のために是非お知恵をお貸ししていただきたい次第です。よろしくお願いします。

以下、作ってみたスクリプトです。使い方は
1.Blenderのテキストウィンドウにロード(スクリプトメニューからもOK)
2.テキストオブジェクトを1個選択状態にしておき、(全く選択しない状態で「新規作成」)
3.Alt+Pで小窓が開きます。
4.テキストを書き換え、「変更」ボタンを押します
5.(そのあとTabを数回…)

実行にはBlenderとPythonはもちろん、そして"PyTkinter"なるものが必要です(保存文字コードはUTF-8です)。

関連ページ
http://www.rock.sannet.ne.jp/lab1092/bl2unitxt3d.html
bl2unitxt3d.py をダウンロードしてください。

[EDIT]このスクリプトを適用する際、表示用フォントを各自でロードする必要があります。また、sitecustomize.pyをPythonがインストールしてあるディレクトリの下、特定の場所にコピーする必要があります。
投票数:11 平均点:2.73

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki