summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf')
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf158
1 files changed, 76 insertions, 82 deletions
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
index e541aa9e4a9..3aee5b7f359 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
@@ -1,65 +1,65 @@
\ProvidesFile{gloss-english.ldf}[polyglossia: module for english]
\makeatletter
-%TODO change to \selectnormalfontlatin in all ldfs
-\def\english@font{\selectfontfamilylatin}
+\PolyglossiaSetup{english}{
+ hyphennames={english,american,usenglish,USenglish},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
-\ifx\l@english\@undefined%
- \ifx\l@USenglish\@undefined%
- \ifx\l@american\@undefined%
- \xpg@nopatterns{English}%
- \adddialect\l@english\l@nohyphenation%
- \else%
- \let\l@english\l@american%
- \fi%
- \else%
- \let\l@english\l@USenglish%
- \fi%
-\fi
-\ifx\l@american\@undefined%
- \let\l@american\l@english%
-\fi
-\ifx\l@british\@undefined%
- \ifx\l@UKenglish\@undefined%
- \adddialect\l@british\l@english%
- \else%
- \let\l@british\l@UKenglish%
- \fi%
-\fi
+\newif\if@british@locale
+\@british@localefalse
+\providebool{@british@hyphen}
+\providebool{english@ordinalmonthday}
-\def\tmp@us{us}
-\def\tmp@usmax{usmax}
-\def\tmp@uk{uk}
-\def\tmp@british{british}
-\def\tmp@american{american}
-\def\tmp@australian{australian}
-\def\tmp@newzealand{newzealand}
-\def\en@variant{english}
-\def\english@language{\expandafter\protect\expandafter\language=\csname l@\en@variant\endcsname}
+\define@boolkey{english}[english@]{ordinalmonthday}[true]{}
-\newif\if@ordinalmonthday
-
-\define@key{english}{variant}[american]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@uk\def\en@variant{british}\@ordinalmonthdaytrue%
- \xpg@info{Option: english variant=british}%
- \else\ifx\@tmpa\tmp@british\def\en@variant{british}\@ordinalmonthdaytrue%
- \xpg@info{Option: english variant=british}%
- \else\ifx\@tmpa\tmp@us\def\en@variant{american}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=american}%
- \else\ifx\@tmpa\tmp@usmax\def\en@variant{usenglishmax}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=american (with additional patterns)}%
- \else\ifx\@tmpa\tmp@australian\def\en@variant{british}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=australian}%
- \else\ifx\@tmpa\tmp@newzealand\def\en@variant{british}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=newzealand}%
- \fi\fi\fi\fi\fi\fi}
-
-\def\tmp@true{true}
-\define@key{english}{ordinalmonthday}[false]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@true\@ordinalmonthdaytrue%
- \else\@ordinalmonthdayfalse%
- \fi}
+%% English is a special case in that \l@english is reserved for US English, so
+%% we need to handle it differently
+\define@key{english}{variant}{%
+ %needs to be reset for loop over hyphennames below:
+ \renewcommand*{\do}[1]{%
+ \ifcsdef{l@#1}%
+ {\csletcs{l@english}{l@#1}\listbreak}%
+ {}%
+ }%
+ \ifstrequal{#1}{uk}%
+ {\@british@localetrue
+ \xpg@info{Option: english variant=british}}%
+ {\ifstrequal{#1}{british}%
+ {\@british@localetrue
+ \xpg@info{Option: english variant=british}}%
+ {\ifstrequal{#1}{us}% these patterns are the default so we don't need to reset them
+ {\@british@hyphenfalse\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=american}}%
+ {\ifstrequal{#1}{usmax}%
+ {\@british@hyphenfalse\english@ordinalmonthdayfalse
+ \setkeys[xpg@setup]{english}{hyphennames={usenglishmax}}%
+ \xpg@info{Option: english variant=american (with additional patterns)}}%
+ \ifcsundef{l@usenglishmax}%
+ {\xpg@warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
+ I will use the standard patterns for US English instead}%
+ \adddialect\l@usenglishmax\l@english\relax}{}%
+ \gdef\english@language{\language=\l@usenglishmax}}%
+ {\ifstrequal{#1}{australian}%
+ {\@british@hyphentrue\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=australian}}%
+ {\ifstrequal{#1}{newzealand}%
+ {\@british@hyphentrue\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=newzealand}}%
+ {\xpg@warning{Unknown English variant `#1'}}%
+ }}}}%
+ \if@british@locale\@british@hyphentrue\english@ordinalmonthdaytrue\fi
+ \if@british@hyphen
+ \setkeys[xpg@setup]{english}{hyphennames={ukenglish,british,UKenglish}}%
+ \ifcsundef{l@ukenglish}%
+ {\xpg@warning{No hyphenation patterns were loaded for British English\MessageBreak
+ I will use the patterns for US English instead}%
+ \adddialect\l@ukenglish\l@english\relax}{}%
+ \gdef\english@language{\language=\l@ukenglish}%
+ \fi
+ % and we reset \do to its previous definition here:
+ \renewcommand*{\do}[1]{\setotherlanguage{#1}}%
+}
\def\captionsenglish{%
\def\prefacename{Preface}%
@@ -82,34 +82,28 @@
\def\seename{see}%
\def\alsoname{see also}%
\def\proofname{Proof}%
- }
+}
\def\dateenglish{%
\def\english@day{%
- \if@ordinalmonthday%
- \ifcase\day\or%
- 1st\or 2nd\or 3rd\or 4th\or 5th\or%
- 6th\or 7th\or 8th\or 9th\or 10th\or%
- 11th\or 12th\or 13th\or 14th\or 15th\or%
- 16th\or 17th\or 18th\or 19th\or 20th\or%
- 21st\or 22nd\or 23rd\or 24th\or 25th\or%
- 26th\or 27th\or 28th\or 29th\or 30th\or%
- 31st\fi%
+ \ifenglish@ordinalmonthday
+ \ifcase\day\or
+ 1st\or 2nd\or 3rd\or 4th\or 5th\or
+ 6th\or 7th\or 8th\or 9th\or 10th\or
+ 11th\or 12th\or 13th\or 14th\or 15th\or
+ 16th\or 17th\or 18th\or 19th\or 20th\or
+ 21st\or 22nd\or 23rd\or 24th\or 25th\or
+ 26th\or 27th\or 28th\or 29th\or 30th\or
+ 31st\fi
\else\number\day\fi}%
+ \def\english@month{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi}%
\def\today{%
- \ifx\en@variant\tmp@british%
- \english@day\space%
- \ifcase\month\or%
- January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
- \space\number\year%
- \else%
- \ifcase\month\or%
- January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
- \space\english@day, \number\year%
- \fi}%
- }
-
-%\setlocalhyphenmins{english}{2}{3}% this is the default in babel
+ \if@british@locale
+ \english@day\space\english@month\space\number\year
+ \else
+ \english@month\space\english@day, \number\year
+ \fi}
+}
\endinput