LuaLaTeX 无法使用 Andika New Basic 字体呈现“ť”字符

LuaLaTeX 无法使用 Andika New Basic 字体呈现“ť”字符

LuaLaTeX 无法渲染“ať”中第二行和最后一行的“ť”。XeLaTeX 可以正确渲染。

梅威瑟:

\documentclass[paper=A6]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
\setmainfont[]{Andika New Basic}
\title{Říkanky}
\date{}

\begin{document}

Čistím zoubky řízy, řízy,\\
ať jsou bílé jako břízy.\\
Vlevo, vpravo, vpředu, vzadu,\\
horní a pak dolní řadu,\\
čistím zoubky řízy, říz,\\
ať má každý radost z nich.

\end{document}

http://i.imgur.com/2EfIzNe.png

对比

enter image description here

更新

现在我仔细查看日志文件,我可以看到

Missing character: There is no ť in font Andika New Basic/OT:script=latn;langua
ge=DFLT;mapping=tex-text;mapping=tex-text;!

答案1

你可以做

\documentclass[paper=A6]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
%\setmainfont[]{Andika New Basic}
\setmainfont[]{AndikaNewBasic-R.ttf}
\usepackage{newunicodechar}

\newunicodechar{ť}{t^^^^030c}

\title{Říkanky}
\date{}

\begin{document}

Čistím zoubky řízy, řízy,\\
ať jsou bílé jako břízy.\\
Vlevo, vpravo, vpředu, vzadu,\\
horní a pak dolní řadu,\\
čistím zoubky řízy, říz,\\
ať má každý radost z nich.

\end{document}

xetex(或者更确切地说是 harfbuzz)将尝试使用基数和组合重音来填充字体中缺少的复合字符。在这里,我\newunicodechar在宏级别执行相同的操作,将 ť 声明为要扩展的活动字符,\v{t}以便它在 luatex 和 xetex 中起作用。

enter image description here



2017 年更新

在即将发布的 2017/01/01 版 latex 和 fontspec 中,将可以使用更简单的声明形式,您可以声明一个没有预组合 ť 的新 unicode 变体编码,因此声明\v{t}使用默认重音\v符号,t后跟组合 v 重音符号,因此产生与上面相同的输出,但无需^^^^030c明确使用,也不会影响t文档中使用的可能仍使用预组合字形的其他字体。

\documentclass[paper=A6]{scrartcl}
\usepackage{fontspec}

\DeclareUnicodeEncoding{TUX}{%
\input{tuenc.def}% load usual definitions
\UndeclareComposite{\v}{t}% This variant has no ť
}
\usepackage{newunicodechar}
\newunicodechar{ť}{\v{t}}% make ť act like \v{t}

\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
%\setmainfont[]{Andika New Basic}
\setmainfont[NFSSEncoding=TUX]{AndikaNewBasic-R.ttf}


\title{Říkanky}
\date{}

\begin{document}

Čistím zoubky řízy, řízy,\\
ať jsou bílé jako břízy.\\
Vlevo, vpravo, vpředu, vzadu,\\
horní a pak dolní řadu,\\
čistím zoubky řízy, říz,\\
ať má každý radost z nich.


\end{document}

相关内容