Font-Family fallback
The most basic way is too create font-family fallback. This will work only with per-language fonts (SBL Hebrew can't render arabic or english, Rraditional Arabic can't render English, etc.)
font-family: "SBL Hebrew", "Traditional Arabic", Calibri;
And a working example: http://jsfiddle.net/cWzwT/
lang attribute
You can also try the following method showed in this post - Internationalization Language CSS :
:lang(he) { font-family: "SBL Hebrew" }
:lang(ar) { font-family: "Traditional Arabic" }
Using the :lang method shown here is compatible with most modern browsers so it should do the trick. It probably requires to add a lang
attribute to the element, so I don't know if that exactly fits your problem.
unicode-range
Another more general way is using the unicode-range. For example
@font-face {
font-family: "SBL Hebrew";
unicode-range: U+05-90, U+05-FF;
}
For further reading:
Can CSS choose a different default font and size depending on Language
Here's a table with the unicode ranges.