多语的断言

多语的断言

我使用以下设置使用 polyglossia 和 xelatex 排版泰卢固语文本。但引号似乎坏了。它们看起来像是在源代码中输入的,并没有转换为花括号(就像 latex 所做的那样)。我尝试使用 csquotes,但徒劳无功。由于拉丁语集对应的字符没有使用我的语言的字体呈现,我放了一小段代码(取自 tex.stackexchange.com)来用英文字体呈现它们。这是否是问题的原因?如果是,那么解决方法是什么?

\documentclass{article}

%The following makes Telugu the default language of the document, 
%while setting English as the other language. 

%"Lohit Telugu" and "Cantarell" fonts can be substituted with your favorite ones.

\usepackage{polyglossia}
\setmainlanguage{telugu}
\setmainfont{Lohit Telugu}
\setotherlanguage{english}
\newfontfamily{\TelSubstFont}{Cantarell}


%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.

\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}


\begin{document}

తెలుగు భారత దేశము లోని దక్షిణ ప్రాంతములోని `ఆంధ్రప్రదేశ్' రాష్ట్ర అధికార భాష. భారత దేశం లో తెలుగు మాట్లాడే 
7.4 కోట్ల (2000 సంవత్సరపు లెక్కలు) జనాభాతో ప్రాంతీయ భాషలలో మొదటి స్థానం లోవుంది. ప్రపంచంలోని ప్రజలు  
అత్యధికముగా మాట్లాడే భాషలలో పదమూడవ స్థానములోనూ, భారత దేశములో హిందీ తర్వాత రెండవ స్థానములోను 
నిలుస్తుంది. 1997 లెక్కల ప్రకారం ప్రపంచవ్యాప్తంగా 6.97 కోట్లు మందికి పైగా మొదటి భాషగా మాట్లాడతారు. అతి
ప్రాచీన దేశ భాషలలో సంస్కృతము, తమిళములతో బాటు తెలుగు భాషను అక్టోబరు 31, 2008న భారత ప్రభుత్వము 
చేర్చింది.

\end{document}

答案1

引号位于 Unicode 的“ASCII”块中,因此根据您的设置,它们取自\TelSubstFont

\newfontfamily{\TelSubstFont}[Ligatures=TeX]{Cantarell}

将负责替换。

相关内容