نسخه 20.3
بسته xepersian
تازه به CTAN داده شده است.
اگر از نسخه 20.2
به پائین بسته زیپرشین استفاده میکردیدو از گزینه کشیده برای حروفچینی واژهای همانند «بر» استفاده میکردید زیپرشین کارهای زیر را برای ایجاد کشیدگی انجام میداد.
- کاراکتر «ب» را وارد کن.
- کاراکتر
U+200D
را وارد کن.
- دستور
\nobreak
را وارد کن.
- خطی با استفاده از دستور
\hrule
و با ارتفاع و پهنای مناسب وارد کن.
- کاراکتر
U+200D
را وارد کن.
- کاراکتر «ر» را وارد کن.
علت وارد کردن کاراکتر U+200D
این بود که هنگامی که دستوری مابین حروف قرار میگیرد خاصیت اتصال حروف از بین میرود و وجود این دستور باعث میشود تا حرف بصورت چسبان دربیاید. مشکلی که وارد کردن کاراکتر U+200D
این است که ممکن است شکل ظاهری حرف در صورت اتصال را تغییر دهید. به عنوان در نمونه زیر حرف «ه» چسبان در واژه «سخنها» ظاهر طبیعی خود را از دست داده است و خروجی زشتی تولید کرده است.
\documentclass{article}
\usepackage[Kashida]{xepersian}
\settextfont[Scale=6]{XB Niloofar}
\begin{document}
من با شما سخنها دارم.
\end{document}
برای حل این مشکل در نسخه 20.3
بسته xepersian
به جای وارد کردن کاراکتر U+200D
، کاراکتر U+0640
(یا همان کشیده) وارد میشود. با این کار هم حروف بصورت چسبان خواهند بود و هم شکل طبیعی خود را حفظ خواهند کرد.
خروجی نمونه بالا با نسخه 20.3
بسته xepersian
بصورت زیر خواهد بود.
دو تفاوت وجود دارد
- کشیدگی بیشتری وجود دارد (به واژه «سخنها» در دو نمونه توجه کنید).
حرف «ه» در واژه «سخنها» شکل طبیعی خود را حفظ کرده است.
\documentclass{article}
\usepackage[Kashida]{xepersian}
\settextfont[Scale=5]{XB Niloofar}
\begin{document}
من با شما سخنها دارم.
\end{document}
\documentclass{article}
\usepackage[Kashida]{xepersian}
\settextfont[Scale=6]{XB Niloofar}
\makeatletter
\XeTeXcharclass "0633 = \z@ % remove س from the class \xepersian@D
% and put it back in the default class 0
\XeTeXcharclass "0634 = \z@ % remove ش from the class \xepersian@D
% and put it back in the default class 0
\makeatother
\begin{document}
من با شما سخنها دارم.
\end{document}