طبق چیزی که خوندم fontspec فونتهایی که در مسیر فونتهای texlive قرار داره بدون معرفی مسیر شناسایی میکنه ولی من حتما باید مسیر رو بهش بدم که فونت شناسایی بشه. فونتهای نصب شده در سیستم و فونتهایی که در کنار فایل هستن بدون مشکل شناسایی میشن ولی من نمیخوام فونت رو در سیستم نصب کنم و میخوام در پوشه فونتهای تکلایو باشه.
فایل کمینه زیر
\documentclass{article}
\usepackage{xepersian}
\settextfont{Behdad-Regular.ttf}
\begin{document}
درود بر شما
\end{document}
با این خطا مواجه میشود.
Package fontspec Error: The font "Behdad-Regular" cannot be found. \begin
در حالیکه کد زیر
\documentclass{article}
\usepackage{xepersian}
\settextfont[Path=/usr/local/texlive/2019/texmf-dist/fonts/truetype/]{Behdad-Regular.ttf}
\begin{document}
درود بر شما
\end{document}
هیچ خطایی نمیدهد. در حالیکه طبق چیزی که خود راهنمای بسته fontspec گفته:
When selecting fonts by file name, any font that can be found in the
default search paths may be used directly (including in the current
directory) without having to explic- itly define the location of the
font file on disk.
فایلهایی که در مسیرهای جستجوی پیشفرض هستن نیازی به مسیردهی صریح ندارن.
مسیرهای پیشفرض جستجوب فایل نیز طبق چیزی که در اینجا خواندم. اینها هستند:
. (meaning the current directory)
$TEXMF/fonts/{opentype,truetype}//
$OSFONTDIR//