我是 LaTeX 世界的新手,所以我不了解它的一切,尤其是字体的使用。
我在我的发行版上安装了 Linux Libertine 字体(我使用 Gentoo,因此我安装了软件包media-fonts/libertine-ttf
),它使用所见即所得的程序(如 LibreOffice)运行良好。我可以使用等Linux Libertine O
。Linux 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 。 !..............................................
当我删除时O
,Linux 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。