这是一个后续问题xetex 中的 \mathbf 问题
我尝试了 Micos 解决方案。它有效。我现在又遇到了一个问题。整个文本似乎都以粗体显示。我找不到问题所在。以下是 MWE:
\documentclass{article}
\usepackage{amssymb}
\usepackage{unicode-math}
\defaultfontfeatures{Path=/usr/share/fonts} % change this as needed
\setmainfont{AnnapurnaSIL-Regular.ttf}%
[Path=/usr/share/fonts/truetype/annapurna/,Script=Devanagari,Mapping=velthuis,
BoldFont=AnnapurnaSIL-Bold.ttf]
\setmathfont{STIX2Math.otf} % or some other Times-compatible math font
[Path=/opt/texlive/2018/texmf-dist/fonts/opentype/public/stix2-otf/,Scale=MatchUppercase]
\newfontfamily\eng{Times_New_Roman.ttf}%
[Path=/usr/share/fonts/truetype/msttcorefonts/, % change this as needed
Scale=MatchUppercase,
BoldFont=Times_New_Roman_Bold.ttf,
ItalicFont=Times_New_Roman_Italic.ttf,
BoldItalicFont=Times_New_Roman_Bold_Italic.ttf]
\newfontface\Bigdn{AnnapurnaSIL-Bold.ttf}[Script=Devanagari,Mapping=velthuis-roman-numerals,Scale=1.4,Path=/usr/share/fonts/truetype/annapurna/]
\begin{document}
{\Bigdn yah ek udaaharan hai||}
{\bfseries yah ek udaaharan hai||}
1
{yah ek udaaharan hai||}
{\eng This is a MWE.}
$\symbf{i}$, $i$ $x^2+2x$
\end{document}
编辑我正在发布另一个没有路径的 MWE:
\documentclass{article}
\usepackage{amssymb}
\usepackage{unicode-math} % change this as needed
\setmainfont{AnnapurnaSIL-Regular.ttf}%
[Script=Devanagari,Mapping=velthuis-roman-numerals,
BoldFont=AnnapurnaSIL-Bold.ttf]
\setmathfont{STIX2Math.otf}[Scale=MatchUppercase]
\newfontfamily\eng{Times_New_Roman.ttf}%
[Scale=MatchUppercase,
BoldFont=Times_New_Roman_Bold.ttf,
ItalicFont=Times_New_Roman_Italic.ttf,
BoldItalicFont=Times_New_Roman_Bold_Italic.ttf]
\newfontface\Bigdn{AnnapurnaSIL-Bold.ttf}[Script=Devanagari,Mapping=velthuis-roman-numerals,Scale=1.4]
\begin{document}
{\Bigdn yah ek udaaharan hai||}
{\bfseries yah ek udaaharan hai||}
1
{yah ek udaaharan hai||}
{\eng This is a MWE.}
$\symbf{i}$, $i$ $x^2+2x$
\end{document}
问题是,无论有没有 \bfseries 命令,文本“yah ek udaharan hai”看起来都一样。 编辑我使用自定义地图文件来获取罗马数字而不是梵文数字。我已将其替换为标准地图文件。这样就可以重现结果。
答案1
没有答案:如果我这样做,会fontspec
自动选择子字体:
平均能量损失
\documentclass[varwidth,border=6pt]{standalone}
\usepackage{amssymb}
\usepackage{unicode-math} % change this as needed
\setmainfont{Annapurna SIL}%
[Script=Devanagari,Mapping=velthuis-roman-numerals,
]
\setmathfont{XITS Math}[Scale=MatchUppercase]
\newfontfamily\eng{Noto Serif}%
[Scale=MatchUppercase,]
\newfontface\Bigdn{AnnapurnaSIL-B.ttf}[Script=Devanagari,Mapping=velthuis-roman-numerals,Scale=1.4]
\begin{document}
{\Bigdn yah ek udaaharan hai||}
{\bfseries yah ek udaaharan hai||}
{ yah ek udaaharan hai||}
1
{yah ek udaaharan hai||}
{\eng This is a MWE.}
$\symbf{i}$, $i$ $x^2+2x$
\end{document}
我明白了:
我无法使用我的字体(Windows)重现该问题;使用Annapurna SIL Bold
或AnnapurnaSIL-B.ttf
会产生相同的结果\Bigdn
。