使用python在Windows上安装TTF字体

5 truetype sendmessage python-2.7

我想用Python 2.7在Windows上安装新字体.首先我复制myFont.ttf到Windows Fonts文件夹然后我添加了我的字体(True Type)键到注册表(HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts).现在我想声明系统已经安装了新字体.为此,我发现我应该使用win32api.SendMessage,但我不知道如何为此方法提供必需的参数?

反正有没有在python的Windows上安装ttf字体?我用谷歌搜索,但我找不到有关Python的有用数据.

小智 6

import win32api
import win32con
import ctypes

ctypes.windll.gdi32.AddFontResourceA("C:\\Users\\Username\\Desktop\\fontname.ttf")
win32api.SendMessage(win32con.HWND_BROADCAST, win32con.WM_FONTCHANGE)
Run Code Online (Sandbox Code Playgroud)

  • 避免使用`ctypes.windll`(使用全局缓存函数指针对象是一个坏主意); 避免遗留[A] NSI API(Windows文件系统路径本身就是UTF-16;不要把自己放在20世纪80年代的8位代码页框中); 并检查返回值:`gdi32 = ctypes.WinDLL('gdi32');``result = gdi32.AddFontResourceW(u"C:\\ Users \\ Username \\ Desktop \\ fontname.ttf")`. (2认同)