日本語入力を簡単に
5件表示
すべてのコメント一覧へ
投稿ツリー
-
日本語入力を簡単に (Takeshi, 2011/12/17 19:22)
«
-
Re: 日本語入力を簡単に (yamyam, 2011/12/23 0:19)
-
Re: 日本語入力を簡単に (Takeshi, 2011/12/23 20:18)
-
Re: 日本語入力を簡単に (まんだ, 2011/12/26 22:32)
- Re: 日本語入力を簡単に (Takeshi, 2011/12/26 23:26)
-
Re: 日本語入力を簡単に (まんだ, 2011/12/26 22:32)
-
Re: 日本語入力を簡単に (Takeshi, 2011/12/23 20:18)
-
Re: 日本語入力を簡単に (yamyam, 2011/12/23 0:19)
Takeshi
居住地: 愛知
投稿数: 9
※追記:UNDO設定をつけ、上書きもできるように変更しました2011/12/27
Blenderが日本語UIに対応しましたね
しかし、いまだ日本語の直接入力が実現していません
以前からまんださんやchromolyが作ったTkを使用したスクリプトを利用してきましたが
http://blender.jp/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=857&forum=3&move=next&topic_time=1212205316
http://blender.jp/modules/news/article.php?storyid=3274
バージョンアップに伴って、pythonが内蔵式になったためか僕の環境で使えなくなっていました
新しいのに乗り換えてスクリプトは、古いバージョンで使うか迷っていたんですが
間を取って(?)新しく違うスクリプトを書いてみました
クリップボードを使用して貼り付けるというものです
Windows専用ですがよかったら使ってください
※既存のスクリプトに似ています アップしてもいいのでしょうか?←事後承諾
#### 使い方 ####
テキストは末尾に追加されます
・スクリプトを導入
・テキストを追加して選択、propertiesのFとあるObjectDataタブにPasteが追加されていることを確認
・貼り付けたいテキストをどこからでもいいのでコピー(内部はunicodeなので、大体の言語をカバーできると思います)
・Paste from Clipboardボタンをクリック → OK?
・Load Fontsボタンで日本語表示可能な大体のフォントを読み込みます
Thank you
Blenderが日本語UIに対応しましたね
しかし、いまだ日本語の直接入力が実現していません
以前からまんださんやchromolyが作ったTkを使用したスクリプトを利用してきましたが
http://blender.jp/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=857&forum=3&move=next&topic_time=1212205316
http://blender.jp/modules/news/article.php?storyid=3274
バージョンアップに伴って、pythonが内蔵式になったためか僕の環境で使えなくなっていました
新しいのに乗り換えてスクリプトは、古いバージョンで使うか迷っていたんですが
間を取って(?)新しく違うスクリプトを書いてみました
クリップボードを使用して貼り付けるというものです
Windows専用ですがよかったら使ってください
※既存のスクリプトに似ています アップしてもいいのでしょうか?←事後承諾
bl_info = {
"name": "Paste from Clipbord(for win32)",
"author": "Takeshi",
"version": (1, 0),
"blender": (2, 61, 0),
"api": 42615,
"location": "Properties -> ObjectData",
"description": "Paste text from clipboard",
"warning": "",
"wiki_url": "",
"tracker_url": "",
"category": "Text"}
import bpy
from bpy.props import *
import sys
from ctypes import *
OpenClipboard = windll.user32.OpenClipboard
GetClipboardData = windll.user32.GetClipboardData
CloseClipboard = windll.user32.CloseClipboard
GlobalLock = windll.kernel32.GlobalLock
GlobalUnlock = windll.kernel32.GlobalUnlock
#### Text Edit Operator ####
class TEXT_OT_PCB(bpy.types.Operator):
bl_description = 'Paste text from Clipboard'
bl_idname = 'text.paste_clipboard'
bl_label = 'Paste text'
bl_undo = True
@classmethod
def poll(cls, context):
actob = context.active_object
return (actob and actob.type == 'FONT')
def paste(self):
scene = bpy.context.scene
if OpenClipboard(c_int(0)):
hClipMem = GetClipboardData(c_int(13))
GlobalLock.restype = c_wchar_p
text = GlobalLock(c_int(hClipMem))
GlobalUnlock(c_int(hClipMem))
CloseClipboard()
if text:
ob = bpy.context.active_object
editmode = ob.mode
if editmode == 'EDIT':
bpy.ops.object.mode_set(mode='OBJECT')
####
if scene.paste_type == "0":
ob.data.body = text
if scene.paste_type == "1":
ob.data.body += text
####
if editmode == 'EDIT':
bpy.ops.object.mode_set(mode='EDIT')
def execute(self, context=None):
self.paste()
return {'FINISHED'}
## Load Fonts ##
if sys.platform == 'win32': # Windows
font_paths = ('C:\WINDOWS\Fonts\msgothic.ttc',
'C:\WINDOWS\Fonts\msmincho.ttc',
'C:\WINDOWS\Fonts\meiryo.ttc')
else: # Linux etc.
font_paths = ('/home/hoge/.fonts/meiryo/meiryo.ttc',
'/home/hoge/.fonts/meiryo/meiryob.ttc')
#### Load Fonts Operator ####
class TEXT_OT_load_fonts(bpy.types.Operator):
'''Load fonts'''
bl_description = "load fonts (PCB)"
bl_idname = 'text.load_fonts'
bl_label = 'Load Fonts'
setactob = BoolProperty(default=False)
'''
@classmethod
def poll(cls, context):
actob = context.active_object
return actob and actob.type == 'FONT'
'''
def execute(self, context=None):
if not font_paths:
return {'FINISHED'}
loadedpaths = [f.filepath for f in bpy.data.fonts]
for path in font_paths:
if not path in loadedpaths:
bpy.ops.font.open(filepath=path)
if self.setactob:
actob = bpy.context.active_object
if actob and actob.type == 'FONT':
for font in bpy.data.fonts:
if font.filepath == font_paths[0]:
actob.data.font = font
break
return {'FINISHED'}
#### Add Panel ####
class DATA_PT_call_PCB(bpy.types.Panel):
bl_label = "Paste"
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_context = 'data'
@classmethod
def poll(cls, context):
actob = context.active_object
return (actob and actob.type == 'FONT')
def draw(self, context):
layout = self.layout
split = layout.split()
col = split.column(align=True)
col.operator('text.paste_clipboard', text='Paste from Clipboard', icon='FONT_DATA')
col.prop(context.scene, "paste_type", expand=True)
col = split.column(align=True)
op = col.operator('text.load_fonts', text='Load Fonts', icon='FILE_FONT')
op.setactob = True
### Registration ###
def register():
bpy.utils.register_class(TEXT_OT_PCB)
bpy.utils.register_class(TEXT_OT_load_fonts)
bpy.utils.register_class(DATA_PT_call_PCB)
bpy.types.Scene.paste_type = EnumProperty(
name="Paste Type",
description="Select the type of way to paste text",
items=[("0","Over write","over write text"),
("1","Add","add text at the end of data")
],
default='1')
def unregister():
bpy.utils.unregister_class(TEXT_OT_PCB)
bpy.utils.unregister_class(TEXT_OT_load_fonts)
bpy.utils.unregister_class(DATA_PT_call_PCB)
del bpy.tepes.Scene.paste_type
if __name__ == '__main__':
register()
テキストは末尾に追加されます
・スクリプトを導入
・テキストを追加して選択、propertiesのFとあるObjectDataタブにPasteが追加されていることを確認
・貼り付けたいテキストをどこからでもいいのでコピー(内部はunicodeなので、大体の言語をカバーできると思います)
・Paste from Clipboardボタンをクリック → OK?
・Load Fontsボタンで日本語表示可能な大体のフォントを読み込みます
Thank you
投票数:5
平均点:2.00
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki