summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/xelatex/xgreek/README.1ST18
-rw-r--r--Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdfbin0 -> 56482 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx366
-rw-r--r--Master/texmf-dist/source/xelatex/xgreek/xgreek.ins53
-rw-r--r--Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty184
-rwxr-xr-xMaster/tlpkg/bin/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-langgreek.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/xgreek.tlpsrc2
8 files changed, 624 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xgreek/README.1ST b/Master/texmf-dist/doc/xelatex/xgreek/README.1ST
new file mode 100644
index 00000000000..9c55ef2a8d8
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xgreek/README.1ST
@@ -0,0 +1,18 @@
+Beta release of package xgreek
+
+Package xgreek has been designed so to allow people to
+typeset 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: monotonic (for typesetting modern monotonic Greek),
+polytonic (for typesetting modern polytonic Greek), and ancient (for
+typesetting ancient texts). The default option is monotonic. The command
+\setlanguage{lang} to activate the hyphenation patterns of the lang.
+This, however, can be done only if the format file has not been built
+with the babel mechanism.
+
+Apostolos Syropoulos
+Xanthi, Greece
+2007/02/15
diff --git a/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf b/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf
new file mode 100644
index 00000000000..7e084daa77e
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xgreek/xgreek.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx
new file mode 100644
index 00000000000..22d071f78cd
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx
@@ -0,0 +1,366 @@
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%\iffalse
+%
+% (c) Copyright 2007 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
+% version 1.3c of the License, or any later version.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% Please report errors or suggestions for improvement to
+%
+% Apostolos Syropoulos (asyropoulos@yahoo.com)
+%
+%\fi
+% \CheckSum{424}
+% \iffalse This is a Metacomment
+%
+%<xgreek, >\ProvidesFile{xgreek.sty}
+%
+%<xgreek, > [2007/11/18 v1.0c Package `xgreek.sty']
+%
+% \begin{macrocode}
+%<*driver>
+\documentclass{ltxdoc}
+\GetFileInfo{xgreek.drv}
+\usepackage{fontspec}
+\language=\american
+\begin{document}
+\setmainfont{GFS Bodoni}
+\setmonofont{UM Typewriter}
+ \DocInput{xgreek.dtx}
+\end{document}
+%</driver>
+% \end{macrocode}
+% \fi
+%\StopEventually{}
+%\title{The \textsf{xgreek} package}
+%\author{Apostolos Syropoulos\\
+% Xanthi, Greece\\
+% \texttt{asyropoulos@yahoo.com}}
+% \date{2007/01/09}
+%\maketitle
+% \begin{abstract}
+% The \textsf{xgreek} package provides rudimentary support for Greek language
+% typesetting with X$\epsilon$\LaTeX. In particular, it provides support for modern Greek (either
+% monotonic or polytonic) and ancient Greek.
+%\end{abstract}
+%
+%\section{Introduction}
+%
+% The \textsf{xgreek} package provides rudimentary support for Greek language
+% typesetting with X$\epsilon$\LaTeX. Users will be able to typeset documents in either
+% modern Greek (monotonic or polytonic) or ancient Greek by selecting the appropriate
+% package option. The default ``language'' is monotonic modern greek.
+%
+%
+% \section{The Source Code}
+% We define the various strings that correspond to the standard \LaTeX\ captions.
+% Since monotonic Greek is the default option, we define these strings accordingly.
+% Options
+% \begin{macrocode}
+%<*xgreek>
+\def\prefacename{Πρόλογος}%
+\def\refname{Αναφορές}%
+\def\abstractname{Περίληψη}%
+\def\bibname{Βιβλιογραφία}%
+\def\chaptername{Κεφάλαιο}%
+\def\appendixname{Παράρτημα}%
+\def\contentsname{Περιεχόμενα}%
+\def\listfigurename{Κατάλογος σχημάτων}%
+\def\listtablename{Κατάλογος πινάκων}%
+\def\indexname{Ευρετήριο}%
+\def\figurename{Σχήμα}%
+\def\tablename{Πίνακας}%
+\def\partname{Μέρος}%
+\def\enclname{Συνημμένα}%
+\def\ccname{Κοινοποίηση}%
+\def\headtoname{Προς}%
+\def\pagename{Σελίδα}%
+\def\seename{βλέπε}%
+\def\alsoname{βλέπε επίσης}%
+\def\proofname{Απόδειξη}%
+\def\glossaryname{Γλωσσάρι}%
+% \end{macrocode}
+% The macro |\dategreek| redefines the command |\today| to produce greek dates. The
+% names of months are defined by the macro |\gr@month|.
+% \begin{macrocode}
+\def\gr@month{%
+ \ifcase\month\or Ιανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Απριλίου\or
+ Μαΐου\or Ιουνίου\or Ιουλίου\or Αυγούστου\or
+ Σεπτεμβρίου\or Οκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi}
+\def\today{\number\day \space \gr@month\space \number\year}
+% \end{macrocode}
+% Macro |\polytonicn@mes| is invoked when either polytonic Greek or ancient Greek is
+% the main language of the document.
+% \begin{macrocode}
+\def\polytonicn@mes{%
+ \def\refname{Ἀναφορὲς}%
+ \def\indexname{Εὑρετήριο}%
+ \def\figurename{Σχῆμα}%
+ \def\headtoname{Πρὸς}%
+ \def\alsoname{βλέπε ἐπίσης}%
+ \def\proofname{Ἀπόδειξη}%
+}
+% \end{macrocode}
+% When either polytonic Greek or ancient Greek is the main language of the document,
+% then the macro |\gr@c@month| becomes active.
+% \begin{macrocode}
+\def\gr@c@month{%
+ \ifcase\month\or Ἰανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Ἀπριλίου\or
+ Μαΐου\or Ἰουνίου\or Ἰουλίου\or Αὐγούστου\or Σεπτεμβρίου\or
+ Ὀκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi}
+% \end{macrocode}
+% Now that we have defined the language dependant macros, we can safely define the various
+% supported options.
+% \begin{macrocode}
+\DeclareOption{monotonic}{%
+ \language\moderngreek
+}
+\DeclareOption{polytonic}{%
+ \language\moderngreek%
+ \polytonicn@mes%
+ \let\gr@month\gr@c@month%
+}
+\DeclareOption{ancient}{%
+ \language\ancientgreek%
+ \polytonicn@mes%
+ \let\gr@month\gr@c@month%
+}
+\ExecuteOptions{monotonic}
+\frenchspacing
+\ProcessOptions
+% \end{macrocode}
+% Before we proceed let us define a few macros, which allow one to access characters
+% that are not usually easily accessible such as the sampi or koppa symbols.
+% \begin{macrocode}
+\def\anwtonos{\char"0374\relax}
+\def\katwtonos{\char"0375\relax}
+\def\koppa{\char"03DF\relax}
+\def\stigma{\char"03DA\relax}
+\def\sampi{\char"03E1\relax}
+\def\Digamma{\char"03DC\relax}
+\def\ddigamma{\char"03DD\relax}
+\def\euro{\char"20AC\relax}
+\def\permill{\char"2030\relax}
+% \end{macrocode}
+% Now we are going to define the macros that typeset Greek numerals. The code 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
+% (and nothing will be printed).
+% \begin{macrocode}
+\def\gr@ill@value#1{%
+ \PackageWarning{xgreek}{Illegal value (#1) for greeknumeral}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\anw@true}
+% \begin{macro}{\anw@false}
+% \begin{macro}{\anw@print}
+% When a a large number with three \emph{trailing} zero's is to be
+% printed those zeros \emph{and} the numeric mark need to be
+% discarded. As each `digit' is processed by a separate macro
+% \emph{and} because the processing needs to be expandable we need
+% some helper macros that help remember to \emph{not} print the
+% numeric mark (|\anwtonos|).
+%
+% The command |\anw@false| switches the printing of the numeric
+% mark off by making |\anw@print| expand to nothing. The command
+% |\anw@true| (re)enables the printing of the numeric marc. These
+% macro's need to be robust in order to prevent improper expansion
+% during writing to files or during |\uppercase|.
+% \begin{macrocode}
+\DeclareRobustCommand\anw@false{%
+ \DeclareRobustCommand\anw@print{}}
+\DeclareRobustCommand\anw@true{%
+ \DeclareRobustCommand\anw@print{\anwtonos}}
+\anw@true
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\greeknumeral}
+% The command |\greeknumeral| needs to be \emph{fully} expandable
+% in order to get the right information in auxiliary
+% files. Therefore we use a big |\if|-construction to check the
+% value of the argument and start the parsing at the right level.
+% \begin{macrocode}
+\def\greeknumeral#1{%
+% \end{macrocode}
+% If the value is negative or zero nothing is printed and a warning
+% is issued.
+% \begin{macrocode}
+ \ifnum#1<\@ne\space\gr@ill@value{#1}%
+ \else
+ \ifnum#1<10\expandafter\gr@num@i\number#1%
+ \else
+ \ifnum#1<100\expandafter\gr@num@ii\number#1%
+ \else
+% \end{macrocode}
+% We use the available shorthands for 1.000 (|\@m|) and 10.000
+% (|\@M|) to save a few tokens.
+% \begin{macrocode}
+ \ifnum#1<\@m\expandafter\gr@num@iii\number#1%
+ \else
+ \ifnum#1<\@M\expandafter\gr@num@iv\number#1%
+ \else
+ \ifnum#1<100000\expandafter\gr@num@v\number#1%
+ \else
+ \ifnum#1<1000000\expandafter\gr@num@vi\number#1%
+ \else
+% \end{macrocode}
+% If the value is too large, nothing is printed and a warning
+% is issued.
+% \begin{macrocode}
+ \space\gr@ill@value{#1}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Greeknumeral}
+% The command |\Greeknumeral| prints uppercase greek numerals.
+% The parsing is performed by the macro |\greeknumeral|.
+% \begin{macrocode}
+\def\Greeknumeral#1{%
+ \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\greek@alph}
+% \begin{macro}{\greek@Alph}
+% Here we redefine the macros |\@alph| and |\@Alph|. First we define some placeholders
+% \begin{macrocode}
+\let\latin@alph\@alph
+\let\latin@Alph\@Alph
+% \end{macrocode}
+% Then we define the Greek versions; the additional |\expandafter|s
+% are needed in order to make sure the table of contents will be
+% correct, e.g., when we have appendixes.
+% \begin{macrocode}
+\def\greek@alph#1{\expandafter\greeknumeral\expandafter{\the#1}}
+\def\greek@Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}}
+% \end{macrocode}
+% By default use Greek enumerals instaed of Latin numerals to enumerate items in an
+% enumeration environment.
+% \begin{macrocode}
+ \let\@alph\greek@alph
+ \let\@Alph\greek@Alph
+% \end{macrocode}
+% If for some reason, we need to have the Latin numerals, then we just have to invoke command
+% |\nogreekalph|. And if we want to switch back, then we have to use the |\greekalph|
+% command:
+% \begin{macrocode}
+\def\nogreekalph{%
+ \let\@alph\latin@alph
+ \let\@Alph\latin@Alph}
+\def\greekalph{%
+ \let\@alph\greek@alph
+ \let\@Alph\greek@Alph}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% What is left now is the definition of a set of macros to produce
+% the various digits.
+% \begin{macro}{\gr@num@i}
+% \begin{macro}{\gr@num@ii}
+% \begin{macro}{\gr@num@iii}
+% As there is no representation for $0$ in this system the zeros
+% are simply discarded. When we have a large number with three
+% \emph{trailing} zero's also the numeric mark is discarded.
+% Therefore these macros need to pass the information to each other
+% about the (non-)translation of a zero.
+% \begin{macrocode}
+\def\gr@num@i#1{%
+ \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
+ \ifnum#1=\z@\else\anw@true\fi\anw@print}
+\def\gr@num@ii#1{%
+ \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
+ \ifnum#1=\z@\else\anw@true\fi\gr@num@i}
+\def\gr@num@iii#1{%
+ \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
+ \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\gr@num@iv}
+% \begin{macro}{\gr@num@v}
+% \begin{macro}{\gr@num@vi}
+% The first three `digits' always have the numeric mark, except
+% when one is discarded because it's value is zero.
+% \begin{macrocode}
+\def\gr@num@iv#1{%
+ \ifnum#1=\z@\else\katwtonos\fi
+ \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
+ \gr@num@iii}
+\def\gr@num@v#1{%
+ \ifnum#1=\z@\else\katwtonos\fi
+ \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
+ \gr@num@iv}
+\def\gr@num@vi#1{%
+ \katwtonos
+ \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
+ \gr@num@v}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\setlanguage}
+% We provide the |\setlanguage| command which
+% activates the hypehnation patterns of some other language. It is similar
+% to babel's |\selectlanguage|, but we opted to use a new name to avoid any name conflicts.
+% \begin{macrocode}
+\def\setlanguage#1{%
+ \expandafter\ifx\csname #1\endcsname\relax%
+ \typeout{^^J Error: No hyphenation pattern for language #1 loaded,}%
+ \typeout{ default hyphenation patterns are used.^^J}%
+ \language=0%
+ \else\language=\csname #1\endcsname\fi}
+% \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
+% as it is usually the case. In addition, the two commands differ in that the
+% later produces the Greek numerals in uppercase.
+% \begin{macrocode}
+\def\grtoday{%
+ \expandafter\greeknumeral\expandafter{\the\day}\space
+ \gr@c@month \space
+ \expandafter\greeknumeral\expandafter{\the\year}}
+\def\Grtoday{%
+ \expandafter\Greeknumeral\expandafter{\the\day}\space
+ \gr@c@month \space
+ \expandafter\Greeknumeral\expandafter{\the\year}}
+%</xgreek>
+% \end{macrocode}
+%
+% \Finale
diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins
new file mode 100644
index 00000000000..48c0da9885f
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins
@@ -0,0 +1,53 @@
+%% Copyright 2006 Apostolos Syropoulos
+%%
+%% This file is part of the `xgreek' package.
+%% You are not allowed to modify its contents.
+%%
+\def\filedate{2006/12/10}
+\def\batchfile{xgreek.ins}
+\input docstrip.tex
+
+{\ifx\generate\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.3c or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\preamble
+
+ (c) Copyright 2007 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
+ version 1.3c of the License, or any later version.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ Please report errors or suggestions for improvement to
+
+ Apostolos Syropoulos (asyropoulos@yahoo.com)
+
+\endpreamble
+
+
+\keepsilent
+
+\generate{\generateFile{xgreek.sty}{f}{\from{xgreek.dtx}{xgreek}}}
+\postamble
+\endpostamble
+\Msg{**********************************************************}
+\Msg{* To finish installation you have to copy}
+\Msg{* the generated .sty file in the appropriate}
+\Msg{* directory and then to rehash your TeX system}
+\Msg{* Happy Greek XeTeXing!}
+\Msg{**********************************************************}
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty b/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty
new file mode 100644
index 00000000000..5ccdbb793f4
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xgreek/xgreek.sty
@@ -0,0 +1,184 @@
+%%
+%% This is file `xgreek.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xgreek.dtx (with options: `xgreek')
+%%
+%% (c) Copyright 2007 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
+%% version 1.3c of the License, or any later version.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% Please report errors or suggestions for improvement to
+%%
+%% Apostolos Syropoulos (asyropoulos@yahoo.com)
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\ProvidesFile{xgreek.sty}
+ [2007/11/18 v1.0c Package `xgreek.sty']
+\def\prefacename{Πρόλογος}%
+\def\refname{Αναφορές}%
+\def\abstractname{Περίληψη}%
+\def\bibname{Βιβλιογραφία}%
+\def\chaptername{Κεφάλαιο}%
+\def\appendixname{Παράρτημα}%
+\def\contentsname{Περιεχόμενα}%
+\def\listfigurename{Κατάλογος σχημάτων}%
+\def\listtablename{Κατάλογος πινάκων}%
+\def\indexname{Ευρετήριο}%
+\def\figurename{Σχήμα}%
+\def\tablename{Πίνακας}%
+\def\partname{Μέρος}%
+\def\enclname{Συνημμένα}%
+\def\ccname{Κοινοποίηση}%
+\def\headtoname{Προς}%
+\def\pagename{Σελίδα}%
+\def\seename{βλέπε}%
+\def\alsoname{βλέπε επίσης}%
+\def\proofname{Απόδειξη}%
+\def\glossaryname{Γλωσσάρι}%
+\def\gr@month{%
+ \ifcase\month\or Ιανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Απριλίου\or
+ Μαΐου\or Ιουνίου\or Ιουλίου\or Αυγούστου\or
+ Σεπτεμβρίου\or Οκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi}
+\def\today{\number\day \space \gr@month\space \number\year}
+\def\polytonicn@mes{%
+ \def\refname{Ἀναφορὲς}%
+ \def\indexname{Εὑρετήριο}%
+ \def\figurename{Σχῆμα}%
+ \def\headtoname{Πρὸς}%
+ \def\alsoname{βλέπε ἐπίσης}%
+ \def\proofname{Ἀπόδειξη}%
+}
+\def\gr@c@month{%
+ \ifcase\month\or Ἰανουαρίου\or Φεβρουαρίου\or Μαρτίου\or Ἀπριλίου\or
+ Μαΐου\or Ἰουνίου\or Ἰουλίου\or Αὐγούστου\or Σεπτεμβρίου\or
+ Ὀκτωβρίου\or Νοεμβρίου\or Δεκεμβρίου\fi}
+\DeclareOption{monotonic}{%
+ \language\moderngreek
+}
+\DeclareOption{polytonic}{%
+ \language\moderngreek%
+ \polytonicn@mes%
+ \let\gr@month\gr@c@month%
+}
+\DeclareOption{ancient}{%
+ \language\ancientgreek%
+ \polytonicn@mes%
+ \let\gr@month\gr@c@month%
+}
+\ExecuteOptions{monotonic}
+\frenchspacing
+\ProcessOptions
+\def\anwtonos{\char"0374\relax}
+\def\katwtonos{\char"0375\relax}
+\def\koppa{\char"03DF\relax}
+\def\stigma{\char"03DA\relax}
+\def\sampi{\char"03E1\relax}
+\def\Digamma{\char"03DC\relax}
+\def\ddigamma{\char"03DD\relax}
+\def\euro{\char"20AC\relax}
+\def\permill{\char"2030\relax}
+\def\gr@ill@value#1{%
+ \PackageWarning{xgreek}{Illegal value (#1) for greeknumeral}}
+\DeclareRobustCommand\anw@false{%
+ \DeclareRobustCommand\anw@print{}}
+\DeclareRobustCommand\anw@true{%
+ \DeclareRobustCommand\anw@print{\anwtonos}}
+\anw@true
+\def\greeknumeral#1{%
+ \ifnum#1<\@ne\space\gr@ill@value{#1}%
+ \else
+ \ifnum#1<10\expandafter\gr@num@i\number#1%
+ \else
+ \ifnum#1<100\expandafter\gr@num@ii\number#1%
+ \else
+ \ifnum#1<\@m\expandafter\gr@num@iii\number#1%
+ \else
+ \ifnum#1<\@M\expandafter\gr@num@iv\number#1%
+ \else
+ \ifnum#1<100000\expandafter\gr@num@v\number#1%
+ \else
+ \ifnum#1<1000000\expandafter\gr@num@vi\number#1%
+ \else
+ \space\gr@ill@value{#1}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\def\Greeknumeral#1{%
+ \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}}
+\let\latin@alph\@alph
+\let\latin@Alph\@Alph
+\def\greek@alph#1{\expandafter\greeknumeral\expandafter{\the#1}}
+\def\greek@Alph#1{\expandafter\Greeknumeral\expandafter{\the#1}}
+ \let\@alph\greek@alph
+ \let\@Alph\greek@Alph
+\def\nogreekalph{%
+ \let\@alph\latin@alph
+ \let\@Alph\latin@Alph}
+\def\greekalph{%
+ \let\@alph\greek@alph
+ \let\@Alph\greek@Alph}
+\def\gr@num@i#1{%
+ \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
+ \ifnum#1=\z@\else\anw@true\fi\anw@print}
+\def\gr@num@ii#1{%
+ \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
+ \ifnum#1=\z@\else\anw@true\fi\gr@num@i}
+\def\gr@num@iii#1{%
+ \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
+ \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii}
+\def\gr@num@iv#1{%
+ \ifnum#1=\z@\else\katwtonos\fi
+ \ifcase#1\or α\or β\or γ\or δ\or ε\or \stigma\or ζ\or η\or θ\fi
+ \gr@num@iii}
+\def\gr@num@v#1{%
+ \ifnum#1=\z@\else\katwtonos\fi
+ \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or \koppa\fi
+ \gr@num@iv}
+\def\gr@num@vi#1{%
+ \katwtonos
+ \ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or \sampi\fi
+ \gr@num@v}
+\def\setlanguage#1{%
+ \expandafter\ifx\csname #1\endcsname\relax%
+ \typeout{^^J Error: No hyphenation pattern for language #1 loaded,}%
+ \typeout{ default hyphenation patterns are used.^^J}%
+ \language=0%
+ \else\language=\csname #1\endcsname\fi}
+\def\grtoday{%
+ \expandafter\greeknumeral\expandafter{\the\day}\space
+ \gr@c@month \space
+ \expandafter\greeknumeral\expandafter{\the\year}}
+\def\Grtoday{%
+ \expandafter\Greeknumeral\expandafter{\the\day}\space
+ \gr@c@month \space
+ \expandafter\Greeknumeral\expandafter{\the\year}}
+\endinput
+%%
+%% End of file `xgreek.sty'.
diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds
index 714bde38ff3..7998986fc25 100755
--- a/Master/tlpkg/bin/ctan2tds
+++ b/Master/tlpkg/bin/ctan2tds
@@ -395,7 +395,6 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'xbase', "&MAKEnosymlinks",
'xfor', "&MAKEflatten",
'xfrac', "&MAKEflatten",
- 'xgreek', "die 'skipping, no preferred source'",
'xkeyval', "&MAKExkeyval",
'xmltex', "&MAKExmltex",
'xymtex', "&MAKExymtex",
diff --git a/Master/tlpkg/tlpsrc/collection-langgreek.tlpsrc b/Master/tlpkg/tlpsrc/collection-langgreek.tlpsrc
index d0a0474d783..df799356f34 100644
--- a/Master/tlpkg/tlpsrc/collection-langgreek.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-langgreek.tlpsrc
@@ -16,6 +16,7 @@ depend kerkis
depend levy
depend lgreek
depend teubner
+depend xgreek
depend yannisgr
depend hyphen-greek
depend hyphen-ibycus
diff --git a/Master/tlpkg/tlpsrc/xgreek.tlpsrc b/Master/tlpkg/tlpsrc/xgreek.tlpsrc
new file mode 100644
index 00000000000..28624fd6796
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/xgreek.tlpsrc
@@ -0,0 +1,2 @@
+name xgreek
+category Package