LuaLatex: Język „paszto” nie jest dostępny dla czcionki (specyfikacja czcionki) „Amiri-Regular” ze skryptem „Arabski”

Nov 30 2020

W obserwacji mojego pytania do Urdumam teraz pytanie dla innych języków, jak Pashtoi Persian. Śledzę próbkę i dokumentację i mam następujące 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}

używam

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

i uzyskaj następujące ostrzeżenia:

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

Ponieważ to działa dobrze, ponieważ Urdunie mam pojęcia, jak uniknąć tych ostrzeżeń? Albo jak zrobić lepszą konfigurację? Jakieś wskazówki?

Odpowiedzi

2 Davislor Nov 30 2020 at 15:13

Ostrzeżenie jest nieszkodliwe, ale można je ukryć ładując czcionkę Language=Defaultnp

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

Warto zadeklarować język angielski w tekście LTR, na przykład „Populacja Afganistanu”. Te \babeltagsdeklaracje pozwalają napisać \textpashto{...}zamiast {\selectlanguage{pashto}...}.