محمد فرشی

۵ مطلب با کلمه‌ی کلیدی «xepersian» ثبت شده است

چند وقتی است که پیام‌های متعدد دریافت کرده‌ام در خصوص این که با نصب TeXLive 2021 یا TeXLive2022، مشکلی که وجود دارد این است که فونتهای فارسی (مثلا Yas) شناخته نمی‌شود و قالب‌های موجود نظیر پروپوزال و یا پایان‌نامه در آنها اجرا نمی‌شود.
بالاخره فرصت کردم موضوع را بررسی کنم و راهکاری (نه چندان تخصصی) برای رفع مشکل ارائه کنم. البته احتمالاً راهکارهای تخصصی دیگری نیز برای آن وجود دارد.
و اما مشکل از آنجا ناشی می‌شود که سیستم ذخیره‌سازی فونت‌ها در ویندوز 10 و 11، متفاوت از قبلی‌ها است. سیستم آنها به این صورت که که یک فولدر Fonts در مسیر نصب ویندوز وجود دارد که فونت‌های عمومی را نگهداری می‌کند که همه کاربران سیستم به آن دسترسی دارند. اما وقتی فونت جدیدی توسط کاربر نصب می‌شود، این فونت در این پوشه قرار نمیگیرد، بلکه در پوشه خاص کاربر نصب کننده قرار می‌گیرد. حتی اگر فونت‌ها را از طریق File Explorer نیز در پوشه فونت‌های سیستم کپی نمایید، این کپی کردن اتفاق نمی‌افتد و فونت در همان پوشه مربوط به فونت‌های کاربر قرار می‌گیرد. البته اگر فولدر Fonts را در File Explorer باز کنید، فونت‌ها دیده می‌شود ولی این فونت‌ها در اصل در این پوشه نیست، بلکه File Explorer فونت‌های خاص کاربر را نیز در پنجره نشان می‌دهد. به همین دلیل هم معمولا این ابهام پیش می‌آید که فونت‌ها روی سیستم هست ولی TeX آنها را نمی‌شناسد.
برای آزمایش این موضوع می‌توانید فونت‌ها را نصب با کپی کنید و سپس با استفاده از Command Prompt ، محتوای پوشه مثلا C:\Windows\Fonts را با دستور dir ببینید. اگر فونت شما در این پوشه بود، مشکلی وجود ندارد. البته با هر دو روش من امتحان کردم و فونت‌ها در این پوشه نبود.
اما راهکار:
راهکار اول: در زمان نصب فونت، فونت را با گزینه Install for all users نصب کنید. برای نصب، به پوشه فونت‌های خود بروید، همه را با CTRL+A انتخاب کنید و سپس کلیک راست را بگیرید و گزینه  install for all users  را انتخاب کنید. البته این گزینه بعضا به دلایل مختلف ظاهر نمی‌شود و یا فعال نیست. در این صورت از راهکار دوم استفاده کنید.

راهکار دوم: در قسمت Search ویندوز، عبارت cmd را جستجو کنید و روی ابزار  Command Prompt کلیک راست کنید و گزینه Run as administrator  را انتخاب کنید. فرض من در ادامه بر این است که ویندوز شما روی درایو C است و فونتهای شما هم روی مسیر C:\Fonts  است.
از پنجره باز شده ابتدا دستور cd C:\Fonts را تایپ کنید و کلید Enter را بزنید (به فاصلۀ بعد از cd دقت کنید). با این کار باید وارد مسیر C:\Fonts شده باشید. دستور copy *.* C:\Windows\Fonts را تایپ کنید و کلید Enter  را بزنید. دقت کنید که قبل و بعد از *.* یک فاصله است. منتظر بمانید تا فونت‌ها کپی شوند. اگر در خصوص Replace کردن فونت، سوال شد، Yes را انتخاب کنید. کار تمام است.
معمولا نیازی به راه‌اندازی مجدد ویندوز نیست ولی اگر فونت‌ها شناخته نشد، یک بار ویندوز را راه‌اندازی مجدد کنید.

امیدوارم این راهکار مفید فایده باشد.

 

پینوشت: راهکار دیگری را یکی از دوستان اطلاع دادند که توسط دکتر مس فروش ارائه شده است. این راهکار از طریق لینک زیر در فیلم روش نصب تک لایو، ارائه شده است:
روش نصب تک لایو (دکتر مس فروش)

خلاصه روش این است که فونتهای فارسی را در مسیر زیر که مسیر نصب تک لایو شماست؛ کپی نمایید. با فرض نصب کردن تک لایو 2022 روی درایو C، مسیر به صورت زیر است:
C:\texlive\2022\texmf-dist\fonts\truetype

۵ نظر موافقین ۱ مخالفین ۰ ۰۷ دی ۰۱ ، ۱۳:۲۴
محمد فرشی

تقریبا دو ماه پیش با انتشار Ipe Drawing 7.2.2  و پشتیبانی آن از xetex موضوع امکان استفاده از بسته زیپرشن برای فارسی نویسی در Ipe را مطرح کردم. الان با جستجو در اینترنت در این لینک روش را پیدا کردم.

عملاً کار بسیار راحت است (همانطور که در لینک فوق بیان شده):

الف) دستورات زیر را در قسمت Latex Preamble در منوی Edit در Document Properties قرار دهید:

\usepackage[RTLdocument=off]{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}

به جای فونت Yas  می‌توانید از هر فونت دیگری که روی کامپیوتر شما نصب است استفاده کنید. بهتر است فونت، با فونت متنی که میخواهید شکل را استفاده کنید یکسان باشد.

ب) در همین پنجره و خط بالای LaTeX preamble، گزینه xetex را برای Latex Engin استفاده کنید.

ج) برای درج متن؛ هیچ دستور خاصی نیاز نیست. اما اگر چند کلمه به عنوان متن دارید باید آن را داخل دستور \rl{} قرار دهید وگرته ترتیب کلمات برعکس می‌شود.

نمونه فایل ایجاد شده از لینک زیر در دسترس است:

Ipe-7.2.2-Xepersian-Farsi-Sample.pdf


۳ نظر موافقین ۲ مخالفین ۰ ۱۱ فروردين ۹۵ ، ۱۶:۲۹
محمد فرشی

نسخه جدید Ipe drawing  که قابلیتهای خوبی در رسم شکلها دارد منتشر شد. نسخه ویندوزی این نکارش نرم افزار در این لینک قابل دانلود است. (لینک دوم دانلود)

فابلیت جدید اضافه شده به این نسخه این است که امکان ساخت شکل با استفاده از xetex نیز اضافه شده است که این نوید را می‌دهد که بتوان با بسته xepersian نسبت به رسم شکل با متون فارسی اقدام کرد. در نسخه‌های قبلی، از pdftex استفاده می‌شد و فارسی سازی با استفاده از بسته arabi توسط دکتر واحدی معرفی شد. مشکل استفاده از arabi آن است که همه فونتها قابل استفاده نیست و فونت متن داخل شکل با فونت متن اصلی متفاوت می‌شود.

البته لازم است فردی طریقه استفاده از xepersian را در Ipe drawing پیدا و معرفی کند ولی زمینه لازم برای این کار مهیا است.

۰ نظر موافقین ۱ مخالفین ۰ ۰۵ بهمن ۹۴ ، ۱۷:۴۳
محمد فرشی

اگر از بسته algorithm2e برای نوشتن الگوریتمها استفاده کنید، در متون فارسی با استفاده از بسته xepersian، در شماره گذاری الگوریتم ها یم کاما وارد میشود که ترتیب را نیز به هم میزند. یعنی مثلا در شماره گذاری بر مبنای section که به هر الگوریتم یک شماره سه بخشی اختصاص میدهد، ترتیب درست رعایت نمیشود. این مشکل قبلا در وبسایت parsilatex هم گزارش شده بود ولی راه حلی برای آن ارائه نشده بود. با توجه به برخورد به این مشکل در تایپ کتاب مبانی کامپیوتر، با اضافه کردن دستورات زیر مشکل را حل کردم.

\renewcommand\thepart{\rl{\arabic{part}}}
\renewcommand\thesection{\rl{\arabic{chapter}}.\rl{\arabic{section}}}
\renewcommand\thechapter{\rl{\arabic{chapter}}} 

لینک در سایت پارسی لاتک


۱ نظر موافقین ۰ مخالفین ۰ ۲۶ مرداد ۹۴ ، ۱۷:۰۲
محمد فرشی

با انتشار MikTeX 2.9  و نصب آن متوجه شدم که فایهای قبلی با اشکال اجرا میشوند. پس از جستجو در اینترنت متوجه شدم که یک ناهماهنگی بین Xepersian  و MikTeX 2.9 وجود دارد که ظاهرا هیچ طرفی حاظر به رفع آن نیست. لذا بالاجبار علیرغم پشتیبانی نشدن MikTeX 2.8، مجبور به استفاده از آن بودم.


اخیرا دیدم که همکار گرامی جناب آقای دکتر شاهزاده فاضلی از MikTeX 2.9 استفاده میکنند و مشکلی با XePersian ندارند. لذا با بررسی مجددو جستجو در اینترنت متوجه شدم که با اضافه کردن دستورات زیر به ابتدای فایل تک، میتوان مشکل را حل کرد. (لینک به محل)

\makeatletter
\@ifundefined{Umathcode}{\let\Umathcode\XeTeXmathcode}{}
\@ifundefined{Umathchardef}{\let\Umathchardef\XeTeXmathchardef}{}
\makeatother

به این ترتیب امکان استفاده از میک تک 2.9 به همراه زیپرشن ایجاد شد. فایل زیر نمونه ای است که بدون اشکال روی کامپیوتر من اجرا می‌شود.


فایل نمونه

۳ نظر موافقین ۱ مخالفین ۰ ۲۲ خرداد ۹۲ ، ۱۲:۲۷
محمد فرشی