summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-10-13 20:50:32 +0000
committerKarl Berry <karl@freefriends.org>2023-10-13 20:50:32 +0000
commit8590a940b4664473691cf2e7c0133bdf7855a067 (patch)
treead56cdcb82ecb3e222e1cd50ad85216c5863ed20 /Master/texmf-dist/doc/generic
parentc45b87421086b64f7d64052b4c2eb42f7490a272 (diff)
babel-greek (13oct23)
git-svn-id: svn://tug.org/texlive/trunk@68532 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/README.md2
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html23
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst33
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdfbin558854 -> 589100 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdfbin189338 -> 189338 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-encoding-switch.tex109
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greek.pdfbin495833 -> 497399 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greek.tex134
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greeknum.pdfbin0 -> 105427 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex13
10 files changed, 227 insertions, 87 deletions
diff --git a/Master/texmf-dist/doc/generic/babel-greek/README.md b/Master/texmf-dist/doc/generic/babel-greek/README.md
index c4158d53c5c..b2701925a5c 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/README.md
+++ b/Master/texmf-dist/doc/generic/babel-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.14
+**Version**: 1.15
**Copyright**: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
© 2013 - 2023 Günter Milde.
diff --git a/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html b/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
index 49f6092ea78..24e208e561b 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
+++ b/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html
@@ -794,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.14 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
+<dd class="version">1.15 (<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>
@@ -1144,7 +1144,7 @@ via the ligature definitions in the font (see <a class="reference external" href
<td><p><span class="docutils literal">))</span></p></td>
<td><p>»</p></td>
</tr>
-<tr><td><p>perispomeni</p></td>
+<tr><td><p>perispomeni<a class="superscript" href="#footnote-4" id="footnote-reference-6" role="doc-noteref"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></a></p></td>
<td><p><span class="docutils literal">\~a</span></p></td>
<td><p>ᾶ</p></td>
<td><p>erotimatiko</p></td>
@@ -1154,7 +1154,7 @@ via the ligature definitions in the font (see <a class="reference external" href
<tr><td><p>dialytika</p></td>
<td><p><span class="docutils literal">&quot;i</span></p></td>
<td><p>ϊ</p></td>
-<td><p>ano teleia<a class="superscript" href="#footnote-4" id="footnote-reference-6" role="doc-noteref"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></a></p></td>
+<td><p>ano teleia<a class="superscript" href="#footnote-5" id="footnote-reference-7" role="doc-noteref"><span class="fn-bracket">[</span>6<span class="fn-bracket">]</span></a></p></td>
<td><p><span class="docutils literal">;</span></p></td>
<td><p>·</p></td>
</tr>
@@ -1174,6 +1174,12 @@ required.</p>
<aside class="footnote-list superscript">
<aside class="footnote superscript" id="footnote-4" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-6">5</a><span class="fn-bracket">]</span></span>
+<p>The tilde can be used without backslash in the language variants
+“ancient” and “polutoniko”. In monotonic Greek, it keeps its default
+expansion to a no-break space.</p>
+</aside>
+<aside class="footnote superscript" id="footnote-5" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-7">6</a><span class="fn-bracket">]</span></span>
<p>The “<span class="target" id="keep-semicolon">keep-semicolon</span>” language attribute prevents the mapping of
a semicolon to a middle dot to allow its use as Greek question mark
(erotimatiko).</p>
@@ -1405,6 +1411,17 @@ drop accents with <span class="docutils literal">\DeclareUppercaseMapping</span>
<li><p>New modifier <cite>local-MakeUppercase-fixes</cite>.</p></li>
</ul>
</dd>
+<dt>1.15 (2023-10-13)</dt>
+<dd><ul class="simple">
+<li><p>Switch to the previous <span class="docutils literal">\encodingdefault</span> (not <span class="docutils literal">\cf&#64;encoding</span>)
+when exiting Greek text parts.
+Exception: use <span class="docutils literal">\latinencoding</span> if the initial <span class="docutils literal">\encodingdefault</span>
+is LGR and “greek” is the main document language.</p></li>
+<li><p>Fix standard accent macros also with pre-2022 <span class="docutils literal">\MakeUppercase</span>.</p></li>
+<li><p>Rename modifier <cite>local-MakeUppercase-fixes</cite> to
+<cite>no-MakeUppercase-fixes</cite>.</p></li>
+</ul>
+</dd>
</dl>
</section>
<section id="references">
diff --git a/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst b/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
index e714318919c..c20fb5b2e7c 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
+++ b/Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst
@@ -3,7 +3,7 @@ babel-greek
Babel support for the Greek language and script
===============================================
-:Version: 1.14 (changelog_)
+:Version: 1.15 (changelog_)
:Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
© 2013 -- 2023 Günter Milde.
@@ -222,21 +222,25 @@ a b g d e z h j i k l m n x o p r s c t u f q y w
Accent symbols and punctuation:
-============== ======= == ====================== ======= ==
-tonos/oxia ``'a`` ά right apostrophe ``''`` ’
-varia ```a`` ὰ left apostrophe \`\` ‘
-dasia ``<a`` ἁ left quotation mark ``((`` «
-psili ``>a`` ἀ right quotation mark ``))`` »
-perispomeni ``\~a`` ᾶ erotimatiko ``?`` ;
-dialytika ``"i`` ϊ ano teleia [#]_ ``;`` ·
-ypogegrammeni ``a|`` ᾳ zero width non-joiner ``av|`` αͺ
-============== ======= == ====================== ======= ==
+================ ======= == ====================== ======= ==
+tonos/oxia ``'a`` ά right apostrophe ``''`` ’
+varia ```a`` ὰ left apostrophe \`\` ‘
+dasia ``<a`` ἁ left quotation mark ``((`` «
+psili ``>a`` ἀ right quotation mark ``))`` »
+perispomeni [#]_ ``\~a`` ᾶ erotimatiko ``?`` ;
+dialytika ``"i`` ϊ ano teleia [#]_ ``;`` ·
+ypogegrammeni ``a|`` ᾳ zero width non-joiner ``av|`` αͺ
+================ ======= == ====================== ======= ==
The downside is, that you cannot print Latin letters and some symbols if
LGR is the active font encoding. This means that for every Latin-written
word or acronym in a Greek text part, an explicit font encoding switch is
required.
+.. [#] The tilde can be used without backslash in the language variants
+ "ancient" and "polutoniko". In monotonic Greek, it keeps its default
+ expansion to a no-break space.
+
.. [#] The "_`keep-semicolon`" language attribute prevents the mapping of
a semicolon to a middle dot to allow its use as Greek question mark
(erotimatiko).
@@ -410,6 +414,15 @@ Changelog
1.14 (2023-08-18)
- Fix upcasing of Greek letters with standard accent macros.
- New modifier `local-MakeUppercase-fixes`.
+1.15 (2023-10-13)
+ - Switch to the previous ``\encodingdefault`` (not ``\cf@encoding``)
+ when exiting Greek text parts.
+ Exception: use ``\latinencoding`` if the initial ``\encodingdefault``
+ is LGR and "greek" is the main document language.
+ - Fix standard accent macros also with pre-2022 ``\MakeUppercase``.
+ - Rename modifier `local-MakeUppercase-fixes` to
+ `no-MakeUppercase-fixes`.
+
.. _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
diff --git a/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf b/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
index 20ab08d842b..56d9c968de7 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
+++ b/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
index 2f8f10102f5..ecdcae7244c 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-encoding-switch.tex b/Master/texmf-dist/doc/generic/babel-greek/test-encoding-switch.tex
new file mode 100644
index 00000000000..f30aa8a6ec2
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-encoding-switch.tex
@@ -0,0 +1,109 @@
+\documentclass{article}
+\usepackage{parskip}
+\usepackage{lmodern}
+
+% We load LGR last, which as a bad idea (see below).
+% play with the font encodings:
+% \usepackage[T1]{fontenc}
+\usepackage[T1,T2A,LGR]{fontenc}
+
+\DeclareFontFamilySubstitution{T2A}{lmr}{cmr}
+
+\usepackage[english,greek.ancient]{babel}
+
+\makeatletter % we want to see the value of some internal macros
+
+\@ifl@aded{def}{t1enc}
+ {\newcommand*{\T@one@detected}{loaded}}
+ {\newcommand*{\T@one@detected}{\textbf{not} loaded}}
+
+\newcommand*{\cs}[1]{\ensureascii{\texttt{\textbackslash#1}}}
+
+% the title may be given before or after \begin{document}
+\title{\foreignlanguage{english}{Test font encoding switches}}
+\author{\ensureascii{Günter Milde}}
+
+\begin{document}
+
+\maketitle
+
+\ensureascii{The document's main language is \texttt{\bbl@main@language}}
+(Ελληνικά).
+
+\ensureascii{The initial font encodings are:}
+\cs{cf@encoding}: \cf@encoding,
+\cs{encodingdefault}: \encodingdefault.
+
+\selectlanguage{english}
+
+After switching to \texttt{english}, we get:\\
+\cs{cf@encoding}: \cf@encoding,
+\cs{encodingdefault}: \encodingdefault.
+
+\subsection*{\LaTeX2e Font Encodings}
+
+\emph{Fontenc} stores known encodings in \cs{@fontenc@load@list}:\\
+\@fontenc@load@list\ (sic! note the missing comma).
+The last encoding in this list becomes the document's
+default font encoding. It should be a \emph{standard text encoding}
+(cf. encguide.pdf).
+
+\emph{Babel} defines a \cs{latinencoding} (\latinencoding) and
+\cs{ensureascii}, which uses the standard last loaded text encoding
+(\ensureascii{\cf@encoding}).
+
+\emph{Babel-Greek} ensures that a font encoding supporting the Greek
+script is used in Greek text parts.
+The previous font encoding is restored in \cs{noextrasgreek}.
+Exception:
+If the default language is \texttt{greek} and the initial
+\cs{encodingdefault} is LGR, \cs{noextrasgreek} switches to
+\cs{latinencoding} because the LGR font encoding is only suited for the
+Greek script.
+% cf. https://github.com/latex3/babel/pull/263
+% and https://www.lyx.org/trac/ticket/12882
+
+\newpage
+\subsection*{Tests}
+
+Test that we are using a \emph{standard text encoding}:
+język polski.\footnote{The ogonek accent fails with LGR or OT1.}
+
+% A command local to the Polish QX font encoding: \textanglearc
+
+Call fontencoding T2A: \fontencoding{T2A} \selectfont
+\cs{cf@encoding} \cf@encoding, \cs{encodingdefault} \encodingdefault.
+\\
+Now I can use Кириллица\footnote{
+ exept for footnotes, where encodingdefault is used:
+ \cf@encoding, \encodingdefault}
+and Latin (including the ogonek) język polski
+(caveat: wrong result with drag-and-drop from the PDF).
+
+Greek with \cs{foreignlanguage}: \foreignlanguage{greek}{Ελληνικά \\
+\cs{cf@encoding} \cf@encoding, \cs{encodingdefault}: \encodingdefault{}
+}
+\\
+Back to English -- the font encoding is restored to what it was
+outside the group:
+\cs{cf@encoding} \cf@encoding, \cs{encodingdefault} \encodingdefault.
+I can still use Кириллица.
+
+Greek with \cs{selectlanguage}: \selectlanguage{greek} Ελληνικά\\
+\cs{cf@encoding} \cf@encoding, \cs{encodingdefault} \encodingdefault.
+
+\selectlanguage{english}
+Back to English -- the font encoding
+is restored by babel-greek to the previous default encoding:
+\cs{cf@encoding} \cf@encoding, \cs{encodingdefault} \encodingdefault.
+I can use the ogonek (język) but Cyrillic fails because it was not set
+as \cs{encodingdefault} before the switch to Greek.
+% Кириллица fails
+
+\subsection*{\emph{fontenc} curiosities}
+
+The encodings OT1 and T1 are always pre-loaded.
+However, according to \cs{@ifl@aded} the encoding file ``t1enc.def'' is
+\T@one@detected{}.
+
+\end{document}
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
index 9a12610f7cb..39bab5d57ff 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex b/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
index 1bae1bb88de..38958418d4d 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
@@ -32,9 +32,12 @@
\fi
% Load and configure Babel:
-
- \usepackage[greek,% comment out "greek" to test the "basic support"
+ % Support for the pseudo-language "polutonikogreek",
+ % used instead of "greek", is kept for backwards compatibility.
+ \usepackage[
+ greek,% comment out "greek" to test the "basic support"
% greek.local-LGR-fixes,
+ % polutonikogreek,
english]{babel}
% Uncomment the desired language variant
% Default: modern monotonic Greek
@@ -43,9 +46,6 @@
% \languageattribute{greek}{polytonic} % alias for polutoniko
% \languageattribute{greek}{ancient} % ancient Greek
%
- % Support for the pseudo-language "polutonikogreek", used instead of "greek",
- % is kept for backwards compatibility:
- % \usepackage[polutonikogreek,english]{babel}
%
% For backwards compatibility, you can also use
% \selectlanguage{polutonikogreek} instead of \selectlanguage{greek} etc.
@@ -125,6 +125,10 @@
\exhyphenpenalty=10000 % \box2 vyšoupnu do vnějšího seznamu
\emergencystretch=4em \leavevmode\unhbox2 \endgraf\egroup}
+\newcommand*{\TestUppercase}[1]{%
+ \foreignlanguage{greek}{#1 → \MakeUppercase{#1}}%
+}
+
% --------------------------------------------------------------------------
\begin{document}
@@ -487,9 +491,9 @@ The Latin transliteration works in LGR but not TU:
\end{quote}
\ifdefined\lgrfont
- The Latin transliteration can be used with also with
- Xe/LuaTeX, if the input text is wrapped in \cs{lgrfont}
- \footnote{available, if the LGR encoding is loaded
+ The Latin transliteration can also be used with
+ Xe/LuaTeX, if the input text is wrapped in \cs{lgrfont}\footnote{
+ available, if the LGR encoding is loaded
with the \pkgref{fontenc} package}
but may result in non-matching fonts and wrong hyphenation:
\begin{quote}
@@ -509,12 +513,12 @@ teleia}). As a result, Unicode-encoded texts that use the semicolon as
The character 037E GREEK QUESTION MARK works with both, Xe/LuaTeX and 8-bit
TeX. However it is deprecated and Unicode normalizes it to 003B SEMICOLON.
-This means that even texts wich use the GREEK QUESTION MARK may and up with
+This means that even texts wich use the GREEK QUESTION MARK may end up with
SEMICOLON after drag-and-drop or other processing and with a middle dot in
the final output.
With the \texttt{keep-semicolon} language attribute, 003B SEMICOLON is made
-active and inserts an \emph{erotimatiko} also with LGR encoded fonts, if the
+active and inserts an \emph{erotimatiko} also with LGR-encoded fonts, if the
text language is set to Greek
(in this document, the semicolon is
\ifnum\catcode59 = 13
@@ -524,17 +528,17 @@ text language is set to Greek
\fi
\begin{tabular}{lccc}
- Input & \latinencoding{} & \greekfontencoding
- & Greek language \\
- 003F QUESTION MARK & ? & \ensuregreek{?}
- & \foreignlanguage{greek}{?} \\
- \\
- 037E GREEK QUESTION MARK & {\footnotesize n/d} & \ensuregreek{;}
- & \foreignlanguage{greek}{;} \\
- 003B SEMICOLON & ; & \ensuregreek{;}
- & \foreignlanguage{greek}{;} \\
- 00B7 MIDDLE DOT & · & \ensuregreek{·}
- & \foreignlanguage{greek}{·} \\
+ Input & \latinencoding{}
+ & \greekfontencoding & Greek language \\
+ 003F QUESTION MARK & ?
+ & \ensuregreek{?} & \foreignlanguage{greek}{?} \\
+ \\
+ 037E GREEK QUESTION MARK & {\footnotesize n/d}
+ & \ensuregreek{;} & \foreignlanguage{greek}{;} \\
+ 003B SEMICOLON & ;
+ & \ensuregreek{;} & \foreignlanguage{greek}{;} \\
+ 00B7 MIDDLE DOT & ·
+ & \ensuregreek{·} & \foreignlanguage{greek}{·} \\
\end{tabular}
{\footnotesize n/d}: character not defined in T1 encoding.
@@ -590,7 +594,7 @@ LGR fonts have a middle dot glyph at the place of the ampersand. The new
\makeatletter
\newcommand{\RomanNumeralTest}{\f@encoding:
\romannumeral 1, \romannumeral 2, \romannumeral 3,
- \romannumeral 4, \ldots, \romannumeral 1975}
+ \romannumeral 4, \romannumeral 5, \romannumeral 6}
\makeatother
\begin{quote}
\RomanNumeralTest\\
@@ -651,7 +655,7 @@ Setting the language back to English should restore the alphabetic numbering:
\end{enumerate}
\end{enumerate}
-More test of the LGR-redefinitions are in \file{test-lgr-fixes.tex}.
+More tests of the LGR-redefinitions are in \file{test-lgr-fixes.tex}.
\ifdefined\lgrfont
\else
@@ -663,54 +667,53 @@ More test of the LGR-redefinitions are in \file{test-lgr-fixes.tex}.
Capital Greek letters have diacritics (except the dialytika and sub-iota) to
the left (instead of above) and drop them in uppercase (except the
-dialytika), e.g., \ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}.
+dialytika), e.g., \TestUppercase{μαΐστρος}.
Tonos and psili mark a \emph{hiatus} (break-up of a diphthong) if
placed on the first vowel of a diphthong.
A dialytika must be placed on the second vowel if they are dropped, e.g.
%
-\newcommand{\HiatusLICR}{\acctonos\textalpha\textiota,
- \acctonos\textalpha\textupsilon,
- \acctonos\textepsilon\textiota,
- \'>\textalpha\textiota,
- \'>\textalpha\textupsilon,
- \accpsili\textalpha\textupsilon,
- \accpsilioxia\textepsilon\textiota}%
-\foreignlanguage{greek}{\HiatusLICR\ $\mapsto$ \MakeUppercase{\HiatusLICR}}.
+\TestUppercase{\acctonos\textalpha\textiota,
+ \acctonos\textalpha\textupsilon,
+ \acctonos\textepsilon\textiota,
+ \'>\textalpha\textiota,
+ \'>\textalpha\textupsilon,
+ \accpsili\textalpha\textupsilon,
+ \accpsilioxia\textepsilon\textiota}%
Some affected words:
\begin{quotation}
- \selectlanguage{greek}
- \newcommand*{\aylos}{% from teubner.sty: άυλος → ΑΫΛΟΣ
+ % from teubner.sty:
+ \TestUppercase{% άυλος → ΑΫΛΟΣ
\acctonos\textalpha\textupsilon\textlambda\textomicron\textfinalsigma}
- \aylos{} $\mapsto$ \MakeUppercase{\aylos},
- \renewcommand*{\aylos}{% polytonic: ἄυλος → ΑΫΛΟΣ
+ \TestUppercase{% polytonic: ἄυλος → ΑΫΛΟΣ
\'>\textalpha\textupsilon\textlambda\textomicron\textfinalsigma}
- \aylos{} $\mapsto$ \MakeUppercase{\aylos},
% from http://diacritics.typo.cz/index.php?id=69
- \newcommand*{\maine}{%μάινη → ΜΑΪΝΗ
+ \TestUppercase{%μάινη → ΜΑΪΝΗ
\textmu\acctonos\textalpha\textiota\textnu\texteta}
- \maine{} $\mapsto$ \MakeUppercase{\maine},
% from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema
- \newcommand*{\keik}{% κέικ → ΚΕΪΚ
+ \TestUppercase{% κέικ → ΚΕΪΚ
\textkappa\acctonos\textepsilon\textiota\textkappa}
- \keik{} $\mapsto$ \MakeUppercase{\keik},
- \newcommand*{\ahypnia}{% ἀυπνία → ΑΫΠΝΙΑ
+ \TestUppercase{% ἀυπνία → ΑΫΠΝΙΑ
\accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}
- \ahypnia{} $\mapsto$ \MakeUppercase{\ahypnia},
% from http://multilingualtypesetting.co.uk/blog/greek-typesetting-tips/
- \newcommand*{\romeika}{\textrho\textomega\textmu
- \acctonos\textepsilon\textiota\textkappa\textalpha}
- \romeika{} $\mapsto$ \MakeUppercase{\romeika}.
+ \TestUppercase{% ρωμέικα → ΡΩΜΕΪΚΑ
+ \textrho\textomega\textmu
+ \acctonos\textepsilon\textiota\textkappa\textalpha}
% from Yannis Haralambous https://hal.science/hal-02101618
- \newcommand*{\aute}{% ἀυτή → ΑΫΤΗ a cry, shout, esp. battle-shout
+ \TestUppercase{% ἀυτή → ΑΫΤΗ a cry, shout, esp. battle-shout
\accpsili\textalpha\textupsilon\texttau\acctonos\texteta}
- \aute{} → \MakeUppercase{\aute}
+
+ % from https://r12a.github.io/scripts/grek/el.html#transforms
+ % νεράιδα -> ΝΕΡΑΪΔΑ
+ \TestUppercase{νεράιδα}\footnote{
+ This example uses literal input.
+ It fails with pre-2022 \cs{MakeUppercase}.}
\end{quotation}
The file \file{char-list.tex} in the \pkgref{greek-fontenc} package includes
@@ -728,28 +731,22 @@ limitations and problems.
With \cs{greekfontencoding} \greekfontencoding, LaTeX version \fmtversion,
and language variant ``\GreekLanguageVariant'', we get
-\newcommand{\precomposed}{ῶ, ή, ΐ, ᾂ, άι}
-\newcommand{\translit}{{~w, 'h, '"i, >`a|, 'ai}}
-\newcommand{\acconLICR}{\~\textomega, \'\texteta, \'"\textiota,
- \`>\textalpha\ypogegrammeni, \'\textalpha\textiota}
-\newcommand{\accontranslit}{{\~w, \'h, \'"i, \`>a|, \'ai}}
-\newcommand{\acconliteral}{\~ω, \'η, \'"ι, \`>ᾳ, \'αι}
-
pre-composed:
-\foreignlanguage{greek}{\precomposed\ → \MakeUppercase{\precomposed}}
+\TestUppercase{ῶ, ή, ΐ, ᾂ, άι}
transliteration:
-\foreignlanguage{greek}{\translit\ → \MakeUppercase{\translit}}
+\TestUppercase{{~w, 'h, '"i, >`a|, 'ai}}
accent macro + LICR:
-\foreignlanguage{greek}{\acconLICR\ → \MakeUppercase{\acconLICR}}
+\TestUppercase{\~\textomega, \'\texteta, \'"\textiota,
+ \`>\textalpha\ypogegrammeni, \'\textalpha\textiota}
accent macro + transliteration:
-\foreignlanguage{greek}{\accontranslit\ → \MakeUppercase{\accontranslit}}
+\TestUppercase{{\~w, \'h, \'"i, \`>a|, \'ai}}
accent macro + literal:
\ifdefined \UnicodeEncodingName
- \foreignlanguage{greek}{\acconliteral\ → \MakeUppercase{\acconliteral}}
+ \TestUppercase{\~ω, \'η, \'"ι, \`>ᾳ, \'αι}
\else
→ inputenc Error: Invalid UTF-8 byte sequence
\fi
@@ -817,7 +814,7 @@ the ``empty'' character 0x9f = 159.
\emph{Composite command} definitions ensure that combined accents
also work for accent characters ``upcased'' to the charcter
No 159 = 0x9f:
-\newcommand{\CombinedAccentSample}{%
+\TestUppercase{%
\ifdefined \UnicodeEncodingName
\"'υ{} \"`υ{} \`"υ{} \'"υ{} \`<α{} \'<α{}
\else
@@ -825,9 +822,7 @@ No 159 = 0x9f:
\fi
\'<\textalpha\textiota
}%
-\foreignlanguage{greek}{%
- \CombinedAccentSample{} $\mapsto$ \MakeUppercase{\CombinedAccentSample}%
-}.
+.
\newcommand{\AccentCharacters}{" | ' ` > <}
@@ -838,8 +833,7 @@ and language variant ``\GreekLanguageVariant'', we get for
is converted to an upper right apostrophe by LGR.},
sub-iota, tonos/oxia, varia, psili, and dasia):
\begin{quote}
- \selectlanguage{greek}
- \AccentCharacters{} $\mapsto$ \MakeUppercase{\AccentCharacters}
+ \TestUppercase{\AccentCharacters}
\end{quote}
The changed uc/lccodes have strange effects on Latin text parts
@@ -847,10 +841,10 @@ in Greek paragraphs if only the encoding is switched:
\begin{quote}
\selectlanguage{greek}
\foreignlanguage{english}{English:
- Let's see: \AccentCharacters{} $\mapsto$
+ Let's see: \AccentCharacters{} →
\MakeUppercase{Let's see: \AccentCharacters}}\\
\ensureascii{\cs{ensureascii}:
- Let's see: \AccentCharacters{} $\mapsto$
+ Let's see: \AccentCharacters{} →
\MakeUppercase{Let's see: \AccentCharacters}}
\end{quote}
@@ -883,8 +877,8 @@ characters
\ensureascii{MakeLowercase} \MakeLowercase{\alphaypo}
\end{quotation}
-and letters followed by \verb|\prosgegrammeni|
-with literal character + literal GREEK YPOGEGRAMMENI:
+and letters followed by \cs{prosgegrammeni}
+with literal character + GREEK YPOGEGRAMMENI:
\begin{quotation}
\selectlanguage{greek}
\newcommand{\alphapros}{\textalpha\prosgegrammeni α\prosgegrammeni{} αι /
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.pdf
new file mode 100644
index 00000000000..22069edef8e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex b/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex
index c04699d9054..6e86ff15ad2 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex
@@ -16,7 +16,7 @@
\else
\usepackage{lmodern}
% \usepackage{kerkis} % !! Data loss: \textStigma and \textSampi
- % characters missing!
+ % characters missing!
% \usepackage{gfsdidot} % !! Data loss: \textsampi, \textSampi,
% and \textStigma characters missing!
% \usepackage{dejavu} % !! Data loss: \textSampi character missing!
@@ -25,9 +25,9 @@
% \renewcommand*{\greeknumeralNinety}{\textsampi} % default \textSampi
\fi
-
\usepackage[greek,english]{babel}
+
\begin{document}
\section*{Test Greek (Milesian) numerals}
\author{Günter Milde}
@@ -38,8 +38,15 @@ Babel-greek defines the functions \verb|\greeknumeral| and
\verb|\romannumeral|. For details and configuration options, see
\texttt{babel-greek.pdf}.
-Examples:
+% Compare also with the "ready-made" counter styles for CSS
+% https://www.w3.org/TR/predefined-counter-styles/#greek-styles
+%
+% CSS counters greek-lower-modern and greek-upper-modern
+% use Sigma+Tau instead of Stigma for 6.
+%
+% CSS counters greek-lower-ancient and greek-upper-ancient use Stigma
+Examples:
\newcommand*{\greeknumeralsample}[1]{\mbox{#1 = \greeknumeral{#1}}}
\newcommand*{\Greeknumeralsample}[1]{\mbox{#1 = \Greeknumeral{#1}}}