You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac下使用xelatex编译LaTeX文档报xdvipdfmx Invalid font错误求助

解决方案

  1. 补全fontspec字体变体配置
    你日志里只显示fontspec注册了Fontin的常规和小型大写两种变体,没有注册斜体、粗体变体。当你的文档里用到\textit{}、\textbf{}这类斜体、粗体语法时,xelatex找不到对应字体就会抛出xdvipdfmx:fatal: Invalid font错误。
    修改你的字体配置代码,显式指定所有变体:
% 如果你是把字体放在项目本地目录,保留Path参数,系统安装的字体可以删除Path行
\setmainfont{Fontin}[
    Path = ./fonts/ ,
    UprightFont = *-Regular.otf ,
    ItalicFont = *-Italic.otf ,
    BoldFont = *-Bold.otf ,
    SmallCapsFont = *-SmallCaps.otf ,
    Mapping = tex-text,
    Ligatures = TeX
]
  1. 检查Mac字体安装权限
    如果你在字体册安装字体时选择了「仅为当前用户安装」,MacTeX的xelatex进程大概率无法读取用户目录下的字体文件。
    操作步骤:打开字体册找到Fontin字族,右键选择「在访达中显示」,把4个.otf字体文件复制到/Library/Fonts系统级字体目录(需要输入用户密码授权),操作完成后重启终端再尝试编译。

  2. 用最小测试文档排查问题
    先跑极简测试文档,排除原文档其他配置干扰:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Fontin}
\begin{document}
常规字体 \textit{斜体测试} \textbf{粗体测试} \textsc{小型大写测试}
\end{document}

如果这个文档用xelatex可以正常编译,说明问题出在原文档的字体配置上;如果还是报错,说明字体安装或者字体文件本身有问题。

  1. 字体兼容问题处理
    Fontin的.otf格式本身是跨平台兼容的,不需要转换为其他格式。如果上述步骤都无效,大概率是你手里的字体文件损坏,重新下载官方Fontin字族安装包重新安装即可。

内容的提问来源于stack exchange,提问作者Ryan Collingham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 00:21:03