\documentclass[a4paper]{article}
\usepackage{cmap} % fix search and cut-and-paste in Acrobat Reader
\usepackage[LGRx,T2A, T1]{fontenc}
\usepackage[utf8]{inputenc}
% \usepackage{textcomp}
\usepackage{hyperref,bookmark}
\usepackage{parskip}
\usepackage{booktabs}

\usepackage{lmodern}
% \usepackage{kerkis}
% \usepackage{gfsdidot}

\newcommand{\LGR}{\fontencoding{LGR}\selectfont}
\newcommand{\Latin}{\fontencoding{T1}\selectfont}
\providecommand*{\textgreek}[1]{{\fontencoding{LGR}\selectfont #1}}


\begin{document}

\section*{Greek Unicode with \texttt{lgrenc.dfu}}

The definitions in \texttt{lgrenc.dfu} provide standards-compatible UTF-8
support for Greek based on the extended font encoding definitions in
\texttt{lgrxenc.def}.

Like other \emph{inputenc} Unicode definitions, they only work for text
in the correct font encoding (in this case LGR).
% e.g. Π produces:
% ! LaTeX Error: Command \textPi unavailable in encoding T1.
% just like Ж produces:
% ! LaTeX Error: Command \CYRZH unavailable in encoding T1.
%
The font encoding is automatically set to LGR by babel for the languages
\emph{greek} and \emph{polutonikogreek}.

With the combination
%
\begin{verbatim}
  \usepackage[utf8]{inputenc}
  \usepackage{textalpha}
\end{verbatim}
%
Greek Unicode literals can be used in text with any font encoding (with some
limitations to kerning, MakeUppercase/MakeLowercase and multiple accents,
described in \texttt{textalpha-test}).


\section{Supported Characters}

Unicode definitions exist for all non-ASCII characters that can be rendered
with an LGR-encoded font.

\subsection{Greek and Coptic}

\Latin legend: * glyph missing in LGR, · Unicode point not defined

\LGR
\begin{tabular}{rrrrrrrrrrrrrrrrr}
\toprule
& 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 &
  \Latin A & \Latin B & \Latin C & \Latin D & \Latin E & \Latin F\\
\midrule
\Latin 370 & * & * & * & * & ʹ & ͵ & * & * & · & · & ͺ & * & * & * & ; &  \\
\Latin 380 & · & · & · & · & ΄ & ΅ & Ά & · & Έ & Ή & Ί & · & Ό & · & Ύ & Ώ\\
\Latin 390 & ΐ & Α & Β & Γ & Δ & Ε & Ζ & Η & Θ & Ι & Κ & Λ & Μ & Ν & Ξ & Ο\\
\Latin 3A0 & Π & Ρ & · & Σ & Τ & Υ & Φ & Χ & Ψ & Ω & Ϊ & Ϋ & ά & έ & ή & ί\\
\Latin 3B0 & ΰ & α & β & γ & δ & ε & ζ & η & θ & ι & κ & λ & μ & ν & ξ & ο\\
\Latin 3C0 & π & ρ & ς & σ & τ & υ & φ & χ & ψ & ω & ϊ & ϋ & ό & ύ & ώ &  \\
\Latin 3D0 & * & * & * & * & * & * & * & * & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & * & ϟ\\
\Latin 3E0 & Ϡ & ϡ & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\
\Latin 3F0 & * & * & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\
\bottomrule
\end{tabular}

\subsection{Greek Extended}

\LGR
\begin{tabular}{rrrrrrrrrrrrrrrrr}
\toprule
& 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 &
  \Latin A & \Latin B & \Latin C & \Latin D & \Latin E & \Latin F\\
\midrule
 \Latin 1F00 & ἀ & ἁ & ἂ & ἃ & ἄ & ἅ & ἆ & ἇ & Ἀ & Ἁ & Ἂ & Ἃ & Ἄ & Ἅ & Ἆ & Ἇ\\
 \Latin 1F10 & ἐ & ἑ & ἒ & ἓ & ἔ & ἕ & · & · & Ἐ & Ἑ & Ἒ & Ἓ & Ἔ & Ἕ & · & ·\\
 \Latin 1F20 & ἠ & ἡ & ἢ & ἣ & ἤ & ἥ & ἦ & ἧ & Ἠ & Ἡ & Ἢ & Ἣ & Ἤ & Ἥ & Ἦ & Ἧ\\
 \Latin 1F30 & ἰ & ἱ & ἲ & ἳ & ἴ & ἵ & ἶ & ἷ & Ἰ & Ἱ & Ἲ & Ἳ & Ἴ & Ἵ & Ἶ & Ἷ\\
 \Latin 1F40 & ὀ & ὁ & ὂ & ὃ & ὄ & ὅ & · & · & Ὀ & Ὁ & Ὂ & Ὃ & Ὄ & Ὅ & · & ·\\
 \Latin 1F50 & ὐ & ὑ & ὒ & ὓ & ὔ & ὕ & ὖ & ὗ & · & Ὑ & · & Ὓ & · & Ὕ & · & Ὗ\\
 \Latin 1F60 & ὠ & ὡ & ὢ & ὣ & ὤ & ὥ & ὦ & ὧ & Ὠ & Ὡ & Ὢ & Ὣ & Ὤ & Ὥ & Ὦ & Ὧ\\
 \Latin 1F70 & ὰ & ά & ὲ & έ & ὴ & ή & ὶ & ί & ὸ & ό & ὺ & ύ & ὼ & ώ & · & ·\\
 \Latin 1F80 & ᾀ & ᾁ & ᾂ & ᾃ & ᾄ & ᾅ & ᾆ & ᾇ & ᾈ & ᾉ & ᾊ & ᾋ & ᾌ & ᾍ & ᾎ & ᾏ\\
 \Latin 1F90 & ᾐ & ᾑ & ᾒ & ᾓ & ᾔ & ᾕ & ᾖ & ᾗ & ᾘ & ᾙ & ᾚ & ᾛ & ᾜ & ᾝ & ᾞ & ᾟ\\
 \Latin 1FA0 & ᾠ & ᾡ & ᾢ & ᾣ & ᾤ & ᾥ & ᾦ & ᾧ & ᾨ & ᾩ & ᾪ & ᾫ & ᾬ & ᾭ & ᾮ & ᾯ\\
 \Latin 1FB0 & ᾰ & ᾱ & ᾲ & ᾳ & ᾴ & · & ᾶ & ᾷ & Ᾰ & Ᾱ & Ὰ & Ά & ᾼ & ᾽ & ι & ᾿\\
 \Latin 1Fc0 & ῀ & ῁ & ῂ & ῃ & ῄ & · & ῆ & ῇ & Ὲ & Έ & Ὴ & Ή & ῌ & ῍ & ῎ & ῏\\
 \Latin 1FD0 & ῐ & ῑ & ῒ & ΐ & · & · & ῖ & ῗ & Ῐ & Ῑ & Ὶ & Ί & · & ῝ & ῞ & ῟\\
 \Latin 1FE0 & ῠ & ῡ & ῢ & ΰ & ῤ & ῥ & ῦ & ῧ & Ῠ & Ῡ & Ὺ & Ύ & Ῥ & ῭ & ΅ & `\\
 \Latin 1FF0 & · & · & ῲ & ῳ & ῴ & · & ῶ & ῷ & Ὸ & Ό & Ὼ & Ώ & ῼ & ´ & ῾ & ·\\
\bottomrule
\end{tabular}

\Latin

\subsection{Other Unicode Blocks}

Latin-1 Supplement: \textgreek{¨ « ¯ ´ · »}

IPA Extensions: \textgreek{ə}

Spacing Modifier Letters: \textgreek{˘a} (here followed by letter alpha)

General Punctuation: \textgreek{– — ‘ ’ ‰} ZWNJ (zero width no joiner,
prevents kerning and ligatures, e.g. \textgreek{A‌‌U} vs. \textgreek{AU} and
\textgreek{'‌a} vs. \textgreek{'a})

Currency Symbols: \textgreek{€}

Letterlike Symbols: \textgreek{Ω}  % OHM SIGN, preferred representation is 03A9

\Latin Ancient Greek Numbers:
\LGR
𐅄 % \textPiDelta{} % GREEK ACROPHONIC ATTIC FIFTY
𐅅 % \textPiEta{}   % GREEK ACROPHONIC ATTIC FIVE HUNDRED
𐅆 % \textPiChi{}   % GREEK ACROPHONIC ATTIC FIVE THOUSAND
𐅇 % \textPiMu{}    % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
\Latin


\section{MakeUppercase, MakeLowercase}

Capital Greek letters have diacritics (except the dialytika) to the left
(instead of above) and drop them in uppercase, e.g.
\textgreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}.

Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if placed on
the first vowel of the diphthong (\textgreek{άι, άυ, έι}). A dialytika must
be placed on the second vowel if they are dropped
(\textgreek{\MakeUppercase{\'ai, \'au, \'ei}}).
% this does not work, see below: (\textgreek{\MakeUppercase{άι, άυ, έι}})

The auto-hiatus feature in lgrxend.def works nice with the Latin
transcription and with character-macros (%
\textgreek{\MakeUppercase{%
  \'ai,
  \'\textalpha \textupsilon,
  \'\textepsilon \textiota
}})
and also if the first character is wrapped in \verb+\TextGreek+ (as done by
the lgrenc.dfu definition for accented characters) or a literal Unicode
character
(\textgreek{\MakeUppercase{%
  \TextGreek{\'\textalpha}\textiota,
  ά\textiota
}})
but not if the second character of the diphthong is a Unicode literal
(\textgreek{\MakeUppercase{%
  \'\textalpha ι,
  άυ,
  \'\textepsilon ι
}}).

% Therefore, the diaresis is missing in the following examples:
% \textgreek{άυλος  $\mapsto$ \MakeUppercase{άυλος},
% 	   ἄυλος  $\mapsto$ \MakeUppercase{ἄυλος},
% 	   μάινα  $\mapsto$ \MakeUppercase{μάινα},
% 	   κέικ,  $\mapsto$ \MakeUppercase{κέικ},
% 	   ἀυπνία $\mapsto$ \MakeUppercase{ἀυπνία}}.

Fixing this shortcoming requires knowledge of what the
\verb+\LGR@ifnextchar+ ``sees'' when the next character is an upcased 
Unicode literal.

As an ugly workaround, use \verb+\textiota+ rsp. \verb+\textupsilon+
for the character that should get the diaresis:
\textgreek{ἀ\textupsilon{}πνία $\mapsto$ \MakeUppercase{ἀ\textupsilon{}πνία}}.


The following subsections test MakeUppercase and MakeLowercase with all
characters defined in lgrenc.dfu:

\subsection{Greek and Coptic}

\newcommand{\GreekAndCoptic}{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}
\newcommand{\greekandcoptic}{άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϙϛϝϟϡ}

Characters of the Greek and Coptic Unicode Block:

\begin{quote}
  \textgreek{\GreekAndCoptic}\\
  \textgreek{\greekandcoptic}
\end{quote}

Tonos dropped with MakeUppercase:

\begin{quote}
  \textgreek{\MakeUppercase{\GreekAndCoptic}}\\
  \textgreek{\MakeUppercase{\greekandcoptic}}
\end{quote}

MakeLowercase:

\begin{quote}
  \textgreek{\MakeLowercase{\GreekAndCoptic}}\\
  \textgreek{\MakeLowercase{\greekandcoptic}}
\end{quote}

The lowercase of {\LGR Σ} is the «auto-sigma»: \textgreek{ΤΣ $\mapsto$
\MakeLowercase{ΤΣ}, ΣΤ $\mapsto$ \MakeLowercase{ΣΤ}}. Add a ZWNJ or use the
\verb+\noboundary+ macro to prevent conversion to final sigma:
\textgreek{\MakeLowercase{ΤΣ‌}}. The lowercase of
\textgreek{Ϛ} is \textgreek{\MakeLowercase{Ϛ}}.

\newpage

\subsection{Greek extended}

MakeUppercase:

\LGR
\MakeUppercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
\MakeUppercase{ ἐ ἑ ἒ ἓ ἔ ἕ     Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ     }\\
\MakeUppercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
\MakeUppercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
\MakeUppercase{ ὀ ὁ ὂ ὃ ὄ ὅ     Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ     }\\
\MakeUppercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ   Ὑ   Ὓ   Ὕ   Ὗ }\\
\MakeUppercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
\MakeUppercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ     }\\
\MakeUppercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
\MakeUppercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
\MakeUppercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
\MakeUppercase{ ᾰ ᾱ ᾲ ᾳ ᾴ   ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
\MakeUppercase{ ῀ ῁ ῂ ῃ ῄ   ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
\MakeUppercase{ ῐ ῑ ῒ ΐ     ῖ ῗ Ῐ Ῑ Ὶ Ί   ῝ ῞ ῟ }\\
\MakeUppercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
\MakeUppercase{     ῲ ῳ ῴ   ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾   }

MakeLowercase:

\MakeLowercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
\MakeLowercase{ ἐ ἑ ἒ ἓ ἔ ἕ     Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ     }\\
\MakeLowercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
\MakeLowercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
\MakeLowercase{ ὀ ὁ ὂ ὃ ὄ ὅ     Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ     }\\
\MakeLowercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ   Ὑ   Ὓ   Ὕ   Ὗ }\\
\MakeLowercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
\MakeLowercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ     }\\
\MakeLowercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
\MakeLowercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
\MakeLowercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
\MakeLowercase{ ᾰ ᾱ ᾲ ᾳ ᾴ   ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
\MakeLowercase{ ῀ ῁ ῂ ῃ ῄ   ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
\MakeLowercase{ ῐ ῑ ῒ ΐ     ῖ ῗ Ῐ Ῑ Ὶ Ί   ῝ ῞ ῟ }\\
\MakeLowercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
\MakeLowercase{     ῲ ῳ ῴ   ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾   }
\Latin

\subsection{Other Unicode Blocks}

MakeUppercase works without effect on non-letter symbols and the letter shwa:

\LGR
\MakeUppercase{¨ « ¯ ´ · »}
\MakeUppercase{ə}
\MakeUppercase{˘a}
\MakeUppercase{– — ‘ ’ ‰ a‌u}
\MakeUppercase{€}
% \MakeUppercase{Ω}
\MakeUppercase{
𐅄 % GREEK ACROPHONIC ATTIC FIFTY
𐅅 % GREEK ACROPHONIC ATTIC FIVE HUNDRED
𐅆 % GREEK ACROPHONIC ATTIC FIVE THOUSAND
𐅇 % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
}

\Latin
MakeLowercase works without effect on non-letter symbols, too:

\LGR
\MakeLowercase{¨ « ¯ ´ · »}
\MakeLowercase{ə}
\MakeLowercase{˘A}
\MakeLowercase{– — ‘ ’ ‰ A‌‌U}
\MakeLowercase{€}
% \MakeLowercase{Ω}
\MakeLowercase{
𐅄 % GREEK ACROPHONIC ATTIC FIFTY
𐅅 % GREEK ACROPHONIC ATTIC FIVE HUNDRED
𐅆 % GREEK ACROPHONIC ATTIC FIVE THOUSAND
𐅇 % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
}

\end{document}


Problems with text-extraction from PDF with Kerkis:

     0  1 2 3 4  5   6 7  8  9  A  B  C D E    F
370  *  * * *  ΄  ͵  * *         ι *  * *   ;
380            ΄ ΅  ΄Α   ΄Ε ΄Η  ΄Ι   ΄Ο   ΄Υ  ΄Ω
390   ΐ Α Β Γ ∆  Ε   Ζ Η Θ    Ι Κ  Λ Μ  Ν Ξ    Ο
3Α0  Π  Ρ   Σ Τ  Υ  Φ  Χ Ψ   Ω   Ϊ Ϋ  ά έ  ή    ί
3Β0  ΰ  α ϐ γ δ  ε   Ϲ η  ϑ   ι κ  λ  µ ν  ξ   ο
3῝0  π  ϱ ς σ τ  υ   ϕ χ  ψ  ω   ϊ ϋ  ό ύ  ώ
3∆0  *  * * * *  *   * *     Ϟ  Ϝ  ϝ  Ϝ ϝ  *   ϟ
3Ε0     ϡ * * *  *   * *  *  *  *  *  * *  *   *
3Φ0  *  * * * *  *   * *  *  *  *  *  * *  *   *


0387	GREEK ANO TELEIA    missing
03B6    zeta  	  	          replaced by 03F9	GREEK CAPITAL LUNATE SIGMA SYMBOL
03B8	GREEK SMALL LETTER THETA  replaced by 03D1	GREEK THETA SYMBOL
03C1	GREEK SMALL LETTER RHO    replaced by 03F1	GREEK RHO SYMBOL
03C6	GREEK SMALL LETTER PHI    replaced by 03D5	GREEK PHI SYMBOL


and GFS Didot:

       0   1   2  3  4  5   6 7  8  9  A  B  C D  E   F
370 *      *   *  *   ´  ͵ *  *         ι *  * *   ;
380                   ´  ῆ Α
                         ´ ´    ´Ε ´Η  ´Ι   ´Ο   ´Υ  ´Ω
390 ῆ  ´ι Α   Β   Γ  ∆  Ε Ζ   Η  Θ  Ι  Κ  Λ Μ  Ν  Ξ   Ο
3Α0 Π      Ρ       Σ  Τ  Υ Φ   Χ Ψ   Ω   ῆ
                                        Ι ῆ
                                          Υ  ά έ  ή    ί
3Β0 ῆ ´υ  α    β  γ  δ  ε ζ   η  ϑ   ι κ  λ  μ ν  ξ   ο
 3῝0 π    ρ    ς  σ  τ  υ φ   χ  ψ  ω   ι
                                        ῆ υ
                                          ῆ  ό ύ ώ
3∆0 *      *   *  *  *  * *   *           Ϛ  Ϝ Ϝ  *   Ϟ
3Ε0            *  *  *  * *   *  *  *   * *  * *  *   *
3Φ0 *      *   *  *  *  * *   *  *  *   * *  * *  *   *
