XeTeX 下的 opentype 选项问题

XeTeX 下的 opentype 选项问题

我是 LaTeX 世界的新手,所以我不了解它的一切,尤其是字体的使用。

我在我的发行版上安装了 Linux Libertine 字体(我使用 Gentoo,因此我安装了软件包media-fonts/libertine-ttf),它使用所见即所得的程序(如 LibreOffice)运行良好。我可以使用等Linux Libertine OLinux Libertine O C

但是,使用 XeTeX 却不行。我在我的标题中设置

\setmainfont[Mapping=tex-text,Ligatures={Contextual, Common, Historical, Rare, Discretionary}]{Linux Libertine O}

但是当我用它编译时xelatex,它说

(/usr/share/texmf-dist/tex/latex/carlisle/scalefnt.sty)kpathsea:无效的字体名称“Linux Libertine O”,包含“ ”


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 字体规范错误:“未找到字体”
! 无法找到字体“Linux Libertine O”。
! 请参阅 fontspec 文档以了解更多信息。
!如需立即帮助,请输入 H 。
!..............................................

当我删除时OLinux Libertine O它显示:

fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于“Linux Libertine”字体,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于“Linux Libertine”字体,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于“Linux Libertine”字体,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于字体“Linux Libertine/B”,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于字体“Linux Libertine/B”,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于字体“Linux Libertine/I”,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于字体“Linux Libertine/I”,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Contextual”(+clig)不可用
(fontspec)适用于字体“Linux Libertine/BI”,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Ligatures=Historical”(+hlig)不可用
(fontspec)适用于字体“Linux Libertine/BI”,
(字体规范)带有脚本“拉丁语”和语言“默认”。

 fontspec 警告:OpenType 功能“Letters=SmallCaps”(+smcp)不可用
(fontspec)适用于字体“Linux Libertine/BI”,
(字体规范)带有脚本“拉丁语”和语言“默认”。


LaTeX 字体警告:字体形状“OT1/LinuxLibertine(0)/m/n”未定义
(字体)在第 26 行输入中使用“OT1/cmr/m/n”。

我的代码有什么问题(如下所示)?

\documentclass[12pt]{lettre}

\usepackage{xunicode}
\usepackage{fontspec}
\usepackage{xltxtra}

\usepackage{lmodern}
\usepackage{eurosym}
\usepackage[frenchb]{babel}

%\setromanfont[Mapping=tex-text, Numbers=OldStyle, Ligatures=Historical]{Linux Libertine}
\setmainfont[Mapping=tex-text,Ligatures={Contextual, Common, Historical, Rare, Discretionary}]{Linux Libertine}

\begin{document}

\begin{letter}{Régie Trouduc'\\42, rue de tes fesses\\69007 Lyon}
\name{Lenny Baralair}
\address{Georges Dupont\\42, rue du chariot d'or\\69001 Lyon\\
        {\addfontfeature{Letters=SmallCaps} Numéro de référence locataire : 654654654} }
\lieu{Paris}
\telephone{06 42 42 42 42}
\nofax

\conc{pouet}

\opening{Madame, Monsieur,}

Ceci est ma lettre que je ne veux pas rendre public sur ce site.

\closing{Je vous prie d'agréer,
Madame, Monsieur,
l'expression de mes salutations distinguées.}

\end{letter}

\end{document}

答案1

首先,字体不一定支持所有类型的连字。Linux Libertine 仅支持(此处已检查)Ligatures={Common,Rare,Discretionary}

Linux Libertine 附带的 OpenType 变体可media-fonts/libertine-ttf在最新的 Gentoo 和 TeX Live 2011 上运行。另一个选项是安装软件包dev-texlive/texlive-fontsextra,其中也包含字体。要使用它并能够按名称选择它,请在安装后运行以下命令:

选择字体配置启用 09-texlive.conf

这将允许所有程序访问安装在 TeX Livetexmf树中的字体。

然后此代码将按预期工作:

\documentclass{article}

\usepackage{fontspec}
\setmainfont[Mapping=tex-text,Ligatures={Common,Rare,Discretionary}]{Linux Libertine O}

\begin{document}

Hello World

\end{document}

注意:这是在 TeX Live 2011 上测试的。Gentoo 的稳定版本是 TeX Live 2010。如果您仍然遇到问题,请尝试升级到较新版本的 TeX Live。

相关内容