LuaLatex: idioma 'pashto' não disponível para fonte (fontspec) 'Amiri-Regular' com script 'árabe'

Nov 30 2020

Como uma continuação da minha pergunta para Urduque eu tenho agora a questão para as outras línguas como Pashtoe Persian. Eu sigo o exemplo e o doc e tenho o seguinte 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}

estou a usar

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

e receba os seguintes avisos:

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

Já que isso funciona bem, Urdunão tenho ideia de como evitar esses avisos? Ou como fazer uma configuração melhor? Alguma dica?

Respostas

2 Davislor Nov 30 2020 at 15:13

O aviso é inofensivo, mas você pode suprimi-lo carregando a fonte com Language=Default, por exemplo

\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}

Pode valer a pena declarar o inglês para o texto LTR, como "População do Afeganistão". As \babeltagsdeclarações permitem que você escreva em \textpashto{...}vez de {\selectlanguage{pashto}...}.