greek-fontenc

Greek font encoding definition files

Author
Günter Milde
Date
2013-07-19
Licence

This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or any later version.

Abstract

The fontenc standard package supports TeX font encodings via encoding definition files. The mechanism is explained in [fntguide], section 5. This package provides encoding definition files for Greek text font encodings for use with fontenc and 8-bit TeX engines. Currently, only LGR is supported.

Note

The LICR macro names for Greek symbols are chosen pending endorsement by the TeX community and related packages.

Names for archaic characters, accents/diacritics, and punctuation may change in future versions.

News

2013-07-03

0.9

greek-fontenc.def “outsourced” from lgrxenc.def

 

experimental files xunicode-greek.sty and greek-euenc.def: LICRs for XeTeX/LuaTeX.

2013-07-18

0.9.1

bugfix: wrong breathings psilioxia -> dasiaoxia.

2013-07-19

0.9.2

bugfix: Disable composite defs starting with char macro,

 

fix “hiatus” handling.

2013-07-24

0.9.3

fix “input” path in xunicode-greek and greek-euenc.def.

Files

greek-fontenc.def

Common Greek font encoding definitions.

lgrenc.def

font encoding definitions for LGR.

The literate source was converted with PyLit to reStructuredText and with Docutils to the documentation LGR Greek font encoding definitions.

This file is the successor of the basic LGR encoding definition file which comes with babel’s Greek support and lgrxenc.def from the lgrx bundle.

lgrenc-test.pdf

test example, source lgrenc-test.tex,

greekhyperref.pdf

Greek script in PDF metadata, source greekhyperref.tex

The package hyperref defines the PU font encoding which also supports (monotonic) Greek.

Experimental files that are still in development and will eventually be moved to/merged with other packages or removed in future versions:

xunicode-greek.sty

xunicode extension for Greek

test-xunicode.tex

Example for use of the experimental Greek LICR definitions with XeTeX.

greek-euenc.def

Greek LICR definitions for XeTeX and LuaTeX

test-euenc.tex

Example for use of the experimental Greek LICR definitions with XeTeX.

lgr2licr.lua

LGR Transcription to Greek LICR transformation

Installation

If possible, get this package from your distribution using its installation manager.

Otherwise, make sure LaTeX can find the files lgrenc.def, greek-fontenc.def and eventually xunicode-greek.sty and greek-euenc.def:

Usage

Pass the encoding name as option to fontenc. For example, specify T1 (Latin) as default font encoding and LGR for Greek with

\usepackage[LGR,T1]{fontenc}

See [fntguide] for details and lgrenc-test.tex for an example.

For XeTeX/LuaTeX, you can specify the EU1/EU2 encoding and load the experimental xunicode-greek:

\usepackage[EU1]{fontenc} % XeTeX
% \usepackage[EU2]{fontenc} % LuaTeX
\usepackage{xunicode-greek}

or greek-euenc.def:

\usepackage[EU1]{fontenc} % XeTeX
% \usepackage[EU2]{fontenc} % LuaTeX
\makeatletter
\input{greek-euenc.def}
\makeatother

However, XeTeX/LuaTeX usage details are likely to change in the future!!!

Greek text font encodings

Greek TeX font encodings are the envisaged T7, LGR, and LGI. Greek letters and symbols are also defined in the Unicode-based font encodings EU1 (XeTeX), EU2 (LuaTeX) and PU (hyperref).

T7

The [encguide] reserves the name T7 for a Greek standard font encoding. However, up to now, there is no agreement on an implementation because the restrictions for general text encodings are too severe for typesetting polytonic Greek.

LGR

The LGR font encoding is the de-facto standard for typesetting Greek with (8-bit) LaTeX. Fonts in this encoding include the CB fonts (matching CM), grtimes (Greek Times), Kerkis (matching URW Bookman), and the GFS font collection. Setup of these fonts as Greek variant to matching Latin fonts is facilitated by the substitutefont package.

The LGR font encoding allows to access Greek characters via an ASCII transliteration. This enables simple input with a Latin keyboard. Characters with diacritics can be selected by ligature definitions in the font (see [greek-usage], [teubner-doc], [cbfonts]).

A major drawback of the transliteration is, that you cannot access Latin letters if LGR is the active font encoding (e.g. in documents or parts of documents given the Babel language greek or polutionikogreek). This means that for every Latin-written word or acronym an explicit language-switch is required. This problem can only be solved via a font-encoding comprising Latin and Greek like the envisaged T7 or Unicode (with XeTeX or LuaTeX).

LGI

The ‘Ibycus’ fonts from the package ibygrk implement an alternative transliteration scheme (also explained in [babel-patch]). It is currently not supported by greek-fontenc.

The font encoding file lgienc.def from ibycus-babel provides a basic setup (without any LICR macros or composite definitions).

Greek LICR macro names

This package provides LaTeX internal character representations (LICR macros) for Greek letters and diacritics. Macro names were selected based on the following considerations:

The fntguide (section 6.4 Naming conventions) recommends:

Where possible, text symbols should be named as \text followed by the Adobe glyph name: for example \textonequarter or \textsterling. Similarly, math symbols should be named as \math followed by the glyph name, for example \mathonequarter or \mathsterling.

The Adobe Glyph List For New Fonts has names for many glyphs in the Greek and Coptic Unicode block, but not for Greek extended. The Adobe Glyph List (for existing fonts) lists additional glyph names used in older fonts. As these are not intened for further active use, the latter are not considered in the name choice.

Proposals

  • If there exists a math-mode macro for a symbol, form the corresponding text macro by prepending text?

    Example:

    The glyph name for the GREEK SMALL LETTER FINAL SIGMA is sigma1, the corresponding math-macro is \varsigma. The text symbol could be made available as \textvarsigma.

    Problems:

    \varepsilon and \varphi math macros map to characters named “GREEK SMALL LETTER …”, while \\vartheta, \\varkappa, \\varrho, and \\varpi math macros map to “GREEK … SYMBOL” Unicode characters.

    In Greek text, these variants are interchangeable. The LGR font encoding does not contain slots for “symbol” glyph variants. In some Greek fonts, GREEK SMALL LETTERS use glyph variants resembling the corresponding GREEK SYMBOL Unicode character’s reference glyph.

  • Derive macro names from Unicode names?

    The Unicode names list provides standardized descriptive names for all Unicode characters that use only capital letters of the Latin alphabet. While not suited for direct use in a LICR macros, they can be either

    1. used as inspiration for new LICR macro names or

    2. converted to LICR macro names via a defined set of transformation rules.

    Example:

    \textfinalsigma or just \finalsigma as a more descriptive name for GREEK SMALL LETTER FINAL SIGMA derived via the rules:

    • drop “LETTER” if the name remains unique,

    • drop “GREEK” if the name remains unique,

    • use capitalized name for capital letters, lowercase for “SMALL” letters and drop “SMALL”,

    • concatenate

  • Omit the “text” prefix for macros that do not have a math counterpart?

    Pro:
    • Simpler,

    • ease of use (less typing, better readability of source text),

    • many established text macro names without “text”,

    • there are examples of encoding-specific macros without the text-prefix, especially for letters,

      T1

      \AE \DH \DJ \L \NG \OE \O \SS \TH \ae \dh \dj \guillemotleft \guillemotright \guilsinglleft \guilsinglright \i \j \l \ng \oe \o \quotedblbase \quotesinglbase \ss \th (also in OT1)

      T2*

      \CYR* and \cyr*

      HE8

      \heb* or no prefix

      PU

      short descriptive names in the arabic part (puarenc.def)

    • text prefix does not mark a macro as encoding-specific or “inserting a glyph”. There are e.g. font-changing macros (\textbf, \textit) and encoding-changing macros (\textgreek, \textcyr).

    Contra:
    • Less consistent.

    • text prefix marks a macro as confined to text mode.

    Conclusion:

    To avoid name clashes, this package uses the text prefix for symbols. Aliases (short forms, compatibility defs, etc.) can be defined in packages.

How to name accent macros?

  • standard accent macros (\DeclareTextAccent definitions in latex/base/...) are one-symbol macros (\' \" ... \u \v ...) .

  • tipa.sty, xunicode, and ucs use the “text” prefix also for accents.

    However, the Adobe Glyph List For New Fonts maps, e.g., “tonos” and “dieresistonos” to 0384 GREEK TONOS and 0385 GREEK DIALYTIKA TONOS, hence texttonos and textdiaresistonos should be spacing characters.

  • textcomp (ts1enc.def) defines \capital... accents (i.e. without text prefix).

  • Use a common prefix \textaccent..., \accent..., or just \acc... (cf \@tabacckludge)?

Currently, greek-fontenc uses for diacritics:

  • Greek names like in Unicode, and ucsencs.def

  • The prefix “acc” to distinguish the macros as TextAaccent and reduce the risc of name clashes.

  • For the end-user “symbol macros” (\~ \' \` \" \< \>) are provided.

References

An alternative, more complete set of short mnemonic character names is the XML Entity Definitions for Characters W3C Recommendation from 01 April 2010.

For glyph names of the LGR encoding see e.g. CB.enc by Apostolos Syropoulos and xl-lgr.enc from the libertine (legacy) package. lgr.cmap provides a mapping to Unicode characters.

A full set of \text* symbol macros is defined in ucsencs.def from the ucs package.

Aliases from puenc.def ensure that the hyperref package can convert Greek text in “LICR encoding” to a PDF-string (utf-8 encoded input is used as-is).

[fntguide]

LaTeX3 Project Team, LaTeX2ε font selection, 2005. http://mirror.ctan.org/macros/latex/doc/fntguide.pdf

[encguide]

Frank Mittelbach, Robin Fairbairns, Werner Lemberg, LaTeX3 Project Team, LaTeX font encodings, 2006. http://mirror.ctan.org/macros/latex/doc/encguide.pdf

[greek-usage]

Apostolos Syropoulos, Writing Greek with the greek option of the babel package, 1997. http://www.tug.org/texlive/Contents/live/texmf-dist/doc/generic/babel/greek-usage.pdf

[cbfonts]

Claudio Beccari, The CB Greek fonts, Εὔτυπον, τεῦχος № 21, 2008. http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf

[teubner-doc]

Claudio Beccari, teubner.sty An extension to the greek option of the babel package, 2011. http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf

[babel-patch]

Werner Lemberg, Unicode support for the Greek LGR encoding Εὔτυπον, τεῦχος № 20, 2008. http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf