计算机现代 Unicode + XeTeX 的 OpenType / fontspec

计算机现代 Unicode + XeTeX 的 OpenType / fontspec

我想使用 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 得到的渲染是这样的:

我的 xelatex 渲染

编辑2

使用的文件是这里,谢谢大家的帮助。

答案1

mapping=tex-text显然,这个错误是由选项(及其等效选项)引起的Ligatures=TeX,它将诸如此类的内容翻译--成 en-dash 等。我似乎无法使用 Google 找到任何相关的错误...

相关内容