Here is my interim solution : better solutions welcomed ! \XeTeXinterchartokenstate = 1
\newXeTeXintercharclass \English \newXeTeXintercharclass \Greek \newXeTeXintercharclass \Hebrew \newXeTeXintercharclass \Latin \newcount \charclass \charclass = "0380 \loop \XeTeXcharclass \charclass = \Greek \advance \charclass by 1 \ifnum \charclass < "0400 \repeat \charclass = "1F00 \loop \XeTeXcharclass \charclass = \Greek \advance \charclass by 1 \ifnum \charclass < "2000 \repeat \XeTeXinterchartoks 0 \Greek {\uselanguage {greek}} \XeTeXinterchartoks \Greek 0 {\uselanguage {UKenglish}}