summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-08-17 20:25:04 +0000
committerKarl Berry <karl@freefriends.org>2023-08-17 20:25:04 +0000
commitfaf98382571dbbd241a5545371c3c74930b9ebe7 (patch)
tree311c4255ff8235461b52f7699bb0b74a39bf8586 /Master/texmf-dist/tex/latex
parent14ab20ac21dee5243288920741185275dff8f989 (diff)
greek-fontenc (17aug23)
git-svn-id: svn://tug.org/texlive/trunk@67956 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def130
-rw-r--r--Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def21
-rw-r--r--Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def9
-rw-r--r--Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty49
-rw-r--r--Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def76
5 files changed, 213 insertions, 72 deletions
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def
index 23f21a93724..b9a89af3e43 100644
--- a/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def
+++ b/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def
@@ -4,7 +4,7 @@
% Common Greek font encoding definitions
% ======================================
%
-% :Version: 2.3 (changelog_)
+% :Version: 2.4 (changelog_)
%
% :Copyright: © 2013 -- 2023 Günter Milde
%
@@ -31,7 +31,7 @@
% ::
\ProvidesFile{greek-fontenc.def}
- [2023-06-01 2.3 Common Greek font encoding definitions]
+ [2023-08-15 2.4 Common Greek font encoding definitions]
% ensuregreek, greekscript
% ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -60,7 +60,7 @@
% ~~~~~~~
%
% Aliases are defined via `DeclareTextCommand` so that up/downcasing works
-% without the need for additional uclclist_ entries.
+% without the need for additional @uclclist_ entries.
%
%
% Names matching mathematical variant symbols::
@@ -141,11 +141,11 @@
%
% .. code:: latex
%
-% \accdialyticavaria\textalpha,
-% \accdialytica\accvaria\textalpha,
-% \"\'\textalpha,
-% \"'\textalpha, or
-% \'"\textalpha.
+% \accdialytikatonos\textupsilon,
+% \accdialytika\acctonos\textupsilon,
+% \"\'\textupsilon,
+% \"'\textupsilon, or
+% \'"\textupsilon.
%
% Separate definitions for the supported variants of the second input token
% are required as composition is based on the non-expanded input
@@ -246,7 +246,49 @@
\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accperispomeni}{\accdasiaperispomeni}
\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\~}{\accdasiaperispomeni}
-% .. _uclclist:
+% Also define the combinations with "capital" accent macros::
+
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020
+\IfFormatAtLeastTF{2022/06/01}{
+ \ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped}
+
+ \ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped}
+
+ \ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR@accdropped}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@accdropped}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped}
+
+ \ProvideTextCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\@tabacckludge"}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{'}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{`}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{~}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accACUTE}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accGRAVE}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accTILDE}{\accdialytika}
+
+ \ProvideTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}{\@firstofone}
+ \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped}
+ \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@accdropped}
+}{} % else do nothing
+
+
+% .. _@uclclist:
%
% Case changing
% ~~~~~~~~~~~~~
@@ -285,7 +327,10 @@
%
% The definition of an auxiliary, self-resetting macro makes this idempotent
% (only the first use of this function will expand the ``@uclclist``).
-% The second and third lines are TeX' way of writing ``uclclist += …``
+% The second and third lines are TeX' way of writing ``@uclclist += …``
+%
+% The new ``\MakeUppercase`` expects the default for ambiguous mappings
+% in first position, the old in last position.
%
% The ``\LGR@…`` auxiliary macros are defined below.
% ::
@@ -340,9 +385,10 @@
\textrho \textRho
\textvarrho \textRho
\textrhosymbol \textRho
+ \textautosigma \textSigma
\textfinalsigma \textSigma
+ \textvarsigma \textSigma
\textsigma \textSigma
- \textautosigma \textSigma
\texttau \textTau
\textupsilon \textUpsilon
\textphi \textPhi
@@ -357,20 +403,33 @@
\textstigma \textStigma
\textsampi \textSampi
\textdigamma \textDigamma
+ % Repeat default for ambiguous mappings for pre-2022 MakeUppercase:
+ \textbeta \textBeta
+ \texttheta \textTheta
+ \textkappa \textKappa
+ \textpi \textPi
+ \textrho \textRho
+ \textautosigma \textSigma
}%
\let\update@uclc@with@greek\relax
}
-% Expand the uclc list using the just defined macro::
+% Expand the @uclclist using the just defined macro::
\update@uclc@with@greek
% Substitution macros
% """""""""""""""""""
%
-% Drop diacritics (The argument passing ensures that kerning is preserved) ::
+% Drop diacritics.
+% The argument passing ensures that kerning is preserved and allows
+% definition of CompositeCommands (cf. [fntguide]_)
+% Composite definitions with the tilde prevent errors in monotonic Greek
+% where the character ``~`` maps to a no-break space.
+% ::
\DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1}
+\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{~}{\LGR@accdropped}
% Keep dialytika: Define a dummy alias so that downcasing with
% ``\MakeLowercase`` does not convert a simple dialytika to a composite
@@ -392,22 +451,36 @@
\DeclareTextCommand{\LGR@Stigma}{\LastDeclaredEncoding}{\textStigma}
-% Mark hiatus
-% """""""""""
+
+% Hiatus
+% """"""
+%
+% Tonos and psili mark a hiatus if placed on the first vowel of a diphthong
+% (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the second vowel if they are
+% dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, ἀυπνία → ΑΫΠΝΙΑ).
+%
+% The `@uclclist extension`_ converts tonos, psili, and psili-oxia accents to
+% ``\LGR@hiatus``. They should be dropped (as well as the second character of
+% composite diacritics like ``\'<`` or ``\>~``).
%
-% Tonos and dasia mark a hiatus if placed on the
-% first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the
-% second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ,
-% ἀυπνία → ΑΫΠΝΙΑ)::
+% If the next character is an Alpha or Epsilon, we call commands that place
+% a dialytika on a subsequent Iota or Upsilon (defined in the font
+% encoding files). The font encoding file must also handle the cases when
+% ``\LGR@hiatus`` is followed by literal characters for Alpha or Epsilon
+% (see lgrenc.def_) for an example).
+% ::
\DeclareTextCommand{\LGR@hiatus}{\LastDeclaredEncoding}[1]{#1}
+\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{'}{\LGR@hiatus}
+\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{`}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{~}{\LGR@hiatus}
\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{>}{\LGR@hiatus}
\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textAlpha}{\LGR@A@hiatus}
\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textEpsilon}{\LGR@E@hiatus}
-% The font encoding file must define the ``\LGR@hiatus`` TextCommand. See
-% ``lgrenc.def`` for an example.
+% Test next character
+% """""""""""""""""""
%
% The following macro can be used to test if the next character is an Alpha or
% Epsilon. As ``\@ifnextchar`` gobbles spaces the lookahead macro definition
@@ -415,7 +488,6 @@
%
% This macro is a variant of LaTeX’s ``\@ifnextchar``, macro
% that does not skip over spaces.
-%
% ::
\providecommand*{\LGR@ifnextchar}[3]{%
@@ -439,19 +511,23 @@
% 0.11 2013-11-28 ``\greekscript`` TextCommand
% 0.12 2014-12-12 Remove symbol macros for breathing accents.
% 0.13 2015-08-04 No @uclclist entry for ypogegrammeni/prosgegrammeni.
-% 0.13.4 2019-07-10 ``@uclclist`` entry for ``\prosgegrammeni``.
+% 0.13.4 2019-07-10 @uclclist entry for ``\prosgegrammeni``.
% 1.0 2020-09-25 ``\textKoppagreek`` and ``\textstigmagreek`` aliases.
% 2.0 2020/10/30 Alias definitions matching mathematical variant symbols.
% 2.2 2023-02-28 Add missing accent composite commands.
-% 2.2.1 2023-03-08 ``@uclclist`` entry for ``\accoxia``, prevent
+% 2.2.1 2023-03-08 @uclclist entry for ``\accoxia``, prevent
% downcasing ``\textStigma`` to ``\textvarstigma``.
-% 2.3 2023-06-01 ``@uclclist`` entries for symbol variants.
+% 2.3 2023-06-01 @uclclist entries for symbol variants.
+% 2.4 2023-08-15 Fix @uclclist_ for ambiguous mappings.
+% .. Composite commands for "captital" macros and ``~``.
% ====== ============ ========================================================
%
%
% References
% ----------
%
+% .. [fntguide] LaTeX3 Project Team, `LaTeX2ε font selection`.
+% https://mirrors.ctan.org/macros/latex/base/fntguide.pdf
% .. [Haralambous-98] Yannis Haralambous
% `From Unicode to Typography, a Case Study: the Greek Script`, 1998.
% https://hal.science/hal-02101618
@@ -466,7 +542,6 @@
% .. _athnum: https://ctan.org/pkg/athnum
% .. _Babel: https://ctan.org/pkg/babel
% .. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf
-% .. _fntguide: https://mirrors.ctan.org/macros/latex/base/fntguide.pdf
% .. _fontenc: https://ctan.org/pkg/fontenc
% .. _hyperref: https://ctan.org/pkg/hyperref
% .. _ibycus: https://ctan.org/pkg/ibycus-babel
@@ -478,6 +553,3 @@
% .. _textalpha: textalpha.sty.html
% .. _tuenc-greek.def: tuenc-greek.def.html
% .. _ucs: https://ctan.org/pkg/unicode
-%
-%
-%
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
index 0d7ae1c7058..8ff80d1d1bd 100644
--- a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
+++ b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
@@ -60,7 +60,9 @@
% 2.1 2022-06-14 Support the correct spelling ``\guillemet…`` for « ».
% 2.2 2023-02-28 Fix character used for ano ``\textanoteleia`` and
% ``\textperiodcentered``.
-% 2.2.1 2023-06-01 Fix Unicode errors with "new" ``\MakeUppercase``.
+% 2.3 2023-06-01 Fix Unicode errors with "new" ``\MakeUppercase``.
+% 2.4 2023-08-15 Add LGR-specific definitions for "capital" accent
+% for the ``\MakeUppercase`` fix in babel-greek_.
% ====== ============ ========================================================
%
% Usage
@@ -100,7 +102,7 @@
% ::
\ProvidesFile{lgrenc.def}
-[2023/02/28 2.2 LGR Greek font encoding definitions]
+[2023-08-15 2.4 LGR Greek font encoding definitions]
% Copyright © 2010 -- 2023 Günter Milde
% This file is part of the "greek-fontenc" package.
% It may be distributed and/or modified under the
@@ -472,8 +474,8 @@
\DeclareTextAccent{\u}{LGR}{30} % BREVE (Greek vrachy)
\DeclareTextAccent{\=}{LGR}{31} % MACRON
-% Aliases
-% """""""
+% Symbol Macros
+% """""""""""""
%
% The standard _`symbol macros` are exclusively used for Greek diacritics
% in LGR::
@@ -483,6 +485,15 @@
\DeclareTextCommand{\`}{LGR}{\accvaria}
\DeclareTextCommand{\~}{LGR}{\accperispomeni}
+% The ``\uclclist`` extension in `babel-greek`_ converts standard symbol
+% macros to "capital accents". In Greek typographic tradition they are
+% dropped::
+
+\ProvideTextCommand{\accACUTE}{LGR}{\LGR@hiatus}
+\ProvideTextCommand{\accGRAVE}{LGR}{\@firstofone}
+\ProvideTextCommand{\accTILDE}{LGR}{\@firstofone}
+
+
% Common Greek font encoding definitions
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
@@ -857,7 +868,7 @@
%
% The default \MakeUppercase (2022-version) emits "composing" Unicode in
% characters for letters with diacriticals but no matching pre-composed
-% capital equivalent. The fix requires a LaTeX version >= 37 (2023)::
+% capital equivalent. The fix requires a LaTeX version 2023 or later::
\ifdefined\DeclareUppercaseMapping
\DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def b/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def
index 915725fdbf8..920b49ab53f 100644
--- a/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def
+++ b/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def
@@ -23,6 +23,7 @@
% 2.0 2020-10-18 Initial version.
% 2.2 2023-02-28 Add compatibility definitions for hyperref.
% 2.2.1 2023-03-08 Documentation update.
+% 2.4 2023-08-15 Print σ, not ς with ``textautosigma`` dummy definition.
% ====== =========== =======================================================
%
% .. contents::
@@ -33,7 +34,7 @@
% ::
\ProvidesFile{puenc-greek.def}
- [2023/03/08 2.2.1 Greek LICRs for PDF strings]
+ [2023-08-15 2.4 Greek LICRs for PDF strings]
% Diacritics
@@ -221,10 +222,10 @@
\DeclareTextCommand{\textepsilonsymbol}{PU}{\83\365} % ϵ "03F5
\DeclareTextCommand{\textbackepsilon}{PU}{\83\366} % ϶ "03F6 # not in LGR
-% ``\textautosigma`` is lowercase of \textSigma
-% (since 2022/06, ``\MakeLowercase`` use a context-sensitive sigma) ::
+% Dummy definition (\textautosigma is lowercase of \textSigma)
+% TODO: Fix implementation of \autosigma ::
-\ProvideTextCommand{\textautosigma}{PU}{\MakeLowercase{\textSigma}}
+\ProvideTextCommand{\textautosigma}{PU}{\textsigma} % σ
% Greek Extended
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty b/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty
index 20e40bec2b5..7f09a4469d2 100644
--- a/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty
+++ b/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty
@@ -3,7 +3,7 @@
% Greek symbols in text
% *********************
%
-% :Version: 2.2.2 (changelog_)
+% :Version: 2.4 (changelog_)
%
% :Copyright: © 2010, 2023 Günter Milde
%
@@ -11,8 +11,7 @@
% conditions of the `LaTeX Project Public License`_, either
% version 1.3 of this license or any later version.
%
-% :Abstract: Provide a set of ``\text*`` macros for Greek characters
-% in text mode.
+% :Abstract: Provide a set of LICR macros for Greek characters in text mode.
%
%
% .. contents::
@@ -33,7 +32,7 @@
% definitions.
%
% * Otherwise, the `LGR font encoding`_ is set as `default font encoding`
-% (cf. fntguide_ section 5.3) for Greek.
+% (cf. [fntguide]_ section 5.3) for Greek.
%
% Advantages:
%
@@ -63,7 +62,7 @@
% Therefore, Greek text should be written with the help of babel_ or
% polyglossia_ (setting the language to ``greek``) or wrapped in the
% provided ``ensuregreek`` macro. Using babel_ or polyglossia_ also helps
-% to ensure correct hyphenation of Greek text.
+% to ensure correct hyphenation and upcasing of Greek text.
%
%
% Usage
@@ -91,9 +90,13 @@
% To give ``textalpha.sty`` a chance of finding out which `font encodings`_
% are used, load it after fontspec_ and/or fontenc_.
%
+% Documentation
+% =============
%
+% A HTML rendering of the literal source is available as
+% `<textalpha.sty.html>`_ (you may be reading it just now).
%
-% For detailled examples see `<textalpha-doc.tex>`_ and `<textalpha-doc.pdf>`_
+% For detailed examples see `<textalpha-doc.tex>`_ and `<textalpha-doc.pdf>`_
% (8-bit TeX and XeTeX/LuaTeX in 8-bit compatibility mode) as well as
% `<test-tuenc-greek.tex>`_ and `<test-tuenc-greek.pdf>`_ (XeTeX/LuaTeX with
% Unicode fonts).
@@ -110,8 +113,7 @@
% ::
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{textalpha}
- [2023-03-17 2.2.2 macros for Greek letters in text]
+\ProvidesPackage{textalpha}[2023-08-15 2.4 macros for Greek letters in text]
% Options
@@ -189,8 +191,22 @@
\DeclareTextCompositeCommand{\<}{#1}{'}{\accdasiaoxia}
\DeclareTextCompositeCommand{\<}{#1}{`}{\accdasiavaria}
\DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni}
+
+% Also define "mixed" composites (required due to the fix for
+% ``\MakeUppercse`` below::
+
+ % \MakeUppercse: \>~a, \<~a
+ % \DeclareTextCompositeCommand{\accpsili}{#1}{~}{\accpsiliperispomeni}
+ % \DeclareTextCompositeCommand{\accdasia}{#1}{~}{\accdasiaperispomeni}
}
+% Fix 2022 \MakeUppercase::
+
+\ifdefined\DeclareCaseChangeEquivalent % new in 2023
+ \DeclareCaseChangeEquivalent{\<}{\CaseSwitch{\<}{\LGR@accdropped}{\<}{\<}}
+ \DeclareCaseChangeEquivalent{\>}{\CaseSwitch{\>}{\LGR@hiatus}{\>}{\>}}
+\fi
+
% .. _font encoding:
%
@@ -213,14 +229,7 @@
% .. _LGR font encoding: README.html#lgr
%
% Ensure a Greek-supporting font encoding exists and supports Greek LICR
-% macros:
-%
-% * Load the Greek LICR definitions for Unicode if the font encoding TU
-% is detected.
-% * If none of TU or LGR is declared, load ``tuenc.def`` with
-% Xe/LuaTeX and ``lgrenc.def`` else.
-%
-% ::
+% macros::
\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
\input{tuenc-greek.def}
@@ -275,6 +284,12 @@
\DeclareTextSymbol{\textmicro}{TS1}{181} % micro sign
\DeclareTextSymbolDefault{\textmicro}{TS1}
+% Use it for the MICRO SIGN character::
+
+\ifdefined\DeclareUnicodeCharacter
+ \DeclareUnicodeCharacter{00B5}{\textmicro} % micro sign
+\fi
+
% Default declarations
% --------------------
@@ -586,6 +601,8 @@
% 2.2 2023-02-28 Don't use ``\makeatother`` in ``\AtBeginDocument``.
% 2.2.1 2023-03-08 Documentation update.
% 2.2.2 2023-03-17 Don't map active `;` to ``\textsemicolon`` in math mode.
+% 2.4 2023-08-16 Map character 00B5 MICRO SIGN to ``\textmicro``.
+% .. Fix upcasing of Greek letters with ``\<`` and ``\>``.
% ====== =========== ========================================================
%
%
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def b/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def
index fc91f22b49b..1a4c8875c57 100644
--- a/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def
+++ b/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def
@@ -3,7 +3,7 @@
% Greek LICR definitions for XeTeX and LuaTeX
% *******************************************
%
-% :Version: 2.2.1 (changelog_)
+% :Version: 2.4 (changelog_)
%
% :Copyright: © 2013 -- 2023 Günter Milde
%
@@ -51,7 +51,7 @@
% ::
\ProvidesFile{tuenc-greek.def}
- [2023/03/08 2.2.1 Greek LICRs for XeTeX and LuaTeX]
+ [2023-08-15 2.4 Greek LICRs for XeTeX and LuaTeX]
% Greek Diacritics
@@ -98,17 +98,17 @@
% ``\DeclareUnicodeAccent`` does not work with more than one argument::
% The COMBINING DIALYTIKA TONOS is discarded and not well supported by fonts:
-\DeclareTextCommand{\accdialytikatonos}{\UnicodeEncodingName}[1]{#1\char"0308\char"0301}
-\DeclareTextCommand{\accdialytikavaria}{\UnicodeEncodingName}[1]{#1\char"0308\char"0300}
-\DeclareTextCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0308\char"0342}
+\DeclareTextCommand{\accdialytikatonos}{\UnicodeEncodingName}[1]{#1\char"0308\relax\char"0301\relax}
+\DeclareTextCommand{\accdialytikavaria}{\UnicodeEncodingName}[1]{#1\char"0308\relax\char"0300\relax}
+\DeclareTextCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0308\relax\char"0342\relax}
-\DeclareTextCommand{\accdasiaoxia}{\UnicodeEncodingName}[1]{#1\char"0314\char"0301}
-\DeclareTextCommand{\accdasiavaria}{\UnicodeEncodingName}[1]{#1\char"0314\char"0300}
-\DeclareTextCommand{\accdasiaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0314\char"0342}
+\DeclareTextCommand{\accdasiaoxia}{\UnicodeEncodingName}[1]{#1\char"0314\relax\char"0301\relax}
+\DeclareTextCommand{\accdasiavaria}{\UnicodeEncodingName}[1]{#1\char"0314\relax\char"0300\relax}
+\DeclareTextCommand{\accdasiaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0314\relax\char"0342\relax}
-\DeclareTextCommand{\accpsilioxia}{\UnicodeEncodingName}[1]{#1\char"0313\char"0301}
-\DeclareTextCommand{\accpsilivaria}{\UnicodeEncodingName}[1]{#1\char"0313\char"0300}
-\DeclareTextCommand{\accpsiliperispomeni}{\UnicodeEncodingName}[1]{#1\char"0313\char"0342}
+\DeclareTextCommand{\accpsilioxia}{\UnicodeEncodingName}[1]{#1\char"0313\relax\char"0301\relax}
+\DeclareTextCommand{\accpsilivaria}{\UnicodeEncodingName}[1]{#1\char"0313\relax\char"0300\relax}
+\DeclareTextCommand{\accpsiliperispomeni}{\UnicodeEncodingName}[1]{#1\char"0313\relax\char"0342\relax}
% Common Definitions
@@ -290,9 +290,11 @@
\DeclareTextSymbol{\textbackepsilon }\UnicodeEncodingName{"03F6} % ϶ not in LGR
% Dummy definition (\textautosigma is lowercase of \textSigma)
-% TODO: implement autosigma for TU::
+% TODO: Fix implementation of autosigma for TU::
-\ProvideTextCommand{\textautosigma}{\UnicodeEncodingName}{\MakeLowercase{Σ}}
+\ProvideTextCommand{\textautosigma}\UnicodeEncodingName{\textsigma} % σ
+% The following definition always prints a final sigma :(
+% \ProvideTextCommand{\textautosigma}{\UnicodeEncodingName}{\MakeLowercase{Σ}}
% Greek Extended
@@ -580,14 +582,52 @@
%
% Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.
%
-% uc/lc values
-% ~~~~~~~~~~~~
+% Babel-Greek indroduces macros for "capital accents" in 1.13.3.
+% Here, we add definitions to drop diacritics in uppercase::
+
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020
+\IfFormatAtLeastTF{2022/06/01}{
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{\textAlpha }{\LGR@A@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEpsilon}{\LGR@E@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEta }{Η}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{\textIota }{Ι}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmicron}{Ο}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{\textUpsilon}{Υ}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmega }{Ω}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{Α}{\LGR@A@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{Ε}{\LGR@E@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{Η}{Η}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{Ι}{Ι}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{Ο}{Ο}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{Υ}{Υ}
+ \DeclareTextCompositeCommand{\accACUTE}{TU}{Ω}{Ω}
+
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textAlpha }{Α}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEpsilon}{Ε}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEta }{Η}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textIota }{Ι}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmicron}{Ο}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textUpsilon}{Υ}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmega }{Ω}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Α}{Α}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ε}{Ε}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Η}{Η}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ι}{Ι}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ο}{Ο}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Υ}{Υ}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω}
+ \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω}
+
+ \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Α}{\LGR@A@hiatus}
+ \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Ε}{\LGR@E@hiatus}
+
+% The new (2022) implementation of ``\MakeUppercase`` drops accents from
+% literal Unicode input (if the text language is set to Greek with Babel).
%
% With the old ``\MakeUppercase`` implementation, we can fix this using
% ``\lccode`` and ``\uccode`` corrections from the xgreek_ package by
% Apostolos Syropoulos::
-\IfFormatAtLeastTF{2022/06/01}{
}{% else
\global\lccode"0370="0371 \global\uccode"0370="0370
\global\lccode"0371="0371 \global\uccode"0371="0370
@@ -968,11 +1008,11 @@
% in other encodings with `luainputenc`).
% 2.2 2023-02-28 Add composite definitions for ``\~`` + literal char.
% .. Fix order in expansion of combined accent macros.
-% .. Let ``\textautosigma`` select sigma/finalsigma
-% depending on context (with LaTeX >= 2022/06/01).
% .. Skip `uccode` fixes when ignored by ``\MakeUppercase``.
% .. Add ``\textbackepsilon`` (defined by hyperref for PU).
% 2.2.1 2023-03-08 Documentation update.
+% 2.4 2023-08-15 Fix behaviour of composite diacritics.
+% .. Composite commands for "captital" macros.
% ====== =========== ========================================================
%
%