texlive[66347] branches/branch2022.final/Master/texmf-dist:

commits+karl at tug.org commits+karl at tug.org
Sat Mar 4 22:09:40 CET 2023


Revision: 66347
          http://tug.org/svn/texlive?view=revision&revision=66347
Author:   karl
Date:     2023-03-04 22:09:40 +0100 (Sat, 04 Mar 2023)
Log Message:
-----------
babel-greek (4mar23) (branch)

Modified Paths:
--------------
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/athnum.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/grmath.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/usage.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/usage.tex
    branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/Makefile
    branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/athnum.dtx
    branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
    branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.ins
    branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/grmath.dtx
    branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/athnum.sty
    branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/greek.ldf
    branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/grmath.sty

Added Paths:
-----------
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.md
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-8bitcompat.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-lgr-fixes.tex

Removed Paths:
-------------
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.html
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-lgr.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-tu.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.pdf
    branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.tex

Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,253 +0,0 @@
-babel-greek
-***********
-Babel support for the Greek language and script
-===============================================
-
-:Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
-            © 2013 -- 2020 Günter Milde.
-:Licence:   This work may be distributed and/or modified under the
-            conditions of the `LaTeX Project Public License`_, either
-            version 1.3 of this license or any later version.
-
-:Abstract: Babel-greek is a contributed package providing support for the
-           Greek language and script via the Babel_ system.
-
-           The file ``greek.ldf`` provides options for the monotonic
-           (single-diacritic), polytonic (multiple-diacritic) and ancient
-           orthography of the Greek language.
-
-           Since 2013-07-19, babel-greek supports also Unicode-aware TeX
-           engines (XeTeX/LuaTeX).
-
-News
-----
-
-.. class:: borderless
-
-===== ============ ============================================================
-1.4   2013-05-17   New maintainer.
-..                 The encoding definition file ``lgrenc.def`` moved to the
-                   greek-fontenc_ package.
-
-1.5   2013-06-21   bugfixes and cleanup,
-..                 LICR macros in string definitions,
-..                 LGR font encoding not used with XeTeX/LuaTeX,
-..                 input "xgreek-fixes.def" from polyglossia_ with Xe/LuaTeX.
-1.5a  2013-07-02   Fix LaTeX bugs babel/3707, `babel/4303`_ and `babel/4305`_
-1.6   2013-07-19   Experimental support for XeTeX/LuaTeX.
-1.7   2013-09-09   CB-Fonts font definition files moved to CB-Fonts package.
-..                 Do not auto-load euenc.def with XeTeX/LuaTeX.
-1.7a  2013-09-13   Fix bug `babel/4360`_: spurious ``\fi``.
-1.7b  2013-10-01   bugfix: correct upcasing of babel strings with Xe/LuaTeX.
-1.8   2013-12-02   Rename ``greek.dtx`` to ``babel-greek`` so that texdoc_
-                   shows the right documentation.
-..                 Compatibility with Xe/LuaTeX in Unicode and 8-bit mode.
-1.8a  2013-12-03   Set ``\encodingdefault`` in ``\greekscript`` to fix
-                   Greek in footnotes etc. with document language Greek.
-1.9   2014-07-20   Added attribute for ancient Greek, load correct hyphenation
-                   patterns: Patch by Claudio Beccari. Bugfix for Makeuppercase
-1.9a  2014-09-12   Remove duplicate code, documentation review.
-1.9b  2014-09-18   Remove spurious whitespace from "extrasgreek" definition.
-..                 Use named macros instead of non-standard short macros
-                   for psili and dasia in the string definitions.
-1.9c  2014-10-21   Fix dummy hyphenation language names (patch Ulrike Fischer).
-1.9d  2015-09-04   Remove `grsymb` (macros for Greek symbols).
-                   This package is outdated and obsoleted by greek-fontenc_
-                   (reported by Claudio Beccari).
-..                 Unicode uc/lc corrections now in greek-fontenc.
-1.9e  2015-11-27   Fix bug in lccode-setting loop (patch by Enrico Gregorio).
-1.9f  2016-02-04   Support for new standard Unicode text font encoding "TU".
-1.9g  2016-09-07   Babel 3.9i deprecated ``\textlatin``
-                   and fixed ``\latinencoding``.
-1.9h  2019-07-11   Move breathing composite commands to textalpha_.
-1.9i  2020-02-28   Update test for Unicode fonts.
-                   Fix accent in ``\seename`` and ``\alsoname``.
-1.9j  2020-03-17   Fix ampersand in math mode.
-1.10  2020-11-10   Use ``TU`` as ``\greekfontencoding`` for Xe/LuaTeX
-                   (set by LaTeX as `default font encoding for Unicode
-                   engines`_ since 2017/01/01).
-..                 Use zig-zagy ``\textkoppa`` for ``\greeknumeral{90}``.
-..                 PDF-string secure implementation of ``\greeknumeral``
-                   from hyperref_.
-..                 Load ``puenc-greek.def`` (from greek-fontenc_)
-                   if used with hyperref (polytonic Greek in PDF-strings).
-===== ============ ============================================================
-
-
-.. _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
-.. _babel/4360: http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4360
-
-Files
------
-
-`<babel-greek.dtx>`_; `<babel-greek.pdf>`_
-  Source of the language definition file ``greek.ldf`` for use with Babel_.
-`<athnum.dtx>`_; `<athnum.pdf>`_
-  Athenian Numerals.
-`<grmath.dtx>`_; `<grmath.pdf>`_
-  Greek log-like Operators.
-`<babel-greek.ins>`_
-  DocStrip_ batch file.
-`<test-greek.tex>`_ `<test-greek-lgr.pdf>`_ `<test-greek-tu.pdf>`_
-  Test Babel-Greek features.
-`<test-8bit-greek.tex>`_ `<test-8bit-greek.pdf>`_
-  Additional tests and examples for 8-bit TeX.
-`<test-tu-lgr.tex>`_ `<test-tu-lgr.pdf>`_
-  Tests and Examples for XeTeX/LuaTeX with LGR 8-bit fonts.
-`<usage.tex>`_ `<usage.pdf>`_
-  Description of the `LGR Latin transliteration`_.
-
-
-Requirements
-------------
-
-The "babel-greek" package requires the babel_ base package and font
-definition files from the greek-fontenc_ package. The greek-inputenc_
-package is recommended when using 8-bit TeX engines.
-
-Typesetting Greek texts requires `Greek text fonts`_.
-
-Plain TeX is currently not supported. Patches are welcome.
-
-
-Installation
-------------
-
-If possible, get this package from your distribution using its installation
-manager.
-
-Otherwise, make sure LaTeX can find the required files:
-
-* Download and unpack `babel-greek.zip`.
-
-* Run ``tex`` or ``latex`` on the batch file ``babel-greek.ins``.
-
-  This will generate the files ``greek.ldf``, ``athnum.sty``, and
-  ``grmath.sty`` in the current directory. [#]_
-
-* Move all files ending in ``.ldf`` or ``.sty`` into a directory searched by
-  TeX.
-
-* To produce the documentation, run the file ``usage.tex`` and all files
-  ending in ``.dtx`` through LaTeX.
-
-.. [#] If these files already exist somewhere in the TeX-path, you will be
-   warned that they might be overwritten. You can ignore this
-   warning and answer `y` unless the *current directory* contains versions
-   of these files you want to keep.
-
-   This is done by docstrip_. Try ``texdoc docstrip`` for details.
-
-Usage
------
-
-Use the "greek" document option or pass the "greek" option to babel::
-
-  \usepackage[greek]{babel}
-
-For polytonic Greek, set the language attribute  "polutoniko"::
-
-  \usepackage[greek]{babel}
-  \languageattribute{greek}{polutoniko}
-
-or ::
-
-  \usepackage[greek.polutoniko,english]{babel}
-
-Similarly, the attribute "ancient" selects the ancient Greek language
-variant.
-
-For details see `<babel-greek.pdf>`_ and the babel_ documentation.
-
-Input of Greek characters is possible as literal characters (with the
-greek-inputenc_ package or with XeTeX or LuaTeX) or the `LGR Latin
-transliteration`_. See `<usage.pdf>`_ and the example files provided with
-greek-fontenc_.
-
-Greek text fonts
-----------------
-
-A list of Greek text fonts for use with LaTeX is available at the CTAN
-http://www.ctan.org/topic/font-greek
-
-With the XeTeX or LuaTeX engines, the user should ensure that the chosen
-font contains the required glyphs: the default Latin Modern fonts miss
-them. Warnings about missing charcters are only written to the log
-file, not the console output! Select a suitable font with fontspec_.
-
-Examples for suitable fonts are the CM-unicode_ or the `Linux
-Libertine`_ OpenType fonts as well as any system-wide installed OTF fonts
-that support Greek (e.g. `Deja Vu`_).
-
-The LGR `font encoding`_ is the de-facto standard for typesetting Greek with
-8-bit LaTeX. Fonts in this encoding include the `CB fonts`_ (matching CM),
-grtimes_ (Greek Times), Kerkis_ (matching URW Bookman), and the `GFS font
-collection`_. Setup of these fonts as Greek variant to matching Latin fonts
-is facilitated by the substitutefont_ package.
-
-LGR Latin Transliteration
--------------------------
-
-The LGR font encoding allows input of Greek characters via an ASCII
-transliteration. This enables simple input with a Latin keyboard. Characters
-with diacritics may be selected with accent macros (cf. greek-fontenc_) or
-via the ligature definitions in the font (see `<usage.pdf>`_).
-
-The following ASCII characters are converted to Greek symbols:
-
-= = = = = = = = = = = = = = = = = = = = = = = = =
-A B G D E Z H J I K L M N X O P R S   T U F Q Y W
-Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ   Τ Υ Φ Χ Ψ Ω
-- - - - - - - - - - - - - - - - - - - - - - - - -
-- - - - - - - - - - - - - - - - - - - - - - - - -
-a b g d e z h j i k l m n x o p r s c t u f q y w
-α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω
-= = = = = = = = = = = = = = = = = = = = = = = = =
-
-Accent symbols and punctuation:
-
-================= ====== == ====================== ======== ====
-tonos             ``'a``  ά  semicolon              ``;``    ·
-varia             \`a     ὰ  question mark          ``?``    ;
-perispomeni       ``~a``  ᾶ  left apostrophe        \` \`    ‘
-dasia             ``<a``  ἁ  right apostrophe       ``''``   ’
-psili             ``>a``  ἀ  left quotation mark    ``((``   «
-ypogegrammeni     ``a|``  ᾳ  right quotation mark   ``))``   »
-dialytika         ``"i``  ϊ  zero width non-joiner  v
-================= ====== == ====================== ======== ====
-
-A major drawback of the LGR transliteration is that you cannot access Latin
-letters and some symbols if LGR is the active font encoding (e.g. in
-documents or parts of documents given the `Babel` language ``greek``). This
-means that for every Latin-written word or acronym an explicit
-language-switch is required. This problem can only be solved via a
-font-encoding comprising both Latin and Greek like the hypothetical T7 or
-Unicode (with XeTeX or LuaTeX).
-
-.. References
-   ----------
-
-.. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
-.. _babel: http://www.ctan.org/pkg/babel
-.. _docstrip: http://www.ctan.org/pkg/docstrip
-.. _font encoding: http://mirror.ctan.org/macros/latex/base/encguide.pdf
-.. _fontspec: http://www.ctan.org/pkg/fontspec
-.. _fontenc: http://www.ctan.org/pkg/fontenc
-.. _CB Fonts: http://www.ctan.org/pkg/cbgreek-complete
-.. _CM-unicode: http://www.ctan.org/pkg/cm-unicode
-.. _Deja Vu: http://dejavu-fonts.org
-.. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex
-.. _grtimes: http://www.ctan.org/pkg/grtimes
-.. _hyperref: http://www.ctan.org/pkg/hyperref
-.. _textalpha:
-.. _greek-fontenc: http://www.ctan.org/pkg/greek-fontenc
-.. _greek-inputenc: http://www.ctan.org/pkg/greek-inputenc
-.. _GFS font collection: http://www.ctan.org/pkg/gfs
-.. _Kerkis: http://www.ctan.org/pkg/kerkis
-.. _Linux Libertine: http://www.ctan.org/pkg/libertine
-.. _polyglossia: http://www.ctan.org/pkg/polyglossia
-.. _substitutefont: http://www.ctan.org/pkg/substitutefont
-.. _texdoc: http://www.ctan.org/pkg/texdoc
-.. _default font encoding for Unicode engines:
-    https://www.latex-project.org/news/latex2e-news/ltnews26.pdf

Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.html
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.html	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.html	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,1136 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta charset="utf-8"/>
-<meta name="generator" content="Docutils 0.17b.dev: http://docutils.sourceforge.net/" />
-<title>babel-greek</title>
-<meta name="dcterms.rights" content="© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 – 2020 Günter Milde." />
-<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
-<style type="text/css">
-
-/* Minimal style sheet for the HTML output of Docutils.                    */
-/*                                                                         */
-/* :Author: Günter Milde, based on html4css1.css by David Goodger          */
-/* :Id: $Id$               */
-/* :Copyright: © 2015 Günter Milde.                                        */
-/* :License: Released under the terms of the `2-Clause BSD license`_,      */
-/*    in short:                                                            */
-/*                                                                         */
-/*    Copying and distribution of this file, with or without modification, */
-/*    are permitted in any medium without royalty provided the copyright   */
-/*    notice and this notice are preserved.                                */
-/*                                                                         */
-/*    This file is offered as-is, without any warranty.                    */
-/*                                                                         */
-/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause     */
-
-/* This CSS2.1_ stylesheet defines rules for Docutils elements without    */
-/* HTML equivalent. It is required to make the document semantic visible. */
-/*                                                                        */
-/* .. _CSS2.1: http://www.w3.org/TR/CSS2                                  */
-/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link       */
-
-/* alignment of text and inline objects inside block objects*/
-.align-left   { text-align: left; }
-.align-right  { text-align: right; }
-.align-center { clear: both; text-align: center; }
-.align-top    { vertical-align: top; }
-.align-middle { vertical-align: middle; }
-.align-bottom { vertical-align: bottom; }
-
-/* titles */
-h1.title, p.subtitle {
-  text-align: center;
-}
-p.topic-title,
-p.sidebar-title,
-p.rubric,
-p.admonition-title,
-p.system-message-title {
-  font-weight: bold;
-}
-h1 + p.subtitle,
-h2 + p.section-subtitle {
-  font-size: 1.6em;
-}
-h3 + p.section-subtitle { 
-  font-size: 1.28em;
-}
-p.subtitle,
-p.section-subtitle,
-p.sidebar-subtitle {
-  font-weight: bold;
-  margin-top: -0.5em;
-}
-p.sidebar-title {
-  font-size: larger;
-}
-p.rubric {
-  font-size: larger;
-  color: maroon;
-}
-a.toc-backref {
-  color: black;
-  text-decoration: none; }
-
-/* Warnings, Errors */
-div.system-messages h2,
-span.problematic,
-p.system-message-title {
-  color: red;
-}
-
-/* inline literals */
-span.docutils.literal {
-  font-family: monospace;
-  white-space: pre-wrap;
-}
-/* do not wraph at hyphens and similar: */
-.literal > span.pre { white-space: nowrap; }
-
-/* Lists */
-
-/* compact and simple lists: no margin between items */
-.simple  li, .compact li,
-.simple  ul, .compact ul,
-.simple  ol, .compact ol,
-.simple > li p, .compact > li p,
-dl.simple > dd, dl.compact > dd {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-
-/* Table of Contents */
-div.topic.contents { margin: 0.5em 0; }
-div.topic.contents ul {
-  list-style-type: none;
-  padding-left: 1.5em;
-}
-
-/* Enumerated Lists */
-ol.arabic     { list-style: decimal }
-ol.loweralpha { list-style: lower-alpha }
-ol.upperalpha { list-style: upper-alpha }
-ol.lowerroman { list-style: lower-roman }
-ol.upperroman { list-style: upper-roman }
-
-dt span.classifier { font-style: italic }
-dt span.classifier:before {
-  font-style: normal;
-  margin: 0.5em;
-  content: ":";
-}
-
-/* Field Lists and drivatives */
-/* bold field name, content starts on the same line */
-dl.field-list > dt,
-dl.option-list > dt,
-dl.docinfo > dt,
-dl.footnote > dt,
-dl.citation > dt {
-  font-weight: bold;
-  clear: left;
-  float: left;
-  margin: 0;
-  padding: 0;
-  padding-right: 0.5em;
-}
-/* Offset for field content (corresponds to the --field-name-limit option) */
-dl.field-list > dd,
-dl.option-list > dd,
-dl.docinfo > dd {
-  margin-left:  9em; /* ca. 14 chars in the test examples */
-}
-/* start field-body on a new line after long field names */
-dl.field-list > dd > *:first-child,
-dl.option-list > dd > *:first-child
-{
-  display: inline-block;
-  width: 100%;
-  margin: 0;
-}
-/* field names followed by a colon */
-dl.field-list > dt:after,
-dl.docinfo > dt:after {
-  content: ":";
-}
-
-/* Bibliographic Fields (docinfo) */
-pre.address { font: inherit; }
-dd.authors > p { margin: 0; }
-
-/* Option Lists */
-dl.option-list { margin-left: 1.5em; }
-dl.option-list > dt { font-weight: normal; }
-span.option { white-space: nowrap; }
-
-/* Footnotes and Citations  */
-dl.footnote.superscript > dd {margin-left: 1em; }
-dl.footnote.brackets > dd {margin-left: 2em; }
-dl > dt.label { font-weight: normal; }
-a.footnote-reference.brackets:before,
-dt.label > span.brackets:before { content: "["; }
-a.footnote-reference.brackets:after,
-dt.label > span.brackets:after { content: "]"; }
-a.footnote-reference.superscript,
-dl.footnote.superscript > dt.label {
-  vertical-align: super;
-  font-size: smaller;
-}
-dt.label > span.fn-backref { margin-left: 0.2em; }
-dt.label > span.fn-backref > a { font-style: italic; }
-
-/* Line Blocks */
-div.line-block { display: block; }
-div.line-block div.line-block {
-  margin-top: 0;
-  margin-bottom: 0;
-  margin-left: 40px;
-}
-
-/* Figures, Images, and Tables */
-.figure.align-left,
-figure.align-left,
-img.align-left,
-object.align-left,
-table.align-left {
-  margin-right: auto;
-}
-.figure.align-center,
-figure.align-center,
-img.align-center,
-object.align-center,
-table.align-center {
-  margin-left: auto;
-  margin-right: auto;
-}
-.figure.align-right,
-figure.align-right,
-img.align-right,
-object.align-right,
-table.align-right {
-  margin-left: auto;
-}
-img.align-center, img.align-right,
-object.align-center, object.align-right {
-  display: block;
-}
-/* reset inner alignment in figures and tables */
-.figure.align-left, .figure.align-right,
-figure.align-left, figure.align-right,
-table.align-left, table.align-center, table.align-right {
-  text-align: inherit;
-}
-
-/* Sidebar */
-aside.sidebar {
-  width: 30%;
-  max-width: 26em;
-  float: right;
-  clear: right;
-}
-
-/* Text Blocks */
-blockquote,
-div.topic,
-div.admonition,
-div.system-message,
-pre.literal-block,
-pre.doctest-block,
-pre.math,
-pre.code {
-  margin-left: 1.5em;
-  margin-right: 1.5em;
-}
-pre.code .ln { color: gray; } /* line numbers */
-
-/* Tables */
-table { border-collapse: collapse; }
-td, th {
-  border-style: solid;
-  border-color: silver;
-  padding: 0 1ex;
-  border-width: thin;
-}
-td > p:first-child, th > p:first-child { margin-top: 0; }
-td > p, th > p { margin-bottom: 0; }
-
-table > caption {
-  text-align: left;
-  margin-bottom: 0.25em
-}
-
-table.borderless td, table.borderless th {
-  border: 0;
-  padding: 0;
-  padding-right: 0.5em /* separate table cells */
-}
-
-/* Document Header and Footer */
-header { border-bottom: 1px solid black; }
-footer { border-top: 1px solid black; }
-
-/* new HTML5 block elements: set display for older browsers */
-header, section, footer, aside, nav, main, article, figure {
-  display: block;
-}
-
-</style>
-<style type="text/css">
-
-/* CSS31_ style sheet for the output of Docutils HTML writers.             */
-/* Rules for easy reading and pre-defined style variants.                  */
-/*                                                                         */
-/* :Author: Günter Milde, based on html4css1.css by David Goodger          */
-/* :Id: $Id$                                                               */
-/* :Copyright: © 2015 Günter Milde.                                        */
-/* :License: Released under the terms of the `2-Clause BSD license`_,      */
-/*    in short:                                                            */
-/*                                                                         */
-/*    Copying and distribution of this file, with or without modification, */
-/*    are permitted in any medium without royalty provided the copyright   */
-/*    notice and this notice are preserved.                                */
-/*                                                                         */
-/*    This file is offered as-is, without any warranty.                    */
-/*                                                                         */
-/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause     */
-/* .. _CSS3: http://www.w3.org/TR/CSS3                                     */
-
-
-/* Document Structure */
-/* ****************** */
-
-/* "page layout" */
-body {
-  margin: 0;
-  background-color: #dbdbdb;
-}
-div.document,
-main {
-  line-height:1.3;
-  counter-reset: table figure;
-  /* avoid long lines --> better reading */
-  /* optimum is 45…75 characters/line <http://webtypography.net/2.1.2> */ 
-  /* OTOH: lines should not be too short because of missing hyphenation, */
-  max-width: 50em; 
-  padding: 1px 2%; /* 1px on top avoids grey bar above title (mozilla) */
-  margin: auto;
-  background-color: white;
-}
-
-/* Sections */
-
-/* Transitions */
-
-hr.docutils {
-  width: 80%;
-  margin-top: 1em;
-  margin-bottom: 1em;
-  clear: both;
-}
-
-/* Paragraphs */
-/* ========== */
-
-/* vertical space (parskip) */
-p, ol, ul, dl, li, dd,
-div.line-block,
-div.topic,
-table {
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-}
-p:first-child { margin-top: 0; }
-/* (:last-child is new in CSS 3) */
-p:last-child  { margin-bottom: 0; }
-
-h1, h2, h3, h4, h5, h6,
-dl > dd {
-  margin-bottom: 0.5em;
-}
-
-/* Lists */
-/* ===== */
-
-/* Separate list entries in compound lists */
-dl > dd, ol > li,
-
-/* Definition Lists */
-/* Indent lists nested in definition lists */
-/* (:only-child is new in CSS 3)           */
-dd > ul:only-child, dd > ol:only-child { padding-left: 1em; }
-
-/* Description Lists */
-/* styled like in most dictionaries, encyclopedias etc. */
-dl.description > dt {
-  font-weight: bold;
-  clear: left;
-  float: left;
-  margin: 0;
-  padding: 0;
-  padding-right: 0.5em;
-}
-
-/* Field Lists */
-
-/* example for custom field-name width */
-dl.field-list.narrow > dd {
-  margin-left: 5em;
-}
-/* run-in: start field-body on same line after long field names */
-dl.field-list.run-in > dd p {
-  display: block;
-}
-
-/* Bibliographic Fields */
-
-/* generally, bibliographic fields use special definition list dl.docinfo */
-/* but dedication and abstract are placed into "topic" divs */
-div.abstract p.topic-title {
-  text-align: center;
-}
-div.dedication {
-  margin: 2em 5em;
-  text-align: center;
-  font-style: italic;
-}
-div.dedication p.topic-title {
-  font-style: normal;
-}
-
-/* Citations */
-dl.citation dt.label {
-  font-weight: bold;
-}
-span.fn-backref {
-  font-weight: normal;
-}
-
-/* Text Blocks */
-/* =========== */
-
-/* Literal Blocks */
-
-pre.literal-block,
-pre.doctest-block,
-pre.math,
-pre.code {
-  font-family: monospace;
-}
-
-/* Block Quotes */
-
-blockquote > table,
-div.topic > table {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-blockquote p.attribution,
-div.topic p.attribution {
-  text-align: right;
-  margin-left: 20%;
-}
-
-/* Tables */
-/* ====== */
-
-/* th { vertical-align: bottom; } */
-
-table tr { text-align: left; }
-
-/* "booktabs" style (no vertical lines) */
-table.booktabs {
-  border: 0;
-  border-top: 2px solid;
-  border-bottom: 2px solid;
-  border-collapse: collapse;
-}
-table.booktabs * {
-  border: 0;
-}
-table.booktabs th {
-  border-bottom: thin solid;
-}
-
-/* numbered tables (counter defined in div.document) */
-table.numbered > caption:before {
-  counter-increment: table;
-  content: "Table " counter(table) ": ";
-  font-weight: bold;
-}
-
-/* Explicit Markup Blocks */
-/* ====================== */
-
-/* Footnotes and Citations */
-/* ----------------------- */
-
-/* line on the left */
-dl.footnote {
-  padding-left: 1ex;
-  border-left: solid;
-  border-left-width: thin;
-}
-
-/* Directives */
-/* ---------- */
-
-/* Body Elements */
-/* ~~~~~~~~~~~~~ */
-
-/* Images and Figures */
-
-/* let content flow to the side of aligned images and figures */
-.figure.align-left,
-figure.align-left,
-img.align-left,
-object.align-left {
-  display: block;
-  clear: left;
-  float: left;
-  margin-right: 1em;
-}
-.figure.align-right,
-figure.align-right,
-img.align-right,
-object.align-right {
-  display: block;
-  clear: right;
-  float: right;
-  margin-left: 1em;
-}
-/* Stop floating sidebars, images and figures at section level 1,2,3 */
-h1, h2, h3, h4 { clear: both; }
-
-/* Numbered figures */
-figure.numbered > figcaption > p:before {
-  counter-increment: figure;
-  content: "Figure " counter(figure) ": ";
-  font-weight: bold;
-}
-
-
-/* Admonitions and System Messages */
-
-div.admonition,
-div.system-message,
-aside.sidebar {
-  border: medium outset;
-  margin: 1em 1.5em;
-  padding: 0.5em 1em;
-}
-
-div.caution p.admonition-title,
-div.attention p.admonition-title,
-div.danger p.admonition-title,
-div.error p.admonition-title,
-div.warning p.admonition-title,
-div.error {
-  color: red;
-}
-
-
-/* Sidebar */
-
-/* Move right. In a layout with fixed margins, */
-/* it can be moved into the margin.            */
-div.sidebar,
-aside.sidebar {
-  width: 30%;
-  max-width: 26em;
-  margin-left: 1em;
-  margin-right: -2%;
-  background-color: #ffffee;
-}
-
-/* Code */
-
-pre.code { padding: 0.7ex }
-pre.code, code { background-color: #eeeeee }
-pre.code .ln { color: gray; } /* line numbers */
-/* basic highlighting: for a complete scheme, see */
-/* http://docutils.sourceforge.net/sandbox/stylesheets/ */
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-/* Math */
-/* styled separately (see math.css for math-output=HTML) */
-
-/* Epigraph           */
-/* Highlights         */
-/* Pull-Quote         */
-/* Compound Paragraph */
-/* Container          */
-
-/* Document Header and Footer */
-
-footer, header {
-  font-size: smaller;
-  clear: both;
-  padding: 0.5em 2%;
-  background-color: #ebebee;
-  border: none;
-}
-
-/* Inline Markup */
-/* ============= */
-
-/* Emphasis           */
-/*   em               */
-/* Strong Emphasis    */
-/*   strong           */
-/* Interpreted Text   */
-/*   span.interpreted */
-/* Title Reference    */
-/*   cite             */
-
-/* Inline Literals                                          */
-/* possible values: normal, nowrap, pre, pre-wrap, pre-line */
-/*   span.docutils.literal { white-space: pre-wrap; }       */
-
-/* Hyperlink References */
-a { text-decoration: none; }
-
-/* External Targets       */
-/*   span.target.external */
-/* Internal Targets       */
-/*   span.target.internal */
-/* Footnote References    */
-/*   a.footnote-reference */
-/* Citation References    */
-/*   a.citation-reference */
-
-</style>
-</head>
-<body>
-<main id="babel-greek">
-<h1 class="title">babel-greek</h1>
-<p class="subtitle" id="babel-support-for-the-greek-language-and-script">Babel support for the Greek language and script</p>
-<dl class="docinfo simple">
-<dt class="copyright">Copyright</dt>
-<dd class="copyright">© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
-© 2013 – 2020 Günter Milde.</dd>
-<dt class="licence">Licence</dt>
-<dd class="licence"><p>This work may be distributed and/or modified under the
-conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either
-version 1.3 of this license or any later version.</p>
-</dd>
-</dl>
-<div class="abstract topic">
-<p class="topic-title">Abstract</p>
-<p>Babel-greek is a contributed package providing support for the
-Greek language and script via the <a class="reference external" href="http://www.ctan.org/pkg/babel">Babel</a> system.</p>
-<p>The file <span class="docutils literal">greek.ldf</span> provides options for the monotonic
-(single-diacritic), polytonic (multiple-diacritic) and ancient
-orthography of the Greek language.</p>
-<p>Since 2013-07-19, babel-greek supports also Unicode-aware TeX
-engines (XeTeX/LuaTeX).</p>
-</div>
-<section id="news">
-<h2>News</h2>
-<table class="borderless">
-<colgroup>
-<col style="width: 6%" />
-<col style="width: 16%" />
-<col style="width: 78%" />
-</colgroup>
-<tbody>
-<tr><td><p>1.4</p></td>
-<td><p>2013-05-17</p></td>
-<td><p>New maintainer.</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>The encoding definition file <span class="docutils literal">lgrenc.def</span> moved to the
-<a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a> package.</p></td>
-</tr>
-<tr><td><p>1.5</p></td>
-<td><p>2013-06-21</p></td>
-<td><p>bugfixes and cleanup,</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>LICR macros in string definitions,</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>LGR font encoding not used with XeTeX/LuaTeX,</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>input “xgreek-fixes.def” from <a class="reference external" href="http://www.ctan.org/pkg/polyglossia">polyglossia</a> with Xe/LuaTeX.</p></td>
-</tr>
-<tr><td><p>1.5a</p></td>
-<td><p>2013-07-02</p></td>
-<td><p>Fix LaTeX bugs babel/3707, <a class="reference external" href="http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4303">babel/4303</a> and <a class="reference external" href="http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4305">babel/4305</a></p></td>
-</tr>
-<tr><td><p>1.6</p></td>
-<td><p>2013-07-19</p></td>
-<td><p>Experimental support for XeTeX/LuaTeX.</p></td>
-</tr>
-<tr><td><p>1.7</p></td>
-<td><p>2013-09-09</p></td>
-<td><p>CB-Fonts font definition files moved to CB-Fonts package.</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>Do not auto-load euenc.def with XeTeX/LuaTeX.</p></td>
-</tr>
-<tr><td><p>1.7a</p></td>
-<td><p>2013-09-13</p></td>
-<td><p>Fix bug <a class="reference external" href="http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4360">babel/4360</a>: spurious <span class="docutils literal">\fi</span>.</p></td>
-</tr>
-<tr><td><p>1.7b</p></td>
-<td><p>2013-10-01</p></td>
-<td><p>bugfix: correct upcasing of babel strings with Xe/LuaTeX.</p></td>
-</tr>
-<tr><td><p>1.8</p></td>
-<td><p>2013-12-02</p></td>
-<td><p>Rename <span class="docutils literal">greek.dtx</span> to <span class="docutils literal"><span class="pre">babel-greek</span></span> so that <a class="reference external" href="http://www.ctan.org/pkg/texdoc">texdoc</a>
-shows the right documentation.</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>Compatibility with Xe/LuaTeX in Unicode and 8-bit mode.</p></td>
-</tr>
-<tr><td><p>1.8a</p></td>
-<td><p>2013-12-03</p></td>
-<td><p>Set <span class="docutils literal">\encodingdefault</span> in <span class="docutils literal">\greekscript</span> to fix
-Greek in footnotes etc. with document language Greek.</p></td>
-</tr>
-<tr><td><p>1.9</p></td>
-<td><p>2014-07-20</p></td>
-<td><p>Added attribute for ancient Greek, load correct hyphenation
-patterns: Patch by Claudio Beccari. Bugfix for Makeuppercase</p></td>
-</tr>
-<tr><td><p>1.9a</p></td>
-<td><p>2014-09-12</p></td>
-<td><p>Remove duplicate code, documentation review.</p></td>
-</tr>
-<tr><td><p>1.9b</p></td>
-<td><p>2014-09-18</p></td>
-<td><p>Remove spurious whitespace from “extrasgreek” definition.</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>Use named macros instead of non-standard short macros
-for psili and dasia in the string definitions.</p></td>
-</tr>
-<tr><td><p>1.9c</p></td>
-<td><p>2014-10-21</p></td>
-<td><p>Fix dummy hyphenation language names (patch Ulrike Fischer).</p></td>
-</tr>
-<tr><td><p>1.9d</p></td>
-<td><p>2015-09-04</p></td>
-<td><p>Remove <cite>grsymb</cite> (macros for Greek symbols).
-This package is outdated and obsoleted by <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a>
-(reported by Claudio Beccari).</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>Unicode uc/lc corrections now in greek-fontenc.</p></td>
-</tr>
-<tr><td><p>1.9e</p></td>
-<td><p>2015-11-27</p></td>
-<td><p>Fix bug in lccode-setting loop (patch by Enrico Gregorio).</p></td>
-</tr>
-<tr><td><p>1.9f</p></td>
-<td><p>2016-02-04</p></td>
-<td><p>Support for new standard Unicode text font encoding “TU”.</p></td>
-</tr>
-<tr><td><p>1.9g</p></td>
-<td><p>2016-09-07</p></td>
-<td><p>Babel 3.9i deprecated <span class="docutils literal">\textlatin</span>
-and fixed <span class="docutils literal">\latinencoding</span>.</p></td>
-</tr>
-<tr><td><p>1.9h</p></td>
-<td><p>2019-07-11</p></td>
-<td><p>Move breathing composite commands to <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">textalpha</a>.</p></td>
-</tr>
-<tr><td><p>1.9i</p></td>
-<td><p>2020-02-28</p></td>
-<td><p>Update test for Unicode fonts.
-Fix accent in <span class="docutils literal">\seename</span> and <span class="docutils literal">\alsoname</span>.</p></td>
-</tr>
-<tr><td><p>1.9j</p></td>
-<td><p>2020-03-17</p></td>
-<td><p>Fix ampersand in math mode.</p></td>
-</tr>
-<tr><td><p>1.10</p></td>
-<td><p>2020-11-10</p></td>
-<td><p>Use <span class="docutils literal">TU</span> as <span class="docutils literal">\greekfontencoding</span> for Xe/LuaTeX
-(set by LaTeX as <a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews26.pdf">default font encoding for Unicode
-engines</a> since 2017/01/01).</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>Use zig-zagy <span class="docutils literal">\textkoppa</span> for <span class="docutils literal">\greeknumeral{90}</span>.</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>PDF-string secure implementation of <span class="docutils literal">\greeknumeral</span>
-from <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a>.</p></td>
-</tr>
-<tr><td><!--  -->
-</td>
-<td></td>
-<td><p>Load <span class="docutils literal"><span class="pre">puenc-greek.def</span></span> (from <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a>)
-if used with hyperref (polytonic Greek in PDF-strings).</p></td>
-</tr>
-</tbody>
-</table>
-</section>
-<section id="files">
-<h2>Files</h2>
-<dl class="simple">
-<dt><a class="reference external" href="babel-greek.dtx">babel-greek.dtx</a>; <a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a></dt>
-<dd><p>Source of the language definition file <span class="docutils literal">greek.ldf</span> for use with <a class="reference external" href="http://www.ctan.org/pkg/babel">Babel</a>.</p>
-</dd>
-<dt><a class="reference external" href="athnum.dtx">athnum.dtx</a>; <a class="reference external" href="athnum.pdf">athnum.pdf</a></dt>
-<dd><p>Athenian Numerals.</p>
-</dd>
-<dt><a class="reference external" href="grmath.dtx">grmath.dtx</a>; <a class="reference external" href="grmath.pdf">grmath.pdf</a></dt>
-<dd><p>Greek log-like Operators.</p>
-</dd>
-<dt><a class="reference external" href="babel-greek.ins">babel-greek.ins</a></dt>
-<dd><p><a class="reference external" href="http://www.ctan.org/pkg/docstrip">DocStrip</a> batch file.</p>
-</dd>
-<dt><a class="reference external" href="test-greek.tex">test-greek.tex</a> <a class="reference external" href="test-greek-lgr.pdf">test-greek-lgr.pdf</a> <a class="reference external" href="test-greek-tu.pdf">test-greek-tu.pdf</a></dt>
-<dd><p>Test Babel-Greek features.</p>
-</dd>
-<dt><a class="reference external" href="test-8bit-greek.tex">test-8bit-greek.tex</a> <a class="reference external" href="test-8bit-greek.pdf">test-8bit-greek.pdf</a></dt>
-<dd><p>Additional tests and examples for 8-bit TeX.</p>
-</dd>
-<dt><a class="reference external" href="test-tu-lgr.tex">test-tu-lgr.tex</a> <a class="reference external" href="test-tu-lgr.pdf">test-tu-lgr.pdf</a></dt>
-<dd><p>Tests and Examples for XeTeX/LuaTeX with LGR 8-bit fonts.</p>
-</dd>
-<dt><a class="reference external" href="usage.tex">usage.tex</a> <a class="reference external" href="usage.pdf">usage.pdf</a></dt>
-<dd><p>Description of the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a>.</p>
-</dd>
-</dl>
-</section>
-<section id="requirements">
-<h2>Requirements</h2>
-<p>The “babel-greek” package requires the <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> base package and font
-definition files from the <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a> package. The <a class="reference external" href="http://www.ctan.org/pkg/greek-inputenc">greek-inputenc</a>
-package is recommended when using 8-bit TeX engines.</p>
-<p>Typesetting Greek texts requires <a class="reference internal" href="#greek-text-fonts">Greek text fonts</a>.</p>
-<p>Plain TeX is currently not supported. Patches are welcome.</p>
-</section>
-<section id="installation">
-<h2>Installation</h2>
-<p>If possible, get this package from your distribution using its installation
-manager.</p>
-<p>Otherwise, make sure LaTeX can find the required files:</p>
-<ul>
-<li><p>Download and unpack <cite>babel-greek.zip</cite>.</p></li>
-<li><p>Run <span class="docutils literal">tex</span> or <span class="docutils literal">latex</span> on the batch file <span class="docutils literal"><span class="pre">babel-greek.ins</span></span>.</p>
-<p>This will generate the files <span class="docutils literal">greek.ldf</span>, <span class="docutils literal">athnum.sty</span>, and
-<span class="docutils literal">grmath.sty</span> in the current directory.<a class="footnote-reference superscript" href="#id2" id="id1">1</a></p>
-</li>
-<li><p>Move all files ending in <span class="docutils literal">.ldf</span> or <span class="docutils literal">.sty</span> into a directory searched by
-TeX.</p></li>
-<li><p>To produce the documentation, run the file <span class="docutils literal">usage.tex</span> and all files
-ending in <span class="docutils literal">.dtx</span> through LaTeX.</p></li>
-</ul>
-<dl class="footnote superscript">
-<dt class="label" id="id2"><span class="superscript"><a class="fn-backref" href="#id1">1</a></span></dt>
-<dd><p>If these files already exist somewhere in the TeX-path, you will be
-warned that they might be overwritten. You can ignore this
-warning and answer <cite>y</cite> unless the <em>current directory</em> contains versions
-of these files you want to keep.</p>
-<p>This is done by <a class="reference external" href="http://www.ctan.org/pkg/docstrip">docstrip</a>. Try <span class="docutils literal">texdoc docstrip</span> for details.</p>
-</dd>
-</dl>
-</section>
-<section id="usage">
-<h2>Usage</h2>
-<p>Use the “greek” document option or pass the “greek” option to babel:</p>
-<pre class="literal-block">\usepackage[greek]{babel}</pre>
-<p>For polytonic Greek, set the language attribute  “polutoniko”:</p>
-<pre class="literal-block">\usepackage[greek]{babel}
-\languageattribute{greek}{polutoniko}</pre>
-<p>or</p>
-<pre class="literal-block">\usepackage[greek.polutoniko,english]{babel}</pre>
-<p>Similarly, the attribute “ancient” selects the ancient Greek language
-variant.</p>
-<p>For details see <a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a> and the <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> documentation.</p>
-<p>Input of Greek characters is possible as literal characters (with the
-<a class="reference external" href="http://www.ctan.org/pkg/greek-inputenc">greek-inputenc</a> package or with XeTeX or LuaTeX) or the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin
-transliteration</a>. See <a class="reference external" href="usage.pdf">usage.pdf</a> and the example files provided with
-<a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p>
-</section>
-<section id="greek-text-fonts">
-<h2>Greek text fonts</h2>
-<p>A list of Greek text fonts for use with LaTeX is available at the CTAN
-<a class="reference external" href="http://www.ctan.org/topic/font-greek">http://www.ctan.org/topic/font-greek</a></p>
-<p>With the XeTeX or LuaTeX engines, the user should ensure that the chosen
-font contains the required glyphs: the default Latin Modern fonts miss
-them. Warnings about missing charcters are only written to the log
-file, not the console output! Select a suitable font with <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a>.</p>
-<p>Examples for suitable fonts are the <a class="reference external" href="http://www.ctan.org/pkg/cm-unicode">CM-unicode</a> or the <a class="reference external" href="http://www.ctan.org/pkg/libertine">Linux
-Libertine</a> OpenType fonts as well as any system-wide installed OTF fonts
-that support Greek (e.g. <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>).</p>
-<p>The LGR <a class="reference external" href="http://mirror.ctan.org/macros/latex/base/encguide.pdf">font encoding</a> is the de-facto standard for typesetting Greek with
-8-bit LaTeX. Fonts in this encoding include the <a class="reference external" href="http://www.ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM),
-<a class="reference external" href="http://www.ctan.org/pkg/grtimes">grtimes</a> (Greek Times), <a class="reference external" href="http://www.ctan.org/pkg/kerkis">Kerkis</a> (matching URW Bookman), and the <a class="reference external" href="http://www.ctan.org/pkg/gfs">GFS font
-collection</a>. Setup of these fonts as Greek variant to matching Latin fonts
-is facilitated by the <a class="reference external" href="http://www.ctan.org/pkg/substitutefont">substitutefont</a> package.</p>
-</section>
-<section id="lgr-latin-transliteration">
-<h2>LGR Latin Transliteration</h2>
-<p>The LGR font encoding allows input of Greek characters via an ASCII
-transliteration. This enables simple input with a Latin keyboard. Characters
-with diacritics may be selected with accent macros (cf. <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a>) or
-via the ligature definitions in the font (see <a class="reference external" href="usage.pdf">usage.pdf</a>).</p>
-<p>The following ASCII characters are converted to Greek symbols:</p>
-<table>
-<colgroup>
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-<col style="width: 4%" />
-</colgroup>
-<tbody>
-<tr><td><p>A</p></td>
-<td><p>B</p></td>
-<td><p>G</p></td>
-<td><p>D</p></td>
-<td><p>E</p></td>
-<td><p>Z</p></td>
-<td><p>H</p></td>
-<td><p>J</p></td>
-<td><p>I</p></td>
-<td><p>K</p></td>
-<td><p>L</p></td>
-<td><p>M</p></td>
-<td><p>N</p></td>
-<td><p>X</p></td>
-<td><p>O</p></td>
-<td><p>P</p></td>
-<td><p>R</p></td>
-<td><p>S</p></td>
-<td></td>
-<td><p>T</p></td>
-<td><p>U</p></td>
-<td><p>F</p></td>
-<td><p>Q</p></td>
-<td><p>Y</p></td>
-<td><p>W</p></td>
-</tr>
-<tr><td><p>Α</p></td>
-<td><p>Β</p></td>
-<td><p>Γ</p></td>
-<td><p>Δ</p></td>
-<td><p>Ε</p></td>
-<td><p>Ζ</p></td>
-<td><p>Η</p></td>
-<td><p>Θ</p></td>
-<td><p>Ι</p></td>
-<td><p>Κ</p></td>
-<td><p>Λ</p></td>
-<td><p>Μ</p></td>
-<td><p>Ν</p></td>
-<td><p>Ξ</p></td>
-<td><p>Ο</p></td>
-<td><p>Π</p></td>
-<td><p>Ρ</p></td>
-<td><p>Σ</p></td>
-<td></td>
-<td><p>Τ</p></td>
-<td><p>Υ</p></td>
-<td><p>Φ</p></td>
-<td><p>Χ</p></td>
-<td><p>Ψ</p></td>
-<td><p>Ω</p></td>
-</tr>
-<tr><td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
-<tr><td><p>a</p></td>
-<td><p>b</p></td>
-<td><p>g</p></td>
-<td><p>d</p></td>
-<td><p>e</p></td>
-<td><p>z</p></td>
-<td><p>h</p></td>
-<td><p>j</p></td>
-<td><p>i</p></td>
-<td><p>k</p></td>
-<td><p>l</p></td>
-<td><p>m</p></td>
-<td><p>n</p></td>
-<td><p>x</p></td>
-<td><p>o</p></td>
-<td><p>p</p></td>
-<td><p>r</p></td>
-<td><p>s</p></td>
-<td><p>c</p></td>
-<td><p>t</p></td>
-<td><p>u</p></td>
-<td><p>f</p></td>
-<td><p>q</p></td>
-<td><p>y</p></td>
-<td><p>w</p></td>
-</tr>
-<tr><td><p>α</p></td>
-<td><p>β</p></td>
-<td><p>γ</p></td>
-<td><p>δ</p></td>
-<td><p>ε</p></td>
-<td><p>ζ</p></td>
-<td><p>η</p></td>
-<td><p>θ</p></td>
-<td><p>ι</p></td>
-<td><p>κ</p></td>
-<td><p>λ</p></td>
-<td><p>μ</p></td>
-<td><p>ν</p></td>
-<td><p>ξ</p></td>
-<td><p>ο</p></td>
-<td><p>π</p></td>
-<td><p>ρ</p></td>
-<td><p>σ</p></td>
-<td><p>ς</p></td>
-<td><p>τ</p></td>
-<td><p>υ</p></td>
-<td><p>φ</p></td>
-<td><p>χ</p></td>
-<td><p>ψ</p></td>
-<td><p>ω</p></td>
-</tr>
-</tbody>
-</table>
-<p>Accent symbols and punctuation:</p>
-<table>
-<colgroup>
-<col style="width: 29%" />
-<col style="width: 10%" />
-<col style="width: 3%" />
-<col style="width: 37%" />
-<col style="width: 14%" />
-<col style="width: 7%" />
-</colgroup>
-<tbody>
-<tr><td><p>tonos</p></td>
-<td><p><span class="docutils literal">'a</span></p></td>
-<td><p>ά</p></td>
-<td><p>semicolon</p></td>
-<td><p><span class="docutils literal">;</span></p></td>
-<td><p>·</p></td>
-</tr>
-<tr><td><p>varia</p></td>
-<td><p>`a</p></td>
-<td><p>ὰ</p></td>
-<td><p>question mark</p></td>
-<td><p><span class="docutils literal">?</span></p></td>
-<td><p>;</p></td>
-</tr>
-<tr><td><p>perispomeni</p></td>
-<td><p><span class="docutils literal">~a</span></p></td>
-<td><p>ᾶ</p></td>
-<td><p>left apostrophe</p></td>
-<td><p>` `</p></td>
-<td><p>‘</p></td>
-</tr>
-<tr><td><p>dasia</p></td>
-<td><p><span class="docutils literal"><a</span></p></td>
-<td><p>ἁ</p></td>
-<td><p>right apostrophe</p></td>
-<td><p><span class="docutils literal">''</span></p></td>
-<td><p>’</p></td>
-</tr>
-<tr><td><p>psili</p></td>
-<td><p><span class="docutils literal">>a</span></p></td>
-<td><p>ἀ</p></td>
-<td><p>left quotation mark</p></td>
-<td><p><span class="docutils literal">((</span></p></td>
-<td><p>«</p></td>
-</tr>
-<tr><td><p>ypogegrammeni</p></td>
-<td><p><span class="docutils literal">a|</span></p></td>
-<td><p>ᾳ</p></td>
-<td><p>right quotation mark</p></td>
-<td><p><span class="docutils literal">))</span></p></td>
-<td><p>»</p></td>
-</tr>
-<tr><td><p>dialytika</p></td>
-<td><p><span class="docutils literal">"i</span></p></td>
-<td><p>ϊ</p></td>
-<td><p>zero width non-joiner</p></td>
-<td><p>v</p></td>
-<td></td>
-</tr>
-</tbody>
-</table>
-<p>A major drawback of the LGR transliteration is that you cannot access Latin
-letters and some symbols if LGR is the active font encoding (e.g. in
-documents or parts of documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span>). This
-means that for every Latin-written word or acronym an explicit
-language-switch is required. This problem can only be solved via a
-font-encoding comprising both Latin and Greek like the hypothetical T7 or
-Unicode (with XeTeX or LuaTeX).</p>
-<!-- References
-- - - - - - - - - - -->
-</section>
-</main>
-</body>
-</html>

Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.md
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.md	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.md	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,35 @@
+babel-greek
+===========
+Babel support for the Greek language
+------------------------------------
+
+Comprehensive support for the Greek language and script with
+[Babel](https://ctan.org/pkg/babel).
+
+**Version**: 1.12 ([changelog][1])
+
+**Copyright**: © 1997 Apostles Syropoulos, Claudio Beccari, Johannes Brahms,
+               © 2013 - 2023 Günter Milde.
+
+**License**:
+  This work may be distributed and/or modified under the conditions of the
+  [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
+  either version 1.3 of this license or any later version.
+
+**Home**: <https://codeberg.org/milde/greek-tex>
+
+**Latest Release**: <https://ctan.org/pkg/babel-greek>
+
+**Requires**: [greek-fontenc](https://ctan.org/pkg/greek-fontenc),
+              [text fonts supporting the Greek script][2]
+
+**Recommends**: [greek-inputenc](https://ctan.org/pkg/greek-inputenc)
+                (when used with 8-bit TeX/pdfTeX)
+
+See [babel-greek-doc][3] ([babel-greek-doc.rst][4]) for a detailed overview.
+
+
+[1]: babel-greek-doc.html#changelog
+[2]: babel-greek-doc.html#greek-text-fonts
+[3]: babel-greek-doc.html
+[4]: babel-greek-doc.rst


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/athnum.pdf
===================================================================
(Binary files differ)

Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,1387 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta charset="utf-8" />
+<meta name="generator" content="Docutils 0.20b.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 – 2022 Günter Milde." />
+<title>babel-greek</title>
+<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
+<style type="text/css">
+
+/* Minimal style sheet for the HTML output of Docutils.                    */
+/*                                                                         */
+/* :Author: Günter Milde, based on html4css1.css by David Goodger          */
+/* :Id: $Id$                                                               */
+/* :Copyright: © 2015, 2021 Günter Milde.                                  */
+/* :License: Released under the terms of the `2-Clause BSD license`_,      */
+/*    in short:                                                            */
+/*                                                                         */
+/*    Copying and distribution of this file, with or without modification, */
+/*    are permitted in any medium without royalty provided the copyright   */
+/*    notice and this notice are preserved.                                */
+/*                                                                         */
+/*    This file is offered as-is, without any warranty.                    */
+/*                                                                         */
+/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause     */
+
+/* This CSS3 stylesheet defines rules for Docutils elements without        */
+/* HTML equivalent. It is required to make the document semantics visible. */
+/*                                                                         */
+/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link        */
+
+/* titles */
+p.topic-title,
+p.admonition-title,
+p.system-message-title {
+  font-weight: bold;
+}
+p.sidebar-title,
+p.rubric {
+  font-weight: bold;
+  font-size: larger;
+}
+p.rubric {
+  color: maroon;
+}
+p.subtitle,
+p.section-subtitle,
+p.sidebar-subtitle {
+  font-weight: bold;
+  margin-top: -0.5em;
+}
+h1 + p.subtitle {
+  font-size: 1.6em;
+}
+a.toc-backref {
+  color: inherit;
+  text-decoration: none;
+}
+
+/* Warnings, Errors */
+.system-messages h2,
+.system-message-title,
+span.problematic {
+  color: red;
+}
+
+/* Inline Literals */
+.docutils.literal {
+  font-family: monospace;
+  white-space: pre-wrap;
+}
+/* do not wrap at hyphens and similar: */
+.literal > span.pre { white-space: nowrap; }
+
+/* Lists */
+
+/* compact and simple lists: no margin between items */
+.simple  li, .simple  ul, .simple  ol,
+.compact li, .compact ul, .compact ol,
+.simple  > li p, dl.simple  > dd,
+.compact > li p, dl.compact > dd {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+/* Nested Paragraphs */
+p:first-child { margin-top: 0; }
+p:last-child { margin-bottom: 0; }
+details > p:last-child { margin-bottom: 1em; }
+
+/* Table of Contents */
+.contents ul.auto-toc { /* section numbers present */
+  list-style-type: none;
+}
+
+/* Enumerated Lists */
+ol.arabic     { list-style: decimal }
+ol.loweralpha { list-style: lower-alpha }
+ol.upperalpha { list-style: upper-alpha }
+ol.lowerroman { list-style: lower-roman }
+ol.upperroman { list-style: upper-roman }
+
+/* Definition Lists and Derivatives */
+dt .classifier { font-style: italic }
+dt .classifier:before {
+  font-style: normal;
+  margin: 0.5em;
+  content: ":";
+}
+/* Field Lists and similar */
+/* bold field name, content starts on the same line */
+dl.field-list,
+dl.option-list,
+dl.docinfo {
+  display: flow-root;
+}
+dl.field-list > dt,
+dl.option-list > dt,
+dl.docinfo > dt {
+  font-weight: bold;
+  clear: left;
+  float: left;
+  margin: 0;
+  padding: 0;
+  padding-right: 0.2em;
+}
+/* Offset for field content (corresponds to the --field-name-limit option) */
+dl.field-list > dd,
+dl.option-list > dd,
+dl.docinfo > dd {
+  margin-left:  9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */
+}
+/* start nested lists on new line */
+dd > dl:first-child,
+dd > ul:first-child,
+dd > ol:first-child {
+  clear: left;
+}
+/* start field-body on a new line after long field names */
+dl.field-list > dd > *:first-child,
+dl.option-list > dd > *:first-child
+{
+  display: inline-block;
+  width: 100%;
+  margin: 0;
+}
+
+/* Bibliographic Fields (docinfo) */
+dl.docinfo pre.address {
+  font: inherit;
+  margin: 0.5em 0;
+}
+dl.docinfo > dd.authors > p { margin: 0; }
+
+/* Option Lists */
+dl.option-list > dt { font-weight: normal; }
+span.option { white-space: nowrap; }
+
+/* Footnotes and Citations  */
+
+.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */
+/* hanging indent */
+.citation { padding-left: 2em; }
+.footnote { padding-left: 1.7em; }
+.footnote.superscript { padding-left: 1.0em; }
+.citation > .label { margin-left: -2em; }
+.footnote > .label { margin-left: -1.7em; }
+.footnote.superscript > .label { margin-left: -1.0em; }
+
+.footnote > .label + *,
+.citation > .label + * {
+  display: inline-block;
+  margin-top: 0;
+  vertical-align: top;
+}
+.footnote > .backrefs + *,
+.citation > .backrefs + * {
+  margin-top: 0;
+}
+.footnote > .label + p, .footnote > .backrefs + p,
+.citation > .label + p, .citation > .backrefs + p {
+  display: inline;
+  vertical-align: inherit;
+}
+
+.backrefs { user-select: none; }
+.backrefs > a { font-style: italic; }
+
+/* superscript footnotes */
+a[role="doc-noteref"].superscript,
+.footnote.superscript > .label,
+.footnote.superscript > .backrefs {
+  vertical-align: super;
+  font-size: smaller;
+  line-height: 1;
+}
+a[role="doc-noteref"].superscript > .fn-bracket,
+.footnote.superscript > .label > .fn-bracket {
+  /* hide brackets in display but leave for copy/paste */
+  display: inline-block;
+  width: 0;
+  overflow: hidden;
+}
+[role="doc-noteref"].superscript + [role="doc-noteref"].superscript {
+  padding-left: 0.15em; /* separate consecutive footnote references */
+  /* TODO: unfortunately, "+" also selects with text between the references. */
+}
+
+/* Alignment */
+.align-left   {
+  text-align: left;
+  margin-right: auto;
+}
+.align-center {
+  text-align: center;
+  margin-left: auto;
+  margin-right: auto;
+}
+.align-right  {
+  text-align: right;
+  margin-left: auto;
+}
+.align-top    { vertical-align: top; }
+.align-middle { vertical-align: middle; }
+.align-bottom { vertical-align: bottom; }
+
+/* reset inner alignment in figures and tables */
+figure.align-left, figure.align-right,
+table.align-left, table.align-center, table.align-right {
+  text-align: inherit;
+}
+
+/* Text Blocks */
+.topic { margin: 1em 2em; }
+.sidebar,
+.admonition,
+.system-message {
+  margin: 1em 2em;
+  border: thin solid;
+  padding: 0.5em 1em;
+}
+div.line-block { display: block; }
+div.line-block div.line-block, pre { margin-left: 2em; }
+
+/* Code line numbers: dropped when copying text from the page */
+pre.code .ln { display: none; }
+pre.code code:before {
+  content: attr(data-lineno); /* …, none) fallback not supported by any browser */
+  color: gray;
+}
+
+/* Tables */
+table {
+  border-collapse: collapse;
+}
+td, th {
+  border: thin solid silver;
+  padding: 0 1ex;
+}
+.borderless td, .borderless th {
+  border: 0;
+  padding: 0;
+  padding-right: 0.5em /* separate table cells */
+}
+
+table > caption {
+  text-align: left;
+  margin-top: 0.2em;
+  margin-bottom: 0.2em;
+}
+table.captionbelow {
+  caption-side: bottom;
+}
+
+/* Document Header and Footer */
+header { border-bottom: 1px solid black; }
+footer { border-top: 1px solid black; }
+
+/* Images are block-level by default in Docutils */
+/* New HTML5 block elements: set display for older browsers */
+img, header, footer, main, aside, nav, section, figure, video, details {
+  display: block;
+}
+/* inline images */
+p img, p video, figure img, figure video {
+  display: inline;
+}
+
+</style>
+<style type="text/css">
+
+/* CSS3_ style sheet for the output of Docutils HTML5 writer.  */
+/* Generic responsive design for all screen sizes.                         */
+/*                                                                         */
+/* :Author: Günter Milde                                                   */
+/*                                                                         */
+/* :Id: $Id$                                                               */
+/* :Copyright: © 2021 Günter Milde.                                        */
+/* :License: Released under the terms of the `2-Clause BSD license`_,      */
+/*    in short:                                                            */
+/*                                                                         */
+/*    Copying and distribution of this file, with or without modification, */
+/*    are permitted in any medium without royalty provided the copyright   */
+/*    notice and this notice are preserved.                                */
+/*                                                                         */
+/*    This file is offered as-is, without any warranty.                    */
+/*                                                                         */
+/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause     */
+/* .. _CSS3: https://www.w3.org/Style/CSS/                                 */
+
+/* Note:     								   */
+/* This style sheet is provisional:					   */
+/* the API is not settled and may change with any minor Docutils version.  */
+
+
+
+/* General Settings */
+/* ================ */
+
+
+* { box-sizing: border-box; }
+
+body {
+  background-color: #fafaf6;
+  margin: auto;
+  --field-indent: 6.6em; /* indent of fields in field lists */
+  --sidebar-margin-right: 0; /* adapted in media queries below */
+}
+main {
+  counter-reset: figure table;
+}
+body > * {
+  background-color: white;
+  line-height: 1.6;
+  padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */
+  margin: auto;
+  max-width: 100rem;
+}
+sup, sub { /* avoid additional inter-line space for lines with sup/sub */
+  line-height: 1;
+}
+
+/* Vertical Space (Parskip) */
+p, ol, ul, dl, li,
+div.line-block,
+.topic,
+.footnote, .citation,
+div > math,
+table {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+h1, h2, h3, h4, h5, h6,
+dl > dd, details > p:last-child {
+  margin-bottom: 0.5em;
+}
+
+/* Indented Blocks */
+blockquote, figure, .topic {
+  margin: 1em 2%;
+  padding-left: 1em;
+}
+div.line-block div.line-block,
+pre, dd, dl.option-list {
+  margin-left: calc(2% + 1em);
+}
+
+/* Object styling */
+/* ============== */
+
+footer, header {
+  font-size: small;
+}
+
+/* Frontmatter */
+div.dedication {
+  padding: 0;
+  margin: 1.4em 0;
+  font-style: italic;
+  font-size: large;
+}
+.dedication p.topic-title {
+  display: none;
+}
+
+blockquote p.attribution,
+.topic p.attribution {
+  text-align: right;
+}
+
+/* Table of Contents */
+nav.contents ul {
+  padding-left: 1em;
+}
+ul.auto-toc > li > p { /* hanging indent */
+  padding-left: 1em;
+  text-indent: -1em;
+}
+main > nav.contents  ul:not(.auto-toc) {
+  list-style-type: square;
+}
+main > nav.contents  ul ul:not(.auto-toc) {
+  list-style-type: disc;
+}
+main > nav.contents  ul ul ul:not(.auto-toc) {
+  list-style-type: '\2B29\ ';
+}
+main > nav.contents  ul ul ul ul:not(.auto-toc) {
+  list-style-type: '\2B1D\ ';
+}
+main > nav.contents  ul ul ul ul ul:not(.auto-toc) {
+  list-style-type: '\2B2A\ ';
+}
+nav.contents ul > li::marker {
+  color: grey;
+}
+
+/* Transitions */
+hr {
+  margin: 1em 10%;
+}
+
+/* Lists */
+
+ul, ol {
+  padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */
+}
+dl.field-list > dd,
+dl.docinfo > dd {
+  margin-left: var(--field-indent); /* adapted in media queries or HTML */
+}
+dl.option-list > dd {
+  margin-left: 20%;
+}
+/* run-in: start field-body on same line after long field names */
+dl.field-list.run-in > dd p {
+  display: block;
+}
+/* "description style" like in most dictionaries, encyclopedias etc. */
+dl.description {
+  display: flow-root;
+}
+dl.description > dt {
+  clear: left;
+  float: left;
+  margin: 0;
+  padding: 0;
+  padding-right: 0.3em;
+  font-weight: bold;
+}
+dl.description > dd:after {
+  display: table;
+  content: "";
+  clear: left; /* clearfix for empty descriptions */
+}
+/* start lists nested in description/field lists on new line */
+dd > dl:first-child,
+dd > ul:first-child,
+dd > ol:first-child {
+  clear: left;
+}
+
+/* disclosures */
+details { padding-left: 1em; }
+summary { margin-left: -1em; }
+
+/* Footnotes and Citations */
+.footnote {
+  font-size: small;
+}
+
+/* Images, Figures, and Tables */
+img {
+  display: block;
+}
+p > img, p > a > img,
+figure > img, figure > a > img {
+  display: inline;
+}
+
+figcaption,
+table > caption {
+  /*   font-size: small; */
+  font-style: italic;
+}
+figcaption > .legend {
+  font-size: small;
+  font-style: initial;
+}
+figure.numbered > figcaption > p:before {
+  counter-increment: figure;
+  content: "Figure " counter(figure) ": ";
+  font-weight: bold;
+  font-style: initial;
+}
+
+table tr {
+  text-align: left;
+  vertical-align: baseline;
+}
+table.booktabs { /* "booktabs" style (no vertical lines) */
+  border-top: 2px solid;
+  border-bottom: 2px solid;
+}
+table.booktabs * {
+  border: 0;
+}
+table.booktabs th {
+  border-bottom: thin solid;
+}
+table.numbered > caption:before {
+  counter-increment: table;
+  content: "Table " counter(table) ": ";
+  font-weight: bold;
+  font-style: initial;
+}
+
+/* Admonitions and System Messages */
+.admonition,
+div.system-message {
+  border: thin solid silver;
+  margin: 1em 2%;
+  padding: 0.5em 1em;
+}
+.caution p.admonition-title,
+.attention p.admonition-title,
+.danger p.admonition-title,
+.warning p.admonition-title,
+div.error {
+  color: maroon;
+}
+div.system-message > p > span.literal {
+  overflow-wrap: break-word;
+}
+
+/* Literal and Code */
+pre.literal-block, pre.doctest{
+  padding: 0.2em;
+  overflow-x: auto;
+}
+.literal-block, .doctest, span.literal {
+  background-color: #f6f9f8;
+}
+.system-message span.literal {
+  background-color: inherit;
+}
+
+/* basic highlighting: for a complete scheme, see */
+/* https://docutils.sourceforge.io/sandbox/stylesheets/ */
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+/* Hyperlink References */
+a {
+  text-decoration: none; /* for chromium */
+  /* Wrap links at any place, if this is the only way to prevent overflow */
+  overflow-wrap: break-word;
+}
+.contents a, a.toc-backref, a.citation-reference {
+  overflow-wrap: inherit;
+}
+/* Undecorated Links (see also minimal.css) */
+/* a.citation-reference, */
+.citation a.fn-backref {
+  color: inherit;
+}
+a:hover {
+  text-decoration: underline;
+}
+*:hover > a.toc-backref:after {
+  content: " \2191"; /* ↑ UPWARDS ARROW */
+  color: grey;
+}
+*:hover > a.self-link:after {
+  content: "\1F517"; /* LINK SYMBOL */
+  color: grey;
+  font-size: smaller;
+  margin-left: 0.2em;
+}
+/* highlight the target of the current URL */
+section:target > h2, section:target > h3, section:target > h4,
+section:target > h5, section:target > h6,
+.contents :target,
+.contents:target > .topic-title,
+[role="doc-biblioentry"]:target > .label,
+[role="doc-biblioref"]:target,
+[role="note"]:target, /* Docutils 0.18 ... 0.19 */
+[role="doc-footnote"]:target, /* Docutils >= 0.20 */
+[role="doc-noteref"]:target {
+  background-color: #d2e6ec;
+}
+
+/* Block Alignment */
+/* Let content flow to the side of aligned images and figures */
+
+/* no floats around this elements */
+footer, header, hr,
+h1, h2, h3 {
+  clear: both;
+}
+
+img.align-left,
+video.align-left,
+figure.align-left,
+table.align-left {
+  margin-left: 0;
+  padding-left: 0;
+  margin-right: 0.5em;
+  clear: left;
+  float: left;
+}
+img.align-right,
+video.align-right,
+figure.align-right,
+table.align-right {
+  margin-left: 0.5em;
+  margin-right: 0;
+  clear: right;
+  float: right;
+}
+
+/* Margin Elements */
+/* see below for screen size dependent rules */
+.sidebar,
+.marginal,
+.admonition.marginal {
+  max-width: 40%;
+  border: none;
+  background-color: #efefea;
+  margin: 0.5em var(--sidebar-margin-right) 0.5em 1em;
+  padding: 0.5em;
+  padding-left: 0.7em;
+  clear: right;
+  float: right;
+  font-size: small;
+}
+.sidebar {
+  width: 40%;
+}
+
+/* Math */
+/* for math-output=MathML (for math-output=HTML, see math.css) */
+math .boldsymbol {
+  font-weight: bold;
+}
+mstyle.mathscr, mi.mathscr {
+  font-family: STIX;
+}
+
+/* Adaptive page layout */
+/* ==================== */
+
+ at media (max-width: 30em) {
+  /* Smaller margins and no floating elements for small screens */
+  /* (main text less than 40 characters/line) */
+  body > * {
+    padding: 0.5rem 5%;
+    line-height: 1.4
+  }
+  .sidebar,
+  .marginal,
+  .admonition.marginal {
+    width: auto;
+    max-width: 100%;
+    float: none;
+  }
+  dl.option-list,
+  pre {
+    margin-left: 0;
+  }
+  body {
+    --field-indent: 4em;
+  }
+  dl.field-list.narrow, dl.docinfo, dl.option-list {
+    --field-indent: 2.4em;
+  }
+  pre, pre * {
+  font-size: 0.9em;
+  /* overflow: auto; */
+  }
+}
+
+ at media (min-width: 54em) {
+  /* Move ToC to the left */
+  /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */
+  /*                  after:      ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */
+  body.with-toc {
+    padding-left: 8%;
+  }
+  body.with-toc > * {
+    margin-left: 0;
+    padding-left: 22rem; /* fallback for webkit */
+    padding-left: min(22%, 22rem);
+    padding-right: 7%;
+  }
+  main > nav.contents { /* global ToC */
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: min(25%, 25em);
+    height: 100vh;
+    margin: 0;
+    background-color: #fafaf6;
+    padding: 1em 2% 0 2%;
+    overflow: auto;
+  }
+  main > nav.contents > * {
+    padding-left: 0;
+    line-height: 1.4;
+  }
+  main > nav.contents a {
+  color: inherit;
+  }
+}
+
+ at media (min-width: 70em) {
+  body {
+    --field-indent: 9em;
+  }
+}
+
+ at media (min-width: 77em) {
+  /* Move marginalia to 6rem from right border       */
+  /* .sidebar,                                       */
+  /* .marginal,                                      */
+  /* .admonition.marginal {                          */
+  /*   margin-right: calc(6rem - 15%);               */
+  /* }                                               */
+  /* BUG: margin is calculated for break point width */
+  /* workaround: variable + many breakpoints         */
+  body > * {
+    padding-left: 18%;
+    padding-right: 28%; /* fallback for webkit */
+    padding-right: min(28%, 28rem);
+    --sidebar-margin-right: -20rem;
+  }
+  /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */
+  body.with-toc > * {
+    padding-left: min(22%, 22rem);
+    padding-right: calc(78% - 50rem); /* fallback for webkit */
+    padding-right: min(78% - 50rem, 28rem);
+    --sidebar-margin-right: 0;
+  }
+}
+
+ at media (min-width: 85em) {
+  body.with-toc > * {
+    --sidebar-margin-right: -9rem;
+  }
+}
+
+ at media (min-width: 90em) {
+  /* move marginalia into the margin */
+  body > * {
+    padding-left: min(22%, 22rem);
+    --sidebar-margin-right: -23rem;
+  }
+  body.with-toc > * {
+    --sidebar-margin-right: -14rem;
+  }
+}
+
+ at media (min-width: 99em) {
+  /* move marginalia out of main text area */
+  body.with-toc > * {
+    --sidebar-margin-right: -20rem;
+  }
+  body > *, body.with-toc > * { /* for webkit */
+    padding-left: 22rem;
+    padding-right: 28rem;
+  }
+  .admonition.marginal,
+  .marginal {
+    width: 40%; /* make marginal figures, ... "full width" */
+  }
+}
+
+ at media (min-width: 104em) {
+  body.with-toc > * {
+    --sidebar-margin-right: -23rem;
+  }
+}
+
+</style>
+</head>
+<body class="with-toc">
+<main id="babel-greek">
+<h1 class="title">babel-greek</h1>
+<p class="subtitle" id="babel-support-for-the-greek-language-and-script">Babel support for the Greek language and script</p>
+<dl class="docinfo simple">
+<dt class="copyright">Copyright<span class="colon">:</span></dt>
+<dd class="copyright">© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
+© 2013 – 2022 Günter Milde.</dd>
+<dt class="licence">Licence<span class="colon">:</span></dt>
+<dd class="licence"><p>This work may be distributed and/or modified under the
+conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either
+version 1.3 of this license or any later version.</p>
+</dd>
+<dt class="home">Home<span class="colon">:</span></dt>
+<dd class="home"><p><a class="reference external" href="https://codeberg.org/milde/greek-tex">https://codeberg.org/milde/greek-tex</a></p>
+</dd>
+<dt class="latest-release">Latest Release<span class="colon">:</span></dt>
+<dd class="latest-release"><p><a class="reference external" href="https://ctan.org/pkg/babel-greek">https://ctan.org/pkg/babel-greek</a></p>
+</dd>
+</dl>
+<div class="topic abstract" role="doc-abstract">
+<p class="topic-title">Abstract</p>
+<p><cite>babel-greek</cite> is a contributed package providing comprehensive
+support for the Greek language and script via the <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> system.
+Document authors can select between the <em>monotonic</em>
+(single-diacritic), <em>polytonic</em> (multiple-diacritic) and
+<em>ancient</em> orthography of the Greek language.</p>
+</div>
+<nav class="contents" id="contents" role="doc-toc">
+<p class="topic-title">Contents</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#files" id="toc-entry-1">Files</a></p></li>
+<li><p><a class="reference internal" href="#requirements" id="toc-entry-2">Requirements</a></p></li>
+<li><p><a class="reference internal" href="#download-and-installation" id="toc-entry-3">Download and Installation</a></p></li>
+<li><p><a class="reference internal" href="#usage" id="toc-entry-4">Usage</a></p></li>
+<li><p><a class="reference internal" href="#greek-text-fonts" id="toc-entry-5">Greek text fonts</a></p></li>
+<li><p><a class="reference internal" href="#lgr-latin-transliteration" id="toc-entry-6">LGR Latin Transliteration</a></p></li>
+<li><p><a class="reference internal" href="#greek-numerals" id="toc-entry-7">Greek Numerals</a></p></li>
+<li><p><a class="reference internal" href="#changelog" id="toc-entry-8">Changelog</a></p></li>
+<li><p><a class="reference internal" href="#references" id="toc-entry-9">References</a></p></li>
+</ul>
+</nav>
+<section id="files">
+<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Files</a></h2>
+<dl class="simple">
+<dt><a class="reference external" href="babel-greek.dtx">babel-greek.dtx</a></dt>
+<dd><p>Source of the language definition file <span class="docutils literal">greek.ldf</span> for use with <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a>.
+[<a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a>]</p>
+</dd>
+<dt><a class="reference external" href="athnum.dtx">athnum.dtx</a></dt>
+<dd><p>Athenian (Attic, Herodianic, or acrophonic) Numerals. [<a class="reference external" href="athnum.pdf">athnum.pdf</a>]</p>
+</dd>
+<dt><a class="reference external" href="grmath.dtx">grmath.dtx</a></dt>
+<dd><p>Greek log-like Operators. [<a class="reference external" href="grmath.pdf">grmath.pdf</a>]</p>
+</dd>
+<dt><a class="reference external" href="babel-greek.ins">babel-greek.ins</a></dt>
+<dd><p><a class="reference external" href="https://ctan.org/pkg/docstrip">DocStrip</a> batch file.</p>
+</dd>
+<dt><a class="reference external" href="usage.tex">usage.tex</a></dt>
+<dd><p>Description of the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a> and the <a class="reference internal" href="#greek-numerals">Greek numerals</a>.
+[<a class="reference external" href="usage.pdf">usage.pdf</a>]</p>
+</dd>
+<dt>test-*</dt>
+<dd><p>Documented test sample documents.</p>
+</dd>
+</dl>
+</section>
+<section id="requirements">
+<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Requirements</a></h2>
+<p>The <cite>babel-greek</cite> package requires the <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> package and font
+definition files from the <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a> package. The <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a>
+package is recommended when using 8-bit TeX engines.</p>
+<p>Typesetting Greek texts requires <a class="reference internal" href="#greek-text-fonts">Greek text fonts</a>.</p>
+<p>Plain TeX is currently not supported. Patches are welcome.</p>
+</section>
+<section id="download-and-installation">
+<h2><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Download and Installation</a></h2>
+<p>The simplest way is to get and install this package from your
+distribution using its installation manager.</p>
+<p>Alternatively:</p>
+<ul>
+<li><p>Download the latest <a class="reference external" href="https://mirrors.ctan.org/macros/latex/contrib/babel-contrib/greek.zip">release</a> from the package’s <a class="reference external" href="https://www.ctan.org/pkg/babel-greek">CTAN page</a> or a
+<a class="reference external" href="https://codeberg.org/milde/greek-tex/archive/master.zip">snapshot</a> of the <a class="reference external" href="https://codeberg.org/milde/greek-tex/">greek-tex</a> repository.</p></li>
+<li><p>Unpack the source archive to a temporary location.</p></li>
+<li><p>From the <span class="docutils literal"><span class="pre">babel-greek</span></span> directory,
+run <span class="docutils literal">tex</span> or <span class="docutils literal">latex</span> on the batch file <span class="docutils literal"><span class="pre">babel-greek.ins</span></span>.</p>
+<p>This will generate the files <span class="docutils literal">greek.ldf</span>, <span class="docutils literal">athnum.sty</span>, and
+<span class="docutils literal">grmath.sty</span> in the current directory.</p>
+</li>
+<li><p>Move all files ending in <span class="docutils literal">.ldf</span> or <span class="docutils literal">.sty</span> into a directory
+in the TeX search path.</p></li>
+<li><p>To produce the documentation, run the file <span class="docutils literal">usage.tex</span> and all files
+ending in <span class="docutils literal">.dtx</span> through LaTeX.</p></li>
+</ul>
+<p>The last steps can be automated using the Unix <a class="reference external" href="https://en.wikipedia.org/wiki/Make_(software)">make</a> tool.
+The provided <a class="reference external" href="Makefile">Makefile</a> defines the targets</p>
+<dl class="field-list simple">
+<dt><span class="docutils literal">all</span><span class="colon">:</span></dt>
+<dd><p>(re)build packages, documentation, and tests,</p>
+</dd>
+<dt><span class="docutils literal">packages</span><span class="colon">:</span></dt>
+<dd><p>(re)build the packages,</p>
+</dd>
+<dt><span class="docutils literal">doc</span><span class="colon">:</span></dt>
+<dd><p>(re)generate HTML and PDF documentation files,</p>
+</dd>
+<dt><span class="docutils literal">test</span><span class="colon">:</span></dt>
+<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>
+<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>
+</dd>
+<dt><span class="docutils literal">clean</span><span class="colon">:</span></dt>
+<dd><p>delete auxiliary files.</p>
+</dd>
+</dl>
+<aside class="footnote-list superscript">
+<aside class="footnote superscript" id="update" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></span>
+<span class="backrefs">(<a role="doc-backlink" href="#footnote-reference-1">1</a>,<a role="doc-backlink" href="#footnote-reference-2">2</a>)</span>
+<p>This is a simple <span class="docutils literal">cp <span class="pre">--update</span></span> to a pre-set path.
+The destination directory must exist. Files no longer present in the
+package are not removed.</p>
+</aside>
+</aside>
+</section>
+<section id="usage">
+<h2><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Usage</a></h2>
+<p>Use the “greek” document option or pass the “greek” option to Babel,<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>
+e.g.:</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>For polytonic Greek, set the language attribute  “polutoniko”, 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>
+<span class="keyword">\languageattribute</span><span class="name builtin">{</span>greek<span class="name builtin">}{</span>polutoniko<span class="name builtin">}</span></code></pre>
+<p>or as modifier</p>
+<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[greek.polutoniko,english]</span><span class="name builtin">{</span>babel<span class="name builtin">}</span></code></pre>
+<p>Similarly, the attribute “ancient” selects the ancient Greek language
+variant.</p>
+<p>For details see <a class="citation-reference" href="#" id="citation-reference-1" role="doc-biblioref">[babel-greek.pdf]</a> and the <a class="reference external" href="https://ctan.org/pkg/babel">babel</a> documentation.</p>
+<p>Input of Greek characters is possible 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>, as LICR macro (<span class="docutils literal">\textalpha{} ... \textOmega</span>), 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>. See
+<a class="citation-reference" href="#" id="citation-reference-2" role="doc-biblioref">[usage.pdf]</a> and the example files provided with <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p>
+<aside class="footnote-list superscript">
+<aside class="footnote superscript" id="footnote-1" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-3">2</a><span class="fn-bracket">]</span></span>
+<p>Alongside other languages that will be used in the document.
+The <em>last</em> language option sets the document’s main language.</p>
+</aside>
+<aside class="footnote superscript" id="footnote-2" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-4">3</a><span class="fn-bracket">]</span></span>
+<p>with the <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a> package or XeTeX/LuaTeX</p>
+</aside>
+<aside class="footnote superscript" id="footnote-3" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-5">4</a><span class="fn-bracket">]</span></span>
+<p>only with LGR fonts</p>
+</aside>
+</aside>
+</section>
+<section id="greek-text-fonts">
+<h2><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Greek text fonts</a></h2>
+<p>A list of <a class="reference external" href="https://ctan.org/topic/font-greek">Greek text fonts for use with LaTeX</a> is available at CTAN.</p>
+<p>The non-standard LGR <a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/encguide.pdf">font encoding</a> is used for typesetting Greek with
+“traditional” 8-bit TeX engines (pdfTeX). Fonts in this encoding include
+the <a class="reference external" href="https://ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM), <a class="reference external" href="https://ctan.org/pkg/grtimes">grtimes</a> (Greek Times), <a class="reference external" href="https://ctan.org/pkg/kerkis">Kerkis</a> (matching
+URW Bookman), and the <a class="reference external" href="https://ctan.org/pkg/gfs">GFS font collection</a>.
+The package <a class="reference external" href="https://ctan.org/pkg/cbfonts-fd">cbfonts-fd</a> registers the CB fonts as Greek substitute for
+the Computer Modern and Latin Modern font families.  For other font
+families, declaring Greek fonts as supplement for matching Latin font
+families can be done with the <code class="latex">\DeclareFontFamilySubstitution</code>
+macro (see section <cite>Providing font family substitutions</cite> in <a class="citation-reference" href="#fntguide" id="citation-reference-3" role="doc-biblioref">[fntguide]</a>).</p>
+<p>Unicode fonts used with XeTeX or LuaTeX  provide slots for all Unicode
+characters in one font but commonly only a subset of the actual glyphs.</p>
+<aside class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The default <strong>Latin Modern contains only a few Greek letters!</strong>
+Unsupported characters are silently dropped from the output.
+Warnings about missing glyphs are written to the log
+file only, not to the console.</p>
+</aside>
+<p>Select a suitable font with <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a>’s font selecting framework or
+directly with <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a>. Examples for suitable fonts are <a class="reference external" href="https://ctan.org/pkg/cm-unicode">CM-unicode</a>
+or <a class="reference external" href="https://ctan.org/pkg/libertine">Linux Libertine</a> as well as any system-wide installed OTF font
+that supports Greek (e.g. <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>). See, e.g., the list of free
+<a class="reference external" href="https://fontinfo.opensuse.org/scripts/script-Greek.html">fonts supporting Greek script</a> by openSUSE’s fontinfo.</p>
+</section>
+<section id="lgr-latin-transliteration">
+<h2><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">LGR Latin Transliteration</a></h2>
+<p>The LGR font encoding allows input of Greek characters via a Latin
+transliteration. This enables simple input with a Latin keyboard. Characters
+with diacritics may be selected with accent macros (cf. <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>) or
+via the ligature definitions in the font (see <a class="citation-reference" href="#" id="citation-reference-4" role="doc-biblioref">[usage.pdf]</a>).</p>
+<p>The following ASCII characters are converted to Greek symbols:</p>
+<table>
+<tbody>
+<tr><td><p>A</p></td>
+<td><p>B</p></td>
+<td><p>G</p></td>
+<td><p>D</p></td>
+<td><p>E</p></td>
+<td><p>Z</p></td>
+<td><p>H</p></td>
+<td><p>J</p></td>
+<td><p>I</p></td>
+<td><p>K</p></td>
+<td><p>L</p></td>
+<td><p>M</p></td>
+<td><p>N</p></td>
+<td><p>X</p></td>
+<td><p>O</p></td>
+<td><p>P</p></td>
+<td><p>R</p></td>
+<td><p>S</p></td>
+<td></td>
+<td><p>T</p></td>
+<td><p>U</p></td>
+<td><p>F</p></td>
+<td><p>Q</p></td>
+<td><p>Y</p></td>
+<td><p>W</p></td>
+</tr>
+<tr><td><p>Α</p></td>
+<td><p>Β</p></td>
+<td><p>Γ</p></td>
+<td><p>Δ</p></td>
+<td><p>Ε</p></td>
+<td><p>Ζ</p></td>
+<td><p>Η</p></td>
+<td><p>Θ</p></td>
+<td><p>Ι</p></td>
+<td><p>Κ</p></td>
+<td><p>Λ</p></td>
+<td><p>Μ</p></td>
+<td><p>Ν</p></td>
+<td><p>Ξ</p></td>
+<td><p>Ο</p></td>
+<td><p>Π</p></td>
+<td><p>Ρ</p></td>
+<td><p>Σ</p></td>
+<td></td>
+<td><p>Τ</p></td>
+<td><p>Υ</p></td>
+<td><p>Φ</p></td>
+<td><p>Χ</p></td>
+<td><p>Ψ</p></td>
+<td><p>Ω</p></td>
+</tr>
+<tr><td><p>a</p></td>
+<td><p>b</p></td>
+<td><p>g</p></td>
+<td><p>d</p></td>
+<td><p>e</p></td>
+<td><p>z</p></td>
+<td><p>h</p></td>
+<td><p>j</p></td>
+<td><p>i</p></td>
+<td><p>k</p></td>
+<td><p>l</p></td>
+<td><p>m</p></td>
+<td><p>n</p></td>
+<td><p>x</p></td>
+<td><p>o</p></td>
+<td><p>p</p></td>
+<td><p>r</p></td>
+<td><p>s</p></td>
+<td><p>c</p></td>
+<td><p>t</p></td>
+<td><p>u</p></td>
+<td><p>f</p></td>
+<td><p>q</p></td>
+<td><p>y</p></td>
+<td><p>w</p></td>
+</tr>
+<tr><td><p>α</p></td>
+<td><p>β</p></td>
+<td><p>γ</p></td>
+<td><p>δ</p></td>
+<td><p>ε</p></td>
+<td><p>ζ</p></td>
+<td><p>η</p></td>
+<td><p>θ</p></td>
+<td><p>ι</p></td>
+<td><p>κ</p></td>
+<td><p>λ</p></td>
+<td><p>μ</p></td>
+<td><p>ν</p></td>
+<td><p>ξ</p></td>
+<td><p>ο</p></td>
+<td><p>π</p></td>
+<td><p>ρ</p></td>
+<td><p>σ</p></td>
+<td><p>ς</p></td>
+<td><p>τ</p></td>
+<td><p>υ</p></td>
+<td><p>φ</p></td>
+<td><p>χ</p></td>
+<td><p>ψ</p></td>
+<td><p>ω</p></td>
+</tr>
+</tbody>
+</table>
+<p>Accent symbols and punctuation:</p>
+<table>
+<tbody>
+<tr><td><p>tonos</p></td>
+<td><p><span class="docutils literal">'a</span></p></td>
+<td><p>ά</p></td>
+<td><p>right apostrophe</p></td>
+<td><p><span class="docutils literal">''</span></p></td>
+<td><p>’</p></td>
+</tr>
+<tr><td><p>varia</p></td>
+<td><p><span class="docutils literal">`a</span></p></td>
+<td><p>ὰ</p></td>
+<td><p>left apostrophe</p></td>
+<td><p>``</p></td>
+<td><p>‘</p></td>
+</tr>
+<tr><td><p>dasia</p></td>
+<td><p><span class="docutils literal"><a</span></p></td>
+<td><p>ἁ</p></td>
+<td><p>left quotation mark</p></td>
+<td><p><span class="docutils literal">((</span></p></td>
+<td><p>«</p></td>
+</tr>
+<tr><td><p>psili</p></td>
+<td><p><span class="docutils literal">>a</span></p></td>
+<td><p>ἀ</p></td>
+<td><p>right quotation mark</p></td>
+<td><p><span class="docutils literal">))</span></p></td>
+<td><p>»</p></td>
+</tr>
+<tr><td><p>perispomeni</p></td>
+<td><p><span class="docutils literal">\~a</span></p></td>
+<td><p>ᾶ</p></td>
+<td><p>erotimatiko</p></td>
+<td><p><span class="docutils literal">?</span></p></td>
+<td><p>;</p></td>
+</tr>
+<tr><td><p>dialytika</p></td>
+<td><p><span class="docutils literal">"i</span></p></td>
+<td><p>ϊ</p></td>
+<td><p>middle dot</p></td>
+<td><p><span class="docutils literal">;</span></p></td>
+<td><p>·</p></td>
+</tr>
+<tr><td><p>ypogegrammeni</p></td>
+<td><p><span class="docutils literal">a|</span></p></td>
+<td><p>ᾳ</p></td>
+<td><p>zero width non-joiner</p></td>
+<td><p><span class="docutils literal">av|</span></p></td>
+<td><p>αͺ</p></td>
+</tr>
+</tbody>
+</table>
+<p>The downside is, that you cannot print Latin letters and some symbols if
+LGR is the active font encoding. This means that for every Latin-written
+word or acronym in a Greek text part, an explicit font encoding switch is
+required.</p>
+</section>
+<section id="greek-numerals">
+<h2><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Greek Numerals</a></h2>
+<p><cite>babel-greek</cite> provides the macros <code class="latex">\greeknumeral</code> and
+<code class="latex">\Greeknumeral</code> to transform a number into its corresponding
+<a class="reference external" href="https://en.wikipedia.org/wiki/Greek_numerals">Greek numeral</a>
+(see also section <a class="reference external" href="http://mirrors.ctan.org/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf#greek-numbering">Greek numbering</a> in the PDF documentation).</p>
+<p>The classic <cite>Greek numerals</cite>, also known as Ionic, Ionian, Milesian, or
+Alexandrian numerals were introduced to Athens along with the Ionic alphabet
+from the city of Miletus in Ionia replacing the <a class="reference external" href="https://en.wikipedia.org/wiki/Attic_numerals">Attic numerals</a>.
+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-5" role="doc-biblioref">[Nicholas-05]</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
+Latin alphabet). As Greek script turned to uncial and then lowercase,
+the numeral changed its shape and became conflated with another,
+similar sign: the ligature for sigma-tau <a class="reference external" href="https://en.wikipedia.org/wiki/Stigma_(ligature)">stigma</a> ϛ.
+The letters στ are frequently used as replacement.</p>
+<p>There is no significant tradition of ϝ being used as a numeral in
+editions of classical texts, even though the Ancients clearly used
+digamma rather than stigma as their numeral.</p>
+</li>
+<li><p>Three different signs are in use for the number 90: Classicists use the
+“archaic <a class="reference external" href="https://en.wikipedia.org/wiki/Koppa_(letter)">koppa</a>” ϙ, and more rarely its uncial form (resembling the
+“<a class="reference external" href="https://en.wikipedia.org/wiki/Koppa_(Cyrillic)">Cyrillic letter koppa</a>” ҁ or the “Gothic letter ninety” 𐍁).
+Modern Greeks use the “Greek letter koppa” ϟ exclusively and
+do not recognise ϙ at all, let alone as a glyph variant of ϟ.</p></li>
+<li><p>The sign for the number 900 is the <a class="reference external" href="https://en.wikipedia.org/wiki/Sampi">sampi</a> ϡ. Its shape, developed
+during its use in minuscule handwriting of the Byzantine era.  Earlier
+variants similar to the “archaic sampi” ͳ and the “Gothic Letter Nine
+Hundred” 𐍊 are not used in Greek.</p></li>
+</ul>
+<p>Users can redefine the macros <code class="latex">\greeknumeralsix</code>,
+<code class="latex">\greeknumeralSix</code>, <code class="latex">\greeknumeralninety</code>, and
+<code class="latex">\greeknumeralNinety</code> to configure the used symbols,
+for example</p>
+<pre class="code latex literal-block"><code><span class="keyword">\renewcommand</span><span class="name builtin">{</span><span class="keyword">\greeknumeralninety</span><span class="name builtin">}{</span><span class="keyword">\textkoppa</span><span class="name builtin">}</span>
+<span class="keyword">\renewcommand</span><span class="name builtin">{</span><span class="keyword">\greeknumeralNinety</span><span class="name builtin">}{</span><span class="keyword">\textKoppa</span><span class="name builtin">}</span>
+<span class="keyword">\ifdefined</span> <span class="keyword">\textvarstigma</span>
+  <span class="keyword">\renewcommand</span><span class="name builtin">{</span><span class="keyword">\greeknumeralSix</span><span class="name builtin">}{</span><span class="keyword">\textvarstigma</span><span class="name builtin">}</span>
+<span class="keyword">\fi</span></code></pre>
+<p>sets the symbol for 90 to the “modern” koppa ϟ also for ancient Greek
+and the “capital” 6 symbol to the variant stigma glyph (only defined in LGR).</p>
+</section>
+<section id="changelog">
+<h2><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Changelog</a></h2>
+<dl class="simple">
+<dt>1.4  (2013-05-17)</dt>
+<dd><ul class="simple">
+<li><p>New maintainer.</p></li>
+<li><p>The encoding definition file <span class="docutils literal">lgrenc.def</span> moved to the
+<a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a> package.</p></li>
+</ul>
+</dd>
+<dt>1.5  (2013-06-21)</dt>
+<dd><ul class="simple">
+<li><p>Bugfixes and cleanup.</p></li>
+<li><p>LICR macros in string definitions.</p></li>
+<li><p>LGR font encoding not used with XeTeX/LuaTeX.</p></li>
+<li><p>Input “xgreek-fixes.def” from <a class="reference external" href="https://ctan.org/pkg/polyglossia">polyglossia</a> with Xe/LuaTeX.</p></li>
+</ul>
+</dd>
+<dt>1.5a (2013-07-02)</dt>
+<dd><ul class="simple">
+<li><p>Fix LaTeX bugs babel/3707, <a class="reference external" href="http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4303">babel/4303</a> and <a class="reference external" href="http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4305">babel/4305</a></p></li>
+</ul>
+</dd>
+<dt>1.6  (2013-07-19)</dt>
+<dd><ul class="simple">
+<li><p>Experimental support for XeTeX/LuaTeX.</p></li>
+</ul>
+</dd>
+<dt>1.7  (2013-09-09)</dt>
+<dd><ul class="simple">
+<li><p>CB-Fonts font definition files moved to CB-Fonts package.</p></li>
+<li><p>Do not auto-load euenc.def with XeTeX/LuaTeX.</p></li>
+</ul>
+</dd>
+<dt>1.7a (2013-09-13)</dt>
+<dd><ul class="simple">
+<li><p>Fix bug <a class="reference external" href="http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4360">babel/4360</a>: spurious <span class="docutils literal">\fi</span>.</p></li>
+</ul>
+</dd>
+<dt>1.7b (2013-10-01)</dt>
+<dd><ul class="simple">
+<li><p>Fix upcasing of babel strings with Xe/LuaTeX.</p></li>
+</ul>
+</dd>
+<dt>1.8  (2013-12-02)</dt>
+<dd><ul class="simple">
+<li><p>Rename <span class="docutils literal">greek.dtx</span> to <span class="docutils literal"><span class="pre">babel-greek</span></span> so that <a class="reference external" href="https://ctan.org/pkg/texdoc">texdoc</a>
+shows the right documentation.</p></li>
+<li><p>Compatibility with Xe/LuaTeX in Unicode and 8-bit mode.</p></li>
+</ul>
+</dd>
+<dt>1.8a (2013-12-03)</dt>
+<dd><ul class="simple">
+<li><p>Set <span class="docutils literal">\encodingdefault</span> in <span class="docutils literal">\greekscript</span> to fix Greek
+in footnotes etc. with document language Greek.</p></li>
+</ul>
+</dd>
+<dt>1.9  (2014-07-20)</dt>
+<dd><ul class="simple">
+<li><p>New attribute for ancient Greek, load correct hyphenation
+patterns (patch by Claudio Beccari).</p></li>
+<li><p>Bugfix for <span class="docutils literal">\Makeuppercase</span></p></li>
+</ul>
+</dd>
+<dt>1.9a (2014-09-12)</dt>
+<dd><ul class="simple">
+<li><p>Remove duplicate code, documentation review.</p></li>
+</ul>
+</dd>
+<dt>1.9b (2014-09-18)</dt>
+<dd><ul class="simple">
+<li><p>Remove spurious whitespace from <span class="docutils literal">\extrasgreek</span> definition.</p></li>
+<li><p>Use named macros instead of non-standard short macros
+for <em>psili</em> and <em>dasia</em> in the string definitions.</p></li>
+</ul>
+</dd>
+<dt>1.9c (2014-10-21)</dt>
+<dd><ul class="simple">
+<li><p>Fix dummy hyphenation language names (patch by Ulrike Fischer).</p></li>
+</ul>
+</dd>
+<dt>1.9d (2015-09-04)</dt>
+<dd><ul class="simple">
+<li><p>Remove <cite>grsymb</cite> (macros for Greek symbols).
+This package is outdated and obsoleted by <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>
+(reported by Claudio Beccari).</p></li>
+<li><p>Unicode uc/lc corrections now in <cite>greek-fontenc</cite>.</p></li>
+</ul>
+</dd>
+<dt>1.9e (2015-11-27)</dt>
+<dd><ul class="simple">
+<li><p>Fix bug in lccode-setting loop (patch by Enrico Gregorio).</p></li>
+</ul>
+</dd>
+<dt>1.9f (2016-02-04)</dt>
+<dd><ul class="simple">
+<li><p>Support for new standard Unicode text font encoding “TU”.</p></li>
+</ul>
+</dd>
+<dt>1.9g (2016-09-07)</dt>
+<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>
+</ul>
+</dd>
+<dt>1.9i (2020-02-28)</dt>
+<dd><ul class="simple">
+<li><p>Update test for Unicode fonts.</p></li>
+<li><p>Fix accent in <span class="docutils literal">\seename</span> and <span class="docutils literal">\alsoname</span>.</p></li>
+</ul>
+</dd>
+<dt>1.9j (2020-03-17)</dt>
+<dd><ul class="simple">
+<li><p>Fix ampersand in math mode.</p></li>
+</ul>
+</dd>
+<dt>1.10 (2020-11-10)</dt>
+<dd><ul class="simple">
+<li><p>Use <span class="docutils literal">TU</span> as <span class="docutils literal">\greekfontencoding</span> for Xe/LuaTeX (set by LaTeX as
+<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews26.pdf">default font encoding for Unicode engines</a> since 2017/01/01).</p></li>
+<li><p>Use zig-zaggy <span class="docutils literal">\textkoppa</span> for <span class="docutils literal">\greeknumeral{90}</span>.</p></li>
+<li><p>PDF-string secure implementation of <span class="docutils literal">\greeknumeral</span> from <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a>.</p></li>
+<li><p>Load <span class="docutils literal"><span class="pre">puenc-greek.def</span></span> (from <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>) if used with hyperref
+(polytonic Greek in PDF-strings).</p></li>
+</ul>
+</dd>
+<dt>1.11 (2020-11-20)</dt>
+<dd><ul class="simple">
+<li><p>Configurable <a class="reference internal" href="#greek-numerals">Greek numerals</a> 6 and 90.</p></li>
+<li><p>Save/restore previous font encoding instead of switching
+to hard-coded <span class="docutils literal">\latinencoding</span> when leaving Greek.</p></li>
+</ul>
+</dd>
+<dt>1.12 (2023-03-04)</dt>
+<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-6" 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>
+<li><p>Rename <span class="docutils literal">\textgreek</span> to <span class="docutils literal">\lgrfont</span> to avoid confusion with a
+language changing command.</p></li>
+<li><p>Documentation update and refactoring.</p></li>
+<li><p>Drop LGR-local re-definition of <span class="docutils literal">\SS</span>.</p></li>
+<li><p><a class="reference external" href="athnum.dtx">athnum.dtx</a> 2.0:
+Don’t require Babel.
+Use LICR macros instead of the Latin transliteration.</p></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section id="references">
+<h2><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">References</a></h2>
+<div role="list" class="citation-list">
+<div class="citation" id="fntguide" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">fntguide</a><span class="fn-bracket">]</span></span>
+<p>LaTeX Project Team <cite>LaTeX2e font selection</cite>, December 2021.
+<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-6">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>
+<div class="citation" id="nicholas-05" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">Nicholas-05</a><span class="fn-bracket">]</span></span>
+<p>Nick Nicholas <cite>Numerals: Stigma, Koppa, Sampi</cite>, 2005.
+<a class="reference external" href="https://opoudjis.net/unicode/numerals.html">https://opoudjis.net/unicode/numerals.html</a></p>
+</div>
+<div class="citation" id="vlachou-22" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>Vlachou-22<span class="fn-bracket">]</span></span>
+<p>Irene Vlachou
+<cite>Polytonic Greek: a guide for type designers</cite>, 2022.
+<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>
+<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>
+</div>
+</div>
+</section>
+</main>
+</body>
+</html>


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,414 @@
+babel-greek
+***********
+Babel support for the Greek language and script
+===============================================
+
+:Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
+            © 2013 -- 2022 Günter Milde.
+:Licence:   This work may be distributed and/or modified under the
+            conditions of the `LaTeX Project Public License`_, either
+            version 1.3 of this license or any later version.
+
+:Home:      https://codeberg.org/milde/greek-tex
+
+:Latest Release: https://ctan.org/pkg/babel-greek
+
+:Abstract:  `babel-greek` is a contributed package providing comprehensive
+            support for the Greek language and script via the Babel_ system.
+            Document authors can select between the *monotonic*
+            (single-diacritic), *polytonic* (multiple-diacritic) and
+            *ancient* orthography of the Greek language.
+
+.. contents::
+
+Files
+-----
+
+`<babel-greek.dtx>`_
+  Source of the language definition file ``greek.ldf`` for use with Babel_.
+  [`<babel-greek.pdf>`_]
+`<athnum.dtx>`_
+  Athenian (Attic, Herodianic, or acrophonic) Numerals. [`<athnum.pdf>`_]
+`<grmath.dtx>`_
+  Greek log-like Operators. [`<grmath.pdf>`_]
+`<babel-greek.ins>`_
+  DocStrip_ batch file.
+`<usage.tex>`_
+  Description of the `LGR Latin transliteration`_ and the `Greek numerals`_.
+  [`<usage.pdf>`_]
+test-*
+  Documented test sample documents.
+
+
+Requirements
+------------
+
+The `babel-greek` package requires the Babel_ package and font
+definition files from the greek-fontenc_ package. The greek-inputenc_
+package is recommended when using 8-bit TeX engines.
+
+Typesetting Greek texts requires `Greek text fonts`_.
+
+Plain TeX is currently not supported. Patches are welcome.
+
+
+Download and Installation
+-------------------------
+
+The simplest way is to get and install this package from your
+distribution using its installation manager.
+
+Alternatively:
+
+* Download the latest `release`_ from the package's `CTAN page`_ or a
+  snapshot_ of the `greek-tex`_ repository.
+
+* Unpack the source archive to a temporary location.
+
+* From the ``babel-greek`` directory,
+  run ``tex`` or ``latex`` on the batch file ``babel-greek.ins``.
+
+  This will generate the files ``greek.ldf``, ``athnum.sty``, and
+  ``grmath.sty`` in the current directory.
+
+* Move all files ending in ``.ldf`` or ``.sty`` into a directory
+  in the TeX search path.
+
+* To produce the documentation, run the file ``usage.tex`` and all files
+  ending in ``.dtx`` through LaTeX.
+
+The last steps can be automated using the Unix `make`_ tool.
+The provided `<Makefile>`_ defines the targets
+
+:``all``:            (re)build packages, documentation, and tests,
+:``packages``:       (re)build the packages,
+:``doc``:            (re)generate HTML and PDF documentation files,
+:``test``:           run LaTeX on the test documents,
+:``update``:         copy packages into a local TeX tree, [#update]_
+:``update-package``: copy documentation and sources into a local
+                     TeX tree, [#update]_
+:``clean``:          delete auxiliary files.
+
+.. [#update] This is a simple ``cp --update`` to a pre-set path.
+   The destination directory must exist. Files no longer present in the
+   package are not removed.
+
+.. _release:
+    https://mirrors.ctan.org/macros/latex/contrib/babel-contrib/greek.zip
+.. _CTAN page: https://www.ctan.org/pkg/babel-greek
+.. _greek-tex: https://codeberg.org/milde/greek-tex/
+.. _snapshot: https://codeberg.org/milde/greek-tex/archive/master.zip
+.. _make: https://en.wikipedia.org/wiki/Make_(software)
+
+
+Usage
+-----
+
+.. role:: latex(code)
+
+Use the "greek" document option or pass the "greek" option to Babel, [#]_
+e.g.:
+
+.. code:: latex
+
+  \usepackage[greek,english]{babel}
+
+For polytonic Greek, set the language attribute  "polutoniko", either
+after loading Babel
+
+.. code:: latex
+
+  \usepackage[greek,english]{babel}
+  \languageattribute{greek}{polutoniko}
+
+or as modifier
+
+.. code:: latex
+
+  \usepackage[greek.polutoniko,english]{babel}
+
+Similarly, the attribute "ancient" selects the ancient Greek language
+variant.
+
+For details see [babel-greek.pdf]_ and the babel_ documentation.
+
+Input of Greek characters is possible as literal characters (α ... Ω)
+[#]_, as LICR macro (``\textalpha{} ... \textOmega``), or via the `LGR
+Latin transliteration`_ (a ... W) [#]_. See
+[usage.pdf]_ and the example files provided with greek-fontenc_.
+
+.. [#] Alongside other languages that will be used in the document.
+   The *last* language option sets the document's main language.
+.. [#] with the greek-inputenc_ package or XeTeX/LuaTeX
+.. [#] only with LGR fonts
+
+Greek text fonts
+----------------
+
+A list of `Greek text fonts for use with LaTeX`_ is available at CTAN.
+
+The non-standard LGR `font encoding`_ is used for typesetting Greek with
+"traditional" 8-bit TeX engines (pdfTeX). Fonts in this encoding include
+the `CB fonts`_ (matching CM), grtimes_ (Greek Times), Kerkis_ (matching
+URW Bookman), and the `GFS font collection`_.
+The package `cbfonts-fd`_ registers the CB fonts as Greek substitute for
+the Computer Modern and Latin Modern font families.  For other font
+families, declaring Greek fonts as supplement for matching Latin font
+families can be done with the :latex:`\DeclareFontFamilySubstitution`
+macro (see section `Providing font family substitutions` in [fntguide]_).
+
+Unicode fonts used with XeTeX or LuaTeX  provide slots for all Unicode
+characters in one font but commonly only a subset of the actual glyphs.
+
+.. Warning::
+     The default **Latin Modern contains only a few Greek letters!**
+     Unsupported characters are silently dropped from the output.
+     Warnings about missing glyphs are written to the log
+     file only, not to the console.
+
+Select a suitable font with Babel_'s font selecting framework or
+directly with fontspec_. Examples for suitable fonts are CM-unicode_
+or `Linux Libertine`_ as well as any system-wide installed OTF font
+that supports Greek (e.g. `Deja Vu`_). See, e.g., the list of free
+`fonts supporting Greek script`_ by openSUSE's fontinfo.
+
+.. _Greek text fonts for use with LaTeX: https://ctan.org/topic/font-greek
+.. _fonts supporting Greek script:
+    https://fontinfo.opensuse.org/scripts/script-Greek.html
+
+
+LGR Latin Transliteration
+-------------------------
+
+The LGR font encoding allows input of Greek characters via a Latin
+transliteration. This enables simple input with a Latin keyboard. Characters
+with diacritics may be selected with accent macros (cf. greek-fontenc_) or
+via the ligature definitions in the font (see [usage.pdf]_).
+
+The following ASCII characters are converted to Greek symbols:
+
+= = = = = = = = = = = = = = = = = = = = = = = = =
+A B G D E Z H J I K L M N X O P R S   T U F Q Y W
+Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ   Τ Υ Φ Χ Ψ Ω
+a b g d e z h j i k l m n x o p r s c t u f q y w
+α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω
+= = = = = = = = = = = = = = = = = = = = = = = = =
+
+Accent symbols and punctuation:
+
+============== ======= ==  ====================== ======= ==
+tonos          ``'a``  ά   right apostrophe       ``''``  ’
+varia          ```a``  ὰ   left apostrophe        \`\`    ‘
+dasia          ``<a``  ἁ   left quotation mark    ``((``  «
+psili          ``>a``  ἀ   right quotation mark   ``))``  »
+perispomeni    ``\~a`` ᾶ   erotimatiko            ``?``   ;
+dialytika      ``"i``  ϊ   middle dot             ``;``   ·
+ypogegrammeni  ``a|``  ᾳ   zero width non-joiner  ``av|`` αͺ
+============== ======= ==  ====================== ======= ==
+
+The downside is, that you cannot print Latin letters and some symbols if
+LGR is the active font encoding. This means that for every Latin-written
+word or acronym in a Greek text part, an explicit font encoding switch is
+required.
+
+
+Greek Numerals
+--------------
+
+`babel-greek` provides the macros :latex:`\greeknumeral` and
+:latex:`\Greeknumeral` to transform a number into its corresponding
+`Greek numeral <https://en.wikipedia.org/wiki/Greek_numerals>`__
+(see also section `Greek numbering`__ in the PDF documentation).
+
+__ http://mirrors.ctan.org/macros/latex/contrib/babel-contrib/
+    greek/babel-greek.pdf#greek-numbering
+
+
+The classic `Greek numerals`, also known as Ionic, Ionian, Milesian, or
+Alexandrian numerals were introduced to Athens along with the Ionic alphabet
+from the city of Miletus in Ionia replacing the `Attic numerals`_.
+They are still used in everyday life for ordinal numbers and
+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]_.
+
+* 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
+  Latin alphabet). As Greek script turned to uncial and then lowercase,
+  the numeral changed its shape and became conflated with another,
+  similar sign: the ligature for sigma-tau stigma_ ϛ.
+  The letters στ are frequently used as replacement.
+
+  There is no significant tradition of ϝ being used as a numeral in
+  editions of classical texts, even though the Ancients clearly used
+  digamma rather than stigma as their numeral.
+
+* Three different signs are in use for the number 90: Classicists use the
+  "archaic koppa_" ϙ, and more rarely its uncial form (resembling the
+  "`Cyrillic letter koppa`_" ҁ or the "Gothic letter ninety" 𐍁).
+  Modern Greeks use the "Greek letter koppa" ϟ exclusively and
+  do not recognise ϙ at all, let alone as a glyph variant of ϟ.
+
+* The sign for the number 900 is the sampi_ ϡ. Its shape, developed
+  during its use in minuscule handwriting of the Byzantine era.  Earlier
+  variants similar to the "archaic sampi" ͳ and the "Gothic Letter Nine
+  Hundred" 𐍊 are not used in Greek.
+
+Users can redefine the macros :latex:`\greeknumeralsix`,
+:latex:`\greeknumeralSix`, :latex:`\greeknumeralninety`, and
+:latex:`\greeknumeralNinety` to configure the used symbols,
+for example
+
+.. code:: latex
+
+  \renewcommand{\greeknumeralninety}{\textkoppa}
+  \renewcommand{\greeknumeralNinety}{\textKoppa}
+  \ifdefined \textvarstigma
+    \renewcommand{\greeknumeralSix}{\textvarstigma}
+  \fi
+
+sets the symbol for 90 to the "modern" koppa ϟ also for ancient Greek
+and the "capital" 6 symbol to the variant stigma glyph (only defined in LGR).
+
+.. _digamma: https://en.wikipedia.org/wiki/Digamma
+.. _stigma: https://en.wikipedia.org/wiki/Stigma_(ligature)
+.. _koppa: https://en.wikipedia.org/wiki/Koppa_(letter)
+.. _Cyrillic letter koppa: https://en.wikipedia.org/wiki/Koppa_(Cyrillic)
+.. _sampi: https://en.wikipedia.org/wiki/Sampi
+.. _Attic numerals: https://en.wikipedia.org/wiki/Attic_numerals
+
+
+Changelog
+---------
+
+1.4  (2013-05-17)
+     - New maintainer.
+     - The encoding definition file ``lgrenc.def`` moved to the
+       greek-fontenc_ package.
+1.5  (2013-06-21)
+     - Bugfixes and cleanup.
+     - LICR macros in string definitions.
+     - LGR font encoding not used with XeTeX/LuaTeX.
+     - Input "xgreek-fixes.def" from polyglossia_ with Xe/LuaTeX.
+1.5a (2013-07-02)
+     - Fix LaTeX bugs babel/3707, `babel/4303`_ and `babel/4305`_
+1.6  (2013-07-19)
+     - Experimental support for XeTeX/LuaTeX.
+1.7  (2013-09-09)
+     - CB-Fonts font definition files moved to CB-Fonts package.
+     - Do not auto-load euenc.def with XeTeX/LuaTeX.
+1.7a (2013-09-13)
+     - Fix bug `babel/4360`_: spurious ``\fi``.
+1.7b (2013-10-01)
+     - Fix upcasing of babel strings with Xe/LuaTeX.
+1.8  (2013-12-02)
+     - Rename ``greek.dtx`` to ``babel-greek`` so that texdoc_
+       shows the right documentation.
+     - Compatibility with Xe/LuaTeX in Unicode and 8-bit mode.
+1.8a (2013-12-03)
+     - Set ``\encodingdefault`` in ``\greekscript`` to fix Greek
+       in footnotes etc. with document language Greek.
+1.9  (2014-07-20)
+     - New attribute for ancient Greek, load correct hyphenation
+       patterns (patch by Claudio Beccari).
+     - Bugfix for ``\Makeuppercase``
+1.9a (2014-09-12)
+     - Remove duplicate code, documentation review.
+1.9b (2014-09-18)
+     - Remove spurious whitespace from ``\extrasgreek`` definition.
+     - Use named macros instead of non-standard short macros
+       for *psili* and *dasia* in the string definitions.
+1.9c (2014-10-21)
+     - Fix dummy hyphenation language names (patch by Ulrike Fischer).
+1.9d (2015-09-04)
+     - Remove `grsymb` (macros for Greek symbols).
+       This package is outdated and obsoleted by greek-fontenc_
+       (reported by Claudio Beccari).
+     - Unicode uc/lc corrections now in `greek-fontenc`.
+1.9e (2015-11-27)
+     - Fix bug in lccode-setting loop (patch by Enrico Gregorio).
+1.9f (2016-02-04)
+     - Support for new standard Unicode text font encoding "TU".
+1.9g (2016-09-07)
+     - Babel 3.9i deprecated ``\textlatin`` and fixed ``\latinencoding``.
+       1.9h (2019-07-11)
+     - Move breathing composite commands to textalpha_.
+1.9i (2020-02-28)
+     - Update test for Unicode fonts.
+     - Fix accent in ``\seename`` and ``\alsoname``.
+1.9j (2020-03-17)
+     - Fix ampersand in math mode.
+1.10 (2020-11-10)
+     - Use ``TU`` as ``\greekfontencoding`` for Xe/LuaTeX (set by LaTeX as
+       `default font encoding for Unicode engines`_ since 2017/01/01).
+     - Use zig-zaggy ``\textkoppa`` for ``\greeknumeral{90}``.
+     - PDF-string secure implementation of ``\greeknumeral`` from hyperref_.
+     - Load ``puenc-greek.def`` (from greek-fontenc_) if used with hyperref
+       (polytonic Greek in PDF-strings).
+1.11 (2020-11-20)
+     - Configurable `Greek numerals`_ 6 and 90.
+     - Save/restore previous font encoding instead of switching
+       to hard-coded ``\latinencoding`` when leaving Greek.
+1.12 (2023-03-04)
+     - Do not change the uccode values if the LaTeX version is newer than
+       2022/06. The new ``\MakeUppercase`` definition ignores them and fails
+       with the "dummy" character 0x9f (cf. [ltnews35]_, `LaTeX issue 987`_).
+     - New modifiers ``local-LGR-fixes`` and ``no-LGR-fixes`` to address
+       indexing problmes with Roman numerals (`Babel issue 170`_). Provisional.
+     - New TextCommand ``\EnsureStandardFontEncoding``.
+     - Rename ``\textgreek`` to ``\lgrfont`` to avoid confusion with a
+       language changing command.
+     - Documentation update and refactoring.
+     - Drop LGR-local re-definition of ``\SS``.
+     - `athnum.dtx`_ 2.0:
+       Don't require Babel.
+       Use LICR macros instead of the Latin transliteration.
+
+.. _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
+.. _babel/4360: http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4360
+.. _Babel issue 170: https://github.com/latex3/babel/issues/170
+.. _LaTeX issue 987: https://github.com/latex3/latex2e/issues/987
+.. _default font encoding for Unicode engines:
+    https://www.latex-project.org/news/latex2e-news/ltnews26.pdf
+
+
+References
+----------
+
+.. [fntguide] LaTeX Project Team `LaTeX2e font selection`, December 2021.
+   https://www.latex-project.org/help/documentation/fntguide.pdf
+.. [ltnews35] LaTeX Project Team `LaTeX News 35`, June 2022.
+   https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
+.. [Nicholas-05] Nick Nicholas `Numerals: Stigma, Koppa, Sampi`, 2005.
+   https://opoudjis.net/unicode/numerals.html
+.. [Vlachou-22] Irene Vlachou
+   `Polytonic Greek: a guide for type designers`, 2022.
+   https://irenevl.github.io/Polytonic-tutorial/
+.. [Haralambous-98] Yannis Haralambous
+   `From Unicode to Typography, a Case Study: the Greek Script`, 1998.
+   https://hal.science/hal-02101618
+
+.. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
+.. _babel: https://ctan.org/pkg/babel
+.. _docstrip: https://ctan.org/pkg/docstrip
+.. _font encoding: https://mirrors.ctan.org/macros/latex/base/encguide.pdf
+.. _fontspec: https://ctan.org/pkg/fontspec
+.. _fontenc: https://ctan.org/pkg/fontenc
+.. _CB Fonts: https://ctan.org/pkg/cbgreek-complete
+.. _cbfonts-fd: https://ctan.org/pkg/cbfonts-fd
+.. _CM-unicode: https://ctan.org/pkg/cm-unicode
+.. _Deja Vu: http://dejavu-fonts.org
+.. _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:
+.. _greek-fontenc: https://ctan.org/pkg/greek-fontenc
+.. _greek-inputenc: https://ctan.org/pkg/greek-inputenc
+.. _GFS font collection: https://ctan.org/pkg/gfs
+.. _Kerkis: https://ctan.org/pkg/kerkis
+.. _Linux Libertine: https://ctan.org/pkg/libertine
+.. _polyglossia: https://ctan.org/pkg/polyglossia
+.. _substitutefont: https://ctan.org/pkg/substitutefont
+.. _texdoc: https://ctan.org/pkg/texdoc

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

Modified: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/grmath.pdf
===================================================================
(Binary files differ)

Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.pdf
===================================================================
(Binary files differ)

Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,422 +0,0 @@
-\documentclass[a4paper]{article}
-
-\usepackage[LGR,T1]{fontenc}
-\usepackage[utf8]{luainputenc}
-% XeTeX in 8-bit compatibility mode fails :(
-% LuaTeX in 8-bit compatibility mode:
-% hyphenation in Greek text parts fails!
-% (would require the 8-bit, a loader fix for luatex).
-
-% \usepackage{textalpha}
-\usepackage{textcomp}
-\usepackage[unicode]{hyperref}
-% \usepackage{bookmark}
-\usepackage{parskip}
-\usepackage{booktabs}
-
-\usepackage{lmodern}
-% \usepackage{kerkis}
-% \usepackage{gfsdidot}
-% \usepackage{dejavu}
-
-% Load the Babel package with Greek and English language definitions:
-%
-% Uncomment the desired language variant
-
-% Default: modern monotonic Greek
-\usepackage[greek,english]{babel}
-% Obsolete: used instead of `greek', kept for backwards compatibility:
-% \usepackage[polutonikogreek,english]{babel}
-
-% For backwards compatibility, you can also use
-% \selectlanguage{polutonikogreek} instead of \selectlanguage{greek} etc.
-% if the (modern) polytonic Greek language variant is selected.
-
-% uncomment for  modern polytonic Greek
-% \languageattribute{greek}{polutoniko}
-
-% uncomment for ancient Greek
-\languageattribute{greek}{ancient}
-
-% \message{Latin encoding is \latinencoding}
-
-\begin{document}
-
-\title{Test the Greek support for Babel}
-\author{Günter Milde}
-\date{2020/11/10}
-\maketitle
-
-The babel option ``greek'' activates the support for the Greek language
-defined in the file \texttt{greek.ldf} (source \texttt{greek.dtx}).
-
-\section{Language Switch}
-
-The declaration \verb|\selectlanguage| switches between languages.
-
-\begin{quote}
-  \selectlanguage{greek}
-  Τί φήις; Ἱδὼν ἐνθέδε παῖδ’ ἐλευθέραν
-  τὰς πλησίον Νύμφας στεφανοῦσαν, Σώστρατε,
-  ἐρῶν άπῆλθες εὐθύς;
-\end{quote}
-
-The macro \verb|\foreignlanguage| sets its second argument in the specified
-language. This is intended for short text parts or single words like
-\foreignlanguage{greek}{Βιβλιοθήκη}.
-
-There should be no inserted space before or after the language switch (may
-happen if there are unescaped linebreaks in the font or language definitions):
-
-\begin{quote}
-  Change script with \verb|ensuregreek|: |\ensuregreek{do\~ulos}|. Change
-  language with \verb|\foreignlanguage|: |\foreignlanguage{greek}{do\~ulos}|.
-\end{quote}
-
-\section{Font Encoding}
-
-In Greek text parts, the font encoding is automatically set to LGR if an
-8-bit TeX engine is used. (See \url{test-unicode-greek.tex} for usage of
-babel-greek with XeTeX or LuaTeX.)
-
-LGR has Greek characters in the slots reserved in a TeX \emph{standard text
-font encoding}. This means you need an explicit font encoding change for
-every Latin letter and some other symbols if the current font encoding is
-LGR.
-
-Babel defines the declaration \verb|\latintext| and the command
-\verb|\textlatin| to switch to the T1 or OT1 font encoding or typeset the
-argument using this encoding.
-
-Switching to a font encoding supporting the Greek script is possible without
-switching the Babel language using the declarations \verb|\greekscript| (no
-switch if the current encoding supports Greek script (e.g. the Unicode font
-encoding TU)) or \verb|\greektext| (always switch to LGR) and the
-corresponding macros \verb|\ensuregreek| or \verb|\textgreek|. These
-commands do not start a new paragraph:
-
-\greekscript Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
-\latintext Friends (\ensuregreek{F\'ilwn}) of TeX.
-
-\texttt{greek.ldf} has some workarounds, so that macros relying on Latin
-characters in standard positions keep working. We test, that these
-definitions do not overwrite the selection of pre-composed characters for
-``copyright'' and ``registered trade mark'' by \emph{textcomp} (try copy and
-paste from the PDF output):
-
-Latin: A \& O, © ® ™ \\
-Greek (LGR): \ensuregreek{Α \& Ω, © ® ™}
-or input as macro \ensuregreek{\textAlpha{} \textampersand{} \textOmega{},
-\textcopyright{} \textregistered{} \texttrademark{}}.
-
-The ampersand should also work in mathematical mode: $ 1 \& 2 $
-
-To prevent Roman numerals being typeset in Greek letters we need to adopt
-the internal LaTeX commands. Note that this may cause errors when roman
-numerals are used in a situation where the macros need to be expanded:
-
-\makeatletter
-Latin:
-\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
-\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
-
-Greek: \ensuregreek{
-\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
-\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
-}
-\makeatother
-
-\section{MakeUppercase, MakeLowercase}
-
-Capital Greek letters have diacritics (except the dialytika and sub-iota) to
-the left (instead of above) and drop them in uppercase, e.g.
-\ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}.
-
-Upcased letters with diacritics keep the dialytika. This is implemented for
-all input variants of diacritics with dialytika. (\texttt{greek.ldf} has
-\emph{composite command} definitions to ensure this also works for accent
-characters "upcased" to the charcter No 159.)
-
-\foreignlanguage{greek}{\"i \"'i \"`i \"~i \'"i \`"i \~"i
-			\"u \"\'u \"\`u \"\~u
-			ϊ ΐ ῒ ῗ ΐ ῒ ῗ ϋ ΰ ῢ ῧ
-  $\mapsto$ \MakeUppercase{\"i \"'i \"`i \"~i \'"i \`"i \~"i
-    	    		   \"u \"\'u \"\`u \"\~u
-			   ϊ ΐ ῒ ῗ ΐ ῒ ῗ ϋ ΰ ῢ ῧ
-			   }
-}
-
-
-Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if
-placed on the first vowel of a diphthong
-(\ensuregreek{\'ai, \'au, \'ei, \'>ai, \'>au, \'>ei}).
-A dialytika must be placed on the second vowel if they are dropped:
-(\ensuregreek{\MakeUppercase{\'ai, \'au, \'ei,  \'>ai, \'>au, \'>ei}}).
-
-\selectlanguage{greek}
-% from teubner: άυλος/ΑΫΛΟΣ
-\'aulos $\mapsto$ \MakeUppercase{\'aulos},
-\'>aulos $\mapsto$ \MakeUppercase{\'>aulos},
-% from http://diacritics.typo.cz/index.php?id=69  μάινα -> ΜΑΪΝΑ
-m\'aina $\mapsto$ \MakeUppercase{m\'aina},
-% from  http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema
-% κέικ, ἀυπνία/αϋπνία
-k\'eik, $\mapsto$ \MakeUppercase{k\'eik}
-\accpsili{a}upn\'ia $\mapsto$ \MakeUppercase{\accpsili{a}upn\'ia}
-\selectlanguage{english}
-
-There are several alternative styles for the capitalized sub-iota.
-
-In order to let the Up/Downcasing work also with the Latin transcription
-defined by the LGR font encoding, ``babel-greek'' also defines lc/uccodes
-for non-standard assignments:
-
-\selectlanguage{greek}
-', ", `, >, <, | $\mapsto$ \MakeUppercase{', ", `, >, <, |}
-\selectlanguage{english}
-
-The uppercase of the zero-width space at the place of ``v'' is kept to point
-to the glyph at the position of ``V'', the Dasia-Oxia accent
-(\ensuregreek{\MakeUppercase{v}}):
-
-\begin{quotation}
-  greek-1.3i 2000/10/02: uc code of `v' is switched to V
-  so that mixed text appears correctly in headers.
-\end{quotation}
-
-Use \verb+\textcompwordmark+:
-not \foreignlanguage{greek}{avu $\mapsto$ \MakeUppercase{avu}} but
-\foreignlanguage{greek}{a\textcompwordmark u
-$\mapsto$ \MakeUppercase{a\textcompwordmark u}}
-
-The following subsections test MakeUppercase and MakeLowercase with all
-characters defined in lgrenc.dfu:
-
-\subsection{Greek and Coptic}
-
-\newcommand{\GreekAndCoptic}{\ensuregreek{
-ʹ͵ͺ; ΄ ΅Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}}
-\newcommand{\greekandcoptic}{\ensuregreek{
-άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϙϛϝϟϡ}}
-
-Characters of the Greek and Coptic Unicode Block:
-
-\begin{quote}
-  \GreekAndCoptic\\
-  \greekandcoptic
-\end{quote}
-
-MakeUppercase:
-
-\begin{quote}
-  \MakeUppercase{\GreekAndCoptic}\\
-  \MakeUppercase{\greekandcoptic}
-\end{quote}
-\end{document}
-
-Letters and sub-iota upcased, other diacritics except dialytika dropped.
-
-There is no capital Koppa in LGR, therefore \ensuregreek{ϟ} is left
-unchanged with MakeUppercase.
-
-
-MakeLowercase:
-
-\begin{quote}
-  \MakeLowercase{\GreekAndCoptic}\\
-  \MakeLowercase{\greekandcoptic}
-\end{quote}
-
-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|
-(\ensuregreek\textvarstigma).
-
-% \newpage
-
-\subsection{Greek extended}
-
-Characters of the Greek extended Unicode block:
-
-\selectlanguage{greek}
-ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ \\
-ἐ ἑ ἒ ἓ ἔ ἕ     Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ     \\
-ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ \\
-ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ \\
-ὀ ὁ ὂ ὃ ὄ ὅ     Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ     \\
-ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ   Ὑ   Ὓ   Ὕ   Ὗ \\
-ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ \\
-ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ     \\
-ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ \\
-ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ \\
-ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ \\
-ᾰ ᾱ ᾲ ᾳ ᾴ   ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ \\
-῀ ῁ ῂ ῃ ῄ   ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ \\
-ῐ ῑ ῒ ΐ     ῖ ῗ Ῐ Ῑ Ὶ Ί   ῝ ῞ ῟ \\
-ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` \\
-    ῲ ῳ ῴ   ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾
-\selectlanguage{english}
-
-MakeUppercase:
-
-\selectlanguage{greek}
-
-\MakeUppercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
-\MakeUppercase{ ἐ ἑ ἒ ἓ ἔ ἕ     Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ     }\\
-\MakeUppercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
-\MakeUppercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
-\MakeUppercase{ ὀ ὁ ὂ ὃ ὄ ὅ     Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ     }\\
-\MakeUppercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ   Ὑ   Ὓ   Ὕ   Ὗ }\\
-\MakeUppercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
-\MakeUppercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ     }\\
-\MakeUppercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
-\MakeUppercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
-\MakeUppercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
-\MakeUppercase{ ᾰ ᾱ ᾲ ᾳ ᾴ   ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
-\MakeUppercase{ ῀ ῁ ῂ ῃ ῄ   ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
-\MakeUppercase{ ῐ ῑ ῒ ΐ     ῖ ῗ Ῐ Ῑ Ὶ Ί   ῝ ῞ ῟ }\\
-\MakeUppercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
-\MakeUppercase{     ῲ ῳ ῴ   ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾   }
-\selectlanguage{english}
-
-MakeLowercase:
-
-\selectlanguage{greek}
-\MakeLowercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
-\MakeLowercase{ ἐ ἑ ἒ ἓ ἔ ἕ     Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ     }\\
-\MakeLowercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
-\MakeLowercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
-\MakeLowercase{ ὀ ὁ ὂ ὃ ὄ ὅ     Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ     }\\
-\MakeLowercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ   Ὑ   Ὓ   Ὕ   Ὗ }\\
-\MakeLowercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
-\MakeLowercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ     }\\
-\MakeLowercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
-\MakeLowercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
-\MakeLowercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
-\MakeLowercase{ ᾰ ᾱ ᾲ ᾳ ᾴ   ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
-\MakeLowercase{ ῀ ῁ ῂ ῃ ῄ   ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
-\MakeLowercase{ ῐ ῑ ῒ ΐ     ῖ ῗ Ῐ Ῑ Ὶ Ί   ῝ ῞ ῟ }\\
-\MakeLowercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
-\MakeLowercase{     ῲ ῳ ῴ   ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾   }
-\selectlanguage{english}
-
-\section{Babel Strings}
-
-Babel defines macros for several autogenerated strings so that they may
-appear in the choosen language. babel-greek uses LICRs in order to let the
-string macros work independent of the font encoding, in both 8-bit and
-Unicode-aware TeX.
-
-\subsection{Captions}
-
-\selectlanguage{greek}
-\prefacename,
-\refname,
-\abstractname,
-\bibname,
-\chaptername,
-\appendixname,
-\contentsname,
-\listfigurename ,
-\listtablename,
-\indexname,
-\figurename,
-\tablename,
-\partname,
-\enclname,
-\ccname,
-\headtoname,
-\pagename,
-\seename,
-\alsoname,
-\proofname,
-\glossaryname,
-\selectlanguage{english}
-
-
-\subsection{Months}
-
-\selectlanguage{greek}
-\newcounter{foo}
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\selectlanguage{english}
-
-\section{Greek Numerals}
-
-See greek.pdf for the formation rules of Greek numerals.
-Some examples:
-
-\selectlanguage{greek}
-
-\greeknumeral{1},
-\greeknumeral{2},
-\greeknumeral{3},
-\greeknumeral{4},
-\greeknumeral{5},
-\greeknumeral{6},
-\greeknumeral{7},
-\greeknumeral{8},
-\greeknumeral{9},
-\greeknumeral{10},
-\greeknumeral{11},
-\greeknumeral{12},
-\greeknumeral{20},
-\greeknumeral{345},
-\greeknumeral{500},
-\greeknumeral{1997},
-\greeknumeral{2013},
-
-\Greeknumeral{1},
-\Greeknumeral{2},
-\Greeknumeral{3},
-\Greeknumeral{4},
-\Greeknumeral{5},
-\Greeknumeral{6},
-\Greeknumeral{7},
-\Greeknumeral{8},
-\Greeknumeral{9},
-\Greeknumeral{10},
-\Greeknumeral{11},
-\Greeknumeral{12},
-\Greeknumeral{20},
-\Greeknumeral{345},
-\Greeknumeral{500},
-\Greeknumeral{1997},
-\Greeknumeral{2013},
-
-\selectlanguage{english}
-
-Enumerated lists use Greek numerals in the second and fourth level:
-
-\selectlanguage{greek}
-\begin{enumerate}
-  \item \textlatin{Item} 1
-  \begin{enumerate}
-    \item \textlatin{Item} 1.1
-    \begin{enumerate}
-      \item \textlatin{Item} 1.1.1
-       \begin{enumerate}
-         \item \textlatin{Item} 1.1.1.1
-         \item \textlatin{Item} 1.1.1.2
-       \end{enumerate}
-      \item \textlatin{Item} 1.1.2
-    \end{enumerate}
-  \end{enumerate}
-\end{enumerate}
-\selectlanguage{english}
-
-
-\end{document}

Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
===================================================================
(Binary files differ)

Index: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf	2023-03-04 21:09:40 UTC (rev 66347)

Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.tex	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,70 @@
+\documentclass[a4paper]{article}
+\usepackage{ifthen}
+\usepackage[LGR,T1]{fontenc}
+\usepackage{booktabs}
+\usepackage{longtable,ltcaption,array}
+\usepackage[textwidth=14cm]{geometry} % to fit the number table
+\setlength{\extrarowheight}{2pt}
+\usepackage{parskip}
+
+\ifdefined \UnicodeEncodingName
+  \usepackage{fontspec}
+  % \setmainfont{Linux Libertine O} % no GREEK ACROPHONIC ATTIC numbers
+  % \setmainfont{Liberation Serif}  % no GREEK ACROPHONIC ATTIC numbers
+  \setmainfont{FreeSerif}
+\else
+  \usepackage{lmodern}
+\fi
+
+
+\usepackage{textalpha}
+\usepackage{athnum}
+
+\begin{document}
+\title{Test Attic numerals}
+\author{Günter Milde}
+\date{2022/12/08}
+\maketitle
+
+The Greek font encoding is \greekfontencoding.\footnote{
+  Since version 2.0 you can use \emph{athnum} also without
+  \emph{babel-greek} and with Unicode fonts (if they support the
+  ``Greek acrophonic attic'' number symbols for 50, 500, and 5000).}
+
+\begin{tabular}{rrrrrrrrr}
+\toprule
+1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
+\athnum{1} & \athnum{2} & \athnum{3} & \athnum{4} &
+\athnum{5} & \athnum{6} & \athnum{7} & \athnum{8} & \athnum{9} \\
+
+10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90 \\
+\athnum{10} & \athnum{20} & \athnum{30} & \athnum{40} &
+\athnum{50} & \athnum{60} & \athnum{70} & \athnum{80} & \athnum{90} \\
+
+100 & 200 & 300 & 400 & 500 & 600 & 700 & 800 & 900 \\
+\athnum{100} & \athnum{200} & \athnum{300} & \athnum{400} &
+\athnum{500} & \athnum{600} & \athnum{700} & \athnum{800} & \athnum{900} \\
+
+1000 & 2000 & 3000 & 4000 & 5000 & 6000 & 7000 & 8000 & 9000 \\
+\athnum{1000}& \athnum{2000}& \athnum{3000}& \athnum{4000}&
+\athnum{5000}& \athnum{6000}& \athnum{7000}& \athnum{8000}& \athnum{9000} \\
+
+10000 & 20000 & 30000 & 40000 & 50000 & 60000 & 70000 & 80000 & 90000 \\
+\athnum{10000}&\athnum{20000}&\athnum{30000}&\athnum{40000}&
+\athnum{50000}&\athnum{60000}&\athnum{70000}&\athnum{80000}&\athnum{90000} \\
+
+\bottomrule
+\end{tabular}
+
+Some examples:
+
+
+678 = \athnum{678}, 2022 = \athnum{2022}
+
+Largest ``canonical'' number: 9999 = \athnum{9999}
+
+Largest allowed number: 249999 = \athnum{249999}
+
+Hexadecimal input works, too: \texttt{"10} = \athnum{"10}
+
+\end{document}


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-athnum.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,1048 @@
+% 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[Scale=0.92]{DejaVu Serif}
+  \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
+
+
+\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
+}
+
+% -----------------------------------------------------------------------
+
+\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{ΣΣ‌}}.
+
+
+\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 «΄Η»?
+%
+% The "Latin" accents macron and breve should be kept. (minor)
+%
+% 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}
+
+
+\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:
+
+\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.
+
+MakeLowercase:
+
+\begin{quote}
+  \selectlanguage{greek}
+  \MakeLowercase{\GreekExtended}
+\end{quote}
+
+
+\end{document}


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-8bitcompat.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-8bitcompat.tex	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-8bitcompat.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,37 @@
+% Test Babel-Greek with LuaTeX and 8-bit fonts
+% © 2022 Günter Milde
+
+% Setup for LuaTeX with 8-bit fonts
+\newcommand{\SETUP}{
+  % LGR must be defined before loading "luainputenc" (bug in luainputenc?)
+  \usepackage[LGR,T1]{fontenc}
+  \usepackage{lmodern}
+  \usepackage[utf8]{luainputenc}
+  \newcommand*{\greekfontencoding}{LGR} % force LGR setup¹
+
+  \usepackage[greek,
+              % greek.local-LGR-fixes,
+              english]{babel}
+  % Uncomment the desired language variant
+  % \languageattribute{greek}{polutoniko}  % "modern" polytonic Greek
+  \languageattribute{greek}{ancient}  % ancient Greek
+}
+
+\newcommand{\SETUPDOC}{%
+This test is
+\ifdefined\luatexversion compiled
+\else                    intended for but \textbf{not} compiled
+\fi
+with LuaTeX in 8-bit compatibility mode.
+It loads the \pkgref{luainputenc} package for UTF-8 decoding
+and sets \texttt{\textbackslash greekfontencoding} to LGR.
+
+Hyphenation in Greek text parts fails (would require the
+8-bit hyphenation patterns, i.a., a loader fix for LuaTeX).
+}
+
+\input{test-greek.tex}
+
+% ¹TODO: Currently, defining \greekfontencoding must be done with
+% 	 \def or \newcommand* and fails with \newcommand because
+%    	 of the fragile string comparison using \ifx in greek.ldf!


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-8bitcompat.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,60 @@
+% Test Babel's "ini" file for Greek
+% © 2023 Günter Milde
+
+% Setup for Greek with localisation from the "ini" files.
+\newcommand{\SETUP}{
+
+  \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
+  \else  % 8-bit TeX
+    \usepackage{lmodern}
+    \usepackage[LGR,T1]{fontenc}
+    % \usepackage{textalpha}
+    \ProvideTextCommandDefault{\greekscript}{\fontencoding{LGR}\selectfont
+                               \def\encodingdefault{\greekfontencoding}}
+    \ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript ##1}}
+    % Babel <= (3.84) misses the automatic font encoding switch to LGR
+    % \addto\extrasgreek{\greekscript}
+    % \addto\noextrasgreek{\latintext}
+  \fi
+
+  \usepackage[greek, english, provide*=*]{babel}
+
+  \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
+    \babelfont{rm}[Scale=0.92]{DejaVu Serif}
+    % The "ini" Greek setup does not load extended Greek definitions for TU.
+    % Load textalpha or provide dummy definitions:
+    % \usepackage{textalpha}
+    \ProvideTextCommand{\ensuregreek}{TU}[1]{##1}
+    \ProvideTextCommand{\greekscript}{TU}{}
+    \ProvideTextCommand{\textalpha}{TU}{\cs{textalpha}}
+    \ProvideTextCommand{\textOmega}{TU}{\cs{textOmega}}
+  \fi
+
+  \usepackage{hyperref}
+  \hypersetup{unicode, colorlinks=true,linkcolor=blue,urlcolor=blue}
+
+  % fallbacks for commands defined in babel-greek:
+  \providecommand*\greekfontencoding{None}
+  % \providecommand*\lgrfont[1]{\cs{lgrfont} \emph{missing}}
+  \ProvideTextCommandDefault{\textampersand}{\&}
+  \providecommand*\greeknumeral[1]{\{##1\}}
+}
+
+\newcommand{\SETUPDOC}{%
+This test uses Babel's built-in Greek support (``ini'' file,
+cf. \href{https://latex3.github.io/babel/guides/locale-greek.html}
+{Babel guides ``Greek''}).
+
+The following problems can be easily fixed by loading the \emph{textalpha}
+package.
+\begin{itemize}
+  \item Accents not dropped with old (pre 2022/06) \cs{MakeUppercase}.
+  \item Greek LICR macros unknown in TU.
+\end{itemize}
+
+The new 2023/02/10 \cs{MakeUppercase} code fixes the UPPERCASE of Greek
+Unicode literals (including a fix for the ``hiatus'' problem).
+
+}
+
+\input{test-greek.tex}


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-ini.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-lgr.pdf
===================================================================
(Binary files differ)

Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek-tu.pdf
===================================================================
(Binary files differ)

Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
===================================================================
(Binary files differ)

Index: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf	2023-03-04 21:09:40 UTC (rev 66347)

Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,31 +1,128 @@
+% Test document for Babel-Greek
+% © 2013, 2022 Günter Milde
+
+% Configuration constants (see test-greek-8bit-luatex.tex for a use case)
+
+\providecommand{\SETUP}{
+  \usepackage[LGR,T1]{fontenc}
+  \usepackage{lmodern}
+  % \usepackage{kerkis}
+  % \usepackage{gfsdidot}
+  % \usepackage{dejavu}
+  % \usepackage{textalpha} % support Greek literal chars and LICR "everywhere"
+  \ifdefined \UnicodeEncodingName
+    \usepackage{fontspec}
+    % \setmainfont[%
+    %   ItalicFont=NewCM10-Italic.otf,%
+    %   BoldFont=NewCM10-Bold.otf,%
+    %   BoldItalicFont=NewCM10-BoldItalic.otf,%
+    %   SmallCapsFeatures={Numbers=OldStyle}]{NewCM10-Regular.otf}
+    % \setsansfont[%
+    %   ItalicFont=NewCMSans10-Oblique.otf,%
+    %   BoldFont=NewCMSans10-Bold.otf,%
+    %   BoldItalicFont=NewCMSans10-BoldOblique.otf,%
+    %   SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf}
+    % \setmonofont[%
+    %   ItalicFont=NewCMMono10-Italic.otf,%
+    %   BoldFont=NewCMMono10-Bold.otf,%
+    %   BoldItalicFont=NewCMMono10-BoldOblique.otf,%
+    %   SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf}
+    %
+    \setmainfont[Scale=0.92]{DejaVu Serif}
+  \fi
+
+  % Load and configure Babel:
+
+  % Default: modern monotonic Greek
+  \usepackage[greek,% comment out "greek" to test the "basic support"
+              % greek.local-LGR-fixes,
+              english]{babel}
+  % Uncomment the desired language variant
+  \languageattribute{greek}{polutoniko}  % "modern" polytonic Greek
+  % \languageattribute{greek}{ancient}  % ancient Greek
+
+  % The "polytonic" language attribute is an alias for "polutoniko" matching
+  % the spelling in polyglossia and Babel *.ini files.
+  % \languageattribute{greek}{polytonic}
+
+  % Support for the pseudo-language "polutonikogreek", used instead of "greek",
+  % is kept for backwards compatibility:
+  % \usepackage[polutonikogreek,english]{babel}
+
+  % For backwards compatibility, you can also use
+  % \selectlanguage{polutonikogreek} instead of \selectlanguage{greek} etc.
+  % if the "polutoniko" Greek language variant is selected.
+}
+
+\providecommand{\SETUPDOC}{}
+
+
 \documentclass[a4paper]{article}
-\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
+
+\SETUP
+
+\usepackage{hyperref}
+\hypersetup{unicode, colorlinks=true,linkcolor=blue,urlcolor=blue}
+% \usepackage{bookmark}
+
 \usepackage{parskip}
 
-\usepackage[greek,english]{babel}
-% \languageattribute{greek}{polutoniko}
-% \languageattribute{greek}{ancient}
+% Semantic styling:
 
-\ifdefined \UnicodeEncodingName
-  \usepackage{fontspec}
-  \setmainfont{DejaVu Serif}
-\fi
+\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
+    \ifx\captionsgreek\captionsancientgreek
+      ancient%
+    \else
+      polutoniko%
+    \fi
+  \else
+    monotoniko%
+  \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
+\def\showhyphenpar{\bgroup
+   \def\par{\setparams\endgraf\composelines}
+   \setbox0=\vbox\bgroup \noindent\hskip0pt\relax}
+\def\setparams{\rightskip=0pt plus1fil
+   \linepenalty=1000 \pretolerance=-1 \hyphenpenalty=-10000}
+\def\composelines{\setbox2=\hbox{}%
+   \loop \setbox0=\lastbox \unskip \unpenalty
+   \ifhbox0 % je už \vbox vyprázdněn?
+     \global\setbox2=\hbox{\unhbox0\unskip\unhbox2}
+   \repeat
+   \egroup % vyprázdněný \vbox ukončím
+   \exhyphenpenalty=10000 % \box2 vyšoupnu do vnějšího seznamu
+   \emergencystretch=4em \leavevmode\unhbox2 \endgraf\egroup}
+
+% --------------------------------------------------------------------------
+
 \begin{document}
 
-\title{Greek support for Babel}
+\title{Test the Greek support for Babel}
 \author{Günter Milde}
-\date{2020/11/10}
+\date{\today}
 \maketitle
 
-The babel option «greek» activates the support for the Greek language
-defined in the file «greek.ldf» (source «greek.dtx»).
+Test support for the Greek language as defined in the file
+\file{greek.ldf} (source \file{greek.dtx}).
 
-Typesetting Greek texts requires a font containing Greek letters. With the
-XeTeX or LuaTeX engines, the user must ensure that the selected font
-contains the required glyphs (the default Latin Modern fonts miss most of
-them).
+\SETUPDOC % print additional setup information.
 
+\tableofcontents
+
+
 \section{Language Switch}
 
 The declaration \verb|\selectlanguage| switches between languages.
@@ -38,173 +135,377 @@
 \end{quote}
 
 The command \verb|\foreignlanguage| sets its second argument in the language
-specified as first argument. This is intended for short text parts like
-\foreignlanguage{greek}{Βιβλιοθήκη}.
+specified as first argument. This is intended for short text parts or
+single words like \foreignlanguage{greek}{Βιβλιοθήκη}.
 
-\section{Font Encoding}
+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).
 
-Every language switch to \texttt{greek} calls the \verb|\extrasgreek|
-command which in turn calls \verb|\greekscript| to ensure a Greek-supporting
-font encoding (LGR or TU).  At this point, the «greekfontencoding»
-is \texttt{\greekfontencoding}. 
+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):
+\begin{quotation}
+  Change script with \verb|ensuregreek|: |\ensuregreek{δοῦλος}|.
 
+  Change
+  language with \verb|\foreignlanguage|: |\foreignlanguage{greek}{δοῦλος}|.
 
-LGR has Greek characters in the slots reserved in a TeX \emph{standard text
-font encoding}. Therefore, the Babel core defines the declaration
-\verb|\latintext| and the command \verb|\textlatin| to switch to the TU, T1
-or OT1 font encoding or typeset the argument using this encoding. At this
-point, the «latinencoding» is \texttt{\latinencoding}.
+  Change language with \verb|\selectlanguage|:
+  |\selectlanguage{greek}δοῦλος\selectlanguage{english}|.
+\end{quotation}
 
-With the Unicode font encoding \texttt{TU},
-Latin characters can be used in Greek text parts and
-input via the «LGR Latin transcription» is not possible.
 
-The following quote mixes Latin transcription and Greek literal characters:
+\section{Auto-strings}
 
-\begin{quote}
-  \greekscript Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
-  \latintext Friends (\ensuregreek{F\'ilwn}) of TeX.%
-\end{quote}
-
-\section{LICR Macros}
-
-Babel defines macros for several autogenerated strings so that they may
-appear in the choosen language. \emph{babel-greek} uses LICR%
+\emph{Babel} defines macros for several autogenerated strings so that they
+may appear in the choosen language. \emph{Babel-greek} uses LICR%
 \footnote{LaTeX internal character representation} macros in
 order to let the string macros work independent of the font encoding.
 
-If \verb|\greekfontencoding| is TU, \emph{babel-greek} loads Greek LICR
-definitions from the file \texttt{tuenc-greek.def} provided by
-\href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc}
-since version~0.14 (2020-02-28).
+\selectlanguage{greek}
+\begin{abstract}
+  \ensureascii{Look for the abstract name. Today is} \today.
+\end{abstract}
+\selectlanguage{english}
 
-With this setup, it is also possible to use accent macros instead of
-pre-composed Unicode characters for letters with diacritics%
-\ifdefined \UnicodeEncodingName
-  : Τ\'ι φ\'ηις;, \`<ορα = \accdasiavaria{ο}ρα
-\fi
-.
+Show the auto-strings for language variant ``\GreekLanguageVariant''.
 
 \subsection{Captions}
 
+\newcommand{\AutoStrings}{%
+  \abstractname,
+  \alsoname,
+  \appendixname,
+  \bibname,\\
+  \ccname,
+  \chaptername,
+  \contentsname,
+  \enclname,\\
+  \figurename,
+  \glossaryname,
+  \headtoname,
+  \indexname,\\
+  \listfigurename ,
+  \listtablename,\\
+  \pagename,
+  \partname,
+  \prefacename,
+  \proofname,\\
+  \refname,
+  \seename,
+  \tablename
+}
 \selectlanguage{greek}
-\prefacename,
-\refname,
-\abstractname,
-\bibname,
-\chaptername,
-\appendixname,
-\contentsname,
-\listfigurename ,
-\listtablename,
-\indexname,
-\figurename,
-\tablename,
-\partname,
-\enclname,
-\ccname,
-\headtoname,
-\pagename,
-\seename,
-\alsoname,
-\proofname,
-\glossaryname
+\AutoStrings
 \selectlanguage{english}
 
 Test correct upcasing (dropping of accents):
 
 \selectlanguage{greek}
-\MakeUppercase{
-\prefacename,
-\refname,
-\abstractname,
-\bibname,
-\chaptername,
-\appendixname,
-\contentsname,
-\listfigurename,
-\listtablename,
-\indexname,
-\figurename,
-\tablename,
-\partname,
-\enclname,
-\ccname,
-\headtoname,
-\pagename,
-\seename,
-\alsoname,
-\proofname,
-\glossaryname
-}
+\MakeUppercase{\AutoStrings}
 \selectlanguage{english}
 
-
 \subsection{Months}
 
-\selectlanguage{greek}
-\newcounter{foo}
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\selectlanguage{english}
 
-\section{Greek Numerals (\greeknumeral{1} to \Greeknumeral{999999})}
+\begin{quotation}
+  \selectlanguage{greek}
+  \newcounter{origmonth}
+  \setcounter{origmonth}{\the\month}
+  \newcounter{foo}
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
 
-See greek.pdf for the formation rules of Greek numerals.
-Some examples:
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
 
-\selectlanguage{greek}
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
 
-\greeknumeral{1},
-\greeknumeral{2},
-\greeknumeral{3},
-\greeknumeral{4},
-\greeknumeral{5},
-\greeknumeral{6},
-\greeknumeral{7},
-\greeknumeral{8},
-\greeknumeral{9},
-\greeknumeral{10},
-\greeknumeral{11},
-\greeknumeral{12},
-\greeknumeral{20},
-\greeknumeral{345},
-\greeknumeral{500},
-\greeknumeral{1997},
-\greeknumeral{2013}
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
 
-\Greeknumeral{1},
-\Greeknumeral{2},
-\Greeknumeral{3},
-\Greeknumeral{4},
-\Greeknumeral{5},
-\Greeknumeral{6},
-\Greeknumeral{7},
-\Greeknumeral{8},
-\Greeknumeral{9},
-\Greeknumeral{10},
-\Greeknumeral{11},
-\Greeknumeral{12},
-\Greeknumeral{20},
-\Greeknumeral{345},
-\Greeknumeral{500},
-\Greeknumeral{1997},
-\Greeknumeral{2013}
-\selectlanguage{english}
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
 
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
 
-Enumerated lists use Greek characters/numerals in the second and fourth level:
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
 
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
+
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
+
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
+
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
+
+  \stepcounter{foo} \month=\value{foo} \today \qquad \MakeUppercase{\today}
+  \month=\value{origmonth}
+\end{quotation}
+
+
+\section{Hyphenation}
+
+Patterns for the Greek language variants:
+
+\makeatletter
+monotonic: \verb|\l at monogreek| = \the\l at monogreek \\
+polytonic: \verb|\l at polygreek| = \the\l at polygreek \\
+ancient:   \verb|\l at ancientgreek| = \the\l at ancientgreek
+
+current: \verb|\l at greek| = \the\l at greek
+\makeatletter
+
+Greek paragraph:
+\begin{quote}
+  \selectlanguage{greek}
+  \showhyphenpar
+  \ensureascii{monotonic:} Ευρετήριο,  επίσης,  Απόδειξη \\
+  \ensureascii{polytonic:} Εὑρετήριο,  ἐπίσης,  Ἀπόδειξη \\
+  \ensureascii{ancient:}   Εὑρετήριον, ὡσαύτως, Ἀπόδειξις
+\end{quote}
+
+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}
+
+\section{Greek Numerals (\greeknumeral{1} \ldots{} \greeknumeral{999999})%
+         \label{sec:greek-numerals}}
+
+\emph{Babel-Greek} provides the macros \verb|\greeknumeral| and
+\verb|\Greeknumeral| for the conversion of Arabic numbers from 1 to 999\,999
+into their Greek counterparts (\greeknumeral{1}, \greeknumeral{2},
+\greeknumeral{3}, \ldots, \greeknumeral{999999}).
+See \file{babel-greek.pdf} for the formation rules and configuration
+options and \file{test-greeknum.pdf} for samples.
+
+Examples:
+
+\newcommand*{\shownumeral}[2]{\mbox{#2 = \csname #1\endcsname{#2}}}
+\newcommand*{\numeralsample}[1]{%
+  \shownumeral{#1}{36}\quad
+  \shownumeral{#1}{94}\quad
+  \shownumeral{#1}{678}\quad
+  \shownumeral{#1}{2002}\quad
+  \shownumeral{#1}{923090}}
+
+\numeralsample{greeknumeral}
+
+\numeralsample{Greeknumeral}
+
+Users can redefine the macros \verb`\greeknumeralsix` and
+\verb`\greeknumeralSix` as well as \verb`\greeknumeralninety`
+\verb`\greeknumeralNinety` to configure the used symbols.
+
+If a font misses glyphs for the Greek numeral signs, subsitute characters
+may be defined with the macros
+\cs{textdexiakeraia} and \cs{textaristerikeraia}.
+
+\ifdefined \greeknumeralsix
+  Example (use ``archaic kappa'', ``varstigma'' with pdftex and substitute
+  chars for the numeral signs with Xe/LuaTeX):
+  \renewcommand*{\greeknumeralninety}{\textqoppa}
+  \renewcommand*{\greeknumeralNinety}{\textQoppa}
+  \ifdefined\UnicodeEncodingName
+    \renewcommand*{\textdexiakeraia}{\textquoteright}
+    \renewcommand*{\textaristerikeraia}{\quotesinglbase}
+  \else
+    \renewcommand*{\greeknumeralSix}{\textvarstigma}
+  \fi
+
+  \numeralsample{greeknumeral}
+
+  \numeralsample{Greeknumeral}
+
+  The macro \verb|\Grtoday| produces the current date with the month
+  and the day as greek numerals. Today is \ensuregreek{\Grtoday}.
+
+  \subsection{Alphabetical counters}
+
+  In line with Greek typographical tradition (and to avoid messed up
+  alphabetical counters with LGR fonts), \emph{babel-greek} changes
+  the internal LaTeX commands \cs{@alph} and \cs{@Alph}
+  to use Greek numerals inside Greek text parts
+  (see section~\ref{sec:LGR-redefinitions} for an example).
+
+\fi
+
+\section{Font Encoding}
+
+TeX's standard 8-bit text fonts don't provide for Greek characters.
+Every language switch to \texttt{greek} calls the \verb|\extrasgreek|
+language hook which in turn calls \verb|\greekscript| to ensure a
+Greek-supporting font encoding (LGR or TU).
+With the current setup, this document uses
+\begin{itemize}
+  \item \greekfontencoding{} as \verb|\greekfontencoding|,
+  \item \latinencoding{} as \verb|\latinencoding|, and
+        \makeatletter \ensureascii{\cf at encoding} \makeatother
+        inside \verb|\ensureascii|.
+\end{itemize}
+
+If \verb|\greekfontencoding| is LGR, \emph{babel-greek} performs additional
+setup steps to fix issues with the Latin transliteration (see below).
+If it is TU, \emph{babel-greek} loads Greek LICR definitions from the file
+\file{tuenc-greek.def}\footnote{%
+    Provided by \pkgref{greek-fontenc} since version~0.14 (2020-02-28)}.
+\ifdefined\UnicodeEncodingName
+  %
+  % Attention: \meaning\greekfontencoding\ != \meaning\UnicodeEncodingName
+  \expandafter\ifx\greekfontencoding\UnicodeEncodingName
+    With this setup, it is also possible to use accent macros instead of
+    pre-composed Unicode characters for letters with diacritics,
+    ὃρα = \`<ορα = \accdasiavaria{ο}ρα.
+  \fi
+\fi
+
+\ifdefined\greekscript
+  Switching to a font encoding supporting the Greek script is possible without
+  switching the Babel language using the declarations \verb|\greekscript| (no
+  switch if the current encoding supports the Greek script (e.g. the Unicode
+  font encodings TU and PU) or \verb|\greektext| (always switch to LGR) and the
+  corresponding functions \verb|\ensuregreek| and \verb|\lgrfont|.%
+    \footnote{Hyphenation patterns are not changed,
+              check for wrong hyphenations.}
+  These commands also work in the middle of a paragraph or word:
+  \greekscript Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
+  \latintext Friends (\ensuregreek{F\'ilwn}) of TeX.
+\fi
+
+
+\subsection{LGR's \emph{Latin transliteration}}
+
+LGR has Greek characters in the slots reserved for Latin characters and
+other symbols in a TeX \emph{standard text font encoding}.
+This allows the use of a \emph{Latin transliteration} for the input of Greek
+characters\footnote{see \file{usage.pdf}}, however, characters that should
+be printed as Latin characters must be protected from conversion by a font
+encoding switch, either selecting a different language or wrapping them with
+\verb|\ensureascii| (provided by the Babel core), that sets its argument
+using an ASCII-compatible font encoding. The legacy declaration
+\verb|\latintext| switches the font encoding to \verb|\latinencoding|.
+
+With the Unicode font encoding TU, Latin characters can be used in Greek
+text parts and the Latin transliteration does not work (but see the
+last example below).
+
+The following quote (with the Babel language set to Greek) illustrates the
+problem:
+
+Literal characters, words in the ``foreign'' script protected:
+\begin{quote}
+  \selectlanguage{greek}
+  Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
+  \selectlanguage{english}
+  Friends (\ensuregreek{Φίλων}) of TeX.
+\end{quote}
+
+Unprotected ASCII characters come out as Greek characters with LGR:
+\begin{quote}
+  \selectlanguage{greek}
+  Φίλων τοῦ TeX (ΕΦΤ) -- Friends (Φίλων) of TeX.
+\end{quote}
+
+The Latin transliteration works in LGR but not TU:
+\begin{quote}
+  \selectlanguage{greek}
+  F'ilwn to\~u \ensureascii{TeX} (EFT) --
+  \selectlanguage{english}
+  \latintext Friends (\ensuregreek{F\'ilwn}) of TeX.
+\end{quote}
+
+\ifdefined\lgrfont
+  The Latin transliteration can be used with also with
+  Xe/LuaTeX, if the input text is wrapped in \cs{lgrfont}
+    \footnote{available, if the LGR encoding is loaded
+    with the \pkgref{fontenc} package}
+  but may result in non-matching fonts and wrong hyphenation:
+  \begin{quote}
+    \selectlanguage{greek}
+    \lgrfont{F'ilwn to\~u \ensureascii{TeX} (EFT)} --
+    \selectlanguage{english}
+    \latintext Friends (\lgrfont{F\'ilwn}) of TeX.
+  \end{quote}
+\fi
+
+\subsubsection{LGR-proofed macros}
+
+\emph{Babel-greek} provides LGR-local variants for some
+\emph{TextCommand}s that rely on a standard text encoding.\footnote{%
+  These workarounds cannot be done in \file{lgrenc.def} from the
+  \pkgref{greek-fontenc} package because they are not allowed in a
+  ``font encoding definition file'' [\file{fntguide.pdf}].}
+The fallback definitions for some \emph{textcomp} symbols compose the
+symbols out of Latin letters.
+The fixes must not overwrite the selection of pre-composed symbols
+from \pkgref{textcomp} or TU (try copy and paste from the PDF output).
+
+LGR fonts have a middle dot glyph at the place of the ampersand. The new
+\emph{TextCommand} \verb|\textampersand| always prints an ampersand.
+\makeatletter \newcommand{\AsciiSymbolTest}{(\f at encoding) ©®™
+                          A\textampersand W}
+\makeatother
+\begin{quote}
+  English: \AsciiSymbolTest\\
+  English: \ensuregreek{\AsciiSymbolTest}\\
+  Greek: \foreignlanguage{greek}{\AsciiSymbolTest}
+\end{quote}
+% English (LGR), input as macro:
+% \lgrfont{|\textcopyright|\textregistered|\texttrademark|
+%            A\textampersand W.}
+
+\ifdefined\lgrfont% babel-greek and LGR font encoding loaded
+
+  \subsection{LGR re-definitions \label{sec:LGR-redefinitions}}
+
+  The generic macro \verb|\&| is re-defined inside Greek text parts to use
+  the original definition in math mode and \cs{textampersand} in text
+  mode.
+
+  \subsubsection{Roman numerals \label{sec:roman-numerals}}
+
+  Without fixes, Roman numerals are printed according to the Latin
+  transliteration (including the conversion of ``v'' to a
+  ZERO WIDTH NON-JOINER) if the font encoding is LGR:
+
+  \makeatletter
+  \newcommand{\RomanNumeralTest}{\f at encoding:
+              \romannumeral 1, \romannumeral 2, \romannumeral 3,
+	      \romannumeral 4, \ldots, \romannumeral 1975}
+  \makeatother
+  \begin{quote}
+    \RomanNumeralTest\\
+    \lgrfont{\RomanNumeralTest}
+  \end{quote}
+
+  Roman numerals are used by the default document classes, e.g., in the third
+  level of enumerations or as page numbers in the frontmatter of a book.
+  They may move to auto-generated document parts like the ToC,
+  (hyper)references, or an index.
+
+  As document authors cannot wrap page numbers in a ToC in \verb|\ensureascii|,
+  \emph{Babel-greek} redefines the internal LaTeX commands \verb|\@roman| and
+  \verb|\@Roman| to make Roman numberals LGR-proof.
+  Unfortunately, this breaks Makeindex (cf. \file{test-lgr-fixes.tex}).
+
+\fi
+
+
+\subsubsection{Example}
+
+In Greek text parts, enumerated lists use Greek numerals in the second and
+fourth level and ASCII-proofed Roman numerals in the third level.
+
 \selectlanguage{greek}
 \begin{enumerate}
   \item item 1
@@ -215,6 +516,7 @@
        \begin{enumerate}
          \item item 1.1.1.1
          \item item 1.1.1.2
+         \item item 1.1.1.3 \label{item 1.1.1.3}
        \end{enumerate}
       \item item 1.1.2
     \end{enumerate}
@@ -222,20 +524,183 @@
 \end{enumerate}
 \selectlanguage{english}
 
+\selectlanguage{english}
+Setting the language back to English should restore the alphabetic numbering:
+\begin{enumerate}
+  \item item 1
+  \begin{enumerate}
+    \item item 1.1
+    \begin{enumerate}
+      \item item 1.1.1
+       \begin{enumerate}
+         \item item 1.1.1.1
+         \item item 1.1.1.2
+         \item item 1.1.1.3
+       \end{enumerate}
+      \item item 1.1.2
+    \end{enumerate}
+  \end{enumerate}
+\end{enumerate}
 
-This may be problematic with fonts that only partially support Greek and
-miss the numeral signs (dexiakeraia and aristerikeraia).
+More test of the LGR-redefinitions are in \file{test-lgr-fixes.tex}.
 
-You may redefine the commands \verb+\textdexiakeraia+ and
-\verb+\textaristerikeraia+ to some substitute characters.
-Or, if you prefer the ``normal'' enumeration, write in the preamble after
-loading babel:
+\ifdefined\lgrfont
+\else
+  \end{document}
+\fi
 
-\begin{verbatim}
-  \makeatletter
-  \addto\extrasgreek{\let\@alph\latin at alph
-  		     \let\@Alph\latin at Alph}
-  \makeatother
-\end{verbatim}
+\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
+placed on the first vowel of a diphthong.
+A dialytika must be placed on the second vowel if they are dropped, e.g.
+%
+\newcommand{\HiatusLICR}{\acctonos\textalpha\textiota,
+                         \acctonos\textalpha\textupsilon,
+                         \acctonos\textepsilon\textiota,
+                         \'>\textalpha\textiota,
+                         \'>\textalpha\textupsilon,
+                         \accpsili\textalpha\textupsilon,
+                         \accdasiaoxia\textepsilon\textiota}%
+\ensuregreek{\HiatusLICR\ $\mapsto$ \MakeUppercase{\HiatusLICR}}.
+
+Some affected words:
+\begin{quotation}
+  \selectlanguage{greek}
+  \newcommand*{\aylos}{% from teubner.sty: άυλος → ΑΫΛΟΣ
+    \acctonos\textalpha\textupsilon\textlambda\textomicron\textfinalsigma}
+  \aylos{} $\mapsto$ \MakeUppercase{\aylos},
+  \renewcommand*{\aylos}{% polytonic: ἄυλος → ΑΫΛΟΣ
+    \'>\textalpha\textupsilon\textlambda\textomicron\textfinalsigma}
+  \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},
+
+  % from  http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema
+  \newcommand*{\keik}{% κέικ → ΚΕΪΚ
+    \textkappa\acctonos\textepsilon\textiota\textkappa}
+  \keik{} $\mapsto$ \MakeUppercase{\keik},
+
+  \newcommand*{\ahypnia}{% ἀυπνία → ΑΫΠΝΙΑ
+    \accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}
+  \ahypnia{} $\mapsto$ \MakeUppercase{\ahypnia},
+
+  % from http://multilingualtypesetting.co.uk/blog/greek-typesetting-tips/
+  \newcommand*{\romeika}{\textrho\textomega\textmu
+                         \acctonos\textepsilon\textiota\textkappa\textalpha}
+  \romeika{} $\mapsto$ \MakeUppercase{\romeika}.
+\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.
+
+With the current (2023/02/10) \cs{MakeUppercase}, it works for literal
+Unicode input and named accents. The definitions in \texttt{*enc.def} files,
+\texttt{uccode}s and the \texttt{@uclclist} are ignored.
+
+\subsection{Changed uccode/lccode values for LGR}
+
+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.
+
+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 uccodes 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:
+
+\newcommand{\AccentCharacters}{" | ' ` > <}
+\begin{quote}
+  \selectlanguage{greek}
+  \AccentCharacters{} $\mapsto$ \MakeUppercase{\AccentCharacters}
+\end{quote}
+
+\emph{Composite command} definitions ensure that combined accents
+also work for accent characters ``upcased'' to the charcter
+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}
+
+With babel-greek versions up to 1.11, using the tilde for the
+\emph{perispomeni} accent inside \verb|\MakeUppercase| led to a
+\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{There are new issues with 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}}
+\begin{quote}
+  \selectlanguage{greek}
+  \greektext
+  ~u \~u \accperispomeni{u} $\mapsto$ \MakeUppercase{~u \~u \accperispomeni{u}}
+\end{quote}
+
+
+The changed uc/lccodes have strange effects on Latin text parts
+in Greek paragraphs if only the encoding is switched:
+\begin{quote}
+  \selectlanguage{greek}
+  \foreignlanguage{english}{English:
+    Let's see: \AccentCharacters{} $\mapsto$
+    \MakeUppercase{Let's see: \AccentCharacters}}\\
+  \ensureascii{\cs{ensureascii}:
+    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}}.
+
 \end{document}

Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,131 @@
+\documentclass[a4paper]{article}
+\usepackage{ifthen}
+\usepackage[LGR,T1]{fontenc}
+\usepackage{booktabs}
+\usepackage{longtable,ltcaption,array}
+\usepackage[textwidth=14cm]{geometry} % to fit the number table
+\setlength{\extrarowheight}{2pt}
+\usepackage{parskip}
+\pagestyle{empty}
+
+\ifdefined \UnicodeEncodingName
+  \usepackage{fontspec}
+  \setmainfont{Linux Libertine O} % no GREEK ACROPHONIC ATTIC numbers
+  % \setmainfont{Liberation Serif}  % no GREEK ACROPHONIC ATTIC numbers
+  % \setmainfont{FreeSerif}
+\else
+  \usepackage{lmodern}
+  % \usepackage{kerkis}   % !! Data loss: \textStigma and \textSampi
+    			  %    characters missing!
+  % \usepackage{gfsdidot} % !! Data loss: \textsampi, \textSampi,
+                          %    and \textStigma characters missing!
+  % \usepackage{dejavu}   % !! Data loss: \textSampi character missing!
+  % Prevent dataloss with re-definitions, e.g:
+  % \renewcommand*{\greeknumeralSix}{\textSigma\textTau} % default \textStigma
+  % \renewcommand*{\greeknumeralNinety}{\textsampi}      % default \textSampi
+\fi
+
+
+\usepackage[greek,english]{babel}
+
+\begin{document}
+\section*{Test Greek (Milesian) numerals}
+\author{Günter Milde}
+\date{2023/01/06}
+
+Babel-greek defines the functions \verb|\greeknumeral| and
+\verb|\Greeknumeral| that work similar to the TeX primitive
+\verb|\romannumeral|. For details and configuration options, see
+\texttt{babel-greek.pdf}.
+
+Examples:
+
+\newcommand*{\greeknumeralsample}[1]{\mbox{#1 = \greeknumeral{#1}}}
+\newcommand*{\Greeknumeralsample}[1]{\mbox{#1 = \Greeknumeral{#1}}}
+
+\greeknumeralsample{16}\quad
+\greeknumeralsample{32}\quad
+\greeknumeralsample{64}\quad
+\greeknumeralsample{678}\quad
+\greeknumeralsample{2022}\quad
+\greeknumeralsample{123456}
+
+\Greeknumeralsample{16}\quad
+\Greeknumeralsample{32}\quad
+\Greeknumeralsample{64}\quad
+\Greeknumeralsample{678}\quad
+\Greeknumeralsample{2022}\quad
+\Greeknumeralsample{123456}
+
+Hexadecimal input works, too: \greeknumeralsample{"10}
+
+Largest supported number: \greeknumeralsample{999999}
+
+Values outside the supported range are printed as arabic decimal numbers
+(a warning is issued):
+\greeknumeralsample{-1}\quad
+\greeknumeralsample{0}\quad
+\greeknumeralsample{"1000000}
+
+All Ionic number symbols.
+The Greek font encoding is \greekfontencoding.
+
+\begin{tabular}{rrrrrrrrr}
+\toprule
+1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
+\greeknumeral{1} & \greeknumeral{2} & \greeknumeral{3} & \greeknumeral{4} &
+\greeknumeral{5} & \greeknumeral{6} & \greeknumeral{7} & \greeknumeral{8} & \greeknumeral{9} \\[0.3em]
+
+10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90 \\
+\greeknumeral{10} & \greeknumeral{20} & \greeknumeral{30} & \greeknumeral{40} &
+\greeknumeral{50} & \greeknumeral{60} & \greeknumeral{70} & \greeknumeral{80} & \greeknumeral{90} \\[0.3em]
+
+100 & 200 & 300 & 400 & 500 & 600 & 700 & 800 & 900 \\
+\greeknumeral{100} & \greeknumeral{200} & \greeknumeral{300} & \greeknumeral{400} &
+\greeknumeral{500} & \greeknumeral{600} & \greeknumeral{700} & \greeknumeral{800} & \greeknumeral{900} \\[0.3em]
+
+1000 & 2000 & 3000 & 4000 & 5000 & 6000 & 7000 & 8000 & 9000 \\
+\greeknumeral{1000}& \greeknumeral{2000}& \greeknumeral{3000}& \greeknumeral{4000}&
+\greeknumeral{5000}& \greeknumeral{6000}& \greeknumeral{7000}& \greeknumeral{8000}& \greeknumeral{9000} \\[0.3em]
+
+10000 & 20000 & 30000 & 40000 & 50000 & 60000 & 70000 & 80000 & 90000 \\
+\greeknumeral{10000}&\greeknumeral{20000}&\greeknumeral{30000}&\greeknumeral{40000}&
+\greeknumeral{50000}&\greeknumeral{60000}&\greeknumeral{70000}&\greeknumeral{80000}&\greeknumeral{90000} \\[0.3em]
+
+100000 & 200000 & 300000 & 400000 & 500000 & 600000 & 700000 & 800000 & 900000 \\
+\greeknumeral{100000}&\greeknumeral{200000}&\greeknumeral{300000}&\greeknumeral{400000}&
+\greeknumeral{500000}&\greeknumeral{600000}&\greeknumeral{700000}&\greeknumeral{800000}&\greeknumeral{900000} \\[0.3em]
+
+\bottomrule
+\end{tabular}
+
+\begin{tabular}{rrrrrrrrr}
+\toprule
+1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
+\Greeknumeral{1} & \Greeknumeral{2} & \Greeknumeral{3} & \Greeknumeral{4} &
+\Greeknumeral{5} & \Greeknumeral{6} & \Greeknumeral{7} & \Greeknumeral{8} & \Greeknumeral{9} \\[0.3em]
+
+10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90 \\
+\Greeknumeral{10} & \Greeknumeral{20} & \Greeknumeral{30} & \Greeknumeral{40} &
+\Greeknumeral{50} & \Greeknumeral{60} & \Greeknumeral{70} & \Greeknumeral{80} & \Greeknumeral{90} \\[0.3em]
+
+100 & 200 & 300 & 400 & 500 & 600 & 700 & 800 & 900 \\
+\Greeknumeral{100} & \Greeknumeral{200} & \Greeknumeral{300} & \Greeknumeral{400} &
+\Greeknumeral{500} & \Greeknumeral{600} & \Greeknumeral{700} & \Greeknumeral{800} & \Greeknumeral{900} \\[0.3em]
+
+1000 & 2000 & 3000 & 4000 & 5000 & 6000 & 7000 & 8000 & 9000 \\
+\Greeknumeral{1000}& \Greeknumeral{2000}& \Greeknumeral{3000}& \Greeknumeral{4000}&
+\Greeknumeral{5000}& \Greeknumeral{6000}& \Greeknumeral{7000}& \Greeknumeral{8000}& \Greeknumeral{9000} \\[0.3em]
+
+10000 & 20000 & 30000 & 40000 & 50000 & 60000 & 70000 & 80000 & 90000 \\
+\Greeknumeral{10000}&\Greeknumeral{20000}&\Greeknumeral{30000}&\Greeknumeral{40000}&
+\Greeknumeral{50000}&\Greeknumeral{60000}&\Greeknumeral{70000}&\Greeknumeral{80000}&\Greeknumeral{90000} \\[0.3em]
+
+100000 & 200000 & 300000 & 400000 & 500000 & 600000 & 700000 & 800000 & 900000 \\
+\Greeknumeral{100000}&\Greeknumeral{200000}&\Greeknumeral{300000}&\Greeknumeral{400000}&
+\Greeknumeral{500000}&\Greeknumeral{600000}&\Greeknumeral{700000}&\Greeknumeral{800000}&\Greeknumeral{900000} \\
+
+\bottomrule
+\end{tabular}
+
+\end{document}


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.pdf
===================================================================
(Binary files differ)

Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,236 +0,0 @@
-\documentclass[a4paper]{scrartcl}
-
-% Load font packages depending on engine:
-\ifdefined\luatexversion 
-  \usepackage{fontspec}
-\fi
-\ifdefined\XeTeXrevision 
-  \usepackage{fontspec}
-\fi
-\ifdefined \UTFencname % set by "fontspec.sty"
-  % Latin Modern misses most Greek characters.
-  \setmainfont{DejaVu Serif}
-  \setsansfont{DejaVu Sans}
-\else
-  \usepackage[LGR,T1]{fontenc}
-  \usepackage[utf8]{inputenc}
-  \usepackage{lmodern}
-  % \usepackage{kerkis} % missing glyphs (Qoppa, in sans serif also koppa, Koppa)  
-  % \usepackage{dejavu} missing glyphs (qoppa, Qoppa, Sampi)
-  % \usepackage{epigrafica} # many missing glyphs
-  % \usepackage{gentium} % missing glyphs (Qoppa, Sampi)
-  % \usepackage{gfsdidot} % sampi in place of qoppa, missing sampi Sampi
-  % \usepackage{gfsartemisia} % sampi in place of qoppa, missing sampi Sampi
-  % \usepackage{libertinegc}
-  % \usepackage{noto}
-  % \usepackage{OldStandard}
-  % \usepackage{roboto}
-\fi
-
-
-% Greek script support with textalpha (greek-fontec) or babel-greek:
-
-% \usepackage{textalpha}
-\usepackage[greek,english]{babel}
-
-% Save the unpatched version
-\let\origgreeknumeral\greeknumeral
-\let\origGreeknumeral\Greeknumeral
-
-% uncomment, if you prefer Qoppa for Koppa
-% \let\textKoppa\textQoppa
-% \let\textkoppa\textqoppa
-
-
-% Hyperref 
-% default PDFstring encoding is PD1 without Greek support:
-% \usepackage[unicode]{hyperref}
-% With option unicode, there is partial Greek support (no polytonic)
-\usepackage[unicode]{hyperref}
-
-
-\DeclareTextCommand{\greekscript}{PU}{}
-\DeclareTextCommand{\ensuregreek}{PU}[1]{#1}
-% Greek LICR names from "greek-fontenc"
-\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164}% U+0374
-\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165}% U+0375
-\DeclareTextCommand{\textQoppa}{PU}{\83\330}% U+03D8
-\DeclareTextCommand{\textqoppa}{PU}{\83\331}% U+03D9
-\DeclareTextCommand{\textStigma}{PU}{\83\332}% U+03DA
-\DeclareTextCommand{\textstigma}{PU}{\83\333}% U+03DB
-\DeclareTextCommand{\textDigamma}{PU}{\83\334}% U+03DC
-\DeclareTextCommand{\textdigamma}{PU}{\83\335}% U+03DD
-\DeclareTextCommand{\textKoppa}{PU}{\83\336}% U+03DE
-\DeclareTextCommand{\textkoppa}{PU}{\83\337}% U+03DF
-\DeclareTextCommand{\textSampi}{PU}{\83\340}% U+03E0
-\DeclareTextCommand{\textsampi}{PU}{\83\341}% U+03E1
-% TODO: support polytonic Greek (Greek Extended Unicode block)
-
-
-
-\begin{document}
-
-% \textuppercase{Grüße}
-
-% \selectlanguage{greek}
-% \selectlanguage{english}
-
-
-\section{Test Hyperref-safe implementation of Greek numerals}
-
-Every number is set in 4 versions:
-
-1: lowercase Babel, 
-2: lowercase Hyperref-patched,
-
-3: uppercase Babel,
-4: uppercase Hyperref-patched,
-
-
-\DeclareRobustCommand{\numeraltest}[1]{
-  \origgreeknumeral{#1}
-  \ensuregreek{\greeknumeral{#1}}\ 
-  \origGreeknumeral{#1}
-  \ensuregreek{\Greeknumeral{#1}}
-}
-
-
-\noindent single numerals
-
-1-5
-\numeraltest{1}
-\numeraltest{2}
-\numeraltest{3}
-\numeraltest{4}
-\numeraltest{5}
-
-6-9
-\numeraltest{6}
-\numeraltest{7}
-\numeraltest{8}
-\numeraltest{9}
-
-10-50
-\numeraltest{10}
-\numeraltest{20}
-\numeraltest{30}
-\numeraltest{40}
-\numeraltest{50}
-
-60-90
-\numeraltest{60}
-\numeraltest{70}
-\numeraltest{80}
-\numeraltest{90}
-
-100-500
-\numeraltest{100}
-\numeraltest{200}
-\numeraltest{300}
-\numeraltest{400}
-\numeraltest{500}
-
-600-900
-\numeraltest{600}
-\numeraltest{700}
-\numeraltest{800}
-\numeraltest{900}
-
-1000-5000
-\numeraltest{1000}
-\numeraltest{2000}
-\numeraltest{3000}
-\numeraltest{4000}
-\numeraltest{5000}
-
-6000-9000
-\numeraltest{6000}
-\numeraltest{7000}
-\numeraltest{8000}
-\numeraltest{9000}
-
-10 000 - 900 000
-\numeraltest{10000}
-\numeraltest{20000}
-\numeraltest{800000}
-\numeraltest{900000}
-
-\noindent compound numbers
-
-123-323
-\numeraltest{123}
-\numeraltest{223}
-\numeraltest{323}
-
-445-645
-\numeraltest{445}
-\numeraltest{545}
-\numeraltest{645}
-
-767-967
-\numeraltest{767}
-\numeraltest{867}
-\numeraltest{967}
-
-967021 \numeraltest{967021}
-
-\noindent outside of bounds
-
-Negative and zero
-\greeknumeral{-1}
-% \Greeknumeral{-1}
-\greeknumeral{0}
-%\Greeknumeral{0}
-
-Too large:
-\greeknumeral{1000000}
-% \Greeknumeral{1000000}
-
-\paragraph{Discussion}
-
-The new implementation gives identical results.
-
-\section{Greek numerals in PDF bookmarks}
-
-\section{
-  \numeraltest{1}
-  \numeraltest{90}
-  \numeraltest{200}
-}
-
-\section{
-  \numeraltest{1000}
-  \numeraltest{90000}
-  \numeraltest{200000}
-}
-\section{
-  \numeraltest{24}
-  \numeraltest{96}
-}
-
-\section{
-  \numeraltest{96}
-  \numeraltest{263}
-}
-
-\section{
-  \numeraltest{4695}
-}
-
-\section{Original numeral: 
-  \greekscript{\origgreeknumeral{1293}}
-  % \greekscript{\origGreeknumeral{1293}}
-}
-
-Babels original lower case version works fine in text. However, use in a
-section heading results in spurious numeral marks (dexia keraia) in the
-PDF bookmark. and the warning
-\begin{verbatim}
-  Package hyperref Warning: Token not allowed in a PDF string (Unicode):
-  (hyperref)                removing `\@ifnextchar' on input line 353.
-\end{verbatim}
-
-The upper case version fails because MakeUpercase is not defined for
-PDFstrings.
-
-\end{document},

Added: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-lgr-fixes.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-lgr-fixes.tex	                        (rev 0)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-lgr-fixes.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -0,0 +1,189 @@
+% Test fixes for the LGR font encoding
+\documentclass[a4paper,oneside]{book}
+
+\pagestyle{headings}
+
+\usepackage[LGR,T1]{fontenc}
+\usepackage{lmodern}
+
+% Play with the modifiers and watch the effects:
+\newcommand*{\greeklanguagespecifier}{%
+  % greek%
+  greek.local-LGR-fixes%
+  % greek.no-LGR-fixes%
+}
+
+\usepackage[\greeklanguagespecifier,english]{babel}
+
+% hyperref and makeindex both have special requirements for \@roman & \@Roman
+\usepackage{hyperref}
+\hypersetup{unicode, colorlinks=true,linkcolor=blue,urlcolor=blue}
+\usepackage{makeidx}
+\makeindex
+
+
+\begin{document}
+
+% Pagenumbering uses Roman numerals in the front matter for "book" class
+\frontmatter
+
+\tableofcontents
+% Check Roman page numbers!
+
+\chapter{Preface \label{ch:preface}}
+
+This document tests workarounds for the non-standard LGR Greek text font
+encoding for \emph{necessity}, \emph{effects}, and \emph{side-effects}.
+
+The ideal result would be that all Roman numerals came out as expeced
+and the Index would contain two entries.
+
+The new language attributes \texttt{local-LGR-fixes} and
+\texttt{no-LGR-fixes} provide a tradeoff: limiting the work-arounds to local
+scope or skipping them completely helps with the index but breaks some of
+the Roman numbers. This can help in documents using only small Greek text
+parts. In the current compilation, Babel is called with the
+\texttt{\greeklanguagespecifier} and \texttt{english} options.
+
+In this document, English text in Greek text parts is not protected against
+the Greek transliteration (deliberately, to show clearly where Greek is the
+active language). See the source \texttt{*.tex} file for the English
+original.
+
+\begin{enumerate}
+  \item Problem
+  \begin{enumerate}
+    \item Roman numerals require Latin characters.
+    \item Alphabetic counters use Latin characters, too.
+    \item
+      In document parts using the LGR font encoding, this leads to errors.
+    \begin{enumerate}
+      \item While an ``i'' is still recognizable after conversion to a
+            small Iota, a ``v'', say, becomes an invisible no-break space.
+      \item The transliteration of ``a) b) c) d) e) f) g)''
+            leads to strange results, too.%
+	    \label{item with roman number}
+    \end{enumerate}
+  \end{enumerate}
+  \item Solution for (a): wrapping roman numbers in \verb|\ensureascii|.
+  \begin{enumerate}
+    \item However, some numbers, e.g. page numbers are auto-generated
+          at ``unpredictible'' places.
+          Other are used at places ``inaccessible'' to the author (e.g. the
+          page number of a Greek chapter in the ToC).
+
+          → Re-define counter-formatting functions to make them LGR-proof.
+
+    \item Moving arguments complicate the matter.
+    \begin{enumerate}
+      \item The proofing must be robust (to some degree) to fix, e.g.,
+            a Roman page number of a Greek chapter in the ToC.
+      \item The proofing must be global to work reliably.
+    \end{enumerate}
+  \end{enumerate}
+  \item Side-effect: the proofing makes Makeindex fail if there are
+        index entries on pages with Roman numbering.
+
+	\index{makeindex-problem}
+        Makeindex expects ``pagenumbers'' to be simple text strings, without
+	font encoding change or similar. Cf.
+	\href{https://github.com/latex3/babel/issues/170}{Babel issue~\#170}.
+
+\end{enumerate}
+
+
+\selectlanguage{greek}
+\chapter{Προλογος \label{ch:prologos}}
+
+\begin{enumerate}
+  \item Problem
+  \begin{enumerate}
+    \item Roman numerals require Latin characters.
+    \item Alphabetic counters use Latin characters, too.
+    \item
+      In document parts using the LGR font encoding, this leads to errors.
+    \begin{enumerate}
+      \item While an ``i'' is still recognizable after conversion to a
+            small Iota, a ``v'', say, becomes an invisible no-break space.
+	    \index{invisible-v-problem}
+      \item A transliteration of ``a) b) c) d) e) f) g)''
+            leads to strange results, too.%
+	    \label{item with roman number greek}
+    \end{enumerate}
+  \end{enumerate}
+\end{enumerate}
+
+% \newpage
+% Second page of the Greek preface.
+
+\selectlanguage{english}
+
+
+\mainmatter
+
+\chapter{First Chapter \label{ch:1}}
+
+\section{Page references}
+
+The ``preface'' is at page \pageref{ch:preface}.
+The ``\ensuregreek{prologos}'' is at page \pageref{ch:prologos}.
+
+\section{Page references from a Greek text part}
+
+\selectlanguage{greek}
+
+Ο ''\ensureascii{preface}'' βρίσκεται στη σελίδα
+ \pageref{ch:preface}.
+Ο ``πρόλογος'' βρίσκεται στη σελίδα \pageref{ch:prologos}.
+
+\selectlanguage{english}
+
+\begin{itemize}
+\item With ``local-LGR-fixes'', the page number of the \ensuregreek{Προλογος}
+      comes out wrong.
+\item Authors can fix it by wrapping the \verb|\pageref| function.
+      However, a change of the the default ``LGR fix scope'' to ``local''
+      may break existing documents.
+\end{itemize}
+
+
+\section{References to items in an enumeration}
+
+See item \ref{item with roman number} in an English list.
+See item \ref{item with roman number greek} in a Greek list.
+
+\section{References to items in an enumeration from a Greek text part}
+
+\selectlanguage{greek}
+
+See item \ref{item with roman number} in an English list.
+See item \ref{item with roman number greek} in a Greek list.
+
+\selectlanguage{english}
+
+\begin{itemize}
+\item The ``alph'' counter in the ``English'' list comes out wrong.
+      (This is also the behaviour in previous versions of babel-greek.)
+\item Authors must treat references to non-Greek text parts similar to
+      non-Greek words and abbreviations (wrap in \verb|\ensureascii|).
+\end{itemize}
+
+\section{The Index}
+
+The next page should show an Index with 2 entries
+(see \texttt{test-lgr-fixes.idx}).
+
+\begin{itemize}
+\item With global LGR fixes, no index entry is printed (both are rejected by
+      \texttt{makeindex} because of the font encoding change command
+      preceding the page number.
+\item With ``local-LGR-fixes'', only ``makeindex-problem'' is rejected.
+      (The pagenumber is generated when the \verb|\chapter| command starts
+      the \ensuregreek{Prologos} on a new page. At this point, the active
+      language is Greek and the font encoding LGR.)
+\end{itemize}
+
+\backmatter
+\printindex
+
+\end{document}


Property changes on: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-lgr-fixes.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.pdf
===================================================================
(Binary files differ)

Deleted: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.tex	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,264 +0,0 @@
-\documentclass[a4paper]{article}
-% \usepackage{textcomp}
-\usepackage{hyperref}
-% \usepackage{bookmark}
-\usepackage{parskip}
-
-% Declare the font encoding and Greek LICR definitions:
-\usepackage[LGR]{fontenc}
-
-% Set up Latin Modern OpenType unicode font
-\usepackage{fontspec}
-
-\usepackage[greek,english]{babel}
-% \languageattribute{greek}{polutoniko}
-% \languageattribute{greek}{ancient}
-
-% use LGR (8-bit CB-fonts) instead of Unicode fonts for Greek:
-\addto{\extrasgreek}{\greektext}
-% Alternative:
-% \renewcommand*{\greekscript}{\fontencoding{LGR}\selectfont}
-
-\begin{document}
-
-\title{XeTeX/LuaTeX with LGR fonts}
-\author{Günter Milde}
-\date{2020/11/10}
-\maketitle
-
-The babel option «greek» activates the support for the Greek language
-defined in «greek.ldf» (source «greek.dtx»).
-
-Typesetting Greek texts requires a font containing Greek letters. With the
-XeTeX or LuaTeX engines, the user must ensure that the selected font
-contains the required glyphs (the default Latin Modern fonts miss them).
-
-Latin Modern can be combined with the matching CB-Greek 8-bit font. For the
-setup, see the preamble of this document \texttt{test-unicode-lgr.tex}
-
-Caveat: Currently, hyphenation does not work with this setup. Use it only
-for short Greek quotes or as a last ressort.
-
-\section{Language Switch}
-
-The declaration \verb|\selectlanguage| switches between languages. With
-XeTeX or LuaTeX and LGR as \verb|\greekfontencoding|, Unicode input is not
-possible. Instead, use the Latin transliteration or LICR macros:
-
-\begin{quote}
-  \selectlanguage{greek}
-  T'i f'hic? <Id`wn >enj'ede pa~id'' >eleuj'eran\\
-  t`ac plhs'ion N'umfac stefano~usan, S'wstrate,\\
-  >er~wn 'ap~hljec e>uj'uc?
-\end{quote}
-
-The macro \verb|\foreignlanguage| sets its second argument in the specified
-language. This is intended for short text parts like
-\foreignlanguage{greek}{Biblioj'hkh}.
-
-\section{Font Encoding}
-
-Switching to a font encoding supporting the Greek script is possible without
-switching the text language using the declarations \verb|\greekscript| or
-\verb|\greektext| (always LGR) and the macros \verb|\ensuregreek| or
-\verb|\textgreek|. These commands do not start a new paragraph.
-
-The Babel core defines the declaration \verb|\latintext| and the command
-\verb|\textlatin| to switch to the T1 or OT1 font encoding or typeset the
-argument using this encoding. \texttt{greek.ldf} adds a test for the Unicode
-font encodings TU, EU1, and EU2. Here, \verb|\latinencoding| is
-\latinencoding.
-
-With Unicode fonts, the macros \verb|\greektext| and \verb|\textgreek| are
-only defined, if the LGR font encoding is loaded via the \texttt{fontenc}
-package (see test-unicode-lgr.tex).
-
-% don't change the font encoding.
-With LGR, Latin characters in Greek text parts are typeset as Greek characters
-according to the Latin transcription defined in LGR.%
-
-\begin{quote}
-  \greektext F\'ilwn to\~u \textlatin{TeX} (EFT) --
-  \latintext{Friends (\textgreek{F\'ilwn}) of TeX.}%
-\end{quote}
-
-\section{MakeUppercase, MakeLowercase}
-
-Capital Greek letters have diacritics (except the dialytika and sub-iota) to
-the left (instead of above) and drop them in uppercase.
-
-Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if placed on
-the first vowel of a diphthong (\textgreek{\'ai, \'au, \'ei, \'>ai, \'>au,
-\'>ei}). A dialytika must be placed on the second vowel if they are dropped.
-(\foreignlanguage{greek}{\MakeUppercase{\'ai, \'au, \'ei, \'>ai, \'>au,
-\'>ei}}).
-
-\section{LICR Macros}
-
-Babel defines macros for several autogenerated strings so that they may
-appear in the choosen language. \emph{babel-greek} uses LICR macros in
-order to let the string macros work independent of the font encoding.
-
-If \texttt{fontspec} is loaded before babel, babel-greek loads Greek LICR
-for TU from the file \texttt{tuenc-greek.def} provided with
-\emph{greek-fontenc} since version~0.14 (2020-02-28).
-
-\subsection{Hiatus}
-
-The «hiatus» feature works with macro input:
-
-\selectlanguage{greek}
-% from teubner: άυλος/ΑΫΛΟΣ
-\acctonos\textalpha\textupsilon\textlambda\textomicron\textfinalsigma{}
-$\mapsto$
-\MakeUppercase{\acctonos\textalpha\textupsilon\textlambda\textomicron\textfinalsigma},
-\'>\textalpha\textupsilon\textlambda\textomicron\textfinalsigma{} $\mapsto$
-\MakeUppercase{\'>\textalpha\textupsilon\textlambda\textomicron\textfinalsigma},
-% from http://diacritics.typo.cz/index.php?id=69  μάινα -> ΜΑΪΝΑ
-\textmu\acctonos\textalpha\textiota\textnu\textalpha{} $\mapsto$
-\MakeUppercase{\textmu\acctonos\textalpha\textiota\textnu\textalpha},
-% from  http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema
-% κέικ, ἀυπνία/αϋπνία
-\textkappa\acctonos\textepsilon\textiota\textkappa $\mapsto$
-\MakeUppercase{\textkappa\acctonos\textepsilon\textiota\textkappa},
-\accpsili\textalpha\textupsilon\textpi\textnu\'\textiota\textalpha{} $\mapsto$
-\MakeUppercase{\accpsili\textalpha\textupsilon\textpi\textnu\'\textiota\textalpha}.
-\selectlanguage{english}
-
-\subsection{Captions}
-
-\selectlanguage{greek}
-\prefacename,
-\refname,
-\abstractname,
-\bibname,
-\chaptername,
-\appendixname,
-\contentsname,
-\listfigurename ,
-\listtablename,
-\indexname,
-\figurename,
-\tablename,
-\partname,
-\enclname,
-\ccname,
-\headtoname,
-\pagename,
-\seename,
-\alsoname,
-\proofname,
-\glossaryname
-\selectlanguage{english}
-
-Test correct upcasing (dropping of accents):
-
-\selectlanguage{greek}
-\MakeUppercase{
-\prefacename,
-\refname,
-\abstractname,
-\bibname,
-\chaptername,
-\appendixname,
-\contentsname,
-\listfigurename,
-\listtablename,
-\indexname,
-\figurename,
-\tablename,
-\partname,
-\enclname,
-\ccname,
-\headtoname,
-\pagename,
-\seename,
-\alsoname,
-\proofname,
-\glossaryname
-}
-\selectlanguage{english}
-
-\subsection{Months}
-
-\selectlanguage{greek}
-\newcounter{foo}
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\selectlanguage{english}
-
-\section{Greek Numerals}
-
-See greek.pdf for the formation rules of Greek numerals.
-Some examples:
-
-\selectlanguage{greek}
-
-\greeknumeral{1},
-\greeknumeral{2},
-\greeknumeral{3},
-\greeknumeral{4},
-\greeknumeral{5},
-\greeknumeral{6},
-\greeknumeral{7},
-\greeknumeral{8},
-\greeknumeral{9},
-\greeknumeral{10},
-\greeknumeral{11},
-\greeknumeral{12},
-\greeknumeral{20},
-\greeknumeral{345},
-\greeknumeral{500},
-\greeknumeral{1997},
-\greeknumeral{2013},
-
-\Greeknumeral{1},
-\Greeknumeral{2},
-\Greeknumeral{3},
-\Greeknumeral{4},
-\Greeknumeral{5},
-\Greeknumeral{6},
-\Greeknumeral{7},
-\Greeknumeral{8},
-\Greeknumeral{9},
-\Greeknumeral{10},
-\Greeknumeral{11},
-\Greeknumeral{12},
-\Greeknumeral{20},
-\Greeknumeral{345},
-\Greeknumeral{500},
-\Greeknumeral{1997},
-\Greeknumeral{2013},
-
-
-\selectlanguage{english}
-Enumerated lists use Greek characters/numerals in the second and fourth level:
-
-\selectlanguage{greek}
-\begin{enumerate}
-  \item \textlatin{item} 1
-  \begin{enumerate}
-    \item \textlatin{item} 1.1
-    \begin{enumerate}
-      \item \textlatin{item} 1.1.1
-       \begin{enumerate}
-         \item \textlatin{item} 1.1.1.1
-         \item \textlatin{item} 1.1.1.2
-       \end{enumerate}
-      \item \textlatin{item} 1.1.2
-    \end{enumerate}
-  \end{enumerate}
-\end{enumerate}
-\selectlanguage{english}
-
-\end{document}

Modified: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/usage.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/usage.tex
===================================================================
--- branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/usage.tex	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/doc/generic/babel-greek/usage.tex	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,11 +1,8 @@
-% \iffalse meta-comment
+% Copyright 1997 Apostolos Syropoulos
 %
-% Copyright 1989-2008 Johannes L. Braams and any individual authors
-% listed elsewhere in this file.  All rights reserved.
-% 
-% This file is part of the Babel system.
-% --------------------------------------
-% 
+% This file is part of the babel-greek package.
+% ---------------------------------------------
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
 % of this license or (at your option) any later version.
@@ -13,22 +10,17 @@
 %   http://www.latex-project.org/lppl.txt
 % and version 1.3 or later is part of all distributions of LaTeX
 % version 2003/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status "maintained".
-% 
+%
 % The Current Maintainer of this work is Günter Milde.
-% 
-% The list of all files belonging to the Babel system is
-% given in the file `manifest.bbl. See also `legal.bbl' for additional
-% information.
-% 
-% The list of derived (unpacked) files belonging to the distribution
-% and covered by LPPL is defined by the unpacking scripts (with
-% extension .ins) which are part of the distribution.
-% \fi
+
 \documentclass[11pt]{article}
 \usepackage[american,greek]{babel}
 \languageattribute{greek}{polutoniko}
+% \languageattribute{greek}{ancient}
+\newcommand{\langGreek}{\foreignlanguage{greek}}
+
 \usepackage{athnum,grmath}
 \newcommand{\sg}{\selectlanguage{greek}}
 \newcommand{\sa}{\selectlanguage{american}}
@@ -49,8 +41,8 @@
 \abstract{\noindent
 This document describes the use of the Latin transliteration for Greek that
 is defined by the LGR font encoding. Today, all modern LaTeX distributions
-support literal input of Greek, which is the preferred method for new
-documents. [G. Milde 2013/12/02]}
+support literal input of Greek characters, which is the preferred method for
+new documents. [G. Milde 2013/12/02]}
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -59,11 +51,11 @@
 The \texttt{greek} option of the \texttt{babel} package is an attempt to
 make it possible for someone to write Greek text with \LaTeX. The current
 version of the \texttt{greek} option supports the
-\textgreek{monotonik'o} and \textgreek{polutonik'o} 
+\langGreek{monotonik'o} and \langGreek{polutonik'o}
 accentual systems of the Greek language.
-Moreover, there is now support for Greek numerals. One can produce easily 
+Moreover, there is now support for Greek numerals. One can produce easily
 valid Greek numerals both in uppercase and lowercase forms, e.g,
-\textgreek{\greeknumeral{1997}}\ and \textgreek{\Greeknumeral{1997}}. The
+\langGreek{\greeknumeral{1997}}\ and \langGreek{\Greeknumeral{1997}}. The
 labels in second and fourth level enumerations are lowercase
 and uppercase Greek numerals correspondingly.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -78,60 +70,60 @@
 table shows the transliteration employed:
 \begin{center}
 \begin{tabular}{|lllllllllllll|}\hline
-\textgreek{a}&  
-\textgreek{b}&   
-\textgreek{g}&  
-\textgreek{d}&  
-\textgreek{e}&  
-\textgreek{z}&  
-\textgreek{h}&  
-\textgreek{j}&   
-\textgreek{i}&   
-\textgreek{k}&   
-\textgreek{l}&   
-\textgreek{m}&
-\textgreek{n}\\
+\langGreek{a}&
+\langGreek{b}&
+\langGreek{g}&
+\langGreek{d}&
+\langGreek{e}&
+\langGreek{z}&
+\langGreek{h}&
+\langGreek{j}&
+\langGreek{i}&
+\langGreek{k}&
+\langGreek{l}&
+\langGreek{m}&
+\langGreek{n}\\
 a& b& g& d&  e&  z&  h&  j&  i&  k&  l&  m&  n\\
-\hline    
-\textgreek{x}&  
-\textgreek{o}&  
-\textgreek{p}&  
-\textgreek{r}&  
-\textgreek{sv}&  
-\textgreek{t}&  
-\textgreek{u}&  
-\textgreek{f}&  
-\textgreek{q}&  
-\textgreek{y}&  
-\textgreek{w}& 
-\textgreek{c}& \hbox{ } \\
-x&  o&  p&  r&  s&   
+\hline
+\langGreek{x}&
+\langGreek{o}&
+\langGreek{p}&
+\langGreek{r}&
+\langGreek{sv}&
+\langGreek{t}&
+\langGreek{u}&
+\langGreek{f}&
+\langGreek{q}&
+\langGreek{y}&
+\langGreek{w}&
+\langGreek{c}& \hbox{ } \\
+x&  o&  p&  r&  s&
 t&  u&  f&  q&  y&  w& c& \hbox{ }\\ \hline
 \end{tabular}
 \end{center}
-Please, note that in order to produce the letter \textgreek{sv} in isolation
-on has to type \texttt{sv}. This feature is due to the strong ligature
-that \TeX\ employs. 
-In the ``modern'' \textgreek{monotonik'o} accentual system only one accent is 
-used---\textgreek{oxe'ia} (acute). In the traditional \textgreek{polutonik'o} 
-accentual system we 
+Please, note that in order to produce the letter \langGreek{sv} in isolation
+one has to type \texttt{sv}. This feature is due to the strong ligature
+that \TeX\ employs.
+In the ``modern'' \langGreek{monotonik'o} accentual system only one accent is
+used---\langGreek{oxe'ia} (acute). In the traditional \langGreek{polutonik'o}
+accentual system we
 need more accents and breathing signs. We can produce an accented letter by
 prefixing the letter with he symbol that denotes the accent, e.g.,
-\texttt{>a'erac} produces the word \sg >a'erac.\sa\footnote{For the 
+\texttt{>a'erac} produces the word \sg >a'erac.\sa\footnote{For the
 technically inclined reader, we must say that \TeX\ uses the ligature table of
 the font in order to determine the character that corresponds to the
-input character sequence.} Here are the symbols that are recognized: 
+input character sequence.} Here are the symbols that are recognized:
 
 \begin{center}
 \begin{tabular}{cccc}\hline
 Accent & Symbol & Example & Output\\ \hline
-acute  & \texttt{'} & \texttt{g'ata} & \textgreek{g'ata}\\
-grave  & \texttt{`} & \texttt{dad`i} & \textgreek{dad`i}\\
-circumflex & \verb+~+ & \verb+ful~hc+ & \sg\textgreek{ful~hc}\sa\\
-rough breathing & \verb+<+ & \verb+<'otan+ & \sg\textgreek{<'otan}\sa\\
-smooth breathing & \verb+>+ & \verb+>'aneu+ & \sg\textgreek{>'aneu}\sa\\
-subscript & \texttt{|} & \verb+>anate'ilh|+ & \sg\textgreek{>anate'ilh|}\\
-dieresis & \texttt{"}& \texttt{qa"ide'uh|c} & \sg\textgreek{qa"ide'uh|c}\\ 
+acute  & \texttt{'} & \texttt{g'ata} & \langGreek{g'ata}\\
+grave  & \texttt{`} & \texttt{dad`i} & \langGreek{dad`i}\\
+circumflex & \verb+~+ & \verb+ful~hc+ & \sg\langGreek{ful~hc}\sa\\
+rough breathing & \verb+<+ & \verb+<'otan+ & \sg\langGreek{<'otan}\sa\\
+smooth breathing & \verb+>+ & \verb+>'aneu+ & \sg\langGreek{>'aneu}\sa\\
+subscript & \texttt{|} & \verb+>anate'ilh|+ & \sg\langGreek{>anate'ilh|}\\
+dieresis & \texttt{"}& \texttt{qa"ide'uh|c} & \sg\langGreek{qa"ide'uh|c}\\
 \hline
 \end{tabular}
 \end{center}
@@ -141,21 +133,22 @@
 \begin{center}
 \begin{tabular}{ccc}\hline
 Punctuation Sign & Symbol & Output\\ \hline
-period   & \texttt{.} & \sg\textgreek{.}\sa\\
-semicolon & \texttt{;} & \sg\textgreek{;}\sa\\
-exclamation mark & \texttt{!} & \sg\textgreek{!}\sa\\
-comma & \texttt{,} & \sg\textgreek{,}\sa\\
-colon & \texttt{:} & \sg\textgreek{:}\sa\\
-question mark & \texttt{?} & \sg\textgreek{?}\sa\\
-left apostrophe & \texttt{``} & \sg\textgreek{``}\sa\\
-right apostrophe & \texttt{''} & \sg\textgreek{''}\sa\\
-left quotation mark & \texttt{((} & \sg\textgreek{))}\sa\\
-right quotation mark & \texttt{))} & \sg\textgreek{))}\sa\\ \hline
+period   & \texttt{.} & \sg\langGreek{.}\sa\\
+semicolon & \texttt{;} & \sg\langGreek{;}\sa\\
+exclamation mark & \texttt{!} & \sg\langGreek{!}\sa\\
+comma & \texttt{,} & \sg\langGreek{,}\sa\\
+colon & \texttt{:} & \sg\langGreek{:}\sa\\
+question mark & \texttt{?} & \sg\langGreek{?}\sa\\
+left apostrophe & \texttt{``} & \sg\langGreek{``}\sa\\
+right apostrophe & \texttt{''} & \sg\langGreek{''}\sa\\
+right apostrophe (alias) & \texttt{"} & \sg\langGreek{"}\sa\\
+left quotation mark & \texttt{((} & \sg\langGreek{((}\sa\\
+right quotation mark & \texttt{))} & \sg\langGreek{))}\sa\\ \hline
 \end{tabular}
 \end{center}
 Using these conventions it is a straightforward exercise to write Greek
-\textgreek{polutoniko} text. For example the following excerpt from 
-\textgreek{D'uskoloc} of \textgreek{M'enandroc}
+\langGreek{polutoniko} text. For example the following excerpt from
+\langGreek{D'uskoloc} of \langGreek{M'enandroc}
 \sg
 \begin{quote}
 T'i f'hic? <Id`wn >enj'ede pa~id'' >eleuj'eran\\
@@ -177,69 +170,76 @@
 \verb+\selectlanguage{greek}+
 \end{center}
 whatever we type will be typeset with the Greek fonts. The command
-\verb+\textlatin+ can be used for short passages in some language that
-uses the Latin alphabet, while the the command \verb+\latintext+ changes
-the base fonts to the ones used by languages that use the Latin alphabet.
+\verb+\ensureascii+ can be used for short passages in some language that
+uses the Latin alphabet.
 However, all words will be hyphenated by following the Greek hyphenation
-rules! Similar commands are available once someone has selected some
-other language. The commands \verb+\textgreek+ and \verb+\greektext+
-behave exactly like their ``latin'' counterparts. For example, the
-word \textgreek{M'imhc} has been produced with the command 
-\verb+\textgreek{M'imhc}+. Please note that certain symbols cannot have
-their expected result for Greek text, unless someone has selected the Greek 
+rules! Therefore it is better to switch to the other language
+with \verb+\foreignlanguage+. The commands \verb+\lgrfont+ and
+\verb+\greektext+ switch to the Greek LGR font encoding.
+For example, the word \lgrfont{M'imhc} has been produced with the command
+\verb+\lgrfont{M'imhc}+. Please note that Greek hyphenation and upcasing rules
+are not applied and certain symbols cannot have
+their expected result for Greek text, unless someone has selected the Greek
 language, e.g., \verb+~+ is such a symbol.
 
 As we have mentioned above this version of the \texttt{greek} option of the
 \texttt{babel} package supports the use of Greek numerals. The commands
-\verb+\greeknumeral+ and \verb+\Greeknumeral+ produce the lowercase and 
-the uppercase Greek numeral, e.g., 
+\verb+\greeknumeral+ and \verb+\Greeknumeral+ produce the lowercase and
+the uppercase Greek numeral, e.g.,
 \begin{center}
 \begin{tabular}{cc}\hline
 Command & Output\\ \hline
-\verb+\Greeknumeral{9999}+ & \sg\textgreek{\Greeknumeral{9999}}\\
-\verb+\greeknumeral{9999}+ & \sg\textgreek{\greeknumeral{9999}}\\
+\verb+\Greeknumeral{9999}+ & \sg\langGreek{\Greeknumeral{9999}}\\
+\verb+\greeknumeral{9999}+ & \sg\langGreek{\greeknumeral{9999}}\\
 \hline
 \end{tabular}
 \end{center}
 In order to correctly typeset the greek numerals the greek option file
-provides the following commands:
+uses the following commands:
 \begin{center}
 \begin{tabular}{cc}\hline
 Command & Output\\ \hline
-\verb+\textkoppa+  & \textgreek{\textkoppa}\\
-\verb+\textsampi+  & \textgreek{\textsampi}\\
-\verb+\textstigma+ & \textgreek{\textstigma}\\
-\verb+\textKoppa+  & \textgreek{\textKoppa}\\
-\verb+\textSampi+  & \textgreek{\textSampi}\\
-\verb+\textStigma+ & \textgreek{\textStigma}\\
+% symbol names updated to current defaults [GM]
+% name used by package "greek-fontenc"                         % obsolete name
+\verb+\textdexiakeraia+    & \langGreek{\textdexiakeraia}\\    % \anwtonos
+\verb+\textaristerikeraia+ & \langGreek{\textaristerikeraia}\\ % \katwtonos
+\verb+\textkoppa+          & \langGreek{\textkoppa}\\          % \qoppa
+\verb+\textsampi+          & \langGreek{\textsampi}\\          % \sampi
+\verb+\textstigma+         & \langGreek{\textstigma}\\         % \stigma
+\verb+\textKoppa+          & \langGreek{\textKoppa}\\          % n.a. (\qoppa)
+\verb+\textSampi+          & \langGreek{\textSampi}\\
+\verb+\textStigma+         & \langGreek{\textStigma}\\
 \hline
 \end{tabular}
 \end{center}
 
-In traditional Greek typography the first paragraph after a header is
-always indented, contrary to the habit of, say, American typography. This
-effect can be achieved by using the package \verb+indentfirst+.
-
 Additional symbols are available:
 \begin{center}
 \begin{tabular}{cc}\hline
 Command & Output\\ \hline
-\verb+\textDigamma+ & \textgreek{\textDigamma}\\
-\verb+\textdigamma+ & \textgreek{\textdigamma}\\
-\verb+\VarQoppa+ & \textgreek{\textQoppa}\\
-\verb+\textqoppa+ & \textgreek{\textqoppa}\\
-\verb+\texteuro+ & \textgreek{\euro}\\
-\verb+\textperthousand+ & \textgreek{\permill}\\
+% symbol names updated to current defaults [GM]
+% name used by package "greek-fontenc"                   % obsolete name
+\verb+\textDigamma+     & \langGreek{\textDigamma}\\     % \Digamma
+\verb+\textdigamma+ 	& \langGreek{\textdigamma}\\     % \ddigamma
+\verb+\textQoppa+ 	& \langGreek{\textQoppa}\\       % \varqoppa
+\verb+\textqoppa+ 	& \langGreek{\textqoppa}\\       % \VarQoppa
+\verb+\textvarstigma+   & \langGreek{\textvarstigma}\\   % \varstigma
+\verb+\texteuro+        & \langGreek{\texteuro}\\        % \texteuro
+\verb+\textperthousand+ & \langGreek{\textperthousand}\\ % \permill
 \hline
 \end{tabular}
 \end{center}
 
+In traditional Greek typography the first paragraph after a header is
+always indented, contrary to the habit of, say, American typography. This
+effect can be achieved by using the package \verb+indentfirst+.
+
 The package \verb|athnum| provides the command \verb|\athnum|, with which
 one can produce the so called \textit{Athenian numerals}:
 \begin{center}
 \begin{tabular}{cc}\hline
 Command & Output\\ \hline
-\verb|\athnum{1997}| & \textgreek{\athnum{1997}}\\
+\verb|\athnum{1997}| & \langGreek{\athnum{1997}}\\
 \hline
 \end{tabular}
 \end{center}

Modified: branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/Makefile
===================================================================
--- branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/Makefile	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/Makefile	2023-03-04 21:09:40 UTC (rev 66347)
@@ -16,21 +16,26 @@
 DOCDIR = ~/texmf/doc/latex/greek/babel-greek
 
 CHDIR = cd
-COPY = cp -u
+COPY = cp --update
 SH = sh
 
 # programs
-PYLIT = pylit         # text <-> source converter for literal programming
-RST2HTML = rst2html5  # text -> HTML converter, see docutils.sf.net
-RUBBER = rubber -f --pdf # wrapper around `latex`, run until references resolved
+PYLIT = pylit        # text <-> source converter for literal programming
+RST2HTML = rst2html5 # text -> HTML converter, see docutils.sf.net
+RUBBER = rubber --force --pdf # latex-wrapper running until refs are resolved
 LATEX = pdflatex -interaction batchmode # suppress logging to terminal
 
+
+.PHONY: all
+
+all: packages doc test
+
 # LaTeX source files
 # ==================
 
-.PHONY: all
+.PHONY: packages
 
-all: greek.ldf athnum.sty grmath.sty
+packages: greek.ldf athnum.sty grmath.sty
 
 greek.ldf: babel-greek.dtx
 	tex babel-greek.ins
@@ -44,22 +49,28 @@
 # Documentation
 # =============
 
-.PHONY: doc html pdf
+.PHONY: doc html pdf test
 
 doc: html pdf
 
-html: README.html
+html: babel-greek-doc.html
 
-README.html: README
-	$(RST2HTML) README README.html
+babel-greek-doc.html: babel-greek-doc.rst
+	$(RST2HTML) babel-greek-doc.rst babel-greek-doc.html
 
 
-pdf: babel-greek.pdf athnum.pdf grmath.pdf usage.pdf\
-     test-greek-lgr.pdf test-greek-tu.pdf test-8bit-greek.pdf \
-     test-tu-lgr.pdf
+pdf: babel-greek.pdf athnum.pdf grmath.pdf usage.pdf
 
+test: test-greek.pdf test-greek-tu.pdf test-greek-8bitcompat.pdf \
+      test-greek-ini.pdf \
+      test-lgr-fixes.pdf test-case-changing.pdf\
+      test-greeknum.pdf test-greeknum-tu.pdf \
+      test-athnum.pdf test-athnum-tu.pdf
+
 babel-greek.pdf: babel-greek.dtx
 	$(RUBBER) -m hyperref babel-greek.dtx
+	makeindex -s gglo.ist -o babel-greek.gls babel-greek.glo
+	$(RUBBER) -m hyperref babel-greek.dtx
 
 athnum.pdf: athnum.dtx
 	$(RUBBER) athnum.dtx
@@ -70,35 +81,60 @@
 usage.pdf: usage.tex greek.ldf
 	$(RUBBER) usage.tex
 
-test-greek-lgr.pdf: test-greek.tex greek.ldf
-	$(RUBBER) --jobname=test-greek-lgr test-greek.tex
+test-greek.pdf: test-greek.tex greek.ldf
+	$(RUBBER) -m hyperref test-greek.tex
 
 test-greek-tu.pdf: test-greek.tex greek.ldf
 	$(RUBBER) -m xelatex --jobname=test-greek-tu test-greek.tex
 
-test-8bit-greek.pdf: test-8bit-greek.tex greek.ldf
-	$(RUBBER) -m hyperref test-8bit-greek.tex
+# requires rubber >= 1.6, otherwise `-m lualatex` is ignored.
+test-greek-8bitcompat.pdf: test-greek-8bitcompat.tex test-greek.tex greek.ldf
+	$(RUBBER) -m hyperref -m lualatex test-greek-8bitcompat.tex
 
-test-tu-lgr.pdf: test-tu-lgr.tex greek.ldf
-	$(RUBBER) -m hyperref -m xelatex test-tu-lgr.tex
+test-greek-ini.pdf: test-greek-ini.tex test-greek.tex greek.ldf
+	$(RUBBER) -m hyperref -m xelatex test-greek-ini.tex
 
+test-case-changing.pdf: test-case-changing.tex greek.ldf
+	$(RUBBER) -m hyperref test-case-changing.tex
 
-# Installation
-# =============
+test-athnum.pdf: test-athnum.tex greek.ldf athnum.sty
+	$(RUBBER) test-athnum.tex
 
-install: all
+test-athnum-tu.pdf: test-athnum.tex greek.ldf athnum.sty
+	$(RUBBER) -m xelatex --jobname=test-athnum-tu test-athnum.tex
+
+test-greeknum.pdf: test-greeknum.tex greek.ldf
+	$(RUBBER) test-greeknum.tex
+
+test-greeknum-tu.pdf: test-greeknum.tex greek.ldf
+	$(RUBBER) -m xelatex --jobname=test-greeknum-tu test-greeknum.tex
+
+test-lgr-fixes.pdf: test-lgr-fixes.tex greek.ldf
+	$(RUBBER) -m hyperref -m index test-lgr-fixes.tex
+
+
+# Installation/Update
+# ===================
+
+update: packages test
 	$(COPY) *.ldf $(DESTDIR)
-	#$(COPY) *.sty $(DESTDIR)
+	$(COPY) *.sty $(DESTDIR)
 
-install-doc: doc
-	$(COPY) README $(DOCDIR)
-	$(COPY) *.html $(DOCDIR)
+update-package: packages doc test
+	$(COPY) README.md $(DOCDIR)
+	$(COPY) babel-greek-doc.rst $(DOCDIR)
+	$(COPY) babel-greek-doc.html $(DOCDIR)
+	# selected PDFs
+	$(COPY) [!t]*.pdf $(DOCDIR)
+	$(COPY) test-greek.pdf $(DOCDIR)
+	$(COPY) test-athnum.pdf $(DOCDIR)
+	# also copy all sources
 	$(COPY) *.dtx $(DOCDIR)
 	$(COPY) *.ins $(DOCDIR)
 	$(COPY) *.tex $(DOCDIR)
-	$(COPY) *.pdf $(DOCDIR)
 	$(COPY) Makefile $(DOCDIR)
 
+
 # Cleanup
 # =======
 
@@ -105,4 +141,5 @@
 .PHONY: clean
 
 clean:
-	rm -f *.aux *.log *.toc *.out *~
+	rm -f *~ *.aux *.bbl *.bcf *.blg *.run.xml *.glo *.gls \
+	      *.idx *.ilg *.ind *.log *.out *.rubbercache *.toc

Modified: branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/athnum.dtx
===================================================================
--- branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/athnum.dtx	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/athnum.dtx	2023-03-04 21:09:40 UTC (rev 66347)
@@ -1,11 +1,8 @@
 % \iffalse meta-comment
 %
-% Copyright 1989-2008 Johannes L. Braams and any individual authors
-% listed elsewhere in this file.  All rights reserved.
-% 
-% This file is part of the Babel system.
-% --------------------------------------
-% 
+% This file is part of the babel-greek package.
+% ---------------------------------------------
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
 % of this license or (at your option) any later version.
@@ -13,33 +10,19 @@
 %   http://www.latex-project.org/lppl.txt
 % and version 1.3 or later is part of all distributions of LaTeX
 % version 2003/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status "maintained".
-% 
-% The Current Maintainer of this work is Johannes Braams.
-% 
-% The list of all files belonging to the Babel system is
-% given in the file `manifest.bbl. See also `legal.bbl' for additional
-% information.
-% 
-% The list of derived (unpacked) files belonging to the distribution
-% and covered by LPPL is defined by the unpacking scripts (with
-% extension .ins) which are part of the distribution.
+%
+% The Current Maintainer of this work is Günter Milde <milde at users.sf.net>.
+%
 % \fi
-%% \CheckSum{125}
+%% \CheckSum{150}
 %\iffalse
 %
 %% This is file `athnum.dtx'
 %% (c) 1997-2007 Apostolos Syropoulos.
+%% Changes in version 2.0 © 2022 Günter Milde
 %% All rights reserved.
-%
-%  Please report errors or suggestions for improvement to
-%    
-%    Apostolos Syropoulos
-%    366, 28th October Str.
-%    GR-671 00 Xanthi, GREECE
-%    apostolo at platon.ee.duth.gr or apostolo at obelix.ee.duth.gr
-%
 %\fi
 %
 % \iffalse
@@ -62,26 +45,25 @@
 %</driver>
 %    \end{macrocode}
 % \fi
-%
-%\title{Athenian Numerals II\footnote{The documentation of this 
-% package is essentially the same as that of the package `grnumalt'.
-% The `II' serves as a means to distinguish the two documents.}}
+%\title{Attic (or Athenian) Numerals}
 % \author{Apostolos Syropoulos\\366, 28th October Str.\\
 % GR-671 00 Xanthi, HELLAS\\ Email:\texttt{apostolo at platon.ee.duth.gr}}
 % \date{2003/08/24}
 %\maketitle
-% 
+%
 %\MakeShortVerb{\|}
 %
 %\section{Introduction}
-% 
-% This \LaTeX\ package implements the macro 
+%
+% This \LaTeX\ package implements the macro
 % \DescribeMacro{\athnum}
 % |\athnum|. The macro transforms an Arabic numeral, i.e., the kind
 % of numerals we all use (e.g., 1, 5, 789 etc), to the corresponding
-% {\itshape Athenian} numeral. Athenian numerals were in use only in 
-% ancient Athens. The package can be used only in conjunction with the 
-% |greek| option of the |babel| package.
+% {\itshape Athenian} (or \emph{Attic} numeral. Athenian numerals were in
+% use mainly in ancient Athens. The package requires a Greek text font and
+% the |greek-fontenc| package.\footnote{%
+%   Up to version 1.1, `athnum' required that Babel was loaded with the
+%   |greek| option. Version 2.0 sets up Greek font support autonomously.}
 %
 %\section{The Numbering System}
 %
@@ -95,21 +77,29 @@
 %  \item $\Pi$ denotes the number five (5)
 %  \item $\Delta$ denotes the number ten (10)
 %  \item H denotes the number one hundred (100)
-%  \item X denotes the number one thousand (1000) 
+%  \item X denotes the number one thousand (1000)
 %  \item M denotes the number ten thousands (10000)
 %\end{itemize}
-% Moreover,  the letters $\Delta$, H, X, and M under the letter $\Pi$, 
-% denote five times their original value, e.g., the symbol 
-% \PiIt{X}, denotes the number 5000, and the symbol  
+% Moreover,  the letters $\Delta$, H, X, and M under the letter $\Pi$,
+% denote five times their original value, e.g., the symbol
+% \PiIt{X}, denotes the number 5000, and the symbol
 % \PiIt{$\Delta$}, denotes the number 50. It must be noted that
 % the numbering system does not provide negative numerals or a symbol for
-% zero. 
+% zero.
 %
 % The Athenian numbering system is described, among others, in an article in
 % Encyclopedia $\Delta o\mu\acute{\eta}$, Vol. 2, page 280, 7th edition,
 % Athens, October 2, 1975.
 %
-% \section{The Code}  
+% \section{The Code}
+%
+% \changes{athnum-2.0}{2022/12/08}{%
+%   Do not require Babel to be loaded with the |greek| option.\\
+%   Use LICR macros instead of the Latin transliteration for Greek letters
+%   to fix working with Unicode fonts.\\
+%   Drop the backwards compatibility definitions for PiDelta, PiEta,
+%   PiChi, and PiMu.}
+%
 % Before we do anything further, we have to identify the package.
 % \StopEventually
 %
@@ -116,36 +106,63 @@
 %    \begin{macrocode}
 %<*package>
 \NeedsTeXFormat{LaTeX2e}[1996/01/01]
-\ProvidesPackage{athnum}[2003/08/24\space v1.1]
-\typeout{Package: `athnum' v1.1\space <2003/08/24> (A. Syropoulos)}
+\ProvidesPackage{athnum}[2022/12/08\space v2.0]
+\typeout{Package: `athnum' v2.0\space <2022/12/08> (A. Syropoulos)}
 %    \end{macrocode}
-% Next we check to see if the |babel| package is loaded with at least
-% the |greek| option. In case it isn't, we opt to produce an error message.
-%    \begin{macrocode} 
-\@ifpackagewith{babel}{greek}{}{%
-   \@ifpackagewith{babel}{polutonikogreek}{}{%
-     \PackageError{athnum}{%
-     `greek' option of the `babel'\MessageBreak
-      package hasn't been loaded}{%
-      The commands provided by this package\MessageBreak
-      are specially designed for greek language\MessageBreak
-      typesetting with the `babel' package. Load\MessageBreak
-      it with at least the `greek' option.}\relax
-      }}
-%    \end{macrocode}
+% \section{Font setup}
 %
-% As it is mentioned in the introduction, the Athenian numerals employ
-% some special digits. These digits are included in the |cb| fonts of
-% Claudio Beccari, and so we must provide access commands.
+% Typesetting Greek texts requires a font with Greek characters:
+%
+% For 8-bit LaTeX, this package uses fonts with the LGR font encoding.
+% With the XeTeX or LuaTeX engines and Unicode fonts, the user must ensure
+% that the selected font contains the required glyphs
+% (only few fonts support the "GREEK ACROPHONIC ..." characters).
+% LGR-encoded fonts can also be used alongside Unicode fonts with XeTeX/LuaTeX
+% to enable the input of Greek letters via the Latin transliteration provided by
+% this font encoding.
+%
+% \DescribeMacro\greekfontencoding
+% We test for available font encodings and set |\greekfontencoding|
+% and the internal macro |\athnum at greek@fontencdef| with the name of the
+% font definition file that defines the required Greek LICR macros.
+% The default is LGR for 8-bit TeX engines and TU for Xe/LuaTeX.
 %    \begin{macrocode}
-\DeclareTextCommand{\PiDelta}{LGR}{\char"02\relax}
-\DeclareTextCommand{\PiEta}{LGR}{\char"03\relax}
-\DeclareTextCommand{\PiChi}{LGR}{\char"04\relax}
-\DeclareTextCommand{\PiMu}{LGR}{\char"05\relax}
+\ifdefined \UnicodeEncodingName % set by LaTeX for XeTeX/LuaTeX
+  \providecommand*{\greekfontencoding}{\UnicodeEncodingName}
+  \providecommand*{\athnum at greek@fontencdef}{tuenc-greek}
+\else
+  \providecommand*{\greekfontencoding}{LGR}
+  \providecommand*{\athnum at greek@fontencdef}{lgrenc}
+\fi
 %    \end{macrocode}
-%\begin{macro}{\@@athnum}            
-% Now, we turn our attention to the definition of the macro 
-% |\@@athnum|. This macro uses one integer variable (or counter in 
+% Ensure that the Greek LICR macros are available:
+%    \begin{macrocode}
+\@ifl at aded{def}{\athnum at greek@fontencdef}{}
+{% else
+  \InputIfFileExists{\athnum at greek@fontencdef .def}{}{% else
+    \PackageError{athnum}{Font support for the Greek script missing.\\
+               can't typeset Greek symbols.\\
+               Install the "greek-fontenc" package\\
+               or use XeTeX/LuaTeX.}
+              {I can't find the \athnum at greek@fontencdef .def file
+               for the Greek fonts (encoding \greekfontencoding)}
+    \@@end
+  }
+}
+%    \end{macrocode}
+% \begin{macro}{\ensuregreek}
+%   The TextCommand |\ensuregreek| sets it argument in |\greekfontencoding|
+%   if the current font encoding does not provide a (typically empty) local
+%   variant.
+%    \begin{macrocode}
+\ProvideTextCommandDefault{\ensuregreek}[1]{%
+  \leavevmode{\fontencoding{\greekfontencoding}\selectfont #1}}
+%    \end{macrocode}
+% \end{macro}
+%
+%\begin{macro}{\@@athnum}
+% Now, we turn our attention to the definition of the macro
+% |\@@athnum|. This macro uses one integer variable (or counter in
 % \TeX's jargon.)
 %    \begin{macrocode}
 \newcount\@ath at num
@@ -154,18 +171,18 @@
 %    \begin{macrocode}
 \DeclareRobustCommand*{\@@athnum}[1]{%
 %    \end{macrocode}
-% After assigning to variable |\@ath at num| the value of the macro's argument, 
+% After assigning to variable |\@ath at num| the value of the macro's argument,
 %we  make sure that the argument is in the expected range, i.e., it is greater
-% than zero, and less or equal to $249999$.  In case it isn't, we simply 
+% than zero, and less or equal to $249999$.  In case it isn't, we simply
 % produce a |\space|, warn the user about it and quit. Although, the
 % |\athnum| macro is capable to produce an Athenian numeral for even greater
 % intergers, the following argument by Claudio Beccari convised me to place
 % this above upper limit:
-% \begin{quote} 
+% \begin{quote}
 % According to psychological perception studies (that ancient Athenians
 % and Romans perfectly knew without needing to study Freud and Jung)
 % living beings (which includes at least all vertebrates, not only
-% humans) can perceive up to four randomly set objects of the same kind   
+% humans) can perceive up to four randomly set objects of the same kind
 % without the need of counting, the latter activity being a specific
 % acquired ability of human kind; the biquinary numbering notation
 % used by the Athenians and the Romans exploits this natural
@@ -187,61 +204,64 @@
 % computation. If the number is greater than $49999$, then it certainly
 % has at least one \PiIt{M} ``digit''. We find all such digits by continuously
 % subtracting $50000$ from |\@ath at num|, until |\@ath at num| becomes less than
-% $50000$. 
+% $50000$.
 %    \begin{macrocode}
             \@whilenum\@ath at num>49999\do{%
-               \PiMu\advance\@ath at num-50000}%
+               \textpentemuria\advance\@ath at num-50000}%
 %    \end{macrocode}
 % We now check for tens of thousands.
 %    \begin{macrocode}
             \@whilenum\@ath at num>9999\do{%
-               M\advance\@ath at num-\@M}%
+               \textMu\advance\@ath at num-\@M}%
 %    \end{macrocode}
-% Since a number can have only one \PiIt{X} ``digit'' (equivalent to 5000), it 
+% Since a number can have only one \PiIt{X} ``digit'' (equivalent to 5000), it
 % is easy to check it out and produce the corresponding numeral in case it does
 % have one.
 %    \begin{macrocode}
             \ifnum\@ath at num>4999%
-               \PiChi\advance\@ath at num-5000%
+               \textpenteqilioi\advance\@ath at num-5000%
             \fi\relax
 %    \end{macrocode}
 % Next, we check for thousands, the same way we checked for tens of thousands.
 %    \begin{macrocode}
             \@whilenum\@ath at num>999\do{%
-               Q\advance\@ath at num-\@m}%
+               \textChi\advance\@ath at num-\@m}%
 %    \end{macrocode}
 % Like the five thousands, a numeral can have at most one \PiIt{H} ``digit''
 % (equivalent to 500).
 %    \begin{macrocode}
             \ifnum\@ath at num>499%
-               \PiEta\advance\@ath at num-500%
+               \textpentehekaton\advance\@ath at num-500%
             \fi\relax
 %    \end{macrocode}
 % It is time to check hundreds, which follow the same pattern as thousands
 %    \begin{macrocode}
             \@whilenum\@ath at num>99\do{%
-               H\advance\@ath at num-100}%
+               \textEta\advance\@ath at num-100}%
 %    \end{macrocode}
 % A numeral can have only one \PiIt{$\Delta$} ``digit'' (equivalent to 50).
-%    \begin{macrocode} 
+%    \begin{macrocode}
             \ifnum\@ath at num>49%
-               \PiDelta\advance\@ath at num-50%
+               \textpentedeka\advance\@ath at num-50%
             \fi\relax
 %    \end{macrocode}
 % Let's check now decades.
-%    \begin{macrocode}         
+%    \begin{macrocode}
             \@whilenum\@ath at num>9\do{%
-               D\advance\@ath at num by-10}%
+               \textDelta\advance\@ath at num by-10}%
 %    \end{macrocode}
 % We check for five and, finally, for the digits 1, 2, 3, and 4.
 %    \begin{macrocode}
             \@whilenum\@ath at num>4\do{%
-               P\advance\@ath at num-5}%
-            \ifcase\@ath at num\or I\or II\or III\or IIII\fi%
+               \textPi\advance\@ath at num-5}%
+            \ifcase\@ath at num \or \textIota
+	       \or \textIota\textIota
+	       \or \textIota\textIota\textIota
+	       \or \textIota\textIota\textIota\textIota\fi%
    \fi\fi}
 %    \end{macrocode}
 %\end{macro}
-% 
+%
 %\begin{macro}{\@athnum}
 % The command |\@athnum| has one argument, which
 % is a counter. It calls the command |\@@athnum| to process the value of
@@ -255,11 +275,13 @@
 % The command |\athnum| is a wrapper that declares
 % a new counter in a local scope, assigns to it the argument of the command
 % and calls the macro |\@athnum|. This way the command can process correctly
-% either a number or a counter. 
+% either a number or a counter.
 %    \begin{macrocode}
 \def\athnum#1{%
-     \@ath at num#1\relax
-     \@athnum{\@ath at num}}
+     \ensuregreek{%
+       \@ath at num#1\relax
+       \@athnum{\@ath at num}}%
+     }
 %</package>
 %    \end{macrocode}
 %\end{macro}
@@ -268,9 +290,9 @@
 % I would like to thank Claudio Beccari for reading the documentation
 % and for his very helpful suggestions. In addition, Antonis Tsolomitis
 % spotted a bug in the first version, which is corrected in the present
-% version. 
+% version.
 % \section*{Dedication}
-% I would like to dedicate this piece of work to my son 
+% I would like to dedicate this piece of work to my son
 % \begin{center}Demetrios-Georgios.\end{center}
 % \Finale
 %

Modified: branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
===================================================================
--- branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx	2023-03-04 21:09:40 UTC (rev 66347)
@@ -20,13 +20,13 @@
 % The Current Maintainer of this work is Günter Milde <milde at users.sf.net>.
 %
 % Babel-greek is a contributed package providing support for the Greek
-% language and script via the Babel system (http://www.ctan.org/pkg/babel).
+% language and script via the Babel system (https://ctan.org/pkg/babel).
 %
 % The list of derived (unpacked) files belonging to this work
 % and covered by LPPL is defined by the unpacking script (babel-greek.ins)
 % which is part of the package.
 % \fi
-% \CheckSum{1547}
+% \CheckSum{1651}
 %
 % \iffalse
 %    Tell the \LaTeX\ system who we are and write an entry on the
@@ -37,12 +37,12 @@
 %<code>\ProvidesLanguage{greek}
 %\fi
 %\ProvidesFile{babel-greek.dtx}
-        [2020/11/10 v1.10 Greek support for the babel system]
+        [2023/03/04 1.12 Greek support for the babel system]
 %\iffalse
 %% File `babel-greek.dtx'
 %% Greek language Definition File
 %% Copyright © 1997, 2005 Apostolos Syropoulos, Johannes Braams
-%% Copyright © 2013, 2019 Günter Milde
+%% Copyright © 2013 -- 2020 Günter Milde
 %
 %% Please report errors to: Günter Milde <milde at users.sf.net>
 %
@@ -50,19 +50,17 @@
 %    code for the greek language definition file. The original
 %    version of this file was written by Apostolos Syropoulos.
 %    It was then enhanced by adding code from kdgreek.sty from David
-%    Kastrup <dak at gnu.org> with his
-%    consent.
+%    Kastrup <dak at gnu.org> with his consent.
 %<*filedriver>
 \documentclass{ltxdoc}
-% \usepackage{lmodern}
-\usepackage[utf8]{inputenc}
+\usepackage{lmodern}
 \usepackage{hyperref}
 \hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,citecolor=black}
-\newcommand*{\babel}{\textsf{babel}}
-\newcommand*{\note}[1]{}
 \newcommand*{\Lopt}[1]{\textsf{#1}}
 \newcommand*{\file}[1]{\texttt{#1}}
-\newcommand*{\pkg}[1]{\texttt{#1}}
+\newcommand*{\pkg}[1]{\textsf{#1}}
+\newcommand*{\pkgref}[1]{\textsf{\href{https://ctan.org/pkg/#1}{#1}}}
+\RecordChanges  % Write index file with \changes entries
 \begin{document}
  \DocInput{babel-greek.dtx}
 \end{document}
@@ -98,44 +96,20 @@
 %    load LICR macro definitions for Xe/LuaTeX.}
 % \changes{greek-1.7}{2013/09/09}{Do not load euenc.def with XeTeX/LuaTeX.
 %    Prevent re-loading lgrenc.def.}
-% \changes{greek-1.7a}{2013/09/13}{bugfix: remove spurious ``fi''.}
-% \changes{greek-1.7b}{2013/10/01}{bugfix: correct upcasing of babel strings
+% \changes{greek-1.7a}{2013/09/13}{Remove spurious ``fi''.}
+% \changes{greek-1.7b}{2013/10/01}{Correct upcasing of babel strings
 %    with Xe/LuaTeX.}
-% \changes{babel-greek-1.8}{2013/11/27}{Rename to ``babel-greek.dtx''.
-%    Restore compatibility with Xe/LuaTeX in 8-bit and Unicode mode.
-%    Load ``euenc.def'' if EU1 or EU2 font encoding is detected.
-%    New TextCommands ``greekscript'' and ``ensuregreek''.}
-% \changes{babel-greek-1.8a}{2013/12/03}{Set `encodingdefault' in `greekscript'
-%   to fix Greek in footnotes etc. with document language Greek.}
-% \changes{babel-greek-1.9}{2014/07/20}{Added attribute for ancient Greek.
-%   Load correct hyphenation patterns. Patch by Claudio Beccari.}
-% \changes{babel-greek-1.9b}{2014/09/18}{Remove spurious whitespace from
-%   `extrasgreek'  definition (report Eike Schmidt).
-%   Use named macros instead of non-standard short accent macros for
-%   psili and dasia.}
-% \changes{babel-greek-1.9c}{2014/10/21}{Fix dummy hyphenation language names
-%   (report/patch Ulrike Fischer).}
-% \changes{babel-greek-1.9d}{2015/07/06}{uc-/lccode corrections from xgreek are now
-%   in greek-euenc.def (the polyglossia version has bugs).}
-% \changes{babel-greek-1.9e}{2015/11/27}{Fix bug in lccode-setting loop
-%   (patch by Enrico Gregorio).}
-% \changes{babel-greek-1.9f}{2016/02/04}{Support for standard
-%   Unicode text encoding ``TU'' (new in fontspec v2.5a).}
-% \changes{babel-greek-1.9g}{2016/09/07}{Babel 3.9i deprecated textlatin
-%   and fixed latinencoding.}
-% \changes{babel-greek-1.9h}{2019/07/11}{Move breathing composite commands
-%   to textalpha.}
-% \changes{babel-greek-1.9i}{2020/02/28}{Update test for Unicode fonts.
-%   Fix accent in seename and alsoname.}
-% \changes{babel-greek-1.9j}{2020/03/17}{Fix ampersand in math mode.}
-% \changes{babel-greek-1.10}{2020/11/10}{Use TU as \cs{greekfontencoding}
-%   for Xe/LuaTeX. TU is the default font encoding there since 2017/01/01.
-%   PDF-string secure implementation of \cs{greeknumeral}
-%   (taken from ``hyperref'').
-%   Use zig-zagy \cs{textkoppa} for \cs{greeknumeral{90}}.
-%   This is what it looked originally and what it looks
-%   in current (not classical or medieval) Greek typography.
-%   Load ``puenc-greek.def`` (from greek-fontenc_) if used with hyperref.}
+% \changes{greek-1.8}{2013/11/27}{Renamed to `babel-greek'.}
+% \changes{babel-greek-1.08}{2013/11/27}{\file{greek.dtx} renamed to
+%    \file{babel-greek.dtx} (but still generates \file{greek.ldf}).}
+% \changes{babel-greek-1.08}{2013/11/27}{
+%    Restore compatibility with Xe/LuaTeX in 8-bit and Unicode mode.}
+% \changes{babel-greek-1.09g}{2016/09/07}{Babel 3.9i deprecated
+%    \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}
@@ -142,12 +116,11 @@
 % \maketitle
 %
 % Babel-greek is a contributed package providing support for the Greek
-% language and script via the \href{http://www.ctan.org/pkg/babel}{Babel}
-% system. See the \href{README.html}{README} file for an overwiew of the
+% language and script via the \pkgref{babel} system.
+% See the \href{README.html}{README} file for an overwiew of the
 % \pkg{babel-greek} package and links to requirements and related packages.
 %
-% The file \file{\filename}%
-%  \footnote{
+% The file \file{\filename}\footnote{
 %   The file described in this section has version number \fileversion\
 %   and was last revised on \filedate.
 %   The original author is Apostolos Syropoulos, code from \file{kdgreek.sty}
@@ -155,212 +128,289 @@
 % is the literate source for the Babel language definition file
 % \file{greek.ldf}.
 %
+% \tableofcontents
+%
 % \section{Requirements}
 %
-% Typesetting Greek with Babel requires (of course) the
-% \href{http://www.ctan.org/pkg/babel}{Babel core}, support for Greek font
-% encodings (\href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc})
+% Typesetting Greek with Babel requires (of course) the \pkgref{babel}
+% package, support for Greek font encodings (\pkgref{greek-fontenc})
 % and a \href{README.html#greek-text-fonts}{text font supporting the
 % Greek script}.
 %
-% The \href{http://www.ctan.org/pkg/cbgreek-complete}{CB Greek fonts}
+% The \href{https://ctan.org/pkg/cbgreek-complete}{CB Greek fonts}
 % created by \textsc{Claudio Beccari}\footnote{Apostolos Syropoulos
 %   wishes to thank Claudio Beccari for his
 %   patience, collaboration, comments and suggestions.}
-% are a complete set of 8-bit TeX fonts matching \textsc{Knuth}'s
+% are a complete set of 8-bit \TeX{} fonts matching \textsc{Knuth}'s
 % Computer Modern.
-% The package \pkg{\href{http://www.ctan.org/pkg/cbfonts-fd}{cbfonts-fd}}
-% sets them up as Greek substitute for the Computer Modern and Latin Modern
-% font families.
-% The \pkg{\href{http://www.ctan.org/pkg/substitutefont}{substitutefont}}
-% package can be used to set up Greek supplements for other
-% font families (like Times or Palatino).
+% The package \pkgref{cbfonts-fd} sets them up as Greek substitute
+% for the Computer Modern and Latin Modern font families.
+% The standard |\DeclareFontFamilySubstitution| macro can be used to set up
+% Greek supplements for other \TeX{} font families (like Times or Palatino).
 %
-% The \href{http://ctan.org/pkg/lm}{Latin Modern} OpenType font that is the
-% default font for XeTeX/LuaTeX does not support the Greek script. The user
-% needs to set up an alternative font like CM Unicode, Linux Libertine or
-% DejaVu with \pkg{\href{http://www.ctan.org/pkg/fontspec}{fontspec}}.
+% Unicode fonts (used with XeTeX or LuaTeX) provide slots for all Unicode
+% characters in one font but commonly only a subset of the actual glyphs.
+% \textbf{Many Unicode fonts, including the default
+% \href{https://ctan.org/pkg/lm}{Latin Modern},
+% do not support the Greek script!}
+% Authors need to set up an alternative font like CM Unicode, Linux Libertine,
+% or DejaVu with \pkgref{fontspec} or the \pkgref{babel} font configuration
+% system.
 %
-% \section{Usage}
+% With 8-bit TeX and XeTeX, hyphenation patterns must be
+% pre-loaded in the format file.
+% This is a limitation by TeX, common to all languages.
+% The LuaTeX engine loads hyphenation patterns dynamically.
 %
-%    To activate Greek support with babel, specify the option
-%    \Lopt{greek}, either as global option or as option to the
-%    \pkg{babel} package. Remember, that the \emph{last} language
-%    option determines the document language, e.g.
-%    \begin{verbatim}
-%    \usepackage[greek,english]{babel}\end{verbatim}
-%    activates support for Greek in an English document.
-%    The default is modern ``monotonic'' Greek, while
-%    \begin{verbatim}
-%      \usepackage[english,greek]{babel}
-%      \languageattribute{greek}{polutoniko}
-%    \end{verbatim}
-%    sets the document language to modern Greek with ``polytonic''
-%    spelling and
-%    \begin{verbatim}
-%      \usepackage[english,greek]{babel}
-%      \languageattribute{greek}{ancient}
-%    \end{verbatim}
-%    sets the document language to ancient Greek.
 %
-%    Both attributes may also be used as modifiers as in
-%    \begin{verbatim}
-%      \usepackage[greek.polutoniko,english]{babel}
-%    \end{verbatim}
-%    and similarly
-%    \begin{verbatim}
-%      \usepackage[greek.ancient,english]{babel}
-%    \end{verbatim}
+% \section{Usage}
 %
-%    By default,
-%    \pkg{babel-greek} activates the modern Greek monotonic hyphenation;
-%    the attribute/modifier |polutoniko| activates the modern Greek
-%    polytonic hyphenation and the attribute/modifier |ancient| activates
-%    the ancient Greek hyphenation.  8-bit TeX and XeTeX require the
-%    hyphenation patterns to be pre-loaded in the format file.
-%    This is a limitation by TeX, common to all languages.
-%    The LuaTeX engine loads hyphenation patterns on demand.
+% To activate Greek language support with babel, specify the option
+% \Lopt{greek}, either as global option or as option to the
+% \pkg{babel} package. Remember, that the \emph{last} language
+% option determines the document language, e.g.
+% \begin{verbatim}
+% \usepackage[greek,english]{babel}\end{verbatim}
+% activates support for Greek text parts in an English document.
 %
-%  \DescribeMacro\selectlanguage
-%  \DescribeMacro\foreignlanguage
+% \DescribeMacro\selectlanguage
 % The Babel core provides two commands to switch the active language:
 % The declaration |\selectlanguage{greek}| switches to the Greek language.
+% \DescribeMacro\foreignlanguage
 % The macro \verb|\foreignlanguage{greek}{<some text>}| sets its second
 % argument in the Greek language. This is intended for short text parts.
-% For details see the \href{http://www.ctan.org/pkg/babel}{Babel}
-% documentation.
+% For details see the \pkgref{babel} documentation.
 %
-%    For backwards compatibility, ``polytonic'' spelling can also be
-%    selected via the dummy language \Lopt{polutonikogreek}. In this
-%    case, the language name \Lopt{polutonikogreek} must also be
-%    used for language switches with |\selectlanguage| or
-%    |\foreignlanguage|.  However, it is not possible to use
-%    both options, \Lopt{greek} and \Lopt{polutonikogreek} in one document.
 %
+% \subsection{Language attributes}
+%
+% The attributes \Lopt{monotoniko}, \Lopt{polutoniko}^^A
+%   \footnote{with the alias \Lopt{polytonic}},
+% and \Lopt{ancient} allow the specification of the used orthography.
+% The language variant affects automatic hyphenation, spelling of
+% auto-generated strings and support for multi-accented letters.
+%
+% The default is modern \emph{monotonic} Greek, while
+% \begin{verbatim}
+%   \usepackage[english,greek]{babel}
+%   \languageattribute{greek}{polutoniko}\end{verbatim}
+% sets the document language to modern Greek with
+% \emph{\href{https://en.wikipedia.org/wiki/Greek_diacritics}{polytonic}}
+% spelling and
+% \begin{verbatim}
+%   \usepackage[english,greek]{babel}
+%   \languageattribute{greek}{ancient}\end{verbatim}
+% sets the document language to \emph{ancient} Greek.
+%
+% Both attributes may also be used as modifiers as in
+% \begin{verbatim}
+%   \usepackage[greek.polutoniko,english]{babel}\end{verbatim}
+% and similarly
+% \begin{verbatim}
+%   \usepackage[greek.ancient,english]{babel}\end{verbatim}
+%
+%
+% \subsection{Modifiers \label{sec:modifiers}}
+%
+% \changes{babel-greek-1.12}{2023/03/04}{
+%   New modifiers \Lopt{local-LGR-fixes} and \Lopt{no-LGR-fixes}.}
+%
+% The following modifiers cannot be set with |\languageattribute|.
+% Misspelled modifiers are ignored without warning!
+% \medskip
+%
+% Some workarounds for the non-standard LGR font encoding may have
+% serious side-effects.
+% The \texttt{local-LGR-fixes} \emph{modifier} restricts the re-definitions
+% in section~\ref{sec:lgr-redefinitions} to text parts using the Greek
+% language.
+% The \texttt{no-LGR-fixes} \emph{modifier} disables them completely.
+% You may try, e.g.,
+%    \begin{verbatim}
+%    \usepackage[greek.local-LGR-fixes,english]{babel}\end{verbatim}
+% as a last ressort if the workarounds make a document uncompilable
+% 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).
+%
+% These modifiers are provisional, naming and behaviour may change.
+%
+% \subsection{Language hooks \label{sec:language-hooks}}
+%
+% \DescribeMacro\extrasgreek
+% The macro |\extrasgreek| is called by \pkgref{babel} on every switch
+% of the active language to Greek.
+% \DescribeMacro\noextrasgreek
+% The macro |\noextrasgreek| is called when switching away from Greek.
+% Package and document authors can add setup and tear-down code
+% to the hooks with the help of the |\addto| command provided by \pkg{babel}.
+% The first call of |\addto\<hookname>{<code>}| initializes the hook,
+% subsequent calls append |<code>| to its definition.
+%
+% \pkg{Babel-greek} uses these hooks to, e.g, select correct hyphenation
+% patterns (cf.\ section~\ref{sec:hyphenation-patterns}) or ensure a font
+% encoding supporting the Greek script is used for Greek text parts
+% (cf.\ section~\ref{sec:font-setup}).
+%
+%
 % \subsection{Input of Greek text}
 %
 % There are several alternatives to write Greek text.
 % \begin{itemize}
-%  \item With the packages \pkg{inputenc} and
-%    \pkg{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}},
-%    literal Greek characters can be input using the utf-8, iso-8859-7,
-%    or macgreek encoding.
+%  \item Literal input using the UTF-8 encoding is the standard input
+%    method. With 8-bit TeX, this requires the package
+%    \pkgref{greek-inputenc}.
 %
-%    Literal input using the utf-8 encoding is also the standard input
-%    method if compiling with the XeTeX and LuaTeX engines.
+%    With the packages \pkgref{inputenc} and \pkgref{greek-inputenc},
+%    literal Greek characters can also be input using the legacy encodings
+%    \emph{iso-8859-7} and \emph{macgreek}.
 %
 %  \item The Latin transliteration defined by the LGR font encoding
 %    is explained in the file \file{\href{usage.pdf}{usage.pdf}}.
 %
-%   \item The package
-%    \pkg{\href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc}}
+%   \item The package \pkgref{greek-fontenc}
 %    defines \emph{LaTeX internal character representation} (LICR) macros
-%    for Greek letters and text symbols. It is required by \pkg{babel-greek},
-%    so the |\textAlpha| \ldots |\textomega|
-%    macros are a safe but cumbersome method to input Greek characters.
+%    for Greek letters and text symbols. It is required by \pkg{babel-greek}.
+%    The LICR macros |\textAlpha| \ldots |\textomega|
+%    are a safe but cumbersome method to input Greek characters.
 %
-%  \item The \pkg{alphabeta} package bundled with
-%    \href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc} makes the
-%    short macro names |\Alpha| \ldots |\omega| available in text mode, too.
+%  \item The \pkg{alphabeta} package, bundled with \pkgref{greek-fontenc},
+%    makes the short macro names |\Alpha| \ldots |\omega| available
+%    in both, text and math mode.
 % \end{itemize}
-% The \href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc} bundle
-% has details and examples for all these input methods.
 %
 % \subsection{Greek vs. Latin script}
 %    When switching the language to Greek, \pkg{babel-greek} ensures that the
 %    Greek script is supported.
-%    With 8-bit LaTeX, Greek text fonts use a non-standard
-%    font encoding\footnote{LaTeX font encodings are described in
-%    the \emph{LaTeX font guide} (fntguide.pdf).}
-%    (LGR) that misses Latin letters. Latin characters in the source are
-%    instead interpreted as a transcription for Greek characters.
-%    The following macros allow the use of Greek vs. Latin script without
-%    changing the active language.
+%    The following macros allow the use of Greek vs.\ Latin script without
+%    changing the active language:
+%
 %  \DescribeMacro\greekscript
-%  \DescribeMacro\greektext
 %    The \emph{TextCommand}\footnote{For a discussion of TextCommands, see
-%    the \emph{LaTeX font guide} (fntguide.pdf), too.}
+%    the \emph{LaTeX font guide}, too.}
 %    |\greekscript| switches to a font encoding
 %    supporting the Greek script.
+%  \DescribeMacro\greektext
 %    The declaration |\greektext| always switches the font encoding
 %    to LGR. Both declarations do not change the active language.
+%
 %  \DescribeMacro\latintext
-%    |\latintext| (defined by the Babel
-%    core) can be used to switch back to an encoding supporting the Latin
-%    script (deprecated since Babel 3.9i from March 2014).
+%    |\latintext| (defined by the Babel core, deprecated since March 2014)
+%    can be used to switch back to an encoding supporting the Latin script.
 %
 %  \DescribeMacro\ensuregreek
-%  \DescribeMacro\textgreek
-%    The macros |\ensuregreek| and |\textgreek| take one argument
-%    which is typeset using a font encoding supporting the Greek
-%    script. While |\ensuregreek| only switches the
-%    font encoding if required, |\textgreek| always uses the LGR font
-%    encoding.
-%  \DescribeMacro\textlatin
-%    The Babel core defines a corresponding |\textlatin| macro
-%    (deprecated in favour of |\ensureascii| in Babel 3.9i from March 2014).
+%    The function |\ensuregreek| takes one argument which
+%    is typeset using a font encoding supporting the Greek script.
+%    It only switches the font encoding if required (i.e. if the current
+%    font encoding does not support Greek letters and symbols).
 %
-%  \section{Greek numbering}
+%  \DescribeMacro\lgrfont
+%    The function |\lgrfont|^^A
+%      \footnote{The legacy name \cs{textgreek} is available as alias.}
+%    switches to the non-standard Greek 8-bit font encoding LGR.
+%    Hint: Use |\lgrfont|, if you want to use the
+%    \emph{Latin transliteration} input method and |\ensuregreek| else.
 %
-%    The Greek alphabetical numbering system, like the Roman one, is
-%    still used in everyday life for short enumerations. Unfortunately
-%    most Greeks don't know how to write Greek numbers bigger than 20 or
-%    30. Nevertheless, in official editions of the last century and
-%    beginning of this century this numbering system was also used  for
-%    dates and numbers in the range of several thousands. Nowadays
-%    this numbering system is primary used by the Eastern Orthodox
-%    Church and by certain scholars. It is hence necessary to be able
-%    to typeset any Greek numeral up to \hbox{999\,999}. Here are the
-%    conventions:
+%  \DescribeMacro\ensureascii
+%    The Babel core defines |\ensureascii| that typesets its
+%    argument using an ASCII-compatible ``standard text font encoding''.
+%    It is the recommended way for text parts requiring Latin letters
+%    but no language switch.
+%
+%
+% \subsection{Greek numbering \label{sec:greek-numbering}}
+%    The \href{https://en.wikipedia.org/wiki/Greek_numerals}
+%    {Greek (Milesian) alphabetical numbering system}\footnote{
+%      Attic numerals, which predate the Milesian numerals
+%      are implemented in package |athnum|.}
+%    is still used in everyday life for short enumerations.
+%    It was used for dates and numbers in the range of several thousands
+%    in official editions up to the beginning of the 20th century and
+%    is still used by the Eastern Orthodox Church and certain scholars.
+%    Unfortunately, most Greeks don't know how to write Greek numbers
+%    bigger than 20 or 30.
+%
+%  \DescribeMacro{\greeknumeral}
+%    The command |\greeknumeral| makes it possible to typeset Greek
+%    numerals for numbers up to \hbox{999\,999}.
+%  \DescribeMacro{\Greeknumeral}
+%    |\Greeknumeral| is the ``uppercase'' version of this macro.
+%    Here are the conventions:
 %    \begin{itemize}
 %    \item There is no Greek numeral for any number less than or equal
 %      to $0$.
-%    \item Numbers from $1$ to $9$ are denoted by letters alpha, beta,
-%      gamma,  delta, epsilon, stigma, zeta, eta, theta, followed by a
-%      mark similar to the mathematical symbol ``prime''. (Nowadays
-%      instead of letter stigma the digraph sigma tau is used for number
-%      $6$. Mainly because the letter stigma is not always available, so
-%      people opt to write down the first two letters of its name as an
-%      alternative. In our implementation we produce the letter stigma,
-%      not the digraph sigma tau.)
-%    \item Decades from $10$ to $90$ are denoted by letters iota,
-%      kappa, lambda, mu, nu, xi, omikron, pi, qoppa, again followed by
-%      the numeric mark. The qoppa used for this purpose has a special
-%      zig-zag form, which doesn't resemble at all the original
-%      `q'-like qoppa.
-%    \item Hundreds from $100$ to $900$ are denoted by letters rho,
-%      sigma, tau, upsilon, phi, chi, psi, omega, sampi, followed by the
+%    \item Numbers from $1$ to $9$ are denoted by letters
+%      \emph{alpha}, \emph{beta}, \emph{gamma}, \emph{delta}, \emph{epsilon},
+%      \emph{stigma}\footnote{
+%        cf.\ \hyperref[greeknumeralsix]{\cs{greeknumeralsix}}},
+%      \emph{zeta}, \emph{eta}, \emph{theta}, followed by a \emph{keraia},
+%      a mark similar to the mathematical symbol ``prime''.
+%    \item Decades from $10$ to $90$ are denoted by letters \emph{iota},
+%      \emph{kappa}, \emph{lambda}, \emph{mu}, \emph{nu}, \emph{xi},
+%      \emph{omikron}, \emph{pi}, \emph{koppa}\footnote{
+%        cf.\ \hyperref[greeknumeralninety]{\cs{greeknumeralninety}}},
+%      again followed by the numeric mark.
+%    \item Hundreds from $100$ to $900$ are denoted by letters \emph{rho},
+%      \emph{sigma}, \emph{tau}, \emph{upsilon}, \emph{phi}, \emph{chi},
+%      \emph{psi}, \emph{omega}, \emph{sampi}, followed by the
 %      numeric mark.
 %    \item Any number between $1$ and $999$ is obtained by a group of
 %      letters denoting the hundreds decades and units, followed by a
 %      numeric mark.
 %    \item To denote thousands one uses the same method, but this time
-%      the mark is placed in front of the letter, and under the baseline
-%      (it is inverted by 180 degrees). When a group of letters denoting
-%      thousands is followed by a group of letters denoting a number
-%      under $1000$, then both marks are used.
+%      the mark is an \emph{aristeri keraia}, a prime inverted by 180 degrees
+%      and placed in front of the letter, under the baseline.
+%      When a group of letters denoting thousands is followed by a group of
+%      letters denoting a number under $1000$, both marks are used.
 %    \end{itemize}
+%    The shape of the obsolete characters used for number 6
+%    (\emph{digamma}/\emph{stigma}) and 90 (\emph{koppa}) evolved over time
+%    and different characters are in use for them today.
+%    The following four macros can be re-defined to configure
+%    |\greeknumeral| and |\Greeknumeral| respectively:
 %
-%    Using these conventions one obtains numbers up to \hbox{999\,999}.
-%  \DescribeMacro{\greeknumeral}
-%    The command |\greeknumeral| makes it possible to typeset Greek
-%    numerals. There is also an
-%  \DescribeMacro{\Greeknumeral}
-%    ``uppercase'' version of this macro: |\Greeknumeral|.
+%  \DescribeMacro\greeknumeralsix
+%    \phantomsection\label{greeknumeralsix}
+%    Originally, the sixth letter of the alphabet, standing for 6, was the
+%    \emph{digamma} -- just as its Latin equivalent F is the sixth letter of
+%    the Latin alphabet.
+%    As Greek script turned to uncial and then lowercase, digamma changed its
+%    shape – it became similar to the ligature for sigma-tau (\emph{stigma}).
+%    People started using the stigma or the digraph sigma tau\footnote{
+%      Mainly because the letter stigma is not always available, so people
+%      opted to write down the first two letters of its name instead.}.
+%    The macro |\greeknumeralsix| allows configuring the symbol for the
+%    number 6 in |\greeknumeral|,
+%  \DescribeMacro\greeknumeralSix
+%    the macro |\greeknumeralSix| does the same for |\Greeknumeral|.
+%    The default values are |\textstigma| and |\textStigma|.
 %
-%    Another system which was in wide use only in Athens, could
-%    express any positive number. This system is implemented in
-%    package |athnum|.
+%  \DescribeMacro\greeknumeralninety
+%    \phantomsection\label{greeknumeralninety}
+%    Three symbols are in use for the number 90:
+%    Classicists prefer the q-like ``archaic'' \emph{koppa}
+%    and, more rarely, its uncial form\footnote{
+%    resembling CYRILLIC LETTER KOPPA or GOTHIC LETTER NINETY},
+%    modern Greek uses the zig-zag shaped ``modern'' \emph{koppa}
+%    exclusively. The macro |\greeknumeralninety| allows configuring
+%    the symbol for the number 90 in |\greeknumeral|,
+%  \DescribeMacro\greeknumeralNinety
+%    the macro |\greeknumeralNinety| does the same for |\Greeknumeral|.
+%    The default values are |\textkoppa| and |\textKoppa| for modern Greek
+%    and |\textqoppa| and |\textqoppa| for ancient Greek.
 %
+%    There is no such variation in the shape of the \emph{sampi}
+%    used for the number 900.
+%
 % \StopEventually{}
 %
-%  \section{Implementation}
 %
+% \section{Implementation}
 %    The macro |\LdfInit| takes care of preventing that this file is
 %    loaded more than once, checking the category code of the
 %    \texttt{@} sign, etc.
-% \changes{greek-1.0b}{1996/11/02}{Now use \cs{LdfInit} to perform
-%    initial checks}
+% \changes{greek-1.0b}{1996/11/02}{
+%          Use \cs{LdfInit} to perform initial checks.}
 %    \begin{macrocode}
 %<*code>
 \LdfInit\CurrentOption{captions\CurrentOption}
@@ -371,134 +421,221 @@
 \gdef\CurrentOption{greek}
 %    \end{macrocode}
 %
-%    Hyphenation patterns:
+%
+% \subsection{Hyphenation patterns \label{sec:hyphenation-patterns}}
+%
 %    When this file is read as an option, i.e. by the |\usepackage|
 %    command, \texttt{greek} could be an `unknown' language in
 %    which case we have to make it known.  So we check for the
 %    existence of the three variants of the Greek language
-%    |\l at greek|, |\l at monogreek|, and |l at ancientgreek| to see whether
-%    we have to do something here.
-% \changes{greek-1.9}{2014/07/20}{Support all 3 language (hyphenation)
-%                                 variants.}
+%    |\l at greek|, |\l at monogreek|, and |l at ancientgreek|
+%    and set the hyphenation to |\language0| for the missing ones.
+% \changes{babel-greek-1.09}{2014/07/20}{
+%   Load correct hyphenation patterns (patch by Claudio Beccari).}
+% \changes{babel-greek-1.09c}{2014/10/21}{
+%   Fix dummy hyphenation language names (patch Ulrike Fischer).}
 %    \begin{macrocode}
 \ifx\l at greek\@undefined
   \@nopatterns{greek}
-  \adddialect\l at greek 0\fi
+  \adddialect\l at greek 0
+\fi
 \ifx\l at monogreek\@undefined
-  \adddialect\l at monogreek 0\fi
+  \@nopatterns{greek}
+  \adddialect\l at monogreek 0
+\fi
 \ifx\l at ancientgreek\@undefined
-  \adddialect\l at ancientgreek 0\fi
+  \@nopatterns{greek}
+  \adddialect\l at ancientgreek 0
+\fi
 \newcount\bbl at monogreek \bbl at monogreek=\l at monogreek
 \newcount\bbl at polygreek \bbl at polygreek=\l at greek
-\newcount\bbl at ancientgreek  \bbl at ancientgreek=\l at ancientgreek
+\newcount\bbl at ancientgreek \bbl at ancientgreek=\l at ancientgreek
 %    \end{macrocode}
-% The |\extrasgreek| macro is called when switching the language to Greek.
-% We collect code for polytonic and ancient greek in the macros
-% |extraspolutonikogreek| and |extrasancientgreek| and add it later to
-% |extrasgreek|.
+% Use the \emph{language hooks} (cf.\ section~\ref{sec:language-hooks})
+% to set the correct hyphenation patterns.
+% (We collect setup code for the language variants \Lopt{polutoniko} and
+% \Lopt{ancient} in |\extraspolutonikogreek| and |\extrasancientgreek|;
+% \DescribeMacro\extraspolutonikogreek
+% their content is added to |\extrasgreek| by the respective language
+% attributes, cf.\ section~\ref{sec:language-variants}).
+% \DescribeMacro\extrasancientgreek
+% ^^A TODO: Move the |\let\l at greek=...| definitions to the language
+% ^^A attribute functions (as we only have one language variant per document)
+% ^^A or use the hooks to allow more than one language variant?
+% \changes{greek-1.5a}{2013/06/27}{provide ``extraspolutonikogreek'' also
+%    for Xe/LuaTeX.}
 %    \begin{macrocode}
-\addto\extrasgreek{\let\l at greek\bbl at monogreek\relax}
+\addto\extrasgreek{\let\l at greek=\bbl at monogreek}
 \addto\extraspolutonikogreek{\l at greek=\bbl at polygreek}
 \addto\extrasancientgreek{\l at greek=\bbl at ancientgreek}
 %    \end{macrocode}
 %
-%    Now we declare the |polutoniko| language attribute.
+% \begin{macro}{\providehyphenmins}
+% \changes{greek-1.3h}{2000/09/22}{Now use \cs{providehyphenmins} to
+%                                  provide a default value}
+%   The macro |\providehyphenmins| is used to set the correct values of
+%   the hyphenation parameters |\lefthyphenmin| and |\righthyphenmin|.
+%   Yannis Haralambous has suggested the value 1.
 %    \begin{macrocode}
-\bbl at declare@ttribute{greek}{polutoniko}{%
+\providehyphenmins{\CurrentOption}{\@ne\@ne}
 %    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Language variants \label{sec:language-variants}}
+%
+% The Babel core provides the command |\bbl at declare@ttribute| for the
+% declaration of language attributes in language definition files.
+% It takes three arguments:
+% the name of the language, the attribute to be defined,
+% and the code to be executed when the attribute is to be used.
+% If the language attribute is selected, the third argument is executed
+% after reading the *.ldf file.
+%
+% \subsubsection{\Lopt{polutoniko}}
+%    The |polutoniko| language attribute selects the ``polytonic'' spelling.
 %    This code adds the expansion of |\extraspolutonikogreek| to
-%    |\extrasgreek| and changes the definition of |\today| for Greek
-%    to produce polytonic month names (by re-defining |\gr at month|).
+%    |\extrasgreek|  to set up support for multi-accented characters
+%    and hyphenation patterns for the polytonic orthography.
 %    \begin{macrocode}
+\bbl at declare@ttribute{greek}{polutoniko}{%
   \expandafter\addto\expandafter\extrasgreek
     \expandafter{\extraspolutonikogreek}%
+%    \end{macrocode}
+%    It also uses polytonic spelling for auto-strings
+%    (captions and month names).
+%    \begin{macrocode}
   \let\captionsgreek\captionspolutonikogreek
-  \let\gr at month\gr at c@month
+  \let\gr at month\gr at polutoniko@month
 %    \end{macrocode}
-%    We need to take some extra precautions in order not to break
-%    older documents which still use the old \Lopt{polutonikogreek}
-%    pseuso-language option: language switching commands like
-%    |\selectlanguage{polutonikogreek}|, call the
-%    |extraspolutonikogreek| macro, set the language to |\l at polutonikogreek|
-%    and use |\datepolutonikogreek| for |\today|. We define aliases:
-% \changes{greek-1.3f}{1999/09/29}{Added some code to make older
-%    documents work}
-% \changes{greek-1.3g}{2000/02/04}{\cs{noextraspolutonikogreek} was
-%    missing}
+%
+%    For backwards compatibility, ``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.
+%    We also define aliases to allow language switching commands using
+%    the language name |polutonikogreek|:
+% \changes{greek-1.3f}{1999/09/29}{
+%          Added some code to make older documents work.}
+% \changes{greek-1.3g}{2000/02/04}{\cs{noextraspolutonikogreek} was missing.}
 %    \begin{macrocode}
   \let\l at polutonikogreek\l at greek
   \let\datepolutonikogreek\dategreek
   \let\extraspolutonikogreek\extrasgreek
   \let\noextraspolutonikogreek\noextrasgreek
-  }
+}
 %    \end{macrocode}
-%    The |ancient| language attribute is used for classical Greek.
-% \changes{greek-1.9}{2014/07/20}{Add support for ancient Greek.}
+%
+% \subsubsection{\Lopt{polytonic}}
+%
+% \changes{babel-greek-1.12}{2023/03/04}{
+%   New language attribute \Lopt{polytonic} (alias for \Lopt{polutoniko}).}
+%
+% The |polytonic| language attribute is an alias for the
+% attribute |polutoniko| matching the spelling for this orthography
+% variant in \pkg{polyglossia} and Babel |*.ini| files.
 %    \begin{macrocode}
-\bbl at declare@ttribute{greek}{ancient}{%
+\bbl at declare@ttribute{greek}{polytonic}{%
+  \expandafter\addto\expandafter\extrasgreek
+    \expandafter{\extraspolutonikogreek}%
+  \let\captionsgreek\captionspolutonikogreek
+  \let\gr at month\gr at polutoniko@month
+}
 %    \end{macrocode}
-%    This attribute adds the expansion of |\extraspolutonikogreek| and
-%    |\extrasancientgreek| to |\extrasgreek| to set up support for
-%    multi-accented characters and ancient hyphenation patterns.
-%    Auto-strings (captions) are specific to ancient Greek while |\today|
-%    uses modern polytonic month names (as there existed incompatible
-%    sets of month names and no common calendar in ancient Greece.
+%
+% \subsubsection{\Lopt{ancient}}
+%
+% \changes{babel-greek-1.09}{2014/07/20}{Add support for ancient Greek.}
+%
+% The \Lopt{ancient} language attribute is used for classical Greek.
+% This attribute adds the expansion of |\extraspolutonikogreek| and
+% |\extrasancientgreek| to |\extrasgreek| to set up support for
+% multi-accented characters and ancient hyphenation patterns.
 %    \begin{macrocode}
+\bbl at declare@ttribute{greek}{ancient}{%
   \expandafter\addto\expandafter\extrasgreek
     \expandafter{\extraspolutonikogreek}% multi-accented letters
   \expandafter\addto\expandafter\extrasgreek
     \expandafter{\extrasancientgreek}%
+%    \end{macrocode}
+%    Auto-strings (captions) are specific to ancient Greek while |\today|
+%    uses modern polytonic month names (as there existed incompatible
+%    sets of month names and no common calendar in ancient Greece).
+%    \begin{macrocode}
   \let\captionsgreek\captionsancientgreek
-  \let\gr at month\gr at c@month % (modern) polytonic month names
-  }
+  \let\gr at month\gr at polutoniko@month % (modern) polytonic month names
 %    \end{macrocode}
+%    Classicists tend to use the Q-like ``archaic'' koppa for the number 90.
+%    Thus, for classical Greek, we set the default to the  ``archaic'' koppa
+%    (cf.\ section~\ref{sec:greek-numbering}).
+%    \begin{macrocode}
+  \renewcommand{\greeknumeralninety}{\textqoppa}%
+  \renewcommand{\greeknumeralNinety}{\textQoppa}%
+}
+%    \end{macrocode}
 %
-% \section{Font setup}
 %
-% Typesetting Greek texts requires a font with Greek characters:
+% \subsection{Font setup \label{sec:font-setup}}
 %
-% For 8-bit LaTeX, this package uses fonts with the
-% \href{http://www.ctan.org/pkg/greek-fontenc}{LGR font encoding}.
-% With the XeTeX or LuaTeX engines and Unicode fonts, the user must ensure
-% that the selected font contains the required glyphs.
-% LGR-encoded fonts can also be used alongside Unicode fonts with XeTeX/LuaTeX
-% to enable the input of Greek letters via the Latin transcription provided by
-% this font encoding.
+% \subsubsection{Greek font encoding \label{sec:greekfontencoding}}
 %
-% \changes{greek-1.2a}{1997/10/31}{filename \file{lgrenc.def} now
-%    lowercase}
-% \changes{greek-1.4}{2013/05/17}{\file{lgrenc.def} moved to the
-%    separate package `greek-fontenc'}
+% \changes{babel-greek-1.08}{2013/11/27}{
+%          Load \file{euenc.def} if EU1 or EU2 font encoding is detected.}
+% \changes{greek-1.2a}{1997/10/31}{filename \file{lgrenc.def} now lowercase}
+% \changes{greek-1.4}{2013/05/17}{
+%          \file{lgrenc.def} moved to the separate package `greek-fontenc'}
 % \changes{greek-1.5}{2013/06/21}{LGR setup skipped with XeTeX/LuaTeX}
 % \changes{greek-1.7}{2013/09/09}{Do not load euenc.def with XeTeX/LuaTeX
-%    (too complicated to get it right).}
-% \changes{greek-1.8}{2013/11/30}{Check for EU1/EU2 font encoding
-%    instead of engine}
-% \changes{babel-greek-1.9f}{2016/02/04}{Check also for TU font encoding.}
-% \changes{babel-greek-1.9i}{2020/02/27}{Update check for Unicode fonts.}
+%                     (too complicated to get it right).}
+% \changes{babel-greek-1.08}{2013/11/30}{
+%          Check for EU1/EU2 font encoding instead of engine}
+% \changes{babel-greek-1.09f}{2016/02/04}{Check also for standard
+%          Unicode text encoding ``TU'' (new in fontspec v2.5a).}
+% \changes{babel-greek-1.09i}{2020/02/27}{Update check for Unicode fonts.}
 % \changes{babel-greek-1.10}{2020/11/10}{Use TU with Xe/LuaTeX.}
+% \begin{macro}{\greekfontencoding}
+%   The macro |\greekfontencoding| holds the name of the font
+%   encoding\footnote{cf.\
+%     \href{https://mirrors.ctan.org/macros/latex/base/encguide.pdf}
+%     {encguide.pdf}}
+%   used to ensure support of the Greek script.
+%   The default is LGR for 8-bit TeX and TU for Xe/LuaTeX.\footnote{
+%     Document authors must ensure that the selected font actually contains
+%     the required glyphs.
 %
-% \DescribeMacro\greekfontencoding
-% We test for available font encodings and set |\greekfontencoding|
-% and the internal macro |\bbl at greek@fontencdef| with the name of the
-% font definition file with Greek LICR macros.
-% The default is LGR for 8-bit TeX engines and TU for Xe/LuaTeX.
-% (TODO: The font encoding definition file was renamed to tuenc-greek.def
-%  in \emph{greek-fontenc} 0.14 (2020-02-28).)
+%     LGR-encoded fonts can be used alongside Unicode fonts with
+%     XeTeX/LuaTeX to enable the input of Greek letters via the Latin
+%     transliteration (with some limitations, see \file{test-greek.tex}).}
+%   It can be overridden defining |\greekfontencoding| with a custom value
+%   before loading \pkg{babel}.
+%
+% Also store the name of the \emph{encoding definition file}\footnote{
+%   see \href{https://www.latex-project.org/help/documentation/fntguide.pdf}
+%   {fntguide.pdf}}
+% with the extended Greek setup for the Greek font encoding.
 %    \begin{macrocode}
-\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
+\ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
   \providecommand*{\greekfontencoding}{\UnicodeEncodingName}
   \providecommand*{\bbl at greek@fontencdef}{tuenc-greek}
 \else
   \providecommand*{\greekfontencoding}{LGR}
   \providecommand*{\bbl at greek@fontencdef}{lgrenc}
+  % TODO the more generic version fails :(
+  % \edef\bbl at greek@fontencdef{\lowercase{\greekfontencoding}enc}
 \fi
 %    \end{macrocode}
-% Ensure that the Greek LICR macros are available:
+% \end{macro}
+%
+% \subsubsection{Ensure loading of Greek font encoding definitions.
+%                \label{load-greek-font-encoding-definitions}}
+%
+% If the \emph{encoding definition file} for |\greekfontencoding| is not yet
+% loaded, do this now:
 %    \begin{macrocode}
 \@ifl at aded{def}{\bbl at greek@fontencdef}{}
 {% else
-  \InputIfFileExists{\bbl at greek@fontencdef .def}{}{% else
+  \InputIfFileExists{\bbl at greek@fontencdef .def}{}
+  {% else
     \bbl at error{Font support for the Greek script missing.\\
                babel-greek can't typeset Greek.\\
                Install the "greek-fontenc" package\\
@@ -509,111 +646,117 @@
   }
 }
 %    \end{macrocode}
+% If the PU font encoding is defined (by \pkgref{hyperref}), load extended
+% Greek support for it. Do this in the |\AtBeginDocument| hook because
+% documents may load \pkg{hyperref} after \pkg{babel}.
+% We cannot rely on |@| being a letter when the hook is called and we must
+% not use |\makeatother| in the hook
+% (\href{https://tex.stackexchange.com/questions/62583/is-it-really-bad-to-use-makeatletter-and-makeatother-in-a-package-or-class-fil}
+% {explanation at stackexchange}).
+% We use a temporary function to save and restore the previous catcode.
+% \changes{babel-greek-1.10}{2020/11/10}{Load \file{puenc-greek.def}
+%          from \pkg{greek-fontenc} if used with hyperref.}
+% \changes{babel-greek-1.12}{2023/03/04}{
+%          Don't use \cs{makeatother} in \cs{AtBeginDocument}.}
+%    \begin{macrocode}
+\AtBeginDocument{%
+  \@ifl at aded{def}{puenc}%
+    {\@ifl at aded{def}{puenc-greek}
+       {}%
+       {\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}%
+        \makeatletter
+        \InputIfFileExists{puenc-greek.def}%
+          {}%
+          {\bbl at warning{I cannot find the "puenc" Greek fixes
+                        from "greek-fontenc".}%
+          }%
+        \RestoreAtCatcode
+       }%
+    }% end "puenc.def loaded" branch
+    {}% empty "puenc.def not loaded" branch
+}
+%    \end{macrocode}
+%
+% \subsubsection{Font encoding switches \label{sec:font-encoding-switches}}
 % \begin{macro}{\greekscript}
-%   The TextCommand |\greekscript| is a declaration that switches the font
-%   encoding to |\greekfontencoding| if the current font encoding does not
-%   provide a (typically empty) local variant.
-% \changes{greek-1.8.1}{2013/12/03}{Set `encodingdefault' in `greekscript'
-%   to fix Greek in titles, footnotes, etc. with document language Greek.}
+%   The TextCommand\footnote{See
+%      \href{https://www.latex-project.org/help/documentation/fntguide.pdf}
+%      {fntguide.pdf} for more info about \emph{TextCommands}.}
+%   |\greekscript| is a declaration that switches the font
+%   encoding to |\greekfontencoding|.
+%   The extended Greek font encoding definitions from \pkgref{greek-fontenc}
+%   define empty local variants for TU, LGR, and PU, so that the declaration
+%   does nothing if the active font encoding supports the Greek script.
+% \changes{babel-greek-1.08}{2013/11/27}{
+%    New TextCommands ``greekscript'' and ``ensuregreek''.}
+% \changes{babel-greek-1.08a}{2013/12/03}{Set `encodingdefault'
+%   to fix Greek in footnotes etc. with document language Greek.}
 %    \begin{macrocode}
 \ProvideTextCommandDefault{\greekscript}{%
   \fontencoding{\greekfontencoding}\selectfont
-      \def\encodingdefault{\greekfontencoding}}
+  \def\encodingdefault{\greekfontencoding}}
 %    \end{macrocode}
 % \end{macro}
 % \begin{macro}{\ensuregreek}
-%   The TextCommand |\ensuregreek| sets it argument in |\greekfontencoding|
+%   The TextCommand |\ensuregreek| sets its argument in |\greekfontencoding|
 %   if the current font encoding does not provide a (typically empty) local
 %   variant.
 %    \begin{macrocode}
 \ProvideTextCommandDefault{\ensuregreek}[1]{%
-  \leavevmode{\greekscript #1}}
+  \leavevmode {\greekscript #1}}
 %    \end{macrocode}
 % \end{macro}
-%
-% The package hyperref defines the PU font encoding which supports
-% monotonic Greek. Load support for polytonic greek, archaic symbols,
-% and the |\greekscript| and |\ensuregreek| TextCommands:
-% \begin{macrocode}
-\AtBeginDocument{
-  \@ifl at aded{def}{puenc}{
-    \makeatletter % required inside \AtBeginDocument
-    \InputIfFileExists{puenc-greek.def}{}{% else
-      \bbl at warning{I can't find the file puenc-greek.def from "greek-fontenc".}
-    }
-    \makeatother
-  }{}
+% \begin{macro}{\BabelGreekRestoreFontEncoding}
+%   The declaration |\BabelGreekRestoreFontEncoding| changes the font encoding
+%   to the value it had before the switch to the Greek language. It does
+%   nothing, if the language switch did not trigger a font encoding switch.
+% \changes{babel-greek-1.12}{2023/03/04}{New macro.}
+%    \begin{macrocode}
+\def\BabelGreekRestoreFontEncoding{%
+  \ifx\cf at encoding\BabelGreekPreviousFontEncoding
+  \else
+    \let\encodingdefault\BabelGreekPreviousFontEncoding
+    \fontencoding{\encodingdefault}\selectfont
+  \fi
 }
-% \end{macrocode}
-%
-% \subsection{Fixes for the LGR font encoding}
-%
+%    \end{macrocode}
+% \end{macro}
+% Add font encoding switches to the language hooks
+% (cf.\ section~\ref{sec:language-hooks}) to ensure a font encoding
+% supporting the Greek script is used in Greek text parts:
+% \changes{greek-1.5}{2013/06/21}{LGR not used with XeTeX/LuaTeX.}
+% \changes{babel-greek-1.08}{2013/11/27}{
+%          Use EU1 or EU2 for Latin script if available}
+% \changes{babel-greek-1.11}{2020/11/20}{Save/restore previous font encoding
+%          instead of switching to \cs{latinencoding} when leaving Greek.}
+% \changes{babel-greek-1.12}{2023/03/04}{Save previous font encoding
+%          in \cs{BabelGreekPreviousFontEncoding}.}
 %    \begin{macrocode}
-\@ifl at aded{def}{lgrenc}{%
+\addto\extrasgreek{%
+  \let\BabelGreekPreviousFontEncoding\cf at encoding
+  \greekscript}
+\addto\noextrasgreek{\BabelGreekRestoreFontEncoding}
 %    \end{macrocode}
 %
-% We redefine a few commands in the LGR encoding to work around problems
-% because LGR is no \emph{standard text encoding} but has Greek letters in
-% the places of Latin ones.
-% The ampersand must work in text and math mode. We provide the text
-% command |\textampersand| and re-define |\&| to use it in text mode.
-% \changes{greekfdd-2.2c}{1999/04/05}{Fixed typos, \cs{textrademark}
-%    misses a `t', \cs{copyright} should be \cs{textcopyright}}
-% \changes{greekfdd-2.2d}{1999/04/25}{removed redefinition of \cs{\&}}
-% \changes{greek-1.4}{2013/05/17}{moved here from \file{lgrenc.def} because
-%    the definitions require the \texttt{\textbackslash latintext} macro
-%    defined by Babel.}
-% \changes{greek-1.5}{2013/05/27}{enable use of "textcomp" characters
-%    for "textcopyright" and "textregistered" macros}
-% \changes{greek-1.5}{2013/06/15}{\textbackslash & made TextCommand}
-% \changes{babel-greek-1.9j}{2020/03/17}{Fix ampersand in math.}
+% \subsubsection{Additional commands for the LGR font encoding}
 %
-%    \begin{macrocode}
-  \ProvideTextCommand{\textcopyright}{LGR}{\ensureascii{\textcopyright}}
-  \ProvideTextCommand{\textregistered}{LGR}{\ensureascii{\textregistered}}
-  \ProvideTextCommand{\texttrademark}{LGR}{\ensureascii{\texttrademark}}
-  \let\ltx at amp\&
-  \ProvideTextCommandDefault{\textampersand}{\ltx at amp}
-  \ProvideTextCommand{\textampersand}{LGR}{\ensureascii{\ltx at amp}}
-  \DeclareRobustCommand{\&}{\ifmmode\ltx at amp\else\textampersand\fi}
-  \ProvideTextCommand{\SS}{LGR}{\ensureascii{\SS}}
-%    \end{macrocode}
+% The actions in this section add ``harmless'' setup steps for the LGR
+% font encoding that cannot be done in the \file{lgrenc.def}
+% encoding definition file.
 %
-%  \begin{macro}{\greek at roman}
-%  \begin{macro}{\greek at Roman}
-% \changes{greek-1.2e}{1999/04/16}{Moved redefinition of \cs{@roman}
-%    back to the language specific file}
-% \changes{greek-1.3d}{1999/08/27}{\cs{@roman} and \cs{@Roman} need to
-%    be added to \cs{extraspolutonikogreek}}
-% \changes{greek-1.3e}{1999/09/24}{\cs{@roman} and \cs{@Roman} need
-%    \emph{not} be in \cs{extraspolutonikogreek} when they are already
-%    in \cs{extrasgreek}}
-% \changes{greek-1.5}{2013/06/15}{\cs{@roman} and \cs{@Roman} as TextCommands
-%    (BUG: this extended the expansion problem to all languages!)}
-% \changes{greek-1.6}{2013/07/19}{apply a patch by Enrico Gregorio.
-%    Thanks to Claudio Beccari for testing and reporting.}
-%
-%    To prevent roman numerals being typeset in greek letters we need
-%    to adopt the internal \LaTeX\ commands |\@roman| and
-%    |\@Roman|. \emph{Up to version 1.5, the definition caused errors where
-%    |\@roman| ends up in a situation where the argument needs to be expanded
-%    (e.g. Roman page numbers in the ToC).}
+% We do this only, if the LGR font encoding is defined (either by \pkg{fontenc}
+% or \pkg{babel-greek}), but also if it is not the |\greekfontencoding|:
 %    \begin{macrocode}
-  \def\@roman#1{\expandafter\ensureascii\expandafter{\romannumeral#1}}
-  \def\@Roman#1{\expandafter\ensureascii\expandafter{%
-                \expandafter\@slowromancap\romannumeral#1@}}
+\@ifl at aded{def}{lgrenc}{%
 %    \end{macrocode}
-%  \end{macro}
-%  \end{macro}
 %
-%    Now we define two commands that switch
-%    to the LGR font encoding. The Babel core defines corresponding commands
-%    to switch to a Latin font encoding.
-%
 %  \begin{macro}{\greektext}
-%    The declaration |\greektext| switches to LGR.
-%    For shorter pieces of text the |\textgreek| macro should be
-%    used.
+%    The declaration |\greektext| switches to LGR. Use this if you explicitly
+%    require LGR (e.g. to use the Latin transliteration or special fonts).
+%    Use |\greekscript| instead, if you want to avoid a font encoding change
+%    if the current font encoding already supports the Greek script (e.g. TU).
+%    For shorter pieces of text, the |\lgrfont| (see below) or |\ensuregreek|
+%    commands should be used. Cf.\ section~\ref{sec:font-encoding-switches}.
 %    \begin{macrocode}
   \DeclareRobustCommand{\greektext}{%
     \fontencoding{LGR}\selectfont
@@ -621,51 +764,182 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-%  \begin{macro}{\textgreek}
-%    This command takes an argument which is then typeset using the
-%    LGR font encoding. In order to avoid many encoding switches
-%    it operates in a local scope.
+%  \begin{macro}{\lgrfont}
+%    This command takes an argument which is typeset using the
+%    LGR font encoding.
+%
+%    The original name |\textgreek| is deprecated because of its ambiguitiy:
+%    The command does not change the text \emph{language} but only the
+%    font encoding, which allows the use of the Greek \emph{script}
+%    but does not activate Greek hyphenation and case-changing rules.
 % \changes{greek-1.0b}{1996/09/23}{Added a level of braces to keep
-%    encoding change local}
+%                                  encoding change local}
 % \changes{greek-1.3k}{2003/03/19}{Added \cs{leavevmode} as was done
-%    with \cs{latintext}}
+%                                  with \cs{latintext}}
+% \changes{babel-greek-1.12}{2023/03/04}{^^A
+%   Simplified implementation using \cs{\DeclareTextFontCommand}.
+%   Name changed from \cs{textgreek} to \cs{lgrfont}.}
 %    \begin{macrocode}
-  \DeclareRobustCommand{\textgreek}[1]{\leavevmode{\greektext #1}}
+  \DeclareTextFontCommand{\lgrfont}{\greektext}
+  \let\textgreek\lgrfont
 %    \end{macrocode}
 %  \end{macro}
 %
 %  \begin{macro}{\textol}
-%    The \href{http://www.ctan.org/pkg/cbgreek-complete}{CB Greek fonts}
+%    The \href{https://ctan.org/pkg/cbgreek-complete}{CB Greek fonts}
 %    contain an outline family. In order to make it available,
 %    we define the command |\textol|. (This font-specific macro does not
-%    fit in a language defintion file is and only kept for backwards
+%    fit in a language definition file and is only kept for backwards
 %    compatibility.)
 %    \begin{macrocode}
   \def\outlfamily{\usefont{LGR}{cmro}{m}{n}}
   \DeclareTextFontCommand{\textol}{\outlfamily}
-}{} % End of LGR fixes.
 %    \end{macrocode}
 %  \end{macro}
+%  Add LGR-specific variants to some \emph{TextCommands}
+%  that use Latin characters in their default definition.
+%  These definitions cannot be done in \file{lgrenc.def} because they rely
+%  on |\ensureascii| (defined by \pkg{babel}).
+% \changes{greekfdd-2.2c}{1999/04/05}{Fixed typos, \cs{textrademark}
+%          misses a `t', \cs{copyright} should be \cs{textcopyright}}
+% \changes{greekfdd-2.2d}{1999/04/25}{removed redefinition of \cs{\&}}
+% \changes{greek-1.4}{2013/05/17}{moved here from \file{lgrenc.def} because
+%          the definitions require the \cs{latintext} macro defined by Babel.}
+% \changes{greek-1.5}{2013/05/27}{enable use of "textcomp" characters
+%          for "textcopyright" and "textregistered" macros}
+% \changes{babel-greek-1.08}{2013/11/27}{
+%          Use font-encoding specific TextCommands.}
+% \changes{babel-greek-1.12}{2023/03/04}{Drop definition for \cs{\SS}.}
+%    \begin{macrocode}
+  \ProvideTextCommand{\textcopyright}{LGR}{\ensureascii{\textcopyright}}
+  \ProvideTextCommand{\textregistered}{LGR}{\ensureascii{%
+                                                       \textregistered}}
+  \ProvideTextCommand{\texttrademark}{LGR}{\ensureascii{\texttrademark}}
+%    \end{macrocode}
 %
-% \section{Definitions for the Greek language}
+%  \begin{macro}{\textampersand}
+%    LGR has a ``middle dot'' glyph at the place of the ampersand.
+%    Provide the \emph{TextCommand} |\textampersand| and an LGR-specific
+%    version. It is used in the next section to define a version of |\&|
+%    that also works in LGR.
+% \changes{greek-1.5}{2013/06/15}{Make \cs{\&} a TextCommand}
+% \changes{babel-greek-1.09j}{2020/03/17}{Fix ampersand in math.}
+%    \begin{macrocode}
+  \let\bbl at greek@original at amp\&
+  \ProvideTextCommandDefault{\textampersand}{\bbl at greek@original at amp}
+  \ProvideTextCommand{\textampersand}{LGR}{%
+    \ensureascii{\bbl at greek@original at amp}}
+%    \end{macrocode}
+%  \end{macro}
+% \begin{macro}{\EnsureStandardFontEncoding}
+%   The TextCommand |\EnsureStandardFontEncoding| can be used to make
+%   existing commands ``LGR-proof''. It makes sure its argument is typeset
+%   using a \href{https://mirrors.ctan.org/macros/latex/base/encguide.pdf}
+%   {standard text font encoding}.
+%   The default is an empty command: almost all commonly used font encodings
+%   are standard text encodings -- LGR is the notable exception.
+%   The local LGR variant uses |\ensureascii| from the Babel core that comes
+%   with elaborate heuristics to select a suitable standard font encoding.
+%   A special clause for \pkg{hyperref} avoids warnings from this package.
+% \changes{babel-greek-1.12}{2023/03/04}{New TextCommand.}
+%    \begin{macrocode}
+  \ProvideTextCommandDefault{\EnsureStandardFontEncoding}{\@firstofone}
+  \ProvideTextCommand{\EnsureStandardFontEncoding}{LGR}[1]{%
+                                                      \ensureascii{#1}}
+  \AtBeginDocument{\@ifpackageloaded{hyperref}
+                     {\pdfstringdefDisableCommands{%
+                         \let\EnsureStandardFontEncoding\@firstofone}}
+                     {}}
+%    \end{macrocode}
+% \end{macro}
+% End the LGR additions block:
+%    \begin{macrocode}
+}{}
+%    \end{macrocode}
+
+% \subsubsection{LGR workarounds \label{sec:lgr-redefinitions}}
 %
-% The next step consists in defining commands to switch to (and
-% from) the Greek language.
+% The following redefinitions work around problems with the
+% non-standard LGR font encoding.
+% As they may have serious side-effects, they are only done if LGR is the
+% default Greek font encoding (cf.\ section~\ref{sec:greekfontencoding}).
 %
-%  \begin{macro}{\greekhyphenmins}
-%    This macro is used to store the correct values of the hyphenation
-%    parameters |\lefthyphenmin| and |\righthyphenmin|.
-% \changes{greek-1.3h}{2000/09/22}{Now use \cs{providehyphenmins} to
-%    provide a default value}
+% As an emergency measure, the \Lopt{local-LGR-fixes} or \Lopt{no-LGR-fixes}
+% modifiers (cf.\ section \ref{sec:modifiers}) can be used to restrict
+% the ``roman'' redefinitions to text parts using the Greek language or skip
+% them completely.
+%
+% To prevent Roman numerals being typeset with Greek letters in text parts
+% using the LGR font encoding, they must be wrapped in |\ensureascii|.
+% However, Roman numerals are also auto generated by LaTeX and
+% used  in moving arguments.\footnote{
+%   For example, Roman page numbers are generated at ``unpredictable''
+%   positions and can move to the ToC, (hyper)references, or an index.}
+% These ``moving'' Roman numbers must be LGR-proofed also if they originate
+% from a text part using a standard font encoding. This can only be ensured by
+% a global re-definition of the generating functions |\@roman| and |\@Roman|.
+% On the other hand, the re-definition breaks the assumption by
+% MakeIndex, that page numbers are plain character sequences.
+% \pkg{Hyperref} assumes that |\thepage| is expandable and doesn't
+% contain formatting instructions (cf.\
+% \href{https://github.com/latex3/babel/issues/170}{Babel issue \#170}).
+% \changes{greek-1.2e}{1999/04/16}{Moved redefinition of \cs{@roman}
+%                                  back to the language specific file}
+% \changes{greek-1.3d}{1999/08/27}{\cs{@roman} and \cs{@Roman} need to
+%          be added to \cs{extraspolutonikogreek}}
+% \changes{greek-1.3e}{1999/09/24}{\cs{@roman} and \cs{@Roman} need
+%          \emph{not} be in \cs{extraspolutonikogreek} when they are
+%          already in \cs{extrasgreek}}
+% \changes{greek-1.5}{2013/06/15}{\cs{@roman} and \cs{@Roman} as TextCommands
+%          (BUG: this extended the expansion problem to all languages!)}
+% \changes{greek-1.6}{2013/07/19}{Apply a patch by Enrico Gregorio.
+%          Thanks to Claudio Beccari for testing and reporting.}
+%
+% The ampersand macro |\&| is used in both, text and math mode.
+% Let it use the new defined \emph{TextCommand} |\textampersand|
+% in text mode.
 %    \begin{macrocode}
-% Yannis Haralambous has suggested this value
-\providehyphenmins{\CurrentOption}{\@ne\@ne}
+\def\bbl at tempa{LGR}
+\ifx\greekfontencoding\bbl at tempa
+  \def\bbl at greek@roman#1{\expandafter\EnsureStandardFontEncoding%
+                         \expandafter{\romannumeral#1}}
+  \def\bbl at greek@Roman#1{\expandafter\EnsureStandardFontEncoding%
+           \expandafter{\expandafter\@slowromancap\romannumeral#1@}}
+  \DeclareRobustCommand{\bbl at greek@ampersand}{%
+           \ifmmode\bbl at greek@original at amp\else\textampersand\fi}
+  \bbl at xin@{,no-LGR-fixes,}{,\BabelModifiers,}%
+  \ifin@
+    % skip re-definitions
+  \else
+    \bbl at xin@{,local-LGR-fixes,}{,\BabelModifiers,}%
+    \ifin@
+      \addto\extrasgreek{%
+        \babel at save\@roman
+        \babel at save\@Roman
+        \let\@roman\bbl at greek@roman
+        \let\@Roman\bbl at greek@Roman
+        \babel at save\&%
+        \let\&\bbl at greek@ampersand%
+        }
+    \else
+      \let\@roman\bbl at greek@roman
+      \let\@Roman\bbl at greek@Roman
+      \let\&\bbl at greek@ampersand
+    \fi
+  \fi
+\fi
 %    \end{macrocode}
-%  \end{macro}
 %
+%
+% \subsection{Definitions for the Greek language}
+%
+% The next step consists in defining macros for the requirements of Greek
+% typesetting which will later be added to the language switch hooks.
+%
+% \subsubsection{Auto-strings for Greek}
 % \changes{greek-1.1e}{1997/10/12}{Added caption name for proof}
 % \changes{greek-1.3d}{1999/08/28}{Fixed typo, \texttt{bl'epe ep'ishc}
-%    instead of \texttt{bl'pe ep'ishc}}
+%                                  instead of \texttt{bl'pe ep'ishc}}
 %
 %  \begin{macro}{\captionsgreek}
 %    The macro |\captionsgreek| defines all strings used in the
@@ -672,8 +946,8 @@
 %    four standard document classes provided with \LaTeX.
 % \changes{greek-1.3h}{2000/09/20}{Added \cs{glossaryname}}
 % \changes{greek-1.3i}{2000/10/02}{The final sigma in all names appears
-%    as `s' instead of `c'.}
-% \changes{babel-greek-1.9i}{2020/02/27}{Fix accent in seename and alsoname.}
+%                                  as `s' instead of `c'.}
+% \changes{babel-greek-1.09i}{2020/02/27}{Fix accent in seename and alsoname.}
 %    \begin{macrocode}
 \addto\captionsgreek{%
   \def\prefacename{\textPi\textrho\acctonos\textomicron\textlambda
@@ -682,8 +956,9 @@
     \textphi\textomicron\textrho\acctonos\textepsilon\textfinalsigma}%
   \def\abstractname{\textPi\textepsilon\textrho\acctonos\textiota
     \textlambda\texteta\textpsi\texteta}%
-  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota\textomicron
-    \textgamma\textrho\textalpha\textphi\acctonos\textiota\textalpha}%
+  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota
+    \textomicron\textgamma\textrho\textalpha\textphi\acctonos
+    \textiota\textalpha}%
   \def\chaptername{\textKappa\textepsilon\textphi\acctonos\textalpha
     \textlambda\textalpha\textiota\textomicron}%
   \def\appendixname{\textPi\textalpha\textrho\acctonos\textalpha\textrho
@@ -697,7 +972,8 @@
     \textomega\textnu}%
   \def\listtablename{\textKappa\textalpha\texttau\acctonos\textalpha
     \textlambda\textomicron\textgamma\textomicron\textfinalsigma{}
-    \textPi\textiota\textnu\acctonos\textalpha\textkappa\textomega\textnu}%
+    \textPi\textiota\textnu\acctonos\textalpha\textkappa\textomega
+    \textnu}%
   \def\indexname{\textEpsilon\textupsilon\textrho\textepsilon
     \texttau\acctonos\texteta\textrho\textiota\textomicron}%
   \def\figurename{\textSigma\textchi\acctonos\texteta\textmu\textalpha}%
@@ -712,27 +988,31 @@
   \def\headtoname{\textPi\textrho\textomicron\textfinalsigma}%
   \def\pagename{\textSigma\textepsilon\textlambda\acctonos\textiota
     \textdelta\textalpha}%
-  \def\seename{\textbeta\textlambda\acctonos\textepsilon\textpi\textepsilon}%
-  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi\textepsilon{}
-    \textepsilon\textpi\acctonos\textiota\textsigma\texteta\textfinalsigma}%
+  \def\seename{\textbeta\textlambda\acctonos\textepsilon\textpi
+    \textepsilon}%
+  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi
+    \textepsilon{} \textepsilon\textpi\acctonos\textiota\textsigma
+    \texteta\textfinalsigma}%
   \def\proofname{\textAlpha\textpi\acctonos\textomicron
     \textdelta\textepsilon\textiota\textxi\texteta}%
   \def\glossaryname{\textGamma\textlambda\textomega\textsigma
     \textsigma\acctonos\textalpha\textrho\textiota}%
-  }
+}
 %    \end{macrocode}
 %  \end{macro}
+%
+% \subsubsection{Auto-strings for polytonic Greek}
 % \changes{greek-1.2}{1997/10/28}{Added caption names for
-%    \cs{polutonikogreek}}
+%                                 \cs{polutonikogreek}}
 % \changes{greek-1.3d}{1999/08/28}{Fixed typo, \texttt{bl'epe >ep'ishc}
-%    instead of \texttt{bl'pe >ep'ishc}}
-%
+%                                  instead of \texttt{bl'pe >ep'ishc}}
 %  \begin{macro}{\captionspolutonikogreek}
-%    For texts written in the $\pi o\lambda\upsilon\tau
-%    o\nu\kappa\acute{o}$ (polytonic greek) the translations are
+%    For texts written in polytonic greek, the translations are
 %    the same as above, but some words are spelled differently. For
 %    now we just add extra definitions to |\captionsgreek| in order to
 %    override the earlier definitions.
+% \changes{babel-greek-1.09b}{2014/09/18}{Use named macros instead of
+%          non-standard short accent macros for psili and dasia.}
 %    \begin{macrocode}
 \let\captionspolutonikogreek\captionsgreek
 \addto\captionspolutonikogreek{%
@@ -740,10 +1020,12 @@
     \textphi\textomicron\textrho\accvaria\textepsilon\textfinalsigma}%
   \def\indexname{\textEpsilon\accdasia\textupsilon\textrho\textepsilon
     \texttau\acctonos\texteta\textrho\textiota\textomicron}%
-  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu\textalpha}%
+  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu
+    \textalpha}%
   \def\headtoname{\textPi\textrho\accvaria\textomicron\textfinalsigma}%
-  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi\textepsilon{}
-    \accpsili\textepsilon\textpi\acctonos\textiota\textsigma\texteta\textfinalsigma}%
+  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi
+    \textepsilon{} \accpsili\textepsilon\textpi\acctonos\textiota
+    \textsigma\texteta\textfinalsigma}%
   \def\proofname{\accpsili\textAlpha\textpi\acctonos\textomicron
     \textdelta\textepsilon\textiota\textxi\texteta}%
 }
@@ -750,72 +1032,73 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-% \changes{babel-greek-1.9}{2014/07/20}{Added caption names for
-%    \cs{ancientgreek}}
-%
+% \subsubsection{Auto-strings for ancient Greek}
+% \changes{babel-greek-1.09}{2014/07/20}{Added caption names for
+%                                       \cs{ancientgreek}}
 %  \begin{macro}{\captionsancientgreek}
-%    For texts written in ancient Greek, we took
-%    the translations from Apostolos Syropoulos' |xgreek| package. For
-%    now we just add extra definitions to |\captionsgreek| in order to
-%    override the earlier definitions.
+%    For texts written in ancient Greek, we took the translations
+%    from Apostolos Syropoulos' \pkgref{xgreek} package.
+%    For now we just add extra definitions to |\captionsgreek|
+%    in order to override the earlier definitions.
 %    \begin{macrocode}
 \let\captionsancientgreek\captionsgreek
 \addto\captionsancientgreek{%
-  \def\prefacename{\textPi\textrho\textomicron\textomicron\acctonos\textiota\textmu
-    \textiota\textomicron\textnu}%
-  \def\refname{\accpsili\textAlpha\textnu\textalpha\textphi\textomicron\textrho
-    \textalpha\accvaria\textiota}%
-  \def\abstractname{\textPi\textepsilon\textrho\acctonos\textiota\textlambda\texteta
-    \textpsi\textiota\textvarsigma}%
-  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota\textomicron
-    \textgamma\textrho\textalpha\textphi\acctonos\textiota\textalpha}%
-  \def\chaptername{\textKappa\textepsilon\textphi\acctonos\textalpha\textlambda
-    \textalpha\textiota\textomicron\textnu}%
-  \def\appendixname{\textPi\textalpha\textrho\acctonos\textalpha\textrho\texttau
-    \texteta\textmu\textalpha}%
-  \def\contentsname{\textPi\textepsilon\textrho\textiota\textepsilon\textchi
-    \acctonos\textomicron\textmu\textepsilon\textnu\textalpha}%
-  \def\listfigurename{\textKappa\textalpha\texttau\acctonos\textalpha\textlambda
-    \textomicron\textgamma\textomicron\textvarsigma{}
-    \textsigma\textchi\texteta\textmu\acctonos\textalpha\texttau\textomega\textnu}%
-  \def\listtablename{\textKappa\textalpha\texttau\acctonos\textalpha\textlambda
-    \textomicron\textgamma\textomicron\textvarsigma{}
-    \textpi\textiota\textnu\acctonos\textalpha\textkappa\textomega\textnu}%
-  \def\indexname{\textEpsilon\accdasia\textupsilon\textrho\textepsilon\texttau
-    \acctonos\texteta\textrho\textiota\textomicron\textnu}%
-  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu\textalpha}%
+  \def\prefacename{\textPi\textrho\textomicron\textomicron
+    \acctonos\textiota\textmu\textiota\textomicron\textnu}%
+  \def\refname{\accpsili\textAlpha\textnu\textalpha\textphi\textomicron
+    \textrho\textalpha\accvaria\textiota}%
+  \def\abstractname{\textPi\textepsilon\textrho\acctonos\textiota
+    \textlambda\texteta\textpsi\textiota\textvarsigma}%
+  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota
+    \textomicron\textgamma\textrho\textalpha\textphi
+    \acctonos\textiota\textalpha}%
+  \def\chaptername{\textKappa\textepsilon\textphi\acctonos\textalpha
+    \textlambda\textalpha\textiota\textomicron\textnu}%
+  \def\appendixname{\textPi\textalpha\textrho\acctonos\textalpha
+    \textrho\texttau\texteta\textmu\textalpha}%
+  \def\contentsname{\textPi\textepsilon\textrho\textiota\textepsilon
+    \textchi\acctonos\textomicron\textmu\textepsilon\textnu\textalpha}%
+  \def\listfigurename{\textKappa\textalpha\texttau\acctonos\textalpha
+    \textlambda\textomicron\textgamma\textomicron\textvarsigma{}
+    \textsigma\textchi\texteta\textmu\acctonos\textalpha\texttau
+    \textomega\textnu}%
+  \def\listtablename{\textKappa\textalpha\texttau\acctonos\textalpha
+    \textlambda\textomicron\textgamma\textomicron\textvarsigma{}
+    \textpi\textiota\textnu\acctonos\textalpha\textkappa
+    \textomega\textnu}%
+  \def\indexname{\textEpsilon\accdasia\textupsilon\textrho\textepsilon
+    \texttau\acctonos\texteta\textrho\textiota\textomicron\textnu}%
+  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu
+    \textalpha}%
   \def\tablename{\textPi\acctonos\textiota\textnu\textalpha\textxi}%
-  \def\partname{\textMu\acctonos\textepsilon\textrho\textomicron\textvarsigma}%
+  \def\partname{\textMu\acctonos\textepsilon\textrho\textomicron
+    \textvarsigma}%
   \def\enclname{\textSigma\textupsilon\textnu\texteta\textmu\textmu
     \acctonos\textepsilon\textnu\textomega\textvarsigma}%
   \def\ccname{\textKappa\textomicron\textiota\textnu\textomicron\textpi
-    \textomicron\acctonos\textiota\texteta\textsigma\textiota\textvarsigma}%
+    \textomicron\acctonos\textiota\texteta\textsigma\textiota
+    \textvarsigma}%
   \def\headtoname{\textPi\textrho\accvaria\textomicron\textvarsigma}%
-  \def\pagename{\textSigma\textepsilon\textlambda\accvaria\textiota\textvarsigma}%
+  \def\pagename{\textSigma\textepsilon\textlambda\accvaria\textiota
+    \textvarsigma}%
   \def\seename{\accdasiaoxia\textomicron\textrho\textalpha}%
-  \def\alsoname{\accdasiaoxia\textomicron\textrho\textalpha{} \accdasia\textomega\textsigma
-    \textalpha\acctonos\textupsilon\texttau\textomega\textvarsigma}%
-  \def\proofname{\accpsili\textAlpha\textpi\acctonos\textomicron\textdelta\textepsilon
-    \textiota\textxi\textiota\textvarsigma}%
+  \def\alsoname{\accdasiaoxia\textomicron\textrho\textalpha{}
+    \accdasia\textomega\textsigma\textalpha\acctonos\textupsilon
+    \texttau\textomega\textvarsigma}%
+  \def\proofname{\accpsili\textAlpha\textpi\acctonos\textomicron
+    \textdelta\textepsilon\textiota\textxi\textiota\textvarsigma}%
   \def\glossaryname{\textGamma\textlambda\textomega\textsigma\textsigma
     \acctonos\textalpha\textrho\textiota\textomicron\textnu}%
- }
+}
 %    \end{macrocode}
 %  \end{macro}
 %
+% \subsubsection{Date specification}
+%
 %  \begin{macro}{\gr at month}
+%    The auxiliary macro |\gr at month| returns Greek month names in
+%    monotonic spelling.
 % \changes{greek-1.1e}{1997/10/12}{Macro added}
-%  \begin{macro}{\dategreek}
-%    The macro |\dategreek| redefines the command |\today| to
-%    produce greek dates. The name of the month is now produced
-%    by the macro |\gr at month| since it is needed in the definition
-%    of the macro |\Grtoday|.
-% \changes{greek-1.1a}{1997/03/03}{Fixed typo, \texttt{Oktwbr'iou}
-%    instead of \texttt{Oktobr'iou}}
-% \changes{greek-1.1d}{1997/10/12}{Macro \cs{gr at month} now produces
-%    the  name of the month}
-% \changes{greek-1.2a}{1997/10/31}{Use \cs{edef} to define \cs{today}}
-% \changes{greek-1.2b}{1998/03/28}{use \cs{def} instead of \cs{edef}}
 %    \begin{macrocode}
 \def\gr at month{%
   \ifcase\month\or
@@ -823,8 +1106,9 @@
       \textrho\acctonos\textiota\textomicron\textupsilon \or
     \textPhi\textepsilon\textbeta\textrho\textomicron\textupsilon
       \textalpha\textrho\acctonos\textiota\textomicron\textupsilon \or
-    \textMu\textalpha\textrho\texttau\acctonos\textiota\textomicron\textupsilon
-    \or \textAlpha\textpi\textrho\textiota\textlambda\acctonos\textiota
+    \textMu\textalpha\textrho\texttau\acctonos\textiota\textomicron
+      \textupsilon \or
+    \textAlpha\textpi\textrho\textiota\textlambda\acctonos\textiota
       \textomicron\textupsilon \or
     \textMu\textalpha\'"\textiota\textomicron\textupsilon \or
     \textIota\textomicron\textupsilon\textnu\acctonos\textiota
@@ -843,23 +1127,20 @@
       \textrho\acctonos\textiota\textomicron\textupsilon
   \fi
 }
-\def\dategreek{%
-  \def\today{\number\day \space \gr at month\space \number\year}}
 %    \end{macrocode}
 %  \end{macro}
-%  \end{macro}
 %
-%  \begin{macro}{\gr at c@greek}
+% \begin{macro}{\gr at polutoniko@month}
+%   The auxiliary macro |\gr at polutoniko@month| returns Greek month names in
+%   polytonic spelling. It is activated by the |polutoniko| language option.
 % \changes{greek-1.2}{1997/10/28}{Added macro \cs{gr at cl@month}}
-% \changes{greek-1.2}{1997/10/28}{Added macro
-%    \cs{datepolutonikogreek}}
-% \changes{greek-1.3a}{1997/10/28}{removed macro
-%    \cs{datepolutonikogreek}}
+% \changes{greek-1.2}{1997/10/28}{Added macro \cs{datepolutonikogreek}}
+% \changes{greek-1.3a}{1997/10/28}{removed macro \cs{datepolutonikogreek}}
 %    \begin{macrocode}
-\def\gr at c@month{%
+\def\gr at polutoniko@month{%
   \ifcase\month\or
-    \accpsili\textIota\textalpha\textnu\textomicron\textupsilon\textalpha
-      \textrho\acctonos\textiota\textomicron\textupsilon \or
+    \accpsili\textIota\textalpha\textnu\textomicron\textupsilon
+      \textalpha\textrho\acctonos\textiota\textomicron\textupsilon \or
     \textPhi\textepsilon\textbeta\textrho\textomicron\textupsilon
       \textalpha\textrho\acctonos\textiota\textomicron\textupsilon \or
     \textMu\textalpha\textrho\texttau\acctonos\textiota\textomicron
@@ -866,7 +1147,8 @@
       \textupsilon \or
     \accpsili\textAlpha\textpi\textrho\textiota\textlambda
       \acctonos\textiota\textomicron\textupsilon \or
-    \textMu\textalpha\"'\textiota\textomicron\textupsilon \or
+    \textMu\textalpha\accdialytikatonos\textiota\textomicron
+      \textupsilon \or
     \accpsili\textIota\textomicron\textupsilon\textnu
       \acctonos\textiota\textomicron\textupsilon \or
     \accpsili\textIota\textomicron\textupsilon\textlambda
@@ -886,49 +1168,79 @@
 %    \end{macrocode}
 %  \end{macro}
 %
+%  \begin{macro}{\dategreek}
+%    The macro |\dategreek| redefines the command |\today| to
+%    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}
+%                                  instead of \texttt{Oktobr'iou}}
+% \changes{greek-1.1d}{1997/10/12}{Macro \cs{gr at month} now produces
+%                                  the  name of the month}
+% \changes{greek-1.2a}{1997/10/31}{Use \cs{edef} to define \cs{today}}
+% \changes{greek-1.2b}{1998/03/28}{use \cs{def} instead of \cs{edef}}
+%    \begin{macrocode}
+\def\dategreek{%
+  \def\today{\number\day \space \gr at month\space \number\year}}
+%    \end{macrocode}
+%  \end{macro}
+%
 %  \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.
 %    \begin{macrocode}
 \def\Grtoday{%
   \expandafter\Greeknumeral\expandafter{\the\day}\space
-  \gr at c@month \space
+  \gr at polutoniko@month \space
   \expandafter\Greeknumeral\expandafter{\the\year}}
 %    \end{macrocode}
 %  \end{macro}
 %
-%  \begin{macro}{\extrasgreek}
-%  \begin{macro}{\noextrasgreek}
-%    The macro |\extrasgreek| will perform all the extra definitions
-%    needed for the Greek language. The macro |\noextrasgreek| is used
-%    to cancel the actions of |\extrasgreek|. For the moment these
-%    macros switch the fontencoding (with 8-bit TeX) and the definition of
-%    the internal macros |\@alph| and |\@Alph| because in Greek we do use
-%    the Greek numerals.
-% \changes{greek-1.5}{2013/06/21}{LGR not used with XeTeX/LuaTeX.}
-% \changes{greek-1.8}{2013/11/27}{use font-encoding specific TextCommands.
-%    Use EU1 or EU2 for Latin script if available}
+% \subsubsection{Greek numerals \label{sec:Greek numerals}}
+%
+%  \begin{macro}{\greeknumeralsix}
+%  \begin{macro}{\greeknumeralSix}
+%  \begin{macro}{\greeknumeralninety}
+%  \begin{macro}{\greeknumeralNinety}
+%    The shape of the obsolete characters used for number 6 (digamma/stigma)
+%    and 90 (koppa) evolved over time and different characters are in use
+%    for them today. We define placeholders that allow configuration by
+%    the user or a package.
+% \changes{babel-greek-1.10}{2020/11/10}{
+%   Use zig-zagy \cs{textkoppa}.
+%   This is what it looks in current Greek typography.}
 %    \begin{macrocode}
-\addto\extrasgreek{\greekscript}
-\addto\noextrasgreek{\latintext}
+\providecommand*{\greeknumeralsix}{\textstigma}
+\providecommand*{\greeknumeralSix}{\textStigma}
+\providecommand*{\greeknumeralninety}{\textkoppa}
+\providecommand*{\greeknumeralNinety}{\textKoppa}
 %    \end{macrocode}
-%    TODO restore previous font encoding.
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
 %
 %  \begin{macro}{\greeknumeral}
+%    The commands |\greeknumeral| and |\Greeknumeral| produce the lowercase
+%    and uppercase \href{https://en.wikipedia.org/wiki/Greek_numerals}{Greek
+%    numerals} respectively.
+%
 %    The command |\greeknumeral| needs to be \emph{fully} expandable
 %    in order to get the right information in auxiliary
 %    files. It should also be usable in PDF-strings.
 %    Therefore we use the implementation from the \cs{HyPsd at GreekPatch}
-%    in \href{https://ctan.org/pkg/hyperref}{hyperref}
-%    (version 7.00e 2020-05-15).
+%    in \pkgref{hyperref} (version 7.00e 2020-05-15).
+%
 % \changes{babel-greek-1.10}{2020/11/10}{PDF-string secure implementation
-%    taken from ``hyperref'' (collaboration with Ulrike Fischer).}
+%    taken from ``hyperref'' (thanks to Ulrike Fischer).}
+% \changes{babel-greek-1.11}{2020/11/20}{Configurable shapes for 6 and 90.
+%   90 defaults to \cs{textqoppa} for ancient Greek.}
 %    \begin{macrocode}
 \def\greeknumeral#1{%
   {\greekscript
-  \bbl at greek@GreekNum\@firstoftwo{#1}}%
+   \bbl at greek@GreekNum\@firstoftwo{#1}}%
 }
 %    \end{macrocode}
 %  \end{macro}
@@ -937,7 +1249,7 @@
 %    \begin{macrocode}
 \def\Greeknumeral#1{%
   {\greekscript
-  \bbl at greek@GreekNum\@secondoftwo{#1}}%
+   \bbl at greek@GreekNum\@secondoftwo{#1}}%
 }
 %    \end{macrocode}
 %  \end{macro}
@@ -1018,7 +1330,7 @@
   \or\textgamma\textGamma
   \or\textdelta\textDelta
   \or\textepsilon\textEpsilon
-  \or\textstigmagreek\textStigmagreek
+  \or\greeknumeralsix\greeknumeralSix % stigma or digamma
   \or\textzeta\textZeta
   \or\texteta\textEta
   \or\texttheta\textTheta
@@ -1043,7 +1355,7 @@
   \or\textxi\textXi
   \or\textomicron\textOmicron
   \or\textpi\textPi
-  \or\textkoppa\textKoppa
+  \or\greeknumeralninety\greeknumeralNinety % koppa or qoppa
   \else
     {}{}%
   \fi
@@ -1096,19 +1408,13 @@
 %
 %  \begin{macro}{\greek at alph}
 %  \begin{macro}{\greek at Alph}
-%    In the previous release of this language definition the
+%    In the previous release of this language definition file the
 %    commands |\greek at aplh| and |\greek at Alph| were kept just for
 %    reasons of compatibility. Here again they become meaningful macros.
-%    They are definited in a way that even page numbering with greek
-%    numerals is possible. Since the macros |\@alph| and |\@Alph| will
-%    lose their original meaning while the Greek option is active, we
-%    must save their original value.
-%    macros |\@alph|
-%    \begin{macrocode}
-\let\latin at alph\@alph
-\let\latin at Alph\@Alph
-%    \end{macrocode}
-%    Then we define the Greek versions; the additional |\expandafter|s
+%    They are defined in a way that even page numbering with greek
+%    numerals is possible.
+%
+%    We define the Greek versions; the additional |\expandafter|s
 %    are needed in order to make sure the table of contents will be
 %    correct, e.g., when we have appendixes.
 %    \begin{macrocode}
@@ -1116,100 +1422,103 @@
 \def\greek at Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}}
 %    \end{macrocode}
 %
-%    Now we can set up the switching.
-% \changes{greek-1.1a}{1997/03/03}{removed two superfluous @'s which
-%    made \cs{@alph} undefined}
+%    Redefine the internal macros |\@alph| and |\@Alph| in the
+%    language hook, so that we use Greek numerals\footnote{
+%      cf.\ section \ref{sec:Greek numerals}}
+%    instead of the Latin alphabet\footnote{
+%      Eventually interpreted as Latin transliteration and converted
+%      to Greek letters in a ``strange'' order.}
+%    in Greek text parts.
+% \changes{greek-1.1a}{1997/03/03}{
+%          removed two superfluous @'s which made \cs{@alph} undefined}
+% \changes{babel-greek-1.12}{2023/03/04}{
+%          Save/restore previous expansion of \cs{\@alph} and \cs{\@Alph}
+%          with every switch to/from Greek.}
 %    \begin{macrocode}
 \addto\extrasgreek{%
+  \babel at save\@alph
+  \babel at save\@Alph
   \let\@alph\greek at alph
-  \let\@Alph\greek at Alph}
-\addto\noextrasgreek{%
-  \let\@alph\latin at alph
-  \let\@Alph\latin at Alph}
+  \let\@Alph\greek at Alph
+}
 %    \end{macrocode}
 %  \end{macro}
 %  \end{macro}
 %
 %
-% \section{Character codes}
+% \subsection{Character codes}
 %
-%    Greek letters drop diacritics (eccept dialytika and sub-iota) in
-%    UPPERCASE. This is not cared for by the Unicode standard.
-%    The file \file{greek-euenc.def} from \pkg{greek-fontenc}
-%    contains the required |\lccode| and |\uccode| corrections from the
-%    \pkg{xgreek} package by Apostolos Syropoulos.
+% Greek letters drop diacritics (eccept dialytika and sub-iota) in
+% UPPERCASE. This is not cared for by the Unicode standard.
+% The file \file{greek-euenc.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, character code changes are done here
+% because they must be restricted to text parts using the LGR encoding.
 % \changes{greek-1.5}{2013/06/21}{Support XeTeX/LuaTeX.}
-% \changes{greek-1.9d}{2015/07/06}{uclc fixes not included in greek-euenc.def}
+% \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 LGR is the \cs{greekfontencoding}.}
+%    \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.
 %
-%    The LGR encoded fonts that are used to typeset Greek with 8-bit TeX
-%    define ligatures for characters with diacritics. In order for this to
-%    work, some characters need to be considered as letters. These
-%    characters are |<|, |>|, |~|, |`|, |'|, |"| and
-%    \verb=|=. Therefore, their |\lccode| is changed when Greek is in
-%    effect. In order to let |\uppercase| give correct results, the
-%    |\uccode| of these characters is set to a non-existing character
-%    to make them disappear. Of course not all characters are needed
-%    when typesetting ``modern'' $\mu o\nu o\tau o\nu
-%    \iota\kappa\acute{o}$. In that case we only need the |'| and |"|
-%    symbols which are treated in the proper way.
+% In LGR encoded fonts, diacritics can be obtained using Knuth's
+% ligature mechanism (see usage.pdf). This means that the characters
+% |<|, |>|, |~|, |`|, |'|, |"|, and \verb=|= may be part of a word.
+% Therefore, their |\lccode| is changed when polytonic Greek is in
+% effect. For monotonic Greek, we only need |'| and |"|.
 %
-%  \begin{macro}{\greek at tilde}
-% \changes{greek-1.0c}{1997/02/19}{Added command}
-%    The Greek script uses a number of characters with more
-%    than one accent. In LGR encoded fonts combined diacritics can be
-%    obtained using Knuth's ligature mechanism (see usage.pdf).
-%    Characters we need to have ligatures with are the tilde, the
-%    acute and grave accent characters, the rough and smooth breathings,
-%    the subscript, and the double quote character.
-%    In text input the |~| is normally used to produce an
-%    unbreakable space.
-% \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}.}
-%    \begin{macrocode}
-\@ifl at aded{def}{lgrenc}{%
-  \begingroup
-    \@ifundefined{active at char\string!}{}{\catcode`!=12\relax}
-    \catcode`\~=12%
-    \lccode`\!=`\~%
-    \lowercase{\def\x{\endgroup
-        \def\greek at tilde{!}}\x}
-%    \end{macrocode}
-%  \end{macro}
-%    In order to get correct hyphenation we need to set the lower case
-%    code of a number of characters. The `v' character has a special
-%    usage for the |cb| fonts: in fact this ligature mechanism detects
-%    the end of a word and assures that a final sigma is typeset with
-%    the proper sign wich is different from that of an initial or
-%    medial sigma;  the  `v  'after  an  \textit{isolated} sigma fools
-%    the ligature mechanism in order to typeset $\sigma$ in place of
-%    $\varsigma$. Because of this we make sure its lowercase code is
-%    not changed. For ``modern'' greek we have to deal only with |'|
-%    and |"| and so things are easy.
+% The `v' character has a special usage in LGR-encoded fonts:
+% The LGR ligature mechanism detects the end of a word and assures that
+% a final sigma ($\varsigma$) is used. The `v' after  an `s' overrides this
+% 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}
+%    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.9}{2014/07/20}{Added lc codes for chars 128 to 255}
+% \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}
+  \addto\extrasgreek{%
+    \babel at savevariable{\lccode`v}\lccode`v=`v%
+    \babel at savevariable{\lccode`\'}\lccode`\'=`\'%
+    \babel at savevariable{\lccode`\"}\lccode`\"=`\"%
+  }
+  \addto\extraspolutonikogreek{%
+    % \l at greek=\bbl at polygreek
+    \babel at savevariable{\lccode`\<}\lccode`\<=`\<%
+    \babel at savevariable{\lccode`\>}\lccode`\>=`\>%
+    \babel at savevariable{\lccode`\~}\lccode`\~=`\~%
+    \babel at savevariable{\lccode`\|}\lccode`\|=`\|%
+    \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
+%    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
-%    the LGR font encoding (which is the same in all language variants).
+%    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.9e}{2015/11/27}{Fix bug in lccode-setting loop
+% \changes{babel-greek-1.09e}{2015/11/27}{Fix bug in lccode-setting loop
 %   (patch by Enrico Gregorio).}
 %    \begin{macrocode}
   \addto\extrasgreek{%
-    \babel at savevariable{\lccode`v}\lccode`v=`v%
-    \babel at savevariable{\lccode`\'}\lccode`\'=`\'%
-    \babel at savevariable{\lccode`\"}\lccode`\"=`\"%
     % ``high bit characters'': set in a loop and correct exceptions
     \@tempcnta=128%
     \@whilenum\@tempcnta<253\do{%
@@ -1228,19 +1537,14 @@
     \lccode219=240% GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
     \lccode223=244% GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
   }
-
-  \addto\extraspolutonikogreek{%
-    % \l at greek=\bbl at polygreek
-    \babel at savevariable{\lccode`\<}\lccode`\<=`\<%
-    \babel at savevariable{\lccode`\>}\lccode`\>=`\>%
-    \babel at savevariable{\lccode`\~}\lccode`\~=`\~%
-    \babel at savevariable{\lccode`\|}\lccode`\|=`\|%
-    \babel at savevariable{\lccode`\`}\lccode`\`=`\`%
-    }
 %    \end{macrocode}
-%    And in order to get rid of all accents and breathings when a
-%    string is |\uppercase|d we also change a number of uppercase
-%    codes.
+%
+% In order to drop diacritics (eccept dialytika and sub-iota) in
+% UPPERCASE also with the ``input ligatures'' the |\uccode| of the
+% relevant characters is set to a dummy character.
+% This is only done, if LaTeX is older than 2022/06/01 because
+% the |\MakeUppercase| implementation introduced in this version ignores
+% uccodes and fails with the ``dummy'' character 0x9f.
 % \changes{greek-1.1b}{1997/03/06}{Added setting of \cs{uccode}s
 %    (after \file{kdgreek.sty})}
 % \changes{greek-1.1e}{1997/10/12}{Added uppercase code for special
@@ -1255,76 +1559,115 @@
 %    \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.}
-% \changes{greek-1.3j}{2001/02/03}{Because other languages might
-%    make the caret active, we can't use the double caret notation
-%    here}
+% \changes{greek-1.3j}{2001/02/03}{Don't use the double caret notation here,
+%    because other languages might make the caret active.}
+% \changes{babel-greek-1.12}{2023/03/04}{
+%    Don't change uccodes if LaTeX is from 2022/06/01 or newer.}
 %    \begin{macrocode}
-  \addto\extrasgreek{%
-    \babel at savevariable{\uccode`\"}\uccode`\"=`\"%
-    \babel at savevariable{\uccode`\'}\uccode`\'=159% 159 == ^^9f
-    }
-  \addto\extraspolutonikogreek{%
-    \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%
-    }
+  % fallback for for LaTeX versions older than 2020-10-01
+  \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
+  \IfFormatAtLeastTF{2022/06/01}%
+    {}
+    {% else
+     \addto\extrasgreek{%
+       \babel at savevariable{\uccode`\"}\uccode`\"=`\"%
+       \babel at savevariable{\uccode`\'}\uccode`\'=159% 159 == ^^9f
+     }
+     \addto\extraspolutonikogreek{%
+       \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}
-%    For this to work we make the character |^^9f| a shorthand that
-%    expands to nothing. In order for this to work we need to make a
-%    character look like |^^9f| in \TeX's eyes. The trick is to have
-%    another character and assign it a different lowercase code. The
-%    execute the macros needed in a |\lowercase| environment. Usually
-%    the tilde |~| character is used for such purposes. Before we do
-%    this we save it's original lowercase code to restore it once
-%    we're done.
-% \changes{greek-1.1b}{1997/03/06}{Added shorthand for \cs{char255}}
-% \changes{greek-1.1e}{1997/10/12}{Shorthand is changed. Active
-%    character is now \cs{char159}}
-% \changes{greek-1.2a}{1997/10/31}{Need shorthand to exist for
-%    ``monotoniko'' Greek, not ``polutoniko'' Greek}
-% \changes{greek-1.3j}{2001/02/03}{Use the tilde as an alias for
-%    character 159}
+% To avoid \pkg{inputenc} errors if the tilde is used as perispomeni
+% (in polytonic or ancient Greek), we need to declare an expansion for
+% the ``dummy'' character~0x9f = 159.\footnote{
+%   Since UTF-8 became the default encoding (cf.\
+%   \href{https://www.latex-project.org/news/latex2e-news/ltnews28.pdf}
+%   {LaTeX News~28}), an ``inputenc'' error is also thrown
+%   if the \pkg{inputenc} package is not loaded.}
+% To be independent of \pkg{inputenc}, we do not use |\DeclareInputText|
+% but code modelled after its definition to declare an empty expansion.
+% \changes{greek-1.1b}{1997/03/06}{
+%          Added shorthand for \cs{char255}}
+% \changes{greek-1.1e}{1997/10/12}{
+%          Shorthand is changed. Active character is now \cs{char159}}
+% \changes{greek-1.2a}{1997/10/31}{
+%          Need shorthand to exist for monotonic Greek, not polytonik Greek}
+% \changes{greek-1.3j}{2001/02/03}{
+%          Use the tilde as an alias for character 159}
+% \changes{babel-greek-1.12}{2023/03/04}{
+%          Declare char 159 expansion similar to the way it is done
+%          in \pkg{inputenc} to avoid ``inputenc error''.}
 %    \begin{macrocode}
-  \@tempcnta=\lccode`\~
-  \lccode`\~=159
-  \lowercase{%
-    \initiate at active@char{~}%
-    \declare at shorthand{greek}{~}{}}
-  \lccode`\~=\@tempcnta
+     \bgroup
+        \uccode`\~159%
+        \uppercase{%
+     \egroup
+        \def~{}%
+     }
 %    \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).
 % \changes{greek-1.4}{2013/05/17}{Add TextCompositeCommands for
-%     ``uppercase diacritics''.}
+%          ``uppercase diacritics''.}
 % \changes{greek-1.5}{2013/05/27}{Bugfix: @hiatus->LGR at hiatus}
 % \changes{greek-1.5a}{2013/07/02}{Replaced non-printable literal character
-%     with ^^-notation (thanks to Heiko Oberdiek for the hint).}
-% \changes{greek-1.9}{2014/07/20}{The |^^|-notation seems to require lower case
-%     letters. |^^9F| failed.}
+%          with ^^-notation (thanks to Heiko Oberdiek for the hint).}
+% \changes{babel-greek-1.09}{2014/07/20}{The |^^|-notation seems to require
+%          lower case letters. |^^9F| failed.}
+% \changes{babel-greek-1.09h}{2019/07/11}{Move breathing composite commands
+%   to textalpha.}
 %    \begin{macrocode}
-  \DeclareTextCompositeCommand{\"}{LGR}{^^9f}{\accdialytika}
-  \DeclareTextCompositeCommand{\'}{LGR}{^^9f}{\LGR at hiatus}
-  \DeclareTextCompositeCommand{\`}{LGR}{^^9f}{\LGR at hiatus}
+     \DeclareTextCompositeCommand{\"}{LGR}{^^9f}{\accdialytika}
+     \DeclareTextCompositeCommand{\'}{LGR}{^^9f}{\LGR at hiatus}
+     \DeclareTextCompositeCommand{\`}{LGR}{^^9f}{\LGR at accdropped}
 %    \end{macrocode}
+% If Unicode fonts are loaded together with LGR, we must also care for
+% |\"'| and |\"`| in TU, because the \" is kept when upcasing.
+%    \begin{macrocode}
+     \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
+       \DeclareTextCompositeCommand{\"}{TU}{^^9f}{\accdialytika}
+     \fi
+    }% end of the \IfFormatAtLeastTF else block
+%    \end{macrocode}
 %
-%    We can also make the tilde character itself expand to a tilde with
-%    category code 12 to make the typing of texts easier.
+% \begin{macro}{\greek at 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''
+%   (in |\extraspolutonikogreek|).
+%
+%   Let the tilde character expand to a tilde with category code 12.
+% \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.5a}{2013/06/27}{provide ``extraspolutonikogreek'' also
-%    for Xe/LuaTeX.}
+% \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}.}
 %    \begin{macrocode}
-  \addto\extraspolutonikogreek{\languageshorthands{greek}}%
+  \begingroup
+    \@ifundefined{active at char\string!}{}{\catcode`!=12\relax}
+    \catcode`\~=12%
+    \lccode`\!=`\~%
+    \lowercase{\def\x{\endgroup
+        \def\greek at tilde{!}}\x}
+  \addto\extraspolutonikogreek{\languageshorthands{greek}}
   \declare at shorthand{greek}{~}{\greek at tilde}
-}{} % End of LGR-specific code.
 %    \end{macrocode}
 %  \end{macro}
-%  \end{macro}
+%    \begin{macrocode}
+\fi % End of LGR-specific code.
+%    \end{macrocode}
 %
-% \section{symbol name aliases}
+%
+% \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
 %    for \cs{greeknumeral}}
@@ -1335,9 +1678,9 @@
 %   the remaining symbol definitions have been moved here}
 % \changes{greek-1.5}{2013/06/11}{change symbol macros to aliases}
 % \changes{greek-1.10}{2020/11/10}{Fix: \cs{qoppa} is the legacy name of
-%   \cs{textkoppa} not \cs{textqoppa}!
-%   Provide fallbacks for makros required for greek numerals
-%   (added in greek-fontenc 1.0 2020-09-25).}
+%   \cs{textkoppa} not \cs{textqoppa}!}
+% \changes{babel-greek-1.12}{2023/03/04}{Remove \cs{textKoppa} and
+%   \cs{textmu} (in greek-fontenc since version 1.0).}
 %    \begin{macrocode}
 \providecommand*{\anwtonos}{\textdexiakeraia}
 \providecommand*{\katwtonos}{\textaristerikeraia}
@@ -1350,20 +1693,11 @@
 \providecommand*{\vardigamma}{\textvardigamma}
 \providecommand*{\euro}{\texteuro}
 \providecommand*{\permill}{\textperthousand}
-%    \end{macrocode}
-% TODO remove the following lines once greek-fontenc 1.0 is in common use.
-%    \begin{macrocode}
-\@ifl at aded{def}{lgrenc}{%
-  \ProvideTextCommand{\textKoppa}{LGR}{\textkoppa}
-  \ProvideTextCommand{\textmugreek}{LGR}{\textmu}
-}{}
 \ProvideTextCommand{\textmugreek}{\greekfontencoding}{\textmu}
 %    \end{macrocode}
 %
-% \changes{greek-1.3l}{2004/02/19}{Commented these lines out as this
-%    change has made it into \LaTeX{} itself.}
-% \changes{greek-1.8}{2013/11/27}{Remove the redefintion of fnum at figure
-%    and fnum at table.}
+% \changes{babel-greek-1.08}{2013/11/27}{Remove redefinition of
+%    \cs{fnum at figure} and \cs{fnum at table}.}
 %
 %    The macro |\ldf at finish| takes care of looking for a
 %    configuration file, setting the main language to be switched on
@@ -1375,6 +1709,8 @@
 %</code>
 %    \end{macrocode}
 %
+% \PrintChanges
+%
 % \Finale
 %\endinput
 %% \CharacterTable

Modified: branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.ins
===================================================================
--- branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.ins	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/babel-greek.ins	2023-03-04 21:09:40 UTC (rev 66347)
@@ -10,7 +10,7 @@
 %% ---------------------------------------------
 %%
 %% Babel-greek is a contributed package providing support for the Greek
-%% language and script via the Babel system (http://www.ctan.org/pkg/babel)
+%% language and script via the Babel system (https://ctan.org/pkg/babel)
 %%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3
@@ -30,7 +30,7 @@
 %%
 %% --------------- start of docstrip commands ------------------
 %%
-\def\filedate{2015/07/06}
+\def\filedate{2022/12/21}
 \def\batchfile{babel-greek.ins}
 \input docstrip.tex
 
@@ -52,7 +52,7 @@
 \declarepreamble\mainpreamble
 This is a generated file.
 
-Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams,  Guenter Milde,
+Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams, Günter Milde,
 and the authors listed elsewhere in this file. All rights reserved.
 
 This file was generated from file(s) of the babel-greek package.
@@ -71,7 +71,7 @@
 The Current Maintainer of this work is Günter Milde <milde at users.sf.net>.
 
 Babel-greek is a contributed package providing support for the Greek
-language and script via the Babel system (http://www.ctan.org/pkg/babel).
+language and script via the Babel system (https://ctan.org/pkg/babel).
 
 The list of derived (unpacked) files belonging to this work
 and covered by LPPL is defined by the unpacking script (babel-greek.ins)
@@ -80,6 +80,8 @@
 
 
 \keepsilent
+% don't ask if generated files already exist somewhere on the system:
+\askforoverwritefalse
 
 \usedir{macros/latex/contrib/babel-contrib/greek}
 

Modified: branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/grmath.dtx
===================================================================
--- branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/grmath.dtx	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/source/generic/babel-greek/grmath.dtx	2023-03-04 21:09:40 UTC (rev 66347)
@@ -2,10 +2,10 @@
 %
 % Copyright 1989-2008 Johannes L. Braams and any individual authors
 % listed elsewhere in this file.  All rights reserved.
-% 
+%
 % This file is part of the Babel system.
 % --------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
 % of this license or (at your option) any later version.
@@ -13,15 +13,15 @@
 %   http://www.latex-project.org/lppl.txt
 % and version 1.3 or later is part of all distributions of LaTeX
 % version 2003/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status "maintained".
-% 
+%
 % The Current Maintainer of this work is Johannes Braams.
-% 
+%
 % The list of all files belonging to the Babel system is
 % given in the file `manifest.bbl. See also `legal.bbl' for additional
 % information.
-% 
+%
 % The list of derived (unpacked) files belonging to the distribution
 % and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
@@ -37,11 +37,11 @@
 %  appears in the modified file.
 %
 %  Please report errors or suggestions for improvement to
-%    
+%
 %    Apostolos Syropoulos
 %    366, 28th October Str.
 %    GR-671 00 Xanthi, GREECE
-%    
+%
 %    apostolo at platon.ee.duth.gr or apostolo at obelix.ee.duth.gr
 %
 %\fi
@@ -57,9 +57,9 @@
 %    \end{macrocode}
 %\fi
 %
-% \changes{grmath-1.2}{2001/02/12}{Package provides options ``grlog'' 
+% \changes{grmath-1.2}{2001/02/12}{Package provides options ``grlog''
 %          (default) and ``enlog'' that create Greek and Latin names
-%          log functions} 
+%          log functions}
 %
 % \title{Greek log-like Operators}
 % \author{Apostolos Syropoulos\\
@@ -71,10 +71,10 @@
 %
 % \MakeShortVerb{|}
 % \section{What is this all about?}
-% 
+%
 % In Greece, until recently, it was common practice to write down most
-% log-like functions as abbreviations of their Greek names. Consequently, 
-% high school students and even university freshmen were not familiar with 
+% log-like functions as abbreviations of their Greek names. Consequently,
+% high school students and even university freshmen were not familiar with
 % the Latin names employed in international literature. However, this practice
 % is fading away in universities but it is still in wide use in books for
 % high schools, mainly because the Latin names would produce nothing but
@@ -82,7 +82,7 @@
 % so that they produce the Greek name, instead of the Latin one. The package
 % can be used only in conjunction with the |greek| option of the |babel|
 % package. The new option |enlog| allows one to keep the Latin names for
-% the log functions. 
+% the log functions.
 % \StopEventually
 %
 % \section{The Implementation}
@@ -98,7 +98,7 @@
 % The next thing we do is to process the options. The default option
 % ``grlog'' generates Greek names for log functions and the ``enlog''
 % option generates Latin names for log functions.
-%    \begin{macrocode} 
+%    \begin{macrocode}
 \DeclareOption{grlog}{%
   \def\log{\mathop{\mathgroup\symgroperators log_{10}}\nolimits}
   \def\ln{\mathop{\mathgroup\symgroperators log_%
@@ -111,10 +111,10 @@
 \ExecuteOptions{grlog}
 \ProcessOptions
 %    \end{macrocode}
-% 
+%
 % Now we check to see if the |babel| package is loaded with at least
 % the |greek| option. In case it isn't, we opt to produce an error message.
-%    \begin{macrocode} 
+%    \begin{macrocode}
 \@ifpackagewith{babel}{greek}{}{%
      \@ifpackagewith{babel}{polutonikogreek}{}{%
      \PackageError{grmath}{%
@@ -135,7 +135,7 @@
 %    \end{macrocode}
 %
 % We are now ready to proceed with the redefinitions of the log-like
-% operator names. 
+% operator names.
 %    \begin{macrocode}
 \def\sin{\mathop{\mathgroup\symgroperators hm}\nolimits}
 \def\cos{\mathop{\mathgroup\symgroperators sun}\nolimits}
@@ -162,7 +162,7 @@
 %    \end{macrocode}
 %
 % \section*{Dedication}
-% I would like to dedicate this piece of work to my son 
+% I would like to dedicate this piece of work to my son
 % \begin{center}Demetrios-Georgios.\end{center}
 % \Finale
 \endinput

Modified: branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/athnum.sty
===================================================================
--- branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/athnum.sty	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/athnum.sty	2023-03-04 21:09:40 UTC (rev 66347)
@@ -7,7 +7,7 @@
 %% athnum.dtx  (with options: `package')
 %% This is a generated file.
 %% 
-%% Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams,  Guenter Milde,
+%% Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams, Günter Milde,
 %% and the authors listed elsewhere in this file. All rights reserved.
 %% 
 %% This file was generated from file(s) of the babel-greek package.
@@ -26,32 +26,40 @@
 %% The Current Maintainer of this work is Günter Milde <milde at users.sf.net>.
 %% 
 %% Babel-greek is a contributed package providing support for the Greek
-%% language and script via the Babel system (http://www.ctan.org/pkg/babel).
+%% language and script via the Babel system (https://ctan.org/pkg/babel).
 %% 
 %% The list of derived (unpacked) files belonging to this work
 %% and covered by LPPL is defined by the unpacking script (babel-greek.ins)
 %% which is part of the package.
-%% \CheckSum{125}
+%% \CheckSum{150}
 %% This is file `athnum.dtx'
 %% (c) 1997-2007 Apostolos Syropoulos.
+%% Changes in version 2.0 © 2022 Günter Milde
 %% All rights reserved.
 \NeedsTeXFormat{LaTeX2e}[1996/01/01]
-\ProvidesPackage{athnum}[2003/08/24\space v1.1]
-\typeout{Package: `athnum' v1.1\space <2003/08/24> (A. Syropoulos)}
-\@ifpackagewith{babel}{greek}{}{%
-   \@ifpackagewith{babel}{polutonikogreek}{}{%
-     \PackageError{athnum}{%
-     `greek' option of the `babel'\MessageBreak
-      package hasn't been loaded}{%
-      The commands provided by this package\MessageBreak
-      are specially designed for greek language\MessageBreak
-      typesetting with the `babel' package. Load\MessageBreak
-      it with at least the `greek' option.}\relax
-      }}
-\DeclareTextCommand{\PiDelta}{LGR}{\char"02\relax}
-\DeclareTextCommand{\PiEta}{LGR}{\char"03\relax}
-\DeclareTextCommand{\PiChi}{LGR}{\char"04\relax}
-\DeclareTextCommand{\PiMu}{LGR}{\char"05\relax}
+\ProvidesPackage{athnum}[2022/12/08\space v2.0]
+\typeout{Package: `athnum' v2.0\space <2022/12/08> (A. Syropoulos)}
+\ifdefined \UnicodeEncodingName % set by LaTeX for XeTeX/LuaTeX
+  \providecommand*{\greekfontencoding}{\UnicodeEncodingName}
+  \providecommand*{\athnum at greek@fontencdef}{tuenc-greek}
+\else
+  \providecommand*{\greekfontencoding}{LGR}
+  \providecommand*{\athnum at greek@fontencdef}{lgrenc}
+\fi
+\@ifl at aded{def}{\athnum at greek@fontencdef}{}
+{% else
+  \InputIfFileExists{\athnum at greek@fontencdef .def}{}{% else
+    \PackageError{athnum}{Font support for the Greek script missing.\\
+               can't typeset Greek symbols.\\
+               Install the "greek-fontenc" package\\
+               or use XeTeX/LuaTeX.}
+              {I can't find the \athnum at greek@fontencdef .def file
+               for the Greek fonts (encoding \greekfontencoding)}
+    \@@end
+  }
+}
+\ProvideTextCommandDefault{\ensuregreek}[1]{%
+  \leavevmode{\fontencoding{\greekfontencoding}\selectfont #1}}
 \newcount\@ath at num
 \DeclareRobustCommand*{\@@athnum}[1]{%
         \@ath at num#1\relax
@@ -65,33 +73,38 @@
           Illegal value (\the\@ath at num) for athenian numeral}%
         \else
             \@whilenum\@ath at num>49999\do{%
-               \PiMu\advance\@ath at num-50000}%
+               \textpentemuria\advance\@ath at num-50000}%
             \@whilenum\@ath at num>9999\do{%
-               M\advance\@ath at num-\@M}%
+               \textMu\advance\@ath at num-\@M}%
             \ifnum\@ath at num>4999%
-               \PiChi\advance\@ath at num-5000%
+               \textpenteqilioi\advance\@ath at num-5000%
             \fi\relax
             \@whilenum\@ath at num>999\do{%
-               Q\advance\@ath at num-\@m}%
+               \textChi\advance\@ath at num-\@m}%
             \ifnum\@ath at num>499%
-               \PiEta\advance\@ath at num-500%
+               \textpentehekaton\advance\@ath at num-500%
             \fi\relax
             \@whilenum\@ath at num>99\do{%
-               H\advance\@ath at num-100}%
+               \textEta\advance\@ath at num-100}%
             \ifnum\@ath at num>49%
-               \PiDelta\advance\@ath at num-50%
+               \textpentedeka\advance\@ath at num-50%
             \fi\relax
             \@whilenum\@ath at num>9\do{%
-               D\advance\@ath at num by-10}%
+               \textDelta\advance\@ath at num by-10}%
             \@whilenum\@ath at num>4\do{%
-               P\advance\@ath at num-5}%
-            \ifcase\@ath at num\or I\or II\or III\or IIII\fi%
+               \textPi\advance\@ath at num-5}%
+            \ifcase\@ath at num \or \textIota
+       \or \textIota\textIota
+       \or \textIota\textIota\textIota
+       \or \textIota\textIota\textIota\textIota\fi%
    \fi\fi}
 \def\@athnum#1{%
      \expandafter\@@athnum\expandafter{\the#1}}
 \def\athnum#1{%
-     \@ath at num#1\relax
-     \@athnum{\@ath at num}}
+     \ensuregreek{%
+       \@ath at num#1\relax
+       \@athnum{\@ath at num}}%
+     }
 \endinput
 %%
 %% End of file `athnum.sty'.

Modified: branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/greek.ldf
===================================================================
--- branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/greek.ldf	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/greek.ldf	2023-03-04 21:09:40 UTC (rev 66347)
@@ -7,7 +7,7 @@
 %% babel-greek.dtx  (with options: `code')
 %% This is a generated file.
 %% 
-%% Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams,  Guenter Milde,
+%% Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams, Günter Milde,
 %% and the authors listed elsewhere in this file. All rights reserved.
 %% 
 %% This file was generated from file(s) of the babel-greek package.
@@ -26,43 +26,55 @@
 %% The Current Maintainer of this work is Günter Milde <milde at users.sf.net>.
 %% 
 %% Babel-greek is a contributed package providing support for the Greek
-%% language and script via the Babel system (http://www.ctan.org/pkg/babel).
+%% language and script via the Babel system (https://ctan.org/pkg/babel).
 %% 
 %% The list of derived (unpacked) files belonging to this work
 %% and covered by LPPL is defined by the unpacking script (babel-greek.ins)
 %% which is part of the package.
 \ProvidesLanguage{greek}
-        [2020/11/10 v1.10 Greek support for the babel system]
+        [2023/03/04 1.12 Greek support for the babel system]
 %% File `babel-greek.dtx'
 %% Greek language Definition File
 %% Copyright © 1997, 2005 Apostolos Syropoulos, Johannes Braams
-%% Copyright © 2013, 2019 Günter Milde
+%% Copyright © 2013 -- 2020 Günter Milde
 %% Please report errors to: Günter Milde <milde at users.sf.net>
 \LdfInit\CurrentOption{captions\CurrentOption}
 \gdef\CurrentOption{greek}
 \ifx\l at greek\@undefined
   \@nopatterns{greek}
-  \adddialect\l at greek 0\fi
+  \adddialect\l at greek 0
+\fi
 \ifx\l at monogreek\@undefined
-  \adddialect\l at monogreek 0\fi
+  \@nopatterns{greek}
+  \adddialect\l at monogreek 0
+\fi
 \ifx\l at ancientgreek\@undefined
-  \adddialect\l at ancientgreek 0\fi
+  \@nopatterns{greek}
+  \adddialect\l at ancientgreek 0
+\fi
 \newcount\bbl at monogreek \bbl at monogreek=\l at monogreek
 \newcount\bbl at polygreek \bbl at polygreek=\l at greek
-\newcount\bbl at ancientgreek  \bbl at ancientgreek=\l at ancientgreek
-\addto\extrasgreek{\let\l at greek\bbl at monogreek\relax}
+\newcount\bbl at ancientgreek \bbl at ancientgreek=\l at ancientgreek
+\addto\extrasgreek{\let\l at greek=\bbl at monogreek}
 \addto\extraspolutonikogreek{\l at greek=\bbl at polygreek}
 \addto\extrasancientgreek{\l at greek=\bbl at ancientgreek}
+\providehyphenmins{\CurrentOption}{\@ne\@ne}
 \bbl at declare@ttribute{greek}{polutoniko}{%
   \expandafter\addto\expandafter\extrasgreek
     \expandafter{\extraspolutonikogreek}%
   \let\captionsgreek\captionspolutonikogreek
-  \let\gr at month\gr at c@month
+  \let\gr at month\gr at polutoniko@month
   \let\l at polutonikogreek\l at greek
   \let\datepolutonikogreek\dategreek
   \let\extraspolutonikogreek\extrasgreek
   \let\noextraspolutonikogreek\noextrasgreek
-  }
+}
+\bbl at declare@ttribute{greek}{polytonic}{%
+  \expandafter\addto\expandafter\extrasgreek
+    \expandafter{\extraspolutonikogreek}%
+  \let\captionsgreek\captionspolutonikogreek
+  \let\gr at month\gr at polutoniko@month
+}
 \bbl at declare@ttribute{greek}{ancient}{%
   \expandafter\addto\expandafter\extrasgreek
     \expandafter{\extraspolutonikogreek}% multi-accented letters
@@ -69,18 +81,23 @@
   \expandafter\addto\expandafter\extrasgreek
     \expandafter{\extrasancientgreek}%
   \let\captionsgreek\captionsancientgreek
-  \let\gr at month\gr at c@month % (modern) polytonic month names
-  }
-\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
+  \let\gr at month\gr at polutoniko@month % (modern) polytonic month names
+  \renewcommand{\greeknumeralninety}{\textqoppa}%
+  \renewcommand{\greeknumeralNinety}{\textQoppa}%
+}
+\ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
   \providecommand*{\greekfontencoding}{\UnicodeEncodingName}
   \providecommand*{\bbl at greek@fontencdef}{tuenc-greek}
 \else
   \providecommand*{\greekfontencoding}{LGR}
   \providecommand*{\bbl at greek@fontencdef}{lgrenc}
+  % TODO the more generic version fails :(
+  % \edef\bbl at greek@fontencdef{\lowercase{\greekfontencoding}enc}
 \fi
 \@ifl at aded{def}{\bbl at greek@fontencdef}{}
 {% else
-  \InputIfFileExists{\bbl at greek@fontencdef .def}{}{% else
+  \InputIfFileExists{\bbl at greek@fontencdef .def}{}
+  {% else
     \bbl at error{Font support for the Greek script missing.\\
                babel-greek can't typeset Greek.\\
                Install the "greek-fontenc" package\\
@@ -90,40 +107,92 @@
     \@@end
   }
 }
+\AtBeginDocument{%
+  \@ifl at aded{def}{puenc}%
+    {\@ifl at aded{def}{puenc-greek}
+       {}%
+       {\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}%
+        \makeatletter
+        \InputIfFileExists{puenc-greek.def}%
+          {}%
+          {\bbl at warning{I cannot find the "puenc" Greek fixes
+                        from "greek-fontenc".}%
+          }%
+        \RestoreAtCatcode
+       }%
+    }% end "puenc.def loaded" branch
+    {}% empty "puenc.def not loaded" branch
+}
 \ProvideTextCommandDefault{\greekscript}{%
   \fontencoding{\greekfontencoding}\selectfont
-      \def\encodingdefault{\greekfontencoding}}
+  \def\encodingdefault{\greekfontencoding}}
 \ProvideTextCommandDefault{\ensuregreek}[1]{%
-  \leavevmode{\greekscript #1}}
-\AtBeginDocument{
-  \@ifl at aded{def}{puenc}{
-    \makeatletter % required inside \AtBeginDocument
-    \InputIfFileExists{puenc-greek.def}{}{% else
-      \bbl at warning{I can't find the file puenc-greek.def from "greek-fontenc".}
-    }
-    \makeatother
-  }{}
+  \leavevmode {\greekscript #1}}
+\def\BabelGreekRestoreFontEncoding{%
+  \ifx\cf at encoding\BabelGreekPreviousFontEncoding
+  \else
+    \let\encodingdefault\BabelGreekPreviousFontEncoding
+    \fontencoding{\encodingdefault}\selectfont
+  \fi
 }
+\addto\extrasgreek{%
+  \let\BabelGreekPreviousFontEncoding\cf at encoding
+  \greekscript}
+\addto\noextrasgreek{\BabelGreekRestoreFontEncoding}
 \@ifl at aded{def}{lgrenc}{%
-  \ProvideTextCommand{\textcopyright}{LGR}{\ensureascii{\textcopyright}}
-  \ProvideTextCommand{\textregistered}{LGR}{\ensureascii{\textregistered}}
-  \ProvideTextCommand{\texttrademark}{LGR}{\ensureascii{\texttrademark}}
-  \let\ltx at amp\&
-  \ProvideTextCommandDefault{\textampersand}{\ltx at amp}
-  \ProvideTextCommand{\textampersand}{LGR}{\ensureascii{\ltx at amp}}
-  \DeclareRobustCommand{\&}{\ifmmode\ltx at amp\else\textampersand\fi}
-  \ProvideTextCommand{\SS}{LGR}{\ensureascii{\SS}}
-  \def\@roman#1{\expandafter\ensureascii\expandafter{\romannumeral#1}}
-  \def\@Roman#1{\expandafter\ensureascii\expandafter{%
-                \expandafter\@slowromancap\romannumeral#1@}}
   \DeclareRobustCommand{\greektext}{%
     \fontencoding{LGR}\selectfont
     \def\encodingdefault{LGR}}
-  \DeclareRobustCommand{\textgreek}[1]{\leavevmode{\greektext #1}}
+  \DeclareTextFontCommand{\lgrfont}{\greektext}
+  \let\textgreek\lgrfont
   \def\outlfamily{\usefont{LGR}{cmro}{m}{n}}
   \DeclareTextFontCommand{\textol}{\outlfamily}
-}{} % End of LGR fixes.
-\providehyphenmins{\CurrentOption}{\@ne\@ne}
+  \ProvideTextCommand{\textcopyright}{LGR}{\ensureascii{\textcopyright}}
+  \ProvideTextCommand{\textregistered}{LGR}{\ensureascii{%
+                                                       \textregistered}}
+  \ProvideTextCommand{\texttrademark}{LGR}{\ensureascii{\texttrademark}}
+  \let\bbl at greek@original at amp\&
+  \ProvideTextCommandDefault{\textampersand}{\bbl at greek@original at amp}
+  \ProvideTextCommand{\textampersand}{LGR}{%
+    \ensureascii{\bbl at greek@original at amp}}
+  \ProvideTextCommandDefault{\EnsureStandardFontEncoding}{\@firstofone}
+  \ProvideTextCommand{\EnsureStandardFontEncoding}{LGR}[1]{%
+                                                      \ensureascii{#1}}
+  \AtBeginDocument{\@ifpackageloaded{hyperref}
+                     {\pdfstringdefDisableCommands{%
+                         \let\EnsureStandardFontEncoding\@firstofone}}
+                     {}}
+}{}
+
+\def\bbl at tempa{LGR}
+\ifx\greekfontencoding\bbl at tempa
+  \def\bbl at greek@roman#1{\expandafter\EnsureStandardFontEncoding%
+                         \expandafter{\romannumeral#1}}
+  \def\bbl at greek@Roman#1{\expandafter\EnsureStandardFontEncoding%
+           \expandafter{\expandafter\@slowromancap\romannumeral#1@}}
+  \DeclareRobustCommand{\bbl at greek@ampersand}{%
+           \ifmmode\bbl at greek@original at amp\else\textampersand\fi}
+  \bbl at xin@{,no-LGR-fixes,}{,\BabelModifiers,}%
+  \ifin@
+    % skip re-definitions
+  \else
+    \bbl at xin@{,local-LGR-fixes,}{,\BabelModifiers,}%
+    \ifin@
+      \addto\extrasgreek{%
+        \babel at save\@roman
+        \babel at save\@Roman
+        \let\@roman\bbl at greek@roman
+        \let\@Roman\bbl at greek@Roman
+        \babel at save\&%
+        \let\&\bbl at greek@ampersand%
+        }
+    \else
+      \let\@roman\bbl at greek@roman
+      \let\@Roman\bbl at greek@Roman
+      \let\&\bbl at greek@ampersand
+    \fi
+  \fi
+\fi
 \addto\captionsgreek{%
   \def\prefacename{\textPi\textrho\acctonos\textomicron\textlambda
     \textomicron\textgamma\textomicron\textfinalsigma}%
@@ -131,8 +200,9 @@
     \textphi\textomicron\textrho\acctonos\textepsilon\textfinalsigma}%
   \def\abstractname{\textPi\textepsilon\textrho\acctonos\textiota
     \textlambda\texteta\textpsi\texteta}%
-  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota\textomicron
-    \textgamma\textrho\textalpha\textphi\acctonos\textiota\textalpha}%
+  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota
+    \textomicron\textgamma\textrho\textalpha\textphi\acctonos
+    \textiota\textalpha}%
   \def\chaptername{\textKappa\textepsilon\textphi\acctonos\textalpha
     \textlambda\textalpha\textiota\textomicron}%
   \def\appendixname{\textPi\textalpha\textrho\acctonos\textalpha\textrho
@@ -146,7 +216,8 @@
     \textomega\textnu}%
   \def\listtablename{\textKappa\textalpha\texttau\acctonos\textalpha
     \textlambda\textomicron\textgamma\textomicron\textfinalsigma{}
-    \textPi\textiota\textnu\acctonos\textalpha\textkappa\textomega\textnu}%
+    \textPi\textiota\textnu\acctonos\textalpha\textkappa\textomega
+    \textnu}%
   \def\indexname{\textEpsilon\textupsilon\textrho\textepsilon
     \texttau\acctonos\texteta\textrho\textiota\textomicron}%
   \def\figurename{\textSigma\textchi\acctonos\texteta\textmu\textalpha}%
@@ -161,14 +232,16 @@
   \def\headtoname{\textPi\textrho\textomicron\textfinalsigma}%
   \def\pagename{\textSigma\textepsilon\textlambda\acctonos\textiota
     \textdelta\textalpha}%
-  \def\seename{\textbeta\textlambda\acctonos\textepsilon\textpi\textepsilon}%
-  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi\textepsilon{}
-    \textepsilon\textpi\acctonos\textiota\textsigma\texteta\textfinalsigma}%
+  \def\seename{\textbeta\textlambda\acctonos\textepsilon\textpi
+    \textepsilon}%
+  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi
+    \textepsilon{} \textepsilon\textpi\acctonos\textiota\textsigma
+    \texteta\textfinalsigma}%
   \def\proofname{\textAlpha\textpi\acctonos\textomicron
     \textdelta\textepsilon\textiota\textxi\texteta}%
   \def\glossaryname{\textGamma\textlambda\textomega\textsigma
     \textsigma\acctonos\textalpha\textrho\textiota}%
-  }
+}
 \let\captionspolutonikogreek\captionsgreek
 \addto\captionspolutonikogreek{%
   \def\refname{\accpsili\textAlpha\textnu\textalpha
@@ -175,54 +248,64 @@
     \textphi\textomicron\textrho\accvaria\textepsilon\textfinalsigma}%
   \def\indexname{\textEpsilon\accdasia\textupsilon\textrho\textepsilon
     \texttau\acctonos\texteta\textrho\textiota\textomicron}%
-  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu\textalpha}%
+  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu
+    \textalpha}%
   \def\headtoname{\textPi\textrho\accvaria\textomicron\textfinalsigma}%
-  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi\textepsilon{}
-    \accpsili\textepsilon\textpi\acctonos\textiota\textsigma\texteta\textfinalsigma}%
+  \def\alsoname{\textbeta\textlambda\acctonos\textepsilon\textpi
+    \textepsilon{} \accpsili\textepsilon\textpi\acctonos\textiota
+    \textsigma\texteta\textfinalsigma}%
   \def\proofname{\accpsili\textAlpha\textpi\acctonos\textomicron
     \textdelta\textepsilon\textiota\textxi\texteta}%
 }
 \let\captionsancientgreek\captionsgreek
 \addto\captionsancientgreek{%
-  \def\prefacename{\textPi\textrho\textomicron\textomicron\acctonos\textiota\textmu
-    \textiota\textomicron\textnu}%
-  \def\refname{\accpsili\textAlpha\textnu\textalpha\textphi\textomicron\textrho
-    \textalpha\accvaria\textiota}%
-  \def\abstractname{\textPi\textepsilon\textrho\acctonos\textiota\textlambda\texteta
-    \textpsi\textiota\textvarsigma}%
-  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota\textomicron
-    \textgamma\textrho\textalpha\textphi\acctonos\textiota\textalpha}%
-  \def\chaptername{\textKappa\textepsilon\textphi\acctonos\textalpha\textlambda
-    \textalpha\textiota\textomicron\textnu}%
-  \def\appendixname{\textPi\textalpha\textrho\acctonos\textalpha\textrho\texttau
-    \texteta\textmu\textalpha}%
-  \def\contentsname{\textPi\textepsilon\textrho\textiota\textepsilon\textchi
-    \acctonos\textomicron\textmu\textepsilon\textnu\textalpha}%
-  \def\listfigurename{\textKappa\textalpha\texttau\acctonos\textalpha\textlambda
-    \textomicron\textgamma\textomicron\textvarsigma{}
-    \textsigma\textchi\texteta\textmu\acctonos\textalpha\texttau\textomega\textnu}%
-  \def\listtablename{\textKappa\textalpha\texttau\acctonos\textalpha\textlambda
-    \textomicron\textgamma\textomicron\textvarsigma{}
-    \textpi\textiota\textnu\acctonos\textalpha\textkappa\textomega\textnu}%
-  \def\indexname{\textEpsilon\accdasia\textupsilon\textrho\textepsilon\texttau
-    \acctonos\texteta\textrho\textiota\textomicron\textnu}%
-  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu\textalpha}%
+  \def\prefacename{\textPi\textrho\textomicron\textomicron
+    \acctonos\textiota\textmu\textiota\textomicron\textnu}%
+  \def\refname{\accpsili\textAlpha\textnu\textalpha\textphi\textomicron
+    \textrho\textalpha\accvaria\textiota}%
+  \def\abstractname{\textPi\textepsilon\textrho\acctonos\textiota
+    \textlambda\texteta\textpsi\textiota\textvarsigma}%
+  \def\bibname{\textBeta\textiota\textbeta\textlambda\textiota
+    \textomicron\textgamma\textrho\textalpha\textphi
+    \acctonos\textiota\textalpha}%
+  \def\chaptername{\textKappa\textepsilon\textphi\acctonos\textalpha
+    \textlambda\textalpha\textiota\textomicron\textnu}%
+  \def\appendixname{\textPi\textalpha\textrho\acctonos\textalpha
+    \textrho\texttau\texteta\textmu\textalpha}%
+  \def\contentsname{\textPi\textepsilon\textrho\textiota\textepsilon
+    \textchi\acctonos\textomicron\textmu\textepsilon\textnu\textalpha}%
+  \def\listfigurename{\textKappa\textalpha\texttau\acctonos\textalpha
+    \textlambda\textomicron\textgamma\textomicron\textvarsigma{}
+    \textsigma\textchi\texteta\textmu\acctonos\textalpha\texttau
+    \textomega\textnu}%
+  \def\listtablename{\textKappa\textalpha\texttau\acctonos\textalpha
+    \textlambda\textomicron\textgamma\textomicron\textvarsigma{}
+    \textpi\textiota\textnu\acctonos\textalpha\textkappa
+    \textomega\textnu}%
+  \def\indexname{\textEpsilon\accdasia\textupsilon\textrho\textepsilon
+    \texttau\acctonos\texteta\textrho\textiota\textomicron\textnu}%
+  \def\figurename{\textSigma\textchi\accperispomeni\texteta\textmu
+    \textalpha}%
   \def\tablename{\textPi\acctonos\textiota\textnu\textalpha\textxi}%
-  \def\partname{\textMu\acctonos\textepsilon\textrho\textomicron\textvarsigma}%
+  \def\partname{\textMu\acctonos\textepsilon\textrho\textomicron
+    \textvarsigma}%
   \def\enclname{\textSigma\textupsilon\textnu\texteta\textmu\textmu
     \acctonos\textepsilon\textnu\textomega\textvarsigma}%
   \def\ccname{\textKappa\textomicron\textiota\textnu\textomicron\textpi
-    \textomicron\acctonos\textiota\texteta\textsigma\textiota\textvarsigma}%
+    \textomicron\acctonos\textiota\texteta\textsigma\textiota
+    \textvarsigma}%
   \def\headtoname{\textPi\textrho\accvaria\textomicron\textvarsigma}%
-  \def\pagename{\textSigma\textepsilon\textlambda\accvaria\textiota\textvarsigma}%
+  \def\pagename{\textSigma\textepsilon\textlambda\accvaria\textiota
+    \textvarsigma}%
   \def\seename{\accdasiaoxia\textomicron\textrho\textalpha}%
-  \def\alsoname{\accdasiaoxia\textomicron\textrho\textalpha{} \accdasia\textomega\textsigma
-    \textalpha\acctonos\textupsilon\texttau\textomega\textvarsigma}%
-  \def\proofname{\accpsili\textAlpha\textpi\acctonos\textomicron\textdelta\textepsilon
-    \textiota\textxi\textiota\textvarsigma}%
+  \def\alsoname{\accdasiaoxia\textomicron\textrho\textalpha{}
+    \accdasia\textomega\textsigma\textalpha\acctonos\textupsilon
+    \texttau\textomega\textvarsigma}%
+  \def\proofname{\accpsili\textAlpha\textpi\acctonos\textomicron
+    \textdelta\textepsilon\textiota\textxi\textiota\textvarsigma}%
   \def\glossaryname{\textGamma\textlambda\textomega\textsigma\textsigma
     \acctonos\textalpha\textrho\textiota\textomicron\textnu}%
- }
+}
 \def\gr at month{%
   \ifcase\month\or
     \textIota\textalpha\textnu\textomicron\textupsilon\textalpha
@@ -229,8 +312,9 @@
       \textrho\acctonos\textiota\textomicron\textupsilon \or
     \textPhi\textepsilon\textbeta\textrho\textomicron\textupsilon
       \textalpha\textrho\acctonos\textiota\textomicron\textupsilon \or
-    \textMu\textalpha\textrho\texttau\acctonos\textiota\textomicron\textupsilon
-    \or \textAlpha\textpi\textrho\textiota\textlambda\acctonos\textiota
+    \textMu\textalpha\textrho\texttau\acctonos\textiota\textomicron
+      \textupsilon \or
+    \textAlpha\textpi\textrho\textiota\textlambda\acctonos\textiota
       \textomicron\textupsilon \or
     \textMu\textalpha\'"\textiota\textomicron\textupsilon \or
     \textIota\textomicron\textupsilon\textnu\acctonos\textiota
@@ -249,12 +333,10 @@
       \textrho\acctonos\textiota\textomicron\textupsilon
   \fi
 }
-\def\dategreek{%
-  \def\today{\number\day \space \gr at month\space \number\year}}
-\def\gr at c@month{%
+\def\gr at polutoniko@month{%
   \ifcase\month\or
-    \accpsili\textIota\textalpha\textnu\textomicron\textupsilon\textalpha
-      \textrho\acctonos\textiota\textomicron\textupsilon \or
+    \accpsili\textIota\textalpha\textnu\textomicron\textupsilon
+      \textalpha\textrho\acctonos\textiota\textomicron\textupsilon \or
     \textPhi\textepsilon\textbeta\textrho\textomicron\textupsilon
       \textalpha\textrho\acctonos\textiota\textomicron\textupsilon \or
     \textMu\textalpha\textrho\texttau\acctonos\textiota\textomicron
@@ -261,7 +343,8 @@
       \textupsilon \or
     \accpsili\textAlpha\textpi\textrho\textiota\textlambda
       \acctonos\textiota\textomicron\textupsilon \or
-    \textMu\textalpha\"'\textiota\textomicron\textupsilon \or
+    \textMu\textalpha\accdialytikatonos\textiota\textomicron
+      \textupsilon \or
     \accpsili\textIota\textomicron\textupsilon\textnu
       \acctonos\textiota\textomicron\textupsilon \or
     \accpsili\textIota\textomicron\textupsilon\textlambda
@@ -278,19 +361,23 @@
       \textbeta\textrho\acctonos\textiota\textomicron\textupsilon
   \fi
 }
+\def\dategreek{%
+  \def\today{\number\day \space \gr at month\space \number\year}}
 \def\Grtoday{%
   \expandafter\Greeknumeral\expandafter{\the\day}\space
-  \gr at c@month \space
+  \gr at polutoniko@month \space
   \expandafter\Greeknumeral\expandafter{\the\year}}
-\addto\extrasgreek{\greekscript}
-\addto\noextrasgreek{\latintext}
+\providecommand*{\greeknumeralsix}{\textstigma}
+\providecommand*{\greeknumeralSix}{\textStigma}
+\providecommand*{\greeknumeralninety}{\textkoppa}
+\providecommand*{\greeknumeralNinety}{\textKoppa}
 \def\greeknumeral#1{%
   {\greekscript
-  \bbl at greek@GreekNum\@firstoftwo{#1}}%
+   \bbl at greek@GreekNum\@firstoftwo{#1}}%
 }
 \def\Greeknumeral#1{%
   {\greekscript
-  \bbl at greek@GreekNum\@secondoftwo{#1}}%
+   \bbl at greek@GreekNum\@secondoftwo{#1}}%
 }
 \def\bbl at greek@ill at value#1{%
   \PackageWarningNoLine{babel}{Illegal value (#1) for greeknumeral}%
@@ -350,7 +437,7 @@
   \or\textgamma\textGamma
   \or\textdelta\textDelta
   \or\textepsilon\textEpsilon
-  \or\textstigmagreek\textStigmagreek
+  \or\greeknumeralsix\greeknumeralSix % stigma or digamma
   \or\textzeta\textZeta
   \or\texteta\textEta
   \or\texttheta\textTheta
@@ -375,7 +462,7 @@
   \or\textxi\textXi
   \or\textomicron\textOmicron
   \or\textpi\textPi
-  \or\textkoppa\textKoppa
+  \or\greeknumeralninety\greeknumeralNinety % koppa or qoppa
   \else
     {}{}%
   \fi
@@ -416,27 +503,30 @@
   \bbl at greek@GreekNumIII\@firstofone#1#2#3#4%
   \bbl at greek@@GreekNum#1{#5#6#7}%
 }
-\let\latin at alph\@alph
-\let\latin at Alph\@Alph
 \def\greek at alph#1{\expandafter\greeknumeral\expandafter{\the#1}}
 \def\greek at Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}}
 \addto\extrasgreek{%
+  \babel at save\@alph
+  \babel at save\@Alph
   \let\@alph\greek at alph
-  \let\@Alph\greek at Alph}
-\addto\noextrasgreek{%
-  \let\@alph\latin at alph
-  \let\@Alph\latin at Alph}
-\@ifl at aded{def}{lgrenc}{%
-  \begingroup
-    \@ifundefined{active at char\string!}{}{\catcode`!=12\relax}
-    \catcode`\~=12%
-    \lccode`\!=`\~%
-    \lowercase{\def\x{\endgroup
-        \def\greek at tilde{!}}\x}
+  \let\@Alph\greek at Alph
+}
+\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`\'=`\'%
     \babel at savevariable{\lccode`\"}\lccode`\"=`\"%
+  }
+  \addto\extraspolutonikogreek{%
+    % \l at greek=\bbl at polygreek
+    \babel at savevariable{\lccode`\<}\lccode`\<=`\<%
+    \babel at savevariable{\lccode`\>}\lccode`\>=`\>%
+    \babel at savevariable{\lccode`\~}\lccode`\~=`\~%
+    \babel at savevariable{\lccode`\|}\lccode`\|=`\|%
+    \babel at savevariable{\lccode`\`}\lccode`\`=`\`%
+  }
+  \addto\extrasgreek{%
     % ``high bit characters'': set in a loop and correct exceptions
     \@tempcnta=128%
     \@whilenum\@tempcnta<253\do{%
@@ -455,38 +545,44 @@
     \lccode219=240% GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
     \lccode223=244% GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
   }
-
-  \addto\extraspolutonikogreek{%
-    % \l at greek=\bbl at polygreek
-    \babel at savevariable{\lccode`\<}\lccode`\<=`\<%
-    \babel at savevariable{\lccode`\>}\lccode`\>=`\>%
-    \babel at savevariable{\lccode`\~}\lccode`\~=`\~%
-    \babel at savevariable{\lccode`\|}\lccode`\|=`\|%
-    \babel at savevariable{\lccode`\`}\lccode`\`=`\`%
-    }
-  \addto\extrasgreek{%
-    \babel at savevariable{\uccode`\"}\uccode`\"=`\"%
-    \babel at savevariable{\uccode`\'}\uccode`\'=159% 159 == ^^9f
-    }
-  \addto\extraspolutonikogreek{%
-    \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%
-    }
-  \@tempcnta=\lccode`\~
-  \lccode`\~=159
-  \lowercase{%
-    \initiate at active@char{~}%
-    \declare at shorthand{greek}{~}{}}
-  \lccode`\~=\@tempcnta
-  \DeclareTextCompositeCommand{\"}{LGR}{^^9f}{\accdialytika}
-  \DeclareTextCompositeCommand{\'}{LGR}{^^9f}{\LGR at hiatus}
-  \DeclareTextCompositeCommand{\`}{LGR}{^^9f}{\LGR at hiatus}
-  \addto\extraspolutonikogreek{\languageshorthands{greek}}%
+  % fallback for for LaTeX versions older than 2020-10-01
+  \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
+  \IfFormatAtLeastTF{2022/06/01}%
+    {}
+    {% else
+     \addto\extrasgreek{%
+       \babel at savevariable{\uccode`\"}\uccode`\"=`\"%
+       \babel at savevariable{\uccode`\'}\uccode`\'=159% 159 == ^^9f
+     }
+     \addto\extraspolutonikogreek{%
+       \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
+        \uccode`\~159%
+        \uppercase{%
+     \egroup
+        \def~{}%
+     }
+     \DeclareTextCompositeCommand{\"}{LGR}{^^9f}{\accdialytika}
+     \DeclareTextCompositeCommand{\'}{LGR}{^^9f}{\LGR at hiatus}
+     \DeclareTextCompositeCommand{\`}{LGR}{^^9f}{\LGR at accdropped}
+     \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
+       \DeclareTextCompositeCommand{\"}{TU}{^^9f}{\accdialytika}
+     \fi
+    }% end of the \IfFormatAtLeastTF else block
+  \begingroup
+    \@ifundefined{active at char\string!}{}{\catcode`!=12\relax}
+    \catcode`\~=12%
+    \lccode`\!=`\~%
+    \lowercase{\def\x{\endgroup
+        \def\greek at tilde{!}}\x}
+  \addto\extraspolutonikogreek{\languageshorthands{greek}}
   \declare at shorthand{greek}{~}{\greek at tilde}
-}{} % End of LGR-specific code.
+\fi % End of LGR-specific code.
 \providecommand*{\anwtonos}{\textdexiakeraia}
 \providecommand*{\katwtonos}{\textaristerikeraia}
 \providecommand*{\qoppa}{\textkoppa}
@@ -498,10 +594,6 @@
 \providecommand*{\vardigamma}{\textvardigamma}
 \providecommand*{\euro}{\texteuro}
 \providecommand*{\permill}{\textperthousand}
-\@ifl at aded{def}{lgrenc}{%
-  \ProvideTextCommand{\textKoppa}{LGR}{\textkoppa}
-  \ProvideTextCommand{\textmugreek}{LGR}{\textmu}
-}{}
 \ProvideTextCommand{\textmugreek}{\greekfontencoding}{\textmu}
 \ldf at finish{\CurrentOption}
 %% \CharacterTable

Modified: branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/grmath.sty
===================================================================
--- branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/grmath.sty	2023-03-04 21:09:20 UTC (rev 66346)
+++ branches/branch2022.final/Master/texmf-dist/tex/generic/babel-greek/grmath.sty	2023-03-04 21:09:40 UTC (rev 66347)
@@ -7,7 +7,7 @@
 %% grmath.dtx  (with options: `package')
 %% This is a generated file.
 %% 
-%% Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams,  Guenter Milde,
+%% Copyright 1989-2008 Apostolos Syropoulos, Johannes L. Braams, Günter Milde,
 %% and the authors listed elsewhere in this file. All rights reserved.
 %% 
 %% This file was generated from file(s) of the babel-greek package.
@@ -26,7 +26,7 @@
 %% The Current Maintainer of this work is Günter Milde <milde at users.sf.net>.
 %% 
 %% Babel-greek is a contributed package providing support for the Greek
-%% language and script via the Babel system (http://www.ctan.org/pkg/babel).
+%% language and script via the Babel system (https://ctan.org/pkg/babel).
 %% 
 %% The list of derived (unpacked) files belonging to this work
 %% and covered by LPPL is defined by the unpacking script (babel-greek.ins)



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