# moraに変換します import json __MORA_LIST_MINIMUM: list[tuple[str, str | None, str]] = [ ("ヴォ", "v", "o"), ("ヴェ", "v", "e"), ("ヴィ", "v", "i"), ("ヴァ", "v", "a"), ("ヴ", "v", "u"), ("ン", None, "N"), ("ワ", "w", "a"), ("ロ", "r", "o"), ("レ", "r", "e"), ("ル", "r", "u"), ("リョ", "ry", "o"), ("リュ", "ry", "u"), ("リャ", "ry", "a"), ("リェ", "ry", "e"), ("リ", "r", "i"), ("ラ", "r", "a"), ("ヨ", "y", "o"), ("ユ", "y", "u"), ("ヤ", "y", "a"), ("モ", "m", "o"), ("メ", "m", "e"), ("ム", "m", "u"), ("ミョ", "my", "o"), ("ミュ", "my", "u"), ("ミャ", "my", "a"), ("ミェ", "my", "e"), ("ミ", "m", "i"), ("マ", "m", "a"), ("ポ", "p", "o"), ("ボ", "b", "o"), ("ホ", "h", "o"), ("ペ", "p", "e"), ("ベ", "b", "e"), ("ヘ", "h", "e"), ("プ", "p", "u"), ("ブ", "b", "u"), ("フォ", "f", "o"), ("フェ", "f", "e"), ("フィ", "f", "i"), ("ファ", "f", "a"), ("フ", "f", "u"), ("ピョ", "py", "o"), ("ピュ", "py", "u"), ("ピャ", "py", "a"), ("ピェ", "py", "e"), ("ピ", "p", "i"), ("ビョ", "by", "o"), ("ビュ", "by", "u"), ("ビャ", "by", "a"), ("ビェ", "by", "e"), ("ビ", "b", "i"), ("ヒョ", "hy", "o"), ("ヒュ", "hy", "u"), ("ヒャ", "hy", "a"), ("ヒェ", "hy", "e"), ("ヒ", "h", "i"), ("パ", "p", "a"), ("バ", "b", "a"), ("ハ", "h", "a"), ("ノ", "n", "o"), ("ネ", "n", "e"), ("ヌ", "n", "u"), ("ニョ", "ny", "o"), ("ニュ", "ny", "u"), ("ニャ", "ny", "a"), ("ニェ", "ny", "e"), ("ニ", "n", "i"), ("ナ", "n", "a"), ("ドゥ", "d", "u"), ("ド", "d", "o"), ("トゥ", "t", "u"), ("ト", "t", "o"), ("デョ", "dy", "o"), ("デュ", "dy", "u"), ("デャ", "dy", "a"), # ("デェ", "dy", "e"), ("ディ", "d", "i"), ("デ", "d", "e"), ("テョ", "ty", "o"), ("テュ", "ty", "u"), ("テャ", "ty", "a"), ("ティ", "t", "i"), ("テ", "t", "e"), ("ツォ", "ts", "o"), ("ツェ", "ts", "e"), ("ツィ", "ts", "i"), ("ツァ", "ts", "a"), ("ツ", "ts", "u"), ("ッ", None, "q"), # 「cl」から「q」に変更 ("チョ", "ch", "o"), ("チュ", "ch", "u"), ("チャ", "ch", "a"), ("チェ", "ch", "e"), ("チ", "ch", "i"), ("ダ", "d", "a"), ("タ", "t", "a"), ("ゾ", "z", "o"), ("ソ", "s", "o"), ("ゼ", "z", "e"), ("セ", "s", "e"), ("ズィ", "z", "i"), ("ズ", "z", "u"), ("スィ", "s", "i"), ("ス", "s", "u"), ("ジョ", "j", "o"), ("ジュ", "j", "u"), ("ジャ", "j", "a"), ("ジェ", "j", "e"), ("ジ", "j", "i"), ("ショ", "sh", "o"), ("シュ", "sh", "u"), ("シャ", "sh", "a"), ("シェ", "sh", "e"), ("シ", "sh", "i"), ("ザ", "z", "a"), ("サ", "s", "a"), ("ゴ", "g", "o"), ("コ", "k", "o"), ("ゲ", "g", "e"), ("ケ", "k", "e"), ("グヮ", "gw", "a"), ("グ", "g", "u"), ("クヮ", "kw", "a"), ("ク", "k", "u"), ("ギョ", "gy", "o"), ("ギュ", "gy", "u"), ("ギャ", "gy", "a"), ("ギェ", "gy", "e"), ("ギ", "g", "i"), ("キョ", "ky", "o"), ("キュ", "ky", "u"), ("キャ", "ky", "a"), ("キェ", "ky", "e"), ("キ", "k", "i"), ("ガ", "g", "a"), ("カ", "k", "a"), ("オ", None, "o"), ("エ", None, "e"), ("ウォ", "w", "o"), ("ウェ", "w", "e"), ("ウィ", "w", "i"), ("ウ", None, "u"), ("イェ", "y", "e"), ("イ", None, "i"), ("ア", None, "a"), ] __MORA_LIST_ADDITIONAL: list[tuple[str, str | None, str]] = [ ("ヴョ", "by", "o"), ("ヴュ", "by", "u"), ("ヴャ", "by", "a"), ("ヲ", None, "o"), ("ヱ", None, "e"), ("ヰ", None, "i"), ("ヮ", "w", "a"), ("ョ", "y", "o"), ("ュ", "y", "u"), ("ヅ", "z", "u"), ("ヂ", "j", "i"), ("ヶ", "k", "e"), ("ャ", "y", "a"), ("ォ", None, "o"), ("ェ", None, "e"), ("ゥ", None, "u"), ("ィ", None, "i"), ("ァ", None, "a"), ] data = {"minimum": [], "additional": []} for mora, consonant, vowel in __MORA_LIST_MINIMUM: data["minimum"].append( { "mora": mora, "consonant": consonant, "vowel": vowel, } ) for mora, consonant, vowel in __MORA_LIST_ADDITIONAL: data["additional"].append( { "mora": mora, "consonant": consonant, "vowel": vowel, } ) with open("src/mora_list.json", "w") as f: json.dump(data, f, ensure_ascii=False, indent=4)