如何以编程方式在 Macintosh 上安装字体?

Avr*_*ram 6 mac fonts osx-snow-leopard macos

如何在 Mac 上以编程方式安装字体?以及需要哪些步骤?

我想创建一个程序,该程序接受一个字体文件并将其安装在客户端的 Mac 上。

Ric*_*haw 12

将字体移动到~/Library/Fonts,或者如果您希望它在系统范围内可用并具有 root 权限,则/Library/Fonts.


Jos*_*osh 5

我之前的回答是针对未经编辑的问题。要回答如何在 Mac 上以编程方式安装字体的问题,Rich 的回答是正确的,只需将它们移动到 fonts 文件夹中即可。

编辑:为了符合我之前回答的精神,这里有一个(大致完成的)AppleScript,它将/some/path/to/a/font_file.ttf使用 OS X 应用程序“Font Book”安装位于 的字体文件

set theFontPath to "/some/path/to/a/font_file.ttf"

set theFont to POSIX file theFontPath

tell application "Finder"
 open theFont
end tell

tell application "Font Book"
 activate
 set theFontWindow to the first window
end tell

tell application "System Events"
 tell process "Font Book"
  tell window 1
   tell group 1
    click button "Install Font"
   end tell
  end tell
 end tell
end tell
Run Code Online (Sandbox Code Playgroud)

这可以通过命令在 C++ 中osascript执行;如果您需要帮助,这完全是一个单独的问题。或者您可以按照 Rich 的建议进行操作,只需使用 Crename()函数移动文件即可。


上一个答案(仅供参考):

我建议使用位于 /Applications 中的“Font Book”程序。除了自动将字体处理到正确的字体文件夹(在 Rich Bradshaw 的回答中概述)之外,Font Book 还将在安装前验证字体。字体因损坏和导致问题而臭名昭著。此外,字体簿显示已安装的字体并允许您禁用它们。

要使用字体簿添加字体,请打开应用程序并从“文件”菜单中选择“添加字体”。在执行此操作之前,我强烈建议从“字体手册”菜单中选择“首选项”,并确保启用“安装前验证字体”。此外,您可以在此处决定是仅为当前用户安装字体,还是为计算机的所有用户安装字体。