Twenty-five years of Greek TEXing*
Ioannis Dimakos†and Dimitrios Filippou‡
30 November 2014
Abstract
The present article is an updated view of all available tools (fonts, systems
and more) for typesetting Greek texts with TEX/LATEX. Unlike the early
days of Greek TEX/LATEX, when the available tools were limited, users now
have an abundance of tools available to them. In addition, the emergence
of Unicode-aware systems such as XƎTEX and luaTEX has allowed for
a major breakthrough in the world of TEX: the use of OpenType and
system fonts (i.e., fonts used by the operating system of the computer)
for typesetting Greek texts.
1 Down history lane
In 1994, the second author of the present article wrote a summary of all tools
available at that time for typesetting Greek texts with TEX/LATEX. That document was posted in the newsgroup comp.text.tex, and was immediately
archived in CTAN [1]. A few months later, the same document found its way
in the newsletter of NTG, the Dutch LUG [2]. In the summer of 1996, the first
author wrote an updated summary of Greek TEX/LATEX tools [3]. Twenty years
later, it is high time we produced an updated summary and review of the current
TEX-like tools available to those who wish to typeset nice Greek documents.
Both reports followed the same format roughly and the presentation of tools
for Greek TEXing was divided into the following four sections:
fonts both freely available and commercial ones;
systems or packages containing Greek fonts, TEX macros for Greek output,
etc.;
help available at the time over the Internet to TEX users; and
* This
paper was also published in Eutypon, no. 32–33 (2014), pp. 25–34.
of Patras, Department of Primary Education, GR-265 04 Rio, Patras, Greece;
email: idimakos at upatras dot gr.
‡ Kato Gatzea, GR-373 00 Agria, Volos, Greece; email: dimitrios dot ap dot filippou
at gmail dot com.
† University
1
future predictions which called for a standardization of Greek TEX/LATEX
options including the New Font Selection System (NFSS), the introduction
of more fonts, and more.
Let us briefly remember what was available back then before we turn our attention to the future.
1.1 Fonts
Before the introduction of somehow comprehensive Greek TEX systems, fonts
were the first area where big and exciting changes took place. Naturally, the
first Greek fonts were created by the Master himself: Don Knuth. However,
his fonts were to be used in TEX’s math mode. At that time, some TEXies
prepared macros that allowed for typesetting Greek texts using Knuth’s math
fonts. Hamilton Kelly went one step further and made a set of Greek fonts by
bringing Knuth’s lowercase Greek math characters to the upright position [4].
The first fonts for Greek text typesetting by TEX those designed more than 25
years ago by Sylvio Levy with METAFONT [5]. Because of encoding limitations
and the lack of widespread Greek keyboard availability, Levy had to use a Latinto-Greek transliteration scheme, with some very obvious correspondances, e.g.,
a for , b for ), and some not so obvious ones, e.g., j for , q for , w for
(although w resembles somewhat visually). Users typed in Greeklish and it took
some time and a lot of practice to read Greeklish input files. Especially, users
who used accents, breathing marks or other signs and symbols for multiaccent
(polytonic) Ancient or Modern Greek produced an almost arcane file for input
and processing by TEX/LATEX.
The Levy fonts were drawn according to a historic Didot Greek font, but
following Computer Modern metrics. They became the basis of other Didotlike Greek fonts by Haralambous [6, 7], and by MacKay [8]. The latter had an
encoding suitable for input from the Thesaurus Linguæ Græcæ.
Some non-Didot Greek fonts were also created at that time using METAFONT. These included Malvern [9], a unique sans serif which can be still seen
on the cover of Eutypon, Euclid [10], a Times–Elsevier Greek font family never
released to the public, and lbf [11], which was based on a beautiful 18th century
Bodoni Greek design but was released only in 2005. Each of these fonts used
its own input Greeklish (Latin-to-Greek) scheme, which made the use of other
fonts in the same document very difficult, if not impossible.
1.2 Systems
Back then, when PCs were running on limited amounts of RAM, had floppy disk
drives, one processor (rather than multiple cores), and CPU speed was measured
in MHz (rather than GHz), typesetting a Greek text was almost a Herculean
Labour! The limitations of the ASCII encoding and the lack of Greek keyboards
outside Greece made it almost impossible to type directy in Greek and receive
Greek output. Users had to employ various transliteration coding schemes in
order to achieve their goals.
2
At that time, two separate and independent GreekTEX systems were made
available. Both systems had their positive as well as negative elements. Both
systems were introduced almost simultaenously, had almost the same name,
but were geared for different types of users and operating systems. Dryllerakis’
GreekTEX or kdgreek system [12] was a set of TEX macros and METAFONT
fonts created on a Unix platform and based on earlier work by Levy [5] and
Haralambous [6, 7]. Separately, Moschovakis produced a greektex system for PC
systems running with the Greek version of MS-DOS [13]. Moschovakis’ fonts were
also based on Levy’s original METAFONT work. Of course, these systems were
not equivalent as each had its own formatting macros and fonts. Moschovakis’
greektex had some tranferability issues between operating systems. Still, they
served well many TEX users for several years.
In perspective, TEXing in Greek depended primarily on the platform one
was using. You opted for one of the two available systems, loaded extra fonts, if
the in-system fonts were not of your liking, and you were ready to TEX keeping
in mind that the source code (your input files) might be unreadable by other
TEX users who were not using the same system like yourself.
1.3 Help needed
Back then, the places to look for help were limited. There were two main
USENET newsgroups, comp.text.tex and comp.fonts and some discussion
lists, such as the venerable BIT.LISTSERV.HELLAS (the major meeting point
of Greeks abroad) or the ELLHNIKA mailing list, which was set up specifically
for answering Greek TEX/LATEX questions, but had very little traffic.
1.4 Future as was seen back then
In both the Filippou [1, 2] and the Dimakos [3] reports, there were expectations
that the new LATEX scheme (at the time called LATEX 2ε ) would introduce the
NFSS, the ability to write in multiple languages using the babel mechanisms,
and other goodies. Dimakos [3] even reported that there was an initiative in
Greece to establish a local TEX users group. Who would have thought that so
many years later, the Greek LUG would still be alive!
That was roughly the world of Greek TEX/LATEX back in the mid 1990s. Although the entire TEX/LATEX ecosystem was not old or dated, some limitations
had started to show, primarily in the area of truly multilingual inputing and file
preparation. Mind you, some projects were already set up to explore the issue
and were indeed the forerunners of today’s system. One of these systems was
called Ω (Omega), the brain child of Haralambous and Plaice. (A version of Ω
was presented by its creators in one of the early issues of Eutypon [14].)
3
2 From the cb fonts to Unicode-aware machines
So, what has happened between 1996 and 2015? Well, the changes have been
phenomenal. One might even argue that TEX/LATEX has taken a new life with
the introduction of new machines, new encodings, and new Greek fonts, of
course. But, let us begin with the latter: the introduction of new font families,
which can all be found in the /fonts/greek directory of any CTAN node.
2.1 New fonts
CB fonts Following the early fonts by Levy and their derivatives included
in Dryllerakis’ and Moschovakis’ systems, the first truly “new” fonts were the
CB font family designed and implemented by Beccari [15–18]. These fonts were
originally written in METAFONT, and they included several variants—Leipziglike Greek italics, sans serifs, monospace (typewriter), small caps, etc.—in all
TEX/LATEX typical sizes. Samples of selected CB fonts are shown in Figure 1.
The CB fonts were quickly converted to Type1, and became the de facto
standard font family in the world of Greek TEXing. They were used for several
years in Eutypon, and they still are the default Greek fonts of babel. Later they
were also integrated into OpenType fonts of the Computer Modern Unicode
(CMU) bundle [19]. Syropoulos has also integrated some of Beccari’s CB fonts
into an OpenType monospace font family [20].
Kerkis This is another family of beautiful Greek font created by Tsolomytis [21].
The serif version is based on Bookman, while the accompanying sans serif font
is based on Avant Garde (Figure 1). In addition to Type1, Tsolomytis produced
versions of the fonts in TrueType and OpenType formats to be used beyond
TEX/LATEX [22].
Greek Font Society Perhaps the biggest contributor and a rather late entry
into the game has been the Greek Font Society (GFS). Since 2005, GFS offers
for free a large selection of Greek font families for both TEX/LATEX systems
and in OpenType form. On its website (http://www.greekfontsociety.gr),
interested users can find fonts like GFS Didot (a modern Didot-like variant),
GFS Porson, GFS Neohellenic, and more. Tsolomytis [23] has created Type1
versions of most of GFS fonts for use with babel (Figure 1).
Other options The CTAN directory available at http://www.ctan.org/tex-archive/
fonts/greek is the place to look for a few more fonts available in METAFONT or
Type1 formats. However, as will be seen later in this report, currently available
TEX machines have already made these fonts rather obsolete.
2.2 Working with the old encoding
As mentioned above, the old Latin-to-Greek transliteration scheme that Sylvio
Levy used with his fonts was subsequently adopted by Haralambous, Dryllerakis
4
CB Serif
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
CB Sans Serif
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
CB Typewriter
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
Kerkis
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
Kerkis Sans
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
GFS Didot
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
GFS Porson
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
GFS Neohellenic
῎Ανδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσε·
πολλῶν δ’ ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω.
Figure 1: Samples of selected Greek fonts available to TEX/LATEX users starting
from 1998. All these fonts exist in Type1 and Truetype/OpenType formats.
The verses from Homer’s Odyssey were typeset at 10 pt with 12 pt leading.
5
and Beccari in their respective fonts. Beccari’s character positioning in his Greek
fonts became the de facto “Local Greek” encoding, now known as LGR, and the
CB bundle became the basic font set of the greek option of babel.
Syropoulos was the maintainer of the greek option of babel for several years
(and he also contributed in code and fonts for other texts as well [24, 25]). Starting from earlier work by Haralambous and Beccari, Filippou created complete
sets of LGR-encoded hyphenation patterns for Ancient and Modern Greek [26, 27].
Since 2013, Milde [28] has taken over the maintenance of the greek option
of babel. So it is still possible to use LATEX with the LGR encoding. The obvious
advantage of this approach is backwards compatibility, i.e., one can still continue
using its old Greek TEX texts. However, as already said, writing Greeklish to
typeset multiaccent Greek texts (such as in Ancient Greek) makes the input
almost unreadable.
2.3 Typing Greek for Greek
2.3.1 The pre-Unicode way
In 1993, the inputenc package appeared to make life easier for those who wanted
to input directly accentuated Latin characters like á, ǎ, etc. without having
to type commands \'a, \v{a}, etc. Around 1998, Syropoulos created the
iso-8859-7 option of inputenc so as to allow for direct input of uniaccent (monotonic) Modern Greek. Of course, users had to employ also the babel package,
which loaded the necessary language hyphenation patterns and macros. Writing multilingual texts required switching from one language to the other using
commands such as
\selectlanguage{...}
Needless to say such an approach complicated the use of multilingual bibliography sections, indexing and other language-specific sections of a text. At
that time, it was still possible to go the DVI-to-PS and PS-to-PDF way of producing output, although the introduction of pdfTEX helped in making things
just a little bit faster.
All these changed when the UTF-8 (Unicode) encoding started surpassing
the ISO-8859-7 and other encodings as the “go-to” choice of LATEX users.
2.3.2 The Unicode way
The introduction of the Unicode encoding (UTF-8) allowed the typing of “foreign” characters beyond the 127 characters of the old ASCII, or the 256 characters of the extended ASCIIs (ISO-8859-7, etc.). Actually, there are two ways to
type Greek texts:
(i) using the combination of babel and inputenc with the utf8 or utf8x options, or
(ii) using a Unicode-aware machine such XƎTEX or luaTEX.
6
The new old way Milde [29, 30] has gone to great lengthts to provide UTF-8
support for the Greek script based on LATEX internal character representation
macros (LICR). These macros are contained in a file named lgrenc.dfu and
map all Greek characters onto a set of LATEX internal commands such as:
\DeclareUnicodeCharacter{03B1}{\textalpha} % lowerecase alpha
...
\DeclareUnicodeCharacter{1F00}{\accpsili\textalpha} % lowercase alpha + psili
...
A LATEX user does not have to bother with the LCIRs. All he/she has to do is
to include in his/her preamble the following lines:
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[greek,english]{babel}
The package inputenc, with the utf-8 option, is for the recognition of Unicode Greek input (in general of any UTF-8 encoded input). The package
fontspec, with the LGR and T1 options, ensures proper hyphenation and proper
Greek/Latin encoding of the output file (DVI, PS or PDF).
This approach is useful if one has a large library of old files to input although
some re-encoding and conversion may be required (e.g., the Greek question
mark ; is mapped onto the Greek semicolon .). The user is also limited to
METAFONT or Type1 Greek fonts, which are not so many.
The totally new way The introduction of Unicode-aware machines like
XƎTEX and luaTEX changed the game completely. Here was the opportunity to
truly type directly in Greek and in any other language with no need to switch
input encodings, or to set the language one way or another. Users can type
their texts in any language they want and the system will take care of all the
other details. Of course, it is necessary to declare the language and the font
families that will be used in the text to be produced. This adds extra flexibility
because it allows users to request multiple fonts and even specify specific fonts
for specific needs.
Also important is the fact that XƎTEX and luaTEX are able to access the
system fonts available to the user. So, users are not limited to the Greek Type1
fonts available via the CTAN, but can have access to all varieties of TrueType
or OpenType fonts there are.
Syropoulos was the first to create a small package called xgreek, with some
useful XƎLATEX macros for typesetting Greek texts with XƎLATEX [31]. The
package polyglossia followed as potential replacement of babel for typesetting
multilingual texts with XƎLATEX or luaLATEX [32]. Filippou’s Greek hyphenation
patterns were converted into Unicode encoding and they are included in all
standard TEX distributions—thus they can be used directly by XƎTEX or luaTEX.
7
2.4 Asking for help
Are there still newsgroups in operation? Is there a USENET anymore? In fact
USENET is still alive as “Google Groups,” but who needs all these relics when
the answer is just a few keystrokes away from the nearest available Google
screen?
Beyond Google, there are multiple sources of help available to the new or the
seasoned user. The dedicated site tex.stackexchange.com provides answers to
all kinds of TEX/LATEX questions. As always, questions and the answers they
get vary from the very simplistic to the overly esoteric. Still, it is an excellent
site to turn to for suggestions.
Another option is the CTAN itself. Now, the CTAN has its own web (http)
rather than ftp interface and allows for easier access to files, FAQs, documentation and so on.
Finally, there are now dozens of local and national TEX users’s groups which
have their own online presence. In our case, ∗ϵϕτ ∗, the Greek LUG publishes
a small journal called Eutypon and has a dedicated website available at www.
eutypon.gr. In addition, several books have become available documenting and
explaining in Greek TEX and its many derivatives.
3 The future
Looking back to so many years of progress, one can say that the entire TEX
ecosystem has evolved and has adapted to a multilingual world. Still, there is
work to be done, new fonts to be included, new hyphenation patterns to be added
for mixed LGR and Unicode input, etc. in order to make Greek typesetting an
even better experience.
References
[1] D. Filippou, “Typesetting Greek texts by TEX and LATEX; a summary of
all tools available.” Posted on comp.text.tex, Jan. 30, 1994. URL: http:
//www.ctan.org/info/greek/greek.faq.
[2] D. Filippou, “Typesetting Greek texts by TEX and LATEX.” MAPS, no. 12
(1994), pp. 93–96. URL: http://www.ntg.nl/maps/12/23.pdf.
[3] I. Dimakos, “It’s all GreekTEX to me: An updated summary of all available TEX and LATEX tools.” Aug. 28, 1996. URL: http://www.ctan.org/
tex-archive/info/greek/greekinf2.ltx.
[4] B. Hamilton Kelly, “kelly-greek-font – Simple fonts for Greek.” Sept.
14, 1988. URL: http://www.ctan.org/pkg/kelly-greek-font.
[5] S. Levy, “Using Greek fonts with TEX.” TUGboat, vol. 9 (1988), pp. 20–24.
URL: http://www.tug.org/TUGboat/tb09-1/tb20levy.pdf.
8
[6] Y. Haralambous and K. Thull, “Typesetting Modern Greek with 128 character codes.” TUGboat, vol. 10 (1989), pp. 354–359. URL: http://www.
tug.org/TUGboat/tb10-3/tb25hara-greek.pdf.
[7] Y. Haralambous, “On TEX and Greek….” TUGboat, vol. 12 (1991), pp.
224–226. URL: http://www.tug.org/TUGboat/tb12-2/tb32hara.pdf.
[8] P. MacKay and W. Schmidt, “ibycus-babel – Use the Ibycus 4 Greek
font with babel.” Ver. 4.5, Oct. 27, 2004. URL: http://www.ctan.org/
tex-archive/fonts/greek/ibygrk. (Note: The first version of Ibycus appeared in 1992.)
[9] P. Damian Cugley, “malvern – A sans-serif font family.” Version 1.2, Apr.
1993. URL: http://www.ctan.org/tex-archive/fonts/malvern.
[10] C. Mylonas and R. Whitney, “.” TUGboat, vol. 13 (1992), pp. 39–50. URL:
http://www.tug.org/TUGboat/tb13-1/tb34mylonas.pdf.
[11] L. Field, “lfb – A Greek font with normal and bold variants.” Version 1.0,
June 2005. URL: http://www.ctan.org/tex-archive/fonts/greek/lfb.
[12] K. J. Dryllerakis, “kdgreek – Greek fonts and macros.” Version 3.1, 1992.
URL: http://www.ctan.org/tex-archive/fonts/greek/kd.
[13] Y. Moschovakis and C. Sfyrakis, “greektex – Fonts for typesetting
Greek/English documents.” Oct. 2004. URL: http://www.ctan.org/pkg/
greektex. (Note: The first version of greektex appeared around 1993.)
[14] Y. Haralambous and J. Plaice, “Omega and Greek, or the aÿlos avlos.”
Eutypon, no. 2 (1999), pp. 1–15. URL: http://www.eutypon.gr/eutypon/
pdf/e1999-02/e02-a01.pdf. (In Greek.)
[15] C. Beccari, “cbgreek-complete – Complete set of Greek fonts.” Jan. 16,
2008. URL: http://www.ctan.org/pkg/cbgreek-complete. (Note: The
first version of the CB Greek fonts was released in 1997.)
[16] C. Beccari and A. Syropoulos, ‘New Greek fonts and the greek option
of the babel package.” TUGboat, vol. 19 (1998), pp. 419–425. URL: http:
//www.tug.org/TUGboat/tb19-4/tb61becc.pdf.
[17] C. Beccari, “The CB Greek fonts.” Eutypon, no. 21 (2008), pp. 1–13. URL:
http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf.
[18] C. Beccari, “The teubner LATEX package: Typesetting classical Greek philology.” TUGboat, vol. 23 (2002), pp. 276–282. URL: http://www.tug.org/
TUGboat/tb23-3-4/tb75beccteub.pdf.
[19] A. Panov and N. Lečić, “cm-unicode – Computer Modern Unicode font
family.” Version 0.7.0, Jun. 18, 2009. URL: http://www.ctan.org/pkg/
cm-unicode.
9
[20] A. Syropoulos, “umtypewriter – Fonts to typeset with the xgreek package.” Version 001.002, July 22, 2009. URL: http://www.ctan.org/pkg/
umtypewriter.
[21] A. Tsolomytis, “The Kerkis font family.” TUGboat, vol. 23 (2002), pp.
296–301. URL: http://www.tug.org/TUGboat/tb23-3-4/tb75tsol.pdf.
[22] A. Tsolomytis, “The Kerkis font family.” Version 2.0, Jan. 2003. URL: http:
//iris.math.aegean.gr/kerkis/.
[23] A. Tsolomytis, “Laboratory of Computational Mathematics, Mathematical
Software and Digital Typography.” URL: http://myria.math.aegean.gr/
labs/dt/fonts-en.html.
[24] A. Syropoulos, “Replicating archaic documents: A typographic challenge.” TUGboat, vol. 24 (2003), pp. 319–322. URL: http://www.tug.org/
TUGboat/tb24-3/syropoulos.pdf.
[25] A. Syropoulos, “LATEX as a tool for the typographic reproduction of ancient
texts.” TUGboat, vol. 27 (2006), pp. 181–186. URL: http://www.tug.org/
TUGboat/tb27-2/tb87syropoulos.pdf.
[26] D. Filippou, “elhyphen – Hyphenation for Greek text.” Version 5, July 28,
2008. URL: http://www.ctan.org/pkg/elhyphen. (Note: The first version of Filippou’s Greek hyphenation patterns appeared around 2000.)
[27] D. Filippou, “Hyphenation patterns for Ancient Greek and Modern
Greek.” In TEX, XML, and Digital Typography, edited by A. Syropoulos,
K. Berry, Y. Haralambous, B. Hughes, S. Peter and J. Plaice, pp. 59–67.
Springer–Verlag, Berlin, Heidelberg 2004.
[28] G. Milde, “babel-greek – babel support for documents written in
Greek.” Version 1.9b, Sept. 18, 2014. URL: http://www.ctan.org/pkg/
babel-greek.
[29] G. Milde, “greek-inputenc – Greek encoding support for inputenc.” Version 1.5, Sept. 14, 2014. URL: http://www.ctan.org/pkg/
greek-inputenc.
[30] G. Milde, “greek-fontenc – LICR macros and encoding definition files for
Greek.” Version 0.11.2, Sept. 4, 2014. URL: http://www.ctan.org/pkg/
greek-fontenc.
[31] A. Syropoulos, “xgreek – XƎLATEX package for typesetting Greek language
documents (beta release).” Version 2.6, July 9, 2013. URL: http://www.
ctan.org/pkg/xgreek.
[32] F. Charette and A. Reutenauer, “polyglossia – Modern multilingual typesetting with XƎLATEX.” Version 1.33.5, May 21, 2014. URL: http://www.
ctan.org/pkg/polyglossia.
All URL links were accessed and verified on Oct. 10, 2014.
10