动机
尽管 Adobe Fonts 是专有软件(这可能就是这里的整个问题......),但我认为在专业的 LaTeX 文档中使用某些 Adobe 字体(例如 Minion Pro、Arno Pro 等)而不必购买每种单独的字体(特别是如果您已经订阅了 Adobe 的 Creative Cloud)也非常诱人。
问题
由于 Adobe 将其字体集成到系统中的方式,在 MS Word 或任何其他应用程序中使用新字体绝对无缝。但是,我无法让 Lua 或 XeLaTeX 识别使用的任何字体fontspec
。
编辑
回顾这个问题,我感觉我忘了澄清什么是 Adobe Fonts是。基本上,它是一种字体订阅服务,通过 Creative Cloud 订阅“免费”提供(再次,这让人忍不住想要使用它……)。关键问题是,你不会获得任何 *.ttf 或 *.oft 文件(据我所知),而是“租用”这些字体,并且它们(神奇地?)可用于大多数桌面应用程序。遗憾的是,显然不是fontspec
。
解决方案?
我做了一些研究,发现 .otf 文件应该存储在隐藏 (windows) 文件夹中。但是,在我的系统上,只有加密文件:
PS C:\Users\USER\AppData\Roaming\Adobe\CoreSync\plugins\livetype\r> dir
Verzeichnis: C:\Users\USER\AppData\Roaming\Adobe\CoreSync\plugins\livetype\r
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 05.06.2021 21:30 214072 14596
-a---- 05.06.2021 21:30 255088 14597
-a---- 05.06.2021 21:30 213764 14598
-a---- 05.06.2021 21:30 255808 14599
-a---- 05.06.2021 21:30 216440 17968
-a---- 05.06.2021 21:30 256712 17969
-a---- 05.06.2021 21:30 257084 17970
所以我的问题是:有人成功使用 Adobe Fonts 和 LaTeX 吗?或者有人有其他线索可以尝试吗?
亲切的问候!
答案1
您可能将其安装到您自己的用户帐户中的隐藏目录中,而不是所有用户(这需要管理员权限)。在 Windows 上,LaTeX 或 XeTeX 可以找到位于以下任意位置的字体文件:
- 系统字体目录
- 本地 TeX 树(
kpsewhich --var-value=TEXMFLOCAL
在 TeX Live 上) - 您的用户 TeX 树(
kpsewhich --var-value=TEXMFHOME
在 TeX Live 上) - 当前工作目录(如果你正在从项目文件夹进行编译)
TEXINPUTS
您设置环境变量的目录- 在 MikTeX 中,您在 MikTeX 控制台中创建的 TeX 树
Path=
使用命令的字体加载选项指定的目录fontspec
,例如将它们保存到fonts
子目录并使用类似 的内容加载它们\setmainfont[Path=fonts/, Extension=.otf]
。
在 Linux 上,LuaTeX 和 XeTeX 还可以读取用户字体目录,例如~/.fonts/
。
从实际角度来说,您可能想要做的是删除您安装到用户帐户的副本,然后为所有用户重新安装字体。如果您确定只想要 TeX 字体,并且不想让字体选择菜单变得杂乱,则可以将它们保存到树的子目录中TEXMFLOCAl
。为了绝对确保您使用的是正确版本的字体并将其与源一起存档,请将副本保存到项目文件夹的子目录中。然后您可以选择重新运行fc-cache -f -s -v
并luaotfload-tool -f -u -p -v
。
答案2
我在 macOS 上遇到了同样的问题,并在此 Stack Overflow 线程。正如您在问题的最后一部分中提到的,字体安装在一个隐藏文件夹中,并且名称有些神秘。在 macOS 上,它们的位置是,/Users/<username>/Library/Application Support/Adobe/CoreSync/plugins/livetype/.r
而在 Windows 上,它们的位置是C:\Users\<username>\AppData\Roaming\Adobe\CoreSync\plugins\livetype\r
(根据这个答案在 SO 上)。
进入此文件夹后,您会注意到,OTF 文件的名称为数字,而不是像往常一样使用字体名称。但是,您可以在../.c/entitlements.xml
macOS 或 上的文件中找到数字-名称对应关系../c/entitlements.xml
(.c
或文件夹与上面的或文件c
夹处于同一级别)。.r
r
有了这些信息,人们可以手动将 OTF 文件复制到其他位置并重命名它们,但幸运的是,有人编写了一个 Bash 脚本来自动化该过程,如另一个答案。您可以找到 Adobe Fonts Revealer 脚本这里,以及在 macOS 或 Windows 上安装和运行它的说明。
我尝试在 macOS Ventura 13.1 系统上使用 Adobe Fonts Revealer,它运行完美。它将 OTF 文件复制到/Users/<username>/Downloads/FONTS
并在此过程中重命名它们。之后,我能够通过指定@Davislor 建议的Path
选项将这些字体与 LuaLaTeX 一起使用:fontspec
\usepackage{fontspec}
\setmainfont[Path=/Users/<username>/Downloads/FONTS/, Extension=.otf]{MinionPro-Regular}