محمد فرشی

حل مشکل نشناختن فونت‌ها در زیپرشن

چهارشنبه, ۷ دی ۱۴۰۱، ۰۱:۲۴ ب.ظ

چند وقتی است که پیام‌های متعدد دریافت کرده‌ام در خصوص این که با نصب 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

نظرات  (۹)

با سلام من فایل لاتکی که قبلا با تک لایو اجرا میشد رو الان نمیتونم اجرا کنم گزینه build and view رو که میزنم چند ساعت هم صبر کردم اجرا نمیشه. گزینه کامپایلو میزنم مشکلی نداره. این کارارو هم که گفتید انجام دادم فایده نداشت لطف میکنید اگه راهنمایی کنید

 

 

 

 

پاسخ:
با سلام
پیغام خطا را لطفا بفرمایید تا بررسی شود. البته، یک امکان هم این است که ایراد از ادیتوری که استفاده میکنید باشد. مثلا در گزینه ساخت، از xelatex استفاده نکند. لذا اگر موضوع را بدون استفاده از ادیتور بررسی کنید، هم پیام خطا مشخص است و هم مشخص میشود ایراد از کجاست.
موفق باشید

خیلی از پاسخگوییون ممنونم. خطایی نمیاد فقط ساخته نمیشه آیکون ماوس میره رو حالت صبر کردن تو قسمت مسیج هم مینویسه Process started: XeLaTeX دیگه همونجوری میمونه. همین فایلو قبلا میساخته که البته الان پایان ناممو توش نوشتم و هر تیکه رو که کامپایل میکردم مشکلی نداشت بعد از اول که خواستم build and view رو بزنم اینجوری شد. کامپایلو که میزنم هم بدون خطا تموم میکنه. نمیدونم مشکل از ویندوزمه یا از برنامه ست. در ضمن یه فایل تک دیگه دارم که اونو میسازه. ببخشید که طولانی شد

 

پاسخ:
با سلام
به نظرم از پنجره CMD استفاده کنید و اجرا بگیرید. اگر ایراد از تک باشد، آنجا مشخص میشود. روش انجام آن را در ویدئوهای اولیه مربوط به آموزش لاتک در لینک زیر میتوانید ببینید.
https://farshi.blog.ir/1399/08/04/LaTeX-XePresian-Course
موفق باشید

خدا خیرت بده این آموزش رو گذاشتی تو نت. واقعا راه انداخت کارمو. چند وقت بود درگیر بودم.الان فونت ها رو شناخت. خیر ببینی

پاسخ:
سلام
ممنون :D

سلام خیلی لطف کردید. خدا قوت. مشکل من حل شد.

سلام من در ویندوز 11 با اینکه فونت ها رو در دایرکتوری فونت های ویندوزم کپی کرده بودم در لاتک نمی خوند فونت هام رو. راه حل این بود که در ویندوز 11 برای نصب فونت ها باید روی فونت های مورد نظر کلیک راست کنید و بعد گزینه show more options رو بزنید و بعد install for all users رو بزنید فونت ها نصب میشه و بعد از اون لاتک بدون مشکل می خوندشون

پاسخ:
سلام و تشکر
راهکار اول ارائه شده در این پست همین است. تفاوتی با روش شما ندیدم.

سلام و بسیار متشکرم

مشکل من در texlive 2022  با روش دوم و با command prompt حل شد.

نمیدونم چرا هر ویندوزی که میاد مشکلاتش از ویندوز قبلی بیشتر هست انگار!

سلام و سپاس

مشکل من در ویندوز 11 حل شد خیلی ممنون

۳۰ تیر ۰۳ ، ۲۱:۳۹ محمدرضا هادی پور

با سلام و تشکر از شما بابت راهنمایی خوبتون

مشکلم در ویندوز 10 با install for all users حل شد

۱۹ آبان ۰۳ ، ۱۵:۴۹ فاطمه احمدی

سلام وقت بخیر

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

مراحل ارسال شده بالا را آجر کردم ولی مسیر را پیدا نکرد.

ممنو

پاسخ:
با سلام
لطفا مراحل را دقیق تکرار کنید. به نظرم دقیق عمل نکرده اید که جواب نگرفته اید.
با آرزوی سلامتی

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی