2024-03-13 11:14:01 +08:00
|
|
|
|
def callLunaHostFont():
|
|
|
|
|
try:
|
|
|
|
|
import ctypes
|
|
|
|
|
try:
|
|
|
|
|
internal_renpy_get_font=ctypes.CDLL('LunaHook64').internal_renpy_get_font
|
|
|
|
|
except:
|
|
|
|
|
internal_renpy_get_font=ctypes.CDLL('LunaHook32').internal_renpy_get_font
|
|
|
|
|
internal_renpy_get_font.restype=ctypes.c_wchar_p
|
|
|
|
|
return internal_renpy_get_font()
|
|
|
|
|
except:
|
|
|
|
|
return None
|
2024-03-08 23:54:27 +08:00
|
|
|
|
try:
|
|
|
|
|
import os
|
|
|
|
|
import renpy
|
|
|
|
|
def hook_renpy_text_font_get_font_init(original):
|
|
|
|
|
def new_init(*args, **kwargs):
|
|
|
|
|
#ctypes.windll.user32.MessageBoxW(None, str(kwargs), str(args), 0)
|
2024-03-13 11:14:01 +08:00
|
|
|
|
font=callLunaHostFont()
|
|
|
|
|
if font and font!='' and os.path.exists(font):
|
|
|
|
|
font=font.replace('\\','/')#不知道为什么,用\会报错,但之前写死C:\Windows\Fonts\msyh.ttc时就没事
|
2024-03-08 23:54:27 +08:00
|
|
|
|
args=(font,)+args[1:]
|
|
|
|
|
if 'fn' in kwargs:
|
|
|
|
|
kwargs['fn']=font
|
|
|
|
|
return original(*args, **kwargs)
|
|
|
|
|
|
|
|
|
|
return new_init
|
|
|
|
|
if "original_renpy_text_font_get_font" not in globals():
|
|
|
|
|
original_renpy_text_font_get_font = renpy.text.font.get_font
|
|
|
|
|
renpy.text.font.get_font = hook_renpy_text_font_get_font_init(original_renpy_text_font_get_font)
|
|
|
|
|
|
|
|
|
|
except:
|
|
|
|
|
pass
|