texlive[67268] Master/texmf-dist: babel-greek (2jun23)

commits+karl at tug.org commits+karl at tug.org
Fri Jun 2 23:23:33 CEST 2023


Revision: 67268
          http://tug.org/svn/texlive?view=revision&revision=67268
Author:   karl
Date:     2023-06-02 23:23:33 +0200 (Fri, 02 Jun 2023)
Log Message:
-----------
babel-greek (2jun23)

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

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/README.md	2023-06-02 21:23:18 UTC (rev 67267)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/README.md	2023-06-02 21:23:33 UTC (rev 67268)
@@ -4,7 +4,7 @@
 Comprehensive support for the Greek language and script with
 [Babel](https://ctan.org/pkg/babel).
 
-**Version**: 1.13.1
+**Version**: 1.13.2
 
 **Copyright**: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
                © 2013 - 2023 Günter Milde.

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html	2023-06-02 21:23:18 UTC (rev 67267)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html	2023-06-02 21:23:33 UTC (rev 67268)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta charset="utf-8" />
-<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" />
+<meta name="generator" content="Docutils 0.20.2b.dev: https://docutils.sourceforge.io/" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <meta name="dcterms.rights" content="© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 – 2023 Günter Milde." />
 <title>babel-greek</title>
@@ -308,8 +308,8 @@
 /* .. _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:					   */
+/* Note:                                                                   */
+/* This style sheet is provisional:                                        */
 /* the API is not settled and may change with any minor Docutils version.  */
 
 
@@ -648,7 +648,8 @@
   font-weight: bold;
 }
 mstyle.mathscr, mi.mathscr {
-  font-family: STIX;
+  font-family: STIX, XITSMathJax_Script, rsfs10,
+               "Asana Math", Garamond, cursive;
 }
 
 /* Adaptive page layout */
@@ -793,7 +794,7 @@
 <p class="subtitle" id="babel-support-for-the-greek-language-and-script">Babel support for the Greek language and script</p>
 <dl class="docinfo">
 <dt class="version">Version<span class="colon">:</span></dt>
-<dd class="version">1.13.1 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
+<dd class="version">1.13.2 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
 <dt class="copyright">Copyright<span class="colon">:</span></dt>
 <dd class="copyright">© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
 © 2013 – 2023 Günter Milde.</dd>
@@ -834,27 +835,27 @@
 <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="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="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>
+<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="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>
+<dt>test-*.tex</dt>
+<dd><p>Documented test samples.
+[<a class="reference external" href="test-greek.pdf">test-greek.pdf</a>, <a class="reference external" href="test-greeknum.pdf">test-greeknum.pdf</a>, <a class="reference external" href="test-athnum.pdf">test-athnum.pdf</a>]</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-*.tex</dt>
-<dd><p>Documented test samples.
-[<a class="reference external" href="test-greek.pdf">test-greek.pdf</a>, <a class="reference external" href="test-greeknum.pdf">test-greeknum.pdf</a>, <a class="reference external" href="test-athnum.pdf">test-athnum.pdf</a>]</p>
-</dd>
 </dl>
 </section>
 <section id="requirements">
@@ -1389,6 +1390,14 @@
 <li><p><a class="reference external" href="athnum.dtx">athnum.dtx</a> 2.0.1: Fix behaviour in math mode.</p></li>
 </ul>
 </dd>
+<dt>1.13.2 (2023-06-01)</dt>
+<dd><ul class="simple">
+<li><p>Warn of unsupported (or misspelled) “modifiers”
+(code contributed by Javier Bezos).</p></li>
+<li><p>Fix upcasing of text using the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a>:
+drop accents with <span class="docutils literal">\DeclareUppercaseMapping</span> (<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews37.pdf">new in LaTeX 2023</a>).</p></li>
+</ul>
+</dd>
 </dl>
 </section>
 <section id="references">

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst	2023-06-02 21:23:18 UTC (rev 67267)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst	2023-06-02 21:23:33 UTC (rev 67268)
@@ -3,7 +3,7 @@
 Babel support for the Greek language and script
 ===============================================
 
-:Version: 1.13.1 (changelog_)
+:Version: 1.13.2 (changelog_)
 
 :Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
             © 2013 -- 2023 Günter Milde.
@@ -26,21 +26,21 @@
 Files
 -----
 
+`<athnum.dtx>`_
+  Athenian (Attic, Herodianic, or acrophonic) Numerals. [`<athnum.pdf>`_]
 `<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>`_]
+`<babel-greek.ins>`_
+  DocStrip_ batch file.
 `<grmath.dtx>`_
   Greek log-like Operators. [`<grmath.pdf>`_]
-`<babel-greek.ins>`_
-  DocStrip_ batch file.
+test-\*.tex
+  Documented test samples.
+  [`<test-greek.pdf>`_, `<test-greeknum.pdf>`_, `<test-athnum.pdf>`_]
 `<usage.tex>`_
   Description of the `LGR Latin transliteration`_ and the `Greek numerals`_.
   [`<usage.pdf>`_]
-test-\*.tex
-  Documented test samples.
-  [`<test-greek.pdf>`_, `<test-greeknum.pdf>`_, `<test-athnum.pdf>`_]
 
 
 Requirements
@@ -401,6 +401,11 @@
 1.13.1 (2023-03-17)
      - Don't use text command in math mode with "keep-semicolon".
      - `athnum.dtx`_ 2.0.1: Fix behaviour in math mode.
+1.13.2 (2023-06-01)
+     - Warn of unsupported (or misspelled) "modifiers"
+       (code contributed by Javier Bezos).
+     - Fix upcasing of text using the `LGR Latin transliteration`_:
+       drop accents with ``\DeclareUppercaseMapping`` (`new in LaTeX 2023`_).
 
 .. _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
@@ -409,6 +414,8 @@
 .. _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
+.. _new in LaTeX 2023:
+    https://www.latex-project.org/news/latex2e-news/ltnews37.pdf
 
 
 References

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

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

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex	2023-06-02 21:23:18 UTC (rev 67267)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/test-case-changing.tex	2023-06-02 21:23:33 UTC (rev 67268)
@@ -24,7 +24,8 @@
 %
 \usepackage[greek,english]{babel}  % babel-greek
 % \usepackage[greek,english,provide=*]{babel}    % Babel's Greek "ini"
-\languageattribute{greek}{polutoniko}  % "modern" polytonic Greek
+% \languageattribute{greek}{polutoniko}  % "modern" polytonic Greek
+\languageattribute{greek}{ancient}
 
 
 \usepackage[unicode,colorlinks,linkcolor=blue]{hyperref}
@@ -112,7 +113,8 @@
 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{ΣΣ‌}}.
+final sigma: \langGreek{\MakeLowercase{ΣΣ‌}} (works only with "old"
+(pre-2022) \verb|\MakeLowercase|).
 
 
 \subsection{Greek extended}
@@ -314,7 +316,7 @@
   \textpi{} \textrho{} \textfinalsigma{} \textsigma{} \texttau{}
   \textupsilon{} \textphi{} \textchi{} \textpsi{} \textomega{}
   \accdialytika\textiota{} \accdialytika\textupsilon{}
-  \acctonos\textomicron{} \acctonos\textupsilon{} \acctonos\textomega{} \\
+  \acctonos\textomicron{} \acctonos\textupsilon{} \acctonos\textomega{} ␣\\
 
   ϐ  ϑ  ␣  ␣  ␣  ϕ  ϖ  ␣  Ϙ  ϙ  Ϛ  ϛ  Ϝ  ϝ  Ϟ  ϟ  \\
   \textbetasymbol{} \textthetasymbol{} ␣  ␣  ␣ \textphisymbol{}
@@ -343,7 +345,41 @@
   \MakeLowercase{\GreekAndCoptic}
 \end{quote}
 
+\subsubsection{symbol variants}
 
+\newcommand{\symbolvariants}{
+  \textbeta    \textvarbeta    \textbetasymbol    ϐ
+  \textepsilon \textvarepsilon \textepsilonsymbol ϵ
+  \texttheta   \textvartheta   \textthetasymbol   ϑ
+  \textTheta   \textvarTheta   \textThetasymbol   ϴ
+  \textkappa   \textvarkappa   \textkappasymbol   ϰ
+  \textpi      \textvarpi      \textpisymbol	  ϖ
+  \textrho     \textvarrho     \textrhosymbol 	  ϱ
+  \textphi     \textvarphi     \textphisymbol	  ϕ
+}
+
+No case change (letter, ``var''-letter, letter-``symbol'', literal symbol)
+\begin{quote}
+  \selectlanguage{greek}
+  \symbolvariants
+\end{quote}
+%
+MakeUppercase selects the matching capital lette
+\begin{quote}
+  \selectlanguage{greek}
+  \MakeUppercase{\symbolvariants}
+\end{quote}
+%
+MakeLowercase select the lowercase letter (not the symbol)
+\begin{quote}
+ \selectlanguage{greek}
+  \MakeLowercase{\textBeta Β \textEpsilon Ε
+		  \textTheta Θ \textThetasymbol \textvarTheta ϴ
+		  \textKappa Κ \textPi Π \textRho Ρ \textPhi Φ}
+\end{quote}
+
+
+
 \subsection{Greek extended}
 
 \subsubsection{short accent macros}
@@ -943,7 +979,7 @@
 
 \renewcommand{\GreekAndCoptic}{%
              ͺ  ;  ␣  ␣  ΄  ΅  Ά  ·  Έ  Ή  Ί  ␣  Ό  ␣  Ύ  Ώ  \\
-  \lgrfont{  |  ?  \: \: ' "' 'A  ; 'E 'H 'I  \:'O  \:'U 'W} \\
+  \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} \\
              Π  Ρ  ␣  Σ  Τ  Υ  Φ  Χ  Ψ  Ω  Ϊ  Ϋ  ά  έ  ή  ί  \\
@@ -1025,7 +1061,7 @@
             ῠ   ῡ    ῢ    ΰ    ␣    ␣    ῤ    ῥ     ῦ    ῧ    Ὺ    Ύ    Ῥ    ῭     ΅   `   \\
 \lgrfont{\u{u} \=u `"u  '"u    \:   \:  >r   <r    ~u  ~"u   `U   'U   <R   `"    '"   ` } \\
              ␣   ␣   ῲ    ῳ    ῴ    ␣    ῶ    ῷ     Ὸ    Ό    Ὼ    Ώ    ῼ    ´     ῾       \\
-  \lgrfont{  \:  \: `w|   w|  'w|   \:  ~w   ~w|   `O   'O   `W   'W    W|   '   <       }
+    \lgrfont{\:  \: `w|   w|  'w|   \:  ~w   ~w|   `O   'O   `W   'W    W|   '   <       }
 }
 
 \begin{quote}
@@ -1055,6 +1091,21 @@
 for an apostrophe in the LGR transliteration if followed by a space or empty
 character.
 
+Side-effect of mapping `,',~, <, and > to the "empty" char for accent
+dropping: the characters vanish if used stand-alone
+(also with the ``old'' MakeUppercase):
+\begin{quote}
+  \selectlanguage{greek}
+  ` ' ~ < > → \MakeUppercase{` ' ~ < >}
+  ``x'' <<y>> → \MakeUppercase{``x'' <<y>>}
+\end{quote}
+
+Workaround: use literal typographical quote characters:
+\begin{quote}
+  \selectlanguage{greek}
+  ‘x’ «y» → \MakeUppercase{‘x’ «y»}
+\end{quote}
+
 MakeLowercase:
 
 \begin{quote}

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

Modified: trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex	2023-06-02 21:23:18 UTC (rev 67267)
+++ trunk/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex	2023-06-02 21:23:33 UTC (rev 67268)
@@ -162,7 +162,7 @@
   Change script with \cs{ensuregreek}: |\ensuregreek{δοῦλος}|.
 
   Change language with \cs{foreignlanguage}:
-  	 	       |\foreignlanguage{greek}{δοῦλος}|.
+                           |\foreignlanguage{greek}{δοῦλος}|.
 
   Change language with \cs{selectlanguage}:
                        |\selectlanguage{greek}δοῦλος\selectlanguage{english}|.
@@ -660,6 +660,50 @@
 With the current (2023/02/10) \cs{MakeUppercase}, it works for literal
 Unicode input and named accents. The \cs{uccode} changes are ignored.
 
+
+\subsection{Iota subscript vs. iota adscript}
+
+Pre-composed capital letters with \emph{mute iota} decompose to the base
+letter and COMBINING GREEK YPOGEGRAMMENI (U+0345) even if they are named
+... WITH [... AND] PROSGEGRAMMENI for ``historic reasons''.%
+\footnote{cf. \href{https://opoudjis.net/unicode/unicode_adscript.html}
+                   {Nick Nicholas `Titlecase and Adscripts'}}
+Accordingly, the ``canonical'' LICR for capital letters with mute iota
+is the base character LICR followed by \verb|\ypogegrammeni|.
+
+Compare letters followed by \verb|\prosgegrammeni| and
+\verb|\ypogegrammeni| with the pre-composed characters and with
+character + literal GREEK YPOGEGRAMMENI.
+
+prosgegrammeni:
+\begin{quotation}
+  \selectlanguage{greek}
+  \newcommand{\alphapros}{\textalpha\prosgegrammeni α\prosgegrammeni{} αι  /
+                          \textAlpha\prosgegrammeni Α\prosgegrammeni{} ᾼΑι /
+                 \accpsili\textAlpha\prosgegrammeni Ἀ\prosgegrammeni{} ᾈἈι}
+
+  \phantom{MakeUppercase}     \alphapros
+
+  \ensureascii{MakeUppercase} \MakeUppercase{\alphapros}
+
+  \ensureascii{MakeLowercase} \MakeLowercase{\alphapros}
+\end{quotation}
+
+ypogegrammeni:
+\begin{quotation}
+  \selectlanguage{greek}
+  \newcommand{\alphaypo}{\textalpha\ypogegrammeni α\ypogegrammeni{} ᾳ /
+                         \textAlpha\ypogegrammeni Α\ypogegrammeni{} ᾼ /
+                \accpsili\textAlpha\ypogegrammeni Ἀ\ypogegrammeni{} ᾈ}
+
+  \phantom{MakeUppercase}     \alphaypo
+
+  \ensureascii{MakeUppercase} \MakeUppercase{\alphaypo}
+
+  \ensureascii{MakeLowercase} \MakeLowercase{\alphaypo}
+\end{quotation}
+
+
 \subsection{Changed uccode/lccode values for LGR}
 
 LGR encoded fonts define ligatures for characters with diacritics. To enable

Modified: trunk/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
===================================================================
--- trunk/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx	2023-06-02 21:23:18 UTC (rev 67267)
+++ trunk/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx	2023-06-02 21:23:33 UTC (rev 67268)
@@ -26,7 +26,7 @@
 % and covered by LPPL is defined by the unpacking script (babel-greek.ins)
 % which is part of the package.
 % \fi
-% \CheckSum{1648}
+% \CheckSum{1675}
 %
 % \iffalse
 %    Tell the \LaTeX\ system who we are and write an entry on the
@@ -37,7 +37,7 @@
 %<code>\ProvidesLanguage{greek}
 %\fi
 %\ProvidesFile{babel-greek.dtx}
-        [2023/03/17 1.13.1 Greek support for the babel system]
+        [2023-06-01 1.13.2 Greek support for the babel system]
 %\iffalse
 %% File `babel-greek.dtx'
 %% Greek language Definition File
@@ -200,13 +200,6 @@
 %   \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}
-%
 % The \hyperref[sec:keep-semicolon]{\Lopt{keep-semicolon}} language
 % attribute (new in babel-greek 1.13) ensures that a SEMICOLON character (;)
 % can be used as input for the similar looking Greek question mark
@@ -217,8 +210,11 @@
 %
 % \subsection{Modifiers \label{sec:modifiers}}
 %
-% Modifiers cannot be set with |\languageattribute|.
-% Misspelled modifiers are ignored without warning!
+% All language attributes may also be used as modifiers, e.g.
+% \begin{verbatim}
+%   \usepackage[greek.polutoniko,english]{babel}\end{verbatim}
+% In addition, there are two modifiers that cannot be set with
+% |\languageattribute|.
 %
 % \changes{babel-greek-1.12}{2023/03/04}{
 %   New modifiers \Lopt{local-LGR-fixes} and \Lopt{no-LGR-fixes}.}
@@ -225,11 +221,11 @@
 %
 % Some workarounds for the non-standard LGR font encoding may have
 % serious side-effects.
-% The \Lopt{local-LGR-fixes} modifier restricts the re-definitions
-% in section~\ref{sec:lgr-redefinitions} to text parts using the Greek
-% language.
-% The \Lopt{no-LGR-fixes} modifier disables them completely.
-% You may try, e.g.,
+% The \hyperref[sec:lgr-redefinitions]{\Lopt{local-LGR-fixes}} modifier
+% restricts the re-definitions in section~\ref{sec:lgr-redefinitions}
+% to text parts using the Greek language.
+% The \hyperref[sec:lgr-redefinitions]{\Lopt{no-LGR-fixes}} 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
@@ -510,26 +506,18 @@
 %    The |polutoniko| language attribute selects the ``polytonic'' spelling.
 %
 %    We use an auxiliary function for the setup part used with several
-%    attributes.
-%    This code adds the expansion of |\extraspolutonikogreek| to
-%    |\extrasgreek|  to set up support for multi-accented characters
-%    and hyphenation patterns for the polytonic orthography.
+%    language attributes:
+%    Add the expansion of |\extraspolutonikogreek| to |\extrasgreek|
+%    to set up support for multi-accented characters and
+%    hyphenation patterns for the polytonic orthography
+%    and use polytonic spelling for auto-strings (captions and month names).
+%    More code is added later (cf. section~\ref{sec:character-codes}).
 %    \begin{macrocode}
 \def\bbl at greek@setup at polytonic{%
   \expandafter\addto\expandafter\extrasgreek
-  \expandafter{\extraspolutonikogreek}%
-%    \end{macrocode}
-%    It also uses polytonic spelling for auto-strings
-%    (captions and month names) and changes the expansion of the ~ character
-%    from ``protected space'' to ``self-insert'' if the |\greekfontencoding|
-%    is LGR (for use as perispomeni in the Latin transliteration).
-%    \begin{macrocode}
+    \expandafter{\extraspolutonikogreek}%
   \let\captionsgreek\captionspolutonikogreek
   \let\gr at month\gr at polutoniko@month
-  \def\bbl at tempa{LGR}
-  \ifx\greekfontencoding\bbl at tempa
-    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
-  \fi
 }
 %    \end{macrocode}
 %    Now declare the option. For backwards compatibility,
@@ -624,6 +612,27 @@
 }
 %    \end{macrocode}
 %
+% \subsection{Report unsupported modifiers}
+%
+% \changes{babel-greek-1.13.2}{2023-06-01}{Warn of unsupported modifiers.}
+%
+% Test for unsupported (or misspelled) \hyperref[sec:modifiers]{modifiers}
+% (code contributed by Javier Bezos).
+%    \begin{macrocode}
+\def\bbl at greek@modifiers{,polutoniko,polytonic,ancient,keep-semicolon,}
+\addto\bbl at greek@modifiers{local-LGR-fixes,no-LGR-fixes,}
+\ifx\BabelModifiers\relax\else
+  \bbl at foreach\BabelModifiers{%
+    \@expandtwoargs\in@{,#1,}{\bbl at greek@modifiers}
+    \ifin@\else
+      \bbl at warning
+        {Unknown/misspelled modifier '#1' in '\CurrentOption'.
+         See "babel-greek.pdf" for valid modifiers.}
+    \fi}%
+\fi
+
+%    \end{macrocode}
+%
 % \subsection{Font setup \label{sec:font-setup}}
 %
 % \subsubsection{Greek font encoding \label{sec:greekfontencoding}}
@@ -914,7 +923,7 @@
 % default Greek font encoding (cf.\ section~\ref{sec:greekfontencoding}).
 %
 % 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
+% \hyperref[sec:modifiers]{modifiers} can be used to restrict
 % the ``roman'' redefinitions to text parts using the Greek language or skip
 % them completely.
 %
@@ -1495,18 +1504,25 @@
 %  \end{macro}
 %
 %
-% \subsection{Character codes}
+% \subsection{Character codes \label{sec:character-codes}}
 %
 % Greek letters drop diacritics (eccept dialytika and sub-iota) in
 % UPPERCASE. This is not cared for by the Unicode standard.
-% The file \file{greek-euenc.def} from \pkg{greek-fontenc}
+%
+% Up to the June 2022 LaTeX release, this could be corrected by
+% defining |\lccode| and |\uccode| values. The June 2023 release introduced
+% the |\DeclareUppercaseMapping| command as a replacement configuration
+% option.
+%
+% The file \file{tuenc-greek.def} from \pkg{greek-fontenc}
 % contains the required |\lccode| and |\uccode| corrections from the
 % \pkgref{xgreek} package by Apostolos Syropoulos. It is loaded if the
 % Greek font encoding is TU (i.e. with XeTeX/LuaTeX),
 % see section~\ref{load-greek-font-encoding-definitions}.
 %
-% If the Greek font encoding is LGR, character code changes are done here
-% because they must be restricted to text parts using the LGR encoding.
+% If the Greek font encoding is LGR, configuration is done here because
+% character code changes must be restricted to text parts using the
+% LGR encoding.
 % \changes{greek-1.5}{2013/06/21}{Support XeTeX/LuaTeX.}
 % \changes{babel-greek-1.09d}{2015/07/06}{uc-/lccode corrections from xgreek
 %   are now in greek-euenc.def (the polyglossia version has bugs).}
@@ -1587,13 +1603,11 @@
     \lccode223=244% GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
   }
 %    \end{macrocode}
-%
-% 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.
+% Drop diacritics (except dialytika and sub-iota) in UPPERCASE also with
+% ``input ligatures''. (The optional ``locale'' argument |[el]| restricts
+% this change to Greek text parts.)
+% If LaTeX is older than 2022/06/01, set the |\uccode| of the
+% relevant characters to a dummy character instead.
 % \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
@@ -1612,7 +1626,19 @@
 %    because other languages might make the caret active.}
 % \changes{babel-greek-1.12}{2023/03/04}{
 %    Only change uccodes if LaTeX is older than 2022/06/01.}
+% \changes{babel-greek-1.13.2}{2023-06-01}{
+%   Use \cs{DeclareUppercaseMapping} to drop diacritics.}
 %    \begin{macrocode}
+  \ifdefined\DeclareUppercaseMapping % new in 2023
+    \DeclareUppercaseMapping[el]{"1FBE}{\prosgegrammeni}%
+    \DeclareUppercaseMapping[el]{"0027}{}% '
+    \addto\bbl at greek@setup at polytonic{
+      \DeclareUppercaseMapping[el]{"003C}{}% <
+      \DeclareUppercaseMapping[el]{"003E}{}% >
+      \DeclareUppercaseMapping[el]{"0060}{}% `
+      \DeclareUppercaseMapping[el]{"007E}{}% ~
+    }
+  \fi
   % fallback for for LaTeX versions older than 2020-10-01
   \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
   \IfFormatAtLeastTF{2022/06/01}%
@@ -1630,7 +1656,7 @@
        \babel at savevariable{\uccode`\`}\uccode`\`=159%
      }
 %    \end{macrocode}
-% To avoid \pkg{inputenc} errors if the tilde is used as perispomeni
+% To avoid 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.\
@@ -1676,7 +1702,7 @@
      \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.
+% |\"'| and |\"`| in TU, because the |\"| is kept when upcasing.
 %    \begin{macrocode}
      \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
        \DeclareTextCompositeCommand{\"}{TU}{^^9f}{\accdialytika}
@@ -1689,10 +1715,7 @@
 %   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.
+%   only done for the variants ``polutoniko'' and ``ancient''.
 % \changes{greek-1.0c}{1997/02/19}{Added command}
 % \changes{greek-1.1b}{1997/03/06}{Made tilde expand to a tilde with
 %    \cs{catcode 12}.}
@@ -1700,10 +1723,13 @@
 %    active during the definition of \cs{greek at tilde}}
 % \changes{greek-1.4}{2013/05/17}{Do not re-define the tilde accent macro:
 %    it works as expected with \file{lgrenc.def} from \pkg{greek-fontenc}.}
-% \changes{babel-greek-1.13}{2023/03/15}{Renamed from \cs{greek at tilde}.
-%    Simplify definition.}
+% \changes{babel-greek-1.13}{2023/03/15}{
+%    Renamed from \cs{greek at tilde}. Simplify definition.}
 %    \begin{macrocode}
   \DeclareTextSymbol{\bbl at greek@tilde}{LGR}{126}
+  \addto\bbl at greek@setup at polytonic{
+    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
+  }
 %    \end{macrocode}
 %  \end{macro}
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/tex/generic/babel-greek/greek.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel-greek/greek.ldf	2023-06-02 21:23:18 UTC (rev 67267)
+++ trunk/Master/texmf-dist/tex/generic/babel-greek/greek.ldf	2023-06-02 21:23:33 UTC (rev 67268)
@@ -32,7 +32,7 @@
 %% and covered by LPPL is defined by the unpacking script (babel-greek.ins)
 %% which is part of the package.
 \ProvidesLanguage{greek}
-        [2023/03/17 1.13.1 Greek support for the babel system]
+        [2023-06-01 1.13.2 Greek support for the babel system]
 %% File `babel-greek.dtx'
 %% Greek language Definition File
 %% Copyright © 1997, 2005 Apostolos Syropoulos, Johannes Braams
@@ -62,13 +62,9 @@
 \providehyphenmins{\CurrentOption}{\@ne\@ne}
 \def\bbl at greek@setup at polytonic{%
   \expandafter\addto\expandafter\extrasgreek
-  \expandafter{\extraspolutonikogreek}%
+    \expandafter{\extraspolutonikogreek}%
   \let\captionsgreek\captionspolutonikogreek
   \let\gr at month\gr at polutoniko@month
-  \def\bbl at tempa{LGR}
-  \ifx\greekfontencoding\bbl at tempa
-    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
-  \fi
 }
 \bbl at declare@ttribute{greek}{polutoniko}{%
   \bbl at greek@setup at polytonic
@@ -99,6 +95,18 @@
     \declare at shorthand{greek}{;}{\TextOrMath{\textsemicolon}{;}}
   \fi
 }
+\def\bbl at greek@modifiers{,polutoniko,polytonic,ancient,keep-semicolon,}
+\addto\bbl at greek@modifiers{local-LGR-fixes,no-LGR-fixes,}
+\ifx\BabelModifiers\relax\else
+  \bbl at foreach\BabelModifiers{%
+    \@expandtwoargs\in@{,#1,}{\bbl at greek@modifiers}
+    \ifin@\else
+      \bbl at warning
+        {Unknown/misspelled modifier '#1' in '\CurrentOption'.
+         See "babel-greek.pdf" for valid modifiers.}
+    \fi}%
+\fi
+
 \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX
   \providecommand*{\greekfontencoding}{\UnicodeEncodingName}
   \providecommand*{\bbl at greek@fontencdef}{tuenc-greek}
@@ -559,6 +567,16 @@
     \lccode219=240% GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
     \lccode223=244% GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
   }
+  \ifdefined\DeclareUppercaseMapping % new in 2023
+    \DeclareUppercaseMapping[el]{"1FBE}{\prosgegrammeni}%
+    \DeclareUppercaseMapping[el]{"0027}{}% '
+    \addto\bbl at greek@setup at polytonic{
+      \DeclareUppercaseMapping[el]{"003C}{}% <
+      \DeclareUppercaseMapping[el]{"003E}{}% >
+      \DeclareUppercaseMapping[el]{"0060}{}% `
+      \DeclareUppercaseMapping[el]{"007E}{}% ~
+    }
+  \fi
   % fallback for for LaTeX versions older than 2020-10-01
   \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
   \IfFormatAtLeastTF{2022/06/01}%
@@ -589,6 +607,9 @@
      \fi
     }% end of the \IfFormatAtLeastTF else block
   \DeclareTextSymbol{\bbl at greek@tilde}{LGR}{126}
+  \addto\bbl at greek@setup at polytonic{
+    \declare at shorthand{greek}{~}{\bbl at greek@tilde}
+  }
 \fi % End of LGR-specific code.
 \providecommand*{\anwtonos}{\textdexiakeraia}
 \providecommand*{\katwtonos}{\textaristerikeraia}



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