OSDN Git Service

refactoring.
[meshio/meshio.git] / swig / englishmap.py
index 4226ccd..d3e2a22 100644 (file)
 #!/usr/bin/env python
 # coding: utf8
+import sys
 
 ###############################################################################
 # 日本語名との変換マップ
 ###############################################################################
-boneMap={
-"center":u"センター",
-"upper body":u"上半身",
-"neck":u"首",
-"head":u"頭",
-"eye_L":u"左目",
-"eye_R":u"右目",
-"necktie1":u"ネクタイ1",
-"necktie2":u"ネクタイ2",
-"necktie3":u"ネクタイ3",
-"lower body":u"下半身",
-"waist accessory":u"腰飾り",
-"hair1_L":u"左髪1",
-"hair2_L":u"左髪2",
-"hair3_L":u"左髪3",
-"hair4_L":u"左髪4",
-"hair5_L":u"左髪5",
-"hair6_L":u"左髪6",
-"shoulder_L":u"左肩",
-"arm_L":u"左腕",
-"arm twist_L":u"左腕捩",
-"elbow_L":u"左ひじ",
-"wrist twist_L":u"左手捩",
-"wrist_L":u"左手首",
-"sleeve_L":u"左袖",
-"thumb1_L":u"左親指1",
-"thumb2_L":u"左親指2",
-"fore1_L":u"左人指1",
-"fore2_L":u"左人指2",
-"fore3_L":u"左人指3",
-"middle1_L":u"左中指1",
-"middle2_L":u"左中指2",
-"middle3_L":u"左中指3",
-"third1_L":u"左薬指1",
-"third2_L":u"左薬指2",
-"third3_L":u"左薬指3",
-"little1_L":u"左小指1",
-"little2_L":u"左小指2",
-"little3_L":u"左小指3",
-"front skirt_L":u"左スカート前",
-"back skirt_L":u"左スカート後",
-"leg_L":u"左足",
-"knee_L":u"左ひざ",
-"ankle_L":u"左足首",
-"hair1_R":u"右髪1",
-"hair2_R":u"右髪2",
-"hair3_R":u"右髪3",
-"hair4_R":u"右髪4",
-"hair5_R":u"右髪5",
-"hair6_R":u"右髪6",
-"shoulder_R":u"右肩",
-"arm_R":u"右腕",
-"arm twist_R":u"右腕捩",
-"elbow_R":u"右ひじ",
-"wrist twist_R":u"右手捩",
-"wrist_R":u"右手首",
-"sleeve_R":u"右袖",
-"thumb1_R":u"右親指1",
-"thumb2_R":u"右親指2",
-"fore1_R":u"右人指1",
-"fore2_R":u"右人指2",
-"fore3_R":u"右人指3",
-"middle1_R":u"右中指1",
-"middle2_R":u"右中指2",
-"middle3_R":u"右中指3",
-"third1_R":u"右薬指1",
-"third2_R":u"右薬指2",
-"third3_R":u"右薬指3",
-"little1_R":u"右小指1",
-"little2_R":u"右小指2",
-"little3_R":u"右小指3",
-"front skirt_R":u"右スカート前",
-"back skirt_R":u"右スカート後",
-"leg_R":u"右足",
-"knee_R":u"右ひざ",
-"ankle_R":u"右足首",
-"eyes":u"両目",
-"front hair1":u"前髪1",
-"front hair2":u"前髪2",
-"front hair3":u"前髪3",
-"eyelight_L":u"左目光",
-"eyelight_R":u"右目光",
-"necktie4":u"ネクタイ4",
-"hair7_L":u"左髪7",
-"hair7_R":u"右髪7",
-"toe_L":u"左つま先",
-"toe_R":u"右つま先",
-"necktie IK":u"ネクタイIK",
-"hair IK_L":u"左髪IK",
-"hair IK_R":u"右髪IK",
-"leg IK_L":u"左足IK",
-"leg IK_R":u"右足IK",
-"toe IK_L":u"左つま先IK",
-"toe IK_R":u"右つま先IK",
-"bone093":u"下半身先",
-"bone094":u"頭先",
-"bone095":u"左目先",
-"bone096":u"右目先",
-"bone097":u"腰飾り先",
-"bone098":u"左袖先",
-"bone099":u"左手先",
-"bone100":u"左親指先",
-"bone101":u"左人差指先",
-"bone102":u"左中指先",
-"bone103":u"左薬指先",
-"bone104":u"左小指先",
-"bone105":u"左スカート前先",
-"bone106":u"左スカート後先",
-"bone107":u"右袖先",
-"bone108":u"右手先",
-"bone109":u"右親指先",
-"bone110":u"右人差指先",
-"bone111":u"右中指先",
-"bone112":u"右薬指先",
-"bone113":u"右小指先",
-"bone114":u"右スカート前先",
-"bone115":u"右スカート後先",
-"bone116":u"センター先",
-"bone117":u"両目先",
-"bone118":u"ネクタイIK先",
-"bone119":u"左髪IK先",
-"bone120":u"右髪IK先",
-"bone121":u"左足IK先",
-"bone122":u"右足IK先",
-"bone123":u"左つま先IK先",
-"bone124":u"右つま先IK先",
-"bone125":u"前髪1先",
-"bone126":u"前髪2先",
-"bone127":u"前髪3先",
-"bone128":u"左目光先",
-"bone129":u"右目光先",
-"bone130":u"左腕捩先",
-"bone131":u"左手捩先",
-"bone132":u"右腕捩先",
-"bone133":u"右手捩先",
-"bone134":u"左腕捩1",
-"bone135":u"左腕捩2",
-"bone136":u"左腕捩3",
-"bone137":u"右腕捩1",
-"bone138":u"右腕捩2",
-"bone139":u"右腕捩3",
-}
+boneMap=[
+("center", "センター", 1),
+("upper body", "上半身"),
+("neck", "首"),
+("head", "頭"),
+("eye_L", "左目", 5),
+("eye_R", "右目", 5),
+("necktie1", "ネクタイ1"),
+("necktie2", "ネクタイ2"),
+("necktie3", "ネクタイ3"),
+("lower body", "下半身"),
+("waist accessory", "腰飾り"),
+("hair1_L", "左髪1"),
+("hair2_L", "左髪2"),
+("hair3_L", "左髪3"),
+("hair4_L", "左髪4"),
+("hair5_L", "左髪5"),
+("hair6_L", "左髪6"),
+("shoulder_L", "左肩"),
+("arm_L", "左腕"),
+("arm twist_L", "左腕捩", 8),
+("elbow_L", "左ひじ"),
+("wrist twist_L", "左手捩", 8),
+("wrist_L", "左手首"),
+("sleeve_L", "左袖", 1),
+("thumb1_L", "左親指1"),
+("thumb2_L", "左親指2"),
+("fore1_L", "左人指1"),
+("fore2_L", "左人指2"),
+("fore3_L", "左人指3"),
+("middle1_L", "左中指1"),
+("middle2_L", "左中指2"),
+("middle3_L", "左中指3"),
+("third1_L", "左薬指1"),
+("third2_L", "左薬指2"),
+("third3_L", "左薬指3"),
+("little1_L", "左小指1"),
+("little2_L", "左小指2"),
+("little3_L", "左小指3"),
+("front skirt_L", "左スカート前"),
+("back skirt_L", "左スカート後"),
+("leg_L", "左足"),
+("knee_L", "左ひざ"),
+("ankle_L", "左足首"),
+("hair1_R", "右髪1"),
+("hair2_R", "右髪2"),
+("hair3_R", "右髪3"),
+("hair4_R", "右髪4"),
+("hair5_R", "右髪5"),
+("hair6_R", "右髪6"),
+("shoulder_R", "右肩"),
+("arm_R", "右腕"),
+("arm twist_R", "右腕捩", 8),
+("elbow_R", "右ひじ"),
+("wrist twist_R", "右手捩", 8),
+("wrist_R", "右手首"),
+("sleeve_R", "右袖", 1),
+("thumb1_R", "右親指1"),
+("thumb2_R", "右親指2"),
+("fore1_R", "右人指1"),
+("fore2_R", "右人指2"),
+("fore3_R", "右人指3"),
+("middle1_R", "右中指1"),
+("middle2_R", "右中指2"),
+("middle3_R", "右中指3"),
+("third1_R", "右薬指1"),
+("third2_R", "右薬指2"),
+("third3_R", "右薬指3"),
+("little1_R", "右小指1"),
+("little2_R", "右小指2"),
+("little3_R", "右小指3"),
+("front skirt_R", "右スカート前"),
+("back skirt_R", "右スカート後"),
+("leg_R", "右足"),
+("knee_R", "右ひざ"),
+("ankle_R", "右足首"),
+("eyes", "両目"),
+("front hair1", "前髪1"),
+("front hair2", "前髪2"),
+("front hair3", "前髪3"),
+("eyelight_L", "左目光"),
+("eyelight_R", "右目光"),
+("necktie3_t", "ネクタイ4"),
+("hair6_L_t", "左髪7"),
+("hair6_R_t", "右髪7"),
+("ankle_L_t", "左つま先"),
+("ankle_R_t", "右つま先"),
+("necktie IK", "ネクタイIK"),
+("hair IK_L", "左髪IK"),
+("hair IK_R", "右髪IK"),
+("leg IK_L", "左足IK"),
+("leg IK_R", "右足IK"),
+("toe IK_L", "左つま先IK"),
+("toe IK_R", "右つま先IK"),
+
+("lower body_t", "下半身先"),
+("head_t", "頭先"),
+("eye_L_t", "左目先"),
+("eye_R_t", "右目先"),
+("waist accessory_t", "腰飾り先"),
+
+("sleeve_L_t", "左袖先"),
+("wrist_L_t", "左手先"),
+("thumb2_L_t", "左親指先"),
+("fore3_L_t", "左人差指先"),
+("middle3_L_t", "左中指先"),
+("third3_L_t", "左薬指先"),
+("little3_L_t", "左小指先"),
+("front skirt_L_t", "左スカート前先"),
+("back skirt_L_t", "左スカート後先"),
+
+("sleeve_R_t", "右袖先"),
+("wrist_R_t", "右手先"),
+("thumb2_R_t", "右親指先"),
+("fore3_R_t", "右人差指先"),
+("middle3_R_t", "右中指先"),
+("third3_R_t", "右薬指先"),
+("little3_R_t", "右小指先"),
+("front skirt_R_t", "右スカート前先"),
+("back skirt_R_t", "右スカート後先"),
+
+("center_t", "センター先"),
+("eyes_t", "両目先"),
+("necktie IK_t", "ネクタイIK先"),
+("hair IK_L_t", "左髪IK先"),
+("hair IK_R_t", "右髪IK先"),
+("leg IK_L_t", "左足IK先"),
+("leg IK_R_t", "右足IK先"),
+("toe IK_L_t", "左つま先IK先"),
+("toe IK_R_t", "右つま先IK先"),
+("front hair1_t", "前髪1先"),
+("front hair2_t", "前髪2先"),
+("front hair3_t", "前髪3先"),
+("eyelight_L_t", "左目光先"),
+("eyelight_R_t", "右目光先"),
+("arm twist_L_t", "左腕捩先"),
+("wrist twist_L_t", "左手捩先"),
+("arm twist_R_t", "右腕捩先"),
+("wrist twist_R_t", "右手捩先"),
+("arm twist1_L", "左腕捩1", 9),
+("arm twist2_L", "左腕捩2", 9),
+("arm twist3_L", "左腕捩3", 9),
+("arm twist1_R", "右腕捩1", 9),
+("arm twist2_R", "右腕捩2", 9),
+("arm twist3_R", "右腕捩3", 9),
+#
+("arm twist1_L_t", "左腕捩1先"),
+("arm twist2_L_t", "左腕捩2先"),
+("arm twist3_L_t", "左腕捩3先"),
+("arm twist1_R_t", "右腕捩1先"),
+("arm twist2_R_t", "右腕捩2先"),
+("arm twist3_R_t", "右腕捩3先"),
+]
 def getEnglishBoneName(name):
-    for k, v in boneMap.items():
-        if v==name:
-            return k
+    for v in boneMap:
+        if v[1]==name:
+            return v[0]
 
+def getIndexByEnglish(name):
+    for i, v in enumerate(boneMap):
+        if v[0]==name:
+            return i
 
-skinMap={
-"skin000":u"base",
-"serious":u"真面目",
-"sadness":u"困る",
-"cheerful":u"にこり",
-"anger":u"怒り",
-"go up":u"上",
-"go down":u"下",
-"blink":u"まばたき",
-"smile":u"笑い",
-"wink":u"ウィンク",
-"wink2":u"ウィンク2",
-"wink_R":u"ウィンク右",
-"wink2_R":u"ウィンク2右",
-"close><":u"はぅ",
-"calm":u"なごみ",
-"surprise":u"びっくり",
-"doubt":u"じと目",
-"confuse":u"なぬ!",
-"pupil":u"瞳小",
-"a":u"あ",
-"i":u"い",
-"u":u"う",
-"o":u"お",
-"triangle":u"▲",
-"regret":u"∧",
-"omega":u"ω",
-"omegabox":u"ω□",
-"fool":u"はんっ!",
-"tongue":u"ぺろっ",
-"e-":u"えー",
-"grin":u"にやり",
-}
+def getUnicodeBoneName(name):
+    for v in boneMap:
+        if v[0]==name:
+            return v
+
+skinMap=[
+("base", "base", 0),
+("serious", "真面目", 1),
+("sadness", "困る", 1),
+("cheerful", "にこり", 1),
+("anger", "怒り", 1),
+("go up", "上", 1),
+("go down", "下", 1),
+("blink", "まばたき", 2),
+("smile", "笑い", 2),
+("wink", "ウィンク", 2),
+("wink2", "ウィンク2", 2),
+("wink_R", "ウィンク右", 2),
+("wink2_R", "ウィンク2右", 2),
+("close><", "はぅ", 2),
+("calm", "なごみ", 2),
+("surprise", "びっくり", 2),
+("doubt", "じと目", 2),
+("confuse", "なぬ!", 2),
+("pupil", "瞳小", 4),
+("a", "あ", 3),
+("i", "い", 3),
+("u", "う", 3),
+("o", "お", 3),
+("triangle", "▲", 3),
+("regret", "∧", 3),
+("omega", "ω", 3),
+("omegabox", "ω□", 3),
+("fool", "はんっ!", 3),
+("tongue", "ぺろっ", 4),
+("e-", "えー", 3),
+("grin", "にやり", 3),
+]
 def getEnglishSkinName(name):
-    for k, v in skinMap.items():
-        if v==name:
-            return k
+    for v in skinMap:
+        if v[1]==name:
+            return v[0]
+
+def getUnicodeSkinName(name):
+    for v in skinMap:
+        if v[0]==name:
+            return v
+
+if sys.version_info[0]<3:
+    print 'convert boneMap and skinMap to unicode...',
+    # python2.x
+    # unicodeに変換
+    for i, l in enumerate(boneMap):
+        replace=[]
+        for j, m in enumerate(l):
+            if j==1:
+                replace.append(m.decode('utf-8'))
+            else:
+                replace.append(m)
+        boneMap[i]=replace
+
+    for i, l in enumerate(skinMap):
+        replace=[]
+        for j, m in enumerate(l):
+            if j==1:
+                replace.append(m.decode('utf-8'))
+            else:
+                replace.append(m)
+        skinMap[i]=replace
+    print('done')