diff options
author | Karl Berry <karl@freefriends.org> | 2023-08-17 20:25:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-08-17 20:25:04 +0000 |
commit | faf98382571dbbd241a5545371c3c74930b9ebe7 (patch) | |
tree | 311c4255ff8235461b52f7699bb0b74a39bf8586 /Master/texmf-dist/tex/latex/greek-fontenc | |
parent | 14ab20ac21dee5243288920741185275dff8f989 (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/greek-fontenc')
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. % ====== =========== ======================================================== % % |