亲爱的德克萨斯人同胞们,
我有一种 .ttf(true type)天城体字体,我想在输入梵语时使用它,当我使用 MS Word 时它可以显示为斜体和粗体,但在 Windows 字体文件夹中它只显示为一种字体,名为 AA_Nagari_Shree_L3.ttf,这是常规字体,所以我不知道用哪个名称来设置粗体变体和斜体字体。
我如何访问和使用字体的粗体版本?
我的代码:
\documentclass[12pt]{article}
\usepackage{polyglossia}
\usepackage{fontenc,fontspec}
\setmainlanguage{english}
\setotherlanguages{sanskrit}
\newfontfamily\sanskritfont[
Path = /Windows/Fonts/,
Script = Devanagari,
Scale=MatchUppercase,
Mapping=velthuis-sanskrit
]{AA_Nagari_Shree_L3.ttf}
\newenvironment{dn}[1]{\sanskritfont#1}{}
\begin{document}\\
{\dn sugataan sasutaan sadharmakaayaan pra.nipatyaadarato 'khilaa.m"sca vandyaan|}
\end{document}
答案1
如果字体没有粗体变体,应用程序可能会伪造它。 这也可能发生fontspec
,但应明确告知。
\documentclass[12pt]{article}
\usepackage{polyglossia}
\usepackage{fontspec}
\setmainlanguage{english}
\setotherlanguages{sanskrit}
\newfontfamily\sanskritfont[
Path = ./,
Extension=.ttf,
Script = Devanagari,
Scale=MatchUppercase,
Mapping=velthuis-sanskrit,
BoldFont=*,
BoldFeatures={FakeBold=2},
]{AA_Nagari_Shree_L3}
\newcommand\dn{\sanskritfont}
\begin{document}
{\dn sugataan sasutaan sadharmakaayaan pra.nipatyaadarato 'khilaa.m"sca vandyaan|}
\bfseries
{\dn sugataan sasutaan sadharmakaayaan pra.nipatyaadarato 'khilaa.m"sca vandyaan|}
\end{document}
我删除了对的无用调用fontenc
并修改了的定义\dn
(你的定义是完全错误的)。
答案2
虽然我没有找到直接的方法来解决这个问题,但我找到了一个解决这个特定问题的方法:
Nagari Shree L3 在按 1.3 倍缩放时可无缝连接 Sanskrit 2003 字体,后者是一种更粗的(加尔各答风格)字体。任何想要在“粗体”和“标准”梵文字体之间切换的人,如果像我一样喜欢 AA Nagari Shree L3 的美感,可以按以下方式操作:
\documentclass[12pt]{article}
\usepackage{polyglossia}
\usepackage{fontenc,fontspec,xltxtra}
\setmainlanguage{english}\setotherlanguages{sanskrit,tibetan}
\newfontfamily\sanskritverse[
Script=Devanagari,
Mapping=velthuis-sanskrit,
Scale=1,
]{Sanskrit 2003}
\newfontfamily\sanskritfont[%needs to be called sanskritfont, see Wujastyk's blog
Path = /Windows/Fonts/,
Script = Devanagari,
Scale=1.3,
Mapping=velthuis-sanskrit, %or any other mapping
%Conjuncts=Additional Conjuncts,
%Character Alternates=Dha & Bha Curl Variants%
]{AA_Nagari_Shree_L3.ttf}
\newcommand{\dvb}[1]{{{\selectlanguage{sanskrit}\sanskritverse{#1}}}}
\newcommand{\dev}[1]{{{\selectlanguage{sanskrit}\sanskritfont #1}}}
\newcommand\eng[1]{\begin{english}#1\end{english}}
\begin{document}
\begin{verse}
\dev{sugataan sasutaan sa}\dvb{dharma}\dev{kaayaan pra.nipatyaadarato `'khilaa.m"sca vandyaan|\\
sugataatmaja}\dvb{sa.mvaraavataara.m} \dev{kathayi.syaami yathaagama.m samaasaat||}%
\end{verse}
\end{document}