我知道该字体支持希腊语。这些字符可以在 pdfLateX 中访问吗?
平均能量损失
\documentclass{article}
\usepackage[utf8]{inputenx}
\usepackage[english,greek]{babel}
\usepackage[default]{sourcesanspro}
\usepackage[T1]{fontenc}
\begin{document}
α a $\alpha$
\end{document}
给了我以下错误(由 选项引起greek
)babel
:
miktex-makemf: The grtm source file could not be found.
Running hbf2gf.exe...
hbf2gf (CJK ver. 4.8.3)
Couldn't find `grtm.cfg'
miktex-maketfm: No creation rule for font grtm10.
! Font LGR/ptm/m/n/10=grtm10 at 10.0pt not loadable: Metric (TFM) file not foun
d.
<to be read again>
relax
l.2 \select@language{greek}
编辑:
勘误表:以下代码在 Source Sans 中没有打印任何字母。
我把直立的希腊 CM 误认为是 Source Sans......
注意
\documentclass{article}
\usepackage[utf8]{inputenx}
\usepackage[default]{sourcesanspro}
\usepackage[LGR]{fontenc}% changed the encoding
\begin{document}
α a $\alpha$
\end{document}
打印希腊字母(前两个在 Source Sans 中,第三个在 CM 中),但“a”现在也是字母。
答案1
问题
目前,Source Sans Pro 不附带 LGR 编码。这意味着当您运行第二个 MWE 时,会显示以下错误:
LaTeX Font Warning: Font shape `LGR/SourceSansPro-LF/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 6.
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
解决方案:Source Sans Pro 的 LGR
我已经使用 LGR 编码构建了字体。您的 MWE 现在结果如下:
您在此处看到的是正确的行为:LGR 编码仅包含希腊符号。
这确实需要更多的测试,我已经创建了一个分支。您还可以从那里下载支持 LGR 的 Source Sans Pro。
最后,为了得到想要的结果,您需要中途切换字体编码:
\documentclass{article}
\usepackage[utf8]{inputenx}
\usepackage[default]{sourcesanspro}
\usepackage[OT1,LGR]{fontenc}% changed the encoding
\begin{document}
α {\fontencoding{OT1}\selectfont a} $\alpha$
\end{document}
替代解决方案:XeLaTeX
使用 XeLaTeX 运行此程序确实会产生预期的行为:
\documentclass{article}
\usepackage[greek,english]{babel}
\usepackage[default]{sourcesanspro}
\begin{document}
α a $\alpha$
\end{document}
您还可以使用 mathspec 更改数学字体:
\documentclass{article}
\usepackage{mathspec}
\usepackage[default]{sourcesanspro}
\defaultfontfeatures
{ Ligatures = TeX ,
Numbers = Proportional ,
Extension = .otf ,
UprightFont = *-Regular ,
ItalicFont = *-RegularIt ,
BoldFont = *-Bold ,
BoldItalicFont = *-BoldIt }
\setmathfont(Digits,Latin){SourceSansPro}
\setmathfont(Greek)[Lowercase = Regular]{SourceSansPro}
\defaultfontfeatures{}
\begin{document}
α a $\alpha$
\end{document}
希腊语被设置为常规(即非斜体),因为 Source Sans Pro 缺少希腊语斜体。
答案2
简短回答
SourceSans Pro 目前不支持希腊字母pdflatex
。
较长的答案
如果我编译你的例子(勘误表部分),我收到警告
LaTeX Font Warning: Font shape `LGR/SourceSansPro-LF/m/n' undefined
(Font) using `LGR/cmr/m/n' instead on input line 5.
这意味着LGR+cmr
使用系列字体,而不是不可用的LGR+SourceSansPro-LF
系列字体。
SourceSans Pro 作为 OpenType 字体系列(十二个字体文件)发布;西尔克也是 的其他字体包的维护者pdflatex
,已准备了字体度量和 PFB 文件供 使用pdflatex
,但仅提供 OT1、T1、TS1 和 LY1 编码的字体。未提供希腊语所需的 LGR 编码。
从概念上来说,为 LGR 编码准备所需的文件(TFM、VF 和 PFB)并不困难,但需要专业知识otftotfm
和时间。
据我所知,Silke 非常热衷于功能请求和错误报告;但是发布对其字体系列的 LGR 支持可能会显得负担太重。
目前,只有 XeLaTeX 可以通过mathspec
努力工作为您的要求提供支持。