summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/babel-contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-06-02 03:06:11 +0000
committerNorbert Preining <norbert@preining.info>2023-06-02 03:06:11 +0000
commitde88ff1738cd9e29da5d2ce94b53d9035d9be6a4 (patch)
tree907849d1a17b946138ab60883a675935df27b427 /macros/latex/contrib/babel-contrib
parenta378d2379e220fa1022ae052bcd1aed6bf0d2c41 (diff)
CTAN sync 202306020305
Diffstat (limited to 'macros/latex/contrib/babel-contrib')
-rw-r--r--macros/latex/contrib/babel-contrib/greek/README.md2
-rw-r--r--macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html35
-rw-r--r--macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst23
-rw-r--r--macros/latex/contrib/babel-contrib/greek/babel-greek.dtx128
-rw-r--r--macros/latex/contrib/babel-contrib/greek/babel-greek.pdfbin549488 -> 549976 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/greek/test-athnum.pdfbin178616 -> 178616 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/greek/test-case-changing.tex61
-rw-r--r--macros/latex/contrib/babel-contrib/greek/test-greek.pdfbin463920 -> 466409 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/greek/test-greek.tex46
9 files changed, 216 insertions, 79 deletions
diff --git a/macros/latex/contrib/babel-contrib/greek/README.md b/macros/latex/contrib/babel-contrib/greek/README.md
index ce85bc77bd..d98c68be1a 100644
--- a/macros/latex/contrib/babel-contrib/greek/README.md
+++ b/macros/latex/contrib/babel-contrib/greek/README.md
@@ -4,7 +4,7 @@ babel-greek
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.
diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html
index 26648f07c8..2faaa5d067 100644
--- a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html
+++ b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html
@@ -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 @@ p img, p video, figure img, figure video {
/* .. _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 @@ math .boldsymbol {
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 @@ mstyle.mathscr, mi.mathscr {
<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 @@ Document authors can select between the <em>monotonic</em>
<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 @@ Use LICR macros instead of the Latin transliteration.</p></li>
<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">
diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst
index 08bc93633b..73f921de32 100644
--- a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst
+++ b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst
@@ -3,7 +3,7 @@ babel-greek
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 @@ Babel support for the Greek language and script
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>`_]
-`<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>`_]
+`<grmath.dtx>`_
+ Greek log-like Operators. [`<grmath.pdf>`_]
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>`_]
Requirements
@@ -401,6 +401,11 @@ Changelog
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 @@ Changelog
.. _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
diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx b/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx
index 0eb7071284..7cf57237f7 100644
--- a/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx
+++ b/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx
@@ -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,19 +210,22 @@
%
% \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}.}
%
% 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@greek@setup@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@month\gr@polutoniko@month
- \def\bbl@tempa{LGR}
- \ifx\greekfontencoding\bbl@tempa
- \declare@shorthand{greek}{~}{\bbl@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@greek@modifiers{,polutoniko,polytonic,ancient,keep-semicolon,}
+\addto\bbl@greek@modifiers{local-LGR-fixes,no-LGR-fixes,}
+\ifx\BabelModifiers\relax\else
+ \bbl@foreach\BabelModifiers{%
+ \@expandtwoargs\in@{,#1,}{\bbl@greek@modifiers}
+ \ifin@\else
+ \bbl@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@greek@setup@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@t@r\fmtversion}
\IfFormatAtLeastTF{2022/06/01}%
@@ -1630,7 +1656,7 @@
\babel@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@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@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@tilde}.
-% Simplify definition.}
+% \changes{babel-greek-1.13}{2023/03/15}{
+% Renamed from \cs{greek@tilde}. Simplify definition.}
% \begin{macrocode}
\DeclareTextSymbol{\bbl@greek@tilde}{LGR}{126}
+ \addto\bbl@greek@setup@polytonic{
+ \declare@shorthand{greek}{~}{\bbl@greek@tilde}
+ }
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf b/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf
index 3da9b8a926..0a2586bb5c 100644
--- a/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf
+++ b/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf b/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf
index f76f2c8e06..badf0226a5 100644
--- a/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf
+++ b/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex b/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex
index e5cc0d15e5..50eaf650ea 100644
--- a/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex
+++ b/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex
@@ -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 @@ MakeLowercase:
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 @@ MakeLowercase:
\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,6 +345,40 @@ MakeLowercase:
\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}
@@ -943,7 +979,7 @@ Every second line is input as Latin transliteration:
\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 @@ variant is \emph\GreekLanguageVariant.
ῠ ῡ ῢ ΰ ␣ ␣ ῤ ῥ ῦ ῧ Ὺ Ύ Ῥ ῭ ΅ ` \\
\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 @@ dialytika \verb|"~ "` "'| appears as apostrophe, as a single \verb|"| stands
for an apostrophe in the LGR transliteration if followed by a space or empty
character.
+Side-effect of mapping `,',~, <, and > to the "empty" char for accent
+dropping: the characters vanish if used stand-alone
+(also with the ``old'' MakeUppercase):
+\begin{quote}
+ \selectlanguage{greek}
+ ` ' ~ < > → \MakeUppercase{` ' ~ < >}
+ ``x'' <<y>> → \MakeUppercase{``x'' <<y>>}
+\end{quote}
+
+Workaround: use literal typographical quote characters:
+\begin{quote}
+ \selectlanguage{greek}
+ ‘x’ «y» → \MakeUppercase{‘x’ «y»}
+\end{quote}
+
MakeLowercase:
\begin{quote}
diff --git a/macros/latex/contrib/babel-contrib/greek/test-greek.pdf b/macros/latex/contrib/babel-contrib/greek/test-greek.pdf
index 0f4879f944..50235b0c51 100644
--- a/macros/latex/contrib/babel-contrib/greek/test-greek.pdf
+++ b/macros/latex/contrib/babel-contrib/greek/test-greek.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/greek/test-greek.tex b/macros/latex/contrib/babel-contrib/greek/test-greek.tex
index a2c59ed48e..f46b1db526 100644
--- a/macros/latex/contrib/babel-contrib/greek/test-greek.tex
+++ b/macros/latex/contrib/babel-contrib/greek/test-greek.tex
@@ -162,7 +162,7 @@ definitions):
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 @@ 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 \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