1

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

  • That is a font issue. The Arabic glyphs in Arial are raised above the base line. – Khaled Hosny Aug 22 at 20:19
2

The Amiri font gives better results:

enter image description here

  • That does indeed do a better job, though that font isn't my favorite. I'll have to play around with more fonts apparently, because I tried a bunch and none gave me results like Amiri. – AML Aug 13 at 16:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.