使用 xelatex 和 lualatex 编译以下代码时出现错误:
** 警告 ** Type 2 字符串中已弃用“seac”字符。 ** 错误 ** Type2 字符串解析器:解析字符串失败:(状态 = -1,堆栈 = 5)
输出文件已删除。
\documentclass{article}
\usepackage{xunicode} \usepackage{fontspec}
\setmainfont[Mapping=tex-text,Ligatures={Common}, Numbers={OldStyle}]{IM FELL English PRO} \begin{document}
Buongiorno a tutti. Trallallà.
\end{document}
当我省略重音符号 à 时,错误消失。当我使用其他字体时也不会发生这种情况。
您能建议任何解决方法吗?
谢谢你,A
答案1
这似乎是字体“29 版”的一个错误:如果你从字体松鼠站点,它们按预期工作。
答案2
尝试在 FontForge 中打开字体,重新导出而不做任何编辑,安装重新导出的字体文件来代替原始文件,然后再次运行 LaTeX。在我的系统上,经过此过程后,重音字母可以成功显示。不幸的是,我不确定它为什么会起作用。
答案3
可能的解决方法详述这里,其中有问题的字符被另一种字体中的相同字符替换。例如:
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{IM FELL English PRO}
%change this to your preferred alternative font
\newfontfamily\myaltfont{Arial}
\begin{document}
Eleph{\myaltfont\`{a}}nt
\end{document}
对于 Fell 字体,可以使用某些版本的 Caslon,因为这些字体非常相似。ITC Founder 的 Caslon(我没有测试过)可能效果最好,因为它有像 Fell 这样的不规则字符,尽管它可能需要一些FakeBold
缩放才能匹配 Fell 字体的粗细和 x 高度。我承认它在排版上并不理想。
答案4
我在测试一些 TT 字体(包括从 Adobe 购买的商业字体以及来自旧 Bitstream 和 Fontsite“500-font”CD-ROM 的字体)时遇到了这个问题(xdvipdfmx:fatal:此字体使用“seac”命令表示重音字符......),在 Ubuntu 16.04 下运行来自 TL2016 的 XeLaTeX。
通过排除法,我将其追溯到 NBSP(不间断空格)字符,该字符位于示例文件中每个 em 规则之前(以防止不必要的换行)。当我将此字符更改为 TeX 版本(波浪号)时,错误消失,一切正常。
它只影响某些字体,例如 Adobe Stone Serif Italic。不知道为什么。