summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-13 22:15:54 +0000
committerKarl Berry <karl@freefriends.org>2013-05-13 22:15:54 +0000
commit1ff28b17fa5479687257ee4525e3a06c8aa0a2c7 (patch)
tree22d0f15f3680a26ce6a158e96b25bf1908471b9e /Master/texmf-dist/tex
parente26fdd32ad8dc28823e2f351c31afa0dad690da9 (diff)
polyglossia (13may13)
git-svn-id: svn://tug.org/texlive/trunk@30442 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty (renamed from Master/texmf-dist/tex/xelatex/polyglossia/arabicnumbers.sty)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def (renamed from Master/texmf-dist/tex/xelatex/polyglossia/babel-hebrewalph.def)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/babelsh.def462
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/cal-util.def (renamed from Master/texmf-dist/tex/xelatex/polyglossia/cal-util.def)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/devanagaridigits.sty (renamed from Master/texmf-dist/tex/xelatex/polyglossia/devanagaridigits.sty)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/farsical.sty (renamed from Master/texmf-dist/tex/xelatex/polyglossia/farsical.sty)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-armenian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-bengali.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf)33
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf140
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-friulan.ldf)3
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-greek-new.ldf410
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf)1
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-kannada.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-lao.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-malayalam.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-marathi.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-occitan.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf115
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf)2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-romansh.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf)2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf)2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf)2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-tamil.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-telugu.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf138
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkmen.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf (renamed from Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty (renamed from Master/texmf-dist/tex/xelatex/polyglossia/hebrewcal.sty)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/hijrical.sty (renamed from Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty)0
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-frpt.lua210
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua77
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty (renamed from Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty)54
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/xgreek-fixes.def (renamed from Master/texmf-dist/tex/xelatex/polyglossia/xgreek-fixes.def)0
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/babelsh.def308
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf118
88 files changed, 1628 insertions, 449 deletions
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/arabicnumbers.sty b/Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty
index c45aa22a654..c45aa22a654 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/arabicnumbers.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/arabicnumbers.sty
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/babel-hebrewalph.def b/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def
index 3158d7c7a35..3158d7c7a35 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/babel-hebrewalph.def
+++ b/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def
diff --git a/Master/texmf-dist/tex/latex/polyglossia/babelsh.def b/Master/texmf-dist/tex/latex/polyglossia/babelsh.def
new file mode 100644
index 00000000000..a03d7950aaa
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/babelsh.def
@@ -0,0 +1,462 @@
+\ifx\initiate@active@char\@undefined
+\else
+ \bbl@afterfi\endinput
+\fi
+\ProvidesFile{babelsh.def}
+ [2013/04/30 %
+ Babel common definitions for shorthands^^J
+ Taken verbatim from babel.def (2013/04/15 v3.9e)]
+%
+% ------------------------------------------------------------------------------
+%
+% XXX: from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+ \def\bbl@ifshorthand#1{%
+ \@expandtwoargs\in@{\string#1}{\bbl@opt@shorthands}%
+ \ifin@
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\let\bbl@opt@shorthands\@nnil
+%
+% ------------------------------------------------------------------------------
+%
+% XXX: from switch.def
+%
+% ------------------------------------------------------------------------------
+%
+\ifx\PackageError\@undefined
+ \def\bbl@error#1#2{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J(babel) }%
+ \errhelp{#2}\errmessage{\\#1}%
+ \endgroup}
+ \def\bbl@warning#1{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J(polyglossia) }%
+ \message{\\#1}%
+ \endgroup}
+ \def\bbl@info#1{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J}%
+ \wlog{#1}%
+ \endgroup}
+\else
+ \def\bbl@error#1#2{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageError{polyglossia}{#1}{#2}%
+ \endgroup}
+ \def\bbl@warning#1{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageWarning{polyglossia}{#1}%
+ \endgroup}
+ \def\bbl@info#1{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageInfo{polyglossia}{#1}%
+ \endgroup}
+%
+% ------------------------------------------------------------------------------
+%
+% XXX: from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@for#1#2#3{\@for#1:=#2\do{\ifx#1\@empty\else#3\fi}}
+\def\bbl@add#1#2{%
+ \@ifundefined{\expandafter\@gobble\string#1}%
+ {\def#1{#2}}%
+ {\expandafter\def\expandafter#1\expandafter{#1#2}}}
+\long\def\bbl@afterelse#1\else#2\fi{\fi#1}
+\long\def\bbl@afterfi#1\fi{\fi#1}
+\def\bbl@csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
+\def\bbl@withactive#1#2{%
+ \begingroup
+ \lccode`~=`#2\relax
+ \lowercase{\endgroup#1~}}
+%
+% ------------------------------------------------------------------------------
+%
+% XXX: a bit further in babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@add@special#1{%
+ \begingroup
+ \def\do{\noexpand\do\noexpand}%
+ \def\@makeother{\noexpand\@makeother\noexpand}%
+ \edef\x{\endgroup
+ \def\noexpand\dospecials{\dospecials\do#1}%
+ \expandafter\ifx\csname @sanitize\endcsname\relax \else
+ \def\noexpand\@sanitize{\@sanitize\@makeother#1}%
+ \fi}%
+ \x}
+\def\bbl@remove@special#1{%
+ \begingroup
+ \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty
+ \else\noexpand##1\noexpand##2\fi}%
+ \def\do{\x\do}%
+ \def\@makeother{\x\@makeother}%
+ \edef\x{\endgroup
+ \def\noexpand\dospecials{\dospecials}%
+ \expandafter\ifx\csname @sanitize\endcsname\relax \else
+ \def\noexpand\@sanitize{\@sanitize}%
+ \fi}%
+ \x}
+\def\bbl@active@def#1#2#3#4{%
+ \@namedef{#3#1}{%
+ \expandafter\ifx\csname#2@sh@#1@\endcsname\relax
+ \bbl@afterelse\bbl@sh@select#2#1{#3@arg#1}{#4#1}%
+ \else
+ \bbl@afterfi\csname#2@sh@#1@\endcsname
+ \fi}%
+ \long\@namedef{#3@arg#1}##1{%
+ \expandafter\ifx\csname#2@sh@#1@\string##1@\endcsname\relax
+ \bbl@afterelse\csname#4#1\endcsname##1%
+ \else
+ \bbl@afterfi\csname#2@sh@#1@\string##1@\endcsname
+ \fi}}%
+\def\initiate@active@char#1{%
+ \expandafter\ifx\csname active@char\string#1\endcsname\relax
+ \bbl@withactive
+ {\expandafter\@initiate@active@char\expandafter}#1\string#1#1%
+ \fi}
+\def\@initiate@active@char#1#2#3{%
+ \expandafter\edef\csname bbl@oricat@#2\endcsname{%
+ \catcode`#2=\the\catcode`#2\relax}%
+ \ifx#1\@undefined
+ \expandafter\edef\csname bbl@oridef@#2\endcsname{%
+ \let\noexpand#1\noexpand\@undefined}%
+ \else
+ \expandafter\let\csname bbl@oridef@@#2\endcsname#1%
+ \expandafter\edef\csname bbl@oridef@#2\endcsname{%
+ \let\noexpand#1%
+ \expandafter\noexpand\csname bbl@oridef@@#2\endcsname}%
+ \fi
+ \ifx#1#3\relax
+ \expandafter\let\csname normal@char#2\endcsname#3%
+ \else
+ \bbl@info{Making #2 an active character}%
+ \ifnum\mathcode`#2="8000
+ \@namedef{normal@char#2}{%
+ \textormath{#3}{\csname bbl@oridef@@#2\endcsname}}%
+ \else
+ \@namedef{normal@char#2}{#3}%
+ \fi
+ \bbl@restoreactive{#2}%
+ \AtBeginDocument{%
+ \catcode`#2\active
+ \if@filesw
+ \immediate\write\@mainaux{\catcode`\string#2\active}%
+ \fi}%
+ \expandafter\bbl@add@special\csname#2\endcsname
+ \catcode`#2\active
+ \fi
+ \let\bbl@tempa\@firstoftwo
+ \if\string^#2%
+ \def\bbl@tempa{\noexpand\textormath}%
+ \else
+ \ifx\bbl@mathnormal\@undefined\else
+ \let\bbl@tempa\bbl@mathnormal
+ \fi
+ \fi
+ \expandafter\edef\csname active@char#2\endcsname{%
+ \bbl@tempa
+ {\noexpand\if@safe@actives
+ \noexpand\expandafter
+ \expandafter\noexpand\csname normal@char#2\endcsname
+ \noexpand\else
+ \noexpand\expandafter
+ \expandafter\noexpand\csname user@active#2\endcsname
+ \noexpand\fi}%
+ {\expandafter\noexpand\csname normal@char#2\endcsname}}%
+ \bbl@csarg\edef{active@#2}{%
+ \noexpand\active@prefix\noexpand#1%
+ \expandafter\noexpand\csname active@char#2\endcsname}%
+ \bbl@csarg\edef{normal@#2}{%
+ \noexpand\active@prefix\noexpand#1%
+ \expandafter\noexpand\csname normal@char#2\endcsname}%
+ \expandafter\let\expandafter#1\csname bbl@normal@#2\endcsname
+ \bbl@active@def#2\user@group{user@active}{language@active}%
+ \bbl@active@def#2\language@group{language@active}{system@active}%
+ \bbl@active@def#2\system@group{system@active}{normal@char}%
+ \expandafter\edef\csname\user@group @sh@#2@@\endcsname
+ {\expandafter\noexpand\csname normal@char#2\endcsname}%
+ \expandafter\edef\csname\user@group @sh@#2@\string\protect@\endcsname
+ {\expandafter\noexpand\csname user@active#2\endcsname}%
+ \if\string'#2%
+ \let\prim@s\bbl@prim@s
+ \let\active@math@prime#1%
+ \fi}
+\@ifpackagewith{babel}{KeepShorthandsActive}%
+ {\let\bbl@restoreactive\@gobble}%
+ {\def\bbl@restoreactive#1{%
+ \edef\bbl@tempa{%
+%
+% ------------------------------------------------------------------------------
+%
+% XXX: WARNING: this has been commented in babelsh.def
+%
+% ------------------------------------------------------------------------------
+%
+% \noexpand\AfterBabelLanguage\noexpand\CurrentOption
+% {\catcode`#1=\the\catcode`#1\relax}%
+ \noexpand\AtEndOfPackage{\catcode`#1=\the\catcode`#1\relax}}%
+ \bbl@tempa}%
+ \AtEndOfPackage{\let\bbl@restoreactive\@gobble}}
+\def\bbl@sh@select#1#2{%
+ \expandafter\ifx\csname#1@sh@#2@sel\endcsname\relax
+ \bbl@afterelse\bbl@scndcs
+ \else
+ \bbl@afterfi\csname#1@sh@#2@sel\endcsname
+ \fi}
+\def\active@prefix#1{%
+ \ifx\protect\@typeset@protect
+ \else
+ \ifx\protect\@unexpandable@protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\@gobble
+ \fi}
+\newif\if@safe@actives
+\@safe@activesfalse
+\def\bbl@restore@actives{\if@safe@actives\@safe@activesfalse\fi}
+\def\bbl@activate#1{%
+ \bbl@withactive{\expandafter\let\expandafter}#1%
+ \csname bbl@active@\string#1\endcsname}
+\def\bbl@deactivate#1{%
+ \bbl@withactive{\expandafter\let\expandafter}#1%
+ \csname bbl@normal@\string#1\endcsname}
+\def\bbl@firstcs#1#2{\csname#1\endcsname}
+\def\bbl@scndcs#1#2{\csname#2\endcsname}
+\def\declare@shorthand#1#2{\@decl@short{#1}#2\@nil}
+\def\@decl@short#1#2#3\@nil#4{%
+ \def\bbl@tempa{#3}%
+ \ifx\bbl@tempa\@empty
+ \expandafter\let\csname #1@sh@\string#2@sel\endcsname\bbl@scndcs
+ \@ifundefined{#1@sh@\string#2@}{}%
+ {\def\bbl@tempa{#4}%
+ \expandafter\ifx\csname#1@sh@\string#2@\endcsname\bbl@tempa
+ \else
+ \bbl@info
+ {Redefining #1 shorthand \string#2\\%
+ in language \CurrentOption}%
+ \fi}%
+ \@namedef{#1@sh@\string#2@}{#4}%
+ \else
+ \expandafter\let\csname #1@sh@\string#2@sel\endcsname\bbl@firstcs
+ \@ifundefined{#1@sh@\string#2@\string#3@}{}%
+ {\def\bbl@tempa{#4}%
+ \expandafter\ifx\csname#1@sh@\string#2@\string#3@\endcsname\bbl@tempa
+ \else
+ \bbl@info
+ {Redefining #1 shorthand \string#2\string#3\\%
+ in language \CurrentOption}%
+ \fi}%
+ \@namedef{#1@sh@\string#2@\string#3@}{#4}%
+ \fi}
+\def\textormath{%
+ \ifmmode
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\user@group{user}
+\def\language@group{english}
+\def\system@group{system}
+\def\useshorthands{%
+ \@ifstar\bbl@usesh@s{\bbl@usesh@x{}}}
+\def\bbl@usesh@s#1{%
+ \bbl@usesh@x
+ {\AddBabelHook{babel-sh-\string#1}{afterextras}{\bbl@activate{#1}}}%
+ {#1}}
+\def\bbl@usesh@x#1#2{%
+ \bbl@ifshorthand{#2}%
+ {\def\user@group{user}%
+ \initiate@active@char{#2}%
+ #1%
+ \bbl@activate{#2}}%
+ {\bbl@error
+ {Cannot declare a shorthand turned off (\string#2)}
+ {Sorry, but you cannot use shorthands which have been\\%
+ turned off in the package options}}}
+\def\user@language@group{user@\language@group}
+\def\bbl@set@user@generic#1#2{%
+ \@ifundefined{user@generic@active#1}%
+ {\bbl@active@def#1\user@language@group{user@active}{user@generic@active}%
+ \bbl@active@def#1\user@group{user@generic@active}{language@active}%
+ \expandafter\edef\csname#2@sh@#1@@\endcsname{%
+ \expandafter\noexpand\csname normal@char#1\endcsname}%
+ \expandafter\edef\csname#2@sh@#1@\string\protect@\endcsname{%
+ \expandafter\noexpand\csname user@active#1\endcsname}}%
+ \@empty}
+\newcommand\defineshorthand[3][user]{%
+ \edef\bbl@tempa{\zap@space#1 \@empty}%
+ \bbl@for\bbl@tempb\bbl@tempa{%
+ \if*\expandafter\@car\bbl@tempb\@nil
+ \edef\bbl@tempb{user@\expandafter\@gobble\bbl@tempb}%
+ \@expandtwoargs
+ \bbl@set@user@generic{\expandafter\string\@car#2\@nil}\bbl@tempb
+ \fi
+ \declare@shorthand{\bbl@tempb}{#2}{#3}}}
+\def\languageshorthands#1{\def\language@group{#1}}
+\def\aliasshorthand#1#2{%
+ \bbl@ifshorthand{#2}%
+ {\expandafter\ifx\csname active@char\string#2\endcsname\relax
+ \ifx\document\@notprerr
+ \@notshorthand{#2}%
+ \else
+ \initiate@active@char{#2}%
+ \expandafter\let\csname active@char\string#2\expandafter\endcsname
+ \csname active@char\string#1\endcsname
+ \expandafter\let\csname normal@char\string#2\expandafter\endcsname
+ \csname normal@char\string#1\endcsname
+ \bbl@activate{#2}%
+ \fi
+ \fi}%
+ {\bbl@error
+ {Cannot declare a shorthand turned off (\string#2)}
+ {Sorry, but you cannot use shorthands which have been\\%
+ turned off in the package options}}}
+\def\@notshorthand#1{%
+ \bbl@error{%
+ The character `\string #1' should be made a shorthand character;\\%
+ add the command \string\useshorthands\string{#1\string} to
+ the preamble.\\%
+ I will ignore your instruction}{}}
+\newcommand*\shorthandon[1]{\bbl@switch@sh\@ne#1\@nnil}
+\DeclareRobustCommand*\shorthandoff{%
+ \@ifstar{\bbl@shorthandoff\tw@}{\bbl@shorthandoff\z@}}
+\def\bbl@shorthandoff#1#2{\bbl@switch@sh#1#2\@nnil}
+\def\bbl@switch@sh#1#2{%
+ \ifx#2\@nnil\else
+ \@ifundefined{bbl@active@\string#2}%
+ {\bbl@error
+ {I cannot switch `\string#2' on or off--not a shorthand}%
+ {This character is not a shorthand. Maybe you made\\%
+ a typing mistake? I will ignore your instruction}}%
+ {\ifcase#1%
+ \catcode`#212\relax
+ \or
+ \catcode`#2\active
+ \or
+ \csname bbl@oricat@\string#2\endcsname
+ \csname bbl@oridef@\string#2\endcsname
+ \fi}%
+ \bbl@afterfi\bbl@switch@sh#1%
+ \fi}
+\def\babelshorthand{\active@prefix\babelshorthand\bbl@putsh}
+\def\bbl@putsh#1{%
+ \@ifundefined{bbl@active@\string#1}%
+ {\bbl@putsh@i#1\@empty\@nnil}%
+ {\csname bbl@active@\string#1\endcsname}}
+\def\bbl@putsh@i#1#2\@nnil{%
+ \csname\languagename @sh@\string#1@%
+ \ifx\@empty#2\else\string#2@\fi\endcsname}
+\ifx\bbl@opt@shorthands\@nnil\else
+ \let\bbl@s@initiate@active@char\initiate@active@char
+ \def\initiate@active@char#1{%
+ \bbl@ifshorthand{#1}{\bbl@s@initiate@active@char{#1}}{}}
+ \let\bbl@s@switch@sh\bbl@switch@sh
+ \def\bbl@switch@sh#1#2{%
+ \ifx#2\@nnil\else
+ \bbl@afterfi
+ \bbl@ifshorthand{#2}{\bbl@s@switch@sh#1{#2}}{\bbl@switch@sh#1}%
+ \fi}
+ \let\bbl@s@activate\bbl@activate
+ \def\bbl@activate#1{%
+ \bbl@ifshorthand{#1}{\bbl@s@activate{#1}}{}}
+ \let\bbl@s@deactivate\bbl@deactivate
+ \def\bbl@deactivate#1{%
+ \bbl@ifshorthand{#1}{\bbl@s@deactivate{#1}}{}}
+\fi
+\def\bbl@prim@s{%
+ \prime\futurelet\@let@token\bbl@pr@m@s}
+\def\bbl@if@primes#1#2{%
+ \ifx#1\@let@token
+ \expandafter\@firstoftwo
+ \else\ifx#2\@let@token
+ \bbl@afterelse\expandafter\@firstoftwo
+ \else
+ \bbl@afterfi\expandafter\@secondoftwo
+ \fi\fi}
+\begingroup
+ \catcode`\^=7 \catcode`\*=\active \lccode`\*=`\^
+ \catcode`\'=12 \catcode`\"=\active \lccode`\"=`\'
+ \lowercase{%
+ \gdef\bbl@pr@m@s{%
+ \bbl@if@primes"'%
+ \pr@@@s
+ {\bbl@if@primes*^\pr@@@t\egroup}}}
+\endgroup
+\initiate@active@char{~}
+\declare@shorthand{system}{~}{\leavevmode\nobreak\ }
+\bbl@activate{~}
+\def\bbl@disc#1#2{\nobreak\discretionary{#2-}{}{#1}\bbl@allowhyphens}
+\def\bbl@t@one{T1}
+\def\bbl@allowhyphens{\nobreak\hskip\z@skip}
+\def\bbl@t@one{T1}
+%
+% ------------------------------------------------------------------------------
+%
+% XXX: later in babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\allowhyphens{\ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi}
+\newcommand\babelnullhyphen{\char\hyphenchar\font}
+\def\babelhyphen{\active@prefix\babelhyphen\bbl@hyphen}
+\def\bbl@hyphen{%
+ \@ifstar{\bbl@hyphen@i @}{\bbl@hyphen@i\@empty}}
+\def\bbl@hyphen@i#1#2{%
+ \@ifundefined{bbl@hy@#1#2\@empty}%
+ {\csname bbl@#1usehyphen\endcsname{\discretionary{#2}{}{#2}}}%
+ {\csname bbl@hy@#1#2\@empty\endcsname}}
+\def\bbl@usehyphen#1{%
+ \leavevmode
+ \ifdim\lastskip>\z@\mbox{#1}\nobreak\else\nobreak#1\fi
+ \hskip\z@skip}
+\def\bbl@@usehyphen#1{%
+ \leavevmode\ifdim\lastskip>\z@\mbox{#1}\else#1\fi}
+\def\bbl@hyphenchar{%
+ \ifnum\hyphenchar\font=\m@ne
+ \babelnullhyphen
+ \else
+ \char\hyphenchar\font
+ \fi}
+\def\bbl@hy@soft{\bbl@usehyphen{\discretionary{\bbl@hyphenchar}{}{}}}
+\def\bbl@hy@@soft{\bbl@@usehyphen{\discretionary{\bbl@hyphenchar}{}{}}}
+\def\bbl@hy@hard{\bbl@usehyphen\bbl@hyphenchar}
+\def\bbl@hy@@hard{\bbl@@usehyphen\bbl@hyphenchar}
+\def\bbl@hy@nobreak{\bbl@usehyphen{\mbox{\bbl@hyphenchar}\nobreak}}
+\def\bbl@hy@@nobreak{\mbox{\bbl@hyphenchar}}
+\def\bbl@hy@repeat{%
+ \bbl@usehyphen{%
+ \discretionary{\bbl@hyphenchar}{\bbl@hyphenchar}{\bbl@hyphenchar}%
+ \nobreak}}
+\def\bbl@hy@@repeat{%
+ \bbl@@usehyphen{%
+ \discretionary{\bbl@hyphenchar}{\bbl@hyphenchar}{\bbl@hyphenchar}}}
+\def\bbl@hy@empty{\hskip\z@skip}
+\def\bbl@hy@@empty{\discretionary{}{}{}}
+\def\bbl@disc#1#2{\nobreak\discretionary{#2-}{}{#1}\bbl@allowhyphens}
+%
+% ------------------------------------------------------------------------------
+%
+% XXX: end of the code copied from babel files
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@disc@german#1#2{%
+ \nobreak\discretionary{#2-}{}{#1}}
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/cal-util.def b/Master/texmf-dist/tex/latex/polyglossia/cal-util.def
index 85576f39f71..85576f39f71 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/cal-util.def
+++ b/Master/texmf-dist/tex/latex/polyglossia/cal-util.def
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/devanagaridigits.sty b/Master/texmf-dist/tex/latex/polyglossia/devanagaridigits.sty
index bbd83f2314c..bbd83f2314c 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/devanagaridigits.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/devanagaridigits.sty
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/farsical.sty b/Master/texmf-dist/tex/latex/polyglossia/farsical.sty
index b78d29809c3..b78d29809c3 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/farsical.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/farsical.sty
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
index dcafbad943b..dcafbad943b 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
index 9a33de9fb90..9a33de9fb90 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
index 9ffc71b16ef..9ffc71b16ef 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-armenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
index 2f22748e713..2f22748e713 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-armenian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
index b1eb5089331..b1eb5089331 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
index 28dc408a4ea..28dc408a4ea 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
index eb5c3749c85..eb5c3749c85 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
index c6c1d3d1b92..c6c1d3d1b92 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bengali.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
index c27a65ba8f4..c27a65ba8f4 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bengali.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
index 3079e0778d3..3079e0778d3 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
index 21ab4a12da8..21ab4a12da8 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
index 4739d9916bf..4739d9916bf 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
index 8d349c9bcda..feba1f98128 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
@@ -21,15 +21,32 @@
%%% adapted from Babel's catalan.ldf
\newdimen\leftllkern \newdimen\rightllkern \newdimen\raiselldim
% we check if char · exists, and use it instead of raised dot:
-\def\xpg@raiseddot{\ifnum\XeTeXcharglyph"00B7 > 0\hbox{\char"00B7}%
- \else\raise\raiselldim\hbox{.}\fi}
+\def\xpg@raiseddot{%
+ \ifluatex %
+ \expandafter\ifnum\directlua{polyglossia.check_char(183)} > 0\hbox{\char"00B7}%
+ \else\raise\raiselldim\hbox{.}%
+ \fi %
+ \else %
+ \ifnum\XeTeXcharglyph"00B7 > 0\hbox{\char"00B7}% why a hbox here?
+ \else\raise\raiselldim\hbox{.}%
+ \fi %
+ \fi %
+ }
\def\lgem{%
\ifmmode
\csname normal@char\string"\endcsname l%
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
\setbox0\hbox{l}\setbox1\hbox{l\/}%
- \ifnum\XeTeXcharglyph"00B7 > 0\setbox2\hbox{\char"00B7}\else\setbox2\hbox{.}\fi
+ \ifluatex %
+ \expandafter\ifnum\directlua{polyglossia.check_char(183)} > 0\setbox2\hbox{\char"00B7}%
+ \else\setbox2\hbox{.}%
+ \fi %
+ \else %
+ \ifnum\XeTeXcharglyph"00B7 > 0\setbox2\hbox{\char"00B7}%
+ \else\setbox2\hbox{.}%
+ \fi %
+ \fi %
\advance\raiselldim by \the\fontdimen5\the\font
\advance\raiselldim by -\ht2%
\leftllkern=-.25\wd0%
@@ -49,7 +66,15 @@
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
\setbox0\hbox{L}\setbox1\hbox{L\/}%
- \ifnum\XeTeXcharglyph"00B7 > 0\setbox2\hbox{\char"00B7}\else\setbox2\hbox{.}\fi
+ \ifluatex %
+ \expandafter\ifnum\directlua{polyglossia.check_char(183)} > 0\setbox2\hbox{\char"00B7}%
+ \else\setbox2\hbox{.}%
+ \fi %
+ \else %
+ \ifnum\XeTeXcharglyph"00B7 > 0\setbox2\hbox{\char"00B7}%
+ \else\setbox2\hbox{.}%
+ \fi %
+ \fi %
\advance\raiselldim by .5\ht0%
\advance\raiselldim by -.5\ht2%
\leftllkern=-.125\wd0%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
index 76a4fb151a5..76a4fb151a5 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
index c43775077a4..c43775077a4 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
index 8704aa043be..8704aa043be 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
index 282ea8277f6..282ea8277f6 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
index bbf0bb50a2a..bbf0bb50a2a 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
index 2633956a9d8..2633956a9d8 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
index f10c7197748..f10c7197748 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
index e3bc8d31ac4..e3bc8d31ac4 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
index e84aa304712..e84aa304712 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
index d3aeeb2922d..d3aeeb2922d 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
index 6b271e531d9..6b271e531d9 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
new file mode 100644
index 00000000000..47476760ae0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
@@ -0,0 +1,140 @@
+\ProvidesFile{gloss-french.ldf}[polyglossia: module for french]
+
+\PolyglossiaSetup{french}{%
+ language=French,
+ script=Latin,
+ hyphennames={french,francais},
+ frenchspacing=true,
+ indentfirst=true,
+ hyphenmins={2,2},
+ fontsetup=true}
+
+\ifluatex
+ \newluatexattribute\xpg@frpt %
+ \directlua{polyglossia.load_frpt()}%
+ \global\newcount\xpg@interchartokenstate %
+\else
+ \newXeTeXintercharclass\french@punctthin % ! ? ; et autres
+ \newXeTeXintercharclass\french@punctthick % :
+ \newXeTeXintercharclass\french@punctguillstart % « ‹
+ \newXeTeXintercharclass\french@punctguillend % » ›
+\fi
+
+\def\xpg@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
+\def\xpg@nospace#1{#1}
+
+\def\french@punctuation{%
+ \lccode"2019="2019
+ \ifluatex
+ \global\xpg@frpt=1\relax %
+ \directlua{polyglossia.activate_frpt()}%
+ \else
+ \XeTeXinterchartokenstate=1
+ \XeTeXcharclass `\! \french@punctthin
+ \XeTeXcharclass `\? \french@punctthin
+ \XeTeXcharclass `\‼ \french@punctthin
+ \XeTeXcharclass `\⁇ \french@punctthin
+ \XeTeXcharclass `\⁈ \french@punctthin
+ \XeTeXcharclass `\⁉ \french@punctthin
+ \XeTeXcharclass `\; \french@punctthin
+ \XeTeXcharclass `\: \french@punctthick
+ \XeTeXcharclass `\« \french@punctguillstart
+ \XeTeXcharclass `\» \french@punctguillend
+ \XeTeXcharclass `\‹ \french@punctguillstart
+ \XeTeXcharclass `\› \french@punctguillend
+ \XeTeXinterchartoks \z@ \french@punctthin = {\nobreak\thinspace}%
+ \XeTeXinterchartoks \z@ \french@punctthick = {\nobreakspace}%
+ \XeTeXinterchartoks 255 \french@punctthin = {\xpg@unskip\nobreak\thinspace}%
+ \XeTeXinterchartoks 255 \french@punctthick = {\xpg@unskip\nobreakspace}%
+ \XeTeXinterchartoks \french@punctguillstart \z@ = {\nobreakspace}% "«a" -> "« a"
+ % \XeTeXinterchartoks \z@ \french@punctguillstart = {\nobreakspace}% "a«" unchanged?
+ % \XeTeXinterchartoks \french@punctguillend \z@ = {\nobreakspace}% "»a" unchanged?
+ \XeTeXinterchartoks \z@ \french@punctguillend = {\nobreakspace}% "a»" -> "a »"
+ \XeTeXinterchartoks \french@punctguillstart 255 = {\nobreakspace\xpg@nospace}% "« " -> "«~"
+ \XeTeXinterchartoks 255 \french@punctguillend = {\xpg@unskip\nobreakspace}% " »" -> "~»"
+ \XeTeXinterchartoks \french@punctguillend \french@punctthin = {\nobreak\thinspace}% "»;" -> "» ;"
+ \XeTeXinterchartoks \french@punctguillend \french@punctthick = {\nobreakspace}% "»:" -> "» :"
+ \XeTeXinterchartoks \french@punctthin \french@punctguillend = {\nobreakspace}% "?»" -> "? »"
+ \fi
+ }
+
+\def\nofrench@punctuation{%
+ \lccode"2019=\z@
+ \ifluatex
+ \global\xpg@frpt=0\relax %
+ % Though it would make compilation slightly faster, it is not possible to
+ % safely uncomment the following line. Imagine the following case: you start
+ % a paragraph by some french text, then, in the same paragraph, you change
+ % the language to something else, and thus call the following line. This means
+ % that, at then end of the paragraph, the function won't be in the callback,
+ % so the beginning of the paragraph won't be processed by it.
+ %\directlua{polyglossia.desactivate_frpt()}
+ \else
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\‼ \z@
+ \XeTeXcharclass `\⁇ \z@
+ \XeTeXcharclass `\⁈ \z@
+ \XeTeXcharclass `\⁉ \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\« \z@
+ \XeTeXcharclass `\» \z@
+ \XeTeXcharclass `\‹ \z@
+ \XeTeXcharclass `\› \z@
+ \XeTeXinterchartokenstate=0
+ \fi
+ }
+
+\def\captionsfrench{%
+ \def\refname{Références}%
+ \def\abstractname{Résumé}%
+ \def\bibname{Bibliographie}%
+ \def\prefacename{Préface}%
+ \def\chaptername{Chapitre}%
+ \def\appendixname{Annexe}%
+ \def\contentsname{Table des matières}%
+ \def\listfigurename{Table des figures}%
+ \def\listtablename{Liste des tableaux}%
+ \def\indexname{Index}%
+ \def\figurename{\textsc{Fig.}}%
+ \def\tablename{\textsc{Tab.}}%
+ \def\@Fpt{\ifcase\value{part}\or Première\or Deuxième\or
+ Troisième\or Quatrième\or Cinquième\or Sixième\or
+ Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or
+ Douzième\or Treizième\or Quatorzième\or Quinzième\or
+ Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or
+ Vingtième\fi\space}%
+ \def\thepart{}%
+ \def\partname{\protect\@Fpt partie}%
+ \def\pagename{page}%
+ \def\seename{\emph{voir}}%
+ \def\alsoname{\emph{voir aussi}}%
+ \def\enclname{P.~J. }%
+ \def\ccname{Copie à }%
+ \def\headtoname{}%
+ \def\proofname{Démonstration}%
+ }
+\def\datefrench{%
+ \def\today{\ifx\ier\undefined\def\ier{er}\fi
+ \ifnum\day=1\relax 1\ier%
+ \else \number\day\fi
+ \space \ifcase\month%
+ \or janvier\or février\or mars\or avril\or mai\or juin\or
+ juillet\or août\or septembre\or octobre\or novembre\or
+ décembre\fi
+ \space \number\year}}
+
+\def\noextras@french{%
+ \nofrench@punctuation%
+ }
+
+\def\blockextras@french{%
+ \french@punctuation%
+ }
+
+\def\inlineextras@french{%
+ \french@punctuation%
+ }
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-friulan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
index d0ef8b77daa..a753c04e41f 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-friulan.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
@@ -50,9 +50,6 @@
\def\noextras@friulan{%
\lccode\string"2019=\z@
- % TODO Figure out what the two lines below were supposed to be good for.
- % \noitalian@shorthands
- % \xpgit@savedvalues
}
\def\blockextras@friulan{%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
index 76459f275cd..76459f275cd 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
index b9a79ee33b2..b9a79ee33b2 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-greek-new.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek-new.ldf
new file mode 100644
index 00000000000..1b8864cd214
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek-new.ldf
@@ -0,0 +1,410 @@
+\ProvidesFile{gloss-greek.ldf}[polyglossia: module for greek]
+\PolyglossiaSetup{greek}{
+ script=Greek,
+ scripttag=grek,
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+ %TODO localalph={greek@alph,greek@Alph}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% The code in this file was initially adapted from the antomega
+%% module for greek. Currently large parts of it derive from the
+%% package xgreek.sty (c) Apostolos Syropoulos
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% this file imported from xgreek fixes the \lccode and \uccode of Greek letters:
+\input{xgreek-fixes.def}
+
+%TODO: set these in \define@key instead:
+\ifx\l@greek\@undefined
+ \ifx\l@polygreek\@undefined
+ \xpg@nopatterns{Greek}%
+ \adddialect\l@greek\l@nohyphenation
+ \else
+ \let\l@greek\l@polygreek
+ \fi
+\fi
+\ifx\l@monogreek\@undefined
+ \xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
+ I will use the patterns loaded for \string\l@greek instead}
+ \adddialect\l@monogreek\l@greek
+\fi
+\ifx\l@ancientgreek\@undefined
+ \xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
+ I will use the patterns loaded for \string\l@greek instead}
+ \adddialect\l@ancientgreek\l@greek
+\fi
+
+%set monotonic as default
+\def\greek@variant{\l@monogreek}% monotonic
+\def\captionsgreek{\monogreekcaptions}%
+\def\dategreek{\datemonogreek}%
+
+\def\tmp@mono{mono}
+\def\tmp@monotonic{monotonic}
+\def\tmp@poly{poly}
+\def\tmp@polytonic{polytonic}
+\def\tmp@ancient{ancient}
+\def\tmp@ancientgreek{ancientgreek}
+
+\define@key{greek}{variant}[monotonic]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@poly\def\@tmpa{polytonic}\fi
+ \ifx\@tmpa\tmp@ancientgreek\def\@tmpa{ancient}\fi
+ \ifx\@tmpa\tmp@polytonic%
+ \def\greek@variant{\l@polygreek}%
+ \def\captionsgreek{\polygreekcaptions}%
+ \def\dategreek{\datepolygreek}%
+ \xpg@info{Option: Polytonic Greek}%
+ \else
+ \ifx\@tmpa\tmp@ancient
+ \def\greek@variant{\l@ancientgreek}%
+ \def\captionsgreek{\ancientgreekcaptions}%
+ \def\dategreek{\dateancientgreek}%
+ \xpg@info{Option: Ancient Greek}%
+ \else %monotonic
+ \def\greek@variant{\l@monogreek}% monotonic
+ \def\captionsgreek{\monogreekcaptions}%
+ \def\dategreek{\datemonogreek}%
+ \xpg@info{Option: Monotonic Greek}%
+ \fi
+ \fi}
+
+\def\greek@language{\language=\greek@variant}
+
+\newif\if@greek@numerals
+\define@key{greek}{numerals}[greek]{%
+\ifstrequal{#1}{arabic}{\@greek@numeralsfalse}{\@greek@numeralstrue}}
+
+\define@boolkey{greek}{attic}[true]{\xpg@warning{Greek option `attic' is no longer required.}}
+
+% This sets the defaults
+\setkeys{greek}{numerals}
+
+\def\monogreekcaptions{%
+ \def\refname{Αναφορές}%
+ \def\abstractname{Περίληψη}%
+ \def\bibname{Βιβλιογραφία}%
+ \def\prefacename{Πρόλογος}%
+ \def\chaptername{Κεφάλαιο}%
+ \def\appendixname{Παράρτημα}%
+ \def\contentsname{Περιεχόμενα}%
+ \def\listfigurename{Κατάλογος σχημάτων}%
+ \def\listtablename{Κατάλογος πινάκων}%
+ \def\indexname{Ευρετήριο}%
+ \def\figurename{Σχήμα}%
+ \def\tablename{Πίνακας}%
+ \def\partname{Μέρος}%
+ \def\pagename{Σελίδα}%
+ \def\seename{βλέπε}%
+ \def\alsoname{βλέπε επίσης}%
+ \def\enclname{Συνημμένα}%
+ \def\ccname{Κοινοποίηση}%
+ \def\headtoname{Προς}%
+ \def\proofname{Απόδειξη}%
+ \def\glossaryname{Γλωσσάρι}}%
+
+\def\datemonogreek{%
+ \def\today{\number\day\space%
+ \greek@month%
+ \space\number\year}%
+ \def\greektoday{\greeknumber\day\space%
+ \greek@month%
+ \space\greeknumber\year}%
+ \def\Greektoday{\Greeknumber\day\space%
+ \greek@month%
+ \space\Greeknumber\year}%
+ \def\greek@month{\ifcase\month\or%
+ Ιανουαρίου\or
+ Φεβρουαρίου\or
+ Μαρτίου\or
+ Απριλίου\or
+ Μαΐου\or
+ Ιουνίου\or
+ Ιουλίου\or
+ Αυγούστου\or
+ Σεπτεμβρίου\or
+ Οκτωβρίου\or
+ Νοεμβρίου\or
+ Δεκεμβρίου\fi}}%
+
+\def\polygreekcaptions{%
+ \def\refname{Ἀναφορές}%
+ \def\abstractname{Περίληψη}%
+ \def\bibname{Βιβλιογραφία}%
+ \def\prefacename{Πρόλογος}%
+ \def\chaptername{Κεφάλαιο}%
+ \def\appendixname{Παράρτημα}%
+ \def\contentsname{Περιεχόμενα}%
+ \def\listfigurename{Κατάλογος σχημάτων}%
+ \def\listtablename{Κατάλογος πινάκων}%
+ \def\indexname{Εὑρετήριο}%
+ \def\figurename{Σχῆμα}%
+ \def\tablename{Πίνακας}%
+ \def\partname{Μέρος}%
+ \def\pagename{Σελίδα}%
+ \def\seename{βλέπε}%
+ \def\alsoname{βλέπε ἐπίσης}%
+ \def\enclname{Συνημμένα}%
+ \def\ccname{Κοινοποίηση}%
+ \def\headtoname{Πρὸς}%
+ \def\proofname{Ἀπόδειξη}}%
+
+\def\datepolygreek{%
+ \def\today{\number\day\space%
+ \greek@month%
+ \space\number\year}%
+ \def\greektoday{\greeknumber\day\space%
+ \greek@month%
+ \space\greeknumber\year}%
+ \def\Greektoday{\Greeknumber\day\space%
+ \greek@month%
+ \space\Greeknumber\year}%
+ \def\greek@month{\ifcase\month\or%
+ Ἰανουαρίου\or
+ Φεβρουαρίου\or
+ Μαρτίου\or
+ Ἀπριλίου\or
+ Μαΐου\or
+ Ἰουνίου\or
+ Ἰουλίου\or
+ Αὐγούστου\or
+ Σεπτεμβρίου\or
+ Ὀκτωβρίου\or
+ Νοεμβρίου\or
+ Δεκεμβρίου\fi}}%
+
+% this is copied verbatim from xgreek.sty:
+\def\ancientgreekcaptions{%
+ \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\refname{Ἀναφοραὶ}%
+ \def\indexname{Εὑρετήριο}%
+ \def\figurename{Σχῆμα}%
+ \def\headtoname{Πρὸς}}%
+
+\def\dateancientgreek{%
+ \def\today{\number\day\space%
+ \greek@month%
+ \space\number\year}%
+ \def\greektoday{\greeknumber\day\space%
+ \greek@month%
+ \space\greeknumber\year}%
+ \def\Greektoday{\Greeknumber\day\space%
+ \greek@month%
+ \space\Greeknumber\year}%
+ \def\greek@month{\ifcase\month\or%
+ Ἰανουαρίου\or
+ Φεβρουαρίου\or
+ Μαρτίου\or
+ Ἀπριλίου\or
+ Μαΐου\or
+ Ἰουνίου\or
+ Ἰουλίου\or
+ Αὐγούστου\or
+ Σεπτεμβρίου\or
+ Ὀκτωβρίου\or
+ Νοεμβρίου\or
+ Δεκεμβρίου\fi}}
+
+% the code for alphabetic numbers and attic numerals
+% is not copied verbatim from xgreek.sty any more
+% it has been proposed by eg9 on issue 36 of the repository
+% see https://github.com/reutenauer/polyglossia/issues/36
+\newrobustcmd\anw@print{}
+\newrobustcmd\anw@false{%
+\renewrobustcmd\anw@print{}}
+\newrobustcmd\anw@true{%
+\renewrobustcmd\anw@print{ʹ}}
+\anw@true
+
+\protected\def\greeknumber#1{\expandafter\@greeknumber\expandafter{\number#1}}
+
+\def\@greeknumber#1{%
+\ifnum#1<\@ne\space\gr@ill@value{#1}%
+\else %
+\ifnum#1<10 \gr@num@i#1%
+\else %
+\ifnum#1<100 \gr@num@ii#1%
+\else %
+\ifnum#1<\@m \gr@num@iii#1%
+\else %
+\ifnum#1<\@M \gr@num@iv#1%
+\else %
+\ifnum#1<100000 \gr@num@v#1%
+\else %
+\ifnum#1<1000000 \gr@num@vi#1%
+\else %
+\space\gr@ill@value{#1}%
+\fi %
+\fi %
+\fi %
+\fi %
+\fi %
+\fi %
+\fi %
+}
+
+\protected\def\Greeknumber#1{\expandafter\@Greeknumber\expandafter{\number#1}}
+\def\@Greeknumber#1{%
+\ifnum#1<\@ne\space\gr@ill@value{#1}%
+\else %
+\ifnum#1<10 \gr@Num@i#1%
+\else %
+\ifnum#1<100 \gr@Num@ii#1%
+\else %
+\ifnum#1<\@m\gr@Num@iii#1%
+\else %
+\ifnum#1<\@M\gr@Num@iv#1%
+\else %
+\ifnum#1<100000 \gr@Num@v#1%
+\else %
+\ifnum#1<1000000 \gr@Num@vi#1%
+\else %
+\space\gr@ill@value{#1}%
+\fi %
+\fi %
+\fi %
+\fi %
+\fi %
+\fi %
+\fi %
+}
+
+\let\greeknumeral=\greeknumber
+\let\Greeknumeral=\Greeknumber
+
+\def\gr@num@i#1{%
+\ifcase#1 \or α\or β\or γ\or δ\or ε\or Ϛ\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 ϟ\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 ϡ\fi %
+\ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii}
+
+\def\gr@num@iv#1{%
+\ifnum#1=\z@\else ͵\fi %
+\ifcase#1 \or α\or β\or γ\or δ\or ε\or Ϛ\or ζ\or η\or θ\fi %
+\gr@num@iii}
+
+\def\gr@num@v#1{%
+\ifnum#1=\z@\else ͵\fi %
+\ifcase#1 \or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or ϟ\fi %
+\gr@num@iv}
+
+\def\gr@num@vi#1{%
+͵\ifcase#1 \or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or ϡ\fi %
+\gr@num@v}%
+
+\def\gr@Num@i#1{%
+\ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or \MakeUppercase{Ϛ}\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 \MakeUppercase{ϟ}\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 \MakeUppercase{ϡ}\fi %
+\ifnum#1=\z@\anw@false\else\anw@true\fi\gr@Num@ii}
+
+\def\gr@Num@iv#1{%
+\ifnum#1=\z@\else ͵\fi %
+\ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or \MakeUppercase{Ϛ}\or Ζ\or Η\or θ\fi %
+\gr@Num@iii}
+
+\def\gr@Num@v#1{%
+\ifnum#1=\z@\else ͵\fi %
+\ifcase#1 \or Ι\or Κ\or Λ\or Μ\or Ν\or Ξ\or Ο\or Π\or \MakeUppercase{ϟ}\fi %
+\gr@Num@iv}
+
+\def\gr@Num@vi#1{%
+͵ \ifcase#1 \or Ρ\or Σ\or Τ\or Υ\or Φ\or Χ\or Ψ\or Ω\or \MakeUppercase{ϡ}\fi %
+\gr@Num@v}
+
+\def\gr@ill@value#1{\xpg@warning{Illegal value (#1) for Greek numeral}[$#1$]}
+
+%%%% Attic numerals (no longer optional)
+\newcount\@attic@num
+\DeclareRobustCommand*{\@@atticnum}[1]{%
+ \@attic@num#1\relax
+ \ifnum\@attic@num<\@ne%
+ \space%
+ \xpg@warning{Illegal value (\the\@attic@num) for acrophonic Attic numeral}%
+ \else\ifnum\@attic@num>249999%
+ \space%
+ \xpg@warning{Illegal value (\the\@attic@num) for acrophonic Attic numeral}%
+ \else
+ \@whilenum\@attic@num>49999\do{%
+ \char"10147\advance\@attic@num-50000}%
+ \@whilenum\@attic@num>9999\do{%
+ M\advance\@attic@num-\@M}%
+ \ifnum\@attic@num>4999%
+ \char"10146\advance\@attic@num-5000%
+ \fi\relax
+ \@whilenum\@attic@num>999\do{%
+ Χ\advance\@attic@num-\@m}%
+ \ifnum\@attic@num>499%
+ \char"10145\advance\@attic@num-500%
+ \fi\relax
+ \@whilenum\@attic@num>99\do{%
+ Η\advance\@attic@num-100}%
+ \ifnum\@attic@num>49%
+ \char"10144\advance\@attic@num-50%
+ \fi\relax
+ \@whilenum\@attic@num>9\do{%
+ Δ\advance\@attic@num by-10}%
+ \@whilenum\@attic@num>4\do{%
+ Π\advance\@attic@num-5}%
+ \ifcase\@attic@num\or Ι\or ΙΙ\or ΙΙΙ\or ΙΙΙΙ\fi%
+ \fi\fi}
+\def\@atticnum#1{%
+ \expandafter\@@atticnum\expandafter{\the#1}}
+\def\atticnumeral#1{%
+ \@attic@num#1\relax
+ \@atticnum{\@attic@num}}
+\let\atticnum=\atticnumeral
+
+\def\greek@numbers{%
+ \let\latin@alph\@alph%
+ \let\latin@Alph\@Alph%
+ \if@greek@numerals
+ \def\greek@alph##1{\protect\greeknumber{##1}}%
+ \def\greek@Alph##1{\protect\Greeknumber{##1}}%
+ \let\@alph\greek@alph%
+ \let\@Alph\greek@Alph%
+ \fi}
+
+\def\nogreek@numbers{%
+ \let\@alph\latin@alph%
+ \let\@Alph\latin@Alph%
+ \let\greek@alph\@undefined%
+ \let\greek@Alph\@undefined%
+ }
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
index 229688ef5bc..229688ef5bc 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
index 5167833d833..5167833d833 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
index 6223a494987..6223a494987 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
index 2678b4f6129..2678b4f6129 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
index 9e4ca395d6a..9e4ca395d6a 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
index 23b0b567c30..23b0b567c30 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
index 538ed63e18e..78e2d590488 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
@@ -100,6 +100,7 @@
%%% ORIGINAL END %%%
%%% CHANGES START %%% by Enrico Gregorio
+\let\xpgit@savedvalues\empty
\AtEndPreamble{% the user or the class might define different values
\edef\xpgit@savedvalues{%
\clubpenalty=\the\clubpenalty\space
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-kannada.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
index cca3488e646..cca3488e646 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-kannada.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lao.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
index 16e58fc5fa2..16e58fc5fa2 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lao.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
index 66be7360066..66be7360066 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
index 9993cadf4a0..9993cadf4a0 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
index f1bc9344610..f1bc9344610 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
index 55b58e3b9f0..55b58e3b9f0 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
index 3f6839a932f..3f6839a932f 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-malayalam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
index 1630b3c78bf..1630b3c78bf 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-malayalam.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-marathi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
index a7fd12c7df3..a7fd12c7df3 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-marathi.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
index 975cd109c7c..975cd109c7c 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
index 8051d902e16..8051d902e16 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-occitan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
index c647aa9000f..c647aa9000f 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-occitan.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
new file mode 100644
index 00000000000..797e72a5209
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
@@ -0,0 +1,115 @@
+% !TEX encoding = UTF-8 Unicode
+\ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for piedmontese]
+\makeatletter
+\PolyglossiaSetup{piedmontese}{
+ hyphennames={piedmontese},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
+
+
+\define@boolkey{piedmontese}[piedmontese@]{babelshorthands}[true]{}
+
+\ifsystem@babelshorthands
+ \setkeys{piedmontese}{babelshorthands=true}
+\else
+ \setkeys{piedmontese}{babelshorthands=false}
+\fi
+
+\ifcsundef{initiate@active@char}{%
+\input{babelsh.def}%
+\initiate@active@char{"}%
+}{}
+
+\def\piedmontese@shorthands{%
+ \bbl@activate{"}%
+ \def\language@group{piedmontese}%
+ \declare@shorthand{piedmontese}{"}{%
+ \relax\ifmmode
+ \def\xpgpms@next{''}%
+ \else
+ \def\xpgpms@next{\futurelet\xpgpms@temp\xpgpms@cwm}%
+ \fi
+ \xpgpms@next}%
+}
+
+\def\xpgpms@@cwm{\nobreak\discretionary{-}{}{}\nobreak\hskip\z@skip}
+\def\xpgpms@cwm{\let\xpgpms@@next\relax
+\ifcat\noexpand\xpgpms@temp a%
+ \def\xpgpms@@next{\pms@@cwm}%
+\else
+ \ifx\xpgpms@temp/%
+ \def\xpgpms@@next{\bbl@allowhyphens/\bbl@allowhyphens\@gobble}%
+ \else
+ \ifx\xpgpms@temp-%
+ \def\xpgpms@@next{\bbl@allowhyphens-\bbl@allowhyphens\@gobble}%
+ \else
+ \ifx\xpgpms@temp"%
+ \def\xpgpms@@next{``\expandafter\@gobble\string}%
+ \fi
+ \fi
+ \fi
+\xpgpms@@next}
+
+\def\nopiedmontese@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+}
+\@namedef{captions\CurrentOption}{%
+ \def\prefacename{Prefassion}%
+ \def\refname{Riferiment}%
+ \def\abstractname{Somari}%
+ \def\bibname{Bibliografìa}%
+ \def\chaptername{Capìtol}%
+ \def\appendixname{Gionta}%
+ \def\contentsname{Tàula}%
+ \def\listfigurename{Lista dle figure}%
+ \def\listtablename{Lista dle tabele}%
+ \def\indexname{Tàula analìtica}%
+ \def\figurename{Figura}%
+ \def\tablename{Tabela}%
+ \def\partname{Part}%
+ \def\enclname{Gionta/e}%
+ \def\ccname{Con còpia a}%
+ \def\headtoname{Për}%
+ \def\pagename{Pàgina}%
+ \def\seename{vëd}%
+ \def\alsoname{vëd anche}%
+ \def\proofname{Dimostrassion}%
+ \def\glossaryname{Glossari}%
+}
+\@namedef{date\CurrentOption}{%
+ \def\today{\number\day\space\ifcase\month\or
+ ëd gené\or ëd fevré\or ëd mars\or d'avril\or ëd maj\or ëd giugn\or
+ ëd luj\or d'agost\or dë stèmber\or d'otóber\or ëd novèmber\or dë dzèmber%
+ \fi\space dal\space\number\year}}
+
+\AtEndPreamble{%
+ \edef\xpgpms@savedvalues{%
+ \clubpenalty=\the\clubpenalty\space
+ \@clubpenalty=\the\@clubpenalty\space
+ \widowpenalty=\the\widowpenalty\space
+ \finalhyphendemerits=\the\finalhyphendemerits}
+}
+
+
+\def\noextras@piedmontese{%
+ \lccode\string"2019=\z@
+ \nopiedmontese@shorthands
+ \xpgpms@savedvalues
+}
+
+\def\blockextras@piedmontese{%
+ \lccode\string"2019=\string"2019
+ \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000
+ \finalhyphendemerits=50000000
+ \ifpiedmontese@babelshorthands\piedmontese@shorthands\fi
+}
+
+\def\inlineextras@piedmontese{%
+ \lccode\string"2019=\string"2019
+ \ifpiedmontese@babelshorthands\piedmontese@shorthands\fi
+}
+%%% CHANGES END %%%
+\endinput
+
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
index 30f350e4a93..40359e022aa 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
@@ -34,7 +34,7 @@
\def\today{\number\day\space\ifcase\month\or
stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
lipca\or sierpnia\or września\or października\or
- listopada\or grudnia\fi
+ listopada\or grudnia\fi\space
\number\year}%
}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
index 310f958f160..310f958f160 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
index 43a3d173f35..43a3d173f35 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romansh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
index 40d75f47e7b..40d75f47e7b 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romansh.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
index 3d600d60151..78c984afc89 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
@@ -49,7 +49,7 @@
% \declare@shorthand{russian}{">}{»}%
\declare@shorthand{russian}{""}{\hskip\z@skip}%
\declare@shorthand{russian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
- \declare@shorthand{russian}{"=}{\nobreak\-\hskip\z@skip}%
+ \declare@shorthand{russian}{"=}{\nobreak-\hskip\z@skip}%
\declare@shorthand{russian}{"|}{\textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}%
\declare@shorthand{russian}{"-}{%
\def\russian@sh@tmp{%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
index e9d834a6489..e9d834a6489 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
index 287620615c4..287620615c4 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
index 6c76b71076c..6c76b71076c 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
index 436ac751366..436ac751366 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
index 21a62d65bdf..21a62d65bdf 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
index 7ef4203ce0a..ef527b16cb2 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
@@ -28,7 +28,7 @@
\def\ccname{Kopije}%
\def\headtoname{Prejme}%
\def\proofname{Dokaz}%
- \def\glossaryname{Glosar}% <-- CHECK!
+ \def\glossaryname{Slovar}%
}
\def\dateslovenian{%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
index 312c3b3b8f2..30d4f7817c5 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
@@ -35,7 +35,7 @@
\def\today{\number\day~de~\ifcase\month\or
enero\or febrero\or marzo\or abril\or mayo\or junio\or
julio\or agosto\or septiembre\or octubre\or noviembre\or
- diciembre\fi\space \number\year}%
+ diciembre\fi\space de~\number\year}%
}
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
index 748353488bf..748353488bf 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
index 75e5ce0731d..75e5ce0731d 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-tamil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
index c3ef7110ba6..c3ef7110ba6 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-tamil.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-telugu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
index f7f6a63dc5f..f7f6a63dc5f 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-telugu.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
index 16e90ea7dc1..16e90ea7dc1 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
new file mode 100644
index 00000000000..759bc8c08e9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
@@ -0,0 +1,138 @@
+\ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for tibetan]
+%% Copyright 2013 Elie Roux
+%% Under the CC0 license <http://creativecommons.org/publicdomain/zero/1.0/>
+%%
+%% A good font to make tests is \newfontfamily\tibetanfont{Tibetan Machine Uni}
+%%
+
+\PolyglossiaSetup{tibetan}{
+ script=Tibetan,
+ scripttag=tibt,
+ hyphennames={nohyphenation},
+ fontsetup=true
+ %TODO localalph={xxx@alph,xxx@Alph}
+ %TODO localdigits=tibetannumber
+}
+
+\newif\if@tibetan@numerals
+\def\tmp@tibetan{tibetan}
+\define@key{tibetan}{numerals}[tibetan]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@tibetan\@tibetan@numeralstrue\else
+ \@tibetan@numeralsfalse\fi
+}
+
+\setkeys{tibetan}{numerals}
+
+% some are known, but very few
+% a few come from "Standardizing Tibetan Terms of Information Technology"
+% from the China Tibetology Research Center
+\def\captionstibetan{%
+ %\def\refname{}%
+ \def\abstractname{གནད་བསྡུས།}%
+ \def\bibname{དཔེ་ཆའི་ཐོ་གཞུང་།}% or dpe deb kyi re'u mig?
+ \def\prefacename{དཔེ་དེབ་ཀྱི་གླེང་བརྗོད།}% or gleng brjod 'god pa or ngo sprod?
+ \def\chaptername{ལེའུ་}%
+ \def\appendixname{ཞར་བྱུང་།}%
+ \def\contentsname{དཀར་ཆག།}%
+ %\def\listfigurename{}%
+ %\def\listtablename{}%
+ \def\indexname{གསུལ་བྱང་།}%
+ \def\figurename{པར་རིས་}% or dpe ris?
+ \def\tablename{རེའུ་མིག་}%
+ %\def\thepart{}%
+ \def\partname{ཆ་ཤས་}%
+ \def\pagename{ཤོག་}%
+ %\def\seename{}%
+ %\def\alsoname{}%
+ %\def\enclname{}%
+ \def\ccname{འདྲ་བཤུས་ལེན་མཁན་}%
+ %\def\headtoname{}%
+ \def\proofname{བདེན་དཔང་།}% not sure about this one...
+ \def\glossaryname{མིང་ཚིག་རེའུ་མིག།}%
+}
+\def\datetibetan{%
+ \def\tibetan@month{%
+ \ifcase\month\or
+ ཟླ་དང་པོ\or ཟླ་གཉིས་པ\or ཟླ་གསུམ་པ%
+ \or ཟླ་བཞི་པ\or ཟླ་ལྔ་པ\or ཟླ་དྲུག་པ\or ཟླ་བདུན་པ%
+ \or ཟླ་བརྒྱད་པ\or ཟླ་དགུ་པ\or ཟླ་བཆུ་པ\or ཟླ་བཆུ་གཅིག་པ\or ཟླ་བཆུ་གཉིས་པ\fi}%
+ \def\tibetan@daynum{%
+ \ifcase\day\or དང་པོ\or གཉིས་པ\or གསུམ་པ \or བཞི་པ\or ལྔ་པ\or དྲུག་པ\or བདུན་པ\or བརྒྱད་པ\or དགུ་པ\or བཆུ་པ%
+ \or བཆུ་གཅིག་པ\or བཆུ་གཉིས་པ\or བཆུ་གསུམ་པ\or བཆུ་བཞི་པ\or བཆུ་ལྔ་པ\or བཆུ་དྲུག་པ\or བཆུ་བདུན་པ\or བཆུ་བརྒྱད་པ\or བཆུ་དགུ་པ\or ཉི་ཤུ་པ%
+
+ \or ཉི་ཤུ་རྩ་གཅིག་པ\or ཉི་ཤུ་རྩ་གཉིས་པ\or ཉི་ཤུ་རྩ་གསུམ་པ\or ཉི་ཤུ་རྩ་བཞི་པ\or ཉི་ཤུ་རྩ་ལྔ་པ\or ཉི་ཤུ་རྩ་དྲུག་པ\or ཉི་ཤུ་རྩ་བདུན་པ\or ཉི་ཤུ་རྩ་བརྒྱད་པ\or ཉི་ཤུ་རྩ་དགུ་པ\or སུམ་ཆུ་པ%
+ \or སུམ་ཆུ་སོ་གཅིག་པ\fi}%
+ % As we use gregorian calendar, it's better to stick with spyi lo
+ %\newcount\tibetan@year%
+ %\tibetan@year=\year%
+ %\advance\tibetan@year by 127% this is bod rgyal lo, the most common, but there are others...
+ % I'm not sure the / character is in most tibetan fonts
+ %\def\today{\tibetannumber\day /\tibetannumber\day /\tibetannumber\year}%
+ \def\today{\tibetannumber\day །\tibetannumber\month །\tibetannumber\year}%
+ % this is more litterate, but longer
+ %\def\today{སྤྱི་ལོ་\tibetannumber\year ་སྤྱི་\tibetan@month{}་ད་རེས་\tibetan@daynum{}།}%
+}
+
+\def\tibetandigits#1{\expandafter\@tibetan@digits #1@}
+\def\@tibetan@digits#1{%
+ \ifx @#1% then terminate
+ \else
+ \ifx0#1༠\else\ifx1#1༡\else\ifx2#1༢\else\ifx3#1༣\else\ifx4#1༤\else\ifx5#1༥\else\ifx6#1༦\else\ifx7#1༧\else\ifx8#1༨\else\ifx9#1༩\else#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \expandafter\@tibetan@digits
+ \fi
+}
+
+\def\tibetannumber#1{%
+ \if@tibetan@numerals
+ \tibetandigits{\number#1}%
+ %%{\protect\addfontfeature{Mapping=tibetandigits}\protect\number#1}
+ \else
+ \number#1%
+ %%{\protect\reset@font\number#1}
+ \fi}
+
+\def\@tibetanalph#1{%
+ \ifcase#1\or ཀ\or ཁ\or ག\or ང\or ཅ\or ཆ\or ཇ\or ཉ\or ཏ\or ཐ\or ད\or ན\or པ\or
+ ཕ\or བ\or མ\or ཙ\or ཚ\or ཛ\or ཝ\or ཞ\or ཟ\or འ\or ཡ\or ར\or ལ\or ཤ\or ས\or ཧ\or ཨ
+ \else\xpg@ill@value{#1}{@tibetanalph}\fi}
+\def\tibetanAlph#1{\expandafter\@tibetanAlph\csname c@#1\endcsname}
+\def\@tibetanAlph#1{%
+ \ifcase#1\or ཀ\or ཁ\or ག\or ང\or ཅ\or ཆ\or ཇ\or ཉ\or ཏ\or ཐ\or ད\or ན\or པ\or
+ ཕ\or བ\or མ\or ཙ\or ཚ\or ཛ\or ཝ\or ཞ\or ཟ\or འ\or ཡ\or ར\or ལ\or ཤ\or ས\or ཧ\or ཨ
+ \else\xpg@ill@value{#1}{@tibetanalph}\fi}
+
+\def\tibetan@numbers{%
+ \let\@latinalph\@alph%
+ \let\@latinAlph\@Alph%
+ \if@tibetan@numerals
+ \let\@alph\@tibetanalph%
+ \let\@Alph\@tibetanAlph%
+ \fi
+}
+\def\notibetan@numbers{%
+ \let\@alph\@latinalph%
+ \let\@Alph\@latinAlph%
+}
+
+\def\tibetan@globalnumbers{%
+ \let\orig@arabic\@arabic%
+ \let\@arabic\tibetannumber%
+ \renewcommand{\thefootnote}{\protect\tibetannumber{\c@footnote}}%
+}
+\def\notibetan@globalnumbers{%
+ \let\@arabic\orig@arabic%
+ \renewcommand\thefootnote{\protect\number{\c@footnote}}%
+}
+
+% copied from Thai, not tested
+
+\def\blockextras@tibetan{%
+ \let\orig@baselinestrech\baselinestretch%
+ \renewcommand{\baselinestretch}{1.2}%
+}
+\def\noblockextras@tibetan{%
+ \let\baselinestrech\orig@baselinestretch%
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
index 6f40cf2cd3d..6f40cf2cd3d 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkmen.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
index 19b257272aa..19b257272aa 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkmen.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
index 26d3906ff4e..26d3906ff4e 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
index 028f0cdd885..028f0cdd885 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
index 810354ce1d4..810354ce1d4 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
index 96969508254..96969508254 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
index d861308b2c7..d861308b2c7 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/hebrewcal.sty b/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty
index c75b2f5faa9..c75b2f5faa9 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/hebrewcal.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty b/Master/texmf-dist/tex/latex/polyglossia/hijrical.sty
index 79da8d0020b..79da8d0020b 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/hijrical.sty
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-frpt.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-frpt.lua
new file mode 100644
index 00000000000..1fc02137cb0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-frpt.lua
@@ -0,0 +1,210 @@
+require('polyglossia') -- just in case...
+
+local add_to_callback = luatexbase.add_to_callback
+local remove_from_callback = luatexbase.remove_from_callback
+local priority_in_callback = luatexbase.priority_in_callback
+
+local next, type = next, type
+
+local nodes, fonts, node = nodes, fonts, node
+
+local insert_node_before = node.insert_before
+local insert_node_after = node.insert_after
+local remove_node = nodes.remove
+local end_of_math = node.end_of_math
+local has_attribute = node.has_attribute
+
+-- node types as of April 2013
+local glue_code = 10
+local glue_spec_code= 47
+local glyph_code = 37
+local penalty_code = 12
+local kern_code = 11
+
+-- we make a new node, so that we can copy it later on
+local penalty_node = node.new(penalty_code)
+penalty_node.penalty = 10000
+
+local function get_penalty_node()
+ return node.copy(penalty_node)
+end
+
+-- same for glue node
+local glue_node = node.new(glue_code)
+glue_node.spec = node.new(glue_spec_code)
+
+local function get_glue_node(dim)
+ local n = node.copy(glue_node)
+ n.spec.width = dim
+ return n
+end
+
+-- we have here all possible space characters, referenced by their
+-- unicode slot number, taken from char-def.lua
+local space_chars = {[20]=1, [160]=1, [5760]=1, [6158]=1, [8192]=1, [8193]=1, [8194]=1, [8195]=1,
+ [8196]=1, [8197]=1, [8198]=1, [8199]=1, [8200]=1, [8201]=1, [8202]=1, [8239]=1, [8287]=1, [12288]=1}
+
+-- from nodes-tst.lua, adapted
+local function somespace(n,all)
+ if n then
+ local id = n.id
+ if id == glue_code then
+ return (all or (n.spec.width ~= 0)) and glue_code
+ elseif id == kern_code then
+ return (all or (n.kern ~= 0)) and kern_code
+ elseif id == glyph_code then
+ if space_chars[n.char] then
+ return true
+ else
+ return false
+ end
+ end
+ end
+ return false
+end
+
+-- idem
+local function somepenalty(n,value)
+ if n then
+ local id = n.id
+ if id == penalty_code then
+ if value then
+ return n.penalty == value
+ else
+ return true
+ end
+ end
+ end
+ return false
+end
+
+local xpgfrptattr = luatexbase.attributes['xpg@frpt']
+
+local left=1
+local right=2
+local byte = unicode.utf8.byte
+
+-- Now there is a good question: how do we now, in lua, what a \thinspace is?
+-- In the LaTeX source (ltspace.dtx) it is defined as:
+-- \def\thinspace{\kern .16667em }. I see no way of seeing if it has been
+-- overriden or not... So we stick to this value.
+local thinspace = 0.16667
+-- thickspace is defined in amsmath.sty as:
+-- \renewcommand{\;}{\mspace+\thickmuskip{.2777em}}. Same problem as above, we
+-- stick to this fixed value.
+local thickspace = 0.2777 -- 5/18
+
+local mappings = {
+ [byte(':')] = {left, thickspace}, --really?
+ [byte('!')] = {left, thinspace},
+ [byte('?')] = {left, thinspace},
+ [byte(';')] = {left, thinspace},
+ [byte('‼')] = {left, thinspace},
+ [byte('⁇')] = {left, thinspace},
+ [byte('⁈')] = {left, thinspace},
+ [byte('⁉')] = {left, thinspace},
+ [byte('»')] = {left, thinspace},
+ [byte('>')] = {left, thinspace},
+ [byte('«')] = {right, thinspace},
+ [byte('‹')] = {right, thinspace},
+ }
+
+local function set_spacings(thinsp, thicksp)
+ for _, m in pairs(mappings) do
+ if m[2] == thinspace then
+ m[2] = thinsp
+ elseif m[2] == thickspace then
+ m[2] = thicksp
+ end
+ end
+ thickspace = thicksp
+ thinspace = thinsp
+end
+
+-- from typo-spa.lua
+local function process(head)
+ local done = false
+ local start = head
+ -- head is always begin of par (whatsit), so we have at least two prev nodes
+ -- penalty followed by glue
+ while start do
+ local id = start.id
+ if id == glyph_code then -- 37 is glyph as of 2013/04
+ local attr = has_attribute(start, xpgfrptattr)
+ if attr and attr > 0 then
+ local char = start.char
+ local map = mappings[char]
+ --node.unset_attribute(start, xpgfrptattr) -- needed?
+ if map then
+ local quad = font.fonts[start.font].parameters.quad -- might be optimized
+ local prev = start.prev
+ if map[1] == left and prev then
+ local prevprev = prev.prev
+ local somespace = somespace(prev,true)
+ -- TODO: there is a question here: do we override a preceding space or not?...
+ if somespace then
+ local somepenalty = somepenalty(prevprev,10000)
+ if somepenalty then
+ head = remove_node(head,prev,true)
+ head = remove_node(head,prevprev,true)
+ else
+ head = remove_node(head,prev,true)
+ end
+ end
+ insert_node_before(head,start,get_penalty_node())
+ insert_node_before(head,start,get_glue_node(map[2]*quad))
+ done = true
+ end
+ local next = start.next
+ if map[1] == right and next then
+ local nextnext = next.next
+
+ local somepenalty = somepenalty(next,10000)
+ if somepenalty then
+ local somespace = somespace(nextnext,true)
+ if somespace then
+ head = remove_node(head,next,true)
+ head = remove_node(head,nextnext,true)
+ end
+ else
+ local somespace = somespace(next,true)
+ if somespace then
+ head = remove_node(head,next,true)
+ end
+ end
+ insert_node_after(head,start,get_glue_node(right*quad))
+ insert_node_after(head,start,get_penalty_node())
+ done = true
+ end
+ end
+ end
+ elseif id == math_code then
+ -- warning: this is a feature of luatex > 0.76
+ start = end_of_math(start) -- weird, can return nil .. no math end?
+ end
+ if start then
+ start = start.next
+ end
+ end
+ return head, done
+end
+
+local callback_name = "pre_linebreak_filter"
+
+local function activate()
+ if not priority_in_callback (callback_name, "xpg-frpt.process") then
+ add_to_callback(callback_name, process, "xpg-frpt.process", 1)
+ end
+end
+
+local function desactivate()
+ if priority_in_callback (callback_name, "xpg-frpt.process") then
+ remove_from_callback(callback_name, "xpg-frpt.process")
+ end
+end
+
+polyglossia.activate_frpt = activate
+polyglossia.desactivate_frpt = desactivate
+polyglossia.set_spacings = set_spacings
+polyglossia.thinspace = thinspace
+polyglossia.thickspace = thickpace
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
new file mode 100644
index 00000000000..96f2341519a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
@@ -0,0 +1,77 @@
+require('luatex-hyphen')
+
+local luatexhyphen = luatexhyphen
+local byte = unicode.utf8.byte
+
+local polyglossia_module = {
+ name = "polyglossia",
+ version = 1.3,
+ date = "2013/05/11",
+ description = "Polyglossia",
+ author = "Elie Roux",
+ copyright = "Elie Roux",
+ license = "CC0"
+}
+
+local error, warning, info, log =
+ luatexbase.provides_module(polyglossia_module)
+
+polyglossia = polyglossia or {}
+local polyglossia = polyglossia
+
+local current_language
+local default_language
+
+local function loadlang(lang, id)
+ if luatexhyphen.lookupname(lang) then
+ luatexhyphen.loadlanguage(lang, id)
+ end
+end
+
+local function select_language(lang, id)
+ loadlang(lang, id)
+ polyglossia.current_language = lang
+end
+
+local function set_default_language(lang, id)
+ polyglossia.default_language = lang
+end
+
+local check_char
+
+if luaotfload and luaotfload.aux and luaotfload.aux.font_has_glyph then
+ local font_has_glyph = luaotfload.aux.font_has_glyph
+ function check_char(chr)
+ local codepoint = tonumber(chr)
+ if not codepoint then codepoint = byte(chr) end
+ if font_has_glyph(font.current(), codepoint) then
+ tex.sprint('1')
+ else
+ tex.sprint('0')
+ end
+ end
+else
+ local ids = fonts.identifiers or fonts.ids or fonts.hashes.identifiers
+ function check_char(chr) -- always in current font
+ local otfdata = ids[font.current()].characters
+ local codepoint = tonumber(chr)
+ if not codepoint then codepoint = byte(chr) end
+ if otfdata and otfdata[codepoint] then
+ tex.print('1')
+ else
+ tex.print('0')
+ end
+ end
+end
+
+local function load_frpt()
+ require('polyglossia-frpt')
+end
+
+polyglossia.loadlang = loadlang
+polyglossia.select_language = select_language
+polyglossia.set_default_language = set_default_language
+polyglossia.current_language = current_language -- doesn't seem to be working well :-(
+polyglossia.default_language = default_language
+polyglossia.check_char = check_char
+polyglossia.load_frpt = load_frpt
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
index 3c35d6b8884..08ba373330f 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
@@ -1,24 +1,29 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2012/04/29 v1.2.1
- Babel replacement for XeLaTeX]
+\ProvidesPackage{polyglossia}[2012/08/06 v1.30MM
+ Babel replacement for XeLaTeX and LuaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
\RequirePackage{xkeyval}[2008/08/13]
+% Will raise error if used with anything else than XeTeX or LuaTeX
\RequirePackage{fontspec}[2010/06/08]% v2.0
+% Ironically, ifluatex.sty is included by some other package if we run
+% LuaTeX, but it's not if we run XeTeX, and we need it to know which of
+% the two engines it is! Hence we include it here.
+\RequirePackage{ifluatex}
% fontspec now uses LaTeX3 packages such as expl3, so we need this:
\ExplSyntaxOn
-\ifcsundef{newXeTeXintercharclass}{%
- \xpg@error{Your~ xelatex~ format~ appears~ to~ be~ outdated!^^J
-~~~~Please~ update~ your~ system~ and~ recreate~ it~ with~ fmtutil.}
- }{}
-
%% This is for compatibility with Babel-aware package:
\cslet{ver@babel.sty}{\@empty} % this "fakes" babel
\def\languageshorthands#1{\relax} %this is for scrlttr2 class
\AtEndPreamble{\let\bbl@set@language\xpg@set@language} %for biblatex
\AtEndPreamble{\let\bbl@main@language\xpg@main@language} %for biblatex
+\ifluatex
+ \RequirePackage{luatexbase} % already included by fontspec, but needed here
+ \RequireLuaModule{polyglossia}
+\fi
+
%% for \docvslist (etoolbox)
\providecommand*{\do}[1]{}%
@@ -42,7 +47,7 @@
I~ will~ use~ \string\language=\string\l@ #1\space instead}%
\expandafter\adddialect\csname l@#2\expandafter\endcsname\csname l@#1\endcsname\relax}
- \providecommand*{\xpg@nopatterns}[1]{%
+\providecommand*{\xpg@nopatterns}[1]{%
\xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#1'\MessageBreak
I~ will~ use~ \string\language=\string\l@nohyphenation\space instead}%
%%TODO? \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
@@ -134,6 +139,7 @@
%% options currently available:
%% language : the name of the language (as understood by fontspec)
%% hyphennames : the different hyphenation patterns to try (comma separated list)
+%%% TODO: what if a language has no hyphenation possible? ex: tibetan
%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback, with \xpg@nopatterns@fallback - i.e. with a warning: e.g. sanskrit for hindi, or catalan for asturian.
%% script : the name of the script (as understood by fontspec) – default is Latin
%% direction : the direction of the script: LR or RL
@@ -166,7 +172,7 @@
\ifcsdef{l@#1}{}{%
\ifstrequal{#1}{##1}{}%
{\ifcsdef{l@##1}%
- {\csletcs{l@#1}{l@##1}\listbreak}%
+ {\csletcs{l@#1}{l@##1}\xpg@set@language@luatex@ii{##1}\listbreak}%
{}%
}%
}%
@@ -201,6 +207,8 @@
\csgdef{xpg@langtag@#1}{##1}}%
\define@key[xpg@setup]{#1}{hyphennames}[{#1}]{%
\docsvlist{##1}%
+ % \expandafter\show\csname l@##1\endcsname
+ % \expandafter\show\csname l@#1\endcsname
% if l@#1 does not yet exist,
% we assign it to nohyphenation
% we do this here in case the hyphennames key was omitted
@@ -274,9 +282,9 @@
\edef\tmp@@scriptparam{Script=#2}%
\expandafter\expandafter\expandafter\fontspec_if_script:nTF \expandafter{#1}%
{\expandafter\expandafter\expandafter\addfontfeature\expandafter{\tmp@@scriptparam}}%
- {\xpg@error{^^J
- The~ current~ roman~ font~ does~ not~ contain~ the~ \expandafter\noexpand#2 ~ script!^^J
- Please~ define~ \expandafter\string\csname \xpg@lowercasefirst{#2}font\endcsname\space with~ \string\newfontfamily}}%
+ {\xpg@error{The~ current~ roman~ font~ does~ not~ contain\MessageBreak
+ the~ \expandafter\noexpand#2 ~ script!\MessageBreak
+ Please~ define~ \expandafter\string\csname \xpg@lowercasefirst{#2}font\endcsname\space with~ \string\newfontfamily}}%
}
\def\xpg@fontsetup@latin#1{%
@@ -433,8 +441,11 @@
}
\setkeys{polyglossia}{localmarks=false}
+% Easy way out – Arthur, 2012-08-01
+\ifcsdef{newXeTeXintercharclass}{%
% to reset the intercharclass of a character to "normal"
\newXeTeXintercharclass\xpg@normalclass %TODO
+}{}
%% when no patterns are available, we use \l@nohyphenation, assigned to 255
%% (suggestion by Enrico Gregorio)
@@ -463,6 +474,9 @@
{\xpg@input{gloss-#2.ldf}%
\xpg@info{Default~ language~ is~ #2}%
\def\languagename{#2}%
+ \ifluatex %
+ \directlua{polyglossia.set_default_language('\luatexluaescapestring{\string#2}')}%
+ \fi %
% This is needed because \arabic is a built-in LaTeX command:
% so now we have \begin{Arabic}... instead of \begin{arabic}...
\ifstrequal{#2}{arabic}%
@@ -674,7 +688,23 @@
\fi
}
+\newcommand\xpg@set@language@luatex@ii[1]{%
+ \ifluatex %
+ % here we use lu@texhyphen@loaded@\the\language, the same as in babel
+ \expandafter\ifcsname lu@texhyphen@loaded@\the\csname l@#1\endcsname\endcsname \else %
+ \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
+ \directlua{polyglossia.select_language('\luatexluaescapestring{\string#1}', '\the\language')}%
+ \fi %
+ \fi %
+}
+
\def\select@language#1{%
+ \ifluatex %
+ \ifcsname lu@texhyphen@loaded@\the\language\endcsname \else %
+ \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
+ \directlua{polyglossia.select_language('\luatexluaescapestring{\string#1}', '\the\language')}%
+ \fi %
+ \fi %
\xpg@initial@setup%
\select@@language{#1}%
\ifcsundef{setRL}{}%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/xgreek-fixes.def b/Master/texmf-dist/tex/latex/polyglossia/xgreek-fixes.def
index 853bd0831c1..853bd0831c1 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/xgreek-fixes.def
+++ b/Master/texmf-dist/tex/latex/polyglossia/xgreek-fixes.def
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/babelsh.def b/Master/texmf-dist/tex/xelatex/polyglossia/babelsh.def
deleted file mode 100644
index 5434f9be80d..00000000000
--- a/Master/texmf-dist/tex/xelatex/polyglossia/babelsh.def
+++ /dev/null
@@ -1,308 +0,0 @@
-\ifx\initiate@active@char\@undefined
-\else
- \bbl@afterfi\endinput
-\fi
-\ProvidesFile{babelsh.def}
- [2009/05/07 %
- Babel common definitions for shorthands^^J
- Taken verbatim from babel.def (2008/07/06 v3.8l)]
-\def\bbl@add@special#1{\begingroup
- \def\do{\noexpand\do\noexpand}%
- \def\@makeother{\noexpand\@makeother\noexpand}%
- \edef\x{\endgroup
- \def\noexpand\dospecials{\dospecials\do#1}%
- \expandafter\ifx\csname @sanitize\endcsname\relax \else
- \def\noexpand\@sanitize{\@sanitize\@makeother#1}%
- \fi}%
- \x}
-\def\bbl@remove@special#1{\begingroup
- \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty
- \else\noexpand##1\noexpand##2\fi}%
- \def\do{\x\do}%
- \def\@makeother{\x\@makeother}%
- \edef\x{\endgroup
- \def\noexpand\dospecials{\dospecials}%
- \expandafter\ifx\csname @sanitize\endcsname\relax \else
- \def\noexpand\@sanitize{\@sanitize}%
- \fi}%
- \x}
-\long\def\bbl@afterelse#1\else#2\fi{\fi#1}
-\long\def\bbl@afterfi#1\fi{\fi#1}
-\def\initiate@active@char#1{%
- \expandafter\ifx\csname active@char\string##1\endcsname\relax
- \bbl@afterfi{\@initiate@active@char{#1}}%
- \fi}
-\begingroup
- \catcode`\~\active
- \def\x{\endgroup
- \def\@initiate@active@char##1{%
- \ifcat\noexpand##1\noexpand~\relax
- \@ifundefined{normal@char\string##1}{%
- \expandafter\let\csname normal@char\string##1\endcsname##1%
- \expandafter\gdef
- \expandafter##1%
- \expandafter{%
- \expandafter\active@prefix\expandafter##1%
- \csname normal@char\string##1\endcsname}}{}%
- \else
- \@activated{##1}%
- \@namedef{normal@char\string##1}{##1}%
- \ifx##1'%
- \let\prim@s\bbl@prim@s
- \@namedef{normal@char\string##1}{%
- \textormath{##1}{^\bgroup\prim@s}}%
- \fi
- \ifx##1^%
- \gdef\bbl@act@caret{%
- \ifmmode
- \csname normal@char\string^\endcsname
- \else
- \bbl@afterfi
- {\if@safe@actives
- \bbl@afterelse\csname normal@char\string##1\endcsname
- \else
- \bbl@afterfi\csname user@active\string##1\endcsname
- \fi}%
- \fi}
- \fi
- %%\@ifpackagewith{babel}{KeepShorthandsActive}{}{%
- \edef\bbl@tempa{\catcode`\noexpand##1\the\catcode`##1}%
- \expandafter\AtEndOfPackage\expandafter{\bbl@tempa}%
- %%}%
- \@tempcnta=\lccode`\~
- \lccode`~=`##1%
- \lowercase{%
- \catcode`~\active
- \expandafter\bbl@add@special
- \csname \string##1\endcsname
- \AtBeginDocument{%
- \catcode`##1\active
- \if@filesw
- \immediate\write\@mainaux{%
- \string\catcode`##1\string\active}%
- \fi}%
- \expandafter\gdef
- \expandafter~%
- \expandafter{%
- \expandafter\active@prefix\expandafter##1%
- \csname normal@char\string##1\endcsname}}%
- \lccode`\~\@tempcnta
- \fi
- \ifx##1^%
- \@namedef{active@char\string##1}{\bbl@act@caret}%
- \else
- \@namedef{active@char\string##1}{%
- \if@safe@actives
- \bbl@afterelse\csname normal@char\string##1\endcsname
- \else
- \bbl@afterfi\csname user@active\string##1\endcsname
- \fi}%
- \fi
- \@namedef{user@active\string##1}{%
- \expandafter\ifx
- \csname \user@group @sh@\string##1@\endcsname
- \relax
- \bbl@afterelse\bbl@sh@select\user@group##1%
- {user@active@arg\string##1}{language@active\string##1}%
- \else
- \bbl@afterfi\csname \user@group @sh@\string##1@\endcsname
- \fi}%
- \long\@namedef{user@active@arg\string##1}####1{%
- \expandafter\ifx
- \csname \user@group @sh@\string##1@\string####1@\endcsname
- \relax
- \bbl@afterelse
- \csname language@active\string##1\endcsname####1%
- \else
- \bbl@afterfi
- \csname \user@group @sh@\string##1@\string####1@%
- \endcsname
- \fi}%
- \@namedef{\user@group @sh@\string##1@@}{%
- \csname normal@char\string##1\endcsname}
- \@namedef{language@active\string##1}{%
- \expandafter\ifx
- \csname \language@group @sh@\string##1@\endcsname
- \relax
- \bbl@afterelse\bbl@sh@select\language@group##1%
- {language@active@arg\string##1}{system@active\string##1}%
- \else
- \bbl@afterfi
- \csname \language@group @sh@\string##1@\endcsname
- \fi}%
- \long\@namedef{language@active@arg\string##1}####1{%
- \expandafter\ifx
- \csname \language@group @sh@\string##1@\string####1@\endcsname
- \relax
- \bbl@afterelse
- \csname system@active\string##1\endcsname####1%
- \else
- \bbl@afterfi
- \csname \language@group @sh@\string##1@\string####1@%
- \endcsname
- \fi}%
- \@namedef{system@active\string##1}{%
- \expandafter\ifx
- \csname \system@group @sh@\string##1@\endcsname
- \relax
- \bbl@afterelse\bbl@sh@select\system@group##1%
- {system@active@arg\string##1}{normal@char\string##1}%
- \else
- \bbl@afterfi\csname \system@group @sh@\string##1@\endcsname
- \fi}%
- \long\@namedef{system@active@arg\string##1}####1{%
- \expandafter\ifx
- \csname \system@group @sh@\string##1@\string####1@\endcsname
- \relax
- \bbl@afterelse\csname normal@char\string##1\endcsname####1%
- \else
- \bbl@afterfi
- \csname \system@group @sh@\string##1@\string####1@\endcsname
- \fi}%
- \@namedef{user@sh@\string##1@\string\protect@}{%
- \csname user@active\string##1\endcsname}%
- }%
- }\x
-\def\bbl@sh@select#1#2{%
- \expandafter\ifx\csname#1@sh@\string#2@sel\endcsname\relax
- \bbl@afterelse\bbl@scndcs
- \else
- \bbl@afterfi\csname#1@sh@\string#2@sel\endcsname
- \fi
-}
-\def\active@prefix#1{%
- \ifx\protect\@typeset@protect
- \else
- \ifx\protect\@unexpandable@protect
- \bbl@afterelse\bbl@afterfi\noexpand#1\@gobble
- \else
- \bbl@afterfi\bbl@afterfi\protect#1\@gobble
- \fi
- \fi}
-\newif\if@safe@actives
-\@safe@activesfalse
-\def\bbl@restore@actives{\if@safe@actives\@safe@activesfalse\fi}
-\def\bbl@activate#1{%
- \expandafter\def
- \expandafter#1\expandafter{%
- \expandafter\active@prefix
- \expandafter#1\csname active@char\string#1\endcsname}%
-}
-\def\bbl@deactivate#1{%
- \expandafter\def
- \expandafter#1\expandafter{%
- \expandafter\active@prefix
- \expandafter#1\csname normal@char\string#1\endcsname}%
-}
-\def\bbl@firstcs#1#2{\csname#1\endcsname}
-\def\bbl@scndcs#1#2{\csname#2\endcsname}
-\def\declare@shorthand#1#2{\@decl@short{#1}#2\@nil}
-\def\@decl@short#1#2#3\@nil#4{%
- \def\bbl@tempa{#3}%
- \ifx\bbl@tempa\@empty
- \expandafter\let\csname #1@sh@\string#2@sel\endcsname\bbl@scndcs
- \@namedef{#1@sh@\string#2@}{#4}%
- \else
- \expandafter\let\csname #1@sh@\string#2@sel\endcsname\bbl@firstcs
- \@namedef{#1@sh@\string#2@\string#3@}{#4}%
- \fi}
-\def\textormath#1#2{%
- \ifmmode
- \bbl@afterelse#2%
- \else
- \bbl@afterfi#1%
- \fi}
-\def\user@group{user}
-\def\language@group{english}
-\def\system@group{system}
-\def\useshorthands#1{%
- \def\user@group{user}%
- \initiate@active@char{#1}%
- \@tempcnta\lccode`\~
- \lccode`~=`#1%
- \lowercase{\catcode`~\active\bbl@activate{~}}%
- \lccode`\~\@tempcnta}
-\def\defineshorthand{\declare@shorthand{user}}
-\def\languageshorthands#1{\def\language@group{#1}}
-\def\aliasshorthand#1#2{%
- \expandafter\ifx\csname active@char\string#2\endcsname\relax
- \ifx\document\@notprerr
- \@notshorthand{#2}
- \else
- \initiate@active@char{#2}%
- \@tempcnta\lccode`\~
- \lccode`~=`#2%
- \lowercase{\let~#1}%
- \lccode`\~\@tempcnta
- \fi
- \fi
-}
-\def\@notshorthand#1{%
- \PackageError{polyglossia}{%
- The character `\string #1' should be made
- a shorthand character;\MessageBreak
- add the command \string\useshorthands\string{#1\string} to
- the preamble.\MessageBreak
- I will ignore your instruction}{}%
- }
-\newcommand*\shorthandon[1]{\bbl@switch@sh{on}#1\@nil}
-\newcommand*\shorthandoff[1]{\bbl@switch@sh{off}#1\@nil}
-\def\bbl@switch@sh#1#2#3\@nil{%
- \@ifundefined{active@char\string#2}{%
- \PackageError{polyglossia}{%
- The character '\string #2' is not a shorthand character
- in \languagename}{%
- Maybe you made a typing mistake?\MessageBreak
- I will ignore your instruction}}{%
- \csname bbl@switch@sh@#1\endcsname#2}%
- \ifx#3\@empty\else
- \bbl@afterfi\bbl@switch@sh{#1}#3\@nil
- \fi}
-\def\bbl@switch@sh@off#1{\catcode`#112\relax}
-\begingroup
- \catcode`\~\active
- \def\x{\endgroup
- \def\bbl@switch@sh@on##1{%
- \begingroup
- \lccode`~=`##1%
- \lowercase{\endgroup
- \catcode`~\active
- }%
- }%
- }
-\x
-\declare@shorthand{system}{"}{\csname normal@char\string"\endcsname}
-\declare@shorthand{system}{'}{%
- \textormath{\csname normal@char\string'\endcsname}%
- {\sp\bgroup\prim@s}}
-\declare@shorthand{system}{`}{\csname normal@char\string`\endcsname}
-\def\bbl@prim@s{%
- \prime\futurelet\@let@token\bbl@pr@m@s}
-\begingroup
- \catcode`\'\active\let'\relax
- \def\x{\endgroup
- \def\bbl@pr@m@s{%
- \ifx'\@let@token
- \expandafter\pr@@@s
- \else
- \ifx^\@let@token
- \expandafter\expandafter\expandafter\pr@@@t
- \else
- \egroup
- \fi
- \fi}%
- }
-\x
-\initiate@active@char{~}
-\declare@shorthand{system}{~}{\leavevmode\nobreak\ }
-\bbl@activate{~}
-\def\bbl@disc#1#2{%
- \nobreak\discretionary{#2-}{}{#1}\allowhyphens}
-\def\bbl@t@one{T1}
-\def\allowhyphens{%
- \ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi}
-\def\bbl@allowhyphens{\nobreak\hskip\z@skip}
-%HERE ENDS THE CODE COPIED FROM babel.def --------------------
-\def\bbl@disc@german#1#2{%
- \nobreak\discretionary{#2-}{}{#1}}
-\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
deleted file mode 100644
index 612094c57b6..00000000000
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
+++ /dev/null
@@ -1,118 +0,0 @@
-\ProvidesFile{gloss-french.ldf}[polyglossia: module for french]
-
-\PolyglossiaSetup{french}{%
- language=French,
- script=Latin,
- hyphennames={french,francais},
- frenchspacing=true,
- indentfirst=true,
- hyphenmins={2,2},
- fontsetup=true}
-
-\newXeTeXintercharclass\french@punctthin % ! ? ; et autres
-\newXeTeXintercharclass\french@punctthick % :
-\newXeTeXintercharclass\french@punctguillstart % « ‹
-\newXeTeXintercharclass\french@punctguillend % » ›
-
-\def\xpg@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
-\def\xpg@nospace#1{#1}
-
-\def\french@punctuation{%
- \lccode"2019="2019
- \XeTeXinterchartokenstate=1
- \XeTeXcharclass `\! \french@punctthin
- \XeTeXcharclass `\? \french@punctthin
- \XeTeXcharclass `\‼ \french@punctthin
- \XeTeXcharclass `\⁇ \french@punctthin
- \XeTeXcharclass `\⁈ \french@punctthin
- \XeTeXcharclass `\⁉ \french@punctthin
- \XeTeXcharclass `\; \french@punctthin
- \XeTeXcharclass `\: \french@punctthick
- \XeTeXcharclass `\« \french@punctguillstart
- \XeTeXcharclass `\» \french@punctguillend
- \XeTeXcharclass `\‹ \french@punctguillstart
- \XeTeXcharclass `\› \french@punctguillend
- \XeTeXinterchartoks \z@ \french@punctthin = {\nobreak\thinspace}%
- \XeTeXinterchartoks \z@ \french@punctthick = {\nobreakspace}%
- \XeTeXinterchartoks 255 \french@punctthin = {\xpg@unskip\nobreak\thinspace}%
- \XeTeXinterchartoks 255 \french@punctthick = {\xpg@unskip\nobreakspace}%
- \XeTeXinterchartoks \french@punctguillstart \z@ = {\nobreakspace}% "«a" -> "« a"
-% \XeTeXinterchartoks \z@ \french@punctguillstart = {\nobreakspace}% "a«" unchanged?
-% \XeTeXinterchartoks \french@punctguillend \z@ = {\nobreakspace}% "»a" unchanged?
- \XeTeXinterchartoks \z@ \french@punctguillend = {\nobreakspace}% "a»" -> "a »"
- \XeTeXinterchartoks \french@punctguillstart 255 = {\nobreakspace\xpg@nospace}% "« " -> "«~"
- \XeTeXinterchartoks 255 \french@punctguillend = {\xpg@unskip\nobreakspace}% " »" -> "~»"
- \XeTeXinterchartoks \french@punctguillend \french@punctthin = {\nobreak\thinspace}% "»;" -> "» ;"
- \XeTeXinterchartoks \french@punctguillend \french@punctthick = {\nobreakspace}% "»:" -> "» :"
- \XeTeXinterchartoks \french@punctthin \french@punctguillend = {\nobreakspace}% "?»" -> "? »"
- }
-
-\def\nofrench@punctuation{%
- \lccode"2019=\z@
- \XeTeXcharclass `\! \z@
- \XeTeXcharclass `\? \z@
- \XeTeXcharclass `\‼ \z@
- \XeTeXcharclass `\⁇ \z@
- \XeTeXcharclass `\⁈ \z@
- \XeTeXcharclass `\⁉ \z@
- \XeTeXcharclass `\; \z@
- \XeTeXcharclass `\: \z@
- \XeTeXcharclass `\« \z@
- \XeTeXcharclass `\» \z@
- \XeTeXcharclass `\‹ \z@
- \XeTeXcharclass `\› \z@
- \XeTeXinterchartokenstate=0
- }
-
-\def\captionsfrench{%
- \def\refname{Références}%
- \def\abstractname{Résumé}%
- \def\bibname{Bibliographie}%
- \def\prefacename{Préface}%
- \def\chaptername{Chapitre}%
- \def\appendixname{Annexe}%
- \def\contentsname{Table des matières}%
- \def\listfigurename{Table des figures}%
- \def\listtablename{Liste des tableaux}%
- \def\indexname{Index}%
- \def\figurename{\textsc{Fig.}}%
- \def\tablename{\textsc{Tab.}}%
- \def\@Fpt{\ifcase\value{part}\or Première\or Deuxième\or
- Troisième\or Quatrième\or Cinquième\or Sixième\or
- Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or
- Douzième\or Treizième\or Quatorzième\or Quinzième\or
- Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or
- Vingtième\fi\space}%
- \def\thepart{}%
- \def\partname{\protect\@Fpt partie}%
- \def\pagename{page}%
- \def\seename{\emph{voir}}%
- \def\alsoname{\emph{voir aussi}}%
- \def\enclname{P.~J. }%
- \def\ccname{Copie à }%
- \def\headtoname{}%
- \def\proofname{Démonstration}%
- }
-\def\datefrench{%
- \def\today{\ifx\ier\undefined\def\ier{er}\fi
- \ifnum\day=1\relax 1\ier%
- \else \number\day\fi
- \space \ifcase\month%
- \or janvier\or février\or mars\or avril\or mai\or juin\or
- juillet\or août\or septembre\or octobre\or novembre\or
- décembre\fi
- \space \number\year}}
-
-\def\noextras@french{%
- \nofrench@punctuation%
- }
-
-\def\blockextras@french{%
- \french@punctuation%
- }
-
-\def\inlineextras@french{%
- \french@punctuation%
- }
-
-\endinput