In Blender's Windows environment, Unocode can be displayed in Japanese by TextEdit, In-line Japanese input is not possible.
In the development of add-ons, etc., we usually use other editors, so it doesn't matter much. I found it inconvenient to not be able to input Japanese when writing a little test code or writing notes. I made an add-on that allows you to enter multibyte characters as comments at the end of the selected line of open text Add a panel called Imput Multibyte Comment and an input field to the text tab (Because you can input Japanese on the panel etc. even in the Windows environment. Mac should not support input here either)
y_TexteditInputComment.py
bl_info = {
"name" : "Input multibyte character Comment",
"author" : "Yukimituki",
"description" : "",
"blender" : (2, 80, 0),
"version" : (0, 0, 1),
"location" : "",
"warning" : "",
"category" : "Generic"
}
import bpy
import os
from bpy.props import StringProperty, FloatVectorProperty, BoolProperty
class TEXT_PT_ImputComment(bpy.types.Panel):
bl_label = "Input Multibyte Comment"
bl_space_type = 'TEXT_EDITOR'
bl_region_type = 'UI'
bl_category = "Text"
#Definition of drawing
def draw(self, context):
layout = self.layout
layout.prop(context.scene, "textedit_comment_txt")
row = layout.row()
row.operator("comment.imput")
class TEXT_OT_textimput(bpy.types.Operator):
bl_idname = "comment.imput"
bl_label = "imput comment"
def execute(self, context):
text = context.space_data.text
if not text:return {'FINISHED'}
bpy.ops.ed.undo_push() #Record the current state so that undo works
#Get the last line of the selection
end_line = text.select_end_line_index
input_text = context.scene.textedit_comment_txt
text.lines[end_line].body += "# %s" % (input_text)
return {'FINISHED'}
classes = (
TEXT_PT_ImputComment,
TEXT_OT_textimput,
)
#####################################
def register():
Scene = bpy.types.Scene
Scene.textedit_comment_txt = StringProperty(name='text')
for cls in classes:
bpy.utils.register_class(cls)
def unregister():
Scene = bpy.types.Scene
del Scene.textedit_comment_txt
for cls in reversed(classes):
bpy.utils.unregister_class(cls)
if __name__ == "__main__":
register()
#######################################
It's as simple as confirming that it works, but I hope it helps something.
Recommended Posts