diff options
Diffstat (limited to 'macros/latex/contrib/babel-contrib')
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/README.md | 2 | ||||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html | 35 | ||||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst | 23 | ||||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/babel-greek.dtx | 128 | ||||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/babel-greek.pdf | bin | 549488 -> 549976 bytes | |||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/test-athnum.pdf | bin | 178616 -> 178616 bytes | |||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/test-case-changing.tex | 61 | ||||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/test-greek.pdf | bin | 463920 -> 466409 bytes | |||
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/test-greek.tex | 46 |
9 files changed, 216 insertions, 79 deletions
diff --git a/macros/latex/contrib/babel-contrib/greek/README.md b/macros/latex/contrib/babel-contrib/greek/README.md index ce85bc77bd..d98c68be1a 100644 --- a/macros/latex/contrib/babel-contrib/greek/README.md +++ b/macros/latex/contrib/babel-contrib/greek/README.md @@ -4,7 +4,7 @@ babel-greek Comprehensive support for the Greek language and script with [Babel](https://ctan.org/pkg/babel). -**Version**: 1.13.1 +**Version**: 1.13.2 **Copyright**: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 - 2023 Günter Milde. diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html index 26648f07c8..2faaa5d067 100644 --- a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html +++ b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.html @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="utf-8" /> -<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="generator" content="Docutils 0.20.2b.dev: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="dcterms.rights" content="© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 – 2023 Günter Milde." /> <title>babel-greek</title> @@ -308,8 +308,8 @@ p img, p video, figure img, figure video { /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ /* .. _CSS3: https://www.w3.org/Style/CSS/ */ -/* Note: */ -/* This style sheet is provisional: */ +/* Note: */ +/* This style sheet is provisional: */ /* the API is not settled and may change with any minor Docutils version. */ @@ -648,7 +648,8 @@ math .boldsymbol { font-weight: bold; } mstyle.mathscr, mi.mathscr { - font-family: STIX; + font-family: STIX, XITSMathJax_Script, rsfs10, + "Asana Math", Garamond, cursive; } /* Adaptive page layout */ @@ -793,7 +794,7 @@ mstyle.mathscr, mi.mathscr { <p class="subtitle" id="babel-support-for-the-greek-language-and-script">Babel support for the Greek language and script</p> <dl class="docinfo"> <dt class="version">Version<span class="colon">:</span></dt> -<dd class="version">1.13.1 (<a class="reference internal" href="#changelog">changelog</a>)</dd> +<dd class="version">1.13.2 (<a class="reference internal" href="#changelog">changelog</a>)</dd> <dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 – 2023 Günter Milde.</dd> @@ -834,27 +835,27 @@ Document authors can select between the <em>monotonic</em> <section id="files"> <h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Files</a></h2> <dl class="simple"> +<dt><a class="reference external" href="athnum.dtx">athnum.dtx</a></dt> +<dd><p>Athenian (Attic, Herodianic, or acrophonic) Numerals. [<a class="reference external" href="athnum.pdf">athnum.pdf</a>]</p> +</dd> <dt><a class="reference external" href="babel-greek.dtx">babel-greek.dtx</a></dt> <dd><p>Source of the language definition file <span class="docutils literal">greek.ldf</span> for use with <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a>. [<a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a>]</p> </dd> -<dt><a class="reference external" href="athnum.dtx">athnum.dtx</a></dt> -<dd><p>Athenian (Attic, Herodianic, or acrophonic) Numerals. [<a class="reference external" href="athnum.pdf">athnum.pdf</a>]</p> +<dt><a class="reference external" href="babel-greek.ins">babel-greek.ins</a></dt> +<dd><p><a class="reference external" href="https://ctan.org/pkg/docstrip">DocStrip</a> batch file.</p> </dd> <dt><a class="reference external" href="grmath.dtx">grmath.dtx</a></dt> <dd><p>Greek log-like Operators. [<a class="reference external" href="grmath.pdf">grmath.pdf</a>]</p> </dd> -<dt><a class="reference external" href="babel-greek.ins">babel-greek.ins</a></dt> -<dd><p><a class="reference external" href="https://ctan.org/pkg/docstrip">DocStrip</a> batch file.</p> +<dt>test-*.tex</dt> +<dd><p>Documented test samples. +[<a class="reference external" href="test-greek.pdf">test-greek.pdf</a>, <a class="reference external" href="test-greeknum.pdf">test-greeknum.pdf</a>, <a class="reference external" href="test-athnum.pdf">test-athnum.pdf</a>]</p> </dd> <dt><a class="reference external" href="usage.tex">usage.tex</a></dt> <dd><p>Description of the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a> and the <a class="reference internal" href="#greek-numerals">Greek numerals</a>. [<a class="reference external" href="usage.pdf">usage.pdf</a>]</p> </dd> -<dt>test-*.tex</dt> -<dd><p>Documented test samples. -[<a class="reference external" href="test-greek.pdf">test-greek.pdf</a>, <a class="reference external" href="test-greeknum.pdf">test-greeknum.pdf</a>, <a class="reference external" href="test-athnum.pdf">test-athnum.pdf</a>]</p> -</dd> </dl> </section> <section id="requirements"> @@ -1389,6 +1390,14 @@ Use LICR macros instead of the Latin transliteration.</p></li> <li><p><a class="reference external" href="athnum.dtx">athnum.dtx</a> 2.0.1: Fix behaviour in math mode.</p></li> </ul> </dd> +<dt>1.13.2 (2023-06-01)</dt> +<dd><ul class="simple"> +<li><p>Warn of unsupported (or misspelled) “modifiers” +(code contributed by Javier Bezos).</p></li> +<li><p>Fix upcasing of text using the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a>: +drop accents with <span class="docutils literal">\DeclareUppercaseMapping</span> (<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews37.pdf">new in LaTeX 2023</a>).</p></li> +</ul> +</dd> </dl> </section> <section id="references"> diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst index 08bc93633b..73f921de32 100644 --- a/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst +++ b/macros/latex/contrib/babel-contrib/greek/babel-greek-doc.rst @@ -3,7 +3,7 @@ babel-greek Babel support for the Greek language and script =============================================== -:Version: 1.13.1 (changelog_) +:Version: 1.13.2 (changelog_) :Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 -- 2023 Günter Milde. @@ -26,21 +26,21 @@ Babel support for the Greek language and script Files ----- +`<athnum.dtx>`_ + Athenian (Attic, Herodianic, or acrophonic) Numerals. [`<athnum.pdf>`_] `<babel-greek.dtx>`_ Source of the language definition file ``greek.ldf`` for use with Babel_. [`<babel-greek.pdf>`_] -`<athnum.dtx>`_ - Athenian (Attic, Herodianic, or acrophonic) Numerals. [`<athnum.pdf>`_] -`<grmath.dtx>`_ - Greek log-like Operators. [`<grmath.pdf>`_] `<babel-greek.ins>`_ DocStrip_ batch file. -`<usage.tex>`_ - Description of the `LGR Latin transliteration`_ and the `Greek numerals`_. - [`<usage.pdf>`_] +`<grmath.dtx>`_ + Greek log-like Operators. [`<grmath.pdf>`_] test-\*.tex Documented test samples. [`<test-greek.pdf>`_, `<test-greeknum.pdf>`_, `<test-athnum.pdf>`_] +`<usage.tex>`_ + Description of the `LGR Latin transliteration`_ and the `Greek numerals`_. + [`<usage.pdf>`_] Requirements @@ -401,6 +401,11 @@ Changelog 1.13.1 (2023-03-17) - Don't use text command in math mode with "keep-semicolon". - `athnum.dtx`_ 2.0.1: Fix behaviour in math mode. +1.13.2 (2023-06-01) + - Warn of unsupported (or misspelled) "modifiers" + (code contributed by Javier Bezos). + - Fix upcasing of text using the `LGR Latin transliteration`_: + drop accents with ``\DeclareUppercaseMapping`` (`new in LaTeX 2023`_). .. _babel/4303: http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4303 .. _babel/4305: http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=babel/4305 @@ -409,6 +414,8 @@ Changelog .. _LaTeX issue 987: https://github.com/latex3/latex2e/issues/987 .. _default font encoding for Unicode engines: https://www.latex-project.org/news/latex2e-news/ltnews26.pdf +.. _new in LaTeX 2023: + https://www.latex-project.org/news/latex2e-news/ltnews37.pdf References diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx b/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx index 0eb7071284..7cf57237f7 100644 --- a/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx +++ b/macros/latex/contrib/babel-contrib/greek/babel-greek.dtx @@ -26,7 +26,7 @@ % and covered by LPPL is defined by the unpacking script (babel-greek.ins) % which is part of the package. % \fi -% \CheckSum{1648} +% \CheckSum{1675} % % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the @@ -37,7 +37,7 @@ %<code>\ProvidesLanguage{greek} %\fi %\ProvidesFile{babel-greek.dtx} - [2023/03/17 1.13.1 Greek support for the babel system] + [2023-06-01 1.13.2 Greek support for the babel system] %\iffalse %% File `babel-greek.dtx' %% Greek language Definition File @@ -200,13 +200,6 @@ % \languageattribute{greek}{ancient}\end{verbatim} % sets the document language to \emph{ancient} Greek. % -% Both attributes may also be used as modifiers as in -% \begin{verbatim} -% \usepackage[greek.polutoniko,english]{babel}\end{verbatim} -% and similarly -% \begin{verbatim} -% \usepackage[greek.ancient,english]{babel}\end{verbatim} -% % The \hyperref[sec:keep-semicolon]{\Lopt{keep-semicolon}} language % attribute (new in babel-greek 1.13) ensures that a SEMICOLON character (;) % can be used as input for the similar looking Greek question mark @@ -217,19 +210,22 @@ % % \subsection{Modifiers \label{sec:modifiers}} % -% Modifiers cannot be set with |\languageattribute|. -% Misspelled modifiers are ignored without warning! +% All language attributes may also be used as modifiers, e.g. +% \begin{verbatim} +% \usepackage[greek.polutoniko,english]{babel}\end{verbatim} +% In addition, there are two modifiers that cannot be set with +% |\languageattribute|. % % \changes{babel-greek-1.12}{2023/03/04}{ % New modifiers \Lopt{local-LGR-fixes} and \Lopt{no-LGR-fixes}.} % % Some workarounds for the non-standard LGR font encoding may have % serious side-effects. -% The \Lopt{local-LGR-fixes} modifier restricts the re-definitions -% in section~\ref{sec:lgr-redefinitions} to text parts using the Greek -% language. -% The \Lopt{no-LGR-fixes} modifier disables them completely. -% You may try, e.g., +% The \hyperref[sec:lgr-redefinitions]{\Lopt{local-LGR-fixes}} modifier +% restricts the re-definitions in section~\ref{sec:lgr-redefinitions} +% to text parts using the Greek language. +% The \hyperref[sec:lgr-redefinitions]{\Lopt{no-LGR-fixes}} modifier +% disables them completely. You may try, e.g., % \begin{verbatim} % \usepackage[greek.local-LGR-fixes,english]{babel}\end{verbatim} % as a last ressort if the workarounds make a document uncompilable @@ -510,26 +506,18 @@ % The |polutoniko| language attribute selects the ``polytonic'' spelling. % % We use an auxiliary function for the setup part used with several -% attributes. -% This code adds the expansion of |\extraspolutonikogreek| to -% |\extrasgreek| to set up support for multi-accented characters -% and hyphenation patterns for the polytonic orthography. +% language attributes: +% Add the expansion of |\extraspolutonikogreek| to |\extrasgreek| +% to set up support for multi-accented characters and +% hyphenation patterns for the polytonic orthography +% and use polytonic spelling for auto-strings (captions and month names). +% More code is added later (cf. section~\ref{sec:character-codes}). % \begin{macrocode} \def\bbl@greek@setup@polytonic{% \expandafter\addto\expandafter\extrasgreek - \expandafter{\extraspolutonikogreek}% -% \end{macrocode} -% It also uses polytonic spelling for auto-strings -% (captions and month names) and changes the expansion of the ~ character -% from ``protected space'' to ``self-insert'' if the |\greekfontencoding| -% is LGR (for use as perispomeni in the Latin transliteration). -% \begin{macrocode} + \expandafter{\extraspolutonikogreek}% \let\captionsgreek\captionspolutonikogreek \let\gr@month\gr@polutoniko@month - \def\bbl@tempa{LGR} - \ifx\greekfontencoding\bbl@tempa - \declare@shorthand{greek}{~}{\bbl@greek@tilde} - \fi } % \end{macrocode} % Now declare the option. For backwards compatibility, @@ -624,6 +612,27 @@ } % \end{macrocode} % +% \subsection{Report unsupported modifiers} +% +% \changes{babel-greek-1.13.2}{2023-06-01}{Warn of unsupported modifiers.} +% +% Test for unsupported (or misspelled) \hyperref[sec:modifiers]{modifiers} +% (code contributed by Javier Bezos). +% \begin{macrocode} +\def\bbl@greek@modifiers{,polutoniko,polytonic,ancient,keep-semicolon,} +\addto\bbl@greek@modifiers{local-LGR-fixes,no-LGR-fixes,} +\ifx\BabelModifiers\relax\else + \bbl@foreach\BabelModifiers{% + \@expandtwoargs\in@{,#1,}{\bbl@greek@modifiers} + \ifin@\else + \bbl@warning + {Unknown/misspelled modifier '#1' in '\CurrentOption'. + See "babel-greek.pdf" for valid modifiers.} + \fi}% +\fi + +% \end{macrocode} +% % \subsection{Font setup \label{sec:font-setup}} % % \subsubsection{Greek font encoding \label{sec:greekfontencoding}} @@ -914,7 +923,7 @@ % default Greek font encoding (cf.\ section~\ref{sec:greekfontencoding}). % % As an emergency measure, the \Lopt{local-LGR-fixes} or \Lopt{no-LGR-fixes} -% modifiers (cf.\ section \ref{sec:modifiers}) can be used to restrict +% \hyperref[sec:modifiers]{modifiers} can be used to restrict % the ``roman'' redefinitions to text parts using the Greek language or skip % them completely. % @@ -1495,18 +1504,25 @@ % \end{macro} % % -% \subsection{Character codes} +% \subsection{Character codes \label{sec:character-codes}} % % Greek letters drop diacritics (eccept dialytika and sub-iota) in % UPPERCASE. This is not cared for by the Unicode standard. -% The file \file{greek-euenc.def} from \pkg{greek-fontenc} +% +% Up to the June 2022 LaTeX release, this could be corrected by +% defining |\lccode| and |\uccode| values. The June 2023 release introduced +% the |\DeclareUppercaseMapping| command as a replacement configuration +% option. +% +% The file \file{tuenc-greek.def} from \pkg{greek-fontenc} % contains the required |\lccode| and |\uccode| corrections from the % \pkgref{xgreek} package by Apostolos Syropoulos. It is loaded if the % Greek font encoding is TU (i.e. with XeTeX/LuaTeX), % see section~\ref{load-greek-font-encoding-definitions}. % -% If the Greek font encoding is LGR, character code changes are done here -% because they must be restricted to text parts using the LGR encoding. +% If the Greek font encoding is LGR, configuration is done here because +% character code changes must be restricted to text parts using the +% LGR encoding. % \changes{greek-1.5}{2013/06/21}{Support XeTeX/LuaTeX.} % \changes{babel-greek-1.09d}{2015/07/06}{uc-/lccode corrections from xgreek % are now in greek-euenc.def (the polyglossia version has bugs).} @@ -1587,13 +1603,11 @@ \lccode223=244% GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA } % \end{macrocode} -% -% In order to drop diacritics (eccept dialytika and sub-iota) in -% UPPERCASE also with the ``input ligatures'' the |\uccode| of the -% relevant characters is set to a dummy character. -% This is only done, if LaTeX is older than 2022/06/01 because -% the |\MakeUppercase| implementation introduced in this version ignores -% uccodes and fails with the ``dummy'' character 0x9f. +% Drop diacritics (except dialytika and sub-iota) in UPPERCASE also with +% ``input ligatures''. (The optional ``locale'' argument |[el]| restricts +% this change to Greek text parts.) +% If LaTeX is older than 2022/06/01, set the |\uccode| of the +% relevant characters to a dummy character instead. % \changes{greek-1.1b}{1997/03/06}{Added setting of \cs{uccode}s % (after \file{kdgreek.sty})} % \changes{greek-1.1e}{1997/10/12}{Added uppercase code for special @@ -1612,7 +1626,19 @@ % because other languages might make the caret active.} % \changes{babel-greek-1.12}{2023/03/04}{ % Only change uccodes if LaTeX is older than 2022/06/01.} +% \changes{babel-greek-1.13.2}{2023-06-01}{ +% Use \cs{DeclareUppercaseMapping} to drop diacritics.} % \begin{macrocode} + \ifdefined\DeclareUppercaseMapping % new in 2023 + \DeclareUppercaseMapping[el]{"1FBE}{\prosgegrammeni}% + \DeclareUppercaseMapping[el]{"0027}{}% ' + \addto\bbl@greek@setup@polytonic{ + \DeclareUppercaseMapping[el]{"003C}{}% < + \DeclareUppercaseMapping[el]{"003E}{}% > + \DeclareUppercaseMapping[el]{"0060}{}% ` + \DeclareUppercaseMapping[el]{"007E}{}% ~ + } + \fi % fallback for for LaTeX versions older than 2020-10-01 \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} \IfFormatAtLeastTF{2022/06/01}% @@ -1630,7 +1656,7 @@ \babel@savevariable{\uccode`\`}\uccode`\`=159% } % \end{macrocode} -% To avoid \pkg{inputenc} errors if the tilde is used as perispomeni +% To avoid errors if the tilde is used as perispomeni % (in polytonic or ancient Greek), we need to declare an expansion for % the ``dummy'' character~0x9f = 159.\footnote{ % Since UTF-8 became the default encoding (cf.\ @@ -1676,7 +1702,7 @@ \DeclareTextCompositeCommand{\`}{LGR}{^^9f}{\LGR@accdropped} % \end{macrocode} % If Unicode fonts are loaded together with LGR, we must also care for -% |\"'| and |\"`| in TU, because the \" is kept when upcasing. +% |\"'| and |\"`| in TU, because the |\"| is kept when upcasing. % \begin{macrocode} \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX \DeclareTextCompositeCommand{\"}{TU}{^^9f}{\accdialytika} @@ -1689,10 +1715,7 @@ % In polytonic and ancient Greek, we change its meaning to allow % using |~| in the Latin transliteration of characters with perispomeni. % As the perispomeni is not required with monotonic Greek, this is -% only done for the variants ``polutoniko'' and ``ancient'' -% (in |\extraspolutonikogreek|). -% -% Let the tilde character expand to a tilde with category code 12. +% only done for the variants ``polutoniko'' and ``ancient''. % \changes{greek-1.0c}{1997/02/19}{Added command} % \changes{greek-1.1b}{1997/03/06}{Made tilde expand to a tilde with % \cs{catcode 12}.} @@ -1700,10 +1723,13 @@ % active during the definition of \cs{greek@tilde}} % \changes{greek-1.4}{2013/05/17}{Do not re-define the tilde accent macro: % it works as expected with \file{lgrenc.def} from \pkg{greek-fontenc}.} -% \changes{babel-greek-1.13}{2023/03/15}{Renamed from \cs{greek@tilde}. -% Simplify definition.} +% \changes{babel-greek-1.13}{2023/03/15}{ +% Renamed from \cs{greek@tilde}. Simplify definition.} % \begin{macrocode} \DeclareTextSymbol{\bbl@greek@tilde}{LGR}{126} + \addto\bbl@greek@setup@polytonic{ + \declare@shorthand{greek}{~}{\bbl@greek@tilde} + } % \end{macrocode} % \end{macro} % \begin{macrocode} diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf b/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf Binary files differindex 3da9b8a926..0a2586bb5c 100644 --- a/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf +++ b/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf diff --git a/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf b/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf Binary files differindex f76f2c8e06..badf0226a5 100644 --- a/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf +++ b/macros/latex/contrib/babel-contrib/greek/test-athnum.pdf diff --git a/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex b/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex index e5cc0d15e5..50eaf650ea 100644 --- a/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex +++ b/macros/latex/contrib/babel-contrib/greek/test-case-changing.tex @@ -24,7 +24,8 @@ % \usepackage[greek,english]{babel} % babel-greek % \usepackage[greek,english,provide=*]{babel} % Babel's Greek "ini" -\languageattribute{greek}{polutoniko} % "modern" polytonic Greek +% \languageattribute{greek}{polutoniko} % "modern" polytonic Greek +\languageattribute{greek}{ancient} \usepackage[unicode,colorlinks,linkcolor=blue]{hyperref} @@ -112,7 +113,8 @@ MakeLowercase: The lowercase of \langGreek{Σ} is the «auto-sigma» (\verb|\textautosigma|): \langGreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}. Add a ZWNJ or use the \verb|\noboundary| macro to prevent conversion to -final sigma: \langGreek{\MakeLowercase{ΣΣ}}. +final sigma: \langGreek{\MakeLowercase{ΣΣ}} (works only with "old" +(pre-2022) \verb|\MakeLowercase|). \subsection{Greek extended} @@ -314,7 +316,7 @@ MakeLowercase: \textpi{} \textrho{} \textfinalsigma{} \textsigma{} \texttau{} \textupsilon{} \textphi{} \textchi{} \textpsi{} \textomega{} \accdialytika\textiota{} \accdialytika\textupsilon{} - \acctonos\textomicron{} \acctonos\textupsilon{} \acctonos\textomega{} \\ + \acctonos\textomicron{} \acctonos\textupsilon{} \acctonos\textomega{} ␣\\ ϐ ϑ ␣ ␣ ␣ ϕ ϖ ␣ Ϙ ϙ Ϛ ϛ Ϝ ϝ Ϟ ϟ \\ \textbetasymbol{} \textthetasymbol{} ␣ ␣ ␣ \textphisymbol{} @@ -343,6 +345,40 @@ MakeLowercase: \MakeLowercase{\GreekAndCoptic} \end{quote} +\subsubsection{symbol variants} + +\newcommand{\symbolvariants}{ + \textbeta \textvarbeta \textbetasymbol ϐ + \textepsilon \textvarepsilon \textepsilonsymbol ϵ + \texttheta \textvartheta \textthetasymbol ϑ + \textTheta \textvarTheta \textThetasymbol ϴ + \textkappa \textvarkappa \textkappasymbol ϰ + \textpi \textvarpi \textpisymbol ϖ + \textrho \textvarrho \textrhosymbol ϱ + \textphi \textvarphi \textphisymbol ϕ +} + +No case change (letter, ``var''-letter, letter-``symbol'', literal symbol) +\begin{quote} + \selectlanguage{greek} + \symbolvariants +\end{quote} +% +MakeUppercase selects the matching capital lette +\begin{quote} + \selectlanguage{greek} + \MakeUppercase{\symbolvariants} +\end{quote} +% +MakeLowercase select the lowercase letter (not the symbol) +\begin{quote} + \selectlanguage{greek} + \MakeLowercase{\textBeta Β \textEpsilon Ε + \textTheta Θ \textThetasymbol \textvarTheta ϴ + \textKappa Κ \textPi Π \textRho Ρ \textPhi Φ} +\end{quote} + + \subsection{Greek extended} @@ -943,7 +979,7 @@ Every second line is input as Latin transliteration: \renewcommand{\GreekAndCoptic}{% ͺ ; ␣ ␣ ΄ ΅ Ά · Έ Ή Ί ␣ Ό ␣ Ύ Ώ \\ - \lgrfont{ | ? \: \: ' "' 'A ; 'E 'H 'I \:'O \:'U 'W} \\ + \lgrfont{ | ? \: \: ' "' 'A ; 'E 'H 'I \: 'O \: 'U 'W} \\ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο \\ \lgrfont{'"i A B G D E Z H J I K L M N X O} \\ Π Ρ ␣ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί \\ @@ -1025,7 +1061,7 @@ variant is \emph\GreekLanguageVariant. ῠ ῡ ῢ ΰ ␣ ␣ ῤ ῥ ῦ ῧ Ὺ Ύ Ῥ ῭ ΅ ` \\ \lgrfont{\u{u} \=u `"u '"u \: \: >r <r ~u ~"u `U 'U <R `" '" ` } \\ ␣ ␣ ῲ ῳ ῴ ␣ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾ \\ - \lgrfont{ \: \: `w| w| 'w| \: ~w ~w| `O 'O `W 'W W| ' < } + \lgrfont{\: \: `w| w| 'w| \: ~w ~w| `O 'O `W 'W W| ' < } } \begin{quote} @@ -1055,6 +1091,21 @@ dialytika \verb|"~ "` "'| appears as apostrophe, as a single \verb|"| stands for an apostrophe in the LGR transliteration if followed by a space or empty character. +Side-effect of mapping `,',~, <, and > to the "empty" char for accent +dropping: the characters vanish if used stand-alone +(also with the ``old'' MakeUppercase): +\begin{quote} + \selectlanguage{greek} + ` ' ~ < > → \MakeUppercase{` ' ~ < >} + ``x'' <<y>> → \MakeUppercase{``x'' <<y>>} +\end{quote} + +Workaround: use literal typographical quote characters: +\begin{quote} + \selectlanguage{greek} + ‘x’ «y» → \MakeUppercase{‘x’ «y»} +\end{quote} + MakeLowercase: \begin{quote} diff --git a/macros/latex/contrib/babel-contrib/greek/test-greek.pdf b/macros/latex/contrib/babel-contrib/greek/test-greek.pdf Binary files differindex 0f4879f944..50235b0c51 100644 --- a/macros/latex/contrib/babel-contrib/greek/test-greek.pdf +++ b/macros/latex/contrib/babel-contrib/greek/test-greek.pdf diff --git a/macros/latex/contrib/babel-contrib/greek/test-greek.tex b/macros/latex/contrib/babel-contrib/greek/test-greek.tex index a2c59ed48e..f46b1db526 100644 --- a/macros/latex/contrib/babel-contrib/greek/test-greek.tex +++ b/macros/latex/contrib/babel-contrib/greek/test-greek.tex @@ -162,7 +162,7 @@ definitions): Change script with \cs{ensuregreek}: |\ensuregreek{δοῦλος}|. Change language with \cs{foreignlanguage}: - |\foreignlanguage{greek}{δοῦλος}|. + |\foreignlanguage{greek}{δοῦλος}|. Change language with \cs{selectlanguage}: |\selectlanguage{greek}δοῦλος\selectlanguage{english}|. @@ -660,6 +660,50 @@ letters as macro or via the Latin transliteration. With the current (2023/02/10) \cs{MakeUppercase}, it works for literal Unicode input and named accents. The \cs{uccode} changes are ignored. + +\subsection{Iota subscript vs. iota adscript} + +Pre-composed capital letters with \emph{mute iota} decompose to the base +letter and COMBINING GREEK YPOGEGRAMMENI (U+0345) even if they are named +... WITH [... AND] PROSGEGRAMMENI for ``historic reasons''.% +\footnote{cf. \href{https://opoudjis.net/unicode/unicode_adscript.html} + {Nick Nicholas `Titlecase and Adscripts'}} +Accordingly, the ``canonical'' LICR for capital letters with mute iota +is the base character LICR followed by \verb|\ypogegrammeni|. + +Compare letters followed by \verb|\prosgegrammeni| and +\verb|\ypogegrammeni| with the pre-composed characters and with +character + literal GREEK YPOGEGRAMMENI. + +prosgegrammeni: +\begin{quotation} + \selectlanguage{greek} + \newcommand{\alphapros}{\textalpha\prosgegrammeni α\prosgegrammeni{} αι / + \textAlpha\prosgegrammeni Α\prosgegrammeni{} ᾼΑι / + \accpsili\textAlpha\prosgegrammeni Ἀ\prosgegrammeni{} ᾈἈι} + + \phantom{MakeUppercase} \alphapros + + \ensureascii{MakeUppercase} \MakeUppercase{\alphapros} + + \ensureascii{MakeLowercase} \MakeLowercase{\alphapros} +\end{quotation} + +ypogegrammeni: +\begin{quotation} + \selectlanguage{greek} + \newcommand{\alphaypo}{\textalpha\ypogegrammeni α\ypogegrammeni{} ᾳ / + \textAlpha\ypogegrammeni Α\ypogegrammeni{} ᾼ / + \accpsili\textAlpha\ypogegrammeni Ἀ\ypogegrammeni{} ᾈ} + + \phantom{MakeUppercase} \alphaypo + + \ensureascii{MakeUppercase} \MakeUppercase{\alphaypo} + + \ensureascii{MakeLowercase} \MakeLowercase{\alphaypo} +\end{quotation} + + \subsection{Changed uccode/lccode values for LGR} LGR encoded fonts define ligatures for characters with diacritics. To enable |