diff options
author | Karl Berry <karl@freefriends.org> | 2023-10-13 20:50:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-10-13 20:50:32 +0000 |
commit | 8590a940b4664473691cf2e7c0133bdf7855a067 (patch) | |
tree | ad56cdcb82ecb3e222e1cd50ad85216c5863ed20 /Master/texmf-dist/doc/generic | |
parent | c45b87421086b64f7d64052b4c2eb42f7490a272 (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.md | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.html | 23 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/babel-greek-doc.rst | 33 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf | bin | 558854 -> 589100 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf | bin | 189338 -> 189338 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/test-encoding-switch.tex | 109 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf | bin | 495833 -> 497399 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/test-greek.tex | 134 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/test-greeknum.pdf | bin | 0 -> 105427 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/babel-greek/test-greeknum.tex | 13 |
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">"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@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 Binary files differindex 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 diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-athnum.pdf Binary files differindex 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 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 Binary files differindex 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 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 Binary files differnew file mode 100644 index 00000000000..22069edef8e --- /dev/null +++ b/Master/texmf-dist/doc/generic/babel-greek/test-greeknum.pdf 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}}} |