diff options
author | Karl Berry <karl@freefriends.org> | 2023-09-12 20:09:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-09-12 20:09:52 +0000 |
commit | 2db9c931a2cd69065a1d7bfb595dd235174e2579 (patch) | |
tree | 89e2edb804bd0bdc79e49920ab82482bf7727399 /Master/texmf-dist/tex/latex | |
parent | f66a2a909e3fd17941f2c4b11efdb3efb09238e7 (diff) |
greek-fontenc (12sep23)
git-svn-id: svn://tug.org/texlive/trunk@68249 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
8 files changed, 753 insertions, 1017 deletions
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def deleted file mode 100644 index 1affabd2646..00000000000 --- a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def +++ /dev/null @@ -1,189 +0,0 @@ -% alphabeta-lgr.def -% =================== -% Composite definitions for 8-bit TeX -% ****************************************** -% -% :Copyright: © 2014, 2020 Günter Milde -% :Licence: This work may be distributed and/or modified under the -% conditions of the `LaTeX Project Public License`_, either -% version 1.3 of this license or any later version. -% :Identification: -% :: - -\ProvidesFile{alphabeta-lgr} -[2020/09/25 1.0 Composite definitions for 8-bit TeX] - -% :Changelog: -% .. class:: borderless -% -% ====== ========== ===================================================== -% 0.11.2 2014-09-04 outsourced from ``alphabeta.sty``. -% 1.0 2020-09-25 New package version. No changes in this file. -% ====== ========== ===================================================== -% -% The alphabeta_ package re-defines the math macros for Greek letters to work -% in both, text and math mode, so that Greek letters can be specified with -% the established command names in text, too. -% -% The NFSS TextComposite mechanism looks for the next token without expanding -% it. In order to let compositions like ``\>"\alpha`` work as expected we -% define TextComposites with the `letter name commands`. -% -% This file expands the font encoding definitions in lgrenc.def_ with -% composite commands for use with 8-bit TeX fonts. It is sourced by -% alphabeta_ under 8-bit TeX (pdfTeX, eTeX, TeX). -% -% :: - - \DeclareTextComposite{\accvaria}{LGR}{\alpha}{128} - \DeclareTextComposite{\accdasia}{LGR}{\alpha}{129} - \DeclareTextComposite{\accpsili}{LGR}{\alpha}{130} - \DeclareTextComposite{\accdasiavaria}{LGR}{\alpha}{131} - \DeclareTextComposite{\acctonos}{LGR}{\alpha}{136} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\alpha}{137} - \DeclareTextComposite{\accpsilioxia}{LGR}{\alpha}{138} - \DeclareTextComposite{\accpsilivaria}{LGR}{\alpha}{139} - \DeclareTextComposite{\accperispomeni}{LGR}{\alpha}{144} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\alpha}{145} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\alpha}{146} - \DeclareTextComposite{\accvaria}{LGR}{\eta}{152} - \DeclareTextComposite{\accdasia}{LGR}{\eta}{153} - \DeclareTextComposite{\accpsili}{LGR}{\eta}{154} - \DeclareTextComposite{\acctonos}{LGR}{\eta}{160} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\eta}{161} - \DeclareTextComposite{\accpsilioxia}{LGR}{\eta}{162} - \DeclareTextComposite{\accdasiavaria}{LGR}{\eta}{163} - \DeclareTextComposite{\accperispomeni}{LGR}{\eta}{168} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\eta}{169} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\eta}{170} - \DeclareTextComposite{\accpsilivaria}{LGR}{\eta}{171} - \DeclareTextComposite{\accvaria}{LGR}{\omega}{176} - \DeclareTextComposite{\accdasia}{LGR}{\omega}{177} - \DeclareTextComposite{\accpsili}{LGR}{\omega}{178} - \DeclareTextComposite{\accdasiavaria}{LGR}{\omega}{179} - \DeclareTextComposite{\acctonos}{LGR}{\omega}{184} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\omega}{185} - \DeclareTextComposite{\accpsilioxia}{LGR}{\omega}{186} - \DeclareTextComposite{\accpsilivaria}{LGR}{\omega}{187} - \DeclareTextComposite{\accperispomeni}{LGR}{\omega}{192} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\omega}{193} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\omega}{194} - \DeclareTextComposite{\accvaria}{LGR}{\iota}{200} - \DeclareTextComposite{\accdasia}{LGR}{\iota}{201} - \DeclareTextComposite{\accpsili}{LGR}{\iota}{202} - \DeclareTextComposite{\accdasiavaria}{LGR}{\iota}{203} - \DeclareTextComposite{\acctonos}{LGR}{\iota}{208} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\iota}{209} - \DeclareTextComposite{\accpsilioxia}{LGR}{\iota}{210} - \DeclareTextComposite{\accpsilivaria}{LGR}{\iota}{211} - \DeclareTextComposite{\accperispomeni}{LGR}{\iota}{216} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\iota}{217} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\iota}{218} - \DeclareTextComposite{\accdialytika}{LGR}{\iota}{240} - \DeclareTextComposite{\accdialytikavaria}{LGR}{\iota}{241} - \DeclareTextComposite{\accdialytikatonos}{LGR}{\iota}{242} - \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\iota}{243} - \DeclareTextComposite{\accvaria}{LGR}{\upsilon}{204} - \DeclareTextComposite{\accdasia}{LGR}{\upsilon}{205} - \DeclareTextComposite{\accpsili}{LGR}{\upsilon}{206} - \DeclareTextComposite{\accdasiavaria}{LGR}{\upsilon}{207} - \DeclareTextComposite{\acctonos}{LGR}{\upsilon}{212} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\upsilon}{213} - \DeclareTextComposite{\accpsilioxia}{LGR}{\upsilon}{214} - \DeclareTextComposite{\accpsilivaria}{LGR}{\upsilon}{215} - \DeclareTextComposite{\accperispomeni}{LGR}{\upsilon}{220} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\upsilon}{221} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\upsilon}{222} - \DeclareTextComposite{\accdialytika}{LGR}{\upsilon}{244} - \DeclareTextComposite{\accdialytikavaria}{LGR}{\upsilon}{245} - \DeclareTextComposite{\accdialytikatonos}{LGR}{\upsilon}{246} - \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\upsilon}{247} - \DeclareTextComposite{\accvaria}{LGR}{\epsilon}{224} - \DeclareTextComposite{\accdasia}{LGR}{\epsilon}{225} - \DeclareTextComposite{\accpsili}{LGR}{\epsilon}{226} - \DeclareTextComposite{\accdasiavaria}{LGR}{\epsilon}{227} - \DeclareTextComposite{\acctonos}{LGR}{\epsilon}{232} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\epsilon}{233} - \DeclareTextComposite{\accpsilioxia}{LGR}{\epsilon}{234} - \DeclareTextComposite{\accpsilivaria}{LGR}{\epsilon}{235} - \DeclareTextComposite{\accvaria}{LGR}{\omicron}{228} - \DeclareTextComposite{\accdasia}{LGR}{\omicron}{229} - \DeclareTextComposite{\accpsili}{LGR}{\omicron}{230} - \DeclareTextComposite{\accdasiavaria}{LGR}{\omicron}{231} - \DeclareTextComposite{\acctonos}{LGR}{\omicron}{236} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\omicron}{237} - \DeclareTextComposite{\accpsilioxia}{LGR}{\omicron}{238} - \DeclareTextComposite{\accpsilivaria}{LGR}{\omicron}{239} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Alpha}{<A} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Alpha}{<`A} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Alpha}{<'A} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Alpha}{<\char126A} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Alpha}{>A} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Alpha}{>`A} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Alpha}{>'A} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Alpha}{>\char126A} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Alpha}{'A} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Alpha}{`A} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Epsilon}{<E} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Epsilon}{<'E} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Epsilon}{<`E} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Epsilon}{>E} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Epsilon}{>'E} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Epsilon}{>`E} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Epsilon}{'E} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Epsilon}{`E} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Eta}{<H} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Eta}{<`H} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Eta}{<'H} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Eta}{<\char126H} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Eta}{>H} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Eta}{>`H} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Eta}{>'H} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Eta}{>\char126H} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Eta}{'H} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Eta}{`H} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Iota}{<I} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Iota}{<`I} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Iota}{<'I} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Iota}{<\char126I} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Iota}{>I} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Iota}{>`I} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Iota}{>'I} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Iota}{>\char126I} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Iota}{'I} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Iota}{`I} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Omicron}{<O} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omicron}{<`O} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omicron}{<'O} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Omicron}{>O} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omicron}{>`O} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omicron}{>'O} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omicron}{'O} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omicron}{`O} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Upsilon}{<U} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Upsilon}{<`U} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Upsilon}{<'U} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Upsilon}{<\char126U} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Upsilon}{'U} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Upsilon}{`U} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Omega}{<W} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omega}{<`W} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omega}{<'W} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Omega}{<\char126W} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Omega}{>W} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omega}{>`W} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omega}{>'W} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Omega}{>\char126W} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omega}{'W} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omega}{`W} - \DeclareTextComposite{\accdialytika}{LGR}{\Iota}{219} - \DeclareTextComposite{\accdialytika}{LGR}{\Upsilon}{223} - \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Alpha}{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Epsilon}{\LGR@E@hiatus} - - -% .. References -% -% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _alphabeta: alphabeta.sty.html -% .. _lgrenc.def: lgrenc.def.html diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-tuenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-tuenc.def deleted file mode 100644 index 897cd685160..00000000000 --- a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-tuenc.def +++ /dev/null @@ -1,251 +0,0 @@ -% alphabeta-tuenc.def -% =================== -% Composite definitions for XeTeX and LuaTeX -% ****************************************** -% -% :Copyright: © 2013, 2020 Günter Milde -% :Licence: This work may be distributed and/or modified under the -% conditions of the `LaTeX Project Public License`_, either -% version 1.3 of this license or any later version. -% :Identification: -% :: - -\ProvidesFile{alphabeta-tuenc} -[2020/10/30 2.0 Composite definitions for XeTeX and LuaTeX] - -% :Abstract: -% Composite definitions for ``alphabeta.sty`` with XeTeX and LuaTeX. -% -% :Changelog: -% .. class:: borderless -% -% ====== ========== ======================================================== -% 0.1 2013-09-12 initial version -% 0.1.1 2013-10-01 remove clashing defs for legacy characters with oxia. -% 0.11.2 2014-09-04 documentation update -% 0.14 2020-02-28 rename to ``alphabeta-tuenc.def``, -% use ``\UTFencname`` instead of ``\LastDeclaredEncoding`` -% 1.0 2020-09-25 New package version. No changes in this file. -% 2.0 2020-10-30 Use ``\UnicodeEncodingName`` instead of ``\UTFencname``. -% ====== ========== ======================================================== -% -% -% The alphabeta_ package re-defines the math macros for Greek letters to work -% in both, text and math mode, so that Greek letters can be specified with -% the established command names in text, too. -% -% The NFSS TextComposite mechanism looks for the next token without expanding -% it. In order to let compositions like ``\>"\alpha`` work as expected we -% define TextComposites with the `letter name commands`. -% -% This file expands the font encoding definitions in tuenc-greek.def_ with -% composite commands for use with Unicode fonts. It is sourced by alphabeta_ -% under XeTeX/LuaTeX. -% -% Greek and Coptic -% ~~~~~~~~~~~~~~~~ -% :: - -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Alpha}{Ά} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Epsilon}{Έ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Eta}{Ή} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Iota}{Ί} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omicron}{Ό} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Upsilon}{Ύ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omega}{Ώ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ} - -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Iota}{Ϊ} -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Upsilon}{Ϋ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\alpha}{ά} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\epsilon}{έ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\eta}{ή} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\iota}{ί} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ} - -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\iota}{ϊ} -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\upsilon}{ϋ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omicron}{ό} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\upsilon}{ύ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omega}{ώ} - - -% Greek Extended -% ~~~~~~~~~~~~~~ -% Postfix ypogegrammeni cannot be second part of composite defs. -% :: - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\alpha}{ἀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\alpha}{ἁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\alpha}{ἂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\alpha}{ἃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\alpha}{ἄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\alpha}{ἅ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\alpha}{ἆ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\alpha}{ἇ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Alpha}{Ἀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Alpha}{Ἁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Alpha}{Ἂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Alpha}{Ἃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Alpha}{Ἄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Alpha}{Ἅ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἆ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἇ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\epsilon}{ἐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\epsilon}{ἑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\epsilon}{ἒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\epsilon}{ἓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\epsilon}{ἔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\epsilon}{ἕ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Epsilon}{Ἐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Epsilon}{Ἑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Epsilon}{Ἒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Epsilon}{Ἓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Epsilon}{Ἔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Epsilon}{Ἕ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\eta}{ἠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\eta}{ἡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\eta}{ἢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\eta}{ἣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\eta}{ἤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\eta}{ἥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\eta}{ἦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\eta}{ἧ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Eta}{Ἠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Eta}{Ἡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Eta}{Ἢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Eta}{Ἣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Eta}{Ἤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Eta}{Ἥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Eta}{Ἦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Eta}{Ἧ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\iota}{ἰ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\iota}{ἱ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\iota}{ἲ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\iota}{ἳ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\iota}{ἴ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\iota}{ἵ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\iota}{ἶ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\iota}{ἷ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Iota}{Ἰ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Iota}{Ἱ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Iota}{Ἲ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Iota}{Ἳ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Iota}{Ἴ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Iota}{Ἵ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Iota}{Ἶ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Iota}{Ἷ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omicron}{ὀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omicron}{ὁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omicron}{ὂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omicron}{ὃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omicron}{ὄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omicron}{ὅ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omicron}{Ὀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omicron}{Ὁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omicron}{Ὂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omicron}{Ὃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omicron}{Ὄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omicron}{Ὅ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\upsilon}{ὐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\upsilon}{ὑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\upsilon}{ὒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\upsilon}{ὓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\upsilon}{ὔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\upsilon}{ὕ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\upsilon}{ὖ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\upsilon}{ὗ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Upsilon}{Ὑ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Upsilon}{Ὓ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Upsilon}{Ὕ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Upsilon}{Ὗ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omega}{ὠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omega}{ὡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omega}{ὢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omega}{ὣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omega}{ὤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omega}{ὥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\omega}{ὦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\omega}{ὧ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omega}{Ὠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omega}{Ὡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omega}{Ὢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omega}{Ὣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omega}{Ὤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omega}{Ὥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Omega}{Ὦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Omega}{Ὧ} - -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\alpha}{ὰ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\epsilon}{ὲ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\eta}{ὴ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\iota}{ὶ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omicron}{ὸ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\upsilon}{ὺ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omega}{ὼ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\alpha}{ᾰ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\alpha}{ᾱ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\alpha}{ᾶ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\alpha}{ᾶ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Alpha}{Ᾰ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Alpha}{Ᾱ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Alpha}{Ὰ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Alpha}{Ὰ} - -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\eta}{ῆ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\eta}{ῆ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Epsilon}{Ὲ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Eta}{Ὴ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Epsilon}{Ὲ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Eta}{Ὴ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\iota}{ῐ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\iota}{ῑ} -\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\iota}{ῒ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\iota}{ῖ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\iota}{ῖ} -\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\iota}{ῗ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Iota}{Ῐ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Iota}{Ῑ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Iota}{Ὶ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Iota}{Ὶ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\upsilon}{ῠ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\upsilon}{ῡ} -\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\upsilon}{ῢ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\rho}{ῤ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\rho}{ῥ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\upsilon}{ῦ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\upsilon}{ῦ} -\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\upsilon}{ῧ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Upsilon}{Ῠ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Upsilon}{Ῡ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Upsilon}{Ὺ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Upsilon}{Ὺ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Rho}{Ῥ} - -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\omega}{ῶ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\omega}{ῶ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omicron}{Ὸ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omega}{Ὼ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omicron}{Ὸ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omega}{Ὼ} - -% .. References -% -% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _alphabeta: alphabeta.sty.html -% .. _tuenc-greek.def: tuenc-greek.def.html -% -% .. fix scaling in mobile browsers -% .. meta:: -% :viewport: width=device-width, initial-scale=1 diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty index a0352815dbe..223126275ca 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty +++ b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty @@ -3,9 +3,9 @@ % Greek symbols in text and math % ****************************** % -% :Version: 2.2.1 (changelog_) +% :Version: 2.5 (changelog_) % -% :Copyright: © 2010, 2020 Günter Milde +% :Copyright: © 2010, 2020, 2023 Günter Milde % % :Licence: This work may be distributed and/or modified under the % conditions of the `LaTeX Project Public License`_, either @@ -27,8 +27,9 @@ % math mode, so that Greek letters can be specified with the established % command names in text, too. % -% If used together with the ``utf8`` option of inputenc_, literal Unicode -% characters can be used for Greek symbols in mathematical formulas. +% The package works with both, 8-bit TeX as well as Xe/LuaTeX. +% Under 8-bit TeX, literal Unicode characters can be used for Greek symbols +% in mathematical formulas. % % .. Attention:: % The macros work well in any font encoding for single symbols. @@ -39,7 +40,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 proper hyphenation. +% to ensure correct hyphenation and case changes. % % % Usage @@ -47,15 +48,11 @@ % % .. code:: latex % -% \usepackage{alphabeta} +% \usepackage[<options>]{alphabeta} % -% The greek-inputenc_ package provides support for Unicode (utf-8) input -% of Greek characters with 8-bit TeX and the inputenc_ package: +% The package provides the same options__ as textalpha_. % -% .. code:: latex -% -% \usepackage[utf-8]{inputenc} -% \usepackage{alphabeta} +% __ textalpha.sty.html#options % % Conflicts % ---------- @@ -77,29 +74,24 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{alphabeta} - [2023/03/08 2.2.1 macros for Greek letters in text and math] + [2023-09-12 2.5 macros for Greek letters in text and math] % Requirements % ------------ % % This package extends the `textalpha <textalpha.sty.html>`_ package. +% (Just like `alphabeta`, `textalpha`_ is part of greek-fontenc_.) % Package options are passed on to `textalpha`:: \RequirePackageWithOptions{textalpha} -% Just like `alphabeta`, `textalpha` is part of greek-fontenc_. -% % This package requires the e-TeX_ extensions (i.e. a not too old TeX % distribution) for the ``\ifdefined`` test. % -% It uses the ``\TextOrMath`` test from the fixltx2e_ standard LaTeX package. -% ``fixltx2e`` is loaded by default since TeXLive 2015. In case of an -% ``\TextOrMath undefined`` error, load it in the document preamble via -% -% .. code:: latex -% -% \usepackage{fixltx2e} +% It uses the ``\TextOrMath`` test (in the LaTeX kernel since 2015). +% In case of an ``\TextOrMath undefined`` error, load the +% ``fixltx2e`` package. % % % Postpone the re-definitions @@ -110,6 +102,10 @@ \AtBeginDocument{ +% save @-catcode, allow @ in command names:: + +\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}% +\makeatletter % Save math macros % ---------------- @@ -150,7 +146,6 @@ \let\mathvarrho\varrho \let\mathsigma\sigma \let\mathvarsigma\varsigma -\let\mathfinalsigma\varsigma \let\mathtau\tau \let\mathupsilon\upsilon \let\mathphi\phi @@ -162,7 +157,10 @@ \providecommand*{\digamma}{\textit{\textdigamma}} \let\mathdigamma\digamma -% \varkappa and \varbeta are defined by some math packages +% \varTheta, \varkappa, and \varbeta are defined by math packages +\ifdefined\varTheta + \let\mathvarTheta\varTheta +\fi \ifdefined\varbeta \let\mathvarbeta\varbeta \fi @@ -187,14 +185,21 @@ % no syntactic meaning in Greek text and are not given code-points in the LGR % encoding while Unicode defines separate code points for the symbol variants. % -% Greek Alphabet: +% Greek Alphabet +% '''''''''''''' % % Macros keep their meaning in mathematical mode (i.e. use the same shape as % without this package) and refer to GREEK LETTER ... in text. For % ``\epsilon`` and ``phi``, this means that the selected symbol variant % differs in text vs. math mode. Use ``\varepsilon`` and ``\varphi`` (see -% section `variant shape symbols`_ below) to select the GREEK LETTER ...” +% section `variant shape symbols`_ below) to select the "GREEK LETTER ..." % in both, text and math mode. +% +% Macros for letters that can take diacritical marks and are used in text +% and math mode are defined with ``\DeclareTextCommandDefault`` to ensure +% the selection of pre-composed characters and correct case changes with +% ``\MakeUppercase`` and ``\MakeLowercase``. +% % :: \providecommand*{\Alpha}{\textAlpha} @@ -216,21 +221,21 @@ \providecommand*{\Rho}{\textRho} \renewcommand*{\Sigma}{\TextOrMath{\textSigma}{\mathSigma}} \providecommand*{\Tau}{\textTau} -\renewcommand*{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}} +\DeclareTextCommandDefault{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}} \renewcommand*{\Phi}{\TextOrMath{\textPhi}{\mathPhi}} \providecommand*{\Chi}{\textChi} \renewcommand*{\Psi}{\TextOrMath{\textPsi}{\mathPsi}} -\renewcommand*{\Omega}{\TextOrMath{\textOmega}{\mathOmega}} +\DeclareTextCommandDefault{\Omega}{\TextOrMath{\textOmega}{\mathOmega}} % -\renewcommand*{\alpha}{\TextOrMath{\textalpha}{\mathalpha}} +\DeclareTextCommandDefault{\alpha}{\TextOrMath{\textalpha}{\mathalpha}} \renewcommand*{\beta}{\TextOrMath{\textbeta}{\mathbeta}} \renewcommand*{\gamma}{\TextOrMath{\textgamma}{\mathgamma}} \renewcommand*{\delta}{\TextOrMath{\textdelta}{\mathdelta}} -\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ +\DeclareTextCommandDefault{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ \renewcommand*{\zeta}{\TextOrMath{\textzeta}{\mathzeta}} -\renewcommand*{\eta}{\TextOrMath{\texteta}{\matheta}} +\DeclareTextCommandDefault{\eta}{\TextOrMath{\texteta}{\matheta}} \renewcommand*{\theta}{\TextOrMath{\texttheta}{\maththeta}} -\renewcommand*{\iota}{\TextOrMath{\textiota}{\mathiota}} +\DeclareTextCommandDefault{\iota}{\TextOrMath{\textiota}{\mathiota}} \renewcommand*{\kappa}{\TextOrMath{\textkappa}{\mathkappa}} \renewcommand*{\lambda}{\TextOrMath{\textlambda}{\mathlambda}} \renewcommand*{\mu}{\TextOrMath{\textmu}{\mathmu}} @@ -238,16 +243,16 @@ \renewcommand*{\xi}{\TextOrMath{\textxi}{\mathxi}} \providecommand*{\omicron}{\textomicron} \renewcommand*{\pi}{\TextOrMath{\textpi}{\mathpi}} -\renewcommand*{\rho}{\TextOrMath{\textrho}{\mathrho}} +\DeclareTextCommandDefault{\rho}{\TextOrMath{\textrho}{\mathrho}} \renewcommand*{\sigma}{\TextOrMath{\textsigma}{\mathsigma}} -\renewcommand*{\varsigma}{\TextOrMath{\textvarsigma}{\mathvarsigma}} -\providecommand*{\finalsigma}{\varsigma} +\providecommand*{\finalsigma}{\TextOrMath{\textfinalsigma}{\mathvarsigma}} +\renewcommand*{\varsigma}{\finalsigma} \renewcommand*{\tau}{\TextOrMath{\texttau}{\mathtau}} -\renewcommand*{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} +\DeclareTextCommandDefault{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} \renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} % ϕ/φ \renewcommand*{\chi}{\TextOrMath{\textchi}{\mathchi}} \renewcommand*{\psi}{\TextOrMath{\textpsi}{\mathpsi}} -\renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}} +\DeclareTextCommandDefault{\omega}{\TextOrMath{\textomega}{\mathomega}} % Archaic letters @@ -261,7 +266,8 @@ \providecommand*{\varstigma}{\textvarstigma} % stigma variant (CB.enc, teubner) \providecommand*{\koppa}{\textkoppa} % ϟ (greek small letter koppa) \providecommand*{\Koppa}{\textKoppa} % Ϟ (greek letter koppa) -\providecommand*{\qoppa}{\textqoppa} % ϙ (archaic koppa) +% !! babel-greek defines \qoppa as alias for ϟ (\textkoppa)! +\def\qoppa{\textqoppa} % ϙ (archaic koppa) \providecommand*{\Qoppa}{\textQoppa} % Ϙ (archaic Koppa) \providecommand*{\Stigma}{\textStigma} % Ϛ (in some fonts ϹΤ ligature) \providecommand*{\Sampi}{\textSampi} % Ϡ @@ -304,36 +310,353 @@ \providecommand*{\varkappa}{\textkappasymbol} \fi \providecommand*{\kappasymbol}{\varkappa} -% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta +% ..symbol != var.. (in "amsmath", \varTheta is italic shape of \Theta) +\ifdefined\mathvarTheta + \renewcommand*{\varTheta}{\TextOrMath{\textTheta}{\mathvarTheta}} +\else + \providecommand*{\varTheta}{\textTheta} % Θ +\fi \providecommand*{\Thetasymbol}{\textThetasymbol} % ϴ -% TextCompositeCommands for the generic macros -% -------------------------------------------- +% TextCompositeCommands for the letter-name macros +% ------------------------------------------------ % % The NFSS TextComposite mechanism looks for the next token without expanding % it. In order to let compositions like ``\ensuregreek{\'\Alpha}`` or -% ``\ensuregreek{\>"\alpha}`` work as expected we define TextComposites with the -% `letter name commands`. (Composition only works if the active font encoding -% is LGR). :: +% ``\ensuregreek{\>"\alpha}`` work as expected we define TextComposites with +% the `letter name commands`. +% +% TextCompositeCommands are always specific for the font-encoding. +% Documents may use TU, LGR, and PU in parallel. +% We define auxiliary commands with definitions +% that are required by more than one font encoding. +% +% +% Select pre-composed characters. +% ''''''''''''''''''''''''''''''' +% +% Required by LGR and PU. +% +% With TU, most pre-composed characters are selected by the the engine. +% (Actually by the `Harfbuzz` renderer which is default for XeTeX and can +% be selected with fontspec for LuaTeX). :: + +\newcommand*{\alphabeta@select@precomposed}[1]{ + \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha} {\accvaria\textalpha} + \DeclareTextCompositeCommand{\accdasia}{#1}{\alpha} {\accdasia\textalpha} + \DeclareTextCompositeCommand{\accpsili}{#1}{\alpha} {\accpsili\textalpha} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\alpha} {\accdasiavaria\textalpha} + \DeclareTextCompositeCommand{\acctonos}{#1}{\alpha} {\acctonos\textalpha} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\alpha} {\accdasiaoxia\textalpha} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\alpha} {\accpsilioxia\textalpha} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\alpha} {\accpsilivaria\textalpha} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\alpha} {\accperispomeni\textalpha} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\alpha} {\accdasiaperispomeni\textalpha} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\alpha} {\accpsiliperispomeni\textalpha} + \DeclareTextCompositeCommand{\accvaria}{#1}{\eta} {\accvaria\texteta} + \DeclareTextCompositeCommand{\accdasia}{#1}{\eta} {\accdasia\texteta} + \DeclareTextCompositeCommand{\accpsili}{#1}{\eta} {\accpsili\texteta} + \DeclareTextCompositeCommand{\acctonos}{#1}{\eta} {\acctonos\texteta} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\eta} {\accdasiaoxia\texteta} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\eta} {\accpsilioxia\texteta} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\eta} {\accdasiavaria\texteta} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\eta} {\accperispomeni\texteta} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\eta} {\accdasiaperispomeni\texteta} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\eta} {\accpsiliperispomeni\texteta} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\eta} {\accpsilivaria\texteta} + \DeclareTextCompositeCommand{\accvaria}{#1}{\omega} {\accvaria\textomega} + \DeclareTextCompositeCommand{\accdasia}{#1}{\omega} {\accdasia\textomega} + \DeclareTextCompositeCommand{\accpsili}{#1}{\omega} {\accpsili\textomega} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omega} {\accdasiavaria\textomega} + \DeclareTextCompositeCommand{\acctonos}{#1}{\omega} {\acctonos\textomega} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omega} {\accdasiaoxia\textomega} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omega} {\accpsilioxia\textomega} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omega} {\accpsilivaria\textomega} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\omega} {\accperispomeni\textomega} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\omega} {\accdasiaperispomeni\textomega} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\omega} {\accpsiliperispomeni\textomega} + \DeclareTextCompositeCommand{\accvaria}{#1}{\iota} {\accvaria\textiota} + \DeclareTextCompositeCommand{\accdasia}{#1}{\iota} {\accdasia\textiota} + \DeclareTextCompositeCommand{\accpsili}{#1}{\iota} {\accpsili\textiota} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\iota} {\accdasiavaria\textiota} + \DeclareTextCompositeCommand{\acctonos}{#1}{\iota} {\acctonos\textiota} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\iota} {\accdasiaoxia\textiota} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\iota} {\accpsilioxia\textiota} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\iota} {\accpsilivaria\textiota} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\iota} {\accperispomeni\textiota} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\iota} {\accdasiaperispomeni\textiota} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\iota} {\accpsiliperispomeni\textiota} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\iota} {\accdialytika\textiota} + \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\iota} {\accdialytikavaria\textiota} + \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\iota} {\accdialytikatonos\textiota} + \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\iota} {\accdialytikaperispomeni\textiota} + \DeclareTextCompositeCommand{\accvaria}{#1}{\upsilon} {\accvaria\textupsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\upsilon} {\accdasia\textupsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\upsilon} {\accpsili\textupsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\upsilon} {\accdasiavaria\textupsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\upsilon} {\acctonos\textupsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\upsilon} {\accdasiaoxia\textupsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\upsilon} {\accpsilioxia\textupsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\upsilon} {\accpsilivaria\textupsilon} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\upsilon} {\accperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\upsilon} {\accdasiaperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\upsilon} {\accpsiliperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\upsilon} {\accdialytika\textupsilon} + \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\upsilon} {\accdialytikavaria\textupsilon} + \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\upsilon} {\accdialytikatonos\textupsilon} + \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\upsilon} {\accdialytikaperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\epsilon} {\accvaria\textepsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\epsilon} {\accdasia\textepsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\epsilon} {\accpsili\textepsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\epsilon} {\accdasiavaria\textepsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\epsilon} {\acctonos\textepsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\epsilon} {\accdasiaoxia\textepsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\epsilon} {\accpsilioxia\textepsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\epsilon} {\accpsilivaria\textepsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\omicron} {\accvaria\textomicron} + \DeclareTextCompositeCommand{\accdasia}{#1}{\omicron} {\accdasia\textomicron} + \DeclareTextCompositeCommand{\accpsili}{#1}{\omicron} {\accpsili\textomicron} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omicron} {\accdasiavaria\textomicron} + \DeclareTextCompositeCommand{\acctonos}{#1}{\omicron} {\acctonos\textomicron} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omicron} {\accdasiaoxia\textomicron} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omicron} {\accpsilioxia\textomicron} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omicron} {\accpsilivaria\textomicron} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\Iota} {\accdialytika\textIota} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\Upsilon} {\accdialytika\textUpsilon} + % + \DeclareTextCompositeCommand{\accdasia}{#1}{\Alpha}{\accdasia\textAlpha} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Alpha}{\accdasiavaria\textAlpha} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Alpha}{\accdasiaoxia\textAlpha} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Alpha}{\accdasiaperispomeni\textAlpha} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Alpha}{\accpsili\textAlpha} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Alpha}{\accpsilivaria\textAlpha} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Alpha}{\accpsilioxia\textAlpha} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Alpha}{\accpsiliperispomeni\textAlpha} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Alpha}{\acctonos\textAlpha} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha}{\accvaria\textAlpha} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Epsilon}{\accdasia\textEpsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Epsilon}{\accdasiaoxia\textEpsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Epsilon}{\accdasiavaria\textEpsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Epsilon}{\accpsili\textEpsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Epsilon}{\accpsilioxia\textEpsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Epsilon}{\accpsilivaria\textEpsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Epsilon}{\acctonos\textEpsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Epsilon}{\accvaria\textEpsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Eta}{\accdasia\textEta} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Eta}{\accdasiavaria\textEta} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Eta}{\accdasiaoxia\textEta} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Eta}{\accdasiaperispomeni\textEta} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Eta}{\accpsili\textEta} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Eta}{\accpsilivaria\textEta} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Eta}{\accpsilioxia\textEta} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Eta}{\accpsiliperispomeni\textEta} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Eta}{\acctonos\textEta} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Eta}{\accvaria\textEta} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Iota}{\accdasia\textIota} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Iota}{\accdasiavaria\textIota} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Iota}{\accdasiaoxia\textIota} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Iota}{\accdasiaperispomeni\textIota} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Iota}{\accpsili\textIota} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Iota}{\accpsilivaria\textIota} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Iota}{\accpsilioxia\textIota} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Iota}{\accpsiliperispomeni\textIota} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Iota}{\acctonos\textIota} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Iota}{\accvaria\textIota} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Omicron}{\accdasia\textOmicron} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omicron}{\accdasiavaria\textOmicron} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omicron}{\accdasiaoxia\textOmicron} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Omicron}{\accpsili\textOmicron} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omicron}{\accpsilivaria\textOmicron} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omicron}{\accpsilioxia\textOmicron} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Omicron}{\acctonos\textOmicron} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Omicron}{\accvaria\textOmicron} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Upsilon}{\accdasia\textUpsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Upsilon}{\accdasiavaria\textUpsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Upsilon}{\accdasiaoxia\textUpsilon} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Upsilon}{\accdasiaperispomeni\textUpsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Upsilon}{\acctonos\textUpsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Upsilon}{\accvaria\textUpsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Rho}{\accdasia\textRho} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Omega}{\accdasia\textOmega} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omega}{\accdasiavaria\textOmega} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omega}{\accdasiaoxia\textOmega} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Omega}{\accdasiaperispomeni\textOmega} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Omega}{\accpsili\textOmega} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omega}{\accpsilivaria\textOmega} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omega}{\accpsilioxia\textOmega} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Omega}{\accpsiliperispomeni\textOmega} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Omega}{\acctonos\textOmega} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Omega}{\accvaria\textOmega} +} + +% Drop "capital" accents +% '''''''''''''''''''''' +% +% Definitions in babel-greek_ let ``\MakeUppercase`` convert standard accents +% ``\'``, ``\` ``, ``\~``, and ``\"`` to "capital" versions. +% +% In LGR, the "capital" accents are generally dropped. In PU and TU, they +% must be kept on Latin letters but dropped from Greek letters:: + +\newcommand*{\alphabeta@drop@capital@accents}[1]{ + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Alpha }{\alphabeta@alpha@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Epsilon}{\alphabeta@epsilon@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Omega }{\textOmega } + % + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Alpha }{\textAlpha } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Epsilon}{\textEpsilon} + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Omega }{\textOmega } + % + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Alpha }{\textAlpha } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Omega }{\textOmega } +} + +% Hiatus feature +% '''''''''''''' +% +% Look ahead and place a diaeresis on Ι or Υ. +% Leads to errors in PU. :: + +\newcommand*{\alphabeta@hiatus@composites}[1]{ + \DeclareTextCommand{\alphabeta@alpha@hiatus}{#1}{% + \csname LGR@ifnextchar\endcsname {\Iota}{\Alpha\"}{% + \csname LGR@ifnextchar\endcsname {\Upsilon}{\Alpha\"}{\Alpha}% + }% + } + \DeclareTextCommand{\alphabeta@epsilon@hiatus}{#1}{% + \csname LGR@ifnextchar\endcsname {\Iota}{\Epsilon\"}{% + \csname LGR@ifnextchar\endcsname {\Upsilon}{\Epsilon\"}{\Epsilon}% + }% + } + \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Alpha}{\alphabeta@alpha@hiatus} + \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Epsilon}{\alphabeta@epsilon@hiatus} +} + + +% Composites for TU +% ''''''''''''''''' +% +% With font encoding TU, pre-composed characters are selected by the +% the Harfbuzz renderer (default for XeTeX, select with fontspec for LuaTeX). +% Exception: the (standard) combining tilde. :: \@ifl@aded{def}{tuenc-greek}{ - \input{alphabeta-tuenc.def} + \DeclareUnicodeComposite{\~}{\alpha }{"1FB6} % ᾶ + \DeclareUnicodeComposite{\~}{\eta }{"1FC6} % ῆ + \DeclareUnicodeComposite{\~}{\iota }{"1FD6} % ῖ + \DeclareUnicodeComposite{\~}{\upsilon}{"1FE6} % ῦ + \DeclareUnicodeComposite{\~}{\omega }{"1FF6} % ῶ + + \alphabeta@drop@capital@accents{\UnicodeEncodingName} + \alphabeta@hiatus@composites{\UnicodeEncodingName} }{} + + +% Composites for LGR +% '''''''''''''''''' +% :: + \@ifl@aded{def}{lgrenc}{ - \input{alphabeta-lgr.def} + \alphabeta@select@precomposed{LGR} + \alphabeta@hiatus@composites{LGR} +}{} + + +% Composites for PU +% ''''''''''''''''' +% +% Composite commands in PDF strings work only, if aliases set up with +% ``DeclareTextCommandDefault`` are also defined for the PU font encoding:: + +\@ifl@aded{def}{puenc}{ + \DeclareTextCommand{\Upsilon}{PU}{\textUpsilon} + \DeclareTextCommand{\Omega}{PU}{\textOmega} + \DeclareTextCommand{\alpha}{PU}{\textalpha} + \DeclareTextCommand{\epsilon}{PU}{\textepsilon} + \DeclareTextCommand{\eta}{PU}{\texteta} + \DeclareTextCommand{\iota}{PU}{\textiota} + \DeclareTextCommand{\rho}{PU}{\textrho} + \DeclareTextCommand{\upsilon}{PU}{\textupsilon} + \DeclareTextCommand{\omega}{PU}{\textomega} + +% Now load composite defs:: + + \alphabeta@select@precomposed{PU} + \alphabeta@drop@capital@accents{PU} + +% The hiatus feature leads to errors in PU:: + + \DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\Alpha}{\textAlpha} + \DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\Epsilon}{\textEpsilon} + % fix ``\'\alpha`` and ``\'\epsilon`` (\'{\alpha} works): + \DeclareTextCompositeCommand{\accACUTE}{PU}{\Alpha }{\textAlpha} + \DeclareTextCompositeCommand{\accACUTE}{PU}{\Epsilon}{\textEpsilon} }{} +% ------------------------------------------- + +% Drop auxiliary definitions to free memory:: + +\renewcommand*{\alphabeta@select@precomposed }{\relax} +\renewcommand*{\alphabeta@drop@capital@accents}{\relax} +\renewcommand*{\alphabeta@hiatus@composites }{\relax} + + +% Case changing +% ------------- +% +% We need to extend the case-mapping ``\@uclclist`` for characters that are +% defined with ``\DeclareTextCommandDefault``. +% +% 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's way of writing ``@uclclist += …``. +% +% Since 2022, ``\MakeUppercase`` expects the default for ambiguous mappings +% in first position, before, the default was in last position. +% :: + +\providecommand*\alphabeta@update@uclclist{% + \expandafter\def\expandafter\@uclclist\expandafter{% + \@uclclist + \alpha \Alpha + \epsilon \Epsilon + \epsilonsymbol \Epsilon + \varepsilon \Epsilon + \eta \Eta + \iota \Iota + \omicron \Omicron + \rho \Rho + \varrho \Rho + \rhosymbol \Rho + \upsilon \Upsilon + \omega \Omega + % repeat default for pre-2022 \MakeUppercase + \epsilon \Epsilon + \rho \Rho + }% + \let\alphabeta@update@uclclist\relax +} + +% Expand the @uclclist using the just defined macro:: + +\alphabeta@update@uclclist + % Re-definition for Greek Unicode input in math mode % -------------------------------------------------- % -% Check with ``\ifdefined`` for the definition of -% ``\DeclareUnicodeCharacter``. In contrast to ``\@ifdefined``, this works -% without side-effects. It makes the package dependent on the `e-TeX`_ -% extensions but these are standard in all current TeX distributions anyway. -% -% Map Greek characters that are also defined in math mode to the generic +% Map Greek characters that are also defined in math mode to the letter-name % macros:: \ifdefined\DeclareUnicodeCharacter @@ -365,7 +688,7 @@ \DeclareUnicodeCharacter{03BE}{\xi} % ξ \DeclareUnicodeCharacter{03C0}{\pi} % π \DeclareUnicodeCharacter{03C1}{\rho} % ρ - \DeclareUnicodeCharacter{03C2}{\varsigma} % ς + \DeclareUnicodeCharacter{03C2}{\finalsigma} % ς \DeclareUnicodeCharacter{03C3}{\sigma} % σ \DeclareUnicodeCharacter{03C4}{\tau} % τ \DeclareUnicodeCharacter{03C5}{\upsilon} % υ @@ -380,11 +703,11 @@ \DeclareUnicodeCharacter{03DD}{\digamma} % ϝ \DeclareUnicodeCharacter{03F1}{\rhosymbol} % ϱ \DeclareUnicodeCharacter{03F5}{\epsilonsymbol} % ϵ $\epsilon$ - \fi % :: +\RestoreAtCatcode } % close the \AtBeginDocument macro @@ -407,6 +730,14 @@ % 1.0 2020/09/25 New package version. No changes in this file. % 2.0 2020/10/13 Provide ``\Koppa``. % 2.2.1 2023-03-08 Documentation update. +% 2.5 2023-09-12 Fixes for ``\MakeUppercase`` / ``\MakeLowercase``. +% .. Text mode alias ``\varTheta`` → ``\Theta``. +% .. Overwrite legacy `babel-greek` alias ``\qoppa`` (ϟ) +% with ``\textqoppa`` (ϙ). +% .. Inline ``alphabeta-tuenc.def`` and ``alphabeta-lgr.def`` +% (dropping redundant composite definitions). +% .. Composite definitions to select pre-composed characters +% in PU (PDF strings). % ====== =========== ======================================================== % % @@ -415,9 +746,9 @@ % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt % .. _CB Fonts: https://ctan.org/pkg/cbgreek-complete % .. _Babel: https://ctan.org/pkg/babel +% .. _babel-greek: https://ctan.org/pkg/babel-greek % .. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex % .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc % .. _greek-inputenc: https://ctan.org/pkg/greek-inputenc -% .. _inputenc: https://ctan.org/pkg/inputenc % .. _fixltx2e: https://ctan.org/pkg/fixltx2e % .. _Polyglossia: https://ctan.org/pkg/polyglossia 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 b9a89af3e43..58c53111c42 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.4 (changelog_) +% :Version: 2.5 (changelog_) % % :Copyright: © 2013 -- 2023 Günter Milde % @@ -31,7 +31,7 @@ % :: \ProvidesFile{greek-fontenc.def} - [2023-08-15 2.4 Common Greek font encoding definitions] + [2023-09-12 2.5 Common Greek font encoding definitions] % ensuregreek, greekscript % ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,11 +68,11 @@ % \var... matching GREEK ... SYMBOL \DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} % ϐ \DeclareTextCommand{\textvarkappa}{\LastDeclaredEncoding}{\textkappasymbol} % ϰ -\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textThetasymbol} % ϴ \DeclareTextCommand{\textvartheta}{\LastDeclaredEncoding}{\textthetasymbol} % ϑ \DeclareTextCommand{\textvarpi}{\LastDeclaredEncoding}{\textpisymbol} % ϖ \DeclareTextCommand{\textvarrho}{\LastDeclaredEncoding}{\textrhosymbol} % ϱ % \var... matching GREEK LETTER ... +\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textTheta} % Θ \DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{\textepsilon} % ε \DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{\textphi} % φ \DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{\textfinalsigma} % ς @@ -103,7 +103,7 @@ % Two Unicode code points and names for one character:: \DeclareTextCommand{\accoxia}{\LastDeclaredEncoding}{\acctonos} -\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialyikatonos} +\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialytikatonos} \DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili} % Symbol macros for the breathings: @@ -248,44 +248,37 @@ % 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 +\ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika} +\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}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika} +\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}{>}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} +\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} % .. _@uclclist: @@ -327,9 +320,9 @@ % % 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's way of writing ``@uclclist += …`` % -% The new ``\MakeUppercase`` expects the default for ambiguous mappings +% Since 2022, ``\MakeUppercase`` expects the default for ambiguous mappings % in first position, the old in last position. % % The ``\LGR@…`` auxiliary macros are defined below. @@ -338,78 +331,80 @@ \providecommand*\update@uclc@with@greek{% \expandafter\def\expandafter\@uclclist\expandafter{% \@uclclist - \accdasia\LGR@accdropped - \accdasiaoxia\LGR@hiatus - \accdasiavaria\LGR@accdropped + \accdasia \LGR@accdropped + \accdasiaoxia \LGR@hiatus + \accdasiavaria \LGR@accdropped \accdasiaperispomeni\LGR@accdropped - \accpsili\LGR@hiatus - \accpsilioxia\LGR@hiatus - \accpsilivaria\LGR@hiatus + \accpsili \LGR@hiatus + \accpsilioxia \LGR@hiatus + \accpsilivaria \LGR@hiatus \accpsiliperispomeni\LGR@accdropped - \acctonos\LGR@hiatus - \accoxia\LGR@hiatus - \accvaria\LGR@accdropped - \accdialytikatonos\LGR@accDialytika - \accdialytikavaria\LGR@accDialytika + \acctonos \LGR@hiatus + \accoxia \LGR@hiatus + \accvaria \LGR@accdropped + \accdialytikatonos \LGR@accDialytika + \accdialytikaoxia \LGR@accDialytika + \accdialytikavaria \LGR@accDialytika \accdialytikaperispomeni\LGR@accDialytika - \accperispomeni\LGR@accdropped - \LGR@ypogegrammeni\prosgegrammeni - \textalpha \textAlpha - \textbeta \textBeta + \accperispomeni \LGR@accdropped + \LGR@ypogegrammeni \prosgegrammeni + \textalpha \textAlpha + \textbeta \textBeta \textbetasymbol \textBeta \textvarbeta \textBeta - \textgamma \textGamma - \textdelta \textDelta - \textepsilon \textEpsilon + \textgamma \textGamma + \textdelta \textDelta + \textepsilon \textEpsilon \textepsilonsymbol \textEpsilon \textvarepsilon \textEpsilon - \textzeta \textZeta - \texteta \textEta - \texttheta \textTheta + \textzeta \textZeta + \texteta \textEta + \texttheta \textTheta \texttheta \textThetasymbol \texttheta \textvarTheta \textthetasymbol \textTheta \textvartheta \textTheta - \textiota \textIota - \textkappa \textKappa + \textiota \textIota + \textkappa \textKappa \textkappasymbol \textKappa \textvarkappa \textKappa - \textlambda \textLambda - \textmu \textMu - \textnu \textNu - \textxi \textXi - \textomicron \textOmicron - \textpi \textPi - \textpisymbol \textPi - \textvarpi \textPi - \textrho \textRho + \textlambda \textLambda + \textmu \textMu + \textnu \textNu + \textxi \textXi + \textomicron \textOmicron + \textpi \textPi + \textpisymbol \textPi + \textvarpi \textPi + \textrho \textRho \textvarrho \textRho \textrhosymbol \textRho - \textautosigma \textSigma - \textfinalsigma \textSigma - \textvarsigma \textSigma - \textsigma \textSigma - \texttau \textTau - \textupsilon \textUpsilon - \textphi \textPhi - \textphisymbol \textPhi - \textvarphi \textPhi - \textchi \textChi - \textpsi \textPsi - \textomega \textOmega - \textkoppa \textKoppa - \textqoppa \textQoppa - \textvarstigma \LGR@Stigma - \textstigma \textStigma - \textsampi \textSampi - \textdigamma \textDigamma + \textautosigma \textSigma + \textfinalsigma \textSigma + \textvarsigma \textSigma + \textsigma \textSigma + \texttau \textTau + \textupsilon \textUpsilon + \textphi \textPhi + \textphisymbol \textPhi + \textvarphi \textPhi + \textchi \textChi + \textpsi \textPsi + \textomega \textOmega + \textkoppa \textKoppa + \textqoppa \textQoppa + \textstigma \textStigma + \textvarstigma \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 + \textbeta \textBeta + \texttheta \textTheta + \textkappa \textKappa + \textpi \textPi + \textrho \textRho + \textautosigma \textSigma + \textstigma \textStigma }% \let\update@uclc@with@greek\relax } @@ -428,7 +423,9 @@ % where the character ``~`` maps to a no-break space. % :: -\DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1} +\ProvideTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}{\@firstofone} +\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped} +\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@accdropped} \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{~}{\LGR@accdropped} % Keep dialytika: Define a dummy alias so that downcasing with @@ -439,18 +436,12 @@ \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@accdropped}{\accdialytika} -% The prosgegrammeni (adscript iota) is used only with capital letters. +% The prosgegrammeni (adscript iota) is used only with capital letters. % We define a dummy macro to enable the conversion of ``\prosgegrammeni`` -% to ``\ypogegrammeni`` (subscript iota) but not vice versa:: +% to ``\ypogegrammeni`` (subscript iota) but not vice versa:: \DeclareTextCommand{\LGR@ypogegrammeni}{\LastDeclaredEncoding}{\ypogegrammeni} -% Prevent downcasing ``\textStigma`` to the stigma variant ``\textvarstigma`` -% (only available in LGR). This happened sometimes with the post-2022/06 -% ``\MakeLowercase``:: - -\DeclareTextCommand{\LGR@Stigma}{\LastDeclaredEncoding}{\textStigma} - % Hiatus % """""" @@ -520,6 +511,9 @@ % 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 ``~``. +% 2.5 2023-09-12 ``\textvarTheta`` is now an alias for ``\textTheta`` +% (the math command `\varTheta` set the *letter* Theta +% in italic shape). % ====== ============ ======================================================== % % diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def index 8ff80d1d1bd..d0890015ce9 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def @@ -63,6 +63,7 @@ % 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_. +% 2.5 2023-09-12 Small formatting and documentation fixes. % ====== ============ ======================================================== % % Usage @@ -102,7 +103,7 @@ % :: \ProvidesFile{lgrenc.def} -[2023-08-15 2.4 LGR Greek font encoding definitions] +[2023-09-12 2.5 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 @@ -260,8 +261,8 @@ \PackageError{greek-fontenc}{character \string#1 not available \MessageBreak in 8-bit TeX} {Use XeTeX/LuaTeX if you need to distinguish the symbol from the letter.\MessageBreak - The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak - character to the corresponding GREEK LETTER.\MessageBreak + The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak + maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak Press <return> to proceed (dropping the symbol from the document).} } @@ -269,8 +270,8 @@ \PackageError{greek-fontenc}{character \string#1 not available in text mode} {Use #2 or XeTeX/LuaTeX if you need to distinguish\MessageBreak the symbol from the letter.\MessageBreak - The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak - character to the corresponding GREEK LETTER.\MessageBreak + The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak + maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak Press <return> to proceed (dropping the symbol from the document).} } @@ -866,31 +867,32 @@ % letters without pre-composed uppercase version % """""""""""""""""""""""""""""""""""""""""""""" % -% 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 2023 or later:: +% The default ``\MakeUppercase`` (2022-version) emits "composing" Unicode +% characters for letters with diacritics but no matching pre-composed +% capital equivalent. We drop diacritics to prevent compilation errors. +% The ``\DeclareUppercaseMapping`` macro is new in the 2023 LaTeX release:: \ifdefined\DeclareUppercaseMapping - \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ - \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ - \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ - \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ - \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ - \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ - \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ + \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ + \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ + \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ + \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ + \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ + \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ + \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ \DeclareUppercaseMapping{"1FB7}{\accperispomeni{\textalpha}\ypogegrammeni} % ᾷ - \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ + \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ \DeclareUppercaseMapping{"1FC7}{\accperispomeni{\texteta}\ypogegrammeni} % ῇ - \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ - \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ - \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ - \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ - \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ - \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ - \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ - \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ - \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ - \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ + \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ + \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ + \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ + \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ + \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ + \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ + \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ + \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ + \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ + \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ \DeclareUppercaseMapping{"1FF7}{\accperispomeni{\textomega}\ypogegrammeni} % ῷ \fi 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 920b49ab53f..d308991642d 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def @@ -24,6 +24,8 @@ % 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. +% 2.5 2023-09-12 Composite definitions for "capital" diacritics to fix +% ``\MakeUppercase`` in PDF strings. % ====== =========== ======================================================= % % .. contents:: @@ -34,7 +36,7 @@ % :: \ProvidesFile{puenc-greek.def} - [2023-08-15 2.4 Greek LICRs for PDF strings] + [2023-09-12 2.5 Greek LICRs for PDF strings] % Diacritics @@ -107,7 +109,7 @@ % Without coptic and archaic letters (except the ones used in Greek numerals). % :: -% NR Unicode Name % PU name (alias in greek-fontenc.def) +% NR Unicode Name % legacy PU name (alias in greek-fontenc.def) \DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \textnumeralsigngreek \DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \textnumeralsignlowergreek @@ -465,6 +467,42 @@ \DeclareTextCommand{\textpentemuria}{PU}{𐅇} % "10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND +% UPPERCASE +% --------- +% +% Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE. +% +% Babel-Greek introduces macros for "capital accents" in release 1.13.3. +% Here, we add definitions to drop diacritics in uppercase:: + +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEpsilon}{\textEpsilon} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmicron}{\textOmicron} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmega }{\textOmega} + +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEpsilon}{\textEpsilon} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmicron}{\textOmicron} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmega }{\textOmega} + +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textOmega }{\textOmega} + +% The "hiatus" feature does not work with PU (Alpha/Epsilon is dropped!):: + +\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textEpsilon}{\textEpsilon} + + % .. References % % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty b/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty index 7f09a4469d2..ef70c8094aa 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.4 (changelog_) +% :Version: 2.5 (changelog_) % % :Copyright: © 2010, 2023 Günter Milde % @@ -113,7 +113,7 @@ % :: \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{textalpha}[2023-08-15 2.4 macros for Greek letters in text] +\ProvidesPackage{textalpha}[2023-09-12 2.5 macros for Greek letters in text] % Options @@ -181,6 +181,8 @@ % Psili) are input as < and >. Provide the corresponding NFSS macro accents. % (Used below for LGR, TU, and PU, if these font encodings are defined):: +\providecommand*{\IfFormatAtLeastTF}[3]{#3} % new in 2020 + \newcommand{\textalpha@define@breathings}[1]{ \DeclareTextCommand{\<}{#1}{\accdasia} \DeclareTextCommand{\>}{#1}{\accpsili} @@ -192,8 +194,13 @@ \DeclareTextCompositeCommand{\<}{#1}{`}{\accdasiavaria} \DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni} + \IfFormatAtLeastTF{2022/06/01}{}{% else + \DeclareTextCompositeCommand{\<}{#1}{^^9f}{\LGR@hiatus} + \DeclareTextCompositeCommand{\>}{#1}{^^9f}{\LGR@hiatus} + } + % Also define "mixed" composites (required due to the fix for -% ``\MakeUppercse`` below:: +% ``\MakeUppercase`` below:: % \MakeUppercse: \>~a, \<~a % \DeclareTextCompositeCommand{\accpsili}{#1}{~}{\accpsiliperispomeni} @@ -234,8 +241,6 @@ \ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines \input{tuenc-greek.def} \textalpha@define@breathings{\UnicodeEncodingName} - \DeclareTextCompositeCommand{\<}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} \else \@ifl@aded{def}{lgrenc} {} @@ -248,11 +253,7 @@ % Add setup for breathings:: \@ifl@aded{def}{lgrenc} - {\textalpha@define@breathings{LGR} - % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) - \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} - } + {\textalpha@define@breathings{LGR}} {} % The package hyperref_ defines the PU font encoding and adds some @@ -385,15 +386,15 @@ \DeclareTextSymbolDefault{\textkappa}{LGR} \DeclareTextSymbolDefault{\textlambda}{LGR} \DeclareTextSymbolDefault{\textmu}{LGR} -\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) +\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) \DeclareTextSymbolDefault{\textnu}{LGR} \DeclareTextSymbolDefault{\textxi}{LGR} \DeclareTextSymbolDefault{\textomicron}{LGR} \DeclareTextSymbolDefault{\textpi}{LGR} \DeclareTextSymbolDefault{\textrho}{LGR} \DeclareTextSymbolDefault{\textsigma}{LGR} -\DeclareTextSymbolDefault{\textvarsigma}{LGR} -\DeclareTextSymbolDefault{\textfinalsigma}{LGR} % alias for \textvarsigma +\DeclareTextSymbolDefault{\textfinalsigma}{LGR} +\DeclareTextSymbolDefault{\textvarsigma}{LGR} % alias for \textfinalsigma \DeclareTextSymbolDefault{\textautosigma}{LGR} % char 115 in LGR \DeclareTextSymbolDefault{\texttau}{LGR} \DeclareTextSymbolDefault{\textupsilon}{LGR} @@ -486,6 +487,7 @@ \DeclareTextAccentDefault{\accdasia}{LGR} \DeclareTextAccentDefault{\accpsili}{LGR} \DeclareTextAccentDefault{\acctonos}{LGR} +\DeclareTextAccentDefault{\accoxia}{LGR} \DeclareTextAccentDefault{\accvaria}{LGR} \DeclareTextAccentDefault{\accperispomeni}{LGR} \DeclareTextAccentDefault{\accdialytika}{LGR} @@ -603,6 +605,7 @@ % 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 ``\>``. +% 2.5 2023-09-12 Support the ``\accoxia`` alias. % ====== =========== ======================================================== % % 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 1a4c8875c57..b6c784df632 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.4 (changelog_) +% :Version: 2.5 (changelog_) % % :Copyright: © 2013 -- 2023 Günter Milde % @@ -51,9 +51,15 @@ % :: \ProvidesFile{tuenc-greek.def} - [2023-08-15 2.4 Greek LICRs for XeTeX and LuaTeX] + [2023-09-12 2.5 Greek LICRs for XeTeX and LuaTeX] +% Auxiliary command (modeled after definitions in ``tuenc.def``):: + +\providecommand*{\DeclareUnicodeCompositeCommand}[2]{% + \DeclareTextCompositeCommand{#1}{\UnicodeEncodingName}{#2} +} + % Greek Diacritics % ---------------- % @@ -165,117 +171,74 @@ % 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL \DeclareTextSymbol{\texterotimatiko}\UnicodeEncodingName{"003B} % use SEMICOLON, not 037E GREEK QUESTION MARK -\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS -\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS -\DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά -\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA -\DeclareUnicodeComposite{\'} {\textEpsilon}{"0388} % Έ -\DeclareUnicodeComposite{\'} {\textEta} {"0389} % Ή -\DeclareUnicodeComposite{\'} {\textIota} {"038A} % Ί -\DeclareUnicodeComposite{\'} {\textOmicron}{"038C} % Ό -\DeclareUnicodeComposite{\'} {\textUpsilon}{"038E} % Ύ -\DeclareUnicodeComposite{\'} {\textOmega} {"038F} % Ώ -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\acctonos} {\textAlpha} {"0386} % Ά -\DeclareUnicodeComposite{\acctonos} {\textEpsilon}{"0388} % Έ -\DeclareUnicodeComposite{\acctonos} {\textEta} {"0389} % Ή -\DeclareUnicodeComposite{\acctonos} {\textIota} {"038A} % Ί -\DeclareUnicodeComposite{\acctonos} {\textOmicron}{"038C} % Ό -\DeclareUnicodeComposite{\acctonos} {\textUpsilon}{"038E} % Ύ -\DeclareUnicodeComposite{\acctonos} {\textOmega} {"038F} % Ώ -\DeclareUnicodeComposite{\accdialytikatonos}{\textiota} {"0390} % ΐ - -\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α -\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β -\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ -\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ -\DeclareTextSymbol{\textEpsilon}\UnicodeEncodingName{"0395} % Ε -\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ -\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η -\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ -\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι -\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ -\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ -\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ -\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν -\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ -\DeclareTextSymbol{\textOmicron}\UnicodeEncodingName{"039F} % Ο -\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π -\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ -\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ -\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ -\DeclareTextSymbol{\textUpsilon}\UnicodeEncodingName{"03A5} % Υ -\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ -\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ -\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ -\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω - -\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\"} {\textUpsilon}{"03AB} % Ϋ -\DeclareUnicodeComposite{\'} {\textalpha} {"03AC} % ά -\DeclareUnicodeComposite{\'} {\textepsilon}{"03AD} % έ -\DeclareUnicodeComposite{\'} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\'} {\textiota} {"03AF} % ί -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\accdialytika} {\textUpsilon}{"03AB} % Ϋ -\DeclareUnicodeComposite{\acctonos} {\textalpha} {"03AC} % ά -\DeclareUnicodeComposite{\acctonos} {\textepsilon}{"03AD} % έ -\DeclareUnicodeComposite{\acctonos} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\acctonos} {\textiota} {"03AF} % ί -\DeclareUnicodeComposite{\accdialytikatonos}{\textupsilon}{"03B0} % ΰ - -\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α -\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β -\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ -\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ -\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε -\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ -\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η -\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ -\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι -\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ -\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ -\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek -\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν -\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ -\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο -\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π -\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ -\DeclareTextSymbol{\textfinalsigma}\UnicodeEncodingName{"03C2} % ς % final sigma -\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ -\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ -\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ -\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ -\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ -\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ -\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω - -\DeclareUnicodeComposite{\"}{\textiota}{"03CA} % ϊ -\DeclareUnicodeComposite{\"}{\textupsilon}{"03CB} % ϋ -\DeclareUnicodeComposite{\'}{\textomicron}{"03CC} % ό -\DeclareUnicodeComposite{\'}{\textupsilon}{"03CD} % ύ -\DeclareUnicodeComposite{\'}{\textomega}{"03CE} % ώ -\DeclareUnicodeComposite{\accdialytika}{\textiota}{"03CA} % ϊ -\DeclareUnicodeComposite{\accdialytika}{\textupsilon}{"03CB} % ϋ -\DeclareUnicodeComposite{\acctonos}{\textomicron}{"03CC} % ό -\DeclareUnicodeComposite{\acctonos}{\textupsilon}{"03CD} % ύ -\DeclareUnicodeComposite{\acctonos}{\textomega}{"03CE} % ώ +\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS +\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS + +\DeclareTextSymbol{\textanoteleia }\UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA + +\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α +\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β +\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ +\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ +\DeclareTextSymbol{\textEpsilon }\UnicodeEncodingName{"0395} % Ε +\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ +\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η +\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ +\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι +\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ +\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ +\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ +\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν +\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ +\DeclareTextSymbol{\textOmicron }\UnicodeEncodingName{"039F} % Ο +\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π +\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ +\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ +\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ +\DeclareTextSymbol{\textUpsilon }\UnicodeEncodingName{"03A5} % Υ +\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ +\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ +\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ +\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω + +\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α +\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β +\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ +\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ +\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε +\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ +\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η +\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ +\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι +\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ +\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ +\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek +\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν +\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ +\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο +\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π +\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ +\DeclareTextSymbol{\textfinalsigma }\UnicodeEncodingName{"03C2} % ς % final sigma +\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ +\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ +\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ +\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ +\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ +\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ +\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω % Archaic letters (still used in Greek numerals):: -\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ -\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ -\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ -\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ -\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ -\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ -\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa -\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!] -\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ -\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ +\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ +\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ +\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ +\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ +\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ +\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ +\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa +\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!] +\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ +\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ % Symbol variants:: @@ -300,262 +263,84 @@ % Greek Extended % ~~~~~~~~~~~~~~ % -% We skip definitions for characters "... WITH OXIA", because they would -% overwrite the definitions for "... WITH TONOS" in the `Greek and Coptic` -% block. -% +% spacing diacritics +% """""""""""""""""" % :: -\DeclareUnicodeComposite{\accpsili }{\textalpha}{"1F00} % ἀ -\DeclareUnicodeComposite{\accdasia }{\textalpha}{"1F01} % ἁ -\DeclareUnicodeComposite{\accpsilivaria }{\textalpha}{"1F02} % ἂ -\DeclareUnicodeComposite{\accdasiavaria }{\textalpha}{"1F03} % ἃ -\DeclareUnicodeComposite{\accpsilioxia }{\textalpha}{"1F04} % ἄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textalpha}{"1F05} % ἅ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textalpha}{"1F06} % ἆ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textalpha}{"1F07} % ἇ -\DeclareUnicodeComposite{\accpsili }{\textAlpha}{"1F08} % Ἀ -\DeclareUnicodeComposite{\accdasia }{\textAlpha}{"1F09} % Ἁ -\DeclareUnicodeComposite{\accpsilivaria }{\textAlpha}{"1F0A} % Ἂ -\DeclareUnicodeComposite{\accdasiavaria }{\textAlpha}{"1F0B} % Ἃ -\DeclareUnicodeComposite{\accpsilioxia }{\textAlpha}{"1F0C} % Ἄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textAlpha}{"1F0D} % Ἅ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textAlpha}{"1F0E} % Ἆ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textAlpha}{"1F0F} % Ἇ - -\DeclareUnicodeComposite{\accpsili }{\textepsilon}{"1F10} % ἐ -\DeclareUnicodeComposite{\accdasia }{\textepsilon}{"1F11} % ἑ -\DeclareUnicodeComposite{\accpsilivaria }{\textepsilon}{"1F12} % ἒ -\DeclareUnicodeComposite{\accdasiavaria }{\textepsilon}{"1F13} % ἓ -\DeclareUnicodeComposite{\accpsilioxia }{\textepsilon}{"1F14} % ἔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textepsilon}{"1F15} % ἕ -\DeclareUnicodeComposite{\accpsili }{\textEpsilon}{"1F18} % Ἐ -\DeclareUnicodeComposite{\accdasia }{\textEpsilon}{"1F19} % Ἑ -\DeclareUnicodeComposite{\accpsilivaria }{\textEpsilon}{"1F1A} % Ἒ -\DeclareUnicodeComposite{\accdasiavaria }{\textEpsilon}{"1F1B} % Ἓ -\DeclareUnicodeComposite{\accpsilioxia }{\textEpsilon}{"1F1C} % Ἔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textEpsilon}{"1F1D} % Ἕ - -\DeclareUnicodeComposite{\accpsili }{\texteta}{"1F20} % ἠ -\DeclareUnicodeComposite{\accdasia }{\texteta}{"1F21} % ἡ -\DeclareUnicodeComposite{\accpsilivaria }{\texteta}{"1F22} % ἢ -\DeclareUnicodeComposite{\accdasiavaria }{\texteta}{"1F23} % ἣ -\DeclareUnicodeComposite{\accpsilioxia }{\texteta}{"1F24} % ἤ -\DeclareUnicodeComposite{\accdasiaoxia }{\texteta}{"1F25} % ἥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\texteta}{"1F26} % ἦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\texteta}{"1F27} % ἧ -\DeclareUnicodeComposite{\accpsili }{\textEta}{"1F28} % Ἠ -\DeclareUnicodeComposite{\accdasia }{\textEta}{"1F29} % Ἡ -\DeclareUnicodeComposite{\accpsilivaria }{\textEta}{"1F2A} % Ἢ -\DeclareUnicodeComposite{\accdasiavaria }{\textEta}{"1F2B} % Ἣ -\DeclareUnicodeComposite{\accpsilioxia }{\textEta}{"1F2C} % Ἤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textEta}{"1F2D} % Ἥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textEta}{"1F2E} % Ἦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textEta}{"1F2F} % Ἧ - -\DeclareUnicodeComposite{\accpsili }{\textiota}{"1F30} % ἰ -\DeclareUnicodeComposite{\accdasia }{\textiota}{"1F31} % ἱ -\DeclareUnicodeComposite{\accpsilivaria }{\textiota}{"1F32} % ἲ -\DeclareUnicodeComposite{\accdasiavaria }{\textiota}{"1F33} % ἳ -\DeclareUnicodeComposite{\accpsilioxia }{\textiota}{"1F34} % ἴ -\DeclareUnicodeComposite{\accdasiaoxia }{\textiota}{"1F35} % ἵ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textiota}{"1F36} % ἶ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textiota}{"1F37} % ἷ -\DeclareUnicodeComposite{\accpsili }{\textIota}{"1F38} % Ἰ -\DeclareUnicodeComposite{\accdasia }{\textIota}{"1F39} % Ἱ -\DeclareUnicodeComposite{\accpsilivaria }{\textIota}{"1F3A} % Ἲ -\DeclareUnicodeComposite{\accdasiavaria }{\textIota}{"1F3B} % Ἳ -\DeclareUnicodeComposite{\accpsilioxia }{\textIota}{"1F3C} % Ἴ -\DeclareUnicodeComposite{\accdasiaoxia }{\textIota}{"1F3D} % Ἵ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textIota}{"1F3E} % Ἶ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textIota}{"1F3F} % Ἷ - -\DeclareUnicodeComposite{\accpsili }{\textomicron}{"1F40} % ὀ -\DeclareUnicodeComposite{\accdasia }{\textomicron}{"1F41} % ὁ -\DeclareUnicodeComposite{\accpsilivaria }{\textomicron}{"1F42} % ὂ -\DeclareUnicodeComposite{\accdasiavaria }{\textomicron}{"1F43} % ὃ -\DeclareUnicodeComposite{\accpsilioxia }{\textomicron}{"1F44} % ὄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textomicron}{"1F45} % ὅ -\DeclareUnicodeComposite{\accpsili }{\textOmicron}{"1F48} % Ὀ -\DeclareUnicodeComposite{\accdasia }{\textOmicron}{"1F49} % Ὁ -\DeclareUnicodeComposite{\accpsilivaria }{\textOmicron}{"1F4A} % Ὂ -\DeclareUnicodeComposite{\accdasiavaria }{\textOmicron}{"1F4B} % Ὃ -\DeclareUnicodeComposite{\accpsilioxia }{\textOmicron}{"1F4C} % Ὄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textOmicron}{"1F4D} % Ὅ - -\DeclareUnicodeComposite{\accpsili }{\textupsilon}{"1F50} % ὐ -\DeclareUnicodeComposite{\accdasia }{\textupsilon}{"1F51} % ὑ -\DeclareUnicodeComposite{\accpsilivaria }{\textupsilon}{"1F52} % ὒ -\DeclareUnicodeComposite{\accdasiavaria }{\textupsilon}{"1F53} % ὓ -\DeclareUnicodeComposite{\accpsilioxia }{\textupsilon}{"1F54} % ὔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textupsilon}{"1F55} % ὕ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textupsilon}{"1F56} % ὖ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textupsilon}{"1F57} % ὗ -\DeclareUnicodeComposite{\accdasia }{\textUpsilon}{"1F59} % Ὑ -\DeclareUnicodeComposite{\accdasiavaria }{\textUpsilon}{"1F5B} % Ὓ -\DeclareUnicodeComposite{\accdasiaoxia }{\textUpsilon}{"1F5D} % Ὕ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textUpsilon}{"1F5F} % Ὗ - -\DeclareUnicodeComposite{\accpsili }{\textomega}{"1F60} % ὠ -\DeclareUnicodeComposite{\accdasia }{\textomega}{"1F61} % ὡ -\DeclareUnicodeComposite{\accpsilivaria }{\textomega}{"1F62} % ὢ -\DeclareUnicodeComposite{\accdasiavaria }{\textomega}{"1F63} % ὣ -\DeclareUnicodeComposite{\accpsilioxia }{\textomega}{"1F64} % ὤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textomega}{"1F65} % ὥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textomega}{"1F66} % ὦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textomega}{"1F67} % ὧ -\DeclareUnicodeComposite{\accpsili }{\textOmega}{"1F68} % Ὠ -\DeclareUnicodeComposite{\accdasia }{\textOmega}{"1F69} % Ὡ -\DeclareUnicodeComposite{\accpsilivaria }{\textOmega}{"1F6A} % Ὢ -\DeclareUnicodeComposite{\accdasiavaria }{\textOmega}{"1F6B} % Ὣ -\DeclareUnicodeComposite{\accpsilioxia }{\textOmega}{"1F6C} % Ὤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textOmega}{"1F6D} % Ὥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textOmega}{"1F6E} % Ὦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textOmega}{"1F6F} % Ὧ - -\DeclareUnicodeComposite{\`} {\textalpha} {"1F70} % ὰ -\DeclareUnicodeComposite{\`} {\textepsilon}{"1F72} % ὲ -\DeclareUnicodeComposite{\`} {\texteta} {"1F74} % ὴ -\DeclareUnicodeComposite{\`} {\textiota} {"1F76} % ὶ -\DeclareUnicodeComposite{\`} {\textomicron}{"1F78} % ὸ -\DeclareUnicodeComposite{\`} {\textupsilon}{"1F7A} % ὺ -\DeclareUnicodeComposite{\`} {\textomega} {"1F7C} % ὼ -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\accvaria} {\textalpha} {"1F70} % ὰ -\DeclareUnicodeComposite{\accvaria} {\textepsilon}{"1F72} % ὲ -\DeclareUnicodeComposite{\accvaria} {\texteta} {"1F74} % ὴ -\DeclareUnicodeComposite{\accvaria} {\textiota} {"1F76} % ὶ -\DeclareUnicodeComposite{\accvaria} {\textomicron}{"1F78} % ὸ -\DeclareUnicodeComposite{\accvaria} {\textupsilon}{"1F7A} % ὺ -\DeclareUnicodeComposite{\accvaria} {\textomega} {"1F7C} % ὼ - -% Skipping pre-composed characters with mute iota (misleadingly named -% … WITH PROSGEGRAMMENI): letter + ``\ypogegrammeni`` is normalized -% to the pre-composed character. :: - -\DeclareUnicodeComposite{\u} {\textalpha} {"1FB0} % ᾰ -\DeclareUnicodeComposite{\=} {\textalpha} {"1FB1} % ᾱ -% ᾲ -% ᾳ -% ᾴ -\DeclareUnicodeComposite{\accperispomeni} {\textalpha} {"1FB6} % ᾶ -\DeclareUnicodeComposite{\~} {\textalpha} {"1FB6} % ᾶ -% ᾷ -\DeclareUnicodeComposite{\u} {\textAlpha} {"1FB8} % Ᾰ -\DeclareUnicodeComposite{\=} {\textAlpha} {"1FB9} % Ᾱ -\DeclareUnicodeComposite{\`} {\textAlpha} {"1FBA} % Ὰ -\DeclareUnicodeComposite{\accvaria} {\textAlpha} {"1FBA} % Ὰ -% ᾼ -\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽ +% 1FBD GREEK KORONIS -> psili % ᾽ \DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι \DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿ \DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀ \DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁ -% ῂ -% ῃ -% ῄ -\DeclareUnicodeComposite{\accperispomeni} {\texteta} {"1FC6} % ῆ -\DeclareUnicodeComposite{\~} {\texteta} {"1FC6} % ῆ -% ῇ -\DeclareUnicodeComposite{\`} {\textEpsilon}{"1FC8} % Ὲ -\DeclareUnicodeComposite{\accvaria} {\textEpsilon}{"1FC8} % Ὲ -\DeclareUnicodeComposite{\`} {\textEta} {"1FCA} % Ὴ -\DeclareUnicodeComposite{\accvaria} {\textEta} {"1FCA} % Ὴ -% ῌ + \DeclareUnicodeComposite{\accpsilivaria} {} {"1FCD} % ῍ \DeclareUnicodeComposite{\accpsilioxia} {} {"1FCE} % ῎ \DeclareUnicodeComposite{\accpsiliperispomeni} {} {"1FCF} % ῏ -\DeclareUnicodeComposite{\u} {\textiota} {"1FD0} % ῐ -\DeclareUnicodeComposite{\=} {\textiota} {"1FD1} % ῑ -\DeclareUnicodeComposite{\accdialytikavaria} {\textiota} {"1FD2} % ῒ -\DeclareUnicodeComposite{\accdialytikaoxia} {\textiota} {"1FD3} % ΐ -\DeclareUnicodeComposite{\accperispomeni} {\textiota} {"1FD6} % ῖ -\DeclareUnicodeComposite{\~} {\textiota} {"1FD6} % ῖ -\DeclareUnicodeComposite{\~} {ι} {"1FD6} % ῖ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textiota} {"1FD7} % ῗ -\DeclareUnicodeComposite{\u} {\textIota} {"1FD8} % Ῐ -\DeclareUnicodeComposite{\=} {\textIota} {"1FD9} % Ῑ -\DeclareUnicodeComposite{\`} {\textIota} {"1FDA} % Ὶ -\DeclareUnicodeComposite{\accvaria} {\textIota} {"1FDA} % Ὶ \DeclareUnicodeComposite{\accdasiavaria} {} {"1FDD} % ῝ \DeclareUnicodeComposite{\accdasiaoxia} {} {"1FDE} % ῞ \DeclareUnicodeComposite{\accdasiaperispomeni} {} {"1FDF} % ῟ -\DeclareUnicodeComposite{\u} {\textupsilon}{"1FE0} % ῠ -\DeclareUnicodeComposite{\=} {\textupsilon}{"1FE1} % ῡ -\DeclareUnicodeComposite{\accdialytikavaria} {\textupsilon}{"1FE2} % ῢ -\DeclareUnicodeComposite{\accdialytikaoxia} {\textupsilon}{"1FE3} % ΰ -\DeclareUnicodeComposite{\accpsili} {\textrho} {"1FE4} % ῤ -\DeclareUnicodeComposite{\accdasia} {\textrho} {"1FE5} % ῥ -\DeclareUnicodeComposite{\~} {\textupsilon}{"1FE6} % ῦ -\DeclareUnicodeComposite{\accperispomeni} {\textupsilon}{"1FE6} % ῦ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textupsilon}{"1FE7} % ῧ -\DeclareUnicodeComposite{\u} {\textUpsilon}{"1FE8} % Ῠ -\DeclareUnicodeComposite{\=} {\textUpsilon}{"1FE9} % Ῡ -\DeclareUnicodeComposite{\`} {\textUpsilon}{"1FEA} % Ὺ -\DeclareUnicodeComposite{\accvaria} {\textUpsilon}{"1FEA} % Ὺ -% Ύ -\DeclareUnicodeComposite{\accdasia} {\textRho} {"1FEC} % Ῥ \DeclareUnicodeComposite{\accdialytikavaria} {} {"1FED} % ῭ \DeclareUnicodeComposite{\accdialytikaoxia} {} {"1FEE} % ΅ % ` - -% ῲ -% ῳ -% ῴ -\DeclareUnicodeComposite{\accperispomeni} {\textomega} {"1FF6} % ῶ -\DeclareUnicodeComposite{\~} {\textomega} {"1FF6} % ῶ -% ῷ -\DeclareUnicodeComposite{\`} {\textOmicron}{"1FF8} % Ὸ -\DeclareUnicodeComposite{\accvaria} {\textOmicron}{"1FF8} % Ὸ -\DeclareUnicodeComposite{\`} {\textOmega} {"1FFA} % Ὼ -\DeclareUnicodeComposite{\accvaria} {\textOmega} {"1FFA} % Ὼ -% ῼ \DeclareUnicodeComposite{\accoxia} {} {"1FFD} % ´ \DeclareUnicodeComposite{\accdasia} {} {"1FFE} % ῾ + % Perispomeni and tilde accent % """""""""""""""""""""""""""" % -% XeTeX and LuaTeX (since 2022) convert letters followed by combining +% XeTeX normalizes letters followed by combining % characters to a pre-composed character, if there is an equivalent -% pre-composed character. +% pre-composed character (Unicode normalization NFC). +% With LuaTeX NFC is provided by the \emph{Harfbuzz} renderer +% (select with the ``[Renderer=Harfbuzz]`` option of the `fontspec`_ +% font selection commands or the `uninormalize`_ package. % % The ``\accperispomeni`` macro expands to COMBINING GREEK PERISPOMENI % while the standard short accent macro ``\~`` uses the COMBINING TILDE. % Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered % equivalent to the pre-composed <Greek letter> WITH PERISPOMENI. -% Composite definitions for ``\~`` select the pre-composed character -% -% TODO: don't use literal Unicode characters if ``\inputencodingname`` -% is defined and not "lutf8" to prevent errors with legacy 8-bit documents -% read with "luainputenc.sty" (cf. test-licr-input.tex). -% :: - -\DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ -\DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ -\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ -\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ -\DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ -\DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ - -% If there is no pre-composed Capital letter with perispomeni, -% we want no perispomeni with ``\MakeUppercase``. -% (These definitions may be redundant with the new (2022/06) -% implementation of ``\MakeUppercase``.) :: - -\DeclareUnicodeComposite{\~}{\textAlpha} {"0391} % Α -\DeclareUnicodeComposite{\~}{Α} {"0391} % Α -\DeclareUnicodeComposite{\~}{\textEta} {"0397} % Η -\DeclareUnicodeComposite{\~}{Η} {"0397} % Η -\DeclareUnicodeComposite{\~}{\textIota} {"0399} % Ι -\DeclareUnicodeComposite{\~}{Ι} {"0399} % Ι -\DeclareUnicodeComposite{\~}{\textUpsilon}{"03A5} % Υ -\DeclareUnicodeComposite{\~}{Υ} {"03A5} % Υ -\DeclareUnicodeComposite{\~}{\textOmega} {"03A9} % Ω -\DeclareUnicodeComposite{\~}{Ω} {"03A9} % Ω +% Therefore, we define composite definitions for ``\~``:: + +\DeclareUnicodeComposite{\~}{\textalpha }{"1FB6} % ᾶ +\DeclareUnicodeComposite{\~}{\texteta }{"1FC6} % ῆ +\DeclareUnicodeComposite{\~}{\textiota }{"1FD6} % ῖ +\DeclareUnicodeComposite{\~}{\textupsilon}{"1FE6} % ῦ +\DeclareUnicodeComposite{\~}{\textomega }{"1FF6} % ῶ + +% There are no pre-composed capital letters with perispomeni +% (the perispomeni is not used on initial letters and normally +% dropped in UPPERCASE_). +% However, it is kept with the pre-2022 ``\MakeUppercase`` and in documents +% that don't load `babel-greek`_ (or an old babel-greek or use the +% modifier ``local-MakeUppercase-fixes``):: + +\DeclareUnicodeCompositeCommand{\~}{\textAlpha }{\accperispomeni\textAlpha} +\DeclareUnicodeCompositeCommand{\~}{\textEta }{\accperispomeni\textEta} +\DeclareUnicodeCompositeCommand{\~}{\textIota }{\accperispomeni\textIota} +\DeclareUnicodeCompositeCommand{\~}{\textUpsilon}{\accperispomeni\textUpsilon} +\DeclareUnicodeCompositeCommand{\~}{\textOmega }{\accperispomeni\textOmega} + +% Using literal Unicode chars leads to errors in LuaTeX's 8-bit compatibility +% mode. OTOH, composite definitions do a literal check, so we cannot use +% a replacement:: + +\@ifl@aded{sty}{luainputenc}{}{% else + \DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ + \DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ + \DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ + \DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ + \DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ + + \DeclareUnicodeCompositeCommand{\~}{Α}{\accperispomeni Α} + \DeclareUnicodeCompositeCommand{\~}{Η}{\accperispomeni Η} + \DeclareUnicodeCompositeCommand{\~}{Ι}{\accperispomeni Ι} + \DeclareUnicodeCompositeCommand{\~}{Υ}{\accperispomeni Υ} + \DeclareUnicodeCompositeCommand{\~}{Ω}{\accperispomeni Ω} +} % Letterlike Symbols @@ -582,44 +367,60 @@ % % Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE. % -% Babel-Greek indroduces macros for "capital accents" in 1.13.3. +% Babel-Greek introduces macros for "capital accents" in release 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} +\DeclareUnicodeCompositeCommand{\accACUTE}{\textAlpha }{\LGR@A@hiatus} +\DeclareUnicodeCompositeCommand{\accACUTE}{\textEpsilon}{\LGR@E@hiatus} +\DeclareUnicodeComposite{\accACUTE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accACUTE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accACUTE}{\textOmicron}{"039F} % Ο +\DeclareUnicodeComposite{\accACUTE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accACUTE}{\textOmega }{"03A9} % Ω + +\DeclareUnicodeComposite{\accGRAVE}{\textAlpha }{"0391} % Α +\DeclareUnicodeComposite{\accGRAVE}{\textEpsilon}{"0395} % Ε +\DeclareUnicodeComposite{\accGRAVE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accGRAVE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accGRAVE}{\textOmicron}{"039F} % Ο +\DeclareUnicodeComposite{\accGRAVE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accGRAVE}{\textOmega }{"03A9} % Ω + +\DeclareUnicodeComposite{\accTILDE}{\textAlpha }{"0391} % Α +\DeclareUnicodeComposite{\accTILDE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accTILDE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accTILDE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accTILDE}{\textOmega }{"03A9} % Ω + +% Repeat with literal Unicode as base character +% (fails in LuaTeX's 8-bit compatibility mode):: + +\@ifl@aded{sty}{luainputenc}{}{% else + \DeclareUnicodeCompositeCommand{\accACUTE}{Α}{\LGR@A@hiatus} + \DeclareUnicodeCompositeCommand{\accACUTE}{Ε}{\LGR@E@hiatus} + \DeclareUnicodeComposite{\accACUTE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accACUTE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accACUTE}{Ο}{"039F} % Ο + \DeclareUnicodeComposite{\accACUTE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accACUTE}{Ω}{"03A9} % Ω + + \DeclareUnicodeComposite{\accGRAVE}{Α}{"0391} % Α + \DeclareUnicodeComposite{\accGRAVE}{Ε}{"0395} % Ε + \DeclareUnicodeComposite{\accGRAVE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accGRAVE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accGRAVE}{Ο}{"039F} % Ο + \DeclareUnicodeComposite{\accGRAVE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accGRAVE}{Ω}{"03A9} % Ω + + \DeclareUnicodeComposite{\accTILDE}{Α}{"0391} % Α + \DeclareUnicodeComposite{\accTILDE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accTILDE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accTILDE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accTILDE}{Ω}{"03A9} % Ω + + \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Α}{\LGR@A@hiatus} + \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Ε}{\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). @@ -628,6 +429,8 @@ % ``\lccode`` and ``\uccode`` corrections from the xgreek_ package by % Apostolos Syropoulos:: +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020 +\IfFormatAtLeastTF{2022/06/01}{ }{% else \global\lccode"0370="0371 \global\uccode"0370="0370 \global\lccode"0371="0371 \global\uccode"0371="0370 @@ -1013,6 +816,10 @@ % 2.2.1 2023-03-08 Documentation update. % 2.4 2023-08-15 Fix behaviour of composite diacritics. % .. Composite commands for "captital" macros. +% 2.5 2023-09-12 Drop composite definitions duplicating the Unicode +% NFC transformation. +% .. Skip definitions requiring literal UTF8 chars in +% LuaTeX's 8-bit compatibility mode. % ====== =========== ======================================================== % % @@ -1027,6 +834,7 @@ % .. _grnumalt: https://ctan.org/pkg/grnumalt % .. _inputenc: https://ctan.org/pkg/inputenc % .. _textalpha: textalpha.sty.html +% .. _uninormalize: https://ctan.org/pkg/uninormalize % .. _xgreek: https://ctan.org/pkg/xgreek % .. _xunicode: https://ctan.org/pkg/xunicode % |