![计算机现代 Unicode + XeTeX 的 OpenType / fontspec](https://linux22.com/image/236962/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%8E%B0%E4%BB%A3%20Unicode%20%2B%20XeTeX%20%E7%9A%84%20OpenType%20%2F%20fontspec.png)
我想使用 FontSpec 包来使用 XeTeX 的最新版 Computer Modern 字体(当然也可以是更新的版本)。目前,我正在使用
\setromanfont{CMU Serif}
但是,这会产生某些字符的奇怪结果,例如斜体文本(使用 创建)中的--
或,例如 而不是。当我使用 Latin Modern Roman 或 Linux Libertine O 时不存在此问题,但 [使用 Latin Modern Roman] 外来字符不会显示。'
\emph
ὔ
'
(当然,Linux Libertine 很漂亮,但我想要一些不那么优雅的普通文档 :)。)
我还使用 polyglossia、LyX 和一个小脚本来删除 LyX 输出错误(如果这很重要)。我查看了 TeX 文件,它看起来不错。
编辑1
这是一个最简单的例子,很抱歉没有早点提供。
\documentclass{article}
\usepackage{xunicode,fontspec,xltxtra}
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setromanfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\begin{document}
\emph{hello -- a'b}
\end{document}
我使用 xelatex 得到的渲染是这样的:
编辑2
使用的文件是这里,谢谢大家的帮助。
答案1
mapping=tex-text
显然,这个错误是由选项(及其等效选项)引起的Ligatures=TeX
,它将诸如此类的内容翻译--
成 en-dash 等。我似乎无法使用 Google 找到任何相关的错误...