Establecer una fuente alternativa para un juego de caracteres no árabe que no es compatible con una determinada fuente árabe

Establecer una fuente alternativa para un juego de caracteres no árabe que no es compatible con una determinada fuente árabe

la fuente árabe deseada es Droid Arabic Naskhla fuenteaquí. El problema es que cuando compilo el documento usando xetex obtengo cuadros divertidos en lugar de un conjunto de caracteres no árabe como en el MWE a continuación:

MWE

\documentclass[11pt]{scrbook}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[numerals=mashriq,abjadjimnotail=true]{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,Ligatures=TeX]{Droid Arabic Naskh}
\begin{document}


هذا نص بالعربية وفيه بعض الرموز الاخرى مثلا (-، * ، + ، )


\end{document}

Producción
ingrese la descripción de la imagen aquí

Pregunta
¿Hay alguna manera de proporcionar una fuente alternativa para la fuente Droid Arab Naskh para componer todos los juegos de caracteres no árabes y qué fuente alternativa sería más adecuada que cualquier otra para este trabajo?

Actualizar

\documentclass[11pt]{scrbook}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[numerals=mashriq,abjadjimnotail=true]{arabic}
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,Ligatures=TeX]{Droid Arabic Naskh}
\newfontfamily\englishfont{Linux Libertine O}

\usepackage[Latin,Arabic]{ucharclasses}

\setTransitionsForLatin{\begingroup\englishfont}{\endgroup}

\renewenvironment{english}
 {\begin{LTR}\begin{otherlanguage*}{english}}
 {\end{otherlanguage*}\end{LTR}}
\renewrobustcmd{\textenglish}[1]{\LR{\foreignlanguage{english}{#1}}}

\begin{document}


هذا نص بالعربية وفيه بعض الرموز الاخرى مثلا (-، * ، + ، )

\end{document}

Producción

ingrese la descripción de la imagen aquí

Respuesta1

Marcar los cambios de idioma con \foreignlanguage{english}{...}, \begin{otherlanguage*}{english}...\end{otherlanguage*}es mejor y automáticamente hará lo que estás buscando, porque \englishfontestaría seleccionado, con el beneficio adicional de una separación de palabras correcta.

Para los personajes problemáticos, utilice ucharclasses:

\documentclass[11pt]{scrbook}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[numerals=mashriq,abjadjimnotail=true]{arabic}
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,Ligatures=TeX]{Scheherazade}
\newfontfamily\englishfont{Linux Libertine O}

\usepackage[Latin,Arabic]{ucharclasses}

\setTransitionsForLatin{\begingroup\englishfont}{\endgroup}

\renewenvironment{english}
 {\begin{LTR}\begin{otherlanguage*}{english}}
 {\end{otherlanguage*}\end{LTR}}
\renewrobustcmd{\textenglish}[1]{\LR{\foreignlanguage{english}{#1}}}

\begin{document}


هذا نص بالعربية وفيه بعض الرموز الاخرى مثلا (-، * ، + ، )

\begin{english}This is a text in Arabic with some 
characters like (, +, *, -)\end{english}

ة وفيه بعض الرموز الاخرى مثلا (-، * ، + ،\textenglish{This is a text in Arabic with some
characters like (, +, *, -)}

\end{document}

Las redefiniciones de englishy \textenglishse deben a debilidades en la configuración.

ingrese la descripción de la imagen aquí

Respuesta2

Después de algunas pruebas y errores, encontré una solución a este problema; utilizando otra fuente árabe que ya admita los juegos de caracteres latinos y que no sea compatible con la fuente árabe de interés. Es como complementar el juego de caracteres requerido de una fuente con los de otra. En mi prueba, uséAmirifuente:

\documentclass[11pt]{scrbook}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[numerals=mashriq,abjadjimnotail=true]{arabic}
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,Ligatures=TeX]{Droid Arabic Naskh}
\newfontfamily\arabicfontx[Script=Arabic,Scale=1.2,Ligatures=TeX]{Amiri}
\newfontfamily\englishfont{Linux Libertine O}

\usepackage[Latin,Arabic]{ucharclasses}
\setTransitionsForLatin{\begingroup\arabicfontx}{\endgroup}

\begin{document}


هذا نص بالعربية وفيه بعض الرموز الاخرى مثلا (- ، * ، + ، ).

\end{document}

Producción
ingrese la descripción de la imagen aquí

Precaución
Esta respuesta funciona bien para el texto pequeño en MWE, pero se rompió después de un par de páginas en mi documento, que es un poco largo; además, uno o dos conjuntos de caracteres no se pudieron escribir y, por lo tanto, aparecieron como cuadros divertidos. Por lo tanto, no recomiendo esto como solución al problema; aun así, la respuesta solo es relevante para los idiomas RTL, como el hebreo y el árabe.

información relacionada