# greek-euenc.def

## Greek LICR definitions for XeTeX and LuaTeX

Copyright
  © 2013 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.

Identification

      \ProvidesFile{greek-euenc.def}
      [2014/12/12 0.12 Greek LICRs for XeTeX and LuaTeX]

Abstract

Experimental support for Greek LICR macros with XeTeX and LuaTeX. Extends euenc. Used by babel-greek and textalpha.

History:

  0.1 | 2013-07-16 | initial version
  0.1.1 | 2013-07-18 | bugfix: wrong breathings psilioxia -> dasiaoxia
  0.1.2 | 2013-07-19 .. | bugfix: Disable composite defs starting with char macro, fix “hiatus” handling.
  0.1.3 | 2013-07-24 | fix “input” path.
  0.1.4 | 2013-10-01 .. | remove clashing defs for legacy characters with oxia, fix upcasing of `\finalsigma`.
  0.11.1 | 2013-12-01 | fix identification.
  0.11.2 | 2014-09-08 | `\textKoppa` macro
  |  | (Capital Koppa is not defined in LGR but Unicode).
  0.12 | 2014-12-12 | Remove symbol macros for breathing accents.

# Motivation

LICR macro definitions for the Greek script are missing in both, xunicode and euenc.

This file expands the font encoding definition files `eu1enc.def` rsp. `eu2enc.def` from euenc defining LaTeX Internal Character Representaction (LICR) macros for Greek letters and symbols. It works independed of xunicode using the standard commands for LaTeX2e font selection.

# Requirements

Requires XeTeX or LuaTeX, euenc (usually loaded via fontspec), and a font with Greek characters.

See greek-euenc-doc.tex and greek-euenc-doc.pdf for setup and usage examples.

# Greek Diacritics

Define “named macros” for simple and combined diacritics.

- Named accent macros can 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 and in the definition of composite commands.

Greek alias names for standard accents:

    \DeclareTextCommand{\acctonos}{\LastDeclaredEncoding}{\@tabacckludge'}
    \DeclareTextCommand{\accvaria}{\LastDeclaredEncoding}{\@tabacckludge`}
    \DeclareTextCommand{\accdialytika}{\LastDeclaredEncoding}{\@tabacckludge"}
    \DeclareTextCommand{\accperispomeni}{\LastDeclaredEncoding}{\@tabacckludge~}

Breathings:

(The COMBINING GREEK KORONIS is a legacy character, discarded in favour of COMBINING COMMA ABOVE)

    \DeclareTextCommand{\accpsili}{\LastDeclaredEncoding}[1]{#1\char"0313 } % ψιλή spiritus lenis (smooth breathing)
    \DeclareTextCommand{\accdasia}{\LastDeclaredEncoding}[1]{#1\char"0314 } % δασεῖα spiritus asper (rough breathing)
    % \DeclareTextCommand{\>}{\LastDeclaredEncoding}{\accpsili}
    % \DeclareTextCommand{\<}{\LastDeclaredEncoding}{\accdasia}

Sub-iota:

`\ypogegrammeni` is a postfix accent (ligature in LGR)

    \DeclareTextSymbol{\ypogegrammeni}{\LastDeclaredEncoding}{0837} % COMBINING GREEK YPOGEGRAMMENI

Combined diacritics:

    % The COMBINING DIALYTIKA TONOS is discarded and not well supported by fonts:
    \DeclareTextCommand{\accdialytikatonos}{\LastDeclaredEncoding}[1]{#1\char"0308 \char"0301 }
    \DeclareTextCommand{\accdialytikavaria}{\LastDeclaredEncoding}[1]{#1\char"0308 \char"0300 }
    \DeclareTextCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0308 }

    \DeclareTextCommand{\accdasiaoxia}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0301 }
    \DeclareTextCommand{\accdasiavaria}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0300 }
    \DeclareTextCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0342 }

    \DeclareTextCommand{\accpsilioxia}{\LastDeclaredEncoding}[1]{#1\char"0301 \char"0313 }
    \DeclareTextCommand{\accpsilivaria}{\LastDeclaredEncoding}[1]{#1\char"0300 \char"0313 }
    \DeclareTextCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0313 }

# Common Definitions

Use the common Greek font encoding definitions:

    \input{greek-fontenc.def}

# Character Definitions

## General Punctuation

Ligature break up with ZERO WIDTH NON-JOINER:

    \DeclareTextCommand{\textcompwordmark}{\LastDeclaredEncoding}{\char"200C}

## Greek and Coptic

    % NR    Unicode Name                                       %   babel name, % PU name
    % 0370  GREEK CAPITAL LETTER HETA                          % Ͱ
    % 0371  GREEK SMALL LETTER HETA                            % ͱ
    % 0372  GREEK CAPITAL LETTER ARCHAIC SAMPI                 % Ͳ
    % 0373  GREEK SMALL LETTER ARCHAIC SAMPI                   % ͳ
    \DeclareTextCommand{\textdexiakeraia}{\LastDeclaredEncoding}{ʹ} % \anwtonos, \textnumeralsigngreek
    \DeclareTextCommand{\textaristerikeraia}{\LastDeclaredEncoding}{͵} % \katwtonos, \textnumeralsignlowergreek
    % 0376  GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA            % Ͷ
    % 0377  GREEK SMALL LETTER PAMPHYLIAN DIGAMMA              % ͷ

    % 037A  GREEK YPOGEGRAMMENI (use \textcompwordmark\ypogegrammeni) % ͺ
    % 037B  GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
    % 037C  GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
    % 037D  GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
    \DeclareTextCommand{\texterotimatiko}{\LastDeclaredEncoding}{;} % \textquestion

    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textcompwordmark}{΄}
    \DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textcompwordmark}{΅}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textAlpha}{Ά}
    \DeclareTextCommand{\textanoteleia}{\LastDeclaredEncoding}{·} % \anoteleia
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textEpsilon}{Έ}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textEta}{Ή}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textIota}{Ί}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textOmicron}{Ό}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textUpsilon}{Ύ}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textOmega}{Ώ}
    \DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textiota}{ΐ}

    \DeclareTextCommand{\textAlpha}{\LastDeclaredEncoding}{Α}
    \DeclareTextCommand{\textBeta}{\LastDeclaredEncoding}{Β}
    \DeclareTextCommand{\textGamma}{\LastDeclaredEncoding}{Γ}
    \DeclareTextCommand{\textDelta}{\LastDeclaredEncoding}{Δ}
    \DeclareTextCommand{\textEpsilon}{\LastDeclaredEncoding}{Ε}
    \DeclareTextCommand{\textZeta}{\LastDeclaredEncoding}{Ζ}
    \DeclareTextCommand{\textEta}{\LastDeclaredEncoding}{Η}
    \DeclareTextCommand{\textTheta}{\LastDeclaredEncoding}{Θ}
    \DeclareTextCommand{\textIota}{\LastDeclaredEncoding}{Ι}
    \DeclareTextCommand{\textKappa}{\LastDeclaredEncoding}{Κ}
    \DeclareTextCommand{\textLambda}{\LastDeclaredEncoding}{Λ}
    \DeclareTextCommand{\textMu}{\LastDeclaredEncoding}{Μ}
    \DeclareTextCommand{\textNu}{\LastDeclaredEncoding}{Ν}
    \DeclareTextCommand{\textXi}{\LastDeclaredEncoding}{Ξ}
    \DeclareTextCommand{\textOmicron}{\LastDeclaredEncoding}{Ο}
    \DeclareTextCommand{\textPi}{\LastDeclaredEncoding}{Π}
    \DeclareTextCommand{\textRho}{\LastDeclaredEncoding}{Ρ}
    \DeclareTextCommand{\textSigma}{\LastDeclaredEncoding}{Σ}
    \DeclareTextCommand{\textTau}{\LastDeclaredEncoding}{Τ}
    \DeclareTextCommand{\textUpsilon}{\LastDeclaredEncoding}{Υ}
    \DeclareTextCommand{\textPhi}{\LastDeclaredEncoding}{Φ}
    \DeclareTextCommand{\textChi}{\LastDeclaredEncoding}{Χ}
    \DeclareTextCommand{\textPsi}{\LastDeclaredEncoding}{Ψ}
    \DeclareTextCommand{\textOmega}{\LastDeclaredEncoding}{Ω}

    \DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textIota}{Ϊ}
    \DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textUpsilon}{Ϋ}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textalpha}{ά}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textepsilon}{έ}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\texteta}{ή}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textiota}{ί}
    \DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textupsilon}{ΰ}

    \DeclareTextCommand{\textalpha}{\LastDeclaredEncoding}{α}
    \DeclareTextCommand{\textbeta}{\LastDeclaredEncoding}{β}
    \DeclareTextCommand{\textgamma}{\LastDeclaredEncoding}{γ}
    \DeclareTextCommand{\textdelta}{\LastDeclaredEncoding}{δ}
    \DeclareTextCommand{\textepsilon}{\LastDeclaredEncoding}{ε}
    \DeclareTextCommand{\textzeta}{\LastDeclaredEncoding}{ζ}
    \DeclareTextCommand{\texteta}{\LastDeclaredEncoding}{η}
    \DeclareTextCommand{\texttheta}{\LastDeclaredEncoding}{θ}
    \DeclareTextCommand{\textiota}{\LastDeclaredEncoding}{ι}
    \DeclareTextCommand{\textkappa}{\LastDeclaredEncoding}{κ}
    \DeclareTextCommand{\textlambda}{\LastDeclaredEncoding}{λ}
    \DeclareTextCommand{\textmu}{\LastDeclaredEncoding}{μ} % \textmugreek
    \DeclareTextCommand{\textnu}{\LastDeclaredEncoding}{ν}
    \DeclareTextCommand{\textxi}{\LastDeclaredEncoding}{ξ}
    \DeclareTextCommand{\textomicron}{\LastDeclaredEncoding}{ο}
    \DeclareTextCommand{\textpi}{\LastDeclaredEncoding}{π}
    \DeclareTextCommand{\textrho}{\LastDeclaredEncoding}{ρ}
    \DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{ς} % final sigma
    \DeclareTextCommand{\textfinalsigma}{\LastDeclaredEncoding}{\textvarsigma}
    \DeclareTextCommand{\textsigma}{\LastDeclaredEncoding}{σ}
    % Dummy definition (\textautosigma is lowercase of \textSigma):
    \ProvideTextCommand{\textautosigma}{\LastDeclaredEncoding}{\textsigma}
    \DeclareTextCommand{\texttau}{\LastDeclaredEncoding}{τ}
    \DeclareTextCommand{\textupsilon}{\LastDeclaredEncoding}{υ}
    \DeclareTextCommand{\textphi}{\LastDeclaredEncoding}{φ}
    \DeclareTextCommand{\textchi}{\LastDeclaredEncoding}{χ}
    \DeclareTextCommand{\textpsi}{\LastDeclaredEncoding}{ψ}
    \DeclareTextCommand{\textomega}{\LastDeclaredEncoding}{ω}

    \DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textiota}{ϊ}
    \DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textupsilon}{ϋ}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomicron}{ό}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textupsilon}{ύ}
    \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomega}{ώ}

    \DeclareTextCommand{\textQoppa}{\LastDeclaredEncoding}{Ϙ}
    \DeclareTextCommand{\textqoppa}{\LastDeclaredEncoding}{ϙ}
    \DeclareTextCommand{\textStigma}{\LastDeclaredEncoding}{Ϛ}
    \DeclareTextCommand{\textstigma}{\LastDeclaredEncoding}{ϛ}
    \DeclareTextCommand{\textDigamma}{\LastDeclaredEncoding}{Ϝ}
    \DeclareTextCommand{\textdigamma}{\LastDeclaredEncoding}{ϝ}
    \DeclareTextCommand{\textKoppa}{\LastDeclaredEncoding}{Ϟ} % not defined in LGR
    \DeclareTextCommand{\textkoppa}{\LastDeclaredEncoding}{ϟ} % \koppa, \textqoppa [sic!]
    \DeclareTextCommand{\textSampi}{\LastDeclaredEncoding}{Ϡ}
    \DeclareTextCommand{\textsampi}{\LastDeclaredEncoding}{ϡ}

## Greek Extended

We skip definitions for characters “… WITH OXIA”, because they would overwrite the defintions for “… WITH TONOS” in the Greek and Coptic block.

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textalpha}{ἀ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textalpha}{ἁ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textalpha}{ἂ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textalpha}{ἃ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textalpha}{ἄ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textalpha}{ἅ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textalpha}{ἆ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textalpha}{ἇ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textAlpha}{Ἀ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textAlpha}{Ἁ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textAlpha}{Ἂ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textAlpha}{Ἃ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha}{Ἄ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textAlpha}{Ἅ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textAlpha}{Ἆ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textAlpha}{Ἇ}

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textepsilon}{ἐ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textepsilon}{ἑ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textepsilon}{ἒ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textepsilon}{ἓ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textepsilon}{ἔ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textepsilon}{ἕ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEpsilon}{Ἐ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEpsilon}{Ἑ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEpsilon}{Ἒ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEpsilon}{Ἓ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEpsilon}{Ἔ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textEpsilon}{Ἕ}

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\texteta}{ἠ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\texteta}{ἡ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\texteta}{ἢ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\texteta}{ἣ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta}{ἤ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\texteta}{ἥ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\texteta}{ἦ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\texteta}{ἧ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEta}{Ἠ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEta}{Ἡ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEta}{Ἢ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEta}{Ἣ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta}{Ἤ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textEta}{Ἥ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textEta}{Ἦ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textEta}{Ἧ}

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textiota}{ἰ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textiota}{ἱ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textiota}{ἲ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textiota}{ἳ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textiota}{ἴ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textiota}{ἵ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textiota}{ἶ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textiota}{ἷ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textIota}{Ἰ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textIota}{Ἱ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textIota}{Ἲ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textIota}{Ἳ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textIota}{Ἴ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textIota}{Ἵ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textIota}{Ἶ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textIota}{Ἷ}

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomicron}{ὀ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomicron}{ὁ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomicron}{ὂ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomicron}{ὃ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomicron}{ὄ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textomicron}{ὅ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmicron}{Ὀ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmicron}{Ὁ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmicron}{Ὂ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmicron}{Ὃ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmicron}{Ὄ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textOmicron}{Ὅ}

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textupsilon}{ὐ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textupsilon}{ὑ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textupsilon}{ὒ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textupsilon}{ὓ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textupsilon}{ὔ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textupsilon}{ὕ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ὖ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ὗ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textUpsilon}{Ὑ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textUpsilon}{Ὓ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textUpsilon}{Ὕ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textUpsilon}{Ὗ}

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomega}{ὠ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomega}{ὡ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomega}{ὢ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomega}{ὣ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega}{ὤ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textomega}{ὥ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textomega}{ὦ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textomega}{ὧ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmega}{Ὠ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmega}{Ὡ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmega}{Ὢ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmega}{Ὣ}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega}{Ὤ}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textOmega}{Ὥ}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textOmega}{Ὦ}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textOmega}{Ὧ}

    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textalpha}{ὰ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textepsilon}{ὲ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\texteta}{ὴ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textiota}{ὶ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomicron}{ὸ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textupsilon}{ὺ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega}{ὼ}

    %% postfix ypogegrammeni cannot be second part of composite defs.
    % \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾀ}
    % \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾁ}
    % \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾂ}
    % \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾃ}
    % \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾄ}
    % \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾅ}
    % \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾆ}
    % \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾇ}
    % \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾈ}
    % \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾉ}
    % \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾊ}
    % \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾋ}
    % \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾌ}
    % \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾍ}
    % \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾎ}
    % \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾏ}
    %
    % \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾐ}
    % \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾑ}
    % \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾒ}
    % \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾓ}
    % \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾔ}
    % \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾕ}
    % \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾖ}
    % \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾗ}
    % \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾘ}
    % \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾙ}
    % \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾚ}
    % \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾛ}
    % \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾜ}
    % \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾝ}
    % \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾞ}
    % \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾟ}
    %
    % \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾠ}
    % \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾡ}
    % \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾢ}
    % \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾣ}
    % \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾤ}
    % \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾥ}
    % \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾦ}
    % \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾧ}
    % \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾨ}
    % \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾩ}
    % \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾪ}
    % \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾫ}
    % \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾬ}
    % \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾭ}
    % \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾮ}
    % \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾯ}

    \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textalpha}{ᾰ}
    \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textalpha}{ᾱ}
    % \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾲ}
    % \DeclareTextCompositeCommand{\textalpha}{\LastDeclaredEncoding}{\ypogegrammeni}{ᾳ}
    % \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾴ}
    \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textalpha}{ᾶ}
    \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha}{ᾶ}
    % \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾷ}
    \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textAlpha}{Ᾰ}
    \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textAlpha}{Ᾱ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textAlpha}{Ὰ}
    % \DeclareTextCompositeCommand{\textAlpha}{\LastDeclaredEncoding}{\prosgegrammeni}{ᾼ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾽}
    \DeclareTextCommand{\prosgegrammeni}{\LastDeclaredEncoding}{ι}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾿}

    \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textcompwordmark}{῀}
    \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῀}
    \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῁}
    % \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῂ}
    % \DeclareTextCompositeCommand{\texteta}{\LastDeclaredEncoding}{\ypogegrammeni}{ῃ}
    % \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῄ}
    \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\texteta}{ῆ}
    \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta}{ῆ}
    % \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῇ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEpsilon}{Ὲ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEta}{Ὴ}
    % \DeclareTextCompositeCommand{\textEta}{\LastDeclaredEncoding}{\prosgegrammeni}{ῌ}
    \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textcompwordmark}{῍}
    \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textcompwordmark}{῎}
    \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῏}

    \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textiota}{ῐ}
    \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textiota}{ῑ}
    \DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textiota}{ῒ}
    \DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textiota}{ΐ}
    \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textiota}{ῖ}
    \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textiota}{ῖ}
    \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textiota}{ῗ}
    \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textIota}{Ῐ}
    \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textIota}{Ῑ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textIota}{Ὶ}
    \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textcompwordmark}{῝}
    \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textcompwordmark}{῞}
    \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῟}

    \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textupsilon}{ῠ}
    \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textupsilon}{ῡ}
    \DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textupsilon}{ῢ}
    \DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textupsilon}{ΰ}
    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textrho}{ῤ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textrho}{ῥ}
    \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textupsilon}{ῦ}
    \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῦ}
    \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῧ}
    \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textUpsilon}{Ῠ}
    \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textUpsilon}{Ῡ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textUpsilon}{Ὺ}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textRho}{Ῥ}
    \DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textcompwordmark}{῭}
    \DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textcompwordmark}{΅}

    % \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῲ}
    % \DeclareTextCompositeCommand{\textomega}{\LastDeclaredEncoding}{\ypogegrammeni}{ῳ}
    % \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῴ}
    \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textomega}{ῶ}
    \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega}{ῶ}
    % \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῷ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmicron}{Ὸ}
    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmega}{Ὼ}
    % \DeclareTextCompositeCommand{\textOmega}{\LastDeclaredEncoding}{\prosgegrammeni}{ῼ}
    \DeclareTextCompositeCommand{\accoxia}{\LastDeclaredEncoding}{\textcompwordmark}{´}
    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textcompwordmark}{῾}

## Letterlike Symbols

    \DeclareTextCommand{\textohm}{\LastDeclaredEncoding}{Ω} % OHM SIGN

## Ancient Greek Numbers

TODO: map other chars to corresponding Greek letters. See also the grnumalt package.

Definition with literal Unicode characters, because the code-point has 5 hexadecimal digits:

    \DeclareTextCommand{\textpentedeka}{\LastDeclaredEncoding}{𐅄}    % GREEK ACROPHONIC ATTIC FIFTY
    \DeclareTextCommand{\textpentehekaton}{\LastDeclaredEncoding}{𐅅} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
    \DeclareTextCommand{\textpenteqilioi}{\LastDeclaredEncoding}{𐅆}  % GREEK ACROPHONIC ATTIC FIVE THOUSAND
    \DeclareTextCommand{\textpentemuria}{\LastDeclaredEncoding}{𐅇}   % GREEK ACROPHONIC ATTIC FIFTY THOUSAND

# UPPERCASE

The common Greek font encoding definitions in greek-fontenc.def extend the uclclist with Greek LICR macros. Here, we add Unicode-specific “hiatus” handling (copied from lgrenc.def and changed Latin transcription to Unicode literals):

    \DeclareTextCommand{\LGR@A@hiatus}{\LastDeclaredEncoding}{%
      \LGR@ifnextchar{Ι}{\textAlpha\"}{%
        \LGR@ifnextchar{Υ}{\textAlpha\"}{%
          \LGR@ifnextchar{\textIota}{\textAlpha\"}{%
            \LGR@ifnextchar{\textUpsilon}{\textAlpha\"}{\textAlpha}%
          }%
        }%
      }%
    }
    \DeclareTextCommand{\LGR@E@hiatus}{\LastDeclaredEncoding}{%
      \LGR@ifnextchar{Ι}{\textEpsilon\"}{%
        \LGR@ifnextchar{Υ}{\textEpsilon\"}{%
          \LGR@ifnextchar{\textIota}{\textEpsilon\"}{%
            \LGR@ifnextchar{\textUpsilon}{\textEpsilon\"}{\textEpsilon}%
          }%
        }%
      }%
    }