نمونه زیر را در نظر بگیرید.
\documentclass{article}
\usepackage{lmodern}
\usepackage[fontsizescale=2]{xepersian}
\settextfont{Yas}
\makeatletter
\newcommand*{\CurrentSize}{%
{%
\if@nonlatin
\@nonlatinfalse
\latinfont
\fi
\f@size pt%
}%
}
\makeatother
\begin{document}
اندازه فعلی قلم
\CurrentSize{}
است.
اندازه فعلی قلم
\lr{\CurrentSize}
است.
اندازه فعلی قلم
\rl{\CurrentSize}
است.
\begin{latin}
The current font size is \CurrentSize.
\end{latin}
\begin{persian}
اندازه فعلی قلم
\CurrentSize{}
است.
\end{persian}
\end{document}
انتظار ما این است که اندازه قلم در همه جا 20pt
باشد هر چند خروجی نشان میدهد که اندازه قلم در دستورات \lr
، \rl
و محیطهای latin
و persian
اشتباه است.

این مشکل را چگونه میتوان حل کرد؟