12

I am using XeLaTeX with the fontspec package for Polytonic Greek character support (Unicode solutions only, no hacks). The default font doesn't display most of the desired characters, but I like the default font for all of the Latin characters. What are some fonts that support the full range of Polytonic Greek characters (with diacritics) but also look similar to the default font? The only font I know of that supports all the characters is DejaVu Serif, which I don't like the look of at all.

I am also open to a solution that will automatically render Greek characters in an alternate font but let me use the standard font for all Latin characters. I'd be happy to do something like \greek{Βίβλος γενέσεως Ἰησοῦ Χριστοῦ υἱοῦ Δαυὶδ υἱοῦ Ἀβραάμ.} as well if that puts it into a different font that works (but please suggest fonts or help me find a list).

Dan
  • 969
  • 3
  • 9
  • 23
  • I don't know, but maybe PT Serif has those glyphs. Gentium Pro should have them for sure, it covers all of Unicode AFAIK. Just don't mix it with another serif font. – You Aug 07 '13 at 22:07
  • 1
    Old Standard, EB Garamond, Junicode and the GFS font have support for polytonic Greek. – egreg Aug 07 '13 at 22:11
  • 1
    Polytonic Greek is quite a bit of work to support; there probably aren't many free fonts that support it. Adobe has quite a few Greek fonts, the ones marked 'Pro' are more likely to have polytonic. This blog post also has some good fonts, and the comments section may be helpful. – ChrisS Aug 07 '13 at 22:19

3 Answers3

18

The following fonts are all in TeX Live 2013:

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}


\newcommand\test[1]{%
  #1\\{\fontspec{#1}Βίβλος γενέσεως Ἰησοῦ Χριστοῦ υἱοῦ Δαυὶδ υἱοῦ Ἀβραάμ.}
  \par\medskip}

\setlength{\parindent}{0pt}

\begin{document}

\test{CMU Serif}
\test{EB Garamond}
\test{GFS Artemisia}
\test{GFS Baskerville}
\test{GFS Bodoni}
\test{GFS Complutum}
\test{GFS Didot}
\test{GFS Olga}
\test{GFS Porson}
\test{GFS Solomos}
\test{Junicode}
\test{Linux Libertine O}
\test{Old Standard}
\end{document}

enter image description here

egreg
  • 1,121,712
  • Thanks for the visual examples! +1 However, some of these fonts only support Greek, which means my Latin characters are not rendered. – Dan Aug 07 '13 at 22:41
  • These fonts don't work on my Mac, and I am using the latest version of MacTeX. I thought that it included everything from TeXLive 2013? – Dan Aug 08 '13 at 01:45
  • Yes, MacTeX 2013 includes everything from TeX Live 2013, and the fonts tested in @egreg's example can be loaded by fontspec from the TeX Live distribution's directories. Those font families can also be used by loading their specific package, for example \usepackage{ebgaramond}. – Christian Gagné Aug 08 '13 at 02:31
  • Actually, I just tried to compile @egreg’s example on my Mac with MacTeX 2013, and I see that only those fonts that I have explicitly installed myself in my user Library can be accessed by fontspec. If you have not installed them with the Font Book, you can use them via their package. – Christian Gagné Aug 08 '13 at 02:48
  • @ChristianGagné this is also my problem. Can you help me learn how to install them? All the examples I find via Google are outdated for old versions – Dan Aug 08 '13 at 03:38
  • 1
    @Dan I do a very simple thing: I copy all fonts in /usr/local/texlive/2013/texmf-dist/fonts/opentype in my /Library/Fonts directory, so that I can call the fonts by name rather than by file name. – egreg Aug 08 '13 at 08:53
  • Great to know! I’ll do that, too. I had installed a couple of them (Eb Garamond, Junicode) by going to the corresponding project’s website and downloading the latest version, which I then installed with Font Book. However, now I’ll do the same as @egreg and copy all of the fonts in my Library directory (I will first uninstall the versions I had installed myself, but anyways Font Book takes care of duplicates). – Christian Gagné Aug 08 '13 at 14:09
  • 1
    Note that the command \fontspec is used here only by way of example; the chosen font should be defined with \setmainfont or \newfontfamily. – egreg Oct 05 '14 at 11:21
  • @Dan: You can specify which is to be used when. For example, in a Latin document (\setmainfont{Helvetica} for example) you can mark Greek text with a special command (for example, \Greek{Βίβλος}); add this to your preamble: \newcommand{\Greek}[1]{{\fontspec[Script=Greek]{GFS Didot}#1}}. – Júda Ronén Jan 07 '15 at 11:58
  • @JúdaRonén Surely not like this. ;-) Look at the documentation of Polyglossia. – egreg Jan 07 '15 at 12:00
  • @egreg: Yeah, I should really start using Polyglossia… (my MA thesis contains Hebrew, Latin, Coptic, Greek and Arabic text…) – Júda Ronén Jan 07 '15 at 12:34
5

Gentium Plus has support for the glyphs you're asking about (in fact, all Unicode glyphs IIRC):

\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Gentium Plus}

\begin{document}
Βίβλος γενέσεως Ἰησοῦ Χριστοῦ υἱοῦ Δαυὶδ υἱοῦ Ἀβραάμ.
\end{document}

Result of example

You
  • 6,713
  • 2
  • 29
  • 27
2

The "default" font for greek in the old LaTeX era was cbgreek, which was a rather good match for the latin Computer Modern fonts. It seems that the package cm-unicode has produced an otf version of "Computer Modern" which comprises the characters from cbgreek in a form usable by modern engines such as XeLaTeX. I haven't tried it to see how it works, though.

nplatis
  • 2,090