من امروز کمی وقت خالی پیدا کردم و نسخه 25.09.03
بستههای bidi
و xepersian
را به CTAN دادم. نام این نسخه در هر دو بسته bidi
و xepersian
«ایران» است.
چرا نام این نسخه را ایران قرار دادم؟
ممکنه شما که در ایران زندگی میکنید توی اون ۱۲ روزی که اسراییل به ایران حمله کرد، زیر آتش بوده باشید اما من هم شرایط روحی اصلا خوبی نداشتم و توی تمام اون ۱۲ روز حتی نمیتونستم به راحتی نفس بکشم، تمام اون ۱۲ روز رو گریه کردم. هر بار که اسراییل و آمریکا یمبی رو روی ایران میانداختند با تمام وجودم احساس میکردم که اون بمب داره روی بدن من فرود میاد و آرزو میکردم که ای کاش اون بمب روی بدن من منفجر میشد اما کوچکترین آسیبی به ایران نمیرسید.
چه مشکلاتی حل شدهاند؟
مشکلهای شماره ۱۱، ۱۳ و ۱۶ بسته bidi
و مشکلهای شماره ۱۵ و ۹ بسته xepersian
حل شدهاند.
در ارتباط با مشکل شماره ۹ بسته xepersian
یک مشکل دیگر هم وجود داشت. اگر از دستور \setmathdigitfont
استفاده کنید ولی از دستور \setmathsfdigitfont
یا \setmathttdigitfont
استفاده نکنید و داخل محیط ریاضی \mathsf
یا \mathtt
داشته باشید، انتظارمون اینکه که اعداد داخل این دو دستور آخر بصورت لاتین چاپ بشوند اما برخلاف انتظارمون تک هداشر میده که اعداد پارسی توی قلمهای پیشفرض تک وجود ندارند و توی خروجی هم چیزی دیده نمیشه. همچنین اگر ممیز یا درصد داشته باشید اینها داخل دستور \mathsf
یا \mathtt
بصورت پارسی حروفچینی میشوند که درست نیست. شاید توضیحم خیلی طولانی شد اما فایل کمینه زیر این مشکلی که گفتم رو نشون میده:
\documentclass{article}
\usepackage{xepersian}
\settextfont{IRXLotus}
\setmathdigitfont{IRXLotus}
\begin{document}
$\mathtt{0123.6\%}$
$\mathsf{0123.6\%}$
\end{document}
بعد از اجرای تک پیامهای زیر رو میبینید:
Missing character: There is no ۰ ("6F0) in font cmtt10!
Missing character: There is no ۱ ("6F1) in font cmtt10!
Missing character: There is no ۲ ("6F2) in font cmtt10!
Missing character: There is no ۳ ("6F3) in font cmtt10!
Missing character: There is no ۶ ("6F6) in font cmtt10!
Missing character: There is no ۰ ("6F0) in font cmss10!
Missing character: There is no ۱ ("6F1) in font cmss10!
Missing character: There is no ۲ ("6F2) in font cmss10!
Missing character: There is no ۳ ("6F3) in font cmss10!
Missing character: There is no ۶ ("6F6) in font cmss10!
و خروجی به شکل زیر هست:

این مشکل هم درست شده.
دلیلی که این مشکل توی بسته xepersian-mathsdigitspec
وجود نداشت اما توی بسته unicode-persianmath
وجود داشت اینه که توی بسته xepersian-mathdigitspec
کد ریاضی (mathcode) اعداد همون کد اعداد لاتین بود و تنها توسط خاصیت Mapping زیتک به اعداد پارسی تبدیل میشدند اما توی بسته unicode-persianmath
به این خاطر که خاصیت Mapping توی لواتک بصورت پیشفرض وجود نداره من کد ریاضی اعداد رو به کد اعداد پارسی تغییر دادم تا بین هر دو موتور زیتک و لواتک خروجی یکسانی داشته باشیم.