\documentclass[a4paper]{article}
% \usepackage{textcomp}
% \usepackage{hyperref,bookmark}
\usepackage{parskip}
% \usepackage{booktabs}

\usepackage{fontspec}
% \setmainfont{DejaVu Serif}
% \setsansfont{DejaVu Sans}
\usepackage{libertineotf}
% \setmainfont{FreeSerif}

% Declare the font encoding:
\ifdefined\XeTeXrevision
  % \DeclareFontEncoding{EU1}{}{}
  \usepackage[EU1]{fontenc}
\fi
\ifdefined\luatexversion
  % \DeclareFontEncoding{EU2}{}{}
  \usepackage[EU2]{fontenc}
\fi


% \newcommand{\UTFencname}{\LastDeclaredEncoding}
% \usepackage{xunicode}
\makeatletter
% Greek LICR definitions:
\input{greek-euenc.def}
\makeatother

\begin{document}

\section*{Greek LICR definitions with XeTeX/LuaTeX}

Typesetting Greek texts requires a font containing Greek letters. With the
XeTeX or LuaTeX engines, the user should ensure that the choosen font
contains the required glyphs (the default Latin Modern fonts have only
capital Greek letters). Examples for suitable fonts are the “Deja Vu” or
the “Linux Libertine” OpenType fonts.

\section{LICR input}

% The example from \texttt{usage.tex} in \emph{babel-greek} input
% using the LICR macros:

% \begin{quote}
%   \textTau\'\textiota{}
%   \textphi\'\texteta\textiota\textfinalsigma\texterotimatiko{}
%   \<\textIota\textdelta\`\textomega\textnu{}
%   \>\textepsilon\textnu\texttheta\'\textepsilon\textdelta\textepsilon{}
%   \textpi\textalpha\~\textiota\textdelta\'\'
%   \>\textepsilon\textlambda\textepsilon\textupsilon\texttheta\'\textepsilon\textrho\textalpha\textnu\\
%   \texttau\`\textalpha\textfinalsigma{}
%   \textpi\textlambda\texteta\textautosigma\'\textiota\textomicron\textnu{}
%   \textNu\'\textupsilon\textmu\textphi\textalpha\textfinalsigma{}
%   \textautosigma\texttau\textepsilon\textphi\textalpha\textnu\textomicron\~\textupsilon\textautosigma\textalpha\textnu{},
%   \textSigma\'\textomega\textautosigma\texttau\textrho\textalpha\texttau\textepsilon{},\\
%   \>\textepsilon\textrho\~\textomega\textnu{}
%   \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{}
%   \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{}
% \end{quote}

\subsection{Greek alphabet}

Greek letters via LICR macros:


\textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{}
\textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{}
\textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{}
\textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{}
\textChi{} \textPsi{} \textOmega{}

\textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{}
\textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{}
\textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{}
\textrho{} \textsigma{} \texttau{} \textupsilon{}
\textphi{} \textchi{} \textpsi{} \textomega{}

The small sigma is set with a different
glyph if it ends a word:

 \textsigma{}       textsigma        \\
 \textfinalsigma{}  textfinalsigma or textvarsigma

In the Latin transcription, the letter `s' stands for \verb|\textautosigma|
which automatically chooses the glyph according to the position.

\subsection{Additional Greek symbols}

\textkoppa{}      textkoppa                 \\ % ϟ
\textqoppa{}      textqoppa (archaic koppa) \\ % ϙ
\textQoppa{}      textQoppa (archaic Koppa) \\ % Ϙ
\textstigma{}     textstigma                \\ % ϛ
% \textvarstigma{}  textvarstigma \\ % no separate Unicode character
\textStigma{}     textStigma (Sigma-Tau-Ligature in CB-fonts)%
\footnote{the name “stigma” originally applied to a medieval sigma-tau
         ligature, whose shape was confusably similar to the cursive
         digamma}                      \\ % Ϛ
\textsampi{}      textsampi  \\ % ϡ
\textSampi{}      textSampi  \\ % Ϡ
\textdigamma{}  textdigamma  \\ % ϝ (\digamma used by amsmath!)
\textDigamma{}  textDigamma  \\ % Ϝ
% numeral signs: http://en.wikipedia.org/wiki/Greek_numerals
\textdexiakeraia{}    textdexiakeraia  \\ % ʹ
\textaristerikeraia{} textaristerikeraia \\ % ͵

Mathematical notation uses variant shapes for pi, kappa, rho, theta, and phi
as additional symbols. These variations have no syntactic meaning in Greek
text and are not given separate code-points in the LGR text encoding. Some
text fonts use the variant shapes in place of the “regular” ones.

TeX's concept of “standard” vs. “variant” symbols does not map to the
distinction between “Greek Letter ...” vs. “Greek Symbol ...” in the
Unicode standard:

\begin{tabular}{cccc}
math symbol & Unicode «letter» & var math symbol & Unicode «symbol» \\
$\epsilon$ & ε & $\varepsilon$  & ϵ \\
$\kappa$   & κ & \emph{missing} & ϰ \\
$\pi$      & π & $\varpi$       & ϖ \\
$\rho$     & ρ & $\varrho$      & ϱ \\
$\theta$   & θ & $\vartheta$    & ϑ \\
$\phi$     & φ & $\varphi$      & ϕ \\
\end{tabular}

\subsection{Diacritics}

Greek diacritcs can be input by named macro or symbol macro. Named macros
are defined in xunicode-greek.sty for \verb|\LastDeclaredEncoding| (here
\LastDeclaredEncoding).

\acctonos\textalpha       \'\textalpha{}  \acctonos       x\'x
\accvaria\textalpha       \`\textalpha{}  \accvaria       x\`x
\accdialytika\textiota    \"\textiota{}   \accdialytika   x\"x
\accperispomeni\textalpha \~\textalpha{}  \accperispomeni x\~x
\accpsili\textalpha       \>\textalpha{}  \accpsili       x\>x
\accdasia\textalpha       \<\textalpha{}  \accdasia       x\<x

Composite commands for combined diacritics are defined in
“greek-fontenc.def”, also for the \verb|\LastDeclaredEncoding|. There are
composite definitions for all pre-composed characters, the fallback
definition uses composite characters:

\accdialytikatonos\textiota{}     \"'\textiota{} \"\'\textiota{}
\accdialytikatonos x              \"'x           \"\'x
\accdialytikavaria\textiota{}     \"`\textiota{} \"\`\textiota{}
\accdialytikavaria x              \"`x           \"\`x
\accdialytikaperispomeni\textiota{} \~"\textiota{} \~\"\textiota{}
\accdialytikaperispomeni x        \~"x           \~\"x

\accdasiaoxia\textiota{}          \<'\textiota{} \<\'\textiota{}
\accdasiaoxia x                   \<'x           \<\'x
\accdasiavaria\textiota{}         \<`\textiota{} \<\`\textiota{}
\accdasiavaria x                  \<`x           \<\`x
\accdasiaperispomeni\textiota{}   \~<\textiota{} \~\<\textiota{}
\accdasiaperispomeni x            \~<x           \~\<x

\accpsilioxia\textiota{}          \>'\textiota{} \>\'\textiota{}
\accpsilioxia x                   \>'x           \>\'x
\accpsilivaria\textiota{}         \>`\textiota{} \>\`\textiota{}
\accpsilivaria x                  \>`x           \>\`x
\accpsiliperispomeni\textiota{}   \~>\textiota{} \~\>\textiota{}
\accpsiliperispomeni x            \~>x           \~\>x

Problems: Composite diacritics with breathings overlap when set using two
combining characters (in the tested fonts).


Upcasing with \verb|\MakeUppercase| drops diacritics (except
dialytika and sub-iota):

\MakeUppercase{
\accdialytikatonos\textiota       \"'\textiota{}  \accdialytikatonos x       \"'x
\accdialytikavaria\textiota       \"`\textiota{}  \accdialytikavaria x       \"`x
\accdialytikaperispomeni\textiota \~"\textiota{}  \accdialytikaperispomeni x \~"x
}

\MakeUppercase{
\accdasiaoxia\textiota            \<'\textiota{}  \accdasiaoxia x            \<'x
\accdasiavaria\textiota           \<`\textiota{}  \accdasiavaria x           \<`x
\accdasiaperispomeni\textiota     \~<\textiota{}  \accdasiaperispomeni x     \~<x
}

\MakeUppercase{
\accpsilioxia\textiota            \>'\textiota{}  \accpsilioxia x           \>'x
\accpsilivaria\textiota           \>`\textiota{}  \accpsilivaria x          \>`x
\accpsiliperispomeni\textiota     \~>\textiota{}  \accpsiliperispomeni x    \~>x
}


The sub-iota is input after the base letter.
Ligature definitions in the 8-bit LGR fonts ensure that pre-composed
characters are used. This does not work with XeTeX/LuaTeX:\footnote{%
  When copy/pasting generated output from the “evince” PDF
  viewer, the COMBINING GREEK YPOGEGRAMMENI is merged with the base
  character. A capital letter + combining ypogegrammeni results in GREEK
  CAPITAL LETTER ... WITH [.. AND] PROSGEGRAMMENI). This indicates that for
  a subfix (in contrast to post-fix) prosgegrammeni, the combining
  \emph{ypogegrammeni} could be used together with a captial base letter.}

\textalpha\ypogegrammeni{} x\ypogegrammeni{} \textAlpha\prosgegrammeni{}
X\prosgegrammeni, see also the \emph{Greek extended} Unicode block below.

Both, the standard LaTeX and the “xunicode” composite mechanism require
the first part of a composite definition to be a macro requiring one
argument.  I.e. selecting pre-defined characters with sub-iota requires
prefix \verb|\accypogegrammeni{}| and \verb|\accprosgegrammeni| accent
macros.

\subsection{Greek and Coptic Unicode block}

Greek symbols from the Greek and Coptic Unicode block are fully supported:

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

\textcompwordmark\ypogegrammeni{} % ͺ \textsubiota{\empty}
% 037B  GREEK SMALL REVERSED LUNATE SIGMA SYMBOL           %
% 037C  GREEK SMALL DOTTED LUNATE SIGMA SYMBOL             %
% 037D  GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL    %
\texterotimatiko{} % ; \textquestion

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

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

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

\textalpha{} % α
\textbeta{} % β
\textgamma{} % γ
\textdelta{} % δ
\textepsilon{} % ε
\textzeta{} % ζ
\texteta{} % η
\texttheta{} % θ
\textiota{} % ι
\textkappa{} % κ
\textlambda{} % λ
\textmu{} % μ \textmugreek
\textnu{} % ν
\textxi{} % ξ
\textomicron{} % ο
\textpi{} % π
\textrho{} % ρ
\textvarsigma{} % ς
\textsigma{} % σ
\texttau{} % τ
\textupsilon{} % υ
\textphi{} % φ
\textchi{} % χ
\textpsi{} % ψ
\textomega{} % ω

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

\textQoppa{} % Ϙ
\textqoppa{} % ϙ
\textStigma{} % Ϛ \Stigma
\textstigma{} % ϛ \stigma
\textDigamma{} % Ϝ \Digamma
\textdigamma{} % ϝ \ddigamma
%03DE GREEK LETTER KOPPA                      % Ϟ \textKoppagreek
\textkoppa{} % ϟ \koppa, \textqoppa [sic!]
\textSampi{} % Ϡ \Sampi
\textsampi{} % ϡ \sampi


\subsection{Greek Extended Unicode block}

Characters from the Greek Extended Unicode block are only partially
supported (multi-accented characters with sub-iota currently use a combining
prosgegrammeni or ypogegrammeni character.

For comparision, the LICR macro is followed by the corresponding literal
Unicode character:

\>\textalpha   ἀ
\<\textalpha   ἁ
\>`\textalpha  ἂ
\<`\textalpha  ἃ
\>'\textalpha  ἄ
\<'\textalpha  ἅ
\~>\textalpha  ἆ
\~<\textalpha  ἇ
\>\textAlpha   Ἀ
\<\textAlpha   Ἁ
\>`\textAlpha  Ἂ
\<`\textAlpha  Ἃ
\>'\textAlpha  Ἄ
\<'\textAlpha  Ἅ
\~>\textAlpha  Ἆ
\~<\textAlpha  Ἇ

\>\textepsilon   ἐ
\<\textepsilon   ἑ
\>`\textepsilon  ἒ
\<`\textepsilon  ἓ
\>'\textepsilon  ἔ
\<'\textepsilon  ἕ
\>\textEpsilon   Ἐ
\<\textEpsilon   Ἑ
\>`\textEpsilon  Ἒ
\<`\textEpsilon  Ἓ
\>'\textEpsilon  Ἔ
\<'\textEpsilon  Ἕ

\>\texteta   ἠ
\<\texteta   ἡ
\>`\texteta  ἢ
\<`\texteta  ἣ
\>'\texteta  ἤ
\<'\texteta  ἥ
\~>\texteta  ἦ
\~<\texteta  ἧ
\>\textEta   Ἠ
\<\textEta   Ἡ
\>`\textEta  Ἢ
\<`\textEta  Ἣ
\>'\textEta  Ἤ
\<'\textEta  Ἥ
\~>\textEta  Ἦ
\~<\textEta  Ἧ

\>\textiota   ἰ
\<\textiota   ἱ
\>`\textiota  ἲ
\<`\textiota  ἳ
\>'\textiota  ἴ
\<'\textiota  ἵ
\~>\textiota  ἶ
\~<\textiota  ἷ
\>\textIota   Ἰ
\<\textIota   Ἱ
\>`\textIota  Ἲ
\<`\textIota  Ἳ
\>'\textIota  Ἴ
\<'\textIota  Ἵ
\~>\textIota  Ἶ
\~<\textIota  Ἷ

\>\textomicron   ὀ
\<\textomicron   ὁ
\>`\textomicron  ὂ
\<`\textomicron  ὃ
\>'\textomicron  ὄ
\<'\textomicron  ὅ
\>\textOmicron   Ὀ
\<\textOmicron   Ὁ
\>`\textOmicron  Ὂ
\<`\textOmicron  Ὃ
\>'\textOmicron  Ὄ
\<'\textOmicron  Ὅ

\>\textupsilon   ὐ
\<\textupsilon   ὑ
\>`\textupsilon  ὒ
\<`\textupsilon  ὓ
\>'\textupsilon  ὔ
\<'\textupsilon  ὕ
\~>\textupsilon  ὖ
\~<\textupsilon  ὗ
\<\textUpsilon   Ὑ
\<`\textUpsilon  Ὓ
\<'\textUpsilon  Ὕ
\~<\textUpsilon  Ὗ

\>\textomega   ὠ
\<\textomega   ὡ
\>`\textomega  ὢ
\<`\textomega  ὣ
\>'\textomega  ὤ
\<'\textomega  ὥ
\~>\textomega  ὦ
\~<\textomega  ὧ
\>\textOmega   Ὠ
\<\textOmega   Ὡ
\>`\textOmega  Ὢ
\<`\textOmega  Ὣ
\>'\textOmega  Ὤ
\<'\textOmega  Ὥ
\~>\textOmega  Ὦ
\~<\textOmega  Ὧ

\`\textalpha    ὰ
\'\textalpha    ά
\`\textepsilon  ὲ
\'\textepsilon  έ
\`\texteta      ὴ
\'\texteta      ή
\`\textiota     ὶ
\'\textiota     ί
\`\textomicron  ὸ
\'\textomicron  ό
\`\textupsilon  ὺ
\'\textupsilon  ύ
\`\textomega    ὼ
\'\textomega    ώ

\>\textalpha\ypogegrammeni    ᾀ
\<\textalpha\ypogegrammeni    ᾁ
\>`\textalpha\ypogegrammeni   ᾂ
\<`\textalpha\ypogegrammeni   ᾃ
\>'\textalpha\ypogegrammeni   ᾄ
\<'\textalpha\ypogegrammeni   ᾅ
\~>\textalpha\ypogegrammeni   ᾆ
\~<\textalpha\ypogegrammeni   ᾇ
\>\textAlpha\prosgegrammeni   ᾈ
\<\textAlpha\prosgegrammeni   ᾉ
\>`\textAlpha\prosgegrammeni  ᾊ
\<`\textAlpha\prosgegrammeni  ᾋ
\>'\textAlpha\prosgegrammeni  ᾌ
\<'\textAlpha\prosgegrammeni  ᾍ
\~>\textAlpha\prosgegrammeni  ᾎ
\~<\textAlpha\prosgegrammeni  ᾏ

\>\texteta\ypogegrammeni    ᾐ
\<\texteta\ypogegrammeni    ᾑ
\>`\texteta\ypogegrammeni   ᾒ
\<`\texteta\ypogegrammeni   ᾓ
\>'\texteta\ypogegrammeni   ᾔ
\<'\texteta\ypogegrammeni   ᾕ
\~>\texteta\ypogegrammeni   ᾖ
\~<\texteta\ypogegrammeni   ᾗ
\>\textEta\prosgegrammeni   ᾘ
\<\textEta\prosgegrammeni   ᾙ
\>`\textEta\prosgegrammeni  ᾚ
\<`\textEta\prosgegrammeni  ᾛ
\>'\textEta\prosgegrammeni  ᾜ
\<'\textEta\prosgegrammeni  ᾝ
\~>\textEta\prosgegrammeni  ᾞ
\~<\textEta\prosgegrammeni  ᾟ

\>\textomega\ypogegrammeni    ᾠ
\<\textomega\ypogegrammeni    ᾡ
\>`\textomega\ypogegrammeni   ᾢ
\<`\textomega\ypogegrammeni   ᾣ
\>'\textomega\ypogegrammeni   ᾤ
\<'\textomega\ypogegrammeni   ᾥ
\~>\textomega\ypogegrammeni   ᾦ
\~<\textomega\ypogegrammeni   ᾧ
\>\textOmega\prosgegrammeni   ᾨ
\<\textOmega\prosgegrammeni   ᾩ
\>`\textOmega\prosgegrammeni  ᾪ
\<`\textOmega\prosgegrammeni  ᾫ
\>'\textOmega\prosgegrammeni  ᾬ
\<'\textOmega\prosgegrammeni  ᾭ
\~>\textOmega\prosgegrammeni  ᾮ
\~<\textOmega\prosgegrammeni  ᾯ

\u\textalpha                      ᾰ
\=\textalpha                      ᾱ
\`\textalpha\ypogegrammeni        ᾲ
\textalpha\ypogegrammeni          ᾳ
\'\textalpha\ypogegrammeni        ᾴ
\~\textalpha                      ᾶ
\~\textalpha\ypogegrammeni        ᾷ
\u\textAlpha                      Ᾰ
\=\textAlpha                      Ᾱ
\`\textAlpha                      Ὰ
\'\textAlpha                      Ά
\textAlpha\prosgegrammeni         ᾼ
\>\textcompwordmark               ᾽
\textcompwordmark\prosgegrammeni  ι
\>\textcompwordmark               ᾿

\accperispomeni\textcompwordmark  ῀
\"\~\textcompwordmark             ῁
\`\texteta\ypogegrammeni          ῂ
\texteta\ypogegrammeni            ῃ
\'\texteta\ypogegrammeni          ῄ
\~\texteta                        ῆ
\~\texteta\ypogegrammeni          ῇ
\`\textEpsilon                    Ὲ
\'\textEpsilon                    Έ
\`\textEta                        Ὴ
\'\textEta                        Ή
\textEta\prosgegrammeni           ῌ
\>`\textcompwordmark              ῍
\>'\textcompwordmark              ῎
\~>\textcompwordmark              ῏

\u\textiota                       ῐ
\=\textiota                       ῑ
\`"\textiota                      ῒ
\'"\textiota                      ΐ
\~\textiota                       ῖ
\~"\textiota                      ῗ
\u\textIota                       Ῐ
\=\textIota                       Ῑ
\`\textIota                       Ὶ
\'\textIota                       Ί
\<`\textcompwordmark              ῝
\>'\textcompwordmark              ῞
\~<\textcompwordmark              ῟

\u\textupsilon                    ῠ
\=\textupsilon                    ῡ
\`"\textupsilon                   ῢ
\'"\textupsilon                   ΰ
\>\textrho                        ῤ
\<\textrho                        ῥ
\~\textupsilon                    ῦ
\~"\textupsilon                   ῧ
\u\textUpsilon                    Ῠ
\=\textUpsilon                    Ῡ
\`\textUpsilon                    Ὺ
\'\textUpsilon                    Ύ
\<\textRho                        Ῥ
\`"\textcompwordmark              ῭
\'"\textcompwordmark              ΅
\accvaria\textcompwordmark        `

\`\textomega\ypogegrammeni        ῲ
\textomega\ypogegrammeni          ῳ
\'\textomega\ypogegrammeni        ῴ
\~\textomega                      ῶ
\~\textomega\ypogegrammeni        ῷ
\`\textOmicron                    Ὸ
\'\textOmicron                    Ό
\`\textOmega                      Ὼ
\'\textOmega                      Ώ
\textOmega\prosgegrammeni         ῼ
\accoxia\textcompwordmark         ´
\<\textcompwordmark               ῾

Ancient Greek Numbers are missing in most fonts (including Libertine and
Deja Vu). The “FreeSerif” font works fine.

\textpentedeka    % GREEK ACROPHONIC ATTIC FIFTY
\textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED
\textpenteqilioi  % GREEK ACROPHONIC ATTIC FIVE THOUSAND
\textpentemuria   % GREEK ACROPHONIC ATTIC FIFTY THOUSAND


\end{document}
