texlive[67985] Master/texmf-dist: babel-greek (19aug23)

commits+karl at tug.org commits+karl at tug.org
Sat Aug 19 22:42:10 CEST 2023


Revision: 67985
          http://tug.org/svn/texlive?view=revision&revision=67985
Author:   karl
Date:     2023-08-19 22:42:10 +0200 (Sat, 19 Aug 2023)
Log Message:
-----------
babel-greek (19aug23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/babel-greek/README.md
    trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
    trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
    trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
    trunk/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
    trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex
    trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
    trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
    trunk/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
    trunk/Master/texmf-dist/tex/generic/babel-greek/greek.ldf

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/README.md	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/README.md	2023-08-19 20:42:10 UTC (rev 67985)
@@ -4,7 +4,7 @@
 Comprehensive support for the Greek language and script with
 [Babel](https://ctan.org/pkg/babel).
 
-**Version**: 1.13.2
+**Version**: 1.14
 
 **Copyright**: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
                © 2013 - 2023 Günter Milde.

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html	2023-08-19 20:42:10 UTC (rev 67985)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta charset="utf-8" />
-<meta name="generator" content="Docutils 0.20.2b.dev: https://docutils.sourceforge.io/" />
+<meta name="generator" content="Docutils 0.21b.dev: https://docutils.sourceforge.io/" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <meta name="dcterms.rights" content="© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 – 2023 Günter Milde." />
 <title>babel-greek</title>
@@ -794,7 +794,7 @@
 <p class="subtitle" id="babel-support-for-the-greek-language-and-script">Babel support for the Greek language and script</p>
 <dl class="docinfo">
 <dt class="version">Version<span class="colon">:</span></dt>
-<dd class="version">1.13.2 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
+<dd class="version">1.14 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
 <dt class="copyright">Copyright<span class="colon">:</span></dt>
 <dd class="copyright">© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
 © 2013 – 2023 Günter Milde.</dd>
@@ -901,11 +901,11 @@
 <dd><p>run LaTeX on the test documents,</p>
 </dd>
 <dt><span class="docutils literal">update</span><span class="colon">:</span></dt>
-<dd><p>copy packages into a local TeX tree,<a class="footnote-reference superscript" href="#update" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
+<dd><p>copy packages into a local TeX tree,<a class="superscript" href="#update" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
 </dd>
 <dt><span class="docutils literal"><span class="pre">update-package</span></span><span class="colon">:</span></dt>
 <dd><p>copy documentation and sources into a local
-TeX tree,<a class="footnote-reference superscript" href="#update" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
+TeX tree,<a class="superscript" href="#update" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
 </dd>
 <dt><span class="docutils literal">clean</span><span class="colon">:</span></dt>
 <dd><p>delete auxiliary files.</p>
@@ -926,7 +926,7 @@
 <p>To <strong>load Greek language support</strong> with Babel, use the <span class="docutils literal">greek</span>
 document option or pass the <span class="docutils literal">greek</span> option to Babel. For example,</p>
 <pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[greek,english]</span><span class="name builtin">{</span>babel<span class="name builtin">}</span></code></pre>
-<p>activates support for Greek text parts in an English document.<a class="footnote-reference superscript" href="#footnote-1" id="footnote-reference-3" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a></p>
+<p>activates support for Greek text parts in an English document.<a class="superscript" href="#footnote-1" id="footnote-reference-3" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a></p>
 <p>For ancient Greek, set the language attribute  “ancient”, either
 after loading Babel</p>
 <pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[greek,english]</span><span class="name builtin">{</span>babel<span class="name builtin">}</span>
@@ -948,9 +948,9 @@
 For details see the <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> documentation and <a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a>.</p>
 <p>Input of Greek characters is possible</p>
 <ul class="simple">
-<li><p>as literal characters (α … Ω)<a class="footnote-reference superscript" href="#footnote-2" id="footnote-reference-4" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a>,</p></li>
+<li><p>as literal characters (α … Ω)<a class="superscript" href="#footnote-2" id="footnote-reference-4" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a>,</p></li>
 <li><p>as LICR macro (<span class="docutils literal">\textalpha{} ... \textOmega</span>),</p></li>
-<li><p>or via the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a> (a … W)<a class="footnote-reference superscript" href="#footnote-3" id="footnote-reference-5" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a>.</p></li>
+<li><p>or via the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a> (a … W)<a class="superscript" href="#footnote-3" id="footnote-reference-5" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a>.</p></li>
 </ul>
 <p>For details and caveats, see <a class="reference external" href="test-greek.pdf">test-greek.pdf</a> and the example files
 provided with <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p>
@@ -1154,7 +1154,7 @@
 <tr><td><p>dialytika</p></td>
 <td><p><span class="docutils literal">"i</span></p></td>
 <td><p>ϊ</p></td>
-<td><p>ano teleia<a class="footnote-reference superscript" href="#footnote-4" id="footnote-reference-6" role="doc-noteref"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></a></p></td>
+<td><p>ano teleia<a class="superscript" href="#footnote-4" id="footnote-reference-6" role="doc-noteref"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></a></p></td>
 <td><p><span class="docutils literal">;</span></p></td>
 <td><p>·</p></td>
 </tr>
@@ -1192,7 +1192,8 @@
 They are still used in everyday life for ordinal numbers and
 more generally by the Orthodox church and certain scholars.</p>
 <p>Greek numerals use several now obsolete letters:
-<a class="reference external" href="https://en.wikipedia.org/wiki/Digamma">digamma</a> ϝ or <a class="reference external" href="https://en.wikipedia.org/wiki/Stigma_(ligature)">stigma</a> ϛ, <a class="reference external" href="https://en.wikipedia.org/wiki/Koppa_(letter)">koppa</a> ϟ or ϙ, and <a class="reference external" href="https://en.wikipedia.org/wiki/Sampi">sampi</a> ϡ <a class="citation-reference" href="#nicholas-05" id="citation-reference-2" role="doc-biblioref">[Nicholas-05]</a>.</p>
+<a class="reference external" href="https://en.wikipedia.org/wiki/Digamma">digamma</a> ϝ or <a class="reference external" href="https://en.wikipedia.org/wiki/Stigma_(ligature)">stigma</a> ϛ, <a class="reference external" href="https://en.wikipedia.org/wiki/Koppa_(letter)">koppa</a> ϟ or ϙ, and <a class="reference external" href="https://en.wikipedia.org/wiki/Sampi">sampi</a> ϡ
+<a class="citation-reference" href="#nicholas-05" id="citation-reference-2" role="doc-biblioref">[Nicholas-05]</a> <a class="citation-reference" href="#haralambous-98" id="citation-reference-3" role="doc-biblioref">[Haralambous-98]</a>.</p>
 <ul>
 <li><p>Standing for 6 is the <a class="reference external" href="https://en.wikipedia.org/wiki/Digamma">digamma</a> ϝ, the sixth letter of the Ionic
 alphabet (just as its Latin equivalent F is the sixth letter of the
@@ -1329,7 +1330,7 @@
 <dd><ul class="simple">
 <li><p>Babel 3.9i deprecated <span class="docutils literal">\textlatin</span> and fixed <span class="docutils literal">\latinencoding</span>.
 1.9h (2019-07-11)</p></li>
-<li><p>Move breathing composite commands to <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">textalpha</a>.</p></li>
+<li><p>Move breathing composite commands to <a class="reference external" href="http://mirrors.ctan.org/language/greek/greek-fontenc/textalpha-doc.pdf">textalpha</a>.</p></li>
 </ul>
 </dd>
 <dt>1.9i (2020-02-28)</dt>
@@ -1364,7 +1365,7 @@
 <dd><ul class="simple">
 <li><p>Do not change the uccode values if the LaTeX version is newer than
 2022/06. The new <span class="docutils literal">\MakeUppercase</span> definition ignores them and fails
-with the “dummy” character 0x9f (cf. <a class="citation-reference" href="#ltnews35" id="citation-reference-3" role="doc-biblioref">[ltnews35]</a>, <a class="reference external" href="https://github.com/latex3/latex2e/issues/987">LaTeX issue 987</a>).</p></li>
+with the “dummy” character 0x9f (cf. <a class="citation-reference" href="#ltnews35" id="citation-reference-4" role="doc-biblioref">[ltnews35]</a>, <a class="reference external" href="https://github.com/latex3/latex2e/issues/987">LaTeX issue 987</a>).</p></li>
 <li><p>New modifiers <span class="docutils literal"><span class="pre">local-LGR-fixes</span></span> and <span class="docutils literal"><span class="pre">no-LGR-fixes</span></span> to address
 indexing problmes with Roman numerals (<a class="reference external" href="https://github.com/latex3/babel/issues/170">Babel issue 170</a>). Provisional.</p></li>
 <li><p>New TextCommand <span class="docutils literal">\EnsureStandardFontEncoding</span>.</p></li>
@@ -1398,6 +1399,12 @@
 drop accents with <span class="docutils literal">\DeclareUppercaseMapping</span> (<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews37.pdf">new in LaTeX 2023</a>).</p></li>
 </ul>
 </dd>
+<dt>1.14 (2023-08-18)</dt>
+<dd><ul class="simple">
+<li><p>Fix upcasing of Greek letters with standard accent macros.</p></li>
+<li><p>New modifier <cite>local-MakeUppercase-fixes</cite>.</p></li>
+</ul>
+</dd>
 </dl>
 </section>
 <section id="references">
@@ -1409,7 +1416,7 @@
 <a class="reference external" href="https://www.latex-project.org/help/documentation/fntguide.pdf">https://www.latex-project.org/help/documentation/fntguide.pdf</a></p>
 </div>
 <div class="citation" id="ltnews35" role="doc-biblioentry">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">ltnews35</a><span class="fn-bracket">]</span></span>
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">ltnews35</a><span class="fn-bracket">]</span></span>
 <p>LaTeX Project Team <cite>LaTeX News 35</cite>, June 2022.
 <a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews35.pdf">https://www.latex-project.org/news/latex2e-news/ltnews35.pdf</a></p>
 </div>
@@ -1425,7 +1432,7 @@
 <a class="reference external" href="https://irenevl.github.io/Polytonic-tutorial/">https://irenevl.github.io/Polytonic-tutorial/</a></p>
 </div>
 <div class="citation" id="haralambous-98" role="doc-biblioentry">
-<span class="label"><span class="fn-bracket">[</span>Haralambous-98<span class="fn-bracket">]</span></span>
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">Haralambous-98</a><span class="fn-bracket">]</span></span>
 <p>Yannis Haralambous
 <cite>From Unicode to Typography, a Case Study: the Greek Script</cite>, 1998.
 <a class="reference external" href="https://hal.science/hal-02101618">https://hal.science/hal-02101618</a></p>

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst	2023-08-19 20:42:10 UTC (rev 67985)
@@ -3,7 +3,7 @@
 Babel support for the Greek language and script
 ===============================================
 
-:Version: 1.13.2 (changelog_)
+:Version: 1.14 (changelog_)
 
 :Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
             © 2013 -- 2023 Günter Milde.
@@ -261,7 +261,8 @@
 more generally by the Orthodox church and certain scholars.
 
 Greek numerals use several now obsolete letters:
-digamma_ ϝ or stigma_ ϛ, koppa_ ϟ or ϙ, and sampi_ ϡ [Nicholas-05]_.
+digamma_ ϝ or stigma_ ϛ, koppa_ ϟ or ϙ, and sampi_ ϡ
+[Nicholas-05]_ [Haralambous-98]_.
 
 * Standing for 6 is the digamma_ ϝ, the sixth letter of the Ionic
   alphabet (just as its Latin equivalent F is the sixth letter of the
@@ -406,6 +407,9 @@
        (code contributed by Javier Bezos).
      - Fix upcasing of text using the `LGR Latin transliteration`_:
        drop accents with ``\DeclareUppercaseMapping`` (`new in LaTeX 2023`_).
+1.14 (2023-08-18)
+     - Fix upcasing of Greek letters with standard accent macros.
+     - New modifier `local-MakeUppercase-fixes`.
 
 .. _babel/4303: http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4303
 .. _babel/4305: http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4305
@@ -447,7 +451,7 @@
 .. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex
 .. _grtimes: https://ctan.org/pkg/grtimes
 .. _hyperref: https://ctan.org/pkg/hyperref
-.. _textalpha:
+.. _textalpha: http://mirrors.ctan.org/language/greek/greek-fontenc/textalpha-doc.pdf
 .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc
 .. _LGR: http://mirrors.ctan.org/language/greek/greek-fontenc/greek-fontenc-doc.html#lgr
 .. _greek-inputenc: https://ctan.org/pkg/greek-inputenc

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex	2023-08-19 20:42:10 UTC (rev 67985)
@@ -1,1117 +0,0 @@
-% Backrolling does not work for \MakeUppercase (cf. LaTeX News 35)
-% \RequirePackage{latexbug}
-%\RequirePackage[2022-05-01]{latexrelease}
-
-\documentclass[a4paper]{article}
-
-\usepackage[LGR,T1]{fontenc}
-\usepackage{lmodern}
-
-\ifdefined \UnicodeEncodingName
-  \usepackage{fontspec}
-  \setmainfont{FreeSerif}
-  \newcommand*{\texengine}{Xe/LuaLaTeX}
-\else
-  \usepackage{lmodern}
-  \newcommand*{\texengine}{pdfLaTeX}
-\fi
-
-% Load encoding definitions
-\usepackage[normalize-symbols]{textalpha}  % "Greek script everywhere"
-
-% With TL22, the special handling of Greek UPPERCASE is only triggered
-% if the text language is set to "greek" with Babel:
-%
-\usepackage[greek,english]{babel}  % babel-greek
-% \usepackage[greek,english,provide=*]{babel}    % Babel's Greek "ini"
-% \languageattribute{greek}{polutoniko}  % "modern" polytonic Greek
-\languageattribute{greek}{ancient}
-
-
-\usepackage[unicode,colorlinks,linkcolor=blue]{hyperref}
-\usepackage{bookmark}
-
-% Auxiliary commands
-
-\newcommand{\langGreek}{\foreignlanguage{greek}}
-
-% print the selected language variant
-\newcommand{\GreekLanguageVariant}{%
-  \ifx\captionsgreek\captionspolutonikogreek
-    \ifx\captionsgreek\captionsancientgreek
-      ancient%
-    \else
-      polutoniko%
-    \fi
-  \else
-    monotoniko%
-  \fi
-}
-
-% test effect of new implementations on compilation time:
-%
-% pdflatex from TL22 is about 7 times slower than the version from TL21
-% (7s vs. 1s for this document with 13 pages).
-% With the dummy definitons,
-% \renewcommand{\MakeUppercase}{}
-% \renewcommand{\MakeLowercase}{}
-% pdflatex from TL22 is a bit faster than before
-% (0.7s vs. 1s for this document),
-
-% -----------------------------------------------------------------------
-
-\begin{document}
-
-\tableofcontents
-
-\section{Test case conversions of Greek letters}
-
-This document tests the combination of \verb|MakeUppercase| and Greek.
-
-\makeatletter
-It is compiled with \texengine, format version \fmtversion{} patch-level
-\patch at level{} and the L3 programming layer from \ExplFileDate{}.
-\makeatother
-The \verb|\greekfontencoding| is \greekfontencoding.
-
-\section{Unicode literals}
-
-\subsection{Greek and Coptic}
-
-Characters from the Greek and Coptic Unicode block that are supported by
-\emph{greek-fontenc} and \emph{greek-inputenc}:
-
-\newcommand{\GreekAndCoptic}{
-    \raggedright
-    ␣  ␣  ␣  ␣  ʹ  ͵  ␣  ␣  ␣  ␣  ͺ  ␣  ␣  ␣  ;  ␣  \\
-    ␣  ␣  ␣  ␣  ΄  ΅  Ά  ·  Έ  Ή  Ί  ␣  Ό  ␣  Ύ  Ώ  \\
-    ΐ  Α  Β  Γ  Δ  Ε  Ζ  Η  Θ  Ι  Κ  Λ  Μ  Ν  Ξ  Ο  \\
-    Π  Ρ  ␣  Σ  Τ  Υ  Φ  Χ  Ψ  Ω  Ϊ  Ϋ  ά  έ  ή  ί  \\
-    ΰ  α  β  γ  δ  ε  ζ  η  θ  ι  κ  λ  μ  ν  ξ  ο  \\
-    π  ρ  ς  σ  τ  υ  φ  χ  ψ  ω  ϊ  ϋ  ό  ύ  ώ  ␣  \\
-    ϐ  ϑ  ␣  ␣  ␣  ϕ  ϖ  ␣  Ϙ  ϙ  Ϛ  ϛ  Ϝ  ϝ  Ϟ  ϟ  \\
-    Ϡ  ϡ  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ϰ  ϱ ϴ ϵ ␣  \\
-
-}
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekAndCoptic
-\end{quote}
-%
-MakeUppercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekAndCoptic}
-\end{quote}
-%
-MakeLowercase:
-\begin{quote}
- \selectlanguage{greek}
-  \MakeLowercase{\GreekAndCoptic}
-\end{quote}
-
-The lowercase of \langGreek{Σ} is the «auto-sigma»
-(\verb|\textautosigma|): \langGreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}.
-Add a ZWNJ or use the \verb|\noboundary| macro to prevent conversion to
-final sigma: \langGreek{\MakeLowercase{ΣΣ‌}} (works only with "old"
-(pre-2022) \verb|\MakeLowercase|).
-
-
-\subsection{Greek extended}
-
-Characters of the Greek Extended Unicode block:
-
-\newcommand{\GreekExtended}{\raggedright
-  ἀ   ἁ   ἂ   ἃ   ἄ   ἅ   ἆ    ἇ    Ἀ   Ἁ   Ἂ   Ἃ   Ἄ   Ἅ   Ἆ  Ἇ \\
-  ἐ   ἑ   ἒ   ἓ   ἔ   ἕ   ␣    ␣    Ἐ   Ἑ   Ἒ   Ἓ   Ἔ   Ἕ        \\
-  ἠ   ἡ   ἢ   ἣ   ἤ   ἥ   ἦ    ἧ    Ἠ   Ἡ   Ἢ   Ἣ   Ἤ   Ἥ   Ἦ  Ἧ \\
-  ἰ   ἱ   ἲ   ἳ   ἴ   ἵ   ἶ    ἷ    Ἰ   Ἱ   Ἲ   Ἳ   Ἴ   Ἵ   Ἶ  Ἷ \\
-  ὀ   ὁ   ὂ   ὃ   ὄ   ὅ   ␣    ␣    Ὀ   Ὁ   Ὂ   Ὃ   Ὄ   Ὅ        \\
-  ὐ   ὑ   ὒ   ὓ   ὔ   ὕ   ὖ    ὗ    ␣   Ὑ   ␣   Ὓ   ␣   Ὕ   ␣  Ὗ \\
-  ὠ   ὡ   ὢ   ὣ   ὤ   ὥ   ὦ    ὧ    Ὠ   Ὡ   Ὢ   Ὣ   Ὤ   Ὥ   Ὦ  Ὧ \\
-  ὰ   ά   ὲ   έ   ὴ   ή   ὶ    ί    ὸ   ό   ὺ   ύ   ὼ   ώ        \\
-  ᾀ   ᾁ   ᾂ   ᾃ   ᾄ   ᾅ   ᾆ    ᾇ    ᾈ   ᾉ   ᾊ   ᾋ   ᾌ   ᾍ   ᾎ  ᾏ \\
-  ᾐ   ᾑ   ᾒ   ᾓ   ᾔ   ᾕ   ᾖ    ᾗ    ᾘ   ᾙ   ᾚ   ᾛ   ᾜ   ᾝ   ᾞ  ᾟ \\
-  ᾠ   ᾡ   ᾢ   ᾣ   ᾤ   ᾦ   ᾧ    ᾥ    ᾨ   ᾩ   ᾪ   ᾫ   ᾬ   ᾭ   ᾮ  ᾯ \\
-  ᾰ   ᾱ   ᾲ   ᾳ   ᾴ   ␣   ᾶ    ᾷ    Ᾰ   Ᾱ   Ὰ   Ά   ᾼ   ᾽   ι  ᾿ \\
-  ῀   ῁   ῂ   ῃ   ῄ   ␣   ῆ    ῇ    Ὲ   Έ   Ὴ   Ή   ῌ   ῍   ῎  ῏ \\
-  ῐ   ῑ   ῒ   ΐ   ␣   ␣   ῖ    ῗ    Ῐ   Ῑ   Ὶ   Ί   ␣   ῝   ῞  ῟ \\
-  ῠ   ῡ   ῢ   ΰ   ␣   ␣   ῤ    ῥ    ῦ   ῧ   Ὺ   Ύ   Ῥ   ῭   ΅  ` \\
-  ␣   ␣   ῲ   ῳ   ῴ   ␣   ῶ    ῷ    Ὸ   Ό   Ὼ   Ώ   ῼ   ´   ῾  ␣
-}
-
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekExtended
-\end{quote}
-%
-MakeUppercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekExtended}
-\end{quote}
-
-MakeLowercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeLowercase{\GreekExtended}
-\end{quote}
-
-% With TeXLive 2020 (old \verb|\Makeuppercase|),
-% all accents except dialytika and prosgegrammeni are dropped in UPPERCASE
-% and kept in lowercase.
-% No errors.
-%
-% With current TeXLive:
-%   pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022)
-%   LaTeX2e <2022-11-01> patch level 1
-%   L3 programming layer <2023-02-22>
-%
-% Upcasing ``Unicode errors'' are resolved.
-%
-% Uppercase of character ';' 0x37E GREEK QUESTION MARK is a semicolon
-% which is mapped to '·' 0x387 GREEK ANO TELEIA by LGR. :(
-%
-% Accents dropped with MakeUppercase (not for single letter ή) :)
-% TODO: how to treat MakeUppercase of a single captial «΄Η»?
-%
-% Should the “educational”/“Latin” accents *macron* and *breve* (*vrachy*)
-% be kept (they stay above capital letters similar to the dialytika,
-% they are kept by Apostolos Syropoulos' “xgreek” package and in babel-greek
-% “since ages”) or dropped (they are optional even in lowercase or titlecase
-% and dropped for the entry by the English wiktionary).
-% https://en.wiktionary.org/wiki/Wiktionary:About_Ancient_Greek#Diacritics_and_accentuation
-%
-% Spacing prosgegrammeni (ι) turned to capital Iota. (minor)
-%
-% Spacing single diacritics are kept. (irrelevant, OK)
-% Spacing combining diacritics are mapped to single diacritics. (irrelevant)
-%
-% Auto-Hiatus: ἀυπνία → ΑΥΠΝΙΑ (missing dialytika on the Upsilon).
-
-% With pdfLaTeX and LGR, a ZWNJ or the ``\noboundary`` macro can be used to
-% prevent conversion of trailing Σ to a final sigma ς by ``\MakeLowercase``.
-% This does not work with Unicode fonts (XeTeX/LuaTeX).
-
-% With XeTeX and Unicode fonts,
-\subsubsection{hiatus}
-
-Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if placed on
-the first of two consecutive vowels (άι, άυ, έι, ἀυ, ἄι, ἄυ, ἔι).
-A dialytika must be placed on the second vowel if they are dropped.
-
-Since the 2022/06 LaTeX release, it works with monotonic Unicode literals
-(since 2023/02/10] also some polytonic but fails with psili):
-\begin{quote}
-  \selectlanguage{greek}
-  \newcommand*{\hiatest}{άι, άυ, έι, ἄι, ἄυ, ἔι, ἀυ}
-  \hiatest{} $\mapsto$ \MakeUppercase{\hiatest}
-\end{quote}
-
-Example \foreignlanguage{greek}{ἀυπνία $\mapsto$ \MakeUppercase{ἀυπνία}}
-(missing dialytika on the Upsilon).
-
-\section{LICR macros}
-
-This section compares literal Unicode Greek characters to characters input
-as LICR macros
-
-\subsection{Greek and Coptic}
-
-\subsubsection{short accent macros}
-
-\renewcommand{\GreekAndCoptic}{% only characters supported by LGR
-  \raggedright
-  ␣  ␣  ␣  ␣  ʹ  ͵  ␣  ␣  ␣  ␣  ͺ  ␣  ␣  ␣  ;  ␣  \\
-  ␣  ␣  ␣  ␣  \textnumeralsigngreek{} \textnumeralsignlowergreek{}
-  ␣  ␣  ␣  ␣  { }\ypogegrammeni{} ␣  ␣  ␣  \texterotimatiko\\
-
-  ␣  ␣  ␣  ␣  ΄  ΅  Ά  ·  Έ  Ή  Ί  ␣  Ό  ␣  Ύ  Ώ  \\
-
-  ␣  ␣  ␣  ␣ \'{ } \"'{ } \'\textAlpha{} \textanoteleia{}
-  \'\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{} \textnu{} \textxi{} \textomicron{} \\
-
-  π  ρ  ς  σ  τ  υ  φ  χ  ψ  ω  ϊ  ϋ  ό  ύ  ώ  ␣  \\
-  \textpi{} \textrho{} \textfinalsigma{} \textsigma{} \texttau{}
-  \textupsilon{} \textphi{} \textchi{} \textpsi{} \textomega{} \"\textiota{}
-  \"\textupsilon{} \'\textomicron{} \'\textupsilon{} \'\textomega{} \\
-
-  ϐ  ϑ  ␣  ␣  ␣  ϕ  ϖ  ␣  Ϙ  ϙ  Ϛ  ϛ  Ϝ  ϝ  Ϟ  ϟ  \\
-  \textbetasymbol{} \textthetasymbol{} ␣  ␣  ␣ \textphisymbol{}
-  \textpisymbol{} ␣ \textQoppa{} \textqoppa{} \textStigma{} \textstigma{}
-  \textDigamma{} \textdigamma{} \textKoppa{} \textkoppa{} \\
-
-  Ϡ  ϡ  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ϰ  ϱ ϴ ϵ \\
-  \textSampi{} \textsampi{} ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣
-  \textkappasymbol{} \textrhosymbol{} \textThetasymbol{} \textepsilonsymbol
-}
-
-No case change:
-
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekAndCoptic
-\end{quote}
-%
-MakeUppercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekAndCoptic}
-\end{quote}
-%
-MakeLowercase:
-\begin{quote}
- \selectlanguage{greek}
-  \MakeLowercase{\GreekAndCoptic}
-\end{quote}
-
-\subsubsection{named accent macros}
-
-\renewcommand{\GreekAndCoptic}{% only characters supported by LGR
-  \raggedright
-  ␣  ␣  ␣  ␣  ʹ  ͵  ␣  ␣  ␣  ␣  ͺ  ␣  ␣  ␣  ;  ␣  \\
-  ␣  ␣  ␣  ␣  \textnumeralsigngreek{} \textnumeralsignlowergreek{}
-  ␣  ␣  ␣  ␣  { }\ypogegrammeni{} ␣  ␣  ␣  \texterotimatiko\\
-
-  ␣  ␣  ␣  ␣  ΄  ΅  Ά  ·  Έ  Ή  Ί  ␣  Ό  ␣  Ύ  Ώ  \\
-  ␣  ␣  ␣  ␣ \acctonos{ } \accdialytikatonos{ } \acctonos\textAlpha{}
-  \textanoteleia{} \acctonos\textEpsilon{} \acctonos\textEta{}
-  \acctonos\textIota{} ␣ \acctonos\textOmicron{} ␣ \acctonos\textUpsilon{}
-  \acctonos\textOmega{} \\
-
-  ΐ  Α  Β  Γ  Δ  Ε  Ζ  Η  Θ  Ι  Κ  Λ  Μ  Ν  Ξ  Ο  \\
-  \accdialytikatonos\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{} \accdialytika\textIota{}
-  \accdialytika\textUpsilon{} \acctonos\textalpha{} \acctonos\textepsilon{}
-  \acctonos\texteta{} \acctonos\textiota{} \\
-
-  ΰ  α  β  γ  δ  ε  ζ  η  θ  ι  κ  λ  μ  ν  ξ  ο  \\
-  \accdialytikatonos\textupsilon{} \textalpha{} \textbeta{} \textgamma{}
-  \textdelta{} \textepsilon{} \textzeta{} \texteta{} \texttheta{} \textiota{}
-  \textkappa{} \textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \\
-
-  π  ρ  ς  σ  τ  υ  φ  χ  ψ  ω  ϊ  ϋ  ό  ύ  ώ  ␣  \\
-  \textpi{} \textrho{} \textfinalsigma{} \textsigma{} \texttau{}
-  \textupsilon{} \textphi{} \textchi{} \textpsi{} \textomega{}
-  \accdialytika\textiota{} \accdialytika\textupsilon{}
-  \acctonos\textomicron{} \acctonos\textupsilon{} \acctonos\textomega{} ␣\\
-
-  ϐ  ϑ  ␣  ␣  ␣  ϕ  ϖ  ␣  Ϙ  ϙ  Ϛ  ϛ  Ϝ  ϝ  Ϟ  ϟ  \\
-  \textbetasymbol{} \textthetasymbol{} ␣  ␣  ␣ \textphisymbol{}
-  \textpisymbol{} ␣ \textQoppa{} \textqoppa{} \textStigma{} \textstigma{}
-  \textDigamma{} \textdigamma{} \textKoppa{} \textkoppa{} \\
-
-  Ϡ  ϡ  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ϰ  ϱ ϴ ϵ \\
-  \textSampi{} \textsampi{} ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣  ␣
-  \textkappasymbol{} \textrhosymbol{} \textThetasymbol{} \textepsilonsymbol
-}
-No case change:
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekAndCoptic
-\end{quote}
-%
-MakeUppercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekAndCoptic}
-\end{quote}
-%
-MakeLowercase:
-\begin{quote}
- \selectlanguage{greek}
-  \MakeLowercase{\GreekAndCoptic}
-\end{quote}
-
-\subsubsection{symbol variants}
-
-\newcommand{\symbolvariants}{
-  \textbeta    \textvarbeta    \textbetasymbol    ϐ
-  \textepsilon \textvarepsilon \textepsilonsymbol ϵ
-  \texttheta   \textvartheta   \textthetasymbol   ϑ
-  \textTheta   \textvarTheta   \textThetasymbol   ϴ
-  \textkappa   \textvarkappa   \textkappasymbol   ϰ
-  \textpi      \textvarpi      \textpisymbol	  ϖ
-  \textrho     \textvarrho     \textrhosymbol 	  ϱ
-  \textphi     \textvarphi     \textphisymbol	  ϕ
-}
-
-No case change (letter, ``var''-letter, letter-``symbol'', literal symbol)
-\begin{quote}
-  \selectlanguage{greek}
-  \symbolvariants
-\end{quote}
-%
-MakeUppercase selects the matching capital lette
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\symbolvariants}
-\end{quote}
-%
-MakeLowercase select the lowercase letter (not the symbol)
-\begin{quote}
- \selectlanguage{greek}
-  \MakeLowercase{\textBeta Β \textEpsilon Ε
-		  \textTheta Θ \textThetasymbol \textvarTheta ϴ
-		  \textKappa Κ \textPi Π \textRho Ρ \textPhi Φ}
-\end{quote}
-
-
-
-\subsection{Greek extended}
-
-\subsubsection{short accent macros}
-
-\renewcommand{\GreekExtended}{\raggedright
-  ἀ   ἁ   ἂ   ἃ   ἄ   ἅ   ἆ    ἇ    Ἀ   Ἁ   Ἂ   Ἃ   Ἄ   Ἅ   Ἆ  Ἇ \\
-  \>\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\ypogegrammeni{}
-  \<\textAlpha\ypogegrammeni{}
-  \>`\textAlpha\ypogegrammeni{}
-  \<`\textAlpha\ypogegrammeni{}
-  \>'\textAlpha\ypogegrammeni{}
-  \<'\textAlpha\ypogegrammeni{}
-  \~>\textAlpha\ypogegrammeni{}
-  \~<\textAlpha\ypogegrammeni{} \\
-
-  ᾐ   ᾑ   ᾒ   ᾓ   ᾔ   ᾕ   ᾖ    ᾗ    ᾘ   ᾙ   ᾚ   ᾛ   ᾜ   ᾝ   ᾞ  ᾟ \\
-  \>\texteta\ypogegrammeni{}
-  \<\texteta\ypogegrammeni{}
-  \>`\texteta\ypogegrammeni{}
-  \<`\texteta\ypogegrammeni{}
-  \>'\texteta\ypogegrammeni{}
-  \<'\texteta\ypogegrammeni{}
-  \~>\texteta\ypogegrammeni{}
-  \~<\texteta\ypogegrammeni{}
-  \>\textEta\ypogegrammeni{}
-  \<\textEta\ypogegrammeni{}
-  \>`\textEta\ypogegrammeni{}
-  \<`\textEta\ypogegrammeni{}
-  \>'\textEta\ypogegrammeni{}
-  \<'\textEta\ypogegrammeni{}
-  \~>\textEta\ypogegrammeni{}
-  \~<\textEta\ypogegrammeni{} \\
-
-  ᾠ   ᾡ   ᾢ   ᾣ   ᾤ   ᾦ   ᾧ    ᾥ    ᾨ   ᾩ   ᾪ   ᾫ   ᾬ   ᾭ   ᾮ  ᾯ \\
-  \>\textomega\ypogegrammeni{}
-  \<\textomega\ypogegrammeni{}
-  \>`\textomega\ypogegrammeni{}
-  \<`\textomega\ypogegrammeni{}
-  \>'\textomega\ypogegrammeni{}
-  \<'\textomega\ypogegrammeni{}
-  \~>\textomega\ypogegrammeni{}
-  \~<\textomega\ypogegrammeni{}
-  \>\textOmega\ypogegrammeni{}
-  \<\textOmega\ypogegrammeni{}
-  \>`\textOmega\ypogegrammeni{}
-  \<`\textOmega\ypogegrammeni{}
-  \>'\textOmega\ypogegrammeni{}
-  \<'\textOmega\ypogegrammeni{}
-  \~>\textOmega\ypogegrammeni{}
-  \~<\textOmega\ypogegrammeni{} \\
-
-  ᾰ   ᾱ   ᾲ   ᾳ   ᾴ   ␣   ᾶ    ᾷ    Ᾰ   Ᾱ   Ὰ   Ά   ᾼ   ᾽   ι  ᾿ \\
-  \u\textalpha{}
-  \=\textalpha{}
-  \`\textalpha\ypogegrammeni{}
-  \textalpha\ypogegrammeni{}
-  \'\textalpha\ypogegrammeni{}
-  ␣ \~\textalpha{}
-  \~\textalpha\ypogegrammeni{}
-  \u\textAlpha{}
-  \=\textAlpha{}
-  \`\textAlpha{}
-  \'\textAlpha{}
-  \textAlpha\ypogegrammeni{}
-  \>{}
-  \prosgegrammeni{}
-  \>{} \\
-
-  ῀   ῁   ῂ   ῃ   ῄ   ␣   ῆ    ῇ    Ὲ   Έ   Ὴ   Ή   ῌ   ῍   ῎  ῏ \\
-  \~{}
-  \"\~{}
-  \`\texteta\ypogegrammeni{}
-  \texteta\ypogegrammeni{}
-  \'\texteta\ypogegrammeni{}
-  ␣ \~\texteta{}
-  \~\texteta\ypogegrammeni{}
-  \`\textEpsilon{}
-  \'\textEpsilon{}
-  \`\textEta{}
-  \'\textEta{}
-  \textEta\ypogegrammeni{}
-  \>`{}
-  \>'{}
-  \~>{} \\
-
-  ῐ   ῑ   ῒ   ΐ   ␣   ␣   ῖ    ῗ    Ῐ   Ῑ   Ὶ   Ί   ␣   ῝   ῞  ῟ \\
-  \u\textiota{}
-  \=\textiota{}
-  \`"\textiota{}
-  \'"\textiota{}
-  ␣ ␣ \~\textiota{}
-  \~"\textiota{}
-  \u\textIota{}
-  \=\textIota{}
-  \`\textIota{}
-  \'\textIota{}
-  ␣
-  \<`{}
-  \<'{}
-  \~<{} \\
-
-  ῠ   ῡ   ῢ   ΰ   ῤ    ῥ    ῦ   ῧ   Ῠ  Ῡ  Ὺ   Ύ   Ῥ   ῭   ΅  ` \\
-  \u\textupsilon{}
-  \=\textupsilon{}
-  \`"\textupsilon{}
-  \'"\textupsilon{}
-  \>\textrho{}
-  \<\textrho{}
-  \~\textupsilon{}
-  \~"\textupsilon{}
-  \u\textUpsilon{}
-  \=\textUpsilon{}
-  \`\textUpsilon{}
-  \'\textUpsilon{}
-  \<\textRho{}
-  \`"{}
-  \'"{}
-  \`{} \\
-
-  ␣   ␣   ῲ   ῳ   ῴ   ␣   ῶ    ῷ    Ὸ   Ό   Ὼ   Ώ   ῼ   ´   ῾  ␣ \\
-
-  ␣ ␣ \`\textomega\ypogegrammeni{}
-  \textomega\ypogegrammeni{}
-  \'\textomega\ypogegrammeni{}
-  ␣ \~\textomega{}
-  \~\textomega\ypogegrammeni{}
-  \`\textOmicron{}
-  \'\textOmicron{}
-  \`\textOmega{}
-  \'\textOmega{}
-  \textOmega\ypogegrammeni{}
-  \'{}
-  \<{} ␣
-}
-
-No case change:
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekExtended
-\end{quote}
-%
-MakeUppercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekExtended}
-\end{quote}
-%
-MakeLowercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeLowercase{\GreekExtended}
-\end{quote}
-
-
-\subsubsection{named accent macros}
-
-\renewcommand{\GreekExtended}{\raggedright
-  ἀ   ἁ   ἂ   ἃ   ἄ   ἅ   ἆ    ἇ    Ἀ   Ἁ   Ἂ   Ἃ   Ἄ   Ἅ   Ἆ  Ἇ \\
-  \accpsili\textalpha{}
-  \accdasia\textalpha{}
-  \accpsilivaria\textalpha{}
-  \accdasiavaria\textalpha{}
-  \accpsilioxia\textalpha{}
-  \accdasiaoxia\textalpha{}
-  \accpsiliperispomeni\textalpha{}
-  \accdasiaperispomeni\textalpha{}
-  \accpsili\textAlpha{}
-  \accdasia\textAlpha{}
-  \accpsilivaria\textAlpha{}
-  \accdasiavaria\textAlpha{}
-  \accpsilioxia\textAlpha{}
-  \accdasiaoxia\textAlpha{}
-  \accpsiliperispomeni\textAlpha{}
-  \accdasiaperispomeni\textAlpha{} \\
-
-  ἐ   ἑ   ἒ   ἓ   ἔ   ἕ   ␣    ␣    Ἐ   Ἑ   Ἒ   Ἓ   Ἔ   Ἕ  \\
-  \accpsili\textepsilon{}
-  \accdasia\textepsilon{}
-  \accpsilivaria\textepsilon{}
-  \accdasiavaria\textepsilon{}
-  \accpsilioxia\textepsilon{}
-  \accdasiaoxia\textepsilon{}
-  ␣ ␣ \accpsili\textEpsilon{}
-  \accdasia\textEpsilon{}
-  \accpsilivaria\textEpsilon{}
-  \accdasiavaria\textEpsilon{}
-  \accpsilioxia\textEpsilon{}
-  \accdasiaoxia\textEpsilon{}\\
-
-  ἠ   ἡ   ἢ   ἣ   ἤ   ἥ   ἦ    ἧ    Ἠ   Ἡ   Ἢ   Ἣ   Ἤ   Ἥ   Ἦ  Ἧ \\
-  \accpsili\texteta{}
-  \accdasia\texteta{}
-  \accpsilivaria\texteta{}
-  \accdasiavaria\texteta{}
-  \accpsilioxia\texteta{}
-  \accdasiaoxia\texteta{}
-  \accpsiliperispomeni\texteta{}
-  \accdasiaperispomeni\texteta{}
-  \accpsili\textEta{}
-  \accdasia\textEta{}
-  \accpsilivaria\textEta{}
-  \accdasiavaria\textEta{}
-  \accpsilioxia\textEta{}
-  \accdasiaoxia\textEta{}
-  \accpsiliperispomeni\textEta{}
-  \accdasiaperispomeni\textEta{} \\
-
-  ἰ   ἱ   ἲ   ἳ   ἴ   ἵ   ἶ    ἷ    Ἰ   Ἱ   Ἲ   Ἳ   Ἴ   Ἵ   Ἶ  Ἷ \\
-  \accpsili\textiota{}
-  \accdasia\textiota{}
-  \accpsilivaria\textiota{}
-  \accdasiavaria\textiota{}
-  \accpsilioxia\textiota{}
-  \accdasiaoxia\textiota{}
-  \accpsiliperispomeni\textiota{}
-  \accdasiaperispomeni\textiota{}
-  \accpsili\textIota{}
-  \accdasia\textIota{}
-  \accpsilivaria\textIota{}
-  \accdasiavaria\textIota{}
-  \accpsilioxia\textIota{}
-  \accdasiaoxia\textIota{}
-  \accpsiliperispomeni\textIota{}
-  \accdasiaperispomeni\textIota{} \\
-
-  ὀ   ὁ   ὂ   ὃ   ὄ   ὅ   ␣    ␣    Ὀ   Ὁ   Ὂ   Ὃ   Ὄ   Ὅ  \\
-  \accpsili\textomicron{}
-  \accdasia\textomicron{}
-  \accpsilivaria\textomicron{}
-  \accdasiavaria\textomicron{}
-  \accpsilioxia\textomicron{}
-  \accdasiaoxia\textomicron{}
-  ␣ ␣ \accpsili\textOmicron{}
-  \accdasia\textOmicron{}
-  \accpsilivaria\textOmicron{}
-  \accdasiavaria\textOmicron{}
-  \accpsilioxia\textOmicron{}
-  \accdasiaoxia\textOmicron{} \\
-
-  ὐ   ὑ   ὒ   ὓ   ὔ   ὕ   ὖ    ὗ    ␣   Ὑ   ␣   Ὓ   ␣   Ὕ   ␣  Ὗ \\
-  \accpsili\textupsilon{}
-  \accdasia\textupsilon{}
-  \accpsilivaria\textupsilon{}
-  \accdasiavaria\textupsilon{}
-  \accpsilioxia\textupsilon{}
-  \accdasiaoxia\textupsilon{}
-  \accpsiliperispomeni\textupsilon{}
-  \accdasiaperispomeni\textupsilon{}
-  ␣ \accdasia\textUpsilon{}
-  ␣ \accdasiavaria\textUpsilon{}
-  ␣ \accdasiaoxia\textUpsilon{}
-  ␣ \accdasiaperispomeni\textUpsilon{} \\
-
-  ὠ   ὡ   ὢ   ὣ   ὤ   ὥ   ὦ    ὧ    Ὠ   Ὡ   Ὢ   Ὣ   Ὤ   Ὥ   Ὦ  Ὧ \\
-  \accpsili\textomega{}
-  \accdasia\textomega{}
-  \accpsilivaria\textomega{}
-  \accdasiavaria\textomega{}
-  \accpsilioxia\textomega{}
-  \accdasiaoxia\textomega{}
-  \accpsiliperispomeni\textomega{}
-  \accdasiaperispomeni\textomega{}
-  \accpsili\textOmega{}
-  \accdasia\textOmega{}
-  \accpsilivaria\textOmega{}
-  \accdasiavaria\textOmega{}
-  \accpsilioxia\textOmega{}
-  \accdasiaoxia\textOmega{}
-  \accpsiliperispomeni\textOmega{}
-  \accdasiaperispomeni\textOmega{} \\
-
-  ὰ   ά   ὲ   έ   ὴ   ή   ὶ    ί    ὸ   ό   ὺ   ύ   ὼ   ώ \\
-  \accvaria\textalpha{}
-  \accoxia\textalpha{}
-  \accvaria\textepsilon{}
-  \accoxia\textepsilon{}
-  \accvaria\texteta{}
-  \accoxia\texteta{}
-  \accvaria\textiota{}
-  \accoxia\textiota{}
-  \accvaria\textomicron{}
-  \accoxia\textomicron{}
-  \accvaria\textupsilon{}
-  \accoxia\textupsilon{}
-  \accvaria\textomega{}
-  \accoxia\textomega{} \\
-
-  ᾀ   ᾁ   ᾂ   ᾃ   ᾄ   ᾅ   ᾆ    ᾇ    ᾈ   ᾉ   ᾊ   ᾋ   ᾌ   ᾍ   ᾎ  ᾏ \\
-  \accpsili\textalpha\ypogegrammeni{}
-  \accdasia\textalpha\ypogegrammeni{}
-  \accpsilivaria\textalpha\ypogegrammeni{}
-  \accdasiavaria\textalpha\ypogegrammeni{}
-  \accpsilioxia\textalpha\ypogegrammeni{}
-  \accdasiaoxia\textalpha\ypogegrammeni{}
-  \accpsiliperispomeni\textalpha\ypogegrammeni{}
-  \accdasiaperispomeni\textalpha\ypogegrammeni{}
-  \accpsili\textAlpha\ypogegrammeni{}
-  \accdasia\textAlpha\ypogegrammeni{}
-  \accpsilivaria\textAlpha\ypogegrammeni{}
-  \accdasiavaria\textAlpha\ypogegrammeni{}
-  \accpsilioxia\textAlpha\ypogegrammeni{}
-  \accdasiaoxia\textAlpha\ypogegrammeni{}
-  \accpsiliperispomeni\textAlpha\ypogegrammeni{}
-  \accdasiaperispomeni\textAlpha\ypogegrammeni{} \\
-
-  ᾐ   ᾑ   ᾒ   ᾓ   ᾔ   ᾕ   ᾖ    ᾗ    ᾘ   ᾙ   ᾚ   ᾛ   ᾜ   ᾝ   ᾞ  ᾟ \\
-  \accpsili\texteta\ypogegrammeni{}
-  \accdasia\texteta\ypogegrammeni{}
-  \accpsilivaria\texteta\ypogegrammeni{}
-  \accdasiavaria\texteta\ypogegrammeni{}
-  \accpsilioxia\texteta\ypogegrammeni{}
-  \accdasiaoxia\texteta\ypogegrammeni{}
-  \accpsiliperispomeni\texteta\ypogegrammeni{}
-  \accdasiaperispomeni\texteta\ypogegrammeni{}
-  \accpsili\textEta\ypogegrammeni{}
-  \accdasia\textEta\ypogegrammeni{}
-  \accpsilivaria\textEta\ypogegrammeni{}
-  \accdasiavaria\textEta\ypogegrammeni{}
-  \accpsilioxia\textEta\ypogegrammeni{}
-  \accdasiaoxia\textEta\ypogegrammeni{}
-  \accpsiliperispomeni\textEta\ypogegrammeni{}
-  \accdasiaperispomeni\textEta\ypogegrammeni{} \\
-
-  ᾠ   ᾡ   ᾢ   ᾣ   ᾤ   ᾦ   ᾧ    ᾥ    ᾨ   ᾩ   ᾪ   ᾫ   ᾬ   ᾭ   ᾮ  ᾯ \\
-  \accpsili\textomega\ypogegrammeni{}
-  \accdasia\textomega\ypogegrammeni{}
-  \accpsilivaria\textomega\ypogegrammeni{}
-  \accdasiavaria\textomega\ypogegrammeni{}
-  \accpsilioxia\textomega\ypogegrammeni{}
-  \accdasiaoxia\textomega\ypogegrammeni{}
-  \accpsiliperispomeni\textomega\ypogegrammeni{}
-  \accdasiaperispomeni\textomega\ypogegrammeni{}
-  \accpsili\textOmega\ypogegrammeni{}
-  \accdasia\textOmega\ypogegrammeni{}
-  \accpsilivaria\textOmega\ypogegrammeni{}
-  \accdasiavaria\textOmega\ypogegrammeni{}
-  \accpsilioxia\textOmega\ypogegrammeni{}
-  \accdasiaoxia\textOmega\ypogegrammeni{}
-  \accpsiliperispomeni\textOmega\ypogegrammeni{}
-  \accdasiaperispomeni\textOmega\ypogegrammeni{} \\
-
-  ᾰ   ᾱ   ᾲ   ᾳ   ᾴ   ␣   ᾶ    ᾷ    Ᾰ   Ᾱ   Ὰ   Ά   ᾼ   ᾽   ι  ᾿ \\
-  \u\textalpha{}
-  \=\textalpha{}
-  \accvaria\textalpha\ypogegrammeni{}
-  \textalpha\ypogegrammeni{}
-  \accoxia\textalpha\ypogegrammeni{}
-  ␣ \accperispomeni\textalpha{}
-  \accperispomeni\textalpha\ypogegrammeni{}
-  \u\textAlpha{}
-  \=\textAlpha{}
-  \accvaria\textAlpha{}
-  \accoxia\textAlpha{}
-  \textAlpha\ypogegrammeni{}
-  \accpsili{}
-  \prosgegrammeni{}
-  \accpsili{} \\
-
-  ῀   ῁   ῂ   ῃ   ῄ   ␣   ῆ    ῇ    Ὲ   Έ   Ὴ   Ή   ῌ   ῍   ῎  ῏ \\
-  \accperispomeni{}
-  \accdialytikaperispomeni{}
-  \accvaria\texteta\ypogegrammeni{}
-  \texteta\ypogegrammeni{}
-  \accoxia\texteta\ypogegrammeni{}
-  ␣ \accperispomeni\texteta{}
-  \accperispomeni\texteta\ypogegrammeni{}
-  \accvaria\textEpsilon{}
-  \accoxia\textEpsilon{}
-  \accvaria\textEta{}
-  \accoxia\textEta{}
-  \textEta\ypogegrammeni{}
-  \accpsilivaria{}
-  \accpsilioxia{}
-  \accpsiliperispomeni{} \\
-
-  ῐ   ῑ   ῒ   ΐ   ␣   ␣   ῖ    ῗ    Ῐ   Ῑ   Ὶ   Ί   ␣   ῝   ῞  ῟ \\
-  \u\textiota{}
-  \=\textiota{}
-  \accdialytikavaria\textiota{}
-  \accdialytikatonos\textiota{}
-  ␣ ␣ \accperispomeni\textiota{}
-  \accperispomeni"\textiota{}
-  \u\textIota{}
-  \=\textIota{}
-  \accvaria\textIota{}
-  \accoxia\textIota{}
-  ␣
-  \accdasiavaria{}
-  \accdasiaoxia{}
-  \accdasiaperispomeni{} \\
-
-  ῠ   ῡ   ῢ   ΰ   ῤ    ῥ    ῦ   ῧ   Ῠ  Ῡ  Ὺ   Ύ   Ῥ   ῭   ΅  ` \\
-  \u\textupsilon{}
-  \=\textupsilon{}
-  \accdialytikavaria\textupsilon{}
-  \accdialytikatonos\textupsilon{}
-  \accpsili\textrho{}
-  \accdasia\textrho{}
-  \accperispomeni\textupsilon{}
-  \accdialytikaperispomeni\textupsilon{}
-  \u\textUpsilon{}
-  \=\textUpsilon{}
-  \accvaria\textUpsilon{}
-  \accoxia\textUpsilon{}
-  \accdasia\textRho{}
-  \accdialytikavaria{}
-  \accdialytikatonos{}
-  \accvaria{} \\
-
-  ␣   ␣   ῲ   ῳ   ῴ   ␣   ῶ    ῷ    Ὸ   Ό   Ὼ   Ώ   ῼ   ´   ῾  ␣ \\
-
-  ␣ ␣ \accvaria\textomega\ypogegrammeni{}
-  \textomega\ypogegrammeni{}
-  \accoxia\textomega\ypogegrammeni{}
-  ␣ \accperispomeni\textomega{}
-  \accperispomeni\textomega\ypogegrammeni{}
-  \accvaria\textOmicron{}
-  \accoxia\textOmicron{}
-  \accvaria\textOmega{}
-  \accoxia\textOmega{}
-  \textOmega\ypogegrammeni{}
-  \accoxia{}
-  \accdasia{} ␣
-}
-
-No case change:
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekExtended
-\end{quote}
-%
-MakeUppercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekExtended}
-\end{quote}
-%
-MakeLowercase:
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeLowercase{\GreekExtended}
-\end{quote}
-
-
-\section{Latin transliteration}
-
-\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
-  \textbf{Warning:}
-  As the uc/lccode re-definitions are not performed when Unicode fonts are
-  used, the accents are not dropped from upcased Latin transliterations.
-  Accent macros work fine also in Latin transliterations with Xe/LuaTeX.
-\fi
-
-\subsection{Greek and Coptic}
-
-Every second line is input as Latin transliteration:
-
-\let\:\textvisiblespace
-
-\renewcommand{\GreekAndCoptic}{%
-             ͺ  ;  ␣  ␣  ΄  ΅  Ά  ·  Έ  Ή  Ί  ␣  Ό  ␣  Ύ  Ώ  \\
-  \lgrfont{  |  ?  \: \: ' "' 'A  ; 'E 'H 'I \: 'O \: 'U 'W} \\
-             ΐ  Α  Β  Γ  Δ  Ε  Ζ  Η  Θ  Ι  Κ  Λ  Μ  Ν  Ξ  Ο  \\
-  \lgrfont{'"i  A  B  G  D  E  Z  H  J  I  K  L  M  N  X  O} \\
-             Π  Ρ  ␣  Σ  Τ  Υ  Φ  Χ  Ψ  Ω  Ϊ  Ϋ  ά  έ  ή  ί  \\
-  \lgrfont{  P  R  \: S  T  U  F  Q  Y  W "I "U 'a 'e 'h 'i} \\
-             ΰ  α  β  γ  δ  ε  ζ  η  θ  ι  κ  λ  μ  ν  ξ  ο  \\
-  \lgrfont{'"u  a  b  g  d  e  z  h  j  i  k  l  m  n  x  o} \\
-             π  ρ  ς  σ  τ  υ  φ  χ  ψ  ω  ϊ  ϋ  ό  ύ  ώ  ␣  \\
-  \lgrfont{  p  r  s  s\textcompwordmark{}
-                         t  u  f  q  y  w "i "u 'o 'u 'w  \:}
-}
-
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekAndCoptic
-\end{quote}
-%
-MakeUppercase:
-
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekAndCoptic}
-\end{quote}
-%
-Letters upcased, dialytika and sub-iota unchanged, other diacritics dropped
-(if \verb|\greekfontencoding| is LGR).
-
-
-MakeLowercase:
-
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeLowercase{\GreekAndCoptic}
-\end{quote}
-%
-With LGR, the lowercase of \ensuregreek{Σ} is the «auto-sigma»
-(\verb|\textautosigma|): \ensuregreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}.
-Add a ZWNJ or use the \verb|\noboundary| macro to prevent conversion to
-final sigma: \ensuregreek{\MakeLowercase{ΣΣ‌}}.
-The lowercase of GREEK LETTER STIGMA \ensuregreek{Ϛ} is
-\ensuregreek{\MakeLowercase{Ϛ}}, not \verb|\textvarstigma|%
-\ifdefined \UnicodeEncodingName \else
-  (\ensuregreek\textvarstigma)%
-\fi .
-
-\subsection{Greek extended}
-
-Every second line is input as Latin transliteration. The current language
-variant is \emph\GreekLanguageVariant.
-
-\renewcommand{\GreekExtended}{\raggedright
-            ἀ   ἁ    ἂ    ἃ    ἄ    ἅ    ἆ    ἇ     Ἀ    Ἁ    Ἂ    Ἃ    Ἄ    Ἅ    Ἆ    Ἇ   \\
-  \lgrfont{>a  <a  >`a  <`a  >'a  <'a  >~a  <~a    >A   <A  >`A  <`A  >'A  <'A  >~A  <~A } \\
-            ἐ   ἑ    ἒ    ἓ    ἔ    ἕ    ␣    ␣     Ἐ    Ἑ    Ἒ    Ἓ    Ἔ    Ἕ             \\
-  \lgrfont{>e  <e  >`e  <`e  >'e  <'e    \:   \:   >E   <E  >`E  <`E  >'E  <'E           } \\
-            ἠ   ἡ    ἢ    ἣ    ἤ    ἥ    ἦ    ἧ     Ἠ    Ἡ    Ἢ    Ἣ    Ἤ    Ἥ    Ἦ    Ἧ   \\
-  \lgrfont{>h  <h  >`h  <`h  >'h  <'h  >~h  <~h    >H   <H  >`H  <`H  >'H  <'H  >~H  <~H } \\
-            ἰ   ἱ    ἲ    ἳ    ἴ    ἵ    ἶ    ἷ     Ἰ    Ἱ    Ἲ    Ἳ    Ἴ    Ἵ    Ἶ    Ἷ   \\
-  \lgrfont{>i  <i  >`i  <`i  >'i  <'i  >~i  <~i    >I   <I  >`I  <`I  >'I  <'I  >~I  <~I } \\
-            ὀ   ὁ    ὂ    ὃ    ὄ    ὅ    ␣    ␣     Ὀ    Ὁ    Ὂ    Ὃ    Ὄ    Ὅ             \\
-  \lgrfont{>o  <o  >`o  <`o  >'o  <'o    \:   \:   >O   <O  >`O  <`O  >'O  <'O           } \\
-            ὐ   ὑ    ὒ    ὓ    ὔ    ὕ    ὖ    ὗ     ␣    Ὑ    ␣    Ὓ    ␣    Ὕ    ␣    Ὗ   \\
-  \lgrfont{>u  <u  >`u  <`u  >'u  <'u  >~u  <~u     \:  <U    \: <`U    \: <'U    \: <~U } \\
-            ὠ   ὡ    ὢ    ὣ    ὤ    ὥ    ὦ    ὧ     Ὠ    Ὡ    Ὢ    Ὣ    Ὤ    Ὥ    Ὦ    Ὧ   \\
-  \lgrfont{>w  <w  >`w  <`w  >'w  <'w  >~w  <~w    >W   <W  >`W  <`W  >'W  <'W  >~W  <~W } \\
-            ὰ   ά    ὲ    έ    ὴ    ή    ὶ    ί     ὸ    ό    ὺ    ύ    ὼ    ώ             \\
-  \lgrfont{`a  'a   `e   'e   `h   'h   `i   'i    `o   'o   `u   'u   `w   'w           } \\
-            ᾀ   ᾁ    ᾂ    ᾃ    ᾄ    ᾅ    ᾆ    ᾇ     ᾈ    ᾉ    ᾊ    ᾋ    ᾌ    ᾍ    ᾎ    ᾏ   \\
-  \lgrfont{>a| <a| >`a| <`a| >'a| <'a| >~a| <~a|   >A|  <A| >`A| <`A| >'A| <'A| >~A| <~A|} \\
-            ᾐ   ᾑ    ᾒ    ᾓ    ᾔ    ᾕ    ᾖ    ᾗ     ᾘ    ᾙ    ᾚ    ᾛ    ᾜ    ᾝ    ᾞ    ᾟ   \\
-  \lgrfont{>h| <h| >`h| <`h| >'h| <'h| >~h| <~h|   >H|  <H| >`H| <`H| >'H| <'H| >~H| <~H|} \\
-            ᾠ   ᾡ    ᾢ    ᾣ    ᾤ    ᾦ    ᾧ    ᾥ     ᾨ    ᾩ    ᾪ    ᾫ    ᾬ    ᾭ    ᾮ    ᾯ   \\
-  \lgrfont{>w| <w| >`w| <`w| >'w| <'w| >~w| <~w|   >W|  <W| >`W| <`W| >'W| <'W| >~W| <~W|} \\
-            ᾰ   ᾱ    ᾲ    ᾳ    ᾴ    ␣    ᾶ    ᾷ     Ᾰ    Ᾱ    Ὰ    Ά    ᾼ    ᾽    ι    ᾿   \\
-\lgrfont{\u{a} \=a  `a|   a|  'a|   \:  ~a   ~a| \u{A} \=A   `A   'A    A|   >    |    > } \\
-            ῀   ῁    ῂ    ῃ    ῄ    ␣    ῆ    ῇ     Ὲ    Έ    Ὴ    Ή    ῌ    ῍     ῎   ῏   \\
-   \lgrfont{~  "~   `h|   h|  'h|   \:  ~h   ~h|   `E   'E   `H   'H    H|   >`   >'  ~> } \\
-            ῐ   ῑ    ῒ    ΐ    ␣    ␣    ῖ    ῗ     Ῐ    Ῑ    Ὶ    Ί    ␣    ῝     ῞   ῟   \\
-\lgrfont{\u{i} \=i `"i  '"i    \:   \:  ~i  ~"i  \u{I} \=I   `I   'I    \:  <`    <'  ~< } \\
-            ῠ   ῡ    ῢ    ΰ    ␣    ␣    ῤ    ῥ     ῦ    ῧ    Ὺ    Ύ    Ῥ    ῭     ΅   `   \\
-\lgrfont{\u{u} \=u `"u  '"u    \:   \:  >r   <r    ~u  ~"u   `U   'U   <R   `"    '"   ` } \\
-             ␣   ␣   ῲ    ῳ    ῴ    ␣    ῶ    ῷ     Ὸ    Ό    Ὼ    Ώ    ῼ    ´     ῾       \\
-    \lgrfont{\:  \: `w|   w|  'w|   \:  ~w   ~w|   `O   'O   `W   'W    W|   '   <       }
-}
-
-\begin{quote}
-  \selectlanguage{greek}
-  \GreekExtended
-\end{quote}
-
-With monotonic Greek or if the Greek font encoding is not LGR, the tilde
-keeps its default expansion as NBSP and transliterations involving \verb|~|
-fail. (The tilde accent \verb|\~| as well as combined accents involving the
-tilde work in all language variants.)
-
-MakeUppercase:
-
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeUppercase{\GreekExtended}
-\end{quote}
-
-Breathings, combined accents and varia are re-mapped to the "empty" char
-only with the language variants \emph{polutoniko} or \emph{ancient}
-(currently \GreekLanguageVariant) as they are not required with monotonic
-Greek and only if \verb|\greekfontencoding| is LGR.
-
-In literal input, the uppercase of spacing combining accents including a
-dialytika \verb|"~ "` "'| appears as apostrophe, as a single \verb|"| stands
-for an apostrophe in the LGR transliteration if followed by a space or empty
-character.
-
-Side-effect of mapping `,',~, <, and > to the "empty" char for accent
-dropping: the characters vanish if used stand-alone
-(also with the ``old'' MakeUppercase):
-\begin{quote}
-  \selectlanguage{greek}
-  ` ' ~ < > → \MakeUppercase{` ' ~ < >}
-  ``x'' <<y>> → \MakeUppercase{``x'' <<y>>}
-\end{quote}
-
-Workaround: use literal typographical quote characters:
-\begin{quote}
-  \selectlanguage{greek}
-  ‘x’ «y» → \MakeUppercase{‘x’ «y»}
-\end{quote}
-
-MakeLowercase:
-
-\begin{quote}
-  \selectlanguage{greek}
-  \MakeLowercase{\GreekExtended}
-\end{quote}
-
-
-\end{document}

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex	2023-08-19 20:42:10 UTC (rev 67985)
@@ -26,8 +26,9 @@
     % \usepackage{textalpha}
     \ProvideTextCommand{\ensuregreek}{TU}[1]{##1}
     \ProvideTextCommand{\greekscript}{TU}{}
-    \ProvideTextCommand{\textalpha}{TU}{\cs{textalpha}}
-    \ProvideTextCommand{\textOmega}{TU}{\cs{textOmega}}
+    \ProvideTextCommand{\textalpha}{TU}{only with the \pkgref{textalpha}
+    					package}
+    \ProvideTextCommand{\textOmega}{TU}{}
   \fi
 
   \usepackage{hyperref}
@@ -34,7 +35,7 @@
   \hypersetup{unicode, colorlinks=true,linkcolor=blue,urlcolor=blue}
 
   % fallbacks for commands defined in babel-greek:
-  \providecommand*\greekfontencoding{None}
+  \providecommand*\greekfontencoding{not set}
   % \providecommand*\lgrfont[1]{\cs{lgrfont} \emph{missing}}
   \ProvideTextCommandDefault{\textampersand}{\&}
   \providecommand*\greeknumeral[1]{\{##1\}}

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex	2023-08-19 20:42:10 UTC (rev 67985)
@@ -39,7 +39,7 @@
   % Uncomment the desired language variant
   % Default: modern monotonic Greek
   %
-  \languageattribute{greek}{polutoniko}  % "modern" polytonic Greek
+  % \languageattribute{greek}{polutoniko}  % "modern" polytonic Greek
   % \languageattribute{greek}{polytonic} % alias for polutoniko
   % \languageattribute{greek}{ancient}  % ancient Greek
   %
@@ -51,6 +51,12 @@
   % \selectlanguage{polutonikogreek} instead of \selectlanguage{greek} etc.
   % if the "polutoniko" Greek language variant is selected.
 
+  % To use modern and ancient Greek in one document, load the second language
+  % with \babelprovide.
+  % Caveat: With 8-bit Greek, the font-encoding switch to LGR fails
+  % in the ToC: section titles with Greek come out wrong!
+  \babelprovide[hyphenrules=ancientgreek]{ancientgreek}
+
   % Make ; active to prevent mapping to a middle dot:
   \languageattribute{greek}{keep-semicolon}
 }
@@ -66,19 +72,18 @@
 
 \usepackage{hyperref}
 \hypersetup{unicode, colorlinks=true,linkcolor=blue,urlcolor=blue}
-% \usepackage{bookmark}
+\usepackage{bookmark}
 
 \usepackage{parskip}
 
+
+% Auxiliary commands:
+
 % Semantic styling:
-
 \newcommand{\file}{\texttt}
 \newcommand{\cs}[1]{\texttt{\textbackslash#1}}
 \newcommand{\pkgref}[1]{\emph{\href{https://ctan.org/pkg/#1}{#1}}}
 
-
-% Auxiliary commands:
-
 % print the selected language variant
 \newcommand{\GreekLanguageVariant}{%
   \ifx\captionsgreek\captionspolutonikogreek
@@ -92,6 +97,17 @@
   \fi
 }
 
+% which engine is used?
+\ifdefined \UnicodeEncodingName
+  \ifdefined\luatexversion
+    \newcommand*{\texengine}{LuaLaTeX}
+  \else
+    \newcommand*{\texengine}{XeLaTeX}
+  \fi
+\else
+  \newcommand*{\texengine}{pdfLaTeX}
+\fi
+
 % The paragraph after \showhyphenpar is printed with all words
 % shown as hy-phen-ated.
 % from https://tex.stackexchange.com/questions/55282/display-hyphenation-options-for-a-specific-word/55283#55283
@@ -120,6 +136,15 @@
 
 \SETUPDOC % print additional setup information.
 
+\makeatletter
+This document is compiled with \texengine,
+format version \fmtversion{} patch-level \patch at level{},
+and the L3 programming layer from \ExplFileDate{}.
+The Greek font encoding is \greekfontencoding{}
+and the language variant is \GreekLanguageVariant.
+\makeatother
+
+
 \tableofcontents
 
 
@@ -134,6 +159,15 @@
   ἐρῶν άπῆλθες εὐθύς;
 \end{quote}
 
+The command \verb|\foreignlanguage| sets its second argument in the language
+specified as first argument. This is intended for short text parts or
+single words like \foreignlanguage{greek}{Βιβλιοθήκη}.
+
+Input may use literal Greek characters (\foreignlanguage{greek}{α \ldots Ω}),
+LICR macros (\foreignlanguage{greek}{\textalpha{} \ldots{} \textOmega}),
+or (if the LGR font encoding is used) the Latin transliteration
+(\foreignlanguage{greek}{a \ldots{} W}).
+
 \textbf{Warning: With 8-bit TeX, Latin letters and some symbols in the input
 are mapped to Greek equivalents!}.
 Without precautions, quotes copied from external sources (like this Wikpedia
@@ -146,15 +180,6 @@
 \end{quote}
 See section~\ref{Latin transliteration} for remedies.
 
-The command \verb|\foreignlanguage| sets its second argument in the language
-specified as first argument. This is intended for short text parts or
-single words like \foreignlanguage{greek}{Βιβλιοθήκη}.
-
-Input may use literal Greek characters (\foreignlanguage{greek}{α \ldots Ω}),
-LICR macros (\foreignlanguage{greek}{\textalpha{} \ldots{} \textOmega}),
-or the Latin transliteration (\foreignlanguage{greek}{a \ldots{} W}) defined
-by the LGR font encoding (if LGR is used).
-
 There should be no inserted space before or after the language switch (this
 may happen if there are unescaped linebreaks in the font or language
 definitions):
@@ -266,31 +291,54 @@
 current: \verb|\l at greek| = \the\l at greek
 \makeatletter
 
+\newcommand*{\sample}{%
+  \ensureascii{monotonic:} Ευρετήριο,  επίσης,  Απόδειξη,  Θράκη,  τραγωδία\\
+  \ifdefined \UnicodeEncodingName \else
+     \ensureascii{'' '' translit:} Euret'hrio, ep'ishs, Ap'odeixh, Jr'akh,
+                                   tragwd'ia\\
+  \fi
+  \ensureascii{polytonic:} Εὑρετήριο,  ἐπίσης,  Ἀπόδειξη, Θρᾴκη, τραγῳδία\\
+  \ifdefined \UnicodeEncodingName \else
+     \ensureascii{'' translit:} E<uret'hrio, >ep'ishs, >Ap'odeixh, Jr'a|kh,
+                                tragw|d'ia\\
+  \fi
+  \ensureascii{ancient:}   Εὑρετήριον, ὡσαύτως, Ἀπόδειξις, Θρᾴκη, τραγῳδία%
+}
+
 Greek paragraph:
-\begin{quote}
-  \selectlanguage{greek}
-  \showhyphenpar
-  \ensureascii{monotonic:} Ευρετήριο,  επίσης,  Απόδειξη \\
-  \ensureascii{polytonic:} Εὑρετήριο,  ἐπίσης,  Ἀπόδειξη \\
-  \ensureascii{ancient:}   Εὑρετήριον, ὡσαύτως, Ἀπόδειξις
-\end{quote}
 
+{
+ \selectlanguage{greek}
+ \showhyphenpar
+ \sample
+ \par % (new paragraph to end \showhyphenpar before leaving group)
+}
+
 English paragraph with Greek text (\verb|\foreignlanguage{greek}|):
-\begin{quote}
-  \showhyphenpar
-  monotonic:  \foreignlanguage{greek}{Ευρετήριο,  επίσης,  Απόδειξη } \\
-  polytonic:  \foreignlanguage{greek}{Εὑρετήριο,  ἐπίσης,  Ἀπόδειξη } \\
-  ancient:  \foreignlanguage{greek}{Εὑρετήριον, ὡσαύτως, Ἀπόδειξις}
-\end{quote}
 
-English paragraph with Greek script (\verb|\ensuregreek|): no hypenation
-\begin{quote}
-  \showhyphenpar
-  monotonic:  \ensuregreek{Ευρετήριο,  επίσης,  Απόδειξη } \\
-  polytonic:  \ensuregreek{Εὑρετήριο,  ἐπίσης,  Ἀπόδειξη } \\
-  ancient:  \ensuregreek{Εὑρετήριον, ὡσαύτως, Ἀπόδειξις}
-\end{quote}
+\showhyphenpar
+\foreignlanguage{greek}{\sample}
 
+English paragraph with Greek script (\verb|\ensuregreek|):
+
+\showhyphenpar
+\ensuregreek{\sample}
+
+% Ancient Greek paragraph:
+%
+% {
+%  \selectlanguage{ancientgreek}
+%  \greekscript
+%  \showhyphenpar
+%  \sample
+% }
+%
+% !! Warning !!
+% After use of \verb|\selectlanguage{ancientgreek}| (set up with
+% \cs{babelprovide} in the preamble), Greek text in section headings
+% is written with the wrong font encoding in the ToC.
+
+
 \section{Greek Numerals (\greeknumeral{1} \ldots{} \greeknumeral{999999})%
          \label{sec:greek-numerals}}
 
@@ -467,27 +515,35 @@
 
 With the \texttt{keep-semicolon} language attribute, 003B SEMICOLON is made
 active and inserts an \emph{erotimatiko} also with LGR encoded fonts, if the
-text language is set to Greek:
+text language is set to Greek
+(in this document, the semicolon is
+\ifnum\catcode59 = 13
+  active).
+\else
+  not active).
+\fi
 
-\begin{tabular}{lcccl}
-  Input & \latinencoding{} & \greekfontencoding & Greek \\
+\begin{tabular}{lccc}
+  Input & \latinencoding{} & \greekfontencoding
+                           & Greek language                       \\
   003F QUESTION MARK       & ? & \ensuregreek{?}
-                               & \foreignlanguage{greek}{?} \\
-                                            \\
-  037E GREEK QUESTION MARK & ␣ & \ensuregreek{;}
-                               & \foreignlanguage{greek}{;}
-                               & not defined for T1         \\
+                               & \foreignlanguage{greek}{?}       \\
+                                                                  \\
+  037E GREEK QUESTION MARK & {\footnotesize n/d} & \ensuregreek{;}
+                               & \foreignlanguage{greek}{;}       \\
   003B SEMICOLON           & ; & \ensuregreek{;}
-                               & \foreignlanguage{greek}{;} \\
+                               & \foreignlanguage{greek}{;}       \\
   00B7 MIDDLE DOT          & · & \ensuregreek{·}
-                               & \foreignlanguage{greek}{·} \\
+                               & \foreignlanguage{greek}{·}       \\
 \end{tabular}
 
+{\footnotesize n/d}: character not defined in T1 encoding.
+
 This attribute is ignored with Unicode fonts (where the SEMICOLON literal
 always prints a semicolon character).
 
 Test in math mode:
-\newcommand{\semicolontest}{ab; $a b; a\;b, (\mathrm{a;}\textrm{a;}2)$}
+\newcommand{\semicolontest}{$a b; a\;b, (\mathrm{a;}\textrm{a;}2)$}
 English: \semicolontest, Greek: \foreignlanguage{greek}{\semicolontest}.
 
 \subsubsection{LGR-proofed macros}
@@ -602,15 +658,14 @@
   \end{document}
 \fi
 
+
 \section{Up- and downcasing in Greek}
 
 Capital Greek letters have diacritics (except the dialytika and sub-iota) to
 the left (instead of above) and drop them in uppercase (except the
 dialytika), e.g., \ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}.
-For literal Greek characters and accent macros, these rules are implemented
-and tested in the required package \pkgref{greek-fontenc}.
 
-Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if
+Tonos and psili mark a \emph{hiatus} (break-up of a diphthong) if
 placed on the first vowel of a diphthong.
 A dialytika must be placed on the second vowel if they are dropped, e.g.
 %
@@ -620,8 +675,8 @@
                          \'>\textalpha\textiota,
                          \'>\textalpha\textupsilon,
                          \accpsili\textalpha\textupsilon,
-                         \accdasiaoxia\textepsilon\textiota}%
-\ensuregreek{\HiatusLICR\ $\mapsto$ \MakeUppercase{\HiatusLICR}}.
+                         \accpsilioxia\textepsilon\textiota}%
+\foreignlanguage{greek}{\HiatusLICR\ $\mapsto$ \MakeUppercase{\HiatusLICR}}.
 
 Some affected words:
 \begin{quotation}
@@ -634,9 +689,9 @@
   \aylos{} $\mapsto$ \MakeUppercase{\aylos},
 
   % from http://diacritics.typo.cz/index.php?id=69
-  \newcommand*{\maina}{%μάινα → ΜΑΪΝΑ
-    \textmu\acctonos\textalpha\textiota\textnu\textalpha}
-  \maina{} $\mapsto$ \MakeUppercase{\maina},
+  \newcommand*{\maine}{%μάινη → ΜΑΪΝΗ
+    \textmu\acctonos\textalpha\textiota\textnu\texteta}
+  \maine{} $\mapsto$ \MakeUppercase{\maine},
 
   % from  http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema
   \newcommand*{\keik}{% κέικ → ΚΕΪΚ
@@ -651,134 +706,142 @@
   \newcommand*{\romeika}{\textrho\textomega\textmu
                          \acctonos\textepsilon\textiota\textkappa\textalpha}
   \romeika{} $\mapsto$ \MakeUppercase{\romeika}.
+
+  % from Yannis Haralambous https://hal.science/hal-02101618
+  \newcommand*{\aute}{% ἀυτή → ΑΫΤΗ a cry, shout, esp. battle-shout
+    \accpsili\textalpha\textupsilon\texttau\acctonos\texteta}
+  \aute{} → \MakeUppercase{\aute}
 \end{quotation}
 
-With the pre-2022/06 \cs{MakeUppercase}, automatic upcasing of words with
-\emph{hiatus} works correctly only if the accents are input as macro and the
-letters as macro or via the Latin transliteration.
+The file \file{char-list.tex} in the \pkgref{greek-fontenc} package includes
+a comprehensive test of case changing for all supported Greek characters and
+their various input methods.
 
-With the current (2023/02/10) \cs{MakeUppercase}, it works for literal
-Unicode input and named accents. The \cs{uccode} changes are ignored.
 
+\subsection{Problems and fixes}
 
-\subsection{Iota subscript vs. iota adscript}
+\subsubsection{Input variants}
 
-Pre-composed capital letters with \emph{mute iota} decompose to the base
-letter and COMBINING GREEK YPOGEGRAMMENI (U+0345) even if they are named
-... WITH [... AND] PROSGEGRAMMENI for ``historic reasons''.%
-\footnote{cf. \href{https://opoudjis.net/unicode/unicode_adscript.html}
-                   {Nick Nicholas `Titlecase and Adscripts'}}
-Accordingly, the ``canonical'' LICR for capital letters with mute iota
-is the base character LICR followed by \verb|\ypogegrammeni|.
+Depending on the LaTeX version and input variant, there are several
+limitations and problems.
 
-Compare letters followed by \verb|\prosgegrammeni| and
-\verb|\ypogegrammeni| with the pre-composed characters and with
-character + literal GREEK YPOGEGRAMMENI.
+With \cs{greekfontencoding} \greekfontencoding, LaTeX version \fmtversion,
+and language variant ``\GreekLanguageVariant'', we get
 
-prosgegrammeni:
-\begin{quotation}
-  \selectlanguage{greek}
-  \newcommand{\alphapros}{\textalpha\prosgegrammeni α\prosgegrammeni{} αι  /
-                          \textAlpha\prosgegrammeni Α\prosgegrammeni{} ᾼΑι /
-                 \accpsili\textAlpha\prosgegrammeni Ἀ\prosgegrammeni{} ᾈἈι}
+\newcommand{\precomposed}{ῶ, ή, ΐ, ᾂ, άι}
+\newcommand{\translit}{{~w, 'h, '"i, >`a|, 'ai}}
+\newcommand{\acconLICR}{\~\textomega, \'\texteta, \'"\textiota,
+                        \`>\textalpha\ypogegrammeni, \'\textalpha\textiota}
+\newcommand{\accontranslit}{{\~w, \'h, \'"i, \`>a|, \'ai}}
+\newcommand{\acconliteral}{\~ω, \'η, \'"ι, \`>ᾳ, \'αι}
 
-  \phantom{MakeUppercase}     \alphapros
+pre-composed:
+\foreignlanguage{greek}{\precomposed\ → \MakeUppercase{\precomposed}}
 
-  \ensureascii{MakeUppercase} \MakeUppercase{\alphapros}
+transliteration:
+\foreignlanguage{greek}{\translit\ → \MakeUppercase{\translit}}
 
-  \ensureascii{MakeLowercase} \MakeLowercase{\alphapros}
-\end{quotation}
+accent macro + LICR:
+\foreignlanguage{greek}{\acconLICR\ → \MakeUppercase{\acconLICR}}
 
-ypogegrammeni:
-\begin{quotation}
-  \selectlanguage{greek}
-  \newcommand{\alphaypo}{\textalpha\ypogegrammeni α\ypogegrammeni{} ᾳ /
-                         \textAlpha\ypogegrammeni Α\ypogegrammeni{} ᾼ /
-                \accpsili\textAlpha\ypogegrammeni Ἀ\ypogegrammeni{} ᾈ}
+accent macro + transliteration:
+\foreignlanguage{greek}{\accontranslit\ → \MakeUppercase{\accontranslit}}
 
-  \phantom{MakeUppercase}     \alphaypo
+accent macro + literal:
+\ifdefined \UnicodeEncodingName
+  \foreignlanguage{greek}{\acconliteral\ → \MakeUppercase{\acconliteral}}
+\else
+  → inputenc Error: Invalid UTF-8 byte sequence
+\fi
 
-  \ensureascii{MakeUppercase} \MakeUppercase{\alphaypo}
+\begin{itemize}
+\item The implementation of \cs{MakeUppercase}
+      introduced in the 2022/06 LaTeX release\footnote{cf.\
+        \href{https://www.latex-project.org/news/latex2e-news/ltnews35.pdf}%
+        {LaTeX News 35}}
+      works (almost) fine with pre-composed literal characters but there are
+      Unicode errors (unknown characters) under 8-bit TeX.
+      Fixed with LaTeX 2023, babel-greek 1.13 and greek-fontenc 2.3.
 
-  \ensureascii{MakeLowercase} \MakeLowercase{\alphaypo}
-\end{quotation}
+\item The new \cs{MakeUppercase} did not drop
+      accents input as short accent macros or with the Latin transliteration.
+      Fixed with the 2023 LaTeX release, babel-greek~1.14, and
+      greek-fontenc~2.4.
 
+\item The \emph{hiatus} feature fails with the Latin transliteration.
+      Use accent macros, e.g., replace \verb|k'eik| with \verb|k\'eik|.
 
-\subsection{Changed uccode/lccode values for LGR}
+      It also failed with pre-composed characters and LaTeX
+      versions older than 2022/06.%
+      \footnote{Some ``pro'' Unicode fonts provide this feature on their own,
+                cf. \href{http://multilingualtypesetting.co.uk/blog/greek-typesetting-tips/}%
+                {Greek typesetting without the tears}}
 
-LGR encoded fonts define ligatures for characters with diacritics. To enable
-correct upcasing, \emph{babel-greek} changes the uc/lccodes of some
-characters. Characters used to input diacritics are mapped to the ``empty''
-character 0x9f = 159.
+% \item With \emph{babel-greek} versions up to 1.11, using the tilde for the
+%       \emph{perispomeni} accent inside \verb|\MakeUppercase| led to
+%       \texttt{inputenc Error: Invalid UTF-8 byte "9F}.%
+%       \footnote{even without loading \emph{inputenc} and with
+%         \cs{UseRawInputEncoding}, cf.
+%         \href{https://www.latex-project.org/news/latex2e-news/ltnews28.pdf}%
+%       {LaTeX News 28}}
 
-To minimise side-effects (see below), uc/lccodes are only changed:
-\begin{itemize}
-  \item if \cs{greekfontencoding} is a ``short macro'' expanding to LGR,%
-        \footnote{i.e. not in documents using Unicode fonts unless
-           \cs{greekfontencoding} is explicitly set to \texttt{LGR} before
-           loading \emph{babel-greek}}
-  \item if the LaTeX version is older than 2022/06, as \cs{uccode}s are ignored
-        by the \cs{MakeUppercase} implementation introduced in this version,
-  \item for accents that are actually required in the selcected language
-        variant (i.e. only for the \emph{tonos}, if the language variant
-        is the default ``monotonic''.
 \end{itemize}
 
-With \cs{greekfontencoding} \greekfontencoding, LaTeX version \fmtversion,
-and language variant ``\GreekLanguageVariant'' we get for
-dialytika\footnote{%
-  Unless followed by a to-be accented vowel, the quotation mark \texttt{"}
-  is converted to an upper right apostrophe by LGR.},
-sub-iota, tonos/oxia, varia, psili, and dasia:
+\subsubsection{Particuliarities of the Latin Transliteration}
 
-\newcommand{\AccentCharacters}{" | ' ` > <}
-\begin{quote}
-  \selectlanguage{greek}
-  \AccentCharacters{} $\mapsto$ \MakeUppercase{\AccentCharacters}
-\end{quote}
+To enable correct upcasing of the ``Latin transliteration'',
+\emph{babel-greek} changes the uppercase
+equivalent of some characters with special meaning in LGR.
+To minimise side-effects, this is done:
+\begin{itemize}
+\item only if \cs{greekfontencoding} is a ``short macro'' expanding to LGR,
+      i.e.\ not in documents using Unicode fonts
+      (unless \cs{greekfontencoding} is explicitly set to \texttt{LGR}
+      before loading \emph{babel-greek}),
+\item only for diacritics that are actually required in the selected language
+      variant (i.e.\ only for the \emph{tonos} \texttt{'},
+      if the language variant is the default \texttt{monotoniko}),
+\item not for the characters ``v'' (zero-width space) and ``c'' (final sigma).
+      Use \verb|\textcompwordmark| instead of \texttt{v} and autosigma
+      (\texttt{s}) instead of \texttt{c} in text parts that could/should
+      become upcased, e.g., \lgrfont{a\textcompwordmark us $\mapsto$
+      \MakeUppercase{a\textcompwordmark us}}
+      not \lgrfont{avuc $\mapsto$ \MakeUppercase{avuc}}.
 
+\end{itemize}
+
+Since version 1.13.2, \emph{babel-greek} utilises \cs{DeclareUppercaseMapping}
+(a LaTeX kernel command, new in 2023) for the required change.
+For LaTeX version older than 2022/06, the \cs{uccode} is set to
+the ``empty'' character 0x9f = 159.
 \emph{Composite command} definitions ensure that combined accents
 also work for accent characters ``upcased'' to the charcter
-No 159 = 0x9f):
-
-\newcommand{\CombinedAccentSample}{
+No 159 = 0x9f:
+\newcommand{\CombinedAccentSample}{%
   \ifdefined \UnicodeEncodingName
-    % TODO: combined accents swallow whitespace after base char
-    %       unless protected
     \"'υ{} \"`υ{} \`"υ{} \'"υ{} \`<α{} \'<α{}
   \else
     \"'u   \"`u   \`"u   \'"u   \`<a   \'<a   \'<ai
   \fi
   \'<\textalpha\textiota
-}
-\begin{quote}
-  \selectlanguage{greek}
-  \CombinedAccentSample{} $\mapsto$ \MakeUppercase{\CombinedAccentSample}
-\end{quote}
+}%
+\foreignlanguage{greek}{%
+  \CombinedAccentSample{} $\mapsto$ \MakeUppercase{\CombinedAccentSample}%
+}.
 
-With babel-greek versions up to 1.11, using the tilde for the
-\emph{perispomeni} accent inside \verb|\MakeUppercase| led to a
+
+\newcommand{\AccentCharacters}{" | ' ` > <}
+With font encoding \greekfontencoding, LaTeX version \fmtversion,
+and language variant ``\GreekLanguageVariant'', we get for
+\texttt{\AccentCharacters} (dialytika\footnote{%
+  Unless followed by a to-be accented vowel, the quotation mark \texttt{"}
+  is converted to an upper right apostrophe by LGR.},
+sub-iota, tonos/oxia, varia, psili, and dasia):
 \begin{quote}
-  \texttt{Package inputenc Error: Invalid UTF-8 byte "9F}
-\end{quote}
-(even without loading \emph{inputenc} and with \verb|\UseRawInputEncoding|).%
-\footnote{cf.
-  \href{https://www.latex-project.org/news/latex2e-news/ltnews28.pdf}%
-  {LaTeX News 28}}
-Version 1.12 fixes the issue so that all three input variants work again
-(with LaTeX versions up to 2022/06)%
-\footnote{The implementation of \cs{MakeUppercase}
-    introduced in the 2022/06 LaTeX release, cf.\
-    \href{https://www.latex-project.org/news/latex2e-news/ltnews35.pdf}%
-    {LaTeX News 35}, works (almost) fine with literal input but currently
-     fails with the Latin transliteration and standard accent macros.}
-\begin{quote}
   \selectlanguage{greek}
-  \greektext
-  ~u \~u \accperispomeni{u} $\mapsto$ \MakeUppercase{~u \~u \accperispomeni{u}}
+  \AccentCharacters{} $\mapsto$ \MakeUppercase{\AccentCharacters}
 \end{quote}
 
-
 The changed uc/lccodes have strange effects on Latin text parts
 in Greek paragraphs if only the encoding is switched:
 \begin{quote}
@@ -790,14 +853,51 @@
     Let's see: \AccentCharacters{} $\mapsto$
     \MakeUppercase{Let's see: \AccentCharacters}}
 \end{quote}
-%
-To limit the effect on, e.g., section headings (which are printed
-capitalised with the ``headings'' style), uccodes for ``v''
-(zero-width space) and ``c'' (final sigma) are not changed.
-Use \verb|\textcompwordmark| instead of \texttt{v} and autosigma
-(\texttt{s}) instead of \texttt{c} in text parts that could/should
-become upcased, e.g., \lgrfont{a\textcompwordmark us $\mapsto$
-\MakeUppercase{a\textcompwordmark us}}
-not \lgrfont{avuc $\mapsto$ \MakeUppercase{avuc}}.
 
+\subsubsection{Iota subscript vs. iota adscript}
+
+Unicode decomposes letters with \emph{mute iota}
+(GREEK CAPITAL LETTER ... WITH [... AND] PROSGEGRAMMENI)
+to the base letter and a COMBINING GREEK YPOGEGRAMMENI (U+0345).%
+\footnote{They are named ... WITH PROSGEGRAMMENI
+  for ``historic reasons''
+  (cf. \href{https://opoudjis.net/unicode/unicode_adscript.html}
+  {Nick Nicholas \emph{Titlecase and Adscripts}}).}
+Accordingly, the ``canonical'' LICR for all pre-composed letters with
+mute iota is the base character LICR followed by \verb|\ypogegrammeni|.
+
+The appearance in the output and upcasing results depend on the chosen font
+and LaTeX version.
+Compare letters followed by \verb|\ypogegrammeni| with pre-composed
+characters
+\begin{quotation}
+  \selectlanguage{greek}
+  \newcommand{\alphaypo}{\textalpha\ypogegrammeni α\ypogegrammeni{} ᾳ /
+                         \textAlpha\ypogegrammeni Α\ypogegrammeni{} ᾼ /
+                \accpsili\textAlpha\ypogegrammeni Ἀ\ypogegrammeni{} ᾈ}
+
+  \phantom{MakeUppercase}     \alphaypo
+
+  \ensureascii{MakeUppercase} \MakeUppercase{\alphaypo}
+
+  \ensureascii{MakeLowercase} \MakeLowercase{\alphaypo}
+\end{quotation}
+
+and letters followed by \verb|\prosgegrammeni|
+with literal character + literal GREEK YPOGEGRAMMENI:
+\begin{quotation}
+  \selectlanguage{greek}
+  \newcommand{\alphapros}{\textalpha\prosgegrammeni α\prosgegrammeni{} αι  /
+                          \textAlpha\prosgegrammeni Α\prosgegrammeni{} Αι /
+                 \accpsili\textAlpha\prosgegrammeni Ἀ\prosgegrammeni{} Ἀι}
+
+  \phantom{MakeUppercase}     \alphapros
+
+  \ensureascii{MakeUppercase} \MakeUppercase{\alphapros}
+
+  \ensureascii{MakeLowercase} \MakeLowercase{\alphapros}
+\end{quotation}
+
+See also the \href{https://www.unicode.org/faq/greek.html#6}{Unicode FAQ}.
+
 \end{document}

Modified: trunk/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
===================================================================
--- trunk/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx	2023-08-19 20:42:10 UTC (rev 67985)
@@ -26,7 +26,7 @@
 % and covered by LPPL is defined by the unpacking script (babel-greek.ins)
 % which is part of the package.
 % \fi
-% \CheckSum{1675}
+% \CheckSum{1701}
 %
 % \iffalse
 %    Tell the \LaTeX\ system who we are and write an entry on the
@@ -37,7 +37,7 @@
 %<code>\ProvidesLanguage{greek}
 %\fi
 %\ProvidesFile{babel-greek.dtx}
-        [2023-06-01 1.13.2 Greek support for the babel system]
+        [2023/08/18 1.14 Greek support for the babel system]
 %\iffalse
 %% File `babel-greek.dtx'
 %% Greek language Definition File
@@ -105,8 +105,6 @@
 %    \cs{textlatin} and fixed \cs{latinencoding}.}
 % \changes{babel-greek-1.09i}{2020/02/28}{
 %   Fix accent in \cs{seename} and \cs{alsoname}.}
-% \changes{babel-greek-1.12}{2023/03/04}{
-%   Update and restructure documentation.}
 %
 % \title{Babel support for the Greek language}
 % \author{Apostolos Syropoulos, Günter Milde}
@@ -114,7 +112,7 @@
 %
 % Babel-greek is a contributed package providing support for the Greek
 % language and script via the \pkgref{babel} system.
-% See the \href{README.html}{README} file for an overwiew of the
+% See \href{babel-greek-doc.html}{babel-greek-doc} for an overwiew of the
 % \pkg{babel-greek} package and links to requirements and related packages.
 %
 % The file \file{\filename}\footnote{
@@ -210,17 +208,17 @@
 %
 % \subsection{Modifiers \label{sec:modifiers}}
 %
+% \changes{babel-greek-1.12}{2023/03/04}{
+%   New modifiers \Lopt{local-LGR-fixes} and \Lopt{no-LGR-fixes}.}
+% \changes{babel-greek-1.14}{2023-08-18}{
+%   New modifier \Lopt{local-MakeUppercase-fixes}.}
+%
 % All language attributes may also be used as modifiers, e.g.
 % \begin{verbatim}
 %   \usepackage[greek.polutoniko,english]{babel}\end{verbatim}
-% In addition, there are two modifiers that cannot be set with
+% In addition, there are modifiers that cannot be set with
 % |\languageattribute|.
 %
-% \changes{babel-greek-1.12}{2023/03/04}{
-%   New modifiers \Lopt{local-LGR-fixes} and \Lopt{no-LGR-fixes}.}
-%
-% Some workarounds for the non-standard LGR font encoding may have
-% serious side-effects.
 % The \hyperref[sec:lgr-redefinitions]{\Lopt{local-LGR-fixes}} modifier
 % restricts the re-definitions in section~\ref{sec:lgr-redefinitions}
 % to text parts using the Greek language.
@@ -232,8 +230,14 @@
 % and using Xe/LuaTeX with Unicode fonts is not an option.
 % Check for problems with enumerations in Greek text parts and with
 % Roman and Greek numerals everywhere (especially in the ToC).
+%
+% The \hyperref[sec:MakeUppercase-fixes]{\Lopt{local-MakeUppercase-fixes}}
+% modifier skips the mapping of standard accents to ``capital'' accents
+% in section~\ref{sec:MakeUppercase-fixes}.
+%
 % These modifiers are provisional, naming and behaviour may change.
 %
+%
 % \subsection{Language hooks \label{sec:language-hooks}}
 %
 % \DescribeMacro\extrasgreek
@@ -524,7 +528,11 @@
 %    modern Greek with ``polytonic'' spelling can also be
 %    selected via the dummy language \Lopt{polutonikogreek}.
 %    However, it is not possible to use both options,
-%    \Lopt{greek} and \Lopt{polutonikogreek} in one document.
+%    \Lopt{greek} and \Lopt{polutonikogreek} in one document.^^A
+%      \footnote{Use of more than one Greek orthograpies in one document
+%                is possible with \cs{babelprovide}.
+%                However, there are side-effects.
+%                See the example in \file{test-greek.tex}.}
 %    We also define aliases to allow language switching commands using
 %    the language name |polutonikogreek|:
 % \changes{greek-1.3f}{1999/09/29}{
@@ -619,8 +627,9 @@
 % Test for unsupported (or misspelled) \hyperref[sec:modifiers]{modifiers}
 % (code contributed by Javier Bezos).
 %    \begin{macrocode}
-\def\bbl at greek@modifiers{,polutoniko,polytonic,ancient,keep-semicolon,}
-\addto\bbl at greek@modifiers{local-LGR-fixes,no-LGR-fixes,}
+\def\bbl at greek@modifiers{,%
+  polutoniko,polytonic,ancient,keep-semicolon,%
+  local-LGR-fixes,no-LGR-fixes,local-MakeUppercase-fixes,}
 \ifx\BabelModifiers\relax\else
   \bbl at foreach\BabelModifiers{%
     \@expandtwoargs\in@{,#1,}{\bbl at greek@modifiers}
@@ -1228,7 +1237,7 @@
 %
 %  \begin{macro}{\dategreek}
 %    The macro |\dategreek| redefines the command |\today| to
-%    produce greek dates. The name of the month is produced
+%    produce Greek dates. The name of the month is produced
 %    by the macro |\gr at month| since it is also needed in the definition
 %    of the macro |\Grtoday|.
 % \changes{greek-1.1a}{1997/03/03}{Fixed typo, \texttt{Oktwbr'iou}
@@ -1245,9 +1254,10 @@
 %
 %  \begin{macro}{\Grtoday}
 % \changes{greek-1.1}{1996/10/28}{Added macro \cs{Grtoday}}
-%          The macro |\Grtoday| produces the current date, only that the
-%          month and the day are shown as greek numerals instead of arabic
-%          as it is usually the case.
+%    The macro |\Grtoday| produces the current date, only that the
+%    month and the day are shown as greek numerals instead of arabic
+%    as it is usually the case. (The \pkgref{teubner} package defines
+%    a matching lowercase version \cs{grtoday}.)
 %    \begin{macrocode}
 \def\Grtoday{%
   \expandafter\Greeknumeral\expandafter{\the\day}\space
@@ -1506,34 +1516,24 @@
 %
 % \subsection{Character codes \label{sec:character-codes}}
 %
-% Greek letters drop diacritics (eccept dialytika and sub-iota) in
-% UPPERCASE. This is not cared for by the Unicode standard.
+% \changes{greek-1.1c}{1997/04/30}{fixed two typos}
+% \changes{greek-1.1e}{1997/10/12}{Added lowercase code for v}
+% \changes{greek-1.2}{1997/10/28}{Definitions for ``modern'' Greek are
+%    now the definitions of ``polutoniko'' Greek}
+% \changes{greek-1.2}{1997/10/28}{Added lowercase codes for ``modern''
+%    greek}
+% \changes{greek-1.3e}{1999/09/24}{\cs{extrasgreek} and
+%    \cs{extraspolutonikogreek} should be complementary}
+% \changes{babel-greek-1.09}{2014/07/20}{Added lc codes for chars 128 to 255}
+% \changes{babel-greek-1.09b}{2014/09/18}{Remove spurious whitespace from
+%    `extrasgreek'  definition (report Eike Schmidt).}
+% \changes{babel-greek-1.09e}{2015/11/27}{Fix bug in lccode-setting loop
+%   (patch by Enrico Gregorio).}
+% \changes{babel-greek-1.12}{2023/03/04}{
+%    Only change uc/lccodes if \cs{greekfontencoding} is LGR.}
 %
-% Up to the June 2022 LaTeX release, this could be corrected by
-% defining |\lccode| and |\uccode| values. The June 2023 release introduced
-% the |\DeclareUppercaseMapping| command as a replacement configuration
-% option.
-%
-% The file \file{tuenc-greek.def} from \pkg{greek-fontenc}
-% contains the required |\lccode| and |\uccode| corrections from the
-% \pkgref{xgreek} package by Apostolos Syropoulos. It is loaded if the
-% Greek font encoding is TU (i.e. with XeTeX/LuaTeX),
-% see section~\ref{load-greek-font-encoding-definitions}.
-%
-% If the Greek font encoding is LGR, configuration is done here because
-% character code changes must be restricted to text parts using the
-% LGR encoding.
-% \changes{greek-1.5}{2013/06/21}{Support XeTeX/LuaTeX.}
-% \changes{babel-greek-1.09d}{2015/07/06}{uc-/lccode corrections from xgreek
-%   are now in greek-euenc.def (the polyglossia version has bugs).}
-% \changes{babel-greek-1.12}{2023/03/04}{%
-%          Only change uc/lccodes if \cs{greekfontencoding} is LGR.}
-%    \begin{macrocode}
-\def\bbl at tempa{LGR}
-\ifx\greekfontencoding\bbl at tempa
-%    \end{macrocode}
 % In order to get correct hyphenation we need to set the lower case
-% code of a number of characters.
+% code for all characters that can be part of a word.
 %
 % In LGR encoded fonts, diacritics can be obtained using Knuth's
 % ligature mechanism (see usage.pdf). This means that the characters
@@ -1547,18 +1547,9 @@
 % ligature mechanism so that it is possible to typeset an isolated $\sigma$
 % without it becoming a $\varsigma$.
 % Because of this we make sure its lowercase code is not changed.
-% \changes{greek-1.1c}{1997/04/30}{fixed two typos}
-% \changes{greek-1.1e}{1997/10/12}{Added lowercase code for v}
-% \changes{greek-1.2}{1997/10/28}{Definitions for ``modern'' Greek are
-%    now the definitions of ``polutoniko'' Greek}
-% \changes{greek-1.2}{1997/10/28}{Added lowercase codes for ``modern''
-%    greek}
-% \changes{greek-1.3e}{1999/09/24}{\cs{extrasgreek} and
-%    \cs{extraspolutonikogreek} should be complementary}
-% \changes{babel-greek-1.09}{2014/07/20}{Added lc codes for chars 128 to 255}
-% \changes{babel-greek-1.09b}{2014/09/18}{Remove spurious whitespace from
-%   `extrasgreek'  definition (report Eike Schmidt).}
 %    \begin{macrocode}
+\def\bbl at tempa{LGR}
+\ifx\greekfontencoding\bbl at tempa
   \addto\extrasgreek{%
     \babel at savevariable{\lccode`v}\lccode`v=`v%
     \babel at savevariable{\lccode`\'}\lccode`\'=`\'%
@@ -1573,15 +1564,12 @@
     \babel at savevariable{\lccode`\`}\lccode`\`=`\`%
   }
 %    \end{macrocode}
-%    In order to process the suitable characters and in such a way that
-%    hyphenation patterns work also with precomposed characters, it is
-%    necessary to declare the lc code for all characters that can be part
-%    of a word. We do this in |\extrasgreek| because this is a feature of
+% Also set the lc code for the precomposed characters in the upper half
+% of the code table.
+%    We do this in |\extrasgreek| because this is a feature of
 %    the LGR font encoding (used in all language variants).
 %    This means that multi-accented characters are regarded parts of a word
-%    (and not non-word characters) also in monotonic spelling.
-% \changes{babel-greek-1.09e}{2015/11/27}{Fix bug in lccode-setting loop
-%   (patch by Enrico Gregorio).}
+%    also in monotonic spelling.
 %    \begin{macrocode}
   \addto\extrasgreek{%
     % ``high bit characters'': set in a loop and correct exceptions
@@ -1603,34 +1591,103 @@
     \lccode223=244% GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
   }
 %    \end{macrocode}
-% Drop diacritics (except dialytika and sub-iota) in UPPERCASE also with
-% ``input ligatures''. (The optional ``locale'' argument |[el]| restricts
-% this change to Greek text parts.)
-% If LaTeX is older than 2022/06/01, set the |\uccode| of the
-% relevant characters to a dummy character instead.
+%
+% \begin{macro}{\bbl at greek@tilde}
+%   \changes{greek-1.0c}{1997/02/19}{Added command}
+%   \changes{greek-1.1b}{1997/03/06}{Made tilde expand to a tilde with
+%     \cs{catcode 12}.}
+%   \changes{greek-1.3k}{2003/04/10}{Make sure the character `!' is not
+%     active during the definition of \cs{greek at tilde}}
+%   \changes{greek-1.4}{2013/05/17}{Do not re-define the tilde accent macro:
+%     it works as expected with \file{lgrenc.def} from \pkg{greek-fontenc}.}
+%   \changes{babel-greek-1.13}{2023/03/15}{
+%     Renamed from \cs{greek at tilde}. Simplified definition.}
+%
+%   By default, the tilde produces an unbreakable space in text mode.
+%   For the variants ``polutoniko'' and ``ancient'', we change its meaning
+%   to allow using |~| in the Latin transliteration of characters with
+%   perispomeni and in composite diacritics.
+%    \begin{macrocode}
+  \DeclareTextSymbol{\bbl at greek@tilde}{LGR}{126}
+  \addto\bbl at greek@setup at polytonic{
+    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
+  }
+\fi % End of LGR-specific code.
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+% \subsection{MakeUppercase fixes \label{sec:MakeUppercase-fixes}}
+%
 % \changes{greek-1.1b}{1997/03/06}{Added setting of \cs{uccode}s
-%    (after \file{kdgreek.sty})}
+%   (after \file{kdgreek.sty})}
 % \changes{greek-1.1e}{1997/10/12}{Added uppercase code for special
-%    letter ``v''. Uppercase code for accents is now \texttt{9f},
-%    instead of \texttt{ff}}
+%   letter ``v''. Uppercase code for accents is now \texttt{9f},
+%   instead of \texttt{ff}}
 % \changes{greek-1.2}{1997/10/28}{Added uppercase codes for ``modern''
-%    Greek. The old codes are now for ``Polutoniko'' Greek}
+%   Greek. The old codes are now for ``Polutoniko'' Greek}
 % \changes{greek-1.3e}{1999/09/24}{\cs{extrasgreek} and
-%    \cs{extraspolutonikogreek} should be complementary}
+%   \cs{extraspolutonikogreek} should be complementary}
 % {\catcode`|=12\relax\gdef\indexbar{\cs{|}}}
 % \changes{greek-1.3g}{1999/11/17}{uc code of \indexbar{} is now just
-%    \indexbar{} to reflect recent changes in the cb fonts}
+%   \indexbar{} to reflect recent changes in the cb fonts}
 % \changes{greek-1.3i}{2000/10/02}{uc code of `v' is switched to V
-%    so that mixed text appears correctly in headers.}
+%   so that mixed text appears correctly in headers.}
 % \changes{greek-1.3j}{2001/02/03}{Don't use the double caret notation here,
-%    because other languages might make the caret active.}
+%   because other languages might make the caret active.}
+% \changes{greek-1.5}{2013/06/21}{Support XeTeX/LuaTeX.}
+% \changes{babel-greek-1.09d}{2015/07/06}{uc-/lccode corrections from xgreek
+%   are now in greek-euenc.def (the polyglossia version has bugs).}
 % \changes{babel-greek-1.12}{2023/03/04}{
-%    Only change uccodes if LaTeX is older than 2022/06/01.}
+%   Only change uccodes if LaTeX is older than 2022/06/01.}
 % \changes{babel-greek-1.13.2}{2023-06-01}{
-%   Use \cs{DeclareUppercaseMapping} to drop diacritics.}
+%   \cs{MakeUppercase} fix for transliteration input.}
+% \changes{babel-greek-1.14}{2023-08-18}{
+%   \cs{MakeUppercase} fix for standard accent macros.}
+% In Greek typographical praxis,
+% letters drop accents (eccept dialytika) and breathings in
+% UPPERCASE. This is not cared for by the Unicode standard.
+% For Unicode literals, |\MakeUppercase| implements locale-specific
+% corrections.\footnote{
+%   The pre-2022 implementation is corrected by character code definitions
+%   in \file{tuenc-greek.def} from \pkgref{greek-fontenc},
+%   cf. section~\ref{load-greek-font-encoding-definitions}.}
+%
+% To fix the behaviour of the 2022 |\MakeUppercase| implementation with
+% standard accent macros, we define and use ``capital'' accent
+% macros.
+% Font-encoding specific definitions for the ``capital'' accent macros
+% in \pkgref{greek-fontenc}~$\ge 2.4$ suppress them on Greek letters.
+% The \Lopt{local-MakeUppercase-fixes} modifier can be used to skip this step
+% (cf. section~\ref{sec:modifiers}).
 %    \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion} % new in 2020
+\bbl at xin@{,local-MakeUppercase-fixes,}{,\BabelModifiers,}%
+\ifin@
+\else
+  \IfFormatAtLeastTF{2022/06/01}
+    {\ProvideTextCommandDefault{\accACUTE}{\@tabacckludge'}
+     \ProvideTextCommandDefault{\accGRAVE}{\@tabacckludge`}
+     \ProvideTextCommandDefault{\accTILDE}{\@tabacckludge~}
+     \ProvideTextCommandDefault{\accDIAERESIS}{\@tabacckludge"}
+     \addto\@uclclist{\'\accACUTE \`\accGRAVE \~\accTILDE \"\accDIAERESIS}%
+    }
+    {}
+\fi
+%    \end{macrocode}
+% Drop diacritics also with ``input ligatures'' defined in LGR fonts:
+%
+% Since 2023/06, we can set up character mappings to be used on the argument
+% of |\MakeUppercase|.\footnote{cf.
+%  \href{https://www.latex-project.org/news/latex2e-news/ltnews37.pdf}
+%  {LaTeX News~37}}
+% The optional ``locale'' argument |[el]| restricts the mapping to Greek
+% text parts.
+%    \begin{macrocode}
+\def\bbl at tempa{LGR}
+\ifx\greekfontencoding\bbl at tempa
   \ifdefined\DeclareUppercaseMapping % new in 2023
-    \DeclareUppercaseMapping[el]{"1FBE}{\prosgegrammeni}%
+    % \DeclareUppercaseMapping[el]{"1FBE}{\prosgegrammeni}%
     \DeclareUppercaseMapping[el]{"0027}{}% '
     \addto\bbl at greek@setup at polytonic{
       \DeclareUppercaseMapping[el]{"003C}{}% <
@@ -1639,11 +1696,14 @@
       \DeclareUppercaseMapping[el]{"007E}{}% ~
     }
   \fi
-  % fallback for for LaTeX versions older than 2020-10-01
-  \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
-  \IfFormatAtLeastTF{2022/06/01}%
-    {}
-    {% else
+%    \end{macrocode}
+% If LaTeX is older than 2022/06,
+% we set the |\uccode| of the relevant characters to a dummy character
+% (|\uccode| changes are ignored by |\MakeUppercase| since 2022).
+% To minimize side-effects, the re-definition is limited to Greek text parts.
+%    \begin{macrocode}
+  \IfFormatAtLeastTF{2022/06/01}{}
+    {% else (LaTeX format older than 2022/06/01)
      \addto\extrasgreek{%
        \babel at savevariable{\uccode`\"}\uccode`\"=`\"%
        \babel at savevariable{\uccode`\'}\uccode`\'=159% 159 == ^^9f
@@ -1652,7 +1712,6 @@
        \babel at savevariable{\uccode`\~}\uccode`\~=159%
        \babel at savevariable{\uccode`\>}\uccode`\>=159%
        \babel at savevariable{\uccode`\<}\uccode`\<=159%
-       \babel at savevariable{\uccode`\|}\uccode`\|=`\|%
        \babel at savevariable{\uccode`\`}\uccode`\`=159%
      }
 %    \end{macrocode}
@@ -1685,8 +1744,8 @@
      }
 %    \end{macrocode}
 % Add composite commands, so that the dialytika is kept or put on the
-% following character of a diphthong with |\MakeUppercase|
-% (see lgrdef.enc from the the greek-fontenc package for details).
+% following character of a diphthong with |\MakeUppercase| (see
+% \file{lgrdef.enc} from the \pkgref{greek-fontenc} package for details).
 % \changes{greek-1.4}{2013/05/17}{
 %   Add TextCompositeCommands for ``uppercase diacritics''.}
 % \changes{greek-1.5}{2013/05/27}{Bugfix: @hiatus->LGR at hiatus}
@@ -1708,35 +1767,9 @@
        \DeclareTextCompositeCommand{\"}{TU}{^^9f}{\accdialytika}
      \fi
     }% end of the \IfFormatAtLeastTF else block
-%    \end{macrocode}
-%
-% \begin{macro}{\bbl at greek@tilde}
-%   By default, the tilde produces an unbreakable space in text mode.
-%   In polytonic and ancient Greek, we change its meaning to allow
-%   using |~| in the Latin transliteration of characters with perispomeni.
-%   As the perispomeni is not required with monotonic Greek, this is
-%   only done for the variants ``polutoniko'' and ``ancient''.
-% \changes{greek-1.0c}{1997/02/19}{Added command}
-% \changes{greek-1.1b}{1997/03/06}{Made tilde expand to a tilde with
-%    \cs{catcode 12}.}
-% \changes{greek-1.3k}{2003/04/10}{Make sure the character `!' is not
-%    active during the definition of \cs{greek at tilde}}
-% \changes{greek-1.4}{2013/05/17}{Do not re-define the tilde accent macro:
-%    it works as expected with \file{lgrenc.def} from \pkg{greek-fontenc}.}
-% \changes{babel-greek-1.13}{2023/03/15}{
-%    Renamed from \cs{greek at tilde}. Simplify definition.}
-%    \begin{macrocode}
-  \DeclareTextSymbol{\bbl at greek@tilde}{LGR}{126}
-  \addto\bbl at greek@setup at polytonic{
-    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
-  }
-%    \end{macrocode}
-%  \end{macro}
-%    \begin{macrocode}
 \fi % End of LGR-specific code.
 %    \end{macrocode}
 %
-%
 % \subsection{Symbol name aliases}
 %    For backwards compatibility, we keep aliases for a few symbols.
 % \changes{greek-1.1c}{1997/03/10}{Added a couple of symbols, needed

Modified: trunk/Master/texmf-dist/tex/generic/babel-greek/greek.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel-greek/greek.ldf	2023-08-19 15:26:18 UTC (rev 67984)
+++ trunk/Master/texmf-dist/tex/generic/babel-greek/greek.ldf	2023-08-19 20:42:10 UTC (rev 67985)
@@ -32,7 +32,7 @@
 %% and covered by LPPL is defined by the unpacking script (babel-greek.ins)
 %% which is part of the package.
 \ProvidesLanguage{greek}
-        [2023-06-01 1.13.2 Greek support for the babel system]
+        [2023/08/18 1.14 Greek support for the babel system]
 %% File `babel-greek.dtx'
 %% Greek language Definition File
 %% Copyright © 1997, 2005 Apostolos Syropoulos, Johannes Braams
@@ -95,8 +95,9 @@
     \declare at shorthand{greek}{;}{\TextOrMath{\textsemicolon}{;}}
   \fi
 }
-\def\bbl at greek@modifiers{,polutoniko,polytonic,ancient,keep-semicolon,}
-\addto\bbl at greek@modifiers{local-LGR-fixes,no-LGR-fixes,}
+\def\bbl at greek@modifiers{,%
+  polutoniko,polytonic,ancient,keep-semicolon,%
+  local-LGR-fixes,no-LGR-fixes,local-MakeUppercase-fixes,}
 \ifx\BabelModifiers\relax\else
   \bbl at foreach\BabelModifiers{%
     \@expandtwoargs\in@{,#1,}{\bbl at greek@modifiers}
@@ -567,8 +568,28 @@
     \lccode219=240% GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
     \lccode223=244% GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
   }
+  \DeclareTextSymbol{\bbl at greek@tilde}{LGR}{126}
+  \addto\bbl at greek@setup at polytonic{
+    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
+  }
+\fi % End of LGR-specific code.
+\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion} % new in 2020
+\bbl at xin@{,local-MakeUppercase-fixes,}{,\BabelModifiers,}%
+\ifin@
+\else
+  \IfFormatAtLeastTF{2022/06/01}
+    {\ProvideTextCommandDefault{\accACUTE}{\@tabacckludge'}
+     \ProvideTextCommandDefault{\accGRAVE}{\@tabacckludge`}
+     \ProvideTextCommandDefault{\accTILDE}{\@tabacckludge~}
+     \ProvideTextCommandDefault{\accDIAERESIS}{\@tabacckludge"}
+     \addto\@uclclist{\'\accACUTE \`\accGRAVE \~\accTILDE \"\accDIAERESIS}%
+    }
+    {}
+\fi
+\def\bbl at tempa{LGR}
+\ifx\greekfontencoding\bbl at tempa
   \ifdefined\DeclareUppercaseMapping % new in 2023
-    \DeclareUppercaseMapping[el]{"1FBE}{\prosgegrammeni}%
+    % \DeclareUppercaseMapping[el]{"1FBE}{\prosgegrammeni}%
     \DeclareUppercaseMapping[el]{"0027}{}% '
     \addto\bbl at greek@setup at polytonic{
       \DeclareUppercaseMapping[el]{"003C}{}% <
@@ -577,11 +598,8 @@
       \DeclareUppercaseMapping[el]{"007E}{}% ~
     }
   \fi
-  % fallback for for LaTeX versions older than 2020-10-01
-  \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
-  \IfFormatAtLeastTF{2022/06/01}%
-    {}
-    {% else
+  \IfFormatAtLeastTF{2022/06/01}{}
+    {% else (LaTeX format older than 2022/06/01)
      \addto\extrasgreek{%
        \babel at savevariable{\uccode`\"}\uccode`\"=`\"%
        \babel at savevariable{\uccode`\'}\uccode`\'=159% 159 == ^^9f
@@ -590,7 +608,6 @@
        \babel at savevariable{\uccode`\~}\uccode`\~=159%
        \babel at savevariable{\uccode`\>}\uccode`\>=159%
        \babel at savevariable{\uccode`\<}\uccode`\<=159%
-       \babel at savevariable{\uccode`\|}\uccode`\|=`\|%
        \babel at savevariable{\uccode`\`}\uccode`\`=159%
      }
      \bgroup
@@ -606,10 +623,6 @@
        \DeclareTextCompositeCommand{\"}{TU}{^^9f}{\accdialytika}
      \fi
     }% end of the \IfFormatAtLeastTF else block
-  \DeclareTextSymbol{\bbl at greek@tilde}{LGR}{126}
-  \addto\bbl at greek@setup at polytonic{
-    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
-  }
 \fi % End of LGR-specific code.
 \providecommand*{\anwtonos}{\textdexiakeraia}
 \providecommand*{\katwtonos}{\textaristerikeraia}



More information about the tex-live-commits mailing list.