summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex/xgreek
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-02-13 23:22:29 +0000
committerKarl Berry <karl@freefriends.org>2017-02-13 23:22:29 +0000
commit06a80c60d8760ed6c1a3559d91cbaf54e434f597 (patch)
treee1574005686893787d78730b596b526188547a4f /Master/texmf-dist/source/xelatex/xgreek
parentba74de022219d81d222baaf16a5e55c55ec4016e (diff)
xgreek (13feb17)
git-svn-id: svn://tug.org/texlive/trunk@43222 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex/xgreek')
-rw-r--r--Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx92
-rw-r--r--Master/texmf-dist/source/xelatex/xgreek/xgreek.ins8
2 files changed, 62 insertions, 38 deletions
diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx
index 51bc22b6259..a32eec25a28 100644
--- a/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx
+++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.dtx
@@ -16,7 +16,7 @@
%%
%\iffalse
%
-% (c) Copyright 2007-2016 Apostolos Syropoulos
+% (c) Copyright 2007-2017 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,12 +29,12 @@
% Apostolos Syropoulos (asyropoulos@yahoo.com)
%
%\fi
-% \CheckSum{1881}
+% \CheckSum{1913}
% \iffalse This is a Metacomment
%
%<xgreek, >\ProvidesFile{xgreek.sty}
%
-%<xgreek, > [2016/04/28 v2.7 Package `xgreek.sty']
+%<xgreek, > [2017/02/10 v3.0 Package `xgreek.sty']
%
% \begin{macrocode}
%<*driver>
@@ -42,9 +42,9 @@
\GetFileInfo{xgreek.drv}
\usepackage{xltxtra}
\begin{document}
-\newICUfeature{Contextuals}{Alts}{+calt}
+%\newopentypefeature{Contextuals}{Alts}{+calt}
\setmainfont[Mapping=tex-text,Script=Greek,
- SmallCapsFeatures={Contextuals=Alts}]{Universal Modern}
+ SmallCapsFeatures={Contextuals=Alternate}]{Universal Modern}
\setmonofont{UM Typewriter}
\setsansfont[Mapping=tex-text]{GFS Neohellenic}
\DocInput{xgreek.dtx}
@@ -53,25 +53,26 @@
% \end{macrocode}
% \fi
%\StopEventually{}
-%\title{The \textsf{xgreek} package}
+%\title{Greek Language Support for\\ \XeLaTeX\ and Lua\LaTeX}
%\author{Apostolos Syropoulos\\
% Xanthi, Greece\\
% \texttt{asyropoulos@yahoo.com}}
-% \date{2009/11/23\\ Last Updated 2016/04/28}
+% \date{2009/11/23\\ Last Updated 2017/02/10}
%\maketitle
% \begin{abstract}
% The \textsf{xgreek} package provides rudimentary support for Greek language
-% typesetting with \XeLaTeX. In particular, it provides support for modern Greek (either
-% monotonic or polytonic) and ancient Greek.
+% typesetting with \XeLaTeX and Lua\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 \XeLaTeX. Users will be able to typeset documents in either
-% modern Greek (monotonic or polytonic) or ancient Greek by selecting the appropriate
+% typesetting with \XeLaTeX and Lua\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 Greek.
-%
+%
+% Support for Lua\LaTeX\ was provided by Javier Bezos.
%
% \section{The Source Code}
% According to the Unicode standard
@@ -86,7 +87,7 @@
% I first need to set up the correct |\uccode|s and |\lccode|s.
% \begin{macrocode}
%<*xgreek>
-\message{Package `xgreek' version 2.7 by Apostolos Syropoulos}
+\message{Package `xgreek' version 3.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
@@ -520,19 +521,35 @@
\let\@afterindentfalse\@afterindenttrue
\@afterindenttrue
% \end{macrocode}
-% Now that I have defined the language dependant macros, I will define the various
-% supported options. Note I follow the standard mechanism to load hyphenation patterns.
+% Lua\LaTeX\ and \XeLaTeX\ have different ways to load hyphenation patterns. Package
+% \textsf{luahyphenrules} by Javier Bezos facilitates this process for people who
+% want to use Lua\LaTeX\ and the ``traditional'' way to load hyphenation patterns.
+% To ensure proper inclusion of LuaTeX staff, I use the following ``idiom'':
+% \begin{center}
+% |\ifx\directlua\undefined |\texttt{\textit{non Lua\LaTeX\ code}}|\else |%
+% \texttt{\textit{Lua\LaTeX\ code}}|\fi|
+% \end{center}
+% \begin{macrocode}
+\ifx\directlua\undefined\else\RequirePackage{luahyphenrules}\fi
+% \end{macrocode}
+% The code that follows specifies which hyphenation patterns will be active. The \XeLaTeX\ code
+% is quite standard and depends on the \textsf{babel} pattern loading mechanism, while the
+% Lua\LaTeX\ code uses the |\HyphenRules| macro, which has essentially the functionality
+% of the |\selectlanguage| macro.
% \begin{macrocode}
\DeclareOption{monogreek}{%
- \language\l@monogreek%
+ \ifx\directlua\undefined%
+ \language\l@monogreek\else\HyphenRules{monogreek}\fi%
}
\DeclareOption{polygreek}{%
- \language\l@polygreek%
+ \ifx\directlua\undefined%
+ \language\l@polygreek\else\HyphenRules{polygreek}\fi%
\polytonicn@mes%
\let\gr@month\gr@c@month%
}
\DeclareOption{ancientgreek}{%
- \language\l@ancientgreek%
+ \ifx\directlua\undefined%
+ \language\l@ancientgreek\else\HyphenRules{ancientgreek}\fi%
\@ncientn@mes%
\let\gr@month\gr@c@month%
}
@@ -544,8 +561,8 @@
\def\stigma{\char"03DB\relax}
}
% \end{macrocode}
-% As noted above, the new option |noindentfirst| restores the default \LaTeX\ behavior of adding no indentation to
-% the first paragraph after any header.
+% As noted above, the new option |noindentfirst| restores the default \LaTeX\ behavior of adding no
+% indentation to the first paragraph after any header.
% \begin{macrocode}
\DeclareOption{noindentfirst}{%
\let\@afterindentfalse\@saveafterindentfalse
@@ -750,7 +767,7 @@
% \item Χ denotes the number one thousand (1000)
% \item Μ denotes the number ten thousands (10000)
%\end{itemize}
-% Moreover, the letters Δ, Η, Χ, and Μ under the letter ^^^^^10143 (a form of Π)
+% Moreover, the letters Δ, Η, Χ, and Μ under the letter ^^^^^^010143 (a form of Π)
% denote five times their original value. In particular, the symbol ^^^^^10144, denotes
% the number 50, the symbol ^^^^^10145 denotes the number 500, the symbol ^^^^^10146
% denotes the number 5000, and the symbol ^^^^^10147 denotes the number 50,000. It
@@ -803,7 +820,7 @@
% $50000$.
% \begin{macrocode}
\@whilenum\@attic@num>49999\do{%
- ^^^^^10147\advance\@attic@num-50000}%
+ ^^^^^^010147\advance\@attic@num-50000}%
% \end{macrocode}
% Next the macro checks for tens of thousands.
% \begin{macrocode}
@@ -815,7 +832,7 @@
% it does have one.
% \begin{macrocode}
\ifnum\@attic@num>4999%
- ^^^^^10146\advance\@attic@num-5000%
+ ^^^^^^010146\advance\@attic@num-5000%
\fi\relax
% \end{macrocode}
% The macro should also check for thousands, the same way it checked for tens of thousands.
@@ -827,7 +844,7 @@
% handled the way the macro handled the case of the five thousands ``digit''.
% \begin{macrocode}
\ifnum\@attic@num>499%
- ^^^^^10145\advance\@attic@num-500%
+ ^^^^^^010145\advance\@attic@num-500%
\fi\relax
% \end{macrocode}
% It is time to check hundreds, which follow the same pattern as thousands.
@@ -838,7 +855,7 @@
% A numeral can have only one ^^^^^10144 ``digit'' (equivalent to 50).
% \begin{macrocode}
\ifnum\@attic@num>49%
- ^^^^^10144\advance\@attic@num-50%
+ ^^^^^^010144\advance\@attic@num-50%
\fi\relax
% \end{macrocode}
% The macro now checks now for tens digit.
@@ -913,15 +930,22 @@
% \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.
-% Valid arguments include |monogreek|, |polygreek|, and |ancientgreek|.
-% \begin{macrocode}
-\def\setlanguage#1{%
- \expandafter\ifx\csname l@#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 l@#1\endcsname\fi}
+% to babel's |\selectlanguage|, but we opted to use a new name to avoid possible name conflicts.
+% Valid arguments include |monogreek|, |polygreek|, |ancientgreek|, and |american|. As was noted
+% previously, package \textsf{luahyphenrules} provides the command |\HyphenRules| which has exactly
+% the same functionality as this command. So when using Lua\LaTeX\ users will actually use the
+% |\HyphenRules| command.
+% \begin{macrocode}
+\ifx\directlua\undefined%
+ \def\setlanguage#1{%
+ \expandafter\ifx\csname l@#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 l@#1\endcsname\fi}
+\else
+ \let\setlanguage\HyphenRules
+\fi
% \end{macrocode}
% \end{macro}
% The macros |\grtoday| and |\Grtoday| produces the current date, only that the
diff --git a/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins
index 867dd4b28a4..6470298fa1b 100644
--- a/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins
+++ b/Master/texmf-dist/source/xelatex/xgreek/xgreek.ins
@@ -1,9 +1,9 @@
-%% Copyright 2007—2016 Apostolos Syropoulos
+%% Copyright 2007—2017 Apostolos Syropoulos
%%
%% This file is part of the `xgreek' package.
%% You are not allowed to modify its contents.
%%
-\def\filedate{2016/04/28}
+\def\filedate{2017/02/12}
\def\batchfile{xgreek.ins}
\input docstrip.tex
@@ -24,7 +24,7 @@
\preamble
- (c) Copyright 2007—2016 Apostolos Syropoulos
+ (c) Copyright 2007—2017 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
@@ -48,6 +48,6 @@
\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{* Happy Greek Xe/LuaTeXing!}
\Msg{**********************************************************}
\endinput