我在 Xelatex 中使用的 Lohit Tamil Classical 字体没有上标 4 的字形。(请参阅https://github.com/pravins/lohit/issues/68)
我曾尝试使用 ucharclasses 自动切换上标的不同字体,但是不起作用。
以下是我在序言中的内容:
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setmainlanguage{english}
\setotherlanguage{tamil}
\setmainfont{FreeSerif}[Scale=1]
\newfontfamily{\englishfont}[Scale=1.05]{FreeSerif}
\newfontfamily{\tamilfont}[Scale=1,Script=Tamil,Language=Tamil]{FreeSerif}
\newfontfamily{\tamilfont}[Scale=1,Script=Tamil]{Lohit Tamil Classical}
\usepackage[Latin, Tamil, SuperscriptsandSubscripts]{ucharclasses}
\setTransitionTo{SuperscriptsandSubscripts}{\normalfont}
\setTransitionFrom{SuperscriptsandSubscripts}{\tamilfont}
\setTransitionTo{Tamil}{\tamilfont}
\setTransitionFrom{Tamil}{\normalfont}
\setTransitionsFor{Latin}
{\hyphenrules{english}\normalfont}
{\hyphenrules{sanskrit}\tamilfont}
\setTransitionsFor{Tamil}
{\hyphenrules{sanskrit}\tamilfont}
{\hyphenrules{english}\normalfont}
%
以下是文档中的一段文本示例。
\section{அத² ஷட³ஸ்த்ரிம்ஶ: படல:}
ஶ்ரீஆனந்த³பை⁴ரவீ உவாச
அத² காந்த ப்ரவக்ஷ்யாமி குண்ட³லீசேதனாதி³கம் ।
ஸஹஸ்ரநாமஸகலம் குண்ட³லின்யா: ப்ரியம் ஸுக²ம் ॥ 36-1॥
அஷ்டோத்தரம் மஹாபுண்யம் ஸாக்ஷாத் ஸித்³தி⁴ப்ரதா³யகம் ।
தவ ப்ரேமவஶேனைவ கத²யாமி ஶ்ருʼணுஷ்வ தத் ॥ 36-2॥
编辑:
这是 MWE,请告诉我如何让它显示 4 上标。谢谢!
\documentclass[a5paper,11pt,twoside,onecolumn,openany,final]{memoir}
\usepackage[a5paper,hmargin=0.7in,vmargin=0.75in]{geometry}
\usepackage{multicol,polyglossia,fontspec,etoolbox}
%
\defaultfontfeatures{Mapping=tex-text}
\setmainlanguage{english}
\setotherlanguage{tamil}
\setmainfont{FreeSerif}[Scale=1]
\newfontfamily{\englishfont}[Scale=1.05]{FreeSerif}
\newfontfamily{\tamilfont}[Scale=1,Script=Tamil]{Lohit Tamil Classical}
%
\usepackage[Latin, Tamil]{ucharclasses}
\setTransitionTo{SuperscriptsandSubscripts}{\normalfont}
\setTransitionFrom{SuperscriptsandSubscripts}{\tamilfont}
\setTransitionTo{Tamil}{\tamilfont}
\setTransitionFrom{Tamil}{\normalfont}
\setTransitionsFor{Latin}
{\hyphenrules{english}\normalfont}
{\hyphenrules{tamil}\tamilfont}
\setTransitionsFor{Tamil}
{\hyphenrules{tamil}\tamilfont}
{\hyphenrules{english}\normalfont}
%
\begin{document}
\section{அத² ஷட³ஸ்த்ரிம்ஶ: படல:}
ஶ்ரீஆனந்த³பை⁴ரவீ உவாச
அத² காந்த ப்ரவக்ஷ்யாமி குண்ட³லீசேதனாதி³கம் ।
ஸஹஸ்ரநாமஸகலம் குண்ட³லின்யா: ப்ரியம் ஸுக²ம் ॥ 36-1॥
அஷ்டோத்தரம் மஹாபுண்யம் ஸாக்ஷாத் ஸித்³தி⁴ப்ரதா³யகம் ।
தவ ப்ரேமவஶேனைவ கத²யாமி ஶ்ருʼணுஷ்வ தத் ॥ 36-2॥
வினா யஜனயோகே³ன வினா த்⁴யானேன யத்ப²லம் ।
தத்ப²லம் லப⁴தே ஸத்³யோ வித்³யாயா: ஸுக்ருʼபா ப⁴வேத் ॥ 36-3॥
\end{document}
答案1
该选项是SuperscriptsAndSubscripts
(注意大写的 A)。
这里我使用了我机器上的泰米尔字体。
对于上标的转换,最好使用\begingroup\normalfont
和\endgroup
,这样它将独立于上下文工作。
\documentclass{article}
\usepackage{fontspec,polyglossia}
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setmainlanguage{english}
\setotherlanguage{tamil}
\setmainfont{FreeSerif}[Scale=1]
\newfontfamily{\englishfont}[Scale=1.05]{FreeSerif}
\newfontfamily{\tamilfont}[Scale=1,Script=Tamil,Language=Tamil]{InaiMathi}
%\newfontfamily{\tamilfont}[Scale=1,Script=Tamil]{Lohit Tamil Classical}
\usepackage[Latin, Tamil, SuperscriptsAndSubscripts]{ucharclasses}
\setTransitionTo{SuperscriptsAndSubscripts}{\begingroup\normalfont}
\setTransitionFrom{SuperscriptsAndSubscripts}{\endgroup}
\setTransitionTo{Tamil}{\tamilfont}
\setTransitionFrom{Tamil}{\normalfont}
\setTransitionsFor{Latin}
{\hyphenrules{english}\normalfont}
{\hyphenrules{sanskrit}\tamilfont}
\setTransitionsFor{Tamil}
{\hyphenrules{sanskrit}\tamilfont}
{\hyphenrules{english}\normalfont}
%
\begin{document}
\section{அத² ஷட³ஸ்த்ரிம்ஶ: படல:}
ஶ்ரீஆனந்த³பை⁴ரவீ உவாச
அத² காந்த ப்ரவக்ஷ்யாமி குண்ட³லீசேதனாதி³கம் ।
ஸஹஸ்ரநாமஸகலம் குண்ட³லின்யா: ப்ரியம் ஸுக²ம் ॥ 36-1॥
அஷ்டோத்தரம் மஹாபுண்யம் ஸாக்ஷாத் ஸித்³தி⁴ப்ரதா³யகம் ।
தவ ப்ரேமவஶேனைவ கத²யாமி ஶ்ருʼணுஷ்வ தத் ॥ 36-2॥
\end{document}