Consider the following document:
\documentclass{minimal}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\usepackage{bidi}
\begin{document}
קסם קסמה לי הלענה.
\end{document}
Assuming your TeX distro is configured properly, and that the culmus fonts are installed, this will compile. However, if I remove the \newfontfamily line, and try to compile this with TeXLive on a recent Linux distribution, I get:
! Package polyglossia Error: The current roman font does not contain the Hebrew
script!
(polyglossia) Please define \hebrewfont with \newfontfamily.
Now, I think this shouldn't happen, but that's a matter for another day. My question is, suppose I don't know which Hebrew fonts are installed on the system. Maybe there's Culmus, maybe there's access to the OS' fonts, some of which support Hebrew (and those are different font families in Windows and in Linux) - whatever.
Is there a way to tell polyglossia "use whatever Hebrew font family has available fonts", as opposed to requiring a specific font family?
Bonus points for an answer which supports setting fallbacks a-la-CSS, i.e. "if you have it, then font family A; otherwise, if you have it, then font family B; etc. etc. ; and if you have none then an arbitrary Hebrew font"