问题

问题

我知道该字体支持希腊语。这些字符可以在 pdfLateX 中访问吗?


平均能量损失

\documentclass{article}
\usepackage[utf8]{inputenx}
\usepackage[english,greek]{babel}
\usepackage[default]{sourcesanspro}
\usepackage[T1]{fontenc}
\begin{document}
α a $\alpha$
\end{document}

给了我以下错误(由 选项引起greekbabel

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 缺少希腊语斜体。

alpa 更好的 alpha

答案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努力工作为您的要求提供支持。

相关内容