Problems with English and Persian baseline alignment

by AML   Last Updated August 13, 2019 17:23 PM

I have a document in English and Persian, and the Latin and Persian scripts don't quite line up along the baseline. I am using polyglossia, but xepersian didn't help me either.

In the MWE below, I have added fbox to help illustrate the problem. The periods (full stops) are somehow on the same baseline, but the Persian text is raised up a little bit. How can I bring the Persian text down to the same baseline as the English? Keep in mind I have a document full of both scripts (including tables), so the solution needs to work universally.

%XeLaTeX
\documentclass{scrbook}

\usepackage{polyglossia}
    \setdefaultlanguage{english}
    \setotherlanguage{farsi}
    \newfontfamily\englishfont{Linux Libertine O}
    \newfontfamily\farsifont[Script=Arabic]{Arial} % Times New Roman didn't make a difference

\begin{document}

Sara has long hair. \textfarsi{سارا موی بلندی دارد.}

\fbox{Sara has long hair.} \fbox{\textfarsi{سارا موی بلندی دارد.}}
\fbox{Sara has long hair. \textfarsi{سارا موی بلندی دارد.}}

\end{document}

Output: enter image description here



Answers 1


The Amiri font gives better results:

enter image description here

Ralf Stubner
Ralf Stubner
August 13, 2019 16:36 PM

Related Questions


Updated April 12, 2015 04:09 AM

Updated May 18, 2016 08:09 AM

Updated September 04, 2018 18:23 PM

Updated July 20, 2019 23:23 PM