fontspec/babel:字体(fontspec)‘ScheherazadeNew’ 和脚本‘Arabic’ 无法使用语言‘Arabic’

fontspec/babel:字体(fontspec)‘ScheherazadeNew’ 和脚本‘Arabic’ 无法使用语言‘Arabic’

对于阿拉伯字体天方夜谭,如何解决此警告

软件包 fontspec 警告:字体(fontspec)‘ScheherazadeNew’ 和脚本‘Arabic’ 不支持语言‘Arabic’。

对于以下文档

\documentclass[12pt,a4paper]{article}

\usepackage{fontspec}
\setmainfont[Ligatures = {NoCommon, NoRare}]{Latin Modern Roman}
\newfontfamily\arabicfont{ScheherazadeNew}[ Script = Arabic, RawFeature={+anum}]

\usepackage[english, bidi = basic, layout = lists]{babel}
\babelprovide[import, onchar = ids fonts]{arabic}
\babelfont[arabic]{rm}[Scale = 1]{ScheherazadeNew}
\babelfont[arabic]{sf}[Scale = 1]{ScheherazadeNew}

\begin{document}
    
\end{document}

此外,使用\newfontfamily\arabicfont和是否是多余的\babelfont[arabic]?或者每个都有不同的功能?

答案1

对于 LuaLaTeX 来说,MWE 看起来基本正确。您不需要同时使用\babelfont\arabicfont:第一个是babel您使用的 ,第二个是您要与 一起使用的polyglossia

但是,您确实希望添加\babelfont{rm}{Latin Modern Roman}而不是\setmainfont{Latin Modern Roman},以便babel在英语和阿拉伯语字体之间正确切换。您还可能希望将两种字体缩放到相同的高度,而不是Scale=1.0

关于字体不包含语言的警告Arabic通常是无害的。字体通常不会费心定义不会改变任何内容的语言标签,例如希腊语用于希腊文字或希伯来语用于希伯来文字。在这种情况下,字体设计者没有费心为阿拉伯文字声明阿拉伯语言,也没有让文件稍微大一点,因为这已经是阿拉伯文字的默认设置。您可以通过加载具有该Language=Default功能的字体来隐藏该消息。(在您当前拥有的同一位置Scale=1.0。)

因此这可能对你有用:

\documentclass[12pt,a4paper]{article}
\tracinglostchars=3 % Make it an error if a glyph is missing from the current font
\usepackage[english, bidi = basic, layout = lists]{babel}
\usepackage{fontspec} % For \defaultfontfeatures

\defaultfontfeatures{ Scale=MatchLowercase, Ligatures=TeX }

\babelprovide[import, onchar = ids fonts]{arabic}

% Scheherazade New is available at:
% https://software.sil.org/scheherazade/
\babelfont{rm}
          [Ligatures={Common,Rare}, Scale=1.0, Language=Default]{Latin Modern Roman}
\babelfont[arabic]{rm}
          [Language=Default]{ScheherazadeNew}
\babelfont{sf}
          [Ligatures={Common,Rare}, Language=Default]{Latin Modern Sans}
\babelfont[arabic]{sf}
          [Language=Default]{ScheherazadeNew}

\begin{document}
Latin Modern Roman and
شهرزاد 
\end{document}

山鲁佐德 新样品

这里的主要区别是,它Scale=1.0仅添加到主字体,并将文档中的所有其他字体缩放到相同的 x 高度\defaultfontfeatures

您仍会收到有关使用默认tt(等宽)字体系列的警告。如果您需要等宽阿拉伯语,阿拉伯拉丁现代固定字体与拉丁现代字体非常匹配。

您可能还会看看《新计算机现代书》,这是《计算机现代》的另一本克隆书,比《拉丁现代》稍厚一些。

相关内容