xdvipdfmx 错误

xdvipdfmx 错误

错误信息是:

xdvipdfmx:fatal: CID count > 65535

我是 TeX 新手。我尝试查看 .log、.out 和 .aux 文件,但似乎没有任何效果。我的 Mac 刚刚安装了 MacTex 2014。尝试使用 XeLaTex 进行编译时,TeXstudio 和 TeXShop 都出现了错误。

[更新] 我设法将源代码缩减为以下代码片段,这会在我的 Mac 上触发错误:

\documentclass[10pt,a4paper]{article}

\usepackage{amsmath, amsfonts, amssymb}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=Rare} 
\setmainfont{Hoefler Text}

\begin{document}

  $\mathbf{\Sigma}$

\end{document}

答案1

我可以用 Hoefler Text、Palatino 和 Optima 重现该问题;我怀疑这些字体在诸如此类的极限情况下存在一些问题。

然而,问题是由 引起的\mathbf{\Sigma}。发生的事情是将\mathbf数学组设置为 5(对于示例文件,数字不是固定的),相应的字体是

\EU1/HoeflerText(0)/bx/n/10=select font "Hoefler Text Black/AAT:mapping=tex-text;"

"06这样的字体在的目标插槽中没有任何内容\Sigma,该插槽定义为数学字符"7406"7表示变量系列,"4表示默认数学组,"06插槽)。虽然这对某些字体来说似乎无害,但它会给上面列出的字体带来问题。以下是 的日志xdvipdfmx

DVI Comment:  XeTeX output 2014.12.30:1141
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1<[/Library/Fonts/Hoefler Text.ttc:1]@9.93pt<NATIVE-FONTMAP:[/Library/Fonts/Hoefler Text.ttc:1]/H/65536/0/0>
fontmap: [/Library/Fonts/Hoefler Text.ttc:1]/H/65536/0/0 -> /Library/Fonts/Hoefler Text.ttc(Identity-H)[index:1]

pdf_font>> Input encoding "Identity-H" requires at least 2 bytes.
pdf_font>> The -m <00> option will be assumed for "/Library/Fonts/Hoefler Text.ttc".
(CID:HoeflerText-Black)
pdf_font>> Type0 font "/Library/Fonts/Hoefler Text.ttc" cmap_id=<Identity-H,0> opened at font_id=<[/Library/Fonts/Hoefler Text.ttc:1]/H/65536/0/0,0>.
><[/Library/Fonts/Hoefler Text.ttc]@9.93pt<NATIVE-FONTMAP:[/Library/Fonts/Hoefler Text.ttc]/H/65536/0/0>
fontmap: [/Library/Fonts/Hoefler Text.ttc]/H/65536/0/0 -> /Library/Fonts/Hoefler Text.ttc(Identity-H)

pdf_font>> Input encoding "Identity-H" requires at least 2 bytes.
pdf_font>> The -m <00> option will be assumed for "/Library/Fonts/Hoefler Text.ttc".
(CID:HoeflerText-Regular)
pdf_font>> Type0 font "/Library/Fonts/Hoefler Text.ttc" cmap_id=<Identity-H,0> opened at font_id=<[/Library/Fonts/Hoefler Text.ttc]/H/65536/0/0,1>.
>][2]
otf_cmap>> Creating ToUnicode CMap for "/Library/Fonts/Hoefler Text.ttc"...
No Unicode mapping available: GID=65535, name=

otf_cmap>> Creating ToUnicode CMap for "/Library/Fonts/Hoefler Text.ttc"...
(CID:/Library/Fonts/Hoefler Text.ttc[XUAFQG+HoeflerText-Black][CIDFontType2]
xdvipdfmx:fatal: CID count > 65535

也许其他人能从中找出意义。但这只隐藏了主要问题:没有什么无论您使用什么字体作为主文档字体,都无法打印\mathbf{\Sigma},因为 OpenType 和 TrueType 字体在插槽中没有任何内容"06

解决方案:

\usepackage[no-math]{fontspec}

答案2

顺便说一下,我在使用 Baskerville(使用 macOS Sierra,2016 打包的 .ttc)时遇到了同样的问题,我将其缩小到我的文件中不可见的这个字符:零宽度空格(U+200B)

很难发现!但是当我从源头删除它后,问题就消失了。

相关内容