这是我的代码:
\documentclass[12pt]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{fontspec,xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Hoefler Text}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}
\begin{document}
L'arbre. L'enfant.
D'ailleurs. M'aborder comme ça !
\end{document}
“L'”后面缺少一个空格,但“D'”或“M'”没问题。
我正在使用 TeXShop 为 XeTeX 提供的默认字体声明,如果我跳过它们,问题就会消失。但我想使用 Hoefler Text!
答案1
这是字体设计师做出的精确决定:撇号与大写字母 L 的字距对齐。
如果您不想要这种字距,请\/
在两个字符之间插入。
顺便说一句,您使用的是旧式字体声明,最好更改为当前的字体声明。
\documentclass[12pt]{memoir}
\usepackage{polyglossia}
\setmainlanguage{french}
%\usepackage{fontspec} % polyglossia loads it
\setmainfont{Hoefler Text}
\setsansfont[Scale=MatchLowercase]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}
\begin{document}
L\/'arbre. L\/'enfant.
D'ailleurs. M'aborder comme ça!
\texttt{---}% no ligatures
\end{document}
请注意,应将其Mapping=tex-text
称为Ligatures=TeX
,但没有必要,因为fontspec
默认情况下会应用它(字体除外mono
)。不要加载xunicode
;您可以加载xltxtra
,但它并没有真正添加任何有用的功能(在某些情况下可能会造成危害)。
还要注意,前面不应该有空格!
。