greek-euenc.def

Greek LICR definitions for XeTeX and LuaTeX

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.

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}%
      }%
    }%
  }%
}