GFS 字体行为不一致

GFS 字体行为不一致

我的目的是用 pdflatex(而不是 xelatex)来显示一些希腊文本,我不明白 GFS 字体的不连贯行为。请考虑这个例子

\documentclass[a4paper]{article}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polutonikogreek,english]{babel}
\usepackage{ebgaramond}

\newcommand{\GR}[1]{%
  {\fontfamily{artemisia}\selectfont\foreignlanguage{greek}{#1}}%
}

\newcommand{\GRE}[1]{%
  {\fontfamily{bodoni}\selectfont\foreignlanguage{greek}{#1}}%
}

\newcommand{\GREE}[1]{%
  {\fontfamily{neohellenic}\selectfont\foreignlanguage{greek}{#1}}%
}

\newcommand{\GREEK}[1]{%
  {\fontfamily{didot}\selectfont\foreignlanguage{greek}{#1}}%
}

\begin{document}
That time of year you mayst in me behold

\GR{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

\GRE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

\GREE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

\GREEK{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

That time of year you mayst in me behold
\end{document}

前三种字体按预期工作正常,但最后一种字体却不行。事实上,我收到了:

(/usr/local/texlive/2014/texmf-dist/tex/latex/cbfonts-fd/lgrcmr.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/ts1cmr.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/ebgaramond/T1EBGaramond-OsF.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsartemisia/t1artemisia.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsartemisia/lgrartemisia.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsbodoni/t1bodoni.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsbodoni/lgrbodoni.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsneohellenic/t1neohellenic.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/gfsneohellenic/lgrneohellenic.fd)

LaTeX Font Warning: Font shape `T1/didot/m/n' undefined
(Font)              using `T1/cmr/m/n' instead on input line 44.


LaTeX Font Warning: Font shape `LGR/didot/m/n' undefined
(Font)              using `LGR/cmr/m/n' instead on input line 44.

[1{/usr/local/texlive/2014/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./prova.aux)

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

 ){/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/gfsneohellenic/neohelleni
cel.enc}{/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/gfsbodoni/bodoniel.
enc}{/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/gfsartemisia/artemisiae
l.enc}{/usr/local/texlive/2014/texmf-dist/fonts/enc/dvips/ebgaramond/ebgm_iymie
h.enc}</usr/local/texlive/2014/texmf-dist/fonts/type1/public/ebgaramond/EBGaram
ond12-Regular.pfb></usr/local/texlive/2014/texmf-dist/fonts/type1/public/gfsart
emisia/GFSArtemisia-Regular.pfb></usr/local/texlive/2014/texmf-dist/fonts/type1
/public/gfsbodoni/GFSBodoni-Regular.pfb></usr/local/texlive/2014/texmf-dist/fon
ts/type1/public/gfsneohellenic/GFSNeohellenic-Regular.pfb></usr/local/texlive/2
014/texmf-dist/fonts/type1/public/cbfonts/grmn1000.pfb>

为什么 didot 无法编译?此外,我不确定是否必须加载LGR。谢谢

===================附录===================

读取相对 .fd 文件后,我发现真实名称是udidot。这似乎解决了!但是,与 EB Garamond 相比,该字体太大了;所以我需要像 xelatex 这样的工具Scale=MatchLowercase,或者无论如何,需要一种缩放希腊字体的方法

答案1

由于某种原因,文件.fd对缩放因子进行了硬编码。因此字体被缩放到1.04。您可以使用自己的定义来解决这个问题:

\documentclass[a4paper]{article}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polutonikogreek,english]{babel}
\usepackage{ebgaramond}

\newcommand{\GR}[1]{%
  {\fontfamily{artemisia}\selectfont\foreignlanguage{greek}{#1}}%
}

\newcommand{\GRE}[1]{%
  {\fontfamily{bodoni}\selectfont\foreignlanguage{greek}{#1}}%
}

\newcommand{\GREE}[1]{%
  {\fontfamily{neohellenic}\selectfont\foreignlanguage{greek}{#1}}%
}

\edef\scaleudidot{s*[.5]}% gives tiny text just to make the effect obvious: increase this to something reasonable (1.04 is default; 1 would be unscaled)
\DeclareFontFamily{LGR}{udidot}{}
\DeclareFontShape{LGR}{udidot}{m}{n}{<-> \scaleudidot gdidotrg6a}{}
\DeclareFontShape{LGR}{udidot}{m}{it}{<-> \scaleudidot golgai6a}{}
\DeclareFontShape{LGR}{udidot}{b}{n}{<-> \scaleudidot gdidotb6a}{}
\DeclareFontShape{LGR}{udidot}{b}{it}{<-> \scaleudidot gdidotbi6a}{}
\DeclareFontShape{LGR}{udidot}{m}{sl}{<-> \scaleudidot gdidoti6a}{}
\DeclareFontShape{LGR}{udidot}{b}{sl}{<-> \scaleudidot gdidotbi6a}{}
\DeclareFontShape{LGR}{udidot}{m}{sc}{<-> \scaleudidot gdidotsc6a}{}
\DeclareFontShape{LGR}{udidot}{m}{ui}{<-> \scaleudidot golgaui6a}{}
\DeclareFontShape{LGR}{udidot}{m}{sco}{<-> \scaleudidot gdidotsco6a}{}
\DeclareFontShape{LGR}{udidot}{bx}{n}{<-> \scaleudidot gdidotb6a}{}
\DeclareFontShape{LGR}{udidot}{bx}{it}{<-> \scaleudidot gdidotbi6a}{}
\DeclareFontShape{LGR}{udidot}{bx}{sl}{<-> \scaleudidot gdidotbi6a}{}


\newcommand{\GREEK}[1]{%
  {\fontfamily{udidot}\selectfont\foreignlanguage{greek}{#1}}%
}

\begin{document}
That time of year you mayst in me behold

\GR{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

\GRE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

\GREE{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

\GREEK{Th| p'anta dido'ush|
ka`i >apolambano'ush| f'usei
<o pepaideum'enos ka`i
a>id'hmwn l'egei;}

That time of year you mayst in me behold
\end{document}

会给荒谬

小迪多

.5根据自己的需要更改成更合理的东西。

相关内容