如何访问特定字体的希腊字母?

如何访问特定字体的希腊字母?

我在访问特定字体的希腊字母时遇到问题 - 例如字体 TeX Gyre Pagella。我使用程序检查了字体这个字体有希腊字母。但是当我尝试这样的操作时:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR]{fontenc}
\usepackage[greek]{babel}
\usepackage{tgpagella}

\begin{document}
κφγ φγψ ψγκφ ααηχ  

\end{document}

我得到了标准字体的希腊字母,并显示如下信息:

LaTeX Font Warning: Some font shapes were not available, defaults substituted.

我当然知道我可以使用 LuaLaTeX,但我必须坚持使用,pdftex因为该microtype包的字距和间距功能,而且 LuaLaTeX 在我的旧机器上编译得太慢了。

答案1

TeX Gyre Pagella 不支持希腊语。opentype 字体和 type1 变体都是如此。字体确实包含希腊字形,但这些并不构成对希腊文本排版的支持。许多字体,尤其是那些设计用于支持数学的字体,包含一些希腊字符,即使它们不是为排版希腊文本而设计的。

以下是 TeX Gyre Pagella 的 opentype 常规字体支持的脚本:

DFLT            Default
cyrl            Cyrillic
latn            Latin
latn.AZE        Latin/Azeri
latn.CRT        Latin/Crimean Tatar
latn.MOL        Latin/Moldavian
latn.NLD        Latin/Dutch
latn.PLK        Latin/Polish
latn.ROM        Latin/Romanian
latn.TRK        Latin/Turkish

您可以使用 测试 opentype 字体是否支持otfinfo。例如,上面的输出是使用

otfinfo -s fonts/opentype/public/tex-gyre/texgyrepagella-regular.otf 

我不知道你使用的是哪个版本的 MinionPro,也不知道它是否支持希腊语,但仅仅包含一些希腊字符并不能确定它是否支持希腊语排版文本

对于 type1 字体,您可以查找相关编码的字体定义文件。例如,tex/latex/gfsbodoni/包括以下文件:

gfsbodoni.sty  lgrbodoni.fd  ot1bodoni.fd  t1bodoni.fd  ubodoninums.fd

第一个是你可能在文档中gfsbodoni.sty调用的 LaTeX 包。其他的是\usepackage{gfsbodoni}字体定义( .fd) 文件。名称的第一部分告诉您文件支持的编码:

  • lgr-> 激光雷达
  • ot1-> OT1
  • t1-> T1
  • u-> 未编码/原始 - 通常这是一种没有标准编码的符号字体。

因此我们可以看到 GFS Bodoni 的软件包支持希腊语以及 T1 和 OT1 编码支持的语言,并且可能还有一些特殊符号。

相反,我们发现tex/latex/tex-gyre/

il2qag.fd   l7xqbk.fd   ly1qcr.fd   ot1qcs.fd   ot4qhv.fd     qxqag.fd      t1qag.fd   t5qbk.fd        tgchorus.sty   ts1qhv.fd
il2qbk.fd   l7xqcr.fd   ly1qcs.fd   ot1qhv.fd   ot4qhvc.fd    qxqbk.fd      t1qbk.fd   t5qcr.fd        tgcursor.sty   ts1qhvc.fd
il2qcr.fd   l7xqcs.fd   ly1qhv.fd   ot1qhvc.fd  ot4qpl.fd     qxqcr.fd      t1qcr.fd   t5qcs.fd        tgheros.sty    ts1qpl.fd
il2qcs.fd   l7xqhv.fd   ly1qhvc.fd  ot1qpl.fd   ot4qtm.fd     qxqcs.fd      t1qcs.fd   t5qhv.fd        tgpagella.sty  ts1qtm.fd
il2qhv.fd   l7xqhvc.fd  ly1qpl.fd   ot1qtm.fd   ot4qzc.fd     qxqhv.fd      t1qhv.fd   t5qhvc.fd       tgschola.sty   ts1qzc.fd
il2qhvc.fd  l7xqpl.fd   ly1qtm.fd   ot1qzc.fd   qbookman.sty  qxqhvc.fd     t1qhvc.fd  t5qpl.fd        tgtermes.sty
il2qpl.fd   l7xqtm.fd   ly1qzc.fd   ot4qag.fd   qcourier.sty  qxqpl.fd      t1qpl.fd   t5qtm.fd        ts1qag.fd
il2qtm.fd   l7xqzc.fd   ot1qag.fd   ot4qbk.fd   qpalatin.sty  qxqtm.fd      t1qtm.fd   t5qzc.fd        ts1qbk.fd
il2qzc.fd   ly1qag.fd   ot1qbk.fd   ot4qcr.fd   qswiss.sty    qxqzc.fd      t1qzc.fd   tgadventor.sty  ts1qcr.fd
l7xqag.fd   ly1qbk.fd   ot1qcr.fd   ot4qcs.fd   qtimes.sty    qzapfcha.sty  t5qag.fd   tgbonum.sty     ts1qcs.fd

TeX Gyre Pagella 的相关字体定义文件如下:

  • il2qpl.fd-> 捷克语和斯洛伐克语??
  • l7xqpl.fd-> 立陶宛语
  • ly1qpl.fd-> 'texnansi' 编码(拉丁语,但与 T1 不同,有空闲位置,因此排除了该编码涵盖的一些字符)
  • ot1qpl.fd-> OT1
  • ot4qpl.fd-> 波兰语??
  • qxqpl.fd -> ‘GUST’ 编码 (拉丁文)
  • t1qpl.fd-> T1
  • t5qpl.fd-> 越南语
  • ts1qpl.fd->“文本伴侣”编码(计算机现代提供的文本符号,例如通过特殊命令访问的旧式数字、版权和商标符号、附加货币符号等)

如您所见,字体中存在希腊文字形并不表示支持希腊文这种语言,无论使用 type1 还是 opentype 字体。

当然,在很多情况下,软件包文档会比检查字体定义文件更快地回答有关覆盖率的问题。不过,并非所有字体都有文档记录或完整记录,因此了解如何通过检查软件包内容本身来确定这一点可能会有所帮助。

如果字形存在,您可以创建支持文件来使用它们。(autoinstTim S. 提到的方法就是这样一种方法,尽管我不知道它是否支持希腊语。)但是,在这种情况下,问题在于字体本身缺乏支持,而不是(仅仅)缺少适当的 LaTeX 支持包。

相关内容