summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/polyglossia
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-03-26 03:02:49 +0000
committerNorbert Preining <norbert@preining.info>2020-03-26 03:02:49 +0000
commit2bd4f7f317b392c32ce18c70d03fd5ba9ddd9e6d (patch)
tree1031fd1abadb4f1ac0a0f2e904a911a36278cb50 /macros/latex/contrib/polyglossia
parente32477e40d853a81951c9811f8554455dbff4014 (diff)
CTAN sync 202003260302
Diffstat (limited to 'macros/latex/contrib/polyglossia')
-rw-r--r--macros/latex/contrib/polyglossia/README4
-rw-r--r--macros/latex/contrib/polyglossia/polyglossia.dtx283
-rw-r--r--macros/latex/contrib/polyglossia/polyglossia.ins279
-rw-r--r--macros/latex/contrib/polyglossia/polyglossia.pdfbin267795 -> 268164 bytes
4 files changed, 447 insertions, 119 deletions
diff --git a/macros/latex/contrib/polyglossia/README b/macros/latex/contrib/polyglossia/README
index b2864ae1d1..acac78e598 100644
--- a/macros/latex/contrib/polyglossia/README
+++ b/macros/latex/contrib/polyglossia/README
@@ -1,7 +1,7 @@
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.47 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.48 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -10,7 +10,7 @@
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
(with a few languages incompletely supported for the latter). This version
-includes support for 79 different languages, some of which in different
+includes support for over 70 different languages, some of which in different
regional or national varieties, or using a different writing system.
Polyglossia makes it possible to automate the following tasks:
diff --git a/macros/latex/contrib/polyglossia/polyglossia.dtx b/macros/latex/contrib/polyglossia/polyglossia.dtx
index 3c85e2c6ff..e70cec7999 100644
--- a/macros/latex/contrib/polyglossia/polyglossia.dtx
+++ b/macros/latex/contrib/polyglossia/polyglossia.dtx
@@ -11,7 +11,7 @@
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.47 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.48 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -20,7 +20,7 @@
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
(with a few languages incompletely supported for the latter). This version
-includes support for 79 different languages, some of which in different
+includes support for over 70 different languages, some of which in different
regional or national varieties, or using a different writing system.
Polyglossia makes it possible to automate the following tasks:
@@ -902,18 +902,22 @@ to track the issues and follow progress.
% Russian, Slovak, and Ukrainian. Please refer to the respective language descriptions
% (sec.~\ref{specific}) for details.
%
-% \item \xpgoption{localmarks} redefines the internal \LaTeX\ macros \cmd\markboth\ and
-% \cmd\markright. In earlier versions of \pkg{polyglossia},\new{1.2.0} this
-% option was set by default, but we now realize that it causes more problems
-% than it helps, so it is now off by default. For backwards-compatibility, the
+% \item \xpgboolkeyfalse{localmarks} redefines the internal \LaTeX\ macros \cmd\markboth\ and
+% \cmd\markright\ to the effect that the header text is explicitly set in the currently
+% active language (\ie wrapped into \cmd\foreignlanguage\{\meta{lang}\}\{\meta{\ldots}\}).
+%
+% In earlier versions of \pkg{polyglossia},\new{1.2.0} this
+% option was enabled by default, but we now realize that it causes more problems
+% than it helps (since it breaks if a package or class redefines \cmd\markboth\ or
+% \cmd\markright), so it is now disabled by default. For backwards compatibility, the
% option \xpgoption{nolocalmarks} which used to switch off the previous default, and
-% now does nothing, is still available.
+% now equals the default, is still available.
%
% \item \xpgoption{quiet} turns off most info messages and some of the warnings issued
% by \LaTeX, \pkg{fontspec} and \pkg{polyglossia}.
% \end{itemize}
%
-% \condbreak{5\baselineskip}
+% \pagebreak
% \section{Language-switching commands}\label{languageswitching}
%
% \subsection{Recommended commands}\label{sec:langcmds}
@@ -3412,15 +3416,15 @@ and may look very wrong.}
\newif\if@eastern@armenian
\@eastern@armenianfalse
-\define@choicekey*+{armenian}{variant}[\val\nr]{western,eastern}[western]{%
- \ifcase\nr\relax
+\define@choicekey*+{armenian}{variant}[\xpg@val\xpg@nr]{western,eastern}[western]{%
+ \ifcase\xpg@nr\relax
% western:
\@eastern@armenianfalse%
\or
% eastern:
\@eastern@armeniantrue%
\fi
- \xpg@info{Option: Armenian, variant=\val}%
+ \xpg@info{Option: Armenian, variant=\xpg@val}%
}{\xpg@warning{Unknown Armenian variant `#1'}}
\newif\if@armenian@numerals
@@ -3892,8 +3896,8 @@ and may look very wrong.}
\setlanguagealias*{belarusian}{be}
\def\belarusian@spelling{modern}
-\define@choicekey*+{belarusian}{spelling}[\val\nr]{modern,classic,tarask}[modern]{%
- \ifcase\nr\relax
+\define@choicekey*+{belarusian}{spelling}[\xpg@val\xpg@nr]{modern,classic,tarask}[modern]{%
+ \ifcase\xpg@nr\relax
% modern:
\def\belarusian@spelling{modern}%
\SetLanguageKeys{belarusian}{bcp47=be}%
@@ -3910,8 +3914,8 @@ and may look very wrong.}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{belarusian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\nr\relax
+\define@choicekey*+{belarusian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\xpg@nr\relax
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
@@ -3928,7 +3932,7 @@ and may look very wrong.}
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
\fi
- \xpg@info{Option: Belarusian, numerals=\val}%
+ \xpg@info{Option: Belarusian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Belarusian numerals value `#1'}}
\define@boolkey{belarusian}[belarusian@]{babelshorthands}[true]{}
@@ -4222,8 +4226,8 @@ and may look very wrong.}
\newif\ifbengali@devanagari@numerals
\newif\ifbengali@bengali@numerals
-\define@choicekey*+{bengali}{numerals}[\val\nr]{Devanagari,Bengali,Western}[Devanagari]{%
- \ifcase\nr\relax
+\define@choicekey*+{bengali}{numerals}[\xpg@val\xpg@nr]{Devanagari,Bengali,Western}[Devanagari]{%
+ \ifcase\xpg@nr\relax
% Devanagari:
\bengali@bengali@numeralsfalse%
\bengali@devanagari@numeralstrue%
@@ -4236,7 +4240,7 @@ and may look very wrong.}
\bengali@bengali@numeralsfalse%
\bengali@devanagari@numeralsfalse%
\fi
- \xpg@info{Option: Bengali, numerals=\val}%
+ \xpg@info{Option: Bengali, numerals=\xpg@val}%
}{\xpg@warning{Unknown Bengali numeral `#1'}}
\def\extras@bengali{}
@@ -6205,8 +6209,8 @@ and may look very wrong.}
% Option ordinalmonthday
\define@boolkey{english}[english@]{ordinalmonthday}[true]{}
-\define@choicekey*+{english}{variant}[\val\nr]{uk,british,us,american,usmax,australian,newzealand,canadian}[us]{%
- \ifcase\nr\relax
+\define@choicekey*+{english}{variant}[\xpg@val\xpg@nr]{uk,british,us,american,usmax,australian,newzealand,canadian}[us]{%
+ \ifcase\xpg@nr\relax
% uk:
\british@hyphentrue
\british@dateformattrue
@@ -6815,8 +6819,8 @@ and may look very wrong.}
\setlanguagealias[variant=canadian]{french}{canadien}
\def\french@variant{french}
-\define@choicekey*+{french}{variant}[\val\nr]{french,canadian,acadian,swiss}[french]{%
- \ifcase\nr\relax
+\define@choicekey*+{french}{variant}[\xpg@val\xpg@nr]{french,canadian,acadian,swiss}[french]{%
+ \ifcase\xpg@nr\relax
% french:
\def\french@variant{french}%
\SetLanguageKeys{french}{babelname=french,bcp47=fr-FR}%
@@ -6846,7 +6850,7 @@ and may look very wrong.}
\adddialect\l@swissfrench\l@french\relax%
\french@thincolonspacetrue
\fi
- \xpg@info{Option: French, variant=\val}%
+ \xpg@info{Option: French, variant=\xpg@val}%
}{\xpg@warning{Unknown French variant `#1'}}
@@ -6869,7 +6873,11 @@ and may look very wrong.}
\def\xpg@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
% Save original footnote definition
-\let\xpg@orig@makefntext\@makefntext
+% Do this at the end of the preamble to catch other
+% packages' footnote changes (#391)
+\AtEndPreamble{%
+ \let\xpg@orig@makefntext\@makefntext
+}
\define@boolkey{french}[french@]{frenchfootnote}[true]{%
\AfterPreamble{%
@@ -7343,8 +7351,8 @@ and may look very wrong.}
\setlanguagealias[variant=scottish]{gaelic}{scottish}
\def\gaelic@variant{irish}
-\define@choicekey*+{gaelic}{variant}[\val\nr]{irish,scottish}[irish]{%
- \ifcase\nr\relax
+\define@choicekey*+{gaelic}{variant}[\xpg@val\xpg@nr]{irish,scottish}[irish]{%
+ \ifcase\xpg@nr\relax
% irish:
\gdef\gaelic@variant{irish}%
\SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga}%
@@ -7355,7 +7363,7 @@ and may look very wrong.}
\SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd}%
\xpg@fontsetup@latin{gaelic}%
\fi
- \xpg@info{Option: gaelic, variant=\val}%
+ \xpg@info{Option: gaelic, variant=\xpg@val}%
}{\xpg@warning{Unknown gaelic variant `#1'}}
% Register default options
@@ -7799,8 +7807,8 @@ and may look very wrong.}
\newif\if@german@oldspelling
\@german@oldspellingfalse
-\define@choicekey*+{german}{spelling}[\val\nr]{new,old,1901,1996}[new]{%
- \ifcase\nr\relax
+\define@choicekey*+{german}{spelling}[\xpg@val\xpg@nr]{new,old,1901,1996}[new]{%
+ \ifcase\xpg@nr\relax
% new:
\@german@oldspellingfalse
\or
@@ -7814,15 +7822,15 @@ and may look very wrong.}
\@german@oldspellingfalse
\fi
\german@set@babelname%
- \xpg@info{Option: German, spelling=\val}%
+ \xpg@info{Option: German, spelling=\xpg@val}%
}{\xpg@warning{Unknown German spelling `#1'}}
\newif\if@austrian@locale
\@austrian@localefalse
\newif\if@swiss@locale
\@swiss@localefalse
-\define@choicekey*+{german}{variant}[\val\nr]{german,austrian,swiss}[german]{%
- \ifcase\nr\relax
+\define@choicekey*+{german}{variant}[\xpg@val\xpg@nr]{german,austrian,swiss}[german]{%
+ \ifcase\xpg@nr\relax
% german:
\@swiss@localefalse%
\@austrian@localefalse%
@@ -7842,7 +7850,7 @@ and may look very wrong.}
}%
\fi
\german@set@babelname%
- \xpg@info{Option: German, variant=\val}%
+ \xpg@info{Option: German, variant=\xpg@val}%
}{\xpg@warning{Unknown German variant `#1'}}
\def\german@set@babelname{%
@@ -7892,8 +7900,8 @@ and may look very wrong.}
}
\newif\if@german@blackletter
-\define@choicekey*+{german}{script}[\val\nr]{latin,blackletter,fraktur}[latin]{%
- \ifcase\nr\relax
+\define@choicekey*+{german}{script}[\xpg@val\xpg@nr]{latin,blackletter,fraktur}[latin]{%
+ \ifcase\xpg@nr\relax
% latin:
\@german@blackletterfalse%
\or
@@ -7904,7 +7912,7 @@ and may look very wrong.}
\@german@blacklettertrue%
\fi
\german@set@babelname%
- \xpg@info{Option: German, script=\val}%
+ \xpg@info{Option: German, script=\xpg@val}%
}{\xpg@warning{Unknown German script `#1'}}
% Option defunc'ed, as bot XeTeX and LuaTeX meanwhile
@@ -8681,19 +8689,19 @@ and may look very wrong.}
% RTL. Hebrew uses LTR numbers, though. So we insert an LTR mark to revert
% the directionality
\ifxetex
- \newcommand\xpg@hebrew@DigitsDotDashInterCharToks{\if@nonlatin\char"200E \fi}
+ \newcommand\xpg@hebrew@DigitsDotDashInterCharToks{\ifbool{@nonlatin}{\char"200E }{}}
\fi
\def\hebrew@ltr@numbers{%
\ifxetex
- \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\xpg@hebrew@DigitsDotDashInterCharToks}
+ \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\xpg@hebrew@DigitsDotDashInterCharToks}%
\fi%
}
\def\nohebrew@ltr@numbers{%
\ifxetex
% This is bidi's original intervention
- \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks}
+ \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks}%
\fi%
}
@@ -8951,8 +8959,8 @@ and may look very wrong.}
\newif\if@hungarian@swapcaptions
\newif\if@hungarian@swapheadings
\newif\if@hungarian@swapheaders
-\define@choicekey*+{hungarian}{swapstrings}[\val\nr]{all,captions,headings,headers,hheaders,none}[all]{%
- \ifcase\nr\relax
+\define@choicekey*+{hungarian}{swapstrings}[\xpg@val\xpg@nr]{all,captions,headings,headers,hheaders,none}[all]{%
+ \ifcase\xpg@nr\relax
% all:
\@hungarian@swapcaptionstrue%
\@hungarian@swapheadingstrue%
@@ -8983,7 +8991,7 @@ and may look very wrong.}
\@hungarian@swapheadingsfalse%
\@hungarian@swapheadersfalse%
\fi
- \xpg@info{Option: Hungarian, swapstrings=\val}%
+ \xpg@info{Option: Hungarian, swapstrings=\xpg@val}%
}{\xpg@warning{Unknown Hungarian swapstrings value `#1'}}
% Register default options
@@ -10245,18 +10253,18 @@ and may look very wrong.}
\setlanguagealias*{korean}{ko}
% variant : plain (0), classic (1), or modern (2)
-\define@choicekey{korean}{variant}[\val\nr]{plain,classic,modern}[plain]{%
- \let\xpg@korean@variant\nr
+\define@choicekey{korean}{variant}[\xpg@val\xpg@nr]{plain,classic,modern}[plain]{%
+ \let\xpg@korean@variant\xpg@nr
}
% captions : hangul (0) or hanja (1)
-\define@choicekey{korean}{captions}[\val\nr]{hangul,hanja}[hangul]{%
- \let\xpg@korean@captions\nr
+\define@choicekey{korean}{captions}[\xpg@val\xpg@nr]{hangul,hanja}[hangul]{%
+ \let\xpg@korean@captions\xpg@nr
}
% swapstrings: all (0), headings (1), headers (2), or none (3)
\newif\if@korean@swapheadings
\newif\if@korean@swapheaders
-\define@choicekey*+{korean}{swapstrings}[\val\nr]{all,headings,headers,none}[all]{%
- \ifcase\nr\relax
+\define@choicekey*+{korean}{swapstrings}[\xpg@val\xpg@nr]{all,headings,headers,none}[all]{%
+ \ifcase\xpg@nr\relax
% all:
\@korean@swapheadingstrue%
\@korean@swapheaderstrue%
@@ -10273,7 +10281,7 @@ and may look very wrong.}
\@korean@swapheadingsfalse%
\@korean@swapheadersfalse%
\fi
- \xpg@info{Option: Korean, swapstrings=\val}%
+ \xpg@info{Option: Korean, swapstrings=\xpg@val}%
}{\xpg@warning{Unknown Korean swapstrings value `#1'}}
% Register default options
@@ -10741,8 +10749,8 @@ and may look very wrong.}
\newif\if@kurdish@kurmanji
\def\kurdish@variant{sorani}
-\define@choicekey*+{kurdish}{variant}[\val\nr]{sorani,kurmanji}[sorani]{%
- \ifcase\nr\relax
+\define@choicekey*+{kurdish}{variant}[\xpg@val\xpg@nr]{sorani,kurmanji}[sorani]{%
+ \ifcase\xpg@nr\relax
% sorani:
\def\kurdish@variant{sorani}%
\@kurdish@kurmanjifalse%
@@ -10752,13 +10760,13 @@ and may look very wrong.}
\@kurdish@kurmanjitrue%
\fi
\kurdish@set@variety%
- \xpg@info{Option: kurdish, variant=\val}%
+ \xpg@info{Option: kurdish, variant=\xpg@val}%
}{\xpg@warning{Unknown Kurdish variant `#1'}}
\newif\if@kurdish@latin
\newif\if@kurdish@arabic
-\define@choicekey*+{kurdish}{script}[\val\nr]{Arabic,Latin}{%
- \ifcase\nr\relax
+\define@choicekey*+{kurdish}{script}[\xpg@val\xpg@nr]{Arabic,Latin}{%
+ \ifcase\xpg@nr\relax
% Arabic:
\@kurdish@latinfalse%
\@kurdish@arabictrue%
@@ -10768,7 +10776,7 @@ and may look very wrong.}
\@kurdish@arabicfalse%
\fi
\kurdish@set@variety%
- \xpg@info{Option: kurdish, script=\val}%
+ \xpg@info{Option: kurdish, script=\xpg@val}%
}{\xpg@warning{Unknown Kurdish script `#1'}}
@@ -11331,7 +11339,7 @@ and may look very wrong.}
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.2 2020-01-03]
+\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.3 2020-03-08]
\ExplSyntaxOn
@@ -11433,9 +11441,10 @@ and may look very wrong.}
\str_case:Vn \l_polyglossia_latin_variant_str
{
{classic} {
- \str_if_eq:nnTF{#1}{liturgicallatin}
- { \adddialect \l@classiclatin { \use:c {l@#1} } }
- {}
+ \str_if_eq:nnF {#1} {classiclatin}
+ {
+ \adddialect \l@classiclatin { \use:c {l@#1} }
+ }
}
{medieval} { \adddialect \l@medievallatin { \use:c {l@#1} } }
{modern} { \adddialect \l@latin { \use:c {l@#1} } }
@@ -11641,10 +11650,15 @@ and may look very wrong.}
%%%%% Messages and commands concerning footnotes
-\cs_if_exist:NT \@makefntext
- {
- \cs_set_eq:NN \polyglossia_latin_original_footnote:n \@makefntext
- }
+% Save original footnote definition
+% Do this at the end of the preamble to catch other
+% packages' footnote changes (#391)
+\AtEndPreamble{%
+ \cs_if_exist:NT \@makefntext
+ {
+ \cs_set_eq:NN \polyglossia_latin_original_footnote:n \@makefntext
+ }
+}
% This is the footnote style as defined by the "ecclesiastic" package.
\cs_new:Npn \polyglossia_latin_variant_footnote:n #1
@@ -11947,9 +11961,12 @@ and may look very wrong.}
\shorthandoff {^}
\shorthandoff {=}
-% The active '=' character may cause problems with key=value interfaces.
+% The active = character may cause problems with key=value interfaces.
% We have to make sure here that no problems can occur outside a Latin
% prosodic shorthand environment.
+% The active ' character may cause problems with the unicode-math package
+% (in case Latin is used as a secondary language, see #394). We have to
+% turn it of if Latin is not the main language.
\protected@write \@auxout { } { \shorthandoff {=} } % for the aux file
@@ -11964,9 +11981,13 @@ and may look very wrong.}
}
{
% The following command should not be called if the main language
- % defines a '=' shorthand. However, there are no languages besides
+ % defines a = shorthand. However, there are no languages besides
% Latin defining such a shorthand in polyglossia.
\shorthandoff {=}
+ % The following command should not be called if the main language
+ % defines a ' shorthand. However, there are no languages besides
+ % Latin defining such a shorthand in polyglossia.
+ \shorthandoff {'}
}
}
@@ -11984,12 +12005,18 @@ and may look very wrong.}
\polyglossia_latin_apply_quotemark:N
}
}
+ % The ' shorthand is normally turned off to avoid problems with the unicode-math
+ % package. We have to turn it on here.
+ \shorthandon {'}
\bbl@activate {'}
\declare@shorthand {latin} {'}
{
\mode_if_math:TF
{
\active@math@prime % defined in "latex.ltx"
+ % This definition is differing from the primes of the unicode-math package.
+ % TO DO: Make sure that the appearance of primes is the same as with the
+ % unicode-math package if this package is loaded.
}
{
\polyglossia_latin_put_acute:N
@@ -12260,7 +12287,9 @@ and may look very wrong.}
\def \noextras@latin
{
- \polyglossia_latin_no_shorthands:
+ \iflatin@babelshorthands
+ \polyglossia_latin_no_shorthands:
+ \fi
\xpgla@savedvalues
\polyglossia_latin_no_punctuation_spacing:
\polyglossia_latin_modern_character_codes:
@@ -12728,8 +12757,8 @@ and may look very wrong.}
\providebool{malay@melayu}
\malay@melayufalse
\def\malay@variant{malay}
-\define@choicekey*+{malay}{variant}[\val\nr]{indonesian,malaysian}[malaysian]{%
- \ifcase\nr\relax
+\define@choicekey*+{malay}{variant}[\xpg@val\xpg@nr]{indonesian,malaysian}[malaysian]{%
+ \ifcase\xpg@nr\relax
% indonesian:
\def\malay@variant{indonesian}%
\malay@melayufalse
@@ -12775,7 +12804,7 @@ and may look very wrong.}
}%
}%
\fi
- \xpg@info{Option: malay, variant=\val}%
+ \xpg@info{Option: malay, variant=\xpg@val}%
}{\xpg@warning{Unknown malay variant `#1'}}
% Register default options
@@ -12998,15 +13027,15 @@ and may look very wrong.}
\newif\ifmarathi@devanagari@numerals
\marathi@devanagari@numeralstrue
-\define@choicekey*+{marathi}{numerals}[\val\nr]{Western,Devanagari}[Devanagari]{%
- \ifcase\nr\relax
+\define@choicekey*+{marathi}{numerals}[\xpg@val\xpg@nr]{Western,Devanagari}[Devanagari]{%
+ \ifcase\xpg@nr\relax
% Western:
\marathi@devanagari@numeralsfalse%
\or
% Devanagari:
\marathi@devanagari@numeralstrue%
\fi
- \xpg@info{Option: Marathi, numerals=\val}%
+ \xpg@info{Option: Marathi, numerals=\xpg@val}%
}{\xpg@warning{Unknown Marathi numerals value `#1'}}
% Register default options
@@ -13202,8 +13231,8 @@ and may look very wrong.}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{mongolian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\nr\relax
+\define@choicekey*+{mongolian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\xpg@nr\relax
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
@@ -13220,7 +13249,7 @@ and may look very wrong.}
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
\fi
- \xpg@info{Option: Mongolian, numerals=\val}%
+ \xpg@info{Option: Mongolian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Mongolian numerals value `#1'}}
\define@boolkey{mongolian}[mongolian@]{babelshorthands}[true]{}
@@ -13612,8 +13641,8 @@ and may look very wrong.}
\setlanguagealias[variant=nynorsk]{norwegian}{nynorsk}
\def\norwegian@variant{nynorsk}
-\define@choicekey*+{norwegian}{variant}[\val\nr]{nynorsk,bokmal}[nynorsk]{%
- \ifcase\nr\relax
+\define@choicekey*+{norwegian}{variant}[\xpg@val\xpg@nr]{nynorsk,bokmal}[nynorsk]{%
+ \ifcase\xpg@nr\relax
% nynorsk:
\def\norwegian@variant{nynorsk}%
\SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn}%
@@ -13624,7 +13653,7 @@ and may look very wrong.}
\SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb}%
\xpg@fontsetup@latin{norwegian}%
\fi
- \xpg@info{Option: norwegian, variant=\val}%
+ \xpg@info{Option: norwegian, variant=\xpg@val}%
}{\xpg@warning{Unknown norwegian variant `#1'}}
@@ -14310,8 +14339,8 @@ and may look very wrong.}
\setlanguagealias[variant=brazilian]{portuguese}{brazil}
\def\portuguese@variant{portuges}
-\define@choicekey*+{portuguese}{variant}[\val\nr]{portuguese,brazilian}[portuguese]{%
- \ifcase\nr\relax
+\define@choicekey*+{portuguese}{variant}[\xpg@val\xpg@nr]{portuguese,brazilian}[portuguese]{%
+ \ifcase\xpg@nr\relax
% portuguese:
\def\portuguese@variant{portuges}%
\SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT}%
@@ -14324,7 +14353,7 @@ and may look very wrong.}
I will use the standard patterns for Portuguese instead}%
\adddialect\l@brazil\l@portuges\relax}%
\fi
- \xpg@info{Option: portuguese, variant=\val}%
+ \xpg@info{Option: portuguese, variant=\xpg@val}%
}{\xpg@warning{Unknown portuguese variant `#1'}}
@@ -14565,8 +14594,8 @@ and may look very wrong.}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{russian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\nr\relax
+\define@choicekey*+{russian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\xpg@nr\relax
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
@@ -14583,7 +14612,7 @@ and may look very wrong.}
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
\fi
- \xpg@info{Option: Russian, numerals=\val}%
+ \xpg@info{Option: Russian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Russian numerals value `#1'}}
\define@boolkey{russian}[russian@]{indentfirst}[true]{
@@ -14930,8 +14959,8 @@ and may look very wrong.}
% TODO: Add other Sami varieties
\def\sami@variant{northern}
-%\define@choicekey*+{sami}{variant}[\val\nr]{northern}[nothern]{%
-% \ifcase\nr\relax
+%\define@choicekey*+{sami}{variant}[\xpg@val\xpg@nr]{northern}[nothern]{%
+% \ifcase\xpg@nr\relax
% % northern:
% \def\sami@variant{samin}%
% \SetLanguageKeys{sami}{language=Northern Sami,langtag=NSM}%
@@ -14942,7 +14971,7 @@ and may look very wrong.}
% \SetLanguageKeys{sami}{language= Sami,langtag=}%
% \xpg@fontsetup@latin{sami}%
% \fi
-% \xpg@info{Option: sami, variant=\val}%
+% \xpg@info{Option: sami, variant=\xpg@val}%
%}{\xpg@warning{Unknown sami variant `#1'}}
@@ -15089,15 +15118,15 @@ and may look very wrong.}
\newif\ifsanskrit@devanagari@numerals
\sanskrit@devanagari@numeralstrue
-\define@choicekey*+{sanskrit}{numerals}[\val\nr]{Devanagari,Western}[Devanagari]{%
- \ifcase\nr\relax
+\define@choicekey*+{sanskrit}{numerals}[\xpg@val\xpg@nr]{Devanagari,Western}[Devanagari]{%
+ \ifcase\xpg@nr\relax
% Devanagari:
\sanskrit@devanagari@numeralstrue%
\or
% Western:
\sanskrit@devanagari@numeralsfalse%
\fi
- \xpg@info{Option: Sanskrit, numerals=\val}%
+ \xpg@info{Option: Sanskrit, numerals=\xpg@val}%
}{\xpg@warning{Unknown Sanskrit numeral `#1'}}
@@ -15227,8 +15256,8 @@ and may look very wrong.}
\setlanguagealias[script=Cyrillic]{serbian}{serbianc}
\newif\if@serbian@cyr
-\define@choicekey*+{serbian}{Script}[\val\nr]{cyrillic,latin}[cyrillic]{%
- \ifcase\nr\relax
+\define@choicekey*+{serbian}{Script}[\xpg@val\xpg@nr]{cyrillic,latin}[cyrillic]{%
+ \ifcase\xpg@nr\relax
% cyrillic:
\@serbian@cyrtrue
\SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl}
@@ -15241,15 +15270,15 @@ and may look very wrong.}
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
\fi
- \xpg@info{Option: Serbian, script=\val}%
+ \xpg@info{Option: Serbian, script=\xpg@val}%
}{\xpg@warning{Unknown Serbian script `#1'}}
\define@key{serbian}{script}[Cyrillic]{\setkeys{serbian}{Script=#1}}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{serbian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\nr\relax
+\define@choicekey*+{serbian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\xpg@nr\relax
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
@@ -15266,7 +15295,7 @@ and may look very wrong.}
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
\fi
- \xpg@info{Option: Serbian, numerals=\val}%
+ \xpg@info{Option: Serbian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Serbian numerals value `#1'}}
\setkeys{serbian}{Script,numerals}
@@ -15387,7 +15416,7 @@ and may look very wrong.}
\def\serbian@numbers{%
\let\latin@alph\@alph
\let\latin@Alph\@Alph
- \ifserbian@numerals
+ \ifcyrillic@numerals
\def\serbian@alph##1{\expandafter\serbiannumeral\expandafter{\the##1}}%
\def\serbian@Alph##1{\expandafter\Serbiannumeral\expandafter{\the##1}}%
\let\@alph\serbian@alph%
@@ -15401,11 +15430,11 @@ and may look very wrong.}
}
\def\blockextras@serbian{%
- \ifserbian@numerals\serbian@numbers\fi
+ \ifcyrillic@numerals\serbian@numbers\fi
}
\def\noextras@serbian{%
- \ifserbian@numerals\noserbian@numbers\fi
+ \ifcyrillic@numerals\noserbian@numbers\fi
}
\def\Asbuk#1{\expandafter\serbian@asbuk@Alph\csname c@#1\endcsname}
@@ -15831,8 +15860,8 @@ and may look very wrong.}
\setlanguagealias[variant=upper]{sorbian}{uppersorbian}
\def\sorbian@variant{usorbian}
-\define@choicekey*+{sorbian}{variant}[\val\nr]{upper,lower}[upper]{%
- \ifcase\nr\relax
+\define@choicekey*+{sorbian}{variant}[\xpg@val\xpg@nr]{upper,lower}[upper]{%
+ \ifcase\xpg@nr\relax
% upper:
\def\sorbian@variant{usorbian}%
\SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb}%
@@ -15873,7 +15902,7 @@ and may look very wrong.}
}
}%
\fi
- \xpg@info{Option: sorbian, variant=\val}%
+ \xpg@info{Option: sorbian, variant=\xpg@val}%
}{\xpg@warning{Unknown sorbian variant `#1'}}
@@ -16018,8 +16047,8 @@ and may look very wrong.}
\newif\if@spanish@mexico
\@spanish@mexicofalse
-\define@choicekey*+{spanish}{variant}[\val\nr]{spanish,mexican}[spanish]{%
- \ifcase\nr\relax
+\define@choicekey*+{spanish}{variant}[\xpg@val\xpg@nr]{spanish,mexican}[spanish]{%
+ \ifcase\xpg@nr\relax
% spanish:
\@spanish@mexicofalse%
\SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES}%
@@ -16028,7 +16057,7 @@ and may look very wrong.}
\@spanish@mexicotrue%
\SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX}%
\fi
- \xpg@info{Option: spanish, variant=\val}%
+ \xpg@info{Option: spanish, variant=\xpg@val}%
}{\xpg@warning{Unknown spanish variant `#1'}}
% Localized math operators à la babel
@@ -16036,8 +16065,8 @@ and may look very wrong.}
\newif\ifspanish@spacedoperators
\newif\ifspanish@locoperators
-\define@choicekey*+{spanish}{spanishoperators}[\val\nr]{all,accented,spaced,none}[all]{%
- \ifcase\nr\relax
+\define@choicekey*+{spanish}{spanishoperators}[\xpg@val\xpg@nr]{all,accented,spaced,none}[all]{%
+ \ifcase\xpg@nr\relax
% all:
\spanish@locoperatorstrue%
\spanish@accentedoperatorstrue%
@@ -16058,7 +16087,7 @@ and may look very wrong.}
\spanish@accentedoperatorsfalse%
\spanish@spacedoperatorsfalse%
\fi
- \xpg@info{Option: Spanish, spanishoperators=\val}%
+ \xpg@info{Option: Spanish, spanishoperators=\xpg@val}%
}{\xpg@warning{Unknown spanishoperators value `#1'}}
@@ -17183,8 +17212,8 @@ and may look very wrong.}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{ukrainian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\nr\relax
+\define@choicekey*+{ukrainian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\xpg@nr\relax
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
@@ -17201,7 +17230,7 @@ and may look very wrong.}
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
\fi
- \xpg@info{Option: Ukrainian, numerals=\val}%
+ \xpg@info{Option: Ukrainian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Ukrainian numerals value `#1'}}
@@ -17700,15 +17729,15 @@ and may look very wrong.}
\providebool{welsh@formaldate}
-\define@choicekey*+{welsh}{date}[\val\nr]{long,short}[short]{%
- \ifcase\nr\relax
+\define@choicekey*+{welsh}{date}[\xpg@val\xpg@nr]{long,short}[short]{%
+ \ifcase\xpg@nr\relax
% long:
\welsh@formaldatetrue
\or
% accented:
\welsh@formaldatefalse
\fi
- \xpg@info{Option: Welsh, date=\val}%
+ \xpg@info{Option: Welsh, date=\xpg@val}%
}{\xpg@warning{Unknown date value `#1'}}
% Register default options
@@ -19337,7 +19366,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.47 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.48 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -19346,7 +19375,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
(with a few languages incompletely supported for the latter). This version
-includes support for 79 different languages, some of which in different
+includes support for over 70 different languages, some of which in different
regional or national varieties, or using a different writing system.
Polyglossia makes it possible to automate the following tasks:
@@ -19385,6 +19414,26 @@ This is more efficient than contacting the maintainer by email as it allows me
to track the issues and follow progress.
%</../README>
%<*Changelog>
+1.48 (25-03-2020)
+
+No new features
+
+Bug fixes:
+ * Fix use of Hebrew with LuaLaTeX (#389).
+ * Do not overwrite footnote redefinitions of other packages
+ with Latin and French (#391)
+ * Fix Serbian cyrillic numerals code (#392).
+ * Fix [no]localmarks option, whose logic was swapped (part of #395).
+ * Protect localmarks function against uppercased language names (part of #395).
+ * Fix buggy redefinition of \@markright with option localmarks (#396).
+ * Fix incompatibility between Latin and unicode-math (#394).
+ * Make (undocumented) \defineshorthand command (imported from babel) work.
+ * Fix usage of localmarks option without value.
+ * Emergency fixes for bugs caused by updates in Babel’s switch.def (#399 and #400).
+
+Interface and defaults changes:
+ * Use private macros in keyval choice keys (#390).
+
1.47 (29-01-2020)
New features:
diff --git a/macros/latex/contrib/polyglossia/polyglossia.ins b/macros/latex/contrib/polyglossia/polyglossia.ins
new file mode 100644
index 0000000000..9a7041dec4
--- /dev/null
+++ b/macros/latex/contrib/polyglossia/polyglossia.ins
@@ -0,0 +1,279 @@
+\input docstrip.tex
+\keepsilent
+\let\MetaPrefix\relax
+\preamble
+ ____________________________
+
+ The polyglossia package
+ (C) 2008–2010 François Charette
+ (C) 2011-2020 Arthur Reutenauer
+ (C) 2013 Elie Roux
+ License information appended
+
+\endpreamble
+\postamble
+
+ Copyright (C) 2020 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either version 1.3
+ of this license of (at your option) any later version.
+ The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of LaTeX
+ version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Arthur Reutenauer.
+
+\endpostamble
+\let\MetaPrefix\DoubleperCent
+\askforoverwritefalse
+\generate{\file{gloss-acadien.ldf}{\from{polyglossia.dtx}{gloss-acadien.ldf}}}
+\generate{\file{gloss-aeb.ldf}{\from{polyglossia.dtx}{gloss-aeb.ldf}}}
+\generate{\file{gloss-af.ldf}{\from{polyglossia.dtx}{gloss-af.ldf}}}
+\generate{\file{gloss-afb.ldf}{\from{polyglossia.dtx}{gloss-afb.ldf}}}
+\generate{\file{gloss-afrikaans.ldf}{\from{polyglossia.dtx}{gloss-afrikaans.ldf}}}
+\generate{\file{gloss-albanian.ldf}{\from{polyglossia.dtx}{gloss-albanian.ldf}}}
+\generate{\file{gloss-am.ldf}{\from{polyglossia.dtx}{gloss-am.ldf}}}
+\generate{\file{gloss-american.ldf}{\from{polyglossia.dtx}{gloss-american.ldf}}}
+\generate{\file{gloss-amharic.ldf}{\from{polyglossia.dtx}{gloss-amharic.ldf}}}
+\generate{\file{gloss-apd.ldf}{\from{polyglossia.dtx}{gloss-apd.ldf}}}
+\generate{\file{gloss-ar-IQ.ldf}{\from{polyglossia.dtx}{gloss-ar-IQ.ldf}}}
+\generate{\file{gloss-ar-JO.ldf}{\from{polyglossia.dtx}{gloss-ar-JO.ldf}}}
+\generate{\file{gloss-ar-LB.ldf}{\from{polyglossia.dtx}{gloss-ar-LB.ldf}}}
+\generate{\file{gloss-ar-MR.ldf}{\from{polyglossia.dtx}{gloss-ar-MR.ldf}}}
+\generate{\file{gloss-ar-PS.ldf}{\from{polyglossia.dtx}{gloss-ar-PS.ldf}}}
+\generate{\file{gloss-ar-SY.ldf}{\from{polyglossia.dtx}{gloss-ar-SY.ldf}}}
+\generate{\file{gloss-ar-YE.ldf}{\from{polyglossia.dtx}{gloss-ar-YE.ldf}}}
+\generate{\file{gloss-ar.ldf}{\from{polyglossia.dtx}{gloss-ar.ldf}}}
+\generate{\file{gloss-arabic.ldf}{\from{polyglossia.dtx}{gloss-arabic.ldf}}}
+\generate{\file{gloss-armenian.ldf}{\from{polyglossia.dtx}{gloss-armenian.ldf}}}
+\generate{\file{gloss-arq.ldf}{\from{polyglossia.dtx}{gloss-arq.ldf}}}
+\generate{\file{gloss-ary.ldf}{\from{polyglossia.dtx}{gloss-ary.ldf}}}
+\generate{\file{gloss-arz.ldf}{\from{polyglossia.dtx}{gloss-arz.ldf}}}
+\generate{\file{gloss-ast.ldf}{\from{polyglossia.dtx}{gloss-ast.ldf}}}
+\generate{\file{gloss-asturian.ldf}{\from{polyglossia.dtx}{gloss-asturian.ldf}}}
+\generate{\file{gloss-australian.ldf}{\from{polyglossia.dtx}{gloss-australian.ldf}}}
+\generate{\file{gloss-austrian.ldf}{\from{polyglossia.dtx}{gloss-austrian.ldf}}}
+\generate{\file{gloss-ayl.ldf}{\from{polyglossia.dtx}{gloss-ayl.ldf}}}
+\generate{\file{gloss-bahasa.ldf}{\from{polyglossia.dtx}{gloss-bahasa.ldf}}}
+\generate{\file{gloss-bahasai.ldf}{\from{polyglossia.dtx}{gloss-bahasai.ldf}}}
+\generate{\file{gloss-bahasam.ldf}{\from{polyglossia.dtx}{gloss-bahasam.ldf}}}
+\generate{\file{gloss-basque.ldf}{\from{polyglossia.dtx}{gloss-basque.ldf}}}
+\generate{\file{gloss-be-tarask.ldf}{\from{polyglossia.dtx}{gloss-be-tarask.ldf}}}
+\generate{\file{gloss-be.ldf}{\from{polyglossia.dtx}{gloss-be.ldf}}}
+\generate{\file{gloss-belarusian.ldf}{\from{polyglossia.dtx}{gloss-belarusian.ldf}}}
+\generate{\file{gloss-bengali.ldf}{\from{polyglossia.dtx}{gloss-bengali.ldf}}}
+\generate{\file{gloss-bg.ldf}{\from{polyglossia.dtx}{gloss-bg.ldf}}}
+\generate{\file{gloss-bn.ldf}{\from{polyglossia.dtx}{gloss-bn.ldf}}}
+\generate{\file{gloss-bo.ldf}{\from{polyglossia.dtx}{gloss-bo.ldf}}}
+\generate{\file{gloss-bosnian.ldf}{\from{polyglossia.dtx}{gloss-bosnian.ldf}}}
+\generate{\file{gloss-br.ldf}{\from{polyglossia.dtx}{gloss-br.ldf}}}
+\generate{\file{gloss-brazil.ldf}{\from{polyglossia.dtx}{gloss-brazil.ldf}}}
+\generate{\file{gloss-breton.ldf}{\from{polyglossia.dtx}{gloss-breton.ldf}}}
+\generate{\file{gloss-british.ldf}{\from{polyglossia.dtx}{gloss-british.ldf}}}
+\generate{\file{gloss-bs.ldf}{\from{polyglossia.dtx}{gloss-bs.ldf}}}
+\generate{\file{gloss-bulgarian.ldf}{\from{polyglossia.dtx}{gloss-bulgarian.ldf}}}
+\generate{\file{gloss-ca.ldf}{\from{polyglossia.dtx}{gloss-ca.ldf}}}
+\generate{\file{gloss-canadian.ldf}{\from{polyglossia.dtx}{gloss-canadian.ldf}}}
+\generate{\file{gloss-canadien.ldf}{\from{polyglossia.dtx}{gloss-canadien.ldf}}}
+\generate{\file{gloss-catalan.ldf}{\from{polyglossia.dtx}{gloss-catalan.ldf}}}
+\generate{\file{gloss-ckb-Arab.ldf}{\from{polyglossia.dtx}{gloss-ckb-Arab.ldf}}}
+\generate{\file{gloss-ckb-Latn.ldf}{\from{polyglossia.dtx}{gloss-ckb-Latn.ldf}}}
+\generate{\file{gloss-ckb.ldf}{\from{polyglossia.dtx}{gloss-ckb.ldf}}}
+\generate{\file{gloss-cop.ldf}{\from{polyglossia.dtx}{gloss-cop.ldf}}}
+\generate{\file{gloss-coptic.ldf}{\from{polyglossia.dtx}{gloss-coptic.ldf}}}
+\generate{\file{gloss-croatian.ldf}{\from{polyglossia.dtx}{gloss-croatian.ldf}}}
+\generate{\file{gloss-cy.ldf}{\from{polyglossia.dtx}{gloss-cy.ldf}}}
+\generate{\file{gloss-cz.ldf}{\from{polyglossia.dtx}{gloss-cz.ldf}}}
+\generate{\file{gloss-czech.ldf}{\from{polyglossia.dtx}{gloss-czech.ldf}}}
+\generate{\file{gloss-da.ldf}{\from{polyglossia.dtx}{gloss-da.ldf}}}
+\generate{\file{gloss-danish.ldf}{\from{polyglossia.dtx}{gloss-danish.ldf}}}
+\generate{\file{gloss-de-AT-1901.ldf}{\from{polyglossia.dtx}{gloss-de-AT-1901.ldf}}}
+\generate{\file{gloss-de-AT-1996.ldf}{\from{polyglossia.dtx}{gloss-de-AT-1996.ldf}}}
+\generate{\file{gloss-de-AT.ldf}{\from{polyglossia.dtx}{gloss-de-AT.ldf}}}
+\generate{\file{gloss-de-CH-1901.ldf}{\from{polyglossia.dtx}{gloss-de-CH-1901.ldf}}}
+\generate{\file{gloss-de-CH-1996.ldf}{\from{polyglossia.dtx}{gloss-de-CH-1996.ldf}}}
+\generate{\file{gloss-de-CH.ldf}{\from{polyglossia.dtx}{gloss-de-CH.ldf}}}
+\generate{\file{gloss-de-DE-1901.ldf}{\from{polyglossia.dtx}{gloss-de-DE-1901.ldf}}}
+\generate{\file{gloss-de-DE-1996.ldf}{\from{polyglossia.dtx}{gloss-de-DE-1996.ldf}}}
+\generate{\file{gloss-de-DE.ldf}{\from{polyglossia.dtx}{gloss-de-DE.ldf}}}
+\generate{\file{gloss-de-Latf-AT-1901.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-AT-1901.ldf}}}
+\generate{\file{gloss-de-Latf-AT-1996.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-AT-1996.ldf}}}
+\generate{\file{gloss-de-Latf-AT.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-AT.ldf}}}
+\generate{\file{gloss-de-Latf-CH-1901.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-CH-1901.ldf}}}
+\generate{\file{gloss-de-Latf-CH-1996.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-CH-1996.ldf}}}
+\generate{\file{gloss-de-Latf-CH.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-CH.ldf}}}
+\generate{\file{gloss-de-Latf-DE-1901.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-DE-1901.ldf}}}
+\generate{\file{gloss-de-Latf-DE-1996.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-DE-1996.ldf}}}
+\generate{\file{gloss-de-Latf-DE.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-DE.ldf}}}
+\generate{\file{gloss-de-Latf.ldf}{\from{polyglossia.dtx}{gloss-de-Latf.ldf}}}
+\generate{\file{gloss-de.ldf}{\from{polyglossia.dtx}{gloss-de.ldf}}}
+\generate{\file{gloss-divehi.ldf}{\from{polyglossia.dtx}{gloss-divehi.ldf}}}
+\generate{\file{gloss-dsb.ldf}{\from{polyglossia.dtx}{gloss-dsb.ldf}}}
+\generate{\file{gloss-dutch.ldf}{\from{polyglossia.dtx}{gloss-dutch.ldf}}}
+\generate{\file{gloss-dv.ldf}{\from{polyglossia.dtx}{gloss-dv.ldf}}}
+\generate{\file{gloss-el-monoton.ldf}{\from{polyglossia.dtx}{gloss-el-monoton.ldf}}}
+\generate{\file{gloss-el-polyton.ldf}{\from{polyglossia.dtx}{gloss-el-polyton.ldf}}}
+\generate{\file{gloss-el.ldf}{\from{polyglossia.dtx}{gloss-el.ldf}}}
+\generate{\file{gloss-en-AU.ldf}{\from{polyglossia.dtx}{gloss-en-AU.ldf}}}
+\generate{\file{gloss-en-CA.ldf}{\from{polyglossia.dtx}{gloss-en-CA.ldf}}}
+\generate{\file{gloss-en-GB.ldf}{\from{polyglossia.dtx}{gloss-en-GB.ldf}}}
+\generate{\file{gloss-en-NZ.ldf}{\from{polyglossia.dtx}{gloss-en-NZ.ldf}}}
+\generate{\file{gloss-en-US.ldf}{\from{polyglossia.dtx}{gloss-en-US.ldf}}}
+\generate{\file{gloss-en.ldf}{\from{polyglossia.dtx}{gloss-en.ldf}}}
+\generate{\file{gloss-english.ldf}{\from{polyglossia.dtx}{gloss-english.ldf}}}
+\generate{\file{gloss-eo.ldf}{\from{polyglossia.dtx}{gloss-eo.ldf}}}
+\generate{\file{gloss-es-ES.ldf}{\from{polyglossia.dtx}{gloss-es-ES.ldf}}}
+\generate{\file{gloss-es-MX.ldf}{\from{polyglossia.dtx}{gloss-es-MX.ldf}}}
+\generate{\file{gloss-es.ldf}{\from{polyglossia.dtx}{gloss-es.ldf}}}
+\generate{\file{gloss-esperanto.ldf}{\from{polyglossia.dtx}{gloss-esperanto.ldf}}}
+\generate{\file{gloss-estonian.ldf}{\from{polyglossia.dtx}{gloss-estonian.ldf}}}
+\generate{\file{gloss-et.ldf}{\from{polyglossia.dtx}{gloss-et.ldf}}}
+\generate{\file{gloss-eu.ldf}{\from{polyglossia.dtx}{gloss-eu.ldf}}}
+\generate{\file{gloss-fa.ldf}{\from{polyglossia.dtx}{gloss-fa.ldf}}}
+\generate{\file{gloss-farsi.ldf}{\from{polyglossia.dtx}{gloss-farsi.ldf}}}
+\generate{\file{gloss-fi.ldf}{\from{polyglossia.dtx}{gloss-fi.ldf}}}
+\generate{\file{gloss-finnish.ldf}{\from{polyglossia.dtx}{gloss-finnish.ldf}}}
+\generate{\file{gloss-fr-CA.ldf}{\from{polyglossia.dtx}{gloss-fr-CA.ldf}}}
+\generate{\file{gloss-fr-CH.ldf}{\from{polyglossia.dtx}{gloss-fr-CH.ldf}}}
+\generate{\file{gloss-fr-FR.ldf}{\from{polyglossia.dtx}{gloss-fr-FR.ldf}}}
+\generate{\file{gloss-fr.ldf}{\from{polyglossia.dtx}{gloss-fr.ldf}}}
+\generate{\file{gloss-french.ldf}{\from{polyglossia.dtx}{gloss-french.ldf}}}
+\generate{\file{gloss-friulan.ldf}{\from{polyglossia.dtx}{gloss-friulan.ldf}}}
+\generate{\file{gloss-friulian.ldf}{\from{polyglossia.dtx}{gloss-friulian.ldf}}}
+\generate{\file{gloss-fur.ldf}{\from{polyglossia.dtx}{gloss-fur.ldf}}}
+\generate{\file{gloss-ga.ldf}{\from{polyglossia.dtx}{gloss-ga.ldf}}}
+\generate{\file{gloss-gaelic.ldf}{\from{polyglossia.dtx}{gloss-gaelic.ldf}}}
+\generate{\file{gloss-galician.ldf}{\from{polyglossia.dtx}{gloss-galician.ldf}}}
+\generate{\file{gloss-gd.ldf}{\from{polyglossia.dtx}{gloss-gd.ldf}}}
+\generate{\file{gloss-georgian.ldf}{\from{polyglossia.dtx}{gloss-georgian.ldf}}}
+\generate{\file{gloss-german.ldf}{\from{polyglossia.dtx}{gloss-german.ldf}}}
+\generate{\file{gloss-germanb.ldf}{\from{polyglossia.dtx}{gloss-germanb.ldf}}}
+\generate{\file{gloss-gl.ldf}{\from{polyglossia.dtx}{gloss-gl.ldf}}}
+\generate{\file{gloss-grc.ldf}{\from{polyglossia.dtx}{gloss-grc.ldf}}}
+\generate{\file{gloss-greek.ldf}{\from{polyglossia.dtx}{gloss-greek.ldf}}}
+\generate{\file{gloss-he.ldf}{\from{polyglossia.dtx}{gloss-he.ldf}}}
+\generate{\file{gloss-hebrew.ldf}{\from{polyglossia.dtx}{gloss-hebrew.ldf}}}
+\generate{\file{gloss-hi.ldf}{\from{polyglossia.dtx}{gloss-hi.ldf}}}
+\generate{\file{gloss-hindi.ldf}{\from{polyglossia.dtx}{gloss-hindi.ldf}}}
+\generate{\file{gloss-hr.ldf}{\from{polyglossia.dtx}{gloss-hr.ldf}}}
+\generate{\file{gloss-hsb.ldf}{\from{polyglossia.dtx}{gloss-hsb.ldf}}}
+\generate{\file{gloss-hu.ldf}{\from{polyglossia.dtx}{gloss-hu.ldf}}}
+\generate{\file{gloss-hungarian.ldf}{\from{polyglossia.dtx}{gloss-hungarian.ldf}}}
+\generate{\file{gloss-hy.ldf}{\from{polyglossia.dtx}{gloss-hy.ldf}}}
+\generate{\file{gloss-ia.ldf}{\from{polyglossia.dtx}{gloss-ia.ldf}}}
+\generate{\file{gloss-icelandic.ldf}{\from{polyglossia.dtx}{gloss-icelandic.ldf}}}
+\generate{\file{gloss-id.ldf}{\from{polyglossia.dtx}{gloss-id.ldf}}}
+\generate{\file{gloss-interlingua.ldf}{\from{polyglossia.dtx}{gloss-interlingua.ldf}}}
+\generate{\file{gloss-irish.ldf}{\from{polyglossia.dtx}{gloss-irish.ldf}}}
+\generate{\file{gloss-is.ldf}{\from{polyglossia.dtx}{gloss-is.ldf}}}
+\generate{\file{gloss-it.ldf}{\from{polyglossia.dtx}{gloss-it.ldf}}}
+\generate{\file{gloss-italian.ldf}{\from{polyglossia.dtx}{gloss-italian.ldf}}}
+\generate{\file{gloss-ja.ldf}{\from{polyglossia.dtx}{gloss-ja.ldf}}}
+\generate{\file{gloss-japanese.ldf}{\from{polyglossia.dtx}{gloss-japanese.ldf}}}
+\generate{\file{gloss-ka.ldf}{\from{polyglossia.dtx}{gloss-ka.ldf}}}
+\generate{\file{gloss-kannada.ldf}{\from{polyglossia.dtx}{gloss-kannada.ldf}}}
+\generate{\file{gloss-khmer.ldf}{\from{polyglossia.dtx}{gloss-khmer.ldf}}}
+\generate{\file{gloss-km.ldf}{\from{polyglossia.dtx}{gloss-km.ldf}}}
+\generate{\file{gloss-kmr-Arab.ldf}{\from{polyglossia.dtx}{gloss-kmr-Arab.ldf}}}
+\generate{\file{gloss-kmr-Latn.ldf}{\from{polyglossia.dtx}{gloss-kmr-Latn.ldf}}}
+\generate{\file{gloss-kmr.ldf}{\from{polyglossia.dtx}{gloss-kmr.ldf}}}
+\generate{\file{gloss-kn.ldf}{\from{polyglossia.dtx}{gloss-kn.ldf}}}
+\generate{\file{gloss-ko.ldf}{\from{polyglossia.dtx}{gloss-ko.ldf}}}
+\generate{\file{gloss-korean.ldf}{\from{polyglossia.dtx}{gloss-korean.ldf}}}
+\generate{\file{gloss-ku-Arab.ldf}{\from{polyglossia.dtx}{gloss-ku-Arab.ldf}}}
+\generate{\file{gloss-ku-Latn.ldf}{\from{polyglossia.dtx}{gloss-ku-Latn.ldf}}}
+\generate{\file{gloss-ku.ldf}{\from{polyglossia.dtx}{gloss-ku.ldf}}}
+\generate{\file{gloss-kurdish.ldf}{\from{polyglossia.dtx}{gloss-kurdish.ldf}}}
+\generate{\file{gloss-kurmanji.ldf}{\from{polyglossia.dtx}{gloss-kurmanji.ldf}}}
+\generate{\file{gloss-la-x-classic.ldf}{\from{polyglossia.dtx}{gloss-la-x-classic.ldf}}}
+\generate{\file{gloss-la-x-ecclesia.ldf}{\from{polyglossia.dtx}{gloss-la-x-ecclesia.ldf}}}
+\generate{\file{gloss-la-x-medieval.ldf}{\from{polyglossia.dtx}{gloss-la-x-medieval.ldf}}}
+\generate{\file{gloss-la.ldf}{\from{polyglossia.dtx}{gloss-la.ldf}}}
+\generate{\file{gloss-lao.ldf}{\from{polyglossia.dtx}{gloss-lao.ldf}}}
+\generate{\file{gloss-latex.ldf}{\from{polyglossia.dtx}{gloss-latex.ldf}}}
+\generate{\file{gloss-latin.ldf}{\from{polyglossia.dtx}{gloss-latin.ldf}}}
+\generate{\file{gloss-latinclassic.ldf}{\from{polyglossia.dtx}{gloss-latinclassic.ldf}}}
+\generate{\file{gloss-latinecclesiastic.ldf}{\from{polyglossia.dtx}{gloss-latinecclesiastic.ldf}}}
+\generate{\file{gloss-latinmedieval.ldf}{\from{polyglossia.dtx}{gloss-latinmedieval.ldf}}}
+\generate{\file{gloss-latvian.ldf}{\from{polyglossia.dtx}{gloss-latvian.ldf}}}
+\generate{\file{gloss-lithuanian.ldf}{\from{polyglossia.dtx}{gloss-lithuanian.ldf}}}
+\generate{\file{gloss-lo.ldf}{\from{polyglossia.dtx}{gloss-lo.ldf}}}
+\generate{\file{gloss-lowersorbian.ldf}{\from{polyglossia.dtx}{gloss-lowersorbian.ldf}}}
+\generate{\file{gloss-lsorbian.ldf}{\from{polyglossia.dtx}{gloss-lsorbian.ldf}}}
+\generate{\file{gloss-lt.ldf}{\from{polyglossia.dtx}{gloss-lt.ldf}}}
+\generate{\file{gloss-lv.ldf}{\from{polyglossia.dtx}{gloss-lv.ldf}}}
+\generate{\file{gloss-macedonian.ldf}{\from{polyglossia.dtx}{gloss-macedonian.ldf}}}
+\generate{\file{gloss-magyar.ldf}{\from{polyglossia.dtx}{gloss-magyar.ldf}}}
+\generate{\file{gloss-malay.ldf}{\from{polyglossia.dtx}{gloss-malay.ldf}}}
+\generate{\file{gloss-malayalam.ldf}{\from{polyglossia.dtx}{gloss-malayalam.ldf}}}
+\generate{\file{gloss-marathi.ldf}{\from{polyglossia.dtx}{gloss-marathi.ldf}}}
+\generate{\file{gloss-mk.ldf}{\from{polyglossia.dtx}{gloss-mk.ldf}}}
+\generate{\file{gloss-ml.ldf}{\from{polyglossia.dtx}{gloss-ml.ldf}}}
+\generate{\file{gloss-mn.ldf}{\from{polyglossia.dtx}{gloss-mn.ldf}}}
+\generate{\file{gloss-mongolian.ldf}{\from{polyglossia.dtx}{gloss-mongolian.ldf}}}
+\generate{\file{gloss-mr.ldf}{\from{polyglossia.dtx}{gloss-mr.ldf}}}
+\generate{\file{gloss-naustrian.ldf}{\from{polyglossia.dtx}{gloss-naustrian.ldf}}}
+\generate{\file{gloss-nb.ldf}{\from{polyglossia.dtx}{gloss-nb.ldf}}}
+\generate{\file{gloss-newzealand.ldf}{\from{polyglossia.dtx}{gloss-newzealand.ldf}}}
+\generate{\file{gloss-ngerman.ldf}{\from{polyglossia.dtx}{gloss-ngerman.ldf}}}
+\generate{\file{gloss-nko.ldf}{\from{polyglossia.dtx}{gloss-nko.ldf}}}
+\generate{\file{gloss-norsk.ldf}{\from{polyglossia.dtx}{gloss-norsk.ldf}}}
+\generate{\file{gloss-norwegian.ldf}{\from{polyglossia.dtx}{gloss-norwegian.ldf}}}
+\generate{\file{gloss-nswissgerman.ldf}{\from{polyglossia.dtx}{gloss-nswissgerman.ldf}}}
+\generate{\file{gloss-nynorsk.ldf}{\from{polyglossia.dtx}{gloss-nynorsk.ldf}}}
+\generate{\file{gloss-occitan.ldf}{\from{polyglossia.dtx}{gloss-occitan.ldf}}}
+\generate{\file{gloss-persian.ldf}{\from{polyglossia.dtx}{gloss-persian.ldf}}}
+\generate{\file{gloss-piedmontese.ldf}{\from{polyglossia.dtx}{gloss-piedmontese.ldf}}}
+\generate{\file{gloss-polish.ldf}{\from{polyglossia.dtx}{gloss-polish.ldf}}}
+\generate{\file{gloss-polutonikogreek.ldf}{\from{polyglossia.dtx}{gloss-polutonikogreek.ldf}}}
+\generate{\file{gloss-portuges.ldf}{\from{polyglossia.dtx}{gloss-portuges.ldf}}}
+\generate{\file{gloss-portuguese.ldf}{\from{polyglossia.dtx}{gloss-portuguese.ldf}}}
+\generate{\file{gloss-romanian.ldf}{\from{polyglossia.dtx}{gloss-romanian.ldf}}}
+\generate{\file{gloss-romansh.ldf}{\from{polyglossia.dtx}{gloss-romansh.ldf}}}
+\generate{\file{gloss-russian.ldf}{\from{polyglossia.dtx}{gloss-russian.ldf}}}
+\generate{\file{gloss-sami.ldf}{\from{polyglossia.dtx}{gloss-sami.ldf}}}
+\generate{\file{gloss-samin.ldf}{\from{polyglossia.dtx}{gloss-samin.ldf}}}
+\generate{\file{gloss-sanskrit.ldf}{\from{polyglossia.dtx}{gloss-sanskrit.ldf}}}
+\generate{\file{gloss-scottish.ldf}{\from{polyglossia.dtx}{gloss-scottish.ldf}}}
+\generate{\file{gloss-serbian.ldf}{\from{polyglossia.dtx}{gloss-serbian.ldf}}}
+\generate{\file{gloss-serbianc.ldf}{\from{polyglossia.dtx}{gloss-serbianc.ldf}}}
+\generate{\file{gloss-slovak.ldf}{\from{polyglossia.dtx}{gloss-slovak.ldf}}}
+\generate{\file{gloss-slovene.ldf}{\from{polyglossia.dtx}{gloss-slovene.ldf}}}
+\generate{\file{gloss-slovenian.ldf}{\from{polyglossia.dtx}{gloss-slovenian.ldf}}}
+\generate{\file{gloss-sorbian.ldf}{\from{polyglossia.dtx}{gloss-sorbian.ldf}}}
+\generate{\file{gloss-spanish.ldf}{\from{polyglossia.dtx}{gloss-spanish.ldf}}}
+\generate{\file{gloss-spanishmx.ldf}{\from{polyglossia.dtx}{gloss-spanishmx.ldf}}}
+\generate{\file{gloss-swedish.ldf}{\from{polyglossia.dtx}{gloss-swedish.ldf}}}
+\generate{\file{gloss-swissgerman.ldf}{\from{polyglossia.dtx}{gloss-swissgerman.ldf}}}
+\generate{\file{gloss-syriac.ldf}{\from{polyglossia.dtx}{gloss-syriac.ldf}}}
+\generate{\file{gloss-tamil.ldf}{\from{polyglossia.dtx}{gloss-tamil.ldf}}}
+\generate{\file{gloss-telugu.ldf}{\from{polyglossia.dtx}{gloss-telugu.ldf}}}
+\generate{\file{gloss-thai.ldf}{\from{polyglossia.dtx}{gloss-thai.ldf}}}
+\generate{\file{gloss-tibetan.ldf}{\from{polyglossia.dtx}{gloss-tibetan.ldf}}}
+\generate{\file{gloss-turkish.ldf}{\from{polyglossia.dtx}{gloss-turkish.ldf}}}
+\generate{\file{gloss-turkmen.ldf}{\from{polyglossia.dtx}{gloss-turkmen.ldf}}}
+\generate{\file{gloss-ukrainian.ldf}{\from{polyglossia.dtx}{gloss-ukrainian.ldf}}}
+\generate{\file{gloss-uppersorbian.ldf}{\from{polyglossia.dtx}{gloss-uppersorbian.ldf}}}
+\generate{\file{gloss-urdu.ldf}{\from{polyglossia.dtx}{gloss-urdu.ldf}}}
+\generate{\file{gloss-usorbian.ldf}{\from{polyglossia.dtx}{gloss-usorbian.ldf}}}
+\generate{\file{gloss-vietnamese.ldf}{\from{polyglossia.dtx}{gloss-vietnamese.ldf}}}
+\generate{\file{gloss-welsh.ldf}{\from{polyglossia.dtx}{gloss-welsh.ldf}}}
+\generate{\file{arabicdigits.map}{\from{polyglossia.dtx}{arabicdigits.map}}}
+\generate{\file{bengalidigits.map}{\from{polyglossia.dtx}{bengalidigits.map}}}
+\generate{\file{devanagaridigits.map}{\from{polyglossia.dtx}{devanagaridigits.map}}}
+\generate{\file{farsidigits.map}{\from{polyglossia.dtx}{farsidigits.map}}}
+\generate{\file{thaidigits.map}{\from{polyglossia.dtx}{thaidigits.map}}}
+\def\MetaPrefix{-- }
+\generate{\file{polyglossia-french.lua}{\from{polyglossia.dtx}{polyglossia-french.lua}}}
+\generate{\file{polyglossia-korean.lua}{\from{polyglossia.dtx}{polyglossia-korean.lua}}}
+\generate{\file{polyglossia-latin.lua}{\from{polyglossia.dtx}{polyglossia-latin.lua}}}
+\generate{\file{polyglossia-punct.lua}{\from{polyglossia.dtx}{polyglossia-punct.lua}}}
+\generate{\file{polyglossia-sanskrit.lua}{\from{polyglossia.dtx}{polyglossia-sanskrit.lua}}}
+\generate{\file{polyglossia-tibt.lua}{\from{polyglossia.dtx}{polyglossia-tibt.lua}}}
+\generate{\file{polyglossia.lua}{\from{polyglossia.dtx}{polyglossia.lua}}}
+\let\MetaPrefix\DoubleperCent
+\endbatchfile
diff --git a/macros/latex/contrib/polyglossia/polyglossia.pdf b/macros/latex/contrib/polyglossia/polyglossia.pdf
index 94b595acc6..6ac006692b 100644
--- a/macros/latex/contrib/polyglossia/polyglossia.pdf
+++ b/macros/latex/contrib/polyglossia/polyglossia.pdf
Binary files differ