CTAN has a new package: fontwrap
For everyone who writes multilingual texts, fontwrap makes the hassle of adding language changing or font changing macros a lot easier by dispensing with having you add them in your text altogether. Just tell the package which fonts to use for which Unicode blocks or groups (such as the Hebrew block, or all Latin blocks) and wrap your text in the fontwrap macro (requires UTF8 input, but then when don't you save a multilingual file in UTF8 anymore these days?)
This package is located at http://tug.ctan.org/tex-archive/macros/xetex/latex/fontwrap . More information is at http://tug.ctan.org/pkg/fontwrap (if the package is new it may take a day for that information to appear). We are supported by the TeX Users Group http://www.tug.org . Please join a users group; see http://www.tug.org/usergroups.html .
fontwrap – Bind fonts to specific unicode blocks
The package (which runs under XeLaTeX) lets you bind fonts to specific unicode blocks, for automatic font tagging of multilingual text.
The package uses Perl (via perltex) to construct its tables.