summaryrefslogtreecommitdiff
path: root/macros/unicodetex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-02 03:04:28 +0000
committerNorbert Preining <norbert@preining.info>2024-01-02 03:04:28 +0000
commit6b10e9901a24325e837f0fdc2cbce8f43f18ccff (patch)
tree3c9f999691258a32058bf6b3e8353eadeda85f9b /macros/unicodetex
parent094e5f512c4ea5981db967dd89c47363a603529b (diff)
CTAN sync 202401020304
Diffstat (limited to 'macros/unicodetex')
-rw-r--r--macros/unicodetex/latex/xgreek/README19
-rw-r--r--macros/unicodetex/latex/xgreek/xgreek.dtx518
-rw-r--r--macros/unicodetex/latex/xgreek/xgreek.ins4
-rw-r--r--macros/unicodetex/latex/xgreek/xgreek.pdfbin76282 -> 72958 bytes
4 files changed, 188 insertions, 353 deletions
diff --git a/macros/unicodetex/latex/xgreek/README b/macros/unicodetex/latex/xgreek/README
index b0e087b4f9..689aa0299d 100644
--- a/macros/unicodetex/latex/xgreek/README
+++ b/macros/unicodetex/latex/xgreek/README
@@ -1,3 +1,12 @@
+Version 3.3.0
+The new implementation of the \MakeUppercase command ingores \uccode and
+\lccode commands and so the output of \MakeUppercase is wrong when Greek text is the
+argument of the command. In this version, I replaced all the \uccode
+and the corresponding \lccode command with the required new \DeclareUppercaseMapping
+and \DeclareLowercaseMapping commands. Now \MakeUppercase works as expected.
+In addition, I have added a detailed explanation of the grammatical rule
+that dictates this change.
+
Version 3.2.0
The previous version did not work properly when the user did not
@@ -9,7 +18,7 @@ Introduces the option "listings" that loads the listings package,
adjusts the catcodes of the Greek letters and allows one to properly
use Greek letters in code listings (remember: all modern programming
languages are UTF-8 aware!). It should be obvious, but here is how
-one can load the package with this oprion enabled:
+one can load the package with this option enabled:
\usepackage[listings]{xgreek}
@@ -41,7 +50,7 @@ Claudio Beccari and Günter Milde for finding this bug.
Version 2.6
In this version the definition of \anwtonos and \katwtonos have been
-changed and now the commands expand to the correspong symbol and not
+changed and now the commands expand to the corresponding symbol and not
to some \char"03XX\relax sequence. It seems the previous definitions
did not work with some packages.
@@ -54,7 +63,7 @@ users wanted to be able to disable this "feature". Now, users can
specify the noindentfirst option to achieve this. Also, some users wanted
to be able to have the Greek numerals that appear in enumerations and
chapter headers to get printed without the NUMERAL SIGN. This feature
-can be turned on with the new option nonumeralsign. Fianlly, command
+can be turned on with the new option nonumeralsign. Finally, command
\anoteleia can be used to get an ANO TELEIA character.
Version 2.4
@@ -86,7 +95,7 @@ Greek language documents using XeLaTeX. And it is released in
the hope that people will use it and spot errors, bugs, features
so to improve it. Practically, it provides all the capabilities
of the greek option of the babel package. The package can be
-invoced with any of the following options: monogreek (for
+invoked with any of the following options: monogreek (for
typesetting modern monotonic Greek), polygreek (for typesetting
modern polytonic Greek), and ancientgreek (for typesetting
ancient texts). The default option is monogreek. The command
@@ -103,4 +112,4 @@ greek loadhyph-el-polyton.tex
Apostolos Syropoulos
Xanthi, Greece
-2022/08/28
+2024/01/01
diff --git a/macros/unicodetex/latex/xgreek/xgreek.dtx b/macros/unicodetex/latex/xgreek/xgreek.dtx
index 6ab153c623..1e71b5df9d 100644
--- a/macros/unicodetex/latex/xgreek/xgreek.dtx
+++ b/macros/unicodetex/latex/xgreek/xgreek.dtx
@@ -16,7 +16,7 @@
%%
%\iffalse
%
-% (c) Copyright 2007-2022 Apostolos Syropoulos
+% (c) Copyright 2007-2024 Apostolos Syropoulos
% This program can be redistributed and/or modified under the
% terms of the LaTeX Project Public License Distributed from
% http://www.latex-project.org/lppl.txt; either
@@ -29,13 +29,13 @@
% Apostolos Syropoulos (asyropoulos@yahoo.com)
%
%\fi
-% \CheckSum{1930}
+% \CheckSum{795}
% \iffalse This is a Metacommentxel
%
%<xgreek, >\ProvidesFile{xgreek.sty}
%<xelistings, >\ProvidesFile{xelistings}
%
-%<xgreek, > [2022/09/04 v3.2.0 Package `xgreek.sty']
+%<xgreek, > [2024/01/01 v3.3.0 Package `xgreek.sty']
%<xelistings, > [2022/09/04 v1.0 Package `xelistings.sty']
%
% \begin{macrocode}
@@ -43,6 +43,7 @@
\documentclass{ltxdoc}
\GetFileInfo{xgreek.drv}
\usepackage{xltxtra}
+\usepackage{fullpage}
\begin{document}
%\newopentypefeature{Contextuals}{Alts}{+calt}
\setmainfont[Mapping=tex-text,Script=Greek,
@@ -59,7 +60,7 @@
%\author{Apostolos Syropoulos\\
% Xanthi, Greece\\
% \texttt{asyropoulos@yahoo.com}}
-% \date{2009/11/23\\ Last Updated 2022/09/04}
+% \date{2009/11/23\\ Last Updated 2024/01/01}
%\maketitle
% \begin{abstract}
% The \textsf{xgreek} package provides rudimentary support for Greek language
@@ -81,333 +82,157 @@
%\begin{center}
%|http://www.unicode.org/Public/UNIDATA/UnicodeData.txt|
%\end{center}
-% the uppercase form of \textsc{greek small letter epsilon with tonos} is
-% \textsc{greek capital letter eta with tonos}. This is certainly wrong. The main reason
-% is that accents are not part of the letter as for example is the case with
-% \textsc{latin small letter k with caron}. Since, \XeLaTeX\ blindly follows the Unicode
-% standard, commands like |\MakeUppercase| produce wrong output. For this reason
-% I first need to set up the correct |\uccode|s and |\lccode|s.
+% the uppercase form of the letter GREEK SMALL LETTER EPSILON WITH TONOS is the letter
+% GREEK CAPITAL LETTER EPSILON WITH TONOS. According to the grammar of the Greek
+% language this is wrong. When text is tranfformed into uppercase, all letters lose
+% accents and when a letter has GREEK DIALYTIKA TONOS, then only the DIALYTIKA remain.
+% Thus, the uppercase form of the letter GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS is
+% the letter GREEK CAPITAL LETTER IOTA WITH DIALYTIKA. Also, the uppercase form of the letter
+% GREEK SMALL LETTER EPSILON WITH TONOS is the letter GREEK CAPITAL LETTER EPSILON. For ancient
+% Greek something similar holds---All accents and breathings disappear and only the letters having
+% DIALYTIKA keep them. For example, the uppercase form of the letter GREEK SMALL LETTER
+% UPSILON WITH DIALYTIKA AND PERISPOMENI is the letter GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA.
+% In addition, for any lowercase letter that has a GREEK YPOGEGRAMMENI the equivalent uppercase letter
+% is the one with a PROSGEGRAMMENI. For example, the uppercase form of the letter GREEK SMALL LETTER ETA
+% WITH OXIA AND YPOGEGRAMMENI is the letter GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI. However, there is
+% one exception: the word GREEK SMALL LETTER ETA WITH PSILI AND OXIA (GREEK SMALL LETTER ETA WITH TONOS
+% in Modern Greek), which is the equiavalent of the English word ``or.'' In order not to confuse it with
+% the feminine article in the nominative case (i.e., the letter GREEK SMALL LETTER ETA WITH DASIA),
+% this article keeps the accent in an uppercase letters only text. Unfortunately, this feature cannot be
+% easily implemented since it would require a rule of the form
+%\begin{center}
+% ``SPACE'' ``GREEK SMALL LETTER ETA WITH PSILI AND OXIA'' ``SPACE''\\ --->\\ ``SPACE'' ``GREEK CAPITAL LETTER ETA WITH OXIA'' ``SPACE''
+%\end{center}
+%
+% It is a fact that \LaTeX\ {\em blindly} follows the Unicode standard and so the command |\MakeUppercase| produces wrong output.
+% For this reason, in previous versions of this package, I introduced many pairs of |\uccode| and |\lccode| commands to fix
+% this problem. Quite recently, I realize that these commands do not produce the expected result as the new implementation of
+% the command |\MakeUppercase| completely ignores these commands. Fortunately, the person who did this re-implementation,
+% defined the new command |\DeclareUppercaseMapping| which maps the character code of a lowercase letter to the actual
+% uppercase character. The commands that follow implement the grammatical rules of the Greek language except of course the
+% rule for the Greek disjunctive conjunction.
% \begin{macrocode}
%<*xgreek>
-\message{Package 'xgreek' version 3.1.0 by Apostolos Syropoulos}
-\global\lccode"0370="0371 \global\uccode"0370="0370
-\global\lccode"0371="0371 \global\uccode"0371="0370
-\global\lccode"0372="0373 \global\uccode"0372="0372
-\global\lccode"0373="0373 \global\uccode"0373="0372
-\global\lccode"0376="0377 \global\uccode"0376="0376
-\global\lccode"0377="0377 \global\uccode"0377="0376
-\global\lccode"03FD="037B \global\uccode"03FD="03FD
-\global\lccode"037B="037B \global\uccode"037B="03FD
-\global\lccode"03FE="037C \global\uccode"03FE="03FE
-\global\lccode"037C="037C \global\uccode"037C="03FE
-\global\lccode"03FF="037D \global\uccode"03FF="03FF
-\global\lccode"037D="037D \global\uccode"037D="03FF
-\global\lccode"0386="03AC \global\uccode"0386="0391
-\global\lccode"0388="03AD \global\uccode"0388="0395
-\global\lccode"0389="03AC \global\uccode"0389="0397
-\global\lccode"038A="03AF \global\uccode"038A="0399
-\global\lccode"038C="03CC \global\uccode"038C="039F
-\global\lccode"038E="03CD \global\uccode"038E="03A5
-\global\lccode"038F="03CE \global\uccode"038F="03A9
-\global\lccode"0390="0390 \global\uccode"0390="03AA
-\global\lccode"0391="03B1 \global\uccode"0391="0391
-\global\lccode"0392="03B2 \global\uccode"0392="0392
-\global\lccode"0393="03B3 \global\uccode"0393="0393
-\global\lccode"0394="03B4 \global\uccode"0394="0394
-\global\lccode"0395="03B5 \global\uccode"0395="0395
-\global\lccode"0396="03B6 \global\uccode"0396="0396
-\global\lccode"0397="03B7 \global\uccode"0397="0397
-\global\lccode"0398="03B8 \global\uccode"0398="0398
-\global\lccode"0399="03B9 \global\uccode"0399="0399
-\global\lccode"039A="03BA \global\uccode"039A="039A
-\global\lccode"039B="03BB \global\uccode"039B="039B
-\global\lccode"039C="03BC \global\uccode"039C="039C
-\global\lccode"039D="03BD \global\uccode"039D="039D
-\global\lccode"039E="03BE \global\uccode"039E="039E
-\global\lccode"039F="03BF \global\uccode"039F="039F
-\global\lccode"03A0="03C0 \global\uccode"03A0="03A0
-\global\lccode"03A1="03C1 \global\uccode"03A1="03A1
-\global\lccode"03A3="03C3 \global\uccode"03A3="03A3
-\global\lccode"03A4="03C4 \global\uccode"03A4="03A4
-\global\lccode"03A5="03C5 \global\uccode"03A5="03A5
-\global\lccode"03A6="03C6 \global\uccode"03A6="03A6
-\global\lccode"03A7="03C7 \global\uccode"03A7="03A7
-\global\lccode"03A8="03C8 \global\uccode"03A8="03A8
-\global\lccode"03A9="03C9 \global\uccode"03A9="03A9
-\global\lccode"03AA="03CA \global\uccode"03AA="03AA
-\global\lccode"03AB="03CB \global\uccode"03AB="03AB
-\global\lccode"03AC="03AC \global\uccode"03AC="0391
-\global\lccode"03AD="03AD \global\uccode"03AD="0395
-\global\lccode"03AE="03AE \global\uccode"03AE="0397
-\global\lccode"03AF="03AF \global\uccode"03AF="0399
-\global\lccode"03B0="03B0 \global\uccode"03B0="03AB
-\global\lccode"03B1="03B1 \global\uccode"03B1="0391
-\global\lccode"03B2="03B2 \global\uccode"03B2="0392
-\global\lccode"03B3="03B3 \global\uccode"03B3="0393
-\global\lccode"03B4="03B4 \global\uccode"03B4="0394
-\global\lccode"03B5="03B5 \global\uccode"03B5="0395
-\global\lccode"03B6="03B6 \global\uccode"03B6="0396
-\global\lccode"03B7="03B7 \global\uccode"03B7="0397
-\global\lccode"03B8="03B8 \global\uccode"03B8="0398
-\global\lccode"03B9="03B9 \global\uccode"03B9="0399
-\global\lccode"03BA="03BA \global\uccode"03BA="039A
-\global\lccode"03BB="03BB \global\uccode"03BB="039B
-\global\lccode"03BC="03BC \global\uccode"03BC="039C
-\global\lccode"03BD="03BD \global\uccode"03BD="039D
-\global\lccode"03BE="03BE \global\uccode"03BE="039E
-\global\lccode"03BF="03BF \global\uccode"03BF="039F
-\global\lccode"03C0="03C0 \global\uccode"03C0="03A0
-\global\lccode"03C1="03C1 \global\uccode"03C1="03A1
-\global\lccode"03C2="03C2 \global\uccode"03C2="03A3
-\global\lccode"03C3="03C3 \global\uccode"03C3="03A3
-\global\lccode"03C4="03C4 \global\uccode"03C4="03A4
-\global\lccode"03C5="03C5 \global\uccode"03C5="03A5
-\global\lccode"03C6="03C6 \global\uccode"03C6="03A6
-\global\lccode"03C7="03C7 \global\uccode"03C7="03A7
-\global\lccode"03C8="03C8 \global\uccode"03C8="03A8
-\global\lccode"03C9="03C9 \global\uccode"03C9="03A9
-\global\lccode"03CA="03CA \global\uccode"03CA="03AA
-\global\lccode"03CB="03CB \global\uccode"03CB="03AB
-\global\lccode"03CC="03CC \global\uccode"03CC="039F
-\global\lccode"03CD="03CD \global\uccode"03CD="03A5
-\global\lccode"03CE="03CE \global\uccode"03CE="03A9
-\global\lccode"03D0="03D0 \global\uccode"03D0="0392
-\global\lccode"03D1="03D1 \global\uccode"03D1="0398
-\global\lccode"03D2="03C5 \global\uccode"03D2="03A5
-\global\lccode"03D3="03CD \global\uccode"03D3="03A5
-\global\lccode"03D4="03CB \global\uccode"03D4="03AB
-\global\lccode"03D5="03C6 \global\uccode"03D5="03A6
-\global\lccode"03D6="03C0 \global\uccode"03D6="03A0
-\global\lccode"03DA="03DB \global\uccode"03DA="03DA
-\global\lccode"03DB="03DB \global\uccode"03DB="03DA
-\global\lccode"03DC="03DD \global\uccode"03DC="03DC
-\global\lccode"03DD="03DD \global\uccode"03DD="03DC
-\global\lccode"03DE="03DF \global\uccode"03DE="03DE
-\global\lccode"03DF="03DF \global\uccode"03DF="03DE
-\global\lccode"03E0="03E1 \global\uccode"03E0="03E0
-\global\lccode"03E1="03E1 \global\uccode"03E1="03E0
-\global\lccode"03F0="03BA \global\uccode"03F0="039A
-\global\lccode"03F1="03C1 \global\uccode"03F1="03A1
-\global\lccode"03F2="03F2 \global\uccode"03F2="03F9
-\global\lccode"03F9="03F2 \global\uccode"03F9="03F9
-\global\lccode"1F00="1F00 \global\uccode"1F00="0391
-\global\lccode"1F01="1F01 \global\uccode"1F01="0391
-\global\lccode"1F02="1F02 \global\uccode"1F02="0391
-\global\lccode"1F03="1F03 \global\uccode"1F03="0391
-\global\lccode"1F04="1F04 \global\uccode"1F04="0391
-\global\lccode"1F05="1F05 \global\uccode"1F05="0391
-\global\lccode"1F06="1F06 \global\uccode"1F06="0391
-\global\lccode"1F07="1F07 \global\uccode"1F07="0391
-\global\lccode"1F08="1F00 \global\uccode"1F08="0391
-\global\lccode"1F09="1F01 \global\uccode"1F09="0391
-\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391
-\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391
-\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391
-\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391
-\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391
-\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391
-\global\lccode"1F10="1F10 \global\uccode"1F10="0395
-\global\lccode"1F11="1F11 \global\uccode"1F11="0395
-\global\lccode"1F12="1F12 \global\uccode"1F12="0395
-\global\lccode"1F13="1F13 \global\uccode"1F13="0395
-\global\lccode"1F14="1F14 \global\uccode"1F14="0395
-\global\lccode"1F15="1F15 \global\uccode"1F15="0395
-\global\lccode"1F18="1F10 \global\uccode"1F18="0395
-\global\lccode"1F19="1F11 \global\uccode"1F19="0395
-\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395
-\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395
-\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395
-\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395
-\global\lccode"1F20="1F20 \global\uccode"1F20="0397
-\global\lccode"1F21="1F21 \global\uccode"1F21="0397
-\global\lccode"1F22="1F22 \global\uccode"1F22="0397
-\global\lccode"1F23="1F23 \global\uccode"1F23="0397
-\global\lccode"1F24="1F24 \global\uccode"1F24="0397
-\global\lccode"1F25="1F25 \global\uccode"1F25="0397
-\global\lccode"1F26="1F26 \global\uccode"1F26="0397
-\global\lccode"1F27="1F27 \global\uccode"1F27="0397
-\global\lccode"1F28="1F20 \global\uccode"1F28="0397
-\global\lccode"1F29="1F21 \global\uccode"1F29="0397
-\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397
-\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397
-\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397
-\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397
-\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397
-\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397
-\global\lccode"1F30="1F30 \global\uccode"1F30="0399
-\global\lccode"1F31="1F31 \global\uccode"1F31="0399
-\global\lccode"1F32="1F32 \global\uccode"1F32="0399
-\global\lccode"1F33="1F33 \global\uccode"1F33="0399
-\global\lccode"1F34="1F34 \global\uccode"1F34="0399
-\global\lccode"1F35="1F35 \global\uccode"1F35="0399
-\global\lccode"1F36="1F36 \global\uccode"1F36="0399
-\global\lccode"1F37="1F37 \global\uccode"1F37="0399
-\global\lccode"1F38="1F30 \global\uccode"1F38="0399
-\global\lccode"1F39="1F31 \global\uccode"1F39="0399
-\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399
-\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399
-\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399
-\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399
-\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399
-\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399
-\global\lccode"1F40="1F40 \global\uccode"1F40="039F
-\global\lccode"1F41="1F41 \global\uccode"1F41="039F
-\global\lccode"1F42="1F42 \global\uccode"1F42="039F
-\global\lccode"1F43="1F43 \global\uccode"1F43="039F
-\global\lccode"1F44="1F44 \global\uccode"1F44="039F
-\global\lccode"1F45="1F45 \global\uccode"1F45="039F
-\global\lccode"1F48="1F40 \global\uccode"1F48="039F
-\global\lccode"1F49="1F41 \global\uccode"1F49="039F
-\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F
-\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F
-\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F
-\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F
-\global\lccode"1F50="1F50 \global\uccode"1F50="03A5
-\global\lccode"1F51="1F51 \global\uccode"1F51="03A5
-\global\lccode"1F52="1F52 \global\uccode"1F52="03A5
-\global\lccode"1F53="1F53 \global\uccode"1F53="03A5
-\global\lccode"1F54="1F54 \global\uccode"1F54="03A5
-\global\lccode"1F55="1F55 \global\uccode"1F55="03A5
-\global\lccode"1F56="1F56 \global\uccode"1F56="03A5
-\global\lccode"1F57="1F57 \global\uccode"1F57="03A5
-\global\lccode"1F59="1F51 \global\uccode"1F59="03A5
-\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5
-\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5
-\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5
-\global\lccode"1F60="1F60 \global\uccode"1F60="03A9
-\global\lccode"1F61="1F61 \global\uccode"1F61="03A9
-\global\lccode"1F62="1F62 \global\uccode"1F62="03A9
-\global\lccode"1F63="1F63 \global\uccode"1F63="03A9
-\global\lccode"1F64="1F64 \global\uccode"1F64="03A9
-\global\lccode"1F65="1F65 \global\uccode"1F65="03A9
-\global\lccode"1F66="1F66 \global\uccode"1F66="03A9
-\global\lccode"1F67="1F67 \global\uccode"1F67="03A9
-\global\lccode"1F68="1F60 \global\uccode"1F68="03A9
-\global\lccode"1F69="1F61 \global\uccode"1F69="03A9
-\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9
-\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9
-\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9
-\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9
-\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9
-\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9
-\global\lccode"1F70="1F70 \global\uccode"1F70="0391
-\global\lccode"1F71="1F71 \global\uccode"1F71="0391
-\global\lccode"1F72="1F72 \global\uccode"1F72="0395
-\global\lccode"1F73="1F73 \global\uccode"1F73="0395
-\global\lccode"1F74="1F74 \global\uccode"1F74="0397
-\global\lccode"1F75="1F75 \global\uccode"1F75="0397
-\global\lccode"1F76="1F76 \global\uccode"1F76="0399
-\global\lccode"1F77="1F77 \global\uccode"1F77="0399
-\global\lccode"1F78="1F78 \global\uccode"1F78="039F
-\global\lccode"1F79="1F79 \global\uccode"1F79="039F
-\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5
-\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5
-\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9
-\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9
-\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC
-\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC
-\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC
-\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC
-\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC
-\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC
-\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC
-\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC
-\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC
-\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC
-\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC
-\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC
-\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC
-\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC
-\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC
-\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC
-\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC
-\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC
-\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC
-\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC
-\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC
-\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC
-\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC
-\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC
-\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC
-\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC
-\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC
-\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC
-\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC
-\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC
-\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC
-\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC
-\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC
-\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC
-\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC
-\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC
-\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC
-\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC
-\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC
-\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC
-\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC
-\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC
-\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC
-\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC
-\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC
-\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC
-\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC
-\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC
-\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8
-\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9
-\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC
-\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC
-\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC
-\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391
-\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC
-\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8
-\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9
-\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391
-\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391
-\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC
-\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD
-\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC
-\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC
-\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC
-\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397
-\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC
-\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395
-\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395
-\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397
-\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397
-\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC
-\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8
-\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9
-\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA
-\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA
-\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399
-\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA
-\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8
-\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9
-\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399
-\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399
-\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8
-\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9
-\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB
-\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB
-\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1
-\global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1
-\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5
-\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB
-\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8
-\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9
-\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5
-\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5
-\global\lccode"1FEC="1FE5 \global\uccode"1FEC="1FEC
-\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC
-\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC
-\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC
-\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9
-\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC
-\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F
-\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F
-\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9
-\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9
-\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
+\message{Package 'xgreek' version 3.3.0 by Apostolos Syropoulos}
+\DeclareUppercaseMapping{"0390}{Ϊ} \DeclareLowercaseMapping{"0390}{ΐ}
+\DeclareUppercaseMapping{"03AC}{Α} \DeclareLowercaseMapping{"03AC}{ά}
+\DeclareUppercaseMapping{"03AD}{Ε} \DeclareLowercaseMapping{"03AD}{έ}
+\DeclareUppercaseMapping{"03AE}{Η} \DeclareLowercaseMapping{"03AE}{ή}
+\DeclareUppercaseMapping{"03AF}{Ι} \DeclareLowercaseMapping{"03AF}{ί}
+\DeclareUppercaseMapping{"03B0}{Ϋ} \DeclareLowercaseMapping{"03B0}{ΰ}
+\DeclareUppercaseMapping{"03CA}{Ϊ} \DeclareLowercaseMapping{"03CA}{ϊ}
+\DeclareUppercaseMapping{"03CB}{Ϋ} \DeclareLowercaseMapping{"03CB}{ϋ}
+\DeclareUppercaseMapping{"03CC}{Ο} \DeclareLowercaseMapping{"03CC}{ό}
+\DeclareUppercaseMapping{"03CD}{Υ} \DeclareLowercaseMapping{"03CD}{ύ}
+\DeclareUppercaseMapping{"03CE}{Ω} \DeclareLowercaseMapping{"03CE}{ώ}
+\DeclareUppercaseMapping{"1F00}{Α}
+\DeclareUppercaseMapping{"1F01}{Α}
+\DeclareUppercaseMapping{"1F02}{Α}
+\DeclareUppercaseMapping{"1F03}{Α}
+\DeclareUppercaseMapping{"1F04}{Α}
+\DeclareUppercaseMapping{"1F05}{Α}
+\DeclareUppercaseMapping{"1F06}{Α}
+\DeclareUppercaseMapping{"1F07}{Α}
+\DeclareUppercaseMapping{"1F10}{Ε}
+\DeclareUppercaseMapping{"1F11}{Ε}
+\DeclareUppercaseMapping{"1F12}{Ε}
+\DeclareUppercaseMapping{"1F13}{Ε}
+\DeclareUppercaseMapping{"1F14}{Ε}
+\DeclareUppercaseMapping{"1F15}{Ε}
+\DeclareUppercaseMapping{"1F20}{Η}
+\DeclareUppercaseMapping{"1F21}{Η}
+\DeclareUppercaseMapping{"1F22}{Η}
+\DeclareUppercaseMapping{"1F23}{Η}
+\DeclareUppercaseMapping{"1F24}{Η}
+\DeclareUppercaseMapping{"1F25}{Η}
+\DeclareUppercaseMapping{"1F26}{Η}
+\DeclareUppercaseMapping{"1F27}{Η}
+\DeclareUppercaseMapping{"1F30}{Ι}
+\DeclareUppercaseMapping{"1F31}{Ι}
+\DeclareUppercaseMapping{"1F32}{Ι}
+\DeclareUppercaseMapping{"1F33}{Ι}
+\DeclareUppercaseMapping{"1F34}{Ι}
+\DeclareUppercaseMapping{"1F35}{Ι}
+\DeclareUppercaseMapping{"1F36}{Ι}
+\DeclareUppercaseMapping{"1F37}{Ι}
+\DeclareUppercaseMapping{"1F40}{Ο}
+\DeclareUppercaseMapping{"1F41}{Ο}
+\DeclareUppercaseMapping{"1F42}{Ο}
+\DeclareUppercaseMapping{"1F43}{Ο}
+\DeclareUppercaseMapping{"1F44}{Ο}
+\DeclareUppercaseMapping{"1F45}{Ο}
+\DeclareUppercaseMapping{"1F50}{Υ}
+\DeclareUppercaseMapping{"1F51}{Υ}
+\DeclareUppercaseMapping{"1F52}{Υ}
+\DeclareUppercaseMapping{"1F53}{Υ}
+\DeclareUppercaseMapping{"1F54}{Υ}
+\DeclareUppercaseMapping{"1F55}{Υ}
+\DeclareUppercaseMapping{"1F56}{Υ}
+\DeclareUppercaseMapping{"1F57}{Υ}
+\DeclareUppercaseMapping{"1F60}{Ω}
+\DeclareUppercaseMapping{"1F61}{Ω}
+\DeclareUppercaseMapping{"1F62}{Ω}
+\DeclareUppercaseMapping{"1F63}{Ω}
+\DeclareUppercaseMapping{"1F64}{Ω}
+\DeclareUppercaseMapping{"1F65}{Ω}
+\DeclareUppercaseMapping{"1F66}{Ω}
+\DeclareUppercaseMapping{"1F67}{Ω}
+\DeclareUppercaseMapping{"1F70}{Α} \DeclareUppercaseMapping{"1F71}{Α}
+\DeclareUppercaseMapping{"1F72}{Ε} \DeclareUppercaseMapping{"1F73}{Ε}
+\DeclareUppercaseMapping{"1F74}{Η} \DeclareUppercaseMapping{"1F75}{Η}
+\DeclareUppercaseMapping{"1F76}{Ι} \DeclareUppercaseMapping{"1F77}{Ι}
+\DeclareUppercaseMapping{"1F78}{Ο} \DeclareUppercaseMapping{"1F79}{Ο}
+\DeclareUppercaseMapping{"1F7A}{Υ} \DeclareUppercaseMapping{"1F7B}{Υ}
+\DeclareUppercaseMapping{"1F7C}{Ω} \DeclareUppercaseMapping{"1F7D}{Ω}
+\DeclareUppercaseMapping{"1F80}{ᾼ}
+\DeclareUppercaseMapping{"1F81}{ᾼ}
+\DeclareUppercaseMapping{"1F82}{ᾼ}
+\DeclareUppercaseMapping{"1F83}{ᾼ}
+\DeclareUppercaseMapping{"1F84}{ᾼ}
+\DeclareUppercaseMapping{"1F85}{ᾼ}
+\DeclareUppercaseMapping{"1F86}{ᾼ}
+\DeclareUppercaseMapping{"1F87}{ᾼ}
+\DeclareUppercaseMapping{"1F90}{ῌ}
+\DeclareUppercaseMapping{"1F91}{ῌ}
+\DeclareUppercaseMapping{"1F92}{ῌ}
+\DeclareUppercaseMapping{"1F93}{ῌ}
+\DeclareUppercaseMapping{"1F94}{ῌ}
+\DeclareUppercaseMapping{"1F95}{ῌ}
+\DeclareUppercaseMapping{"1F96}{ῌ}
+\DeclareUppercaseMapping{"1F97}{ῌ}
+\DeclareUppercaseMapping{"1FA0}{ῼ}
+\DeclareUppercaseMapping{"1FA1}{ῼ}
+\DeclareUppercaseMapping{"1FA2}{ῼ}
+\DeclareUppercaseMapping{"1FA3}{ῼ}
+\DeclareUppercaseMapping{"1FA4}{ῼ}
+\DeclareUppercaseMapping{"1FA5}{ῼ}
+\DeclareUppercaseMapping{"1FA6}{ῼ}
+\DeclareUppercaseMapping{"1FA7}{ῼ}
+\DeclareUppercaseMapping{"1FB2}{ᾼ}
+\DeclareUppercaseMapping{"1FB3}{ᾼ}
+\DeclareUppercaseMapping{"1FB4}{ᾼ}
+\DeclareUppercaseMapping{"1FB6}{Α}
+\DeclareUppercaseMapping{"1FB7}{ᾼ}
+\DeclareUppercaseMapping{"1FC2}{ῌ}
+\DeclareUppercaseMapping{"1FC3}{ῌ}
+\DeclareUppercaseMapping{"1FC4}{ῌ}
+\DeclareUppercaseMapping{"1FC6}{Η}
+\DeclareUppercaseMapping{"1FC7}{ῌ}
+\DeclareUppercaseMapping{"1FD2}{Ϊ}
+\DeclareUppercaseMapping{"1FD3}{Ϊ}
+\DeclareUppercaseMapping{"1FD6}{Ι}
+\DeclareUppercaseMapping{"1FD7}{Ϊ}
+\DeclareUppercaseMapping{"1FE2}{Ϋ}
+\DeclareUppercaseMapping{"1FE3}{Ϋ}
+\DeclareUppercaseMapping{"1FE4}{Ρ}
+\DeclareUppercaseMapping{"1FE5}{Ρ}
+\DeclareUppercaseMapping{"1FE6}{Υ}
+\DeclareUppercaseMapping{"1FE7}{Ϋ}
+\DeclareUppercaseMapping{"1FF2}{ῼ}
+\DeclareUppercaseMapping{"1FF3}{ῼ}
+\DeclareUppercaseMapping{"1FF4}{ῼ}
+\DeclareUppercaseMapping{"1FF6}{Ω}
+\DeclareUppercaseMapping{"1FF7}{ῼ}
% \end{macrocode}
% Next I define the various strings that correspond to the standard \LaTeX\ captions.
% I first define the strings for monotonic Greek.
@@ -445,7 +270,8 @@
\def\proofname{Ἀπόδειξη}%
}
% \end{macrocode}
-% Macro |\@ncientn@mes| is invoked when ancient Greek is the main language of the document.
+% Macro |\@ncientn@mes| is invoked when ancient Greek is the main language of the document (Dinitrios Filippou
+% spotted a couple of spelling errors in the list below).
% \begin{macrocode}
\def\@ncientn@mes{%
\def\prefacename{Προοίμιον}%
@@ -463,8 +289,8 @@
\def\ccname{Κοινοποίησις}%
\def\headtoname{Πρὸς}%
\def\pagename{Σελὶς}%
- \def\seename{ὃρα}%
- \def\alsoname{ὃρα ὡσαύτως}%
+ \def\seename{ὅρα}%
+ \def\alsoname{ὅρα ὡσαύτως}%
\def\proofname{Ἀπόδειξις}%
\def\glossaryname{Γλωσσάριον}%
\def\refname{Ἀναφοραὶ}%
@@ -491,7 +317,7 @@
% \end{macrocode}
% Next, I define a few macros that allow one to access characters
% that are not usually easily accessible from the keyboard (e.g., the sampi or the
-% koppa symbol). The list includes a command for the unicode symbol GREEK ANO TELEIA,
+% koppa symbol). The list includes a command for the Unicode symbol GREEK ANO TELEIA,
% which, in some systems, is confused with MIDDLE DOT. The use of command |\numer@lsign|
% will be explained later.
% \begin{macrocode}
@@ -571,7 +397,7 @@
}
% \end{macrocode}
% Nowadays it is customary in Greece to use Greek numerals without the GREEK NUMERAL SIGN at the end
-% of numeral. Thus, the |nonumeralsign| option disables the typesetting of the GREEK NUMERAL SIGN
+% of a numeral. Thus, the |nonumeralsign| option disables the typesetting of the GREEK NUMERAL SIGN
% at the end of Greek numerals.
% \begin{macrocode}
\DeclareOption{nonumeralsign}{%
@@ -580,12 +406,12 @@
% \end{macrocode}
% Package \textsf{listings} does not work properly with UTF-8 encoded files. So this
% option should be used whenever one wants to use this package and see Greek text come out
-% correctly. In versaion 3.1.0 of this package, I had included the code that modifies
-% package \textsf{listings} in the source code of this package. However, this decision
-% was wrong since when one does not use the \texttt{listings} option, processing of the
-% input file stops with an error message about a text line that contains an invalid character.
-% So the best way to solve this problem is to move the code in a different file and load it
-% when the user has specified \texttt{listings} option. To enable this option, I use a boolean
+% correctly. In version 3.1.0 of this package, I included code that modified the source code of
+% package \textsf{listings}. However, this decision was wrong. In particular, when one did not use
+% the corresponding \texttt{listings} option, processing of the input file stopped with an error message
+% about a text line that contains an invalid character. So the best way to solve this problem was to move
+% the code to a different file and create essentially a new package. This package is automatically loaded
+% when the user pecifies the \texttt{listings} option. To make this possible, I used a boolean
% variable.
% \begin{macrocode}
\newif\if@mylistings
@@ -597,14 +423,14 @@
\ExecuteOptions{monogreek}
\ProcessOptions
% \end{macrocode}
-% If the user has enabled the |listings| option, then it loads the package \textsf{xelistings}
+% If the user has enabled the |listings| option, then the package loads the package \textsf{xelistings}.
% \begin{macrocode}
\if@mylistings
\RequirePackage{xelistings}
\fi
% \end{macrocode}
% Now I am going to define the macros that typeset alphabetic Greek numerals. The code
-% is borrowed from the greek option for the babel package.
+% is borrowed from the Greek option for the babel package.
% \begin{macro}{\gr@ill@value}
% When the argument of |\greeknumeral| has a value outside of the
% acceptable bounds ($0 < x < 999999$) a warning will be issued
@@ -807,10 +633,10 @@
% \end{macrocode}
% After assigning to variable |\@attic@num| the value of the macro's argument,
% we make sure that the argument is in the expected range, i.e., it is greater
-% than zero, and less or equal to $249999$. In case it isn't, it simply
+% than zero, and less or equal to $249999$. In case it is not, it simply
% produces a |\space|, warns the user about it and quits. Although, the
% |\atticnum| macro is capable to produce an Athenian numeral for even greater
-% intergers, the following argument by Claudio Beccari convised me to place
+% intergers, the following argument by Claudio Beccari convinced me to place
% this upper limit:
% \begin{quote}
% According to psychological perception studies (that ancient Athenians
@@ -930,7 +756,7 @@
\def\greek@alph#1{\expandafter\@greeknumeral\expandafter{\the#1}}
\def\greek@Alph#1{\expandafter\@Greeknumeral\expandafter{\the#1}}
% \end{macrocode}
-% By default Greek alphabetic enumerals instaed of Latin numerals are used to enumerate items in an
+% By default, Greek alphabetic numerals instead of Latin numerals are used to enumerate items in an
% enumeration environment.
% \begin{macrocode}
\let\@alph\greek@alph
@@ -973,7 +799,7 @@
% \end{macrocode}
% \end{macro}
% The macros |\grtoday| and |\Grtoday| produces the current date, only that the
-% month and the day are shown as greek numerals instead of arabic
+% month and the day are shown as Greek numerals instead of Arabic
% as it is usually the case. In addition, the two commands differ in that the
% later produces the Greek numerals in uppercase.
% \begin{macrocode}
diff --git a/macros/unicodetex/latex/xgreek/xgreek.ins b/macros/unicodetex/latex/xgreek/xgreek.ins
index b54cbd524e..bc4c3d4c8f 100644
--- a/macros/unicodetex/latex/xgreek/xgreek.ins
+++ b/macros/unicodetex/latex/xgreek/xgreek.ins
@@ -3,7 +3,7 @@
%% This file is part of the `xgreek' package.
%% You are not allowed to modify its contents.
%%
-\def\filedate{2022/09/04}
+\def\filedate{2024/01/01}
\def\batchfile{xgreek.ins}
\input docstrip.tex
@@ -24,7 +24,7 @@
\preamble
- (c) Copyright 2007—2022 Apostolos Syropoulos
+ (c) Copyright 2007—2024 Apostolos Syropoulos
This program can be redistributed and/or modified under the
terms of the LaTeX Project Public License Distributed from
http://www.latex-project.org/lppl.txt; either
diff --git a/macros/unicodetex/latex/xgreek/xgreek.pdf b/macros/unicodetex/latex/xgreek/xgreek.pdf
index e8fb1f254d..4419307ca0 100644
--- a/macros/unicodetex/latex/xgreek/xgreek.pdf
+++ b/macros/unicodetex/latex/xgreek/xgreek.pdf
Binary files differ