- دستور
\computeautoilg
که یک دستور کاربری است حذف شده است.
- خود بسته زیپرشین با استفاده از مکانیزم داخلی لاتک تغییر در فاصله خط کرسی را بصورت خودکار، پویا و پیشفرض انجام میدهد.
- گزینهای به نام
computeautoilg
به بسته زیپرشین اضافه شده است که دو مقدار on
و off
دارد. وقتی بسته زیپرشین را فراخوانی میکنید computeautoilg=off
فعال است که فاصله خط کرسی خودکار و پویا فعال نیست. برای فعال کردن فاصله خط کرسی خودکار و پویا باید بسته زیپرشین را با گزینه computeautoilg
یا computeautoilg=on
فراخوانی کنید.
- زمان پردازش اسناد هنگامی که گزینه
computeautoilg
فعال است کاهش پیدا کرده است (در مقایسه با الگوریتم قبلی). در الگوریتم جدید به جای اینکه نویسهها را داخل یک کادر قرار دهیم از دستورات بدوی \XeTeXglyphbounds
و \XeTeXcharglyph
برای مقایسه ارتفاع و عمق نویسهها و برروزرسانی بیشترین عمق و ارتفاع استفاده شده است.
- مزیت دیگر الگوریتم جدید این است که در الگوریتم قبلی نویسهها را داخل یک کادر قرار میدادیم و اگر قلم مورد استفاده شما دارای این نویسهها نبود در فایل
log
پیامهایی مبنی بر اینکه این نویسهها در قلم شما وجود ندارند، میگرفتید که فایل log
را بسیار شلوغ میکرد و همچنین باعث افزایش زمان پردازش میشد. در الگوریتم جدید، چون در واقع هیچ نویسهای حروفچینی نمیشود (داخل کادر قرار نمیگیرد) مهم نیست که قلم دارای آن نویسه باشد یا نباشد. اگر قلم دارای نویسه باشد، عمق و ارتفاع نویسه بدست میآید و چنانچه فاقد نویسه باشد، ارتفاع و عمق نویسه 0pt
خواهد بود. بنابراین در الگوریتم جدید حتی اگر قلم شما تعدادی از نویسهها را نداشته باشد، در فایل log
پیامی مبنی بر اینکه قلم شما این نویسهها را ندارد، دریافت نخواهید کرد و در نتیجه زمان پردازش نیز بسیار کوتاهتر خواهد بود زیرا که هیچ نویسهای را حروفچینی نمیکنیم (داخل کادر قرار نمیدهیم) و نه اطلاعات اضافه و بیهودهای در فایل log
مینویسیم.
مزیت دیگر این است که محاسبات در الگوریتم جدید با دقت بیشتری در مقایسه با الگوریتم قبلی صورت میگیرد. به عنوان نمونه، در سند زیر، با الگوریتم پیشین، مقدار بروزشده \baselineskip
برابر بود با 18.5976pt
(۴ رقم اعشار) در حالی که همین سند با الگوریتم جدید، مقدار بروزشده \baselineskip
را برابر با 18.59766pt
(۵ رقلم اعشار) نشان میدهد.
\documentclass[a4paper,12pt]{article}
\usepackage{ptext}
\usepackage[computeautoilg=on]{xepersian}
\settextfont{Yas}
\begin{document}
\ptext
\end{document}
گزارشی از زمان پردازش فایل تک بالا
هنگامی که گزینه computeautoilg
فعال نیست، زمان پردازش فایل تک در کامپیوتر من اینگونه است:
real 0m1.158s
user 0m1.063s
sys 0m0.084s
با الگوریتم پیشین و فعال کردن گزینه computeautoilg
زمان پردازش بصورت زیر است:
real 0m1.221s
user 0m1.132s
sys 0m0.084s
با الگوریتم جدید و فعال کردن گزینه computeautoilg
زمان پردازش بصورت زیر است:
real 0m1.192s
user 0m1.103s
sys 0m0.081s