我可以让 LuaLaTeX 像 XeLaTeX 一样对 Zapfino 字体进行字体变化吗?

我可以让 LuaLaTeX 像 XeLaTeX 一样对 Zapfino 字体进行字体变化吗?

当我在 Mac 上使用 XeLateX 时,我可以获得 Zapfino 的多种变体,例如此处的字形变体。但是当我通过 LuaLaTeX 运行相同的代码时,这不起作用。有没有办法在那里也实现此功能?

答案1

我假设你使用的是 Mac OS X 并使用 Apple 发布的 Zapfino 版本,那么答案是否定的;这是一个 AAT 字体,而 LuaLaTeX 不支持 AAT 功能。然而有一个Zapfino 的 OpenType 版本由 Linotype 开发,它应该可以与 LuaLaTeX 一起使用(如果我没记错的话,Hans 在开发 OpenType 代码时使用它作为基准)。

更新:这是上述示例的修改版本,用于 OpenType 字体。

以下示例的输出

%!TEX TS-program = lualatex
%!TEX encoding = UTF-8 Unicode

% Dario Taraborelli (2008), Khaled Hosny (2011)
% The Beauty of LaTeX
% URL: http://nitens.org/taraborelli/latex
% Some rights reserved: CC-BY-SA

\documentclass[11pt]{article}
\usepackage{xcolor, fontspec, graphicx}
\definecolor{lightblue}{rgb}{.2,.5,1}

\newcommand{\red}[1]{\color{red} #1}
\newcommand{\reda}[1]{\fontspec[Color=red,Variant=2]{Zapfino Extra LT Pro}#1}
\newcommand{\redb}[1]{\fontspec[Color=red,Variant=3]{Zapfino Extra LT Pro}#1}
\newcommand{\redc}[1]{\fontspec[Color=red,Variant=4]{Zapfino Extra LT Pro}#1}
\newcommand{\redd}[1]{\fontspec[Color=red,Variant=5]{Zapfino Extra LT Pro}#1}
\newcommand{\rede}[1]{\fontspec[Color=red,Variant=6]{Zapfino Extra LT Pro}#1}
\newcommand{\redf}[1]{\fontspec[Color=red,Variant=7]{Zapfino Extra LT Pro}#1}
\newcommand{\redg}[1]{\fontspec[Color=red,Variant=8]{Zapfino Extra LT Pro}#1}
\newcommand{\lbl}[1]{\color{lightblue} #1}
\newcommand{\lbla}[1]{\fontspec[Color=lightblue,Variant=2]{Zapfino Extra LT Pro}#1}
\newcommand{\lblb}[1]{\fontspec[Color=lightblue,Variant=3]{Zapfino Extra LT Pro}#1}
\newcommand{\lblc}[1]{\fontspec[Color=lightblue,Variant=4]{Zapfino Extra LT Pro}#1}
\newcommand{\lbld}[1]{\fontspec[Color=lightblue,Variant=5]{Zapfino Extra LT Pro}#1}
\newcommand{\lble}[1]{\fontspec[Color=lightblue,Variant=6]{Zapfino Extra LT Pro}#1}
\newcommand{\lblf}[1]{\fontspec[Color=lightblue,Variant=7]{Zapfino Extra LT Pro}#1}
\newcommand{\lblg}[1]{\fontspec[Color=lightblue,Variant=8]{Zapfino Extra LT Pro}#1}

\newcommand{\old}[1]{%
\fontspec[Ligatures={Common, Rare}]{Zapfino Extra LT Pro}%
\fontsize{25pt}{30pt}\selectfont #1}
\begin{document}
\thispagestyle{empty}
\old
\noindent{\red d}roo{\lbl g}
\noindent{\reda d}roo{\lbla g}
\noindent{\redb d}roo{\lblb g}
\noindent{\redf d}roo{\lblf g}\\[.3cm]
\noindent{\redc d}roo{\lblc g}
\noindent{\redd d}roo{\lbld g}
\noindent{\rede d}roo{\lble g}
\noindent{\redg d}roo{\lblg g}\\[.2cm]
\end{document}

PS:这可以用更紧凑的方式编写,但我不想与原始示例有太大差异。

相关内容