I'm using Tex with Telugu and English languages. When a word is hyphenated, the hyphen symbol, as apparently is not found in Telugu font, appears as undefined symbol. I want to change it's font to English hoping it would then appear properly. This is what I do for many other symbols in default Latin set.
This is what preamble in my tex file looks like.
\documentclass[12pt, a4paper, onecolumn]{book}
%\documentclass{memoir}
\usepackage{fontspec}
\setmainfont{Lohit Telugu}
\usepackage{polyglossia}
\setmainlanguage{telugu}
%The following is a workaround to substitute the font or default latin characterset
%with an English one, since none of the current Telugu fonts contains that set.
\setotherlanguage{english}
\newfontfamily{\TelSubstFont}[Ligatures=TeX]{Lucida Grande}
\newfontfamily{\TitleFont}{RaviPrakash}
\XeTeXinterchartokenstate=1
\newXeTeXintercharclass\TelSubst
\count255="0000
\loop\ifnum\count255<"007F
\XeTeXcharclass\count255=\TelSubst
\advance\count255 by 1
\repeat
\XeTeXinterchartoks 0 \TelSubst = {\begingroup\TelSubstFont}
\XeTeXinterchartoks 255 \TelSubst = {\begingroup\TelSubstFont}
\XeTeXinterchartoks \TelSubst 0 = {\endgroup}
\XeTeXinterchartoks \TelSubst 255 = {\endgroup}
Here's the output:
