LuaLatex:言語 'Pashto'はfont(fontspec) 'Amiri-Regular'では使用できませんスクリプト 'Arabic'

Nov 30 2020

私のフォローアップとして、質問のためにUrdu私は今のような他の言語について質問していPashtoとしますPersian。私はサンプルとドキュメントに従い、次のMWEを持っています。

\documentclass{article}
\usepackage{fontspec}
\usepackage[shorthands=off,bidi=basic,english, ngerman]{babel}
\babelprovide[import=ur,mapdigits]{urdu}
\babelfont[urdu]{rm}[Renderer=HarfBuzz]{Amiri}
\babelprovide[import=ps]{pashto}
\babelfont[pashto]{rm}[Renderer=HarfBuzz]{Amiri}
\babelprovide[import=fa]{persian}
\babelfont[persian]{rm}[Renderer=HarfBuzz]{Amiri}

\begin{document}
My urdu test
\selectlanguage{urdu}

    یہ ایک جملہ ہے
{\selectlanguage{pashto}رآورد نفوس کشورد هېواد د و ګړو اټکل1398 [}Estimated Population of Afghanistan 1398 (2019/2020)],     
{\selectlanguage{persian} رآورد نفوس کشورد هېواد د و ګړو اټکل1398 [}Estimated Population of Afghanistan 2020], 

\end{document}

使っています

This is LuaHBTeX, Version 1.12.0 (TeX Live 2020/TeX Live for SUSE Linux)  (format=lualatex 2020.11.26) 

次の警告が表示されます。

Language 'Pashto' not available for font(fontspec) 'Amiri-Regular' with script 'Arabic'.
Language 'Persian' not available for font(fontspec) 'Amiri-Regular' with script 'Arabic'.

これは問題Urduなく機能するので、これらの警告を回避する方法がわかりませんか?または、より良いセットアップを行う方法は?ヒントはありますか?

回答

2 Davislor Nov 30 2020 at 15:13

警告は無害ですが、あなたがフォントをロードすることによって、それを抑制することができLanguage=Default、例えば

\documentclass{article}
\usepackage[bidi=basic, nil]{babel}
\usepackage{fontspec}

\defaultfontfeatures{ Renderer=HarfBuzz, 
                      Scale=MatchUppercase, 
                      Ligatures=TeX }

\babelfont{rm}
          [Ligatures=Common, Scale=1.0]{Libertinus Serif}    
\babelprovide[import=ur, mapdigits, main]{urdu}
\babelfont[urdu]{rm}
          {Amiri}
\babelprovide[import=ps]{pashto}
\babelfont[pashto]{rm}
          [Language=Default]{Amiri}
\babelprovide[import=fa]{persian}
\babelfont[persian]{rm}
          [Language=Default]{Amiri}

\babeltags{pashto=pashto}
\babeltags{persian=persian}
\babeltags{urdu=urdu}

「アフガニスタンの人口」などのLTRテキストに英語を宣言することは価値があるかもしれません。\babeltags宣言は、あなたが書いてみましょう\textpashto{...}代わりに{\selectlanguage{pashto}...}