summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-17 23:10:18 +0000
committerKarl Berry <karl@freefriends.org>2013-05-17 23:10:18 +0000
commitd553751babb6687080e5be4a59c1251b50769fba (patch)
treea1c28fa109cc5aa7743d1e281dfaf1d3ea592326 /Master/texmf-dist/tex
parent250b068031be5ecb27196d8b9b41e762f53e3c56 (diff)
greek-fontenc, with new lgrenc.def
git-svn-id: svn://tug.org/texlive/trunk@30541 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def1203
1 files changed, 1203 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
new file mode 100644
index 00000000000..ea3a0482750
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
@@ -0,0 +1,1203 @@
+% lgrenc.def
+% ***********
+%
+% LGR Greek font encoding definitions
+% ===================================
+%
+% :Copyright: © 2010 Günter Milde
+% :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 LGR font encoding is the de-facto standard for Greek
+% typesetting with LaTeX. This file provides a comprehensive set
+% of macros to typeset Greek with LGR encoded fonts. It works for
+% both, monotonic and polytonic Greek, independent of the `babel`
+% package.
+%
+% .. contents::
+%
+%
+% Changelog
+% ---------
+%
+% .. class:: borderless
+%
+% Development of this file started under the name "lgrxenc.def" as part of the
+% lgrx_ bundle. With version 0.8, it moved to ``greek-fontenc/lgrx.def``.
+%
+% ===== ============ ====================================================
+% 0.1 2010-03-31 initial attempt
+% 0.2 2010-04-20 diacritics dropped in UPPERCASE
+% 0.3 2010-06-08 handle Titlecase and UPPERCASE extending
+% ``\@uclclist``
+% 0.4 2010-06-15 more text symbols
+% 0.5 2010-08-27 support ``\textalpha`` ... ``\textOmega``
+% 0.5.1 2012-05-08 upload to CTAN
+% 0.6 2012-06-29 ``\TextGreek`` wrapper command,
+% aliases for ``puenc.def`` compatibility
+% 0.6.1 2013-02-12 ``\@uclclist`` entries for `PU` aliases
+% 0.7 2013-05-13 documentation update, new accent macros names,
+% ``\TextGreek`` renamed to ``\ensuregreek``.
+% 0.8 2013-05-13 rename to lgrenc.def (superseding the babel_ version),
+% move to greek-fontenc,
+% drop back-compatibility definitions
+% ===== ============ ====================================================
+%
+% Usage
+% -----
+%
+% Load this file by calling fontenc_ with the ``LGR`` option
+% or indirectly via the babel_, textalpha_ or alphabeta_ packages.
+%
+% Example:
+% Select font encodings `T1` (as default) and `LGR` (for Greek):
+%
+% ``\usepackage[LGR,T1]{fontenc}``
+%
+% preliminary considerations: LICR macro names
+% --------------------------------------------
+%
+% This file provides LaTeX internal character representations (LICR macros)
+% for all non-ASCII characters present in the LGR font encoding. For Greek
+% letters and diacritics, LICR 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.
+%
+% 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
+%
+% a) used as inspiration for new LICR macro names or
+%
+% b) 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.
+%
+%
+% How to name *accent macros*?
+% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+%
+% * standard accent macros (``\DeclareTextAccent`` definitions in
+% ``latex/base/...``) are one-symbol macros (``\' \" ... \u \v ...``) .
+%
+% * tipa.sty 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 denote these spacing
+% characters.
+%
+% * textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without
+% ``text`` prefix).
+%
+% * Use a common prefix ``\accent...`` or postfix ``\...accent``,
+% or short ``\acc...``?
+%
+% Currently, `lgrx` 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 (cf ``\@tabacckludge``).
+%
+% - 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 symbols to a PDF-string.
+%
+%
+% Implementation
+% --------------
+%
+% Read this file only once
+% ~~~~~~~~~~~~~~~~~~~~~~~~
+% .. note:: The use of ``\@ifundefined`` has the side-effect that the tested
+% macro becomes defined and set to ``\relax`` (polluting the namespace and
+% interfering with test via eTeX's ``\ifdefined``). However, in this case
+% no harm is done as the macro is defined by the identification_ below
+% anyway.
+%
+% ::
+
+\@ifundefined{ver@lgrenc.def}
+ {}
+ {\message{LGR font encoding definitions already loaded}
+ \expandafter\endinput % "return"
+ }
+
+
+% Identification
+% ~~~~~~~~~~~~~~
+% ::
+
+\ProvidesFile{lgrenc.def}
+[2013/05/13 v0.8 LGR Greek font encoding definitions]
+
+% You can test the version date using
+%
+% .. code:: latex
+%
+% \@ifl@ter {extension}{filename}{date}{YES}{NO}
+%
+% or using ltxcmds_' ``\@iffilelater``
+%
+% Base setup
+% ~~~~~~~~~~
+%
+% Declare the font encoding and base substitutions::
+
+\DeclareFontEncoding{LGR}{}{}
+\DeclareFontSubstitution{LGR}{cmr}{m}{n}
+\DeclareErrorFont{LGR}{cmr}{m}{n}{10}
+
+% The ``\ensuregreek`` command can be used to ensure that its argument is set
+% in a font encoding with support for Greek. If the font encoding is already
+% LGR, kerning between adjacent command calls (e.g.
+% ``\ensuregreek{A}\ensuregreek{\Upsilon}``) is preserved. This allows
+% wrapping of compound Unicode character definitions. ::
+
+\DeclareTextCommand{\ensuregreek}{LGR}[1]{#1}
+
+
+% Text symbols
+% ~~~~~~~~~~~~
+%
+% Greek Alphabet
+% """"""""""""""
+%
+% Greek letters are accessible by the Latin transcription, but the mapping is
+% specific to the LGR font encoding.
+%
+% The LICR macros provide a way to access the symbols independent of the
+% specific font encoding, in any font encoding supporting Greek. An
+% alternative Greek font encodings is. LGI (ibycus_). Greek script is also
+% supported by the Unicode-based font encodings PU (`PDF Unicode` used by
+% hyperref_ for PDF metadata), EU1 (XeTeX) and EU2 (LuaTeX). The textalpha_
+% package makes these macros available independent of the current font
+% encoding.
+% ::
+
+\DeclareTextSymbol{\textAlpha}{LGR}{65}
+\DeclareTextSymbol{\textBeta}{LGR}{66}
+\DeclareTextSymbol{\textGamma}{LGR}{71}
+\DeclareTextSymbol{\textDelta}{LGR}{68}
+\DeclareTextSymbol{\textEpsilon}{LGR}{69}
+\DeclareTextSymbol{\textZeta}{LGR}{90}
+\DeclareTextSymbol{\textEta}{LGR}{72}
+\DeclareTextSymbol{\textTheta}{LGR}{74}
+\DeclareTextSymbol{\textIota}{LGR}{73}
+\DeclareTextSymbol{\textKappa}{LGR}{75}
+\DeclareTextSymbol{\textLambda}{LGR}{76}
+\DeclareTextSymbol{\textMu}{LGR}{77}
+\DeclareTextSymbol{\textNu}{LGR}{78}
+\DeclareTextSymbol{\textXi}{LGR}{88}
+\DeclareTextSymbol{\textOmicron}{LGR}{79}
+\DeclareTextSymbol{\textPi}{LGR}{80}
+\DeclareTextSymbol{\textRho}{LGR}{82}
+\DeclareTextSymbol{\textSigma}{LGR}{83}
+\DeclareTextSymbol{\textTau}{LGR}{84}
+\DeclareTextSymbol{\textUpsilon}{LGR}{85}
+\DeclareTextSymbol{\textPhi}{LGR}{70}
+\DeclareTextSymbol{\textChi}{LGR}{81}
+\DeclareTextSymbol{\textPsi}{LGR}{89}
+\DeclareTextSymbol{\textOmega}{LGR}{87}
+%
+\DeclareTextSymbol{\textalpha}{LGR}{97}
+\DeclareTextSymbol{\textbeta}{LGR}{98}
+\DeclareTextSymbol{\textgamma}{LGR}{103}
+\DeclareTextSymbol{\textdelta}{LGR}{100}
+\DeclareTextSymbol{\textepsilon}{LGR}{101}
+\DeclareTextSymbol{\textzeta}{LGR}{122}
+\DeclareTextSymbol{\texteta}{LGR}{104}
+\DeclareTextSymbol{\texttheta}{LGR}{106}
+\DeclareTextSymbol{\textiota}{LGR}{105}
+\DeclareTextSymbol{\textkappa}{LGR}{107}
+\DeclareTextSymbol{\textlambda}{LGR}{108}
+\DeclareTextSymbol{\textmu}{LGR}{109}
+\DeclareTextSymbol{\textnu}{LGR}{110}
+\DeclareTextSymbol{\textxi}{LGR}{120}
+\DeclareTextSymbol{\textomicron}{LGR}{111}
+\DeclareTextSymbol{\textpi}{LGR}{112}
+\DeclareTextSymbol{\textrho}{LGR}{114}
+\DeclareTextCommand{\textsigma}{LGR}{s\noboundary} % σ
+\DeclareTextSymbol{\textvarsigma}{LGR}{99} % ς final sigma
+\DeclareTextSymbol{\textfinalsigma}{LGR}{99} % ς final sigma
+\DeclareTextSymbol{\textautosigma}{LGR}{115} % σ (ς at end of word)
+\DeclareTextSymbol{\texttau}{LGR}{116}
+\DeclareTextSymbol{\textupsilon}{LGR}{117}
+\DeclareTextSymbol{\textphi}{LGR}{102}
+\DeclareTextSymbol{\textchi}{LGR}{113}
+\DeclareTextSymbol{\textpsi}{LGR}{121}
+\DeclareTextSymbol{\textomega}{LGR}{119}
+
+
+% Additional Greek symbols
+% """"""""""""""""""""""""
+%
+% Ancient Greek Numbers (Athenian Numerals)
+% '''''''''''''''''''''''''''''''''''''''''
+%
+% Names from the athnum_ package
+% (TODO: should we define them here?)::
+
+%\DeclareTextSymbol{\PiDelta}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY
+%\DeclareTextSymbol{\PiEta}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
+%\DeclareTextSymbol{\PiChi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND
+%\DeclareTextSymbol{\PiMu}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+
+% Names from ``xl-lgr.enc`` (Greek numerals)::
+
+\DeclareTextSymbol{\pentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY
+\DeclareTextSymbol{\pentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
+\DeclareTextSymbol{\penteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND
+\DeclareTextSymbol{\pentemurioi}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+
+
+% Archaic letters
+% '''''''''''''''
+% Names after teubner_ and ucs_. The "text" prefix is only used for Digamma,
+% which is also used in mathematical context::
+
+\DeclareTextSymbol{\stigma}{LGR}{6} % ϛ (greek.ldf, teubner)
+\DeclareTextSymbol{\varstigma}{LGR}{7} % stigma variant (CB.enc, teubner)
+\DeclareTextSymbol{\koppa}{LGR}{18} % ϟ (greek small letter koppa)
+\DeclareTextSymbol{\qoppa}{LGR}{19} % ϙ (archaic koppa)
+\DeclareTextSymbol{\Qoppa}{LGR}{21} % Ϙ (archaic Koppa)
+\DeclareTextSymbol{\Stigma}{LGR}{22} % Ϛ (teubner) in some fonts ϹΤ ligature
+\DeclareTextSymbol{\Sampi}{LGR}{23} % Ϡ
+\DeclareTextSymbol{\sampi}{LGR}{27} % ϡ
+\DeclareTextSymbol{\anoteleia}{LGR}{38} % ·
+\DeclareTextSymbol{\erotimatiko}{LGR}{63} % ;
+% \digamma used by amsmath for math-macro:
+\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (uni-3.def (ucs))
+\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (uni-3.def (ucs))
+
+% Compatibility aliases for babel_'s ``greek.ldf`` and hyperref_'s puenc.def,
+% defined via `DeclareTextCommand` so that up/downcasing works without the
+% need for additional uclclist entries::
+
+\DeclareTextCommand{\vardigamma}{LGR}{\varstigma} % greek.ldf
+\DeclareTextCommand{\textstigmagreek}{LGR}{\stigma} % puenc.def
+\DeclareTextCommand{\textkoppagreek}{LGR}{\koppa} % puenc.def
+\DeclareTextCommand{\textStigmagreek}{LGR}{\Stigma} % puenc.def
+\DeclareTextCommand{\textSampigreek}{LGR}{\Sampi} % puenc.def
+\DeclareTextCommand{\textsampigreek}{LGR}{\sampi} % puenc.def
+\DeclareTextCommand{\ddigamma}{LGR}{\textdigamma} % greek.ldf
+\DeclareTextCommand{\textdigammagreek}{LGR}{\textdigamma} % puenc.def
+\DeclareTextCommand{\Digamma}{LGR}{\textDigamma} % greek.ldf
+\DeclareTextCommand{\textDigammagreek}{LGR}{\textDigamma} % puenc.def
+
+
+% Numeral signs
+% '''''''''''''
+% See also http://en.wikipedia.org/wiki/Greek_numerals
+%
+% Names from babel_ and teubner_::
+
+\DeclareTextSymbol{\anwtonos}{LGR}{254} % ʹ (Dexia keraia)
+\DeclareTextSymbol{\katwtonos}{LGR}{255} % ͵ (Aristeri keraia)
+
+% Compatibility definitions for hyperref_'s puenc.def::
+
+\DeclareTextSymbol{\textnumeralsigngreek}{LGR}{254} % ʹ (puenc.def)
+\DeclareTextSymbol{\textnumeralsignlowergreek}{LGR}{255} % ͵ (puenc.def)
+
+
+% Other
+% """""
+%
+% Characters that also exist in other font encodings:
+%
+% * define them for LGR if there is a matching glyph,
+% * use established macro names that match with other ``*enc.def`` files and
+% ``textcomp.sty``.
+%
+% ::
+
+% all encodings: See usrguide.pdf, chapter 3.14 ff
+\DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH
+\DeclareTextSymbol{\textquoteleft}{LGR}{28} % ‘
+\DeclareTextSymbol{\textquoteright}{LGR}{29} % ’
+\DeclareTextSymbol{\textperiodcentered}{LGR}{46} % · = \textanoteleia
+\DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER
+\DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH
+
+% T1
+\DeclareTextSymbol{\guillemotleft}{LGR}{123} % «
+\DeclareTextSymbol{\guillemotright}{LGR}{125} % »
+
+% TS1
+\ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘
+\ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯
+\ProvideTextCommand{\textasciidieresis}{LGR}{\char34\textcompwordmark} % "
+\ProvideTextCommand{\textasciiacute}{LGR}{\char39\textcompwordmark} % '
+\ProvideTextCommand{\textasciigrave}{LGR}{\char96\textcompwordmark} % `
+\DeclareTextCommand{\textasciitilde}{LGR}{\char126\textcompwordmark} % ~
+\DeclareTextSymbol{\textohm}{LGR}{87} % Ω (Ohm sign -> Omega)
+\DeclareTextSymbol{\texteuro}{LGR}{24} % € \euro in greek.ldf
+\DeclareTextSymbol{\textpercent}{LGR}{37} % %
+\DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permille in greek.ldf
+
+% T3
+\DeclareTextSymbol{\textschwa}{LGR}{26} % ə
+
+% Not implemented
+% """""""""""""""
+%
+% The characters at position 16 and 17 are used in the ``\nexus`` macro
+% of the teubner_ package to form an extensible, hat-like bracket. In
+% ``CB.enc``, they are mapped to
+%
+% 16--MODIFIER LETTER LOW ACUTE ACCENT
+% 17--MODIFIER LETTER LOW GRAVE ACCENT
+%
+% but according to the documentation of Werner Lemberg's `babel patch`_,
+% they rather represent the left and right part of U+23E0 TOP TORTOISE
+% SHELL BRACKET.
+%
+% Babel's ``lgrenc.def`` has some definitions to prevent surprises with
+% macros that expect a Latin script. These definitions are problematic
+% in a font-encoding definition file as they
+%
+% * require ``\textlatin`` which is defined in ``babel.def``,
+% * prevent use of TS1 symbols set as default by ``textcomp.sty``.
+%
+% ::
+
+%\ProvideTextCommand{\textcopyright}{LGR}{\textcircled{\textlatin{c}}}
+%\ProvideTextCommand{\textregistered}{LGR}{\textcircled{\textlatin{\textsc r}}}
+%\ProvideTextCommand{\texttrademark}{LGR}{\textsuperscript{\textlatin{TM}}}
+%\ProvideTextCommand{\SS}{LGR}{\textlatin{SS}}
+
+% They may be moved to ``greek.ldf`` one day (with a caveat for textcomp/TS1).
+%
+%
+% Diacritics
+% ~~~~~~~~~~
+%
+% This section defines `named macros`_ for Greek diacritics and standard
+% `symbol macros`_ as alias for simple diacritics. Convenient input
+% conventions for `composite diacritics`_ are defined as `composite
+% definitions`_.
+%
+% Advantages:
+%
+% * input convention similar to LGR input encodings (just prepend a ``\``).
+%
+% * Access pre-composed characters without resorting to the
+% ligature mechanism (allows proper kerning, cf. teubner-doc_).
+%
+% * Named macros can be used to ensure a font encoding supporting Greek is
+% used. However, substitution with pre-composed characters works only for
+% the active font encoding (cf. textalpha_). Named accent macros can also be
+% used instead of the ``\@tabacckludge`` by to-LaTeX converters to ensure
+% working also inside the tabbing environment.
+%
+% * Named macros are required for upcasing according to Greek typesetting
+% conventions (cf. `UPPERCASE`_ below) and for composite diacritics.
+%
+%
+% Named macros
+% """"""""""""
+%
+% Definitions are based on the teubner_ package by Claudio Beccari, the ucs_
+% package, and the `babel patch`_ by Werner Lemberg. Names are derived from
+% the Unicode name with the prefix "acc" (cf. `How to name accent macros?`_
+% above) reducing the probability of incompatibilities compared to the
+% two-letter teubner_ diacritic macros or the "text" prefix used by ucs_.
+%
+% Simple Greek diacritics::
+
+\DeclareTextAccent{\accdialytika}{LGR}{34} % διαλυτικά (diaeresis/trema)
+\DeclareTextAccent{\acctonos}{LGR}{39} % τόνος/ὀξεῖα tonos/oxia (acute)
+\DeclareTextAccent{\accdasia}{LGR}{60} % δασεῖα spiritus asper (rough breathing)
+\DeclareTextAccent{\accpsili}{LGR}{62} % ψιλή spiritus lenis (smooth breathing)
+\DeclareTextAccent{\accvaria}{LGR}{96} % βαρεῖα (grave)
+\DeclareTextAccent{\accperispomeni}{LGR}{126} % περισπωμένη (circonflex/tilde)
+
+% The sub-iota is input after the base character. In LGR fonts, ligatures are
+% defined for pre-composed characters, the postfix ligature does not interfere
+% with kerning::
+
+\DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι "capital" sub-iota
+\DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota
+
+% Composite diacritics::
+
+% Teubner name
+\DeclareTextAccent{\accdialytikaperispomeni}{LGR}{32} % Cd
+\DeclareTextAccent{\accdialytikatonos}{LGR}{35} % Ad
+\DeclareTextAccent{\accdialytikavaria}{LGR}{36} % Gd
+
+\DeclareTextAccent{\accdasiaperispomeni}{LGR}{64} % Cr
+\DeclareTextAccent{\accdasiavaria}{LGR}{67} % Gr
+\DeclareTextAccent{\accdasiaoxia}{LGR}{86} % Ar
+
+\DeclareTextAccent{\accpsiliperispomeni}{LGR}{92} % Cs
+\DeclareTextAccent{\accpsilioxia}{LGR}{94} % As
+\DeclareTextAccent{\accpsilivaria}{LGR}{95} % Gs
+
+% For classical Greek and linguistics, the LGR font encoding contains a number
+% of additional diacritic symbols::
+
+\DeclareTextAccent{\accinvertedbrevebelow}{LGR}{1} % INVERTED BREVE BELOW
+\DeclareTextAccent{\subinvertedbreve}{LGR}{1} % (lgrx)
+\DeclareTextAccent{\textsubarch}{LGR}{1} % (tipa)
+\DeclareTextAccent{\accbrevebelow}{LGR}{20} % BREVE BELOW
+\DeclareTextAccent{\subbreve}{LGR}{20} % (lgrx)
+\DeclareTextAccent{\u}{LGR}{30} % BREVE
+\DeclareTextAccent{\=}{LGR}{31} % MACRON
+
+
+% Aliases
+% """""""
+%
+% _`Symbol macros`::
+
+\DeclareTextCommand{\"}{LGR}{\accdialytika}
+\DeclareTextCommand{\'}{LGR}{\acctonos}
+\DeclareTextCommand{\`}{LGR}{\accvaria}
+\DeclareTextCommand{\~}{LGR}{\accperispomeni}
+\DeclareTextCommand{\<}{LGR}{\accdasia}
+\DeclareTextCommand{\>}{LGR}{\accpsili}
+
+% TODO: do we also want alternative symbols for the breathings (cf. X compose
+% table, LCI encoding)? ::
+
+%\DeclareTextCommand{\(}{LGR}{\accdasia}
+%\DeclareTextCommand{\)}{LGR}{\accpsili}
+
+% Two Unicode names for one character::
+
+\DeclareTextCommand{\accoxia}{LGR}{\acctonos}
+\DeclareTextCommand{\acckoronis}{LGR}{\accpsili}
+
+
+% Composite definitions
+% ~~~~~~~~~~~~~~~~~~~~~
+%
+% Composite diacritics
+% """"""""""""""""""""
+%
+% Composite accents can be input as sequence of simple diacritics (in
+% arbitrary order) via named macro, symbol macro and "transcription
+% characters", e.g. ``\accdialytica\accvaria\textalpha``, ``\"\'\textalpha``,
+% ``\"'\textalpha``, or ``\'"\textalpha``.
+%
+% Separate definitions for the supported variants of the second input token
+% are required as composition is based on the non-expanded input
+%
+% The composition with simple "transcription characters" must also be defined
+% for the symbol macros, otherwise it fails with ``\Makeuppercase``)::
+
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\acctonos}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\'}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{'}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\"}{LGR}{'}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\accvaria}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\`}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{`}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\"}{LGR}{`}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\accperispomeni}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\~}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{~}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\"}{LGR}{~}{\accdialytikaperispomeni}
+
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\accdialytika}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\"}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{"}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\'}{LGR}{"}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\accdasia}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\<}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{<}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\'}{LGR}{<}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\accpsili}{\accpsilioxia}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\>}{\accpsilioxia}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{>}{\accpsilioxia}
+\DeclareTextCompositeCommand{\'}{LGR}{>}{\accpsilioxia}
+
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\accdialytika}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\"}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{"}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\`}{LGR}{"}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\accdasia}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\<}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{<}{\accdasiavaria}
+\DeclareTextCompositeCommand{\`}{LGR}{<}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\accpsili}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\>}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{>}{\accpsilivaria}
+\DeclareTextCompositeCommand{\`}{LGR}{>}{\accpsilivaria}
+
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accdialytika}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\"}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{"}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\~}{LGR}{"}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accdasia}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\<}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{<}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\~}{LGR}{<}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accpsili}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\>}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{LGR}{>}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\~}{LGR}{>}{\accpsiliperispomeni}
+
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\acctonos}{\accpsilioxia}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\'}{\accpsilioxia}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{'}{\accpsilioxia}
+\DeclareTextCompositeCommand{\>}{LGR}{'}{\accpsilioxia}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\accvaria}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\`}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{`}{\accpsilivaria}
+\DeclareTextCompositeCommand{\>}{LGR}{`}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\accperispomeni}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\~}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{~}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\>}{LGR}{~}{\accpsiliperispomeni}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\acctonos}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\'}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{'}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\<}{LGR}{'}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\accvaria}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\`}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{`}{\accdasiavaria}
+\DeclareTextCompositeCommand{\<}{LGR}{`}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\accperispomeni}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\~}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni}
+
+
+% Pre-composed letters
+% """"""""""""""""""""
+% Small letters with diacritics
+% '''''''''''''''''''''''''''''
+%
+% (from teubner_ with changed names of the composite accents)::
+
+\DeclareTextComposite{\accvaria}{LGR}{a}{128}
+\DeclareTextComposite{\accdasia}{LGR}{a}{129}
+\DeclareTextComposite{\accpsili}{LGR}{a}{130}
+\DeclareTextComposite{\accdasiavaria}{LGR}{a}{131}
+\DeclareTextComposite{\acctonos}{LGR}{a}{136}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{a}{137}
+\DeclareTextComposite{\accpsilioxia}{LGR}{a}{138}
+\DeclareTextComposite{\accpsilivaria}{LGR}{a}{139}
+\DeclareTextComposite{\accperispomeni}{LGR}{a}{144}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{a}{145}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{a}{146}
+\DeclareTextComposite{\accvaria}{LGR}{h}{152}
+\DeclareTextComposite{\accdasia}{LGR}{h}{153}
+\DeclareTextComposite{\accpsili}{LGR}{h}{154}
+\DeclareTextComposite{\acctonos}{LGR}{h}{160}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{h}{161}
+\DeclareTextComposite{\accpsilioxia}{LGR}{h}{162}
+\DeclareTextComposite{\accdasiavaria}{LGR}{h}{163}
+\DeclareTextComposite{\accperispomeni}{LGR}{h}{168}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{h}{169}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{h}{170}
+\DeclareTextComposite{\accpsilivaria}{LGR}{h}{171}
+\DeclareTextComposite{\accvaria}{LGR}{w}{176}
+\DeclareTextComposite{\accdasia}{LGR}{w}{177}
+\DeclareTextComposite{\accpsili}{LGR}{w}{178}
+\DeclareTextComposite{\accdasiavaria}{LGR}{w}{179}
+\DeclareTextComposite{\acctonos}{LGR}{w}{184}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{w}{185}
+\DeclareTextComposite{\accpsilioxia}{LGR}{w}{186}
+\DeclareTextComposite{\accpsilivaria}{LGR}{w}{187}
+\DeclareTextComposite{\accperispomeni}{LGR}{w}{192}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{w}{193}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{w}{194}
+\DeclareTextComposite{\accvaria}{LGR}{i}{200}
+\DeclareTextComposite{\accdasia}{LGR}{i}{201}
+\DeclareTextComposite{\accpsili}{LGR}{i}{202}
+\DeclareTextComposite{\accdasiavaria}{LGR}{i}{203}
+\DeclareTextComposite{\acctonos}{LGR}{i}{208}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{i}{209}
+\DeclareTextComposite{\accpsilioxia}{LGR}{i}{210}
+\DeclareTextComposite{\accpsilivaria}{LGR}{i}{211}
+\DeclareTextComposite{\accperispomeni}{LGR}{i}{216}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{i}{217}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{i}{218}
+\DeclareTextComposite{\accdialytika}{LGR}{i}{240}
+\DeclareTextComposite{\accdialytikavaria}{LGR}{i}{241}
+\DeclareTextComposite{\accdialytikatonos}{LGR}{i}{242}
+\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{i}{243}
+\DeclareTextComposite{\accvaria}{LGR}{u}{204}
+\DeclareTextComposite{\accdasia}{LGR}{u}{205}
+\DeclareTextComposite{\accpsili}{LGR}{u}{206}
+\DeclareTextComposite{\accdasiavaria}{LGR}{u}{207}
+\DeclareTextComposite{\acctonos}{LGR}{u}{212}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{u}{213}
+\DeclareTextComposite{\accpsilioxia}{LGR}{u}{214}
+\DeclareTextComposite{\accpsilivaria}{LGR}{u}{215}
+\DeclareTextComposite{\accperispomeni}{LGR}{u}{220}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{u}{221}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{u}{222}
+\DeclareTextComposite{\accdialytika}{LGR}{u}{244}
+\DeclareTextComposite{\accdialytikavaria}{LGR}{u}{245}
+\DeclareTextComposite{\accdialytikatonos}{LGR}{u}{246}
+\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{u}{247}
+\DeclareTextComposite{\accvaria}{LGR}{e}{224}
+\DeclareTextComposite{\accdasia}{LGR}{e}{225}
+\DeclareTextComposite{\accpsili}{LGR}{e}{226}
+\DeclareTextComposite{\accdasiavaria}{LGR}{e}{227}
+\DeclareTextComposite{\acctonos}{LGR}{e}{232}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{e}{233}
+\DeclareTextComposite{\accpsilioxia}{LGR}{e}{234}
+\DeclareTextComposite{\accpsilivaria}{LGR}{e}{235}
+\DeclareTextComposite{\accvaria}{LGR}{o}{228}
+\DeclareTextComposite{\accdasia}{LGR}{o}{229}
+\DeclareTextComposite{\accpsili}{LGR}{o}{230}
+\DeclareTextComposite{\accdasiavaria}{LGR}{o}{231}
+\DeclareTextComposite{\acctonos}{LGR}{o}{236}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{o}{237}
+\DeclareTextComposite{\accpsilioxia}{LGR}{o}{238}
+\DeclareTextComposite{\accpsilivaria}{LGR}{o}{239}
+\DeclareTextComposite{\accdasia}{LGR}{r}{251}
+\DeclareTextComposite{\accpsili}{LGR}{r}{252}
+
+% Pre-composed letters with diacritics + LICR macros::
+
+\DeclareTextComposite{\accvaria}{LGR}{\textalpha}{128}
+\DeclareTextComposite{\accdasia}{LGR}{\textalpha}{129}
+\DeclareTextComposite{\accpsili}{LGR}{\textalpha}{130}
+\DeclareTextComposite{\accdasiavaria}{LGR}{\textalpha}{131}
+\DeclareTextComposite{\acctonos}{LGR}{\textalpha}{136}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{\textalpha}{137}
+\DeclareTextComposite{\accpsilioxia}{LGR}{\textalpha}{138}
+\DeclareTextComposite{\accpsilivaria}{LGR}{\textalpha}{139}
+\DeclareTextComposite{\accperispomeni}{LGR}{\textalpha}{144}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textalpha}{145}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textalpha}{146}
+\DeclareTextComposite{\accvaria}{LGR}{\texteta}{152}
+\DeclareTextComposite{\accdasia}{LGR}{\texteta}{153}
+\DeclareTextComposite{\accpsili}{LGR}{\texteta}{154}
+\DeclareTextComposite{\acctonos}{LGR}{\texteta}{160}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{\texteta}{161}
+\DeclareTextComposite{\accpsilioxia}{LGR}{\texteta}{162}
+\DeclareTextComposite{\accdasiavaria}{LGR}{\texteta}{163}
+\DeclareTextComposite{\accperispomeni}{LGR}{\texteta}{168}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\texteta}{169}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\texteta}{170}
+\DeclareTextComposite{\accpsilivaria}{LGR}{\texteta}{171}
+\DeclareTextComposite{\accvaria}{LGR}{\textomega}{176}
+\DeclareTextComposite{\accdasia}{LGR}{\textomega}{177}
+\DeclareTextComposite{\accpsili}{LGR}{\textomega}{178}
+\DeclareTextComposite{\accdasiavaria}{LGR}{\textomega}{179}
+\DeclareTextComposite{\acctonos}{LGR}{\textomega}{184}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{\textomega}{185}
+\DeclareTextComposite{\accpsilioxia}{LGR}{\textomega}{186}
+\DeclareTextComposite{\accpsilivaria}{LGR}{\textomega}{187}
+\DeclareTextComposite{\accperispomeni}{LGR}{\textomega}{192}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textomega}{193}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textomega}{194}
+\DeclareTextComposite{\accvaria}{LGR}{\textiota}{200}
+\DeclareTextComposite{\accdasia}{LGR}{\textiota}{201}
+\DeclareTextComposite{\accpsili}{LGR}{\textiota}{202}
+\DeclareTextComposite{\accdasiavaria}{LGR}{\textiota}{203}
+\DeclareTextComposite{\acctonos}{LGR}{\textiota}{208}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{\textiota}{209}
+\DeclareTextComposite{\accpsilioxia}{LGR}{\textiota}{210}
+\DeclareTextComposite{\accpsilivaria}{LGR}{\textiota}{211}
+\DeclareTextComposite{\accperispomeni}{LGR}{\textiota}{216}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textiota}{217}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textiota}{218}
+\DeclareTextComposite{\accdialytika}{LGR}{\textiota}{240}
+\DeclareTextComposite{\accdialytikavaria}{LGR}{\textiota}{241}
+\DeclareTextComposite{\accdialytikatonos}{LGR}{\textiota}{242}
+\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\textiota}{243}
+\DeclareTextComposite{\accvaria}{LGR}{\textupsilon}{204}
+\DeclareTextComposite{\accdasia}{LGR}{\textupsilon}{205}
+\DeclareTextComposite{\accpsili}{LGR}{\textupsilon}{206}
+\DeclareTextComposite{\accdasiavaria}{LGR}{\textupsilon}{207}
+\DeclareTextComposite{\acctonos}{LGR}{\textupsilon}{212}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{\textupsilon}{213}
+\DeclareTextComposite{\accpsilioxia}{LGR}{\textupsilon}{214}
+\DeclareTextComposite{\accpsilivaria}{LGR}{\textupsilon}{215}
+\DeclareTextComposite{\accperispomeni}{LGR}{\textupsilon}{220}
+\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textupsilon}{221}
+\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textupsilon}{222}
+\DeclareTextComposite{\accdialytika}{LGR}{\textupsilon}{244}
+\DeclareTextComposite{\accdialytikavaria}{LGR}{\textupsilon}{245}
+\DeclareTextComposite{\accdialytikatonos}{LGR}{\textupsilon}{246}
+\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\textupsilon}{247}
+\DeclareTextComposite{\accvaria}{LGR}{\textepsilon}{224}
+\DeclareTextComposite{\accdasia}{LGR}{\textepsilon}{225}
+\DeclareTextComposite{\accpsili}{LGR}{\textepsilon}{226}
+\DeclareTextComposite{\accdasiavaria}{LGR}{\textepsilon}{227}
+\DeclareTextComposite{\acctonos}{LGR}{\textepsilon}{232}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{\textepsilon}{233}
+\DeclareTextComposite{\accpsilioxia}{LGR}{\textepsilon}{234}
+\DeclareTextComposite{\accpsilivaria}{LGR}{\textepsilon}{235}
+\DeclareTextComposite{\accvaria}{LGR}{\textomicron}{228}
+\DeclareTextComposite{\accdasia}{LGR}{\textomicron}{229}
+\DeclareTextComposite{\accpsili}{LGR}{\textomicron}{230}
+\DeclareTextComposite{\accdasiavaria}{LGR}{\textomicron}{231}
+\DeclareTextComposite{\acctonos}{LGR}{\textomicron}{236}
+\DeclareTextComposite{\accdasiaoxia}{LGR}{\textomicron}{237}
+\DeclareTextComposite{\accpsilioxia}{LGR}{\textomicron}{238}
+\DeclareTextComposite{\accpsilivaria}{LGR}{\textomicron}{239}
+\DeclareTextComposite{\accdasia}{LGR}{r}{251}
+\DeclareTextComposite{\accpsili}{LGR}{r}{252}
+
+
+% Capital letters with diacritics
+% '''''''''''''''''''''''''''''''
+%
+% In Greek, diacritics are omitted in all-uppercase words, but kept as part
+% of an uppercase initial (written before rather than above the letter).
+%
+% The diaytika should also always be used in all-uppercase words (even
+% in cases where they are not needed when writing in lowercase)
+%
+% -- http://en.wikipedia.org/wiki/Capitalization
+%
+% In Title Case, place diacritics before instead of above the base character::
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{A}{<A}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{A}{<`A}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{A}{<'A}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{A}{<\char126A}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{A}{>A}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{A}{>`A}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{A}{>'A}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{A}{>\char126A}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{A}{'A}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{A}{`A}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{E}{<E}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{E}{<'E}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{E}{<`E}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{E}{>E}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{E}{>'E}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{E}{>`E}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{E}{'E}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{E}{`E}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{H}{<H}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{H}{<`H}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{H}{<'H}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{H}{<\char126H}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{H}{>H}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{H}{>`H}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{H}{>'H}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{H}{>\char126H}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{H}{'H}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{H}{`H}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{I}{<I}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{I}{<`I}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{I}{<'I}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{I}{<\char126I}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{I}{>I}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{I}{>`I}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{I}{>'I}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{I}{>\char126I}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{I}{'I}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{I}{`I}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{O}{<O}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{O}{<`O}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{O}{<'O}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{O}{>O}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{O}{>`O}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{O}{>'O}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{O}{'O}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{O}{`O}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{U}{<U}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{U}{<`U}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{U}{<'U}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{U}{<\char126U}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{U}{'U}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{U}{`U}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{W}{<W}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{W}{<`W}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{W}{<'W}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{W}{<\char126W}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{W}{>W}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{W}{>`W}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{W}{>'W}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{W}{>\char126W}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{W}{'W}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{W}{`W}
+
+% Except for the dialytika::
+
+\DeclareTextComposite{\accdialytika}{LGR}{I}{219}
+\DeclareTextComposite{\accdialytika}{LGR}{U}{223}
+
+% Do the same for the LICR macros::
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textAlpha}{<A}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textAlpha}{<`A}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textAlpha}{<'A}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textAlpha}{<\char126A}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\textAlpha}{>A}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textAlpha}{>`A}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textAlpha}{>'A}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textAlpha}{>\char126A}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\textAlpha}{'A}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\textAlpha}{`A}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textEpsilon}{<E}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textEpsilon}{<'E}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textEpsilon}{<`E}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\textEpsilon}{>E}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textEpsilon}{>'E}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textEpsilon}{>`E}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\textEpsilon}{'E}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\textEpsilon}{`E}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textEta}{<H}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textEta}{<`H}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textEta}{<'H}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textEta}{<\char126H}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\textEta}{>H}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textEta}{>`H}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textEta}{>'H}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textEta}{>\char126H}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\textEta}{'H}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\textEta}{`H}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textIota}{<I}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textIota}{<`I}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textIota}{<'I}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textIota}{<\char126I}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\textIota}{>I}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textIota}{>`I}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textIota}{>'I}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textIota}{>\char126I}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\textIota}{'I}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\textIota}{`I}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textOmicron}{<O}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textOmicron}{<`O}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textOmicron}{<'O}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\textOmicron}{>O}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textOmicron}{>`O}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textOmicron}{>'O}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmicron}{'O}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmicron}{`O}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textUpsilon}{<U}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textUpsilon}{<`U}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textUpsilon}{<'U}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textUpsilon}{<\char126U}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\textUpsilon}{'U}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\textUpsilon}{`U}
+
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textOmega}{<W}
+\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textOmega}{<`W}
+\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textOmega}{<'W}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textOmega}{<\char126W}
+\DeclareTextCompositeCommand{\accpsili}{LGR}{\textOmega}{>W}
+\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textOmega}{>`W}
+\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textOmega}{>'W}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textOmega}{>\char126W}
+\DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmega}{'W}
+\DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmega}{`W}
+
+% Except for the dialytika::
+
+\DeclareTextComposite{\accdialytika}{LGR}{\textIota}{219}
+\DeclareTextComposite{\accdialytika}{LGR}{\textUpsilon}{223}
+
+
+% UPPERCASE
+% ~~~~~~~~~
+%
+% @uclclist extension
+% """""""""""""""""""
+%
+% If UPPERCASE (all-caps) is generated with ``\MakeUppercase``, macro
+% substitutions in the ``\@uclclist`` apply. This can be used to drop the
+% diacritics (except dialytika).
+%
+% Based on the `babel patch`_ and ``fontenc.sty``.
+% (The first two lines are TeX' way of writing ``uclclist += …``)::
+
+\expandafter\def\expandafter\@uclclist\expandafter{%
+ \@uclclist
+ \accdasia\acc@invisible
+ \accdasiaoxia\@hiatus
+ \accdasiavaria\acc@invisible
+ \accdasiaperispomeni\acc@invisible
+ \accpsili\@hiatus
+ \accpsilioxia\@hiatus
+ \accpsilivaria\@hiatus
+ \accpsiliperispomeni\acc@invisible
+ \acctonos\@hiatus
+ \accvaria\acc@invisible
+ \accdialytikatonos\acc@Dialytika
+ \accdialytikavaria\acc@Dialytika
+ \accdialytikaperispomeni\acc@Dialytika
+ \accperispomeni\acc@invisible
+ \ypogegrammeni\prosgegrammeni
+ %
+ \textalpha \textAlpha
+ \textbeta \textBeta
+ \textgamma \textGamma
+ \textdelta \textDelta
+ \textepsilon\textEpsilon
+ \textzeta \textZeta
+ \texteta \textEta
+ \texttheta \textTheta
+ \textiota \textIota
+ \textkappa \textKappa
+ \textlambda \textLambda
+ \textmu \textMu
+ \textnu \textNu
+ \textxi \textXi
+ \textomicron\textOmicron
+ \textpi \textPi
+ \textrho \textRho
+ \textvarsigma \textSigma
+ \textsigma \textSigma
+ \textautosigma \textSigma
+ \texttau \textTau
+ \textupsilon\textUpsilon
+ \textphi \textPhi
+ \textchi \textChi
+ \textpsi \textPsi
+ \textomega \textOmega
+ %
+ \qoppa \Qoppa
+ \varstigma \Stigma
+ \stigma \Stigma
+ \sampi \Sampi
+ \textdigamma \textDigamma
+}
+
+% Substitution macros
+% """""""""""""""""""
+%
+% Drop diacritics
+% '''''''''''''''
+% ::
+
+\DeclareTextCommand{\acc@invisible}{LGR}[1]{#1}
+
+% (The argument processing ensures that kerning is preserved)
+%
+% Keep dialytika.
+% '''''''''''''''
+%
+% Define a dummy alias so that downcasing with ``\MakeLowercase`` does not
+% convert a simple dialytika to a composite accent::
+
+\DeclareTextCommand{\acc@Dialytika}{LGR}{\accdialytika}
+
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\@hiatus}{\accdialytika}
+
+% .. TODO: MakeUppercase with ``\"'`` fails if the language is "greek".
+% How can we specify a composite command with character ``"9F``,
+% the uccode of ``'``?
+%
+% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{"9F}{\accdialytika}
+% % \DeclareTextAccent{\acc@Dialytika}{LGR}{34} % upcase Dialytika
+% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{\@hiatus}{\accdialytika}
+% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{'}{\accdialytika}
+%
+% Mark hiatus
+% '''''''''''
+%
+% Tonos and dasia mark a hiatus if placed on the
+% first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the
+% second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ,
+% ἀυπνία → ΑΫΠΝΙΑ)::
+
+\DeclareTextCommand{\@hiatus}{LGR}[1]{#1}
+\DeclareTextCompositeCommand{\@hiatus}{LGR}{>}{\@hiatus}
+\DeclareTextCompositeCommand{\@hiatus}{LGR}{<}{\acc@invisible}
+\DeclareTextCompositeCommand{\@hiatus}{LGR}{A}{\A@hiatus}
+\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textAlpha}{\A@hiatus}
+\DeclareTextCompositeCommand{\@hiatus}{LGR}{E}{\E@hiatus}
+\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textEpsilon}{\E@hiatus}
+% What does the \@hiatus command "see" if an unicode literal follows?
+% \DeclareTextCompositeCommand{\@hiatus}{LGR}{\symbol{"ce}}{bluff}
+% \DeclareTextCompositeCommand{\@hiatus}{LGR}{"cf}{blaff}
+% \DeclareTextCompositeCommand{\@hiatus}{LGR}{ι}{blaff}
+
+% Look ahead and place a diaeresis on Ι or Υ::
+
+\DeclareTextCommand{\A@hiatus}{LGR}{%
+ \LGR@ifnextchar{I}{A\"}{%
+ \LGR@ifnextchar{U}{A\"}{%
+ \LGR@ifnextchar{\textIota}{A\"}{%
+ \LGR@ifnextchar{\textUpsilon}{A\"}{A}%
+ }%
+ }%
+ }%
+}
+\DeclareTextCommand{\E@hiatus}{LGR}{%
+ \LGR@ifnextchar{I}{E\"}{%
+ \LGR@ifnextchar{U}{E\"}{%
+ \LGR@ifnextchar{\textIota}{E\"}{%
+ \LGR@ifnextchar{\textUpsilon}{E\"}{E}%
+ }%
+ }%
+ }%
+}
+
+% As ``\@ifnextchar`` gobbles spaces the lookahead macro definition from
+% ``amsgen.sty`` is used:
+%
+% This macro is a new version of LaTeX’s ``\@ifnextchar``, macro
+% that does not skip over spaces.
+%
+% ::
+
+\ProvideTextCommand{\LGR@ifnextchar}{LGR}[3]{%
+% \long\def\LGR@ifnextchar#1#2#3{%
+ \let\reserved@d= #1%
+ \def\reserved@a{#2}\def\reserved@b{#3}%
+ \futurelet\@let@token\LGR@ifnch
+}
+\ProvideTextCommand{\LGR@ifnch}{LGR}{%
+ \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi
+ \reserved@b
+}
+
+% Unfortunately, the lookahead breaks kerning.
+%
+% Alternatives tried:
+%
+% * CompositeCommands fail at the end of a macro, e.g. ``\emph{\'a}``::
+
+ %\DeclareTextCommand{\A@hiatus}{LGR}{A}
+ %\DeclareTextCommand{\E@hiatus}{LGR}{E}
+
+ %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{}{A}
+ %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{I}{A\"I}
+ %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{U}{A\"U}
+
+
+% * The glyph No 12 is a special "Upcase Alpha" that in ligature with Y
+% and I adds a diaresis to them. However, it seems that it has only
+% kerning definitions for I and Y (as it is not intended for direct
+% use)::
+
+ %\DeclareTextComposite{\@hiatus}{LGR}{A}{12}
+
+% No such glyph exists for E but this is no problem as E does
+% not require kerning anyway.
+%
+% .. References
+% ----------
+%
+% .. _Adobe Glyph List For New Fonts:
+% http://www.adobe.com/devnet-archive/opentype/archives/aglfn.txt
+% .. _Adobe Glyph List:
+% http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt
+% .. _alphabeta: alphabeta.sty.html
+% .. _athnum: http://www.ctan.org/pkg/athnum
+% .. _Babel: http://www.ctan.org/pkg/babel
+% .. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf
+% .. _fntguide: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf
+% .. _fontenc: http://www.ctan.org/pkg/fontenc
+% .. _hyperref: http://www.ctan.org/pkg/hyperref
+% .. _ibycus: http://www.ctan.org/pkg/ibycus-babel
+% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
+% .. _lgrx: http://www.ctan.org/pkg/lgrx
+% .. _ltxcmds: http://www.ctan.org/pkg/ltxcmds
+% .. _libertine: http://www.ctan.org/pkg/libertine-legacy
+% .. _teubner: http://www.ctan.org/pkg/teubner
+% .. _teubner-doc:
+% http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf
+% .. _textalpha: textalpha.sty.html
+% .. _ucs: http://www.ctan.org/pkg/unicode
+% .. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt
+% .. _XML Entity Definitions for Characters:
+% http://www.w3.org/TR/xml-entity-names/