xepersian, xetex can't find fonts
Yes. You should install the font in your OS, or use the font as an external file.
If you installed the font file (e.g. using Windows control panel/font), then you can call your font using
\settextfont{XB Niloofar}
no mapping
is needed, since xepersian
sets the proper mapping by default.
If you want to use your font, without installing it, your font file must be accessible by your engine, i.e. either in your working directory, or a in proper place in texmf
. Use ExternalLocation
parameter for this situation:
\settextfont[ExternalLocation]{xbniloofar.ttf}
or whatever the filename is.
Please, by the way, make sure that you always load xepersian
as the last package.
Just an answer for Linux users which will find this page via search engines:
If you use a Linux distro such as Ubuntu then download the font from the open font library and copy it to ~/.fonts
direcotry and run the following command to add it to the fonts cache:
$ fc-cache -v ~/.fonts
Then recompile your document.