Skip to content

Instantly share code, notes, and snippets.

@float1251
Created September 8, 2016 01:06
Show Gist options
  • Save float1251/4b743dc22de24d886bfb08585448f88a to your computer and use it in GitHub Desktop.
Save float1251/4b743dc22de24d886bfb08585448f88a to your computer and use it in GitHub Desktop.
import os
class ReplaceValue:
"""
Font入れ替えのデータクラス
タプルでやればいらないが、ひとまず作成
"""
def __init__(self, from_name, from_guid, to_name, to_guid):
self.from_name = from_name
self.from_guid = from_guid
self.to_name = to_name
self.to_guid = to_guid
# fontのタプルデータ
FOT_NewRodinPro_B = ("FOT-NewRodinPro-B.otf", "f01fdca72ee69eb41b40c72753d0586a")
FOT_NewRodinPro_DB = ("FOT-NewRodinPro-DB.otf", "cddff03d4c32ed14eb1b109753d51ccc")
FOT_NewRodinPro_EB = ("FOT-NewRodinPro-EB.otf", "8aec4b336684afc468c009b22fc178b2")
FOT_NewRodinPro_M = ("FOT-NewRodinPro-M.otf", "a0ee84a251d3a794fb1535fd7ab75967")
FOT_NewRodinPro_UB = ("FOT-NewRodinPro-UB.otf", "df2b1b1d4a1aec64db7b56f25e1e12d7")
# 旧フォント
MPLUS_1p_Black = ("mplus-1p-black.ttf", "1b286e2b2cbe3c9468610f04fdd05391")
DF_ChuButoMaruGothic = ("DF-ChuButoMaruGothic-W7001.TTF", "cddff03d4c32ed14eb1b109753d51ccc")
replace_values = [
ReplaceValue(*MPLUS_1p_Black, *FOT_NewRodinPro_B),
ReplaceValue(*DF_ChuButoMaruGothic, *FOT_NewRodinPro_B),
ReplaceValue("DF-SouGei-W7001.TTF", "6999926202e69474aa328779c08fbdb2", *FOT_NewRodinPro_B),
ReplaceValue("DF-SouGei-W7002.TTF", "20fbd0664922eac4c9baf12eecb2a6f2", *FOT_NewRodinPro_B),
ReplaceValue("T3gothb001.TTF", "eb5dcac199272864ea70e9743498245c", *FOT_NewRodinPro_B),
ReplaceValue("T3sirib001.TTF", "19ee28a3dba65114eb73f4f6dfc6f6c3", *FOT_NewRodinPro_B),
ReplaceValue("TCnowgb002.TTF", "4a687bf88520a4a4ab19d12b7cbd7c33", *FOT_NewRodinPro_B),
ReplaceValue("TCnowge002.TTF", "38c039355be8cd64f8378cb4beabfbe4", *FOT_NewRodinPro_B),
ReplaceValue("TCnowgm002.TTF", "82393d36c639bfd409f5e16091fa6d9e", *FOT_NewRodinPro_B),
ReplaceValue("TCnowgu002.TTF", "a0f72efca1441844b8412f1dd8d8c247", *FOT_NewRodinPro_B),
]
def replace_guid(path, replace_values):
"""
pathのファイルにあるguidを置き換える
path
ファイルパス
replace_value
ReplaceValueのリスト
"""
with open(path, "rt") as f:
text = f.read()
res = False
for val in replace_values:
if val.from_guid in text:
res = True
#print("{0},{1},{2},{3}".format(val.from_guid, path, val.to_name, val.to_guid))
text = text.replace(val.from_guid, val.to_guid)
else:
if res:
print(path)
# ファイルに書き込む
# wモードだとpythonがwrite時にOS標準の改行コードに置き換えてしまうため、
# wbで書き込んでいる
with open(path, "wb") as w:
text = text.replace("\r",'')
w.write(text.encode("utf-8"))
if __name__ == "__main__":
# プロジェクトファイル全探索
for root, dirs, files in os.walk(os.getcwd()):
for f in files:
# 拡張子がunityかprefabの際はguidを置き換える
r, ext = os.path.splitext(f)
if ext == ".unity" or ext == ".prefab":
# fileをopenして入れ替える
replace_guid(os.path.join(root, f), replace_values)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment