LunaHook-mirror/LunaHook/resource/renpy_hook_font.py
恍兮惚兮 1af117fea5 font
2024-03-13 11:14:01 +08:00

32 lines
1.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
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)
font=callLunaHostFont()
if font and font!='' and os.path.exists(font):
font=font.replace('\\','/')#不知道为什么,用\会报错但之前写死C:\Windows\Fonts\msyh.ttc时就没事
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