texlive[58445] branches/branch2020.0/Master/texmf-dist: polyglossia

commits+karl at tug.org commits+karl at tug.org
Tue Mar 16 23:13:44 CET 2021


Revision: 58445
          http://tug.org/svn/texlive?view=revision&revision=58445
Author:   karl
Date:     2021-03-16 23:13:44 +0100 (Tue, 16 Mar 2021)
Log Message:
-----------
polyglossia (16mar21) (branch)

Modified Paths:
--------------
    branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/README.md
    branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
    branches/branch2020.0/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty

Added Paths:
-----------
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
    branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/README.md
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/README.md	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/README.md	2021-03-16 22:13:44 UTC (rev 58445)
@@ -26,8 +26,8 @@
 
 # LICENCE
 
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
-Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2021 Arthur Reutenauer,
+Copyright (c) 2019-2021 Bastien Roucariès, 2019-2021 Jürgen Spitzmüller
 
 Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
 (https://opensource.org/licenses/MIT).

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex	2021-03-16 22:13:44 UTC (rev 58445)
@@ -37,6 +37,7 @@
 \newcommand*\TA[1]{\textsc{\color{xpgblue}#1}}
 \newcommand*\link[1]{\href{#1}{#1}}
 \renewcommand*\meta[1]{\texttt{⟨#1⟩}}
+\newcommand*\TXI[1]{\href{https://github.com/reutenauer/polyglossia/issues/#1}{\textcolor{xpgred}{\##1}}}
 \def\eg{\textit{e.g.,}\xspace}
 \def\ie{\textit{i.e.,}\xspace}
 \def\ca{\textit{ca.}\@\xspace}
@@ -237,9 +238,9 @@
 breton          & galician       & \TX{latin}     & romansh         & turkmen        \\
 bulgarian       & \TX{georgian}  & latvian        & \TX{russian}    & \TX{ukrainian} \\
 \TX{catalan}    & \TX{german}    & lithuanian     & \TX{sami}       & urdu           \\
-coptic          & \TX{greek}     & macedonian     & \TX{sanskrit}   & vietnamese     \\
-\TX{croatian}   & \TX{hebrew}    & \TX{malay}     & \TX{serbian}    & \TX{welsh}     \\
-\TX{czech}      & \TX{hindi}     & malayalam      & \TX{slovak}     &                \\
+coptic          & \TX{greek}     & macedonian     & \TX{sanskrit}   & uyghur         \\
+\TX{croatian}   & \TX{hebrew}    & \TX{malay}     & \TX{serbian}    & vietnamese     \\
+\TX{czech}      & \TX{hindi}     & malayalam      & \TX{slovak}     & \TX{welsh}     \\
 \bottomrule
 \end{tabular}
 
@@ -267,6 +268,7 @@
 \emph{norsk}\slash\emph{nynorsk}\textrightarrow\emph{norwegian}). The old names are still supported for backwards
 compatibility reasons.
 Version 1.46\new{1.46} introduces support for Afrikaans, Belarusian, Bosnian and Georgian.
+Version 1.52\new{1.52} introduces support for Uyghur.
 
 
 \subsection{Relation to and use of Babel language names}\label{sec:babelnames}
@@ -515,6 +517,7 @@
 	th               & thai        &                                                    \\
 	tk               & turkmen     &                                                    \\
 	tr               & turkish     &                                                    \\
+	ug               & uyghur      &                                                    \\
 	uk               & ukrainian   &                                                    \\
 	ur               & urdu        &                                                    \\
 	vi               & vietnamese  &                                                    \\
@@ -1643,12 +1646,16 @@
 	\end{shorthands}
     \item \xpgboolkeytrue[1.50]{forceheadingpunctuation}
         By default, chapter and section numbers always have a trailing punctuation in Russian
-        (as in \emph{1.1.} as opposed to \emph{1.1}). If this option is set to false, \textsf{polyglossia}
+        (as in \emph{1.1.} as opposed to \emph{1.1}). If this option is set to \xpgvalue{false}, \textsf{polyglossia}
         will not touch heading punctuation, so this will be whatever the class or a package determines.
 	\item \xpgboolkeytrue[1.46]{indentfirst}
 		By default, all paragraphs are indented in Russian, also those after a
-		chapter or section heading. If this option is false, the latter paragraphs
+		chapter or section heading. If this option is \xpgvalue{false}, the latter paragraphs
 		are not indented, as normal in \LaTeX.
+    \item \xpgboolkeytrue[1.52]{mathfunctions}
+	    By default, some specific math macros are defined for Russian (see below). In order to prevent command
+	    clashes (\eg with the \pkg{chemformula} package), you can switch these definitions off by passing \xpgvalue{false}
+	    to this option.
 	\item \xpgchoicekey{spelling}{\xpgpresetvalue{modern} or \xpgvalue{old}}
 		This option is for captions and date only, not for hyphenation.
 	\item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
@@ -1672,6 +1679,13 @@
 	      \Eg ¦\textrussian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
 	\item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
 	\end{itemize}
+    If the \xpgoption{mathfunctions} option is \xpgvalue{true}, loading Russian defines a few macros than can be used
+    independently of the current language. These are nine macros to be used in math mode to type the names of
+    trigonometric functions common for Russian documents: \cmd\sh , \cmd\ch , \cmd\tg , \cmd\ctg , \cmd\arctg ,
+    \cmd\arcctg , \cmd\th , \cmd\cth , and \cmd\cosec . Cyrillic letters in math mode can be typed with
+    the aid of text commands such as \cmd\textbf , \cmd\textsf , \cmd\textit , \cmd\texttt , etc.
+    The macros \cmd\Prob , \cmd\Variance , \cmd\NOD , \cmd\nod , \cmd\NOK , \cmd\nok , \cmd\Proj\ print some rare
+    Russian mathematical symbols.
 
 \subsection[sami]{sami\new{1.45}}\label{sami}
 Currently support for Sami is limited to Northern Sami.
@@ -1868,6 +1882,10 @@
 		\item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
 		the dash. Space before the dash is output as is.
 	\end{shorthands}
+    \item \xpgboolkeytrue[1.52]{mathfunctions}
+		By default, some specific math macros are defined for Ukrainian (see below). In order to prevent command
+		clashes (\eg with the \pkg{chemformula} package), you can switch these definitions off by passing \xpgvalue{false}
+		to this option.
 	\item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
 	      Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
 	\begin{itemize}
@@ -1889,6 +1907,15 @@
 	\Eg ¦\textukrainian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
 	\item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
 \end{itemize}
+%
+If the \xpgoption{mathfunctions} option is \xpgvalue{true}, loading Ukrainian defines a few macros than can be used
+independently of the current language. These are nine macros to be used in math mode to type the names of
+trigonometric functions common for Ukrainian documents: \cmd\sh , \cmd\ch , \cmd\tg , \cmd\ctg , \cmd\arctg ,
+\cmd\arcctg , \cmd\th , \cmd\cth , and \cmd\cosec . Cyrillic letters in math mode can be typed with
+the aid of text commands such as \cmd\textbf , \cmd\textsf , \cmd\textit , \cmd\texttt , etc.
+The macros \cmd\Prob , \cmd\Variance , \cmd\NOD , \cmd\nod , \cmd\NOK , \cmd\nok , \cmd\NSD , \cmd\nsd , \cmd\NSK ,
+\cmd\nsk , \cmd\Proj\ print some rare
+Ukrainian mathematical symbols.
 
 \subsection{welsh}\label{welsh}
 \paragraph*{Options:}
@@ -2260,6 +2287,752 @@
 \noindent Finally, if you want to know whether a specific language option has been set, you can use
 \displaycmd{\iflanguageoption\marg{lang}\marg{opt. key}\marg{opt. value}\marg{true}\marg{false}}{\iflanguageoption}\new{1.47}
 
+\section{Revision history}
+
+\bgroup\footnotesize
+\subsection*{1.52 (16-03-2021)}
+
+\subsubsection*{New features}
+\begin{itemize}
+\item Adaptations to \LaTeX\ 2021/05/01 pre-release 2 for Korean (\TXI{477}).
+\item Add support for Uyghur (\TXI{475}).
+\item New option \xpgoption{mathfunctions} for Russian and Ukrainian allows to disable the definitions
+      of math macros that might clash with other packages (\TXI{465}).
+\item Support LaTeX's new NFSS hooks (\TXI{471}).
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Fix French part modifications with \pkg{hyperref} (\TXI{469}).
+\item Fix markup of French ¦\see¦ and ¦\alsoname¦ (\TXI{468}).
+\end{itemize}
+
+\subsection*{1.51 (08-12-2020)}
+
+\subsubsection*{New features}
+\begin{itemize}
+\item New option \xpgoption{frenchpart} for French (\TXI{458}).
+\item New option \xpgoption{splithyphens} for Croatian (\TXI{454}).
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Use new LaTeX core hooks rather than \pkg{filehook} package. This fixes
+      a recent breakage of \pkg{filehook} with other external packages (\TXI{453}).
+\item Remove very old code that pretends \pkg{polyglossia} is \pkg{babel} (\TXI{455}).
+\item Fix spelling of Albanian contentsname (\TXI{456}).
+\item Fix part heading modification in French (\TXI{458}).
+\item Fix extra space in Hebrew (\TXI{459}).
+\item Register main polyglossia language earlier (\TXI{461}).
+\item Allow for hyphenations in words following opening guillemet in French with XeTeX (\TXI{462}).
+\end{itemize}
+
+
+\subsection*{1.50a (15-10-2020)}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Assure ¦\autodot¦ is defined with ¦\KOMAScript¦ in Russian.
+\end{itemize}
+
+\subsection*{1.50 (09-10-2020)}
+
+\subsubsection*{New features}
+\begin{itemize}
+\item Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+      output. This brings LuaTeX on par with XeTeX for all scripts (\TXI{337}).
+      The renderer can be changed via the new global \xpgoption{luatexrenderer} option.
+\item The (previously inadvertently working) ¦hyphenrules¦ environment that ceased
+      to work after a recent \pkg{babel} update is back and now officially supported.
+      The environment now also supports language options and aliases (\TXI{427}).
+\item New command ¦\setlanghyphenmins¦ to adapt hyphenation thresholds of languages
+      and varieties.
+\item New command ¦\abjadalph¦ for Arabic with corresponding option (\TXI{431}).
+\item Replace consecutive glues around punctuation by the correct amount of space
+      with lualatex for French, ecclesiastic Latin, and Sanskrit (\TXI{437}).
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Remove warning about missing Brazil patterns (\TXI{404}).
+\item Fix incompatibility with recent \pkg{babel} release (\TXI{408}).
+\item Fixed some spellings in Marathi (\TXI{409}).
+\item Fix spacing of geminating dot in Catalan (\TXI{410}).
+\item Fix incompatibility of Marathi with \pkg{beamer}.
+\item Correct ¦\partname¦ in Hindi (\TXI{416}).
+\item Updates and improvements to Kurdish (\TXI{418}).
+\item Only activate shorthand character if \xpgoption{babelshorthands} is \xpgvalue{true} (\TXI{421}). 
+\item Fix whitespace issue in Czech and Slovak with \xpgvalue{vlna=true} (\TXI{423}).
+\item Fix whitespace issue in Danish (\TXI{424}).
+\item Fix catcode conflicts that might occur in language definition files
+      f.\,ex.\ when loaded from a LaTeX3 class (\TXI{67}, \TXI{425}).
+\item Robustify font family switches (\TXI{428}).
+\item Fix whitespace issue in Russian \xpgoption{indentfirst} option (\TXI{433}).
+\item In Russian, \xpgoption{indentfirst} is now again default (\TXI{434}).
+\item Fix LaTeX error with arabic numbering in Ukrainian (\TXI{440}).
+\item Fix directionality after Hebrew decimal numbers (\TXI{441}).
+\item Fix ¦babelname¦ of Latin Serbian (\TXI{442}).
+\item Fix recording of secondary languages in ¦\xpg at bloaded¦ and ¦\xpg at bcp@loaded¦
+      lists (\TXI{443}).
+\item Simplify and robustify section heading modification in Russian
+      and introduce option \xpgoption{forceheadingpunctuation} (\TXI{444}).
+\item Fix Cyrillic dash (via babelshorthand ¦"---¦) when TeX ligatures
+      are disabled (\TXI{445}).
+\item Fix problem with large character indices in Lua module for punctuation
+      spacing
+\end{itemize}
+
+\subsubsection*{Interface and defaults changes}
+\begin{itemize}
+\item Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+      output. See new features section.
+\end{itemize}
+
+\subsubsection*{Build fixes}
+\begin{itemize}
+\item Fix a bug in the dtx build script which was the reason for an utterly
+       incomplete ¦polyglossia.dtx¦ file (\TXI{420}).
+\end{itemize}
+
+\subsubsection*{Documentation improvements}
+\begin{itemize}
+\item Document how to change ¦\lefthyphenmin¦ and ¦\righthyphenmin¦ for a language
+      (\TXI{435}).
+\end{itemize}
+
+
+\subsection*{1.49 (08-04-2020)}
+
+\subsubsection*{New features}
+\begin{itemize}
+\item Add hook ¦\polyglossia at language@switched¦ to the external package interface (\TXI{398}).
+\item Real fix for \TXI{400}, that wasn’t properly taken care of in 1.48.
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Fix compilation error with some \xpgoption{swapstring} options in Hungarian (\TXI{373}).
+\item Fix whitespace problem in Greek language.
+\end{itemize}
+
+\subsubsection*{Interface and defaults changes}
+\begin{itemize}
+\item Changed Finnish caption for ``Table of Contents'' to ``Sisällys'' (\TXI{403}).
+\end{itemize}
+
+
+\subsection*{1.48 (25-03-2020)}
+
+\begin{itemize}
+\item No new features
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Fix use of Hebrew with LuaLaTeX (\TXI{389}).
+\item Do not overwrite footnote redefinitions of other packages
+      with Latin and French (\TXI{391}).
+\item Fix Serbian cyrillic numerals code (\TXI{392}).
+\item Fix \xpgoption{[no]localmarks} option, whose logic was swapped (part of \TXI{395}).
+\item Protect \xpgoption{localmarks} function against uppercased language names (part of \TXI{395}).
+\item Fix buggy redefinition of ¦\@markright¦ with option localmarks (\TXI{396}).
+\item Fix incompatibility between Latin and unicode-math (\TXI{394}).
+\item Make (undocumented) ¦\defineshorthand¦ command (imported from babel) work.
+\item Fix usage of \xpgoption{localmarks} option without value.
+\item Emergency fixes for bugs caused by updates in \pkg{babel}’s ¦switch.def¦ (\TXI{399} and \TXI{400}).
+\end{itemize}
+
+\subsubsection*{Interface and defaults changes}
+\begin{itemize}
+\item Use private macros in keyval choice keys (\TXI{390}).
+\end{itemize}
+
+\subsection*{1.47 (29-01-2020)}
+
+\subsubsection*{New features}
+\begin{itemize}
+\item IETF BCP-47 compliant language tags can now be used for loading and switching
+      languages alternatively to language names (\TXI{226}).
+\item New commands ¦\languageid{<type>}¦ and ¦\mainlanguageid{<type>}¦.
+\item New test ¦\iflanguageidloaded¦.
+\item New list ¦\xpg at bcp@loaded¦.
+\item New environment ¦{lang}{<lang>}¦ (this is equivalent to ¦{<lang>}¦,  but also available with
+      ¦\setlanguagealias*¦ which does not define dedicated alias environments).
+\item New gloss option ¦totalhyphenmin¦ (corresponds to LuaTeX's ¦\hyphenationmin¦) (\TXI{111}).
+\item New test ¦\iflanguageoption{<lang>}{<key>}{<val>}¦ (\TXI{364}).
+\item Restore simple alphabetic numbering for ¦\asbuk¦ and ¦\Asbuk¦ in Belarusian, Mongolian,
+      Russian, Serbian, and Ukrainian (\TXI{377}).
+\item New command ¦\AsbukTrad¦ and ¦\asbukTrad¦ for Belarusian, Mongolian, Russian, Serbian,
+      and Ukrainian which uses traditional alphanumerical numbering.
+\item New numerals option ¦cyrillic-trad¦ and ¦cyrillic-alph¦ to differentiate simple
+      alphabetic and traditional alphanumerical Cyrillic numbering.
+\item ¦\selectbackgroundlanguage¦ and ¦\resetdefaultlanguage¦ now also support language
+      aliases.
+\item New macro ¦\charifavailable{<char code>}{<substitution>}¦.
+\item Add French language variant ¦swiss¦.
+\item Implement \xpgoption{babelshorthands} for Croatian.
+\item Implement ¦\localnumeral¦ for Japanese.
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Fix font family issue in headers (\TXI{355}).
+\item Fix whitespace issues in ¦\text<lang>¦ (\TXI{356}).
+\item Fix option-less ¦\babelname¦ in multi-variant languages (\TXI{357}).
+\item Fix some spacing inconsistencies with French, Latin, and Sanskrit (\TXI{358}).
+\item Fix issues with \xpgoption{babelshorthands} and \pkg{graphics} package (\TXI{368}).
+\item Fix some captions and improve numbering in Marathi (\TXI{370}).
+\item Fix Hungarian \xpgoption{swapstrings} feature (\TXI{373}).
+\item Fix lua punctuation code problem (\TXI{374}).
+\item Fix Bengali changecounternumbering option (\TXI{381}).
+\item Fix whitespace issue in Japanese (\TXI{387}).
+\item Fix ¦\text<lang>¦ command with multiple paragraphs.
+\item Actually implement documented german spelling variant ¦1996¦ (= ¦new¦).
+\item Fix Slovenian \xpgoption{localalph} option.
+\item Fix Czech and Slovak \xpgoption{splithyphens} with typewriter fonts.
+\item ¦farsical.sty¦: fix spacing issue with some month names.
+\item Fix directionalty of numbers in Hebrew with XeTeX.
+\item Improve interoperatability with \pkg{biblatex} (some language variants did not work yet).
+\end{itemize}
+
+\subsubsection*{Interface and defaults changes}
+\begin{itemize}
+\item Some boolean options had ¦false¦ value by default, which meant if you passed
+      them without value, the logic was reversed. This has been changed, leading to
+      change of behavior should you have used one of these options without value (\TXI{363}).
+      Concerned are the following options:
+      \begin{itemize}
+	   \item ¦babelshorthands¦ in language Belarusian, Mongolian, Ukrainian, and Russian
+             (now ¦babelshorthands¦ equals ¦babelshorthand=true¦, no longer ¦babelshorthands=false¦).
+	   \item ¦localalph¦ in language Slovenian (¦localalph¦ now equals ¦localalph=true¦).
+	   \item ¦latesthyphen¦ in language German (¦latesthyphen¦ now equals ¦latesthyphen=true¦).
+	   \item ¦fullyear¦ in package \pkg{hebrewcal} (¦fullyear¦ now equals ¦fullyear=true¦).
+      \end{itemize}
+\item The command ¦\setlanguagealias*¦ (introduced in v1.46) does no longer define
+      dedicated alias environments.
+\item The babelnames for Latin variants have been corrected to ¦classiclatin¦, ¦ecclesiasticlatin¦
+      and ¦medievallatin¦. This is how the hyphenation patterns and \pkg{babel} ¦\extras¦ are named, even
+      though the variants can currently be selected in \pkg{babel} only via appended ``dot modifier''.
+\item In accordance with the respective \pkg{l3kernel} change, ¦\str_lower_case:n¦  has been renamed to
+      ¦\str_lowercase:n¦ where used in ¦polyglossia.sty¦. Thus \pkg{polyglossia} 1.47 requires \pkg{l3kernel}
+      2020-01-12 at least.
+\end{itemize}
+
+\subsection*{1.46 (15-11-2019)}
+
+\subsubsection*{New features}
+\begin{itemize}
+\item Add option \xpgoption{indentfirst} to Russian (\TXI{78}).
+\item Add options to set and customize French-style itemize item labels to French (\TXI{89}).
+\item \pkg{Polyglossia} now decodes all supported \pkg{babel} language names in ¦\setdefaultlanguage¦,
+      ¦\setotherlanguage¦ and the language switching commands (\TXI{112}, \TXI{132}).
+\item Add optional localized math operators to Spanish (\TXI{123}).
+\item Swap section headings in Hungarian (\TXI{344}). New option \xpgoption{swapstrings} provides control
+      over this.
+\item Introduce macro ¦\setlanguagealias¦ and ¦\setlanguagealias*¦.
+\item Introduce language switching command ¦\textlang{lang}{...}¦ (equivalent to ¦\text<lang>¦,
+      but also available with ¦\setlanguagealias*¦ which does not define ¦\text<alias>¦).
+\item Add support for Afrikaans.
+\item Add support for Belarusian.
+\item Add support for Bosnian.
+\item Add support for Georgian.
+\item Add Spanish variant ¦mexican¦.
+\item Add babelshorthands as well as options \xpgoption{splithyphens} and \xpgoption{vlna} to Slovak.
+\item Add Latin language variant ¦ecclesiastic¦.
+\item Add Latin language options ¦capitalizemonth¦, ¦ecclesiasticfootnotes¦, ¦hyphenation¦,
+      ¦prosodicshorthands¦, and ¦usej¦.
+\item Add Latin shorthands for «, », æ, Æ, œ, and Œ.
+\item Add French language option \xpgoption{thincolonspace}.
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Fix problems with fragile font settings (\TXI{24}).
+\item Fix clash of French punctuation spacing with the \pkg{soul} package (\TXI{52}).
+\item Re-enable the possibility to pass a macro as main argument to ¦\setmainlanguage¦ and
+      ¦\setotherlanguage¦ (\TXI{331}).
+\item Fix detection of default ¦\languagevariant¦ (\TXI{332}).
+\item Fix LaTeX error with undefined hyphenation pattern (\TXI{346}).
+\item Fix some babel shorthand issues by updating the shorthand code from recent \pkg{babel}.
+\item Fix some problems with French and Latin auto-spacing (\TXI{345}, \TXI{352}).
+\item Fix an \pkg{expl3} declaration (\TXI{348}).
+\end{itemize}
+
+\subsubsection*{Interface and defaults changes}
+\begin{itemize}
+\item The sub-package ¦cyrillicnumbers.sty¦ has been renamed to
+      ¦xpg-cyrillicnumbers.sty¦ (per TeXLive request).
+\item In Russian, all paragraphs are now indented by default, as common in Russian typography.
+      The behavior can be opted out by \xpgoption{indentfirst=false}.
+\item In Czech, \xpgoption{splithyphens} and \xpgoption{lvna} are enabled by default.
+      Also, the option does now work as well with LuaTeX.
+\item Changed option name ¦fraktur¦ to ¦blackletter¦ in German (the former is still available
+      as an alias).
+\item In French, high punctuation characters and guillemets are spaced by half an interword
+      space now instead of a ¦\thinspace¦ (cf. \TXI{345}).
+\end{itemize}
+
+\subsection*{1.45 (27-10-2019)}
+
+\subsubsection*{New features}
+\begin{itemize}
+\item Introduce a framework for external packages to access language variants. This fixes,
+      among other things, long-standing problems in the interaction of \pkg{biblatex} and \pkg{polyglossia}.
+\item Add new macros ¦\languagevariant¦, ¦\mainlanguagevariant¦, ¦\babelname¦ and ¦\mainbabelname¦
+      for package authors to access language information.
+\item Add new test ¦\iflanguageloaded{<language>}{<true>}{<false>}¦ where <language>
+      can be a \pkg{polyglossia} or \pkg{babel} language name.
+\item Add new macros ¦\localnumeral,¦ ¦\localnumeral*,¦ ¦\Localnumeral¦ and
+      ¦\Localnumeral*¦ that convert Arabic digitals to the local number scheme.
+\item Add new macro ¦\pghyphenation¦ to add language-specific hyphenation exceptions (\TXI{18}).
+\item Add support form (Khalkha \& Cyrillic) Mongolian in line with \pkg{babel-mongolian} (\TXI{23}).
+\item Add option \xpgoption{splithyphens} and \xpgoption{vlna} to Czech (XeTeX only; for LuaTeX, use the package
+      \pkg{luavlna} to get these features) (\TXI{32}).
+\item Add support for Kurdish, both Kurmanji and Sorani (\TXI{277}).
+\item Implement proper Cyrillic (alphanumeric) numbering (\TXI{285}).
+\item Add new language ¦friulian¦.
+      This deprecates ¦friulan¦ (which is still supported for backwards compatibility).
+\item Add new language ¦malay¦ with variants ¦indonesian¦ and ¦malaysian¦.
+      This deprecates ¦bahasai¦ and ¦bahasam¦ (which are still supported for
+      backwards compatibility).
+\item Add new language ¦gaelic¦ with variants ¦irish¦ and ¦scottish¦.
+      This deprecates ¦irish¦ and ¦scottish¦ as own \pkg{polyglossia} languages (which
+      are still supported for backwards compatibility).
+\item Add new language ¦hungarian¦.
+      This deprecates ¦magyar¦ (which is still supported for backwards compatibility).
+\item Add new language ¦sorbian¦ with variants ¦lower¦ and ¦upper¦.
+      This deprecates ¦lsorbian¦ and ¦usorbian¦ (which are still supported for
+      backwards compatibility).
+\item Add new language ¦portuguese¦ with variants ¦portuguese¦ and ¦brazilian¦.
+      This deprecates ¦brazil¦ and ¦portuges¦ (which are still supported for
+      backwards compatibility).
+\item Add new language ¦norwegian¦ with variants ¦nynorsk¦ and ¦bokmal¦.
+      This deprecates ¦nynorsk¦ and ¦norsk¦ (which are still supported for
+      backwards compatibility).
+\item Add new language ¦persian¦.
+      This deprecates ¦farsi¦ (which is still supported for backwards compatibility).
+\item Add new language ¦sami¦. Currently only Northern Sami is supported.
+      This deprecates ¦samin¦ (which is still supported for backwards compatibility).
+\item ¦gloss-serbian¦: add \xpgoption{numerals=cyrillic} option. Add ¦\asbuk¦ and ¦\Asbuk¦ (\TXI{285}).
+\item Implement basic support for (French) ¦canadien¦ and (English) ¦canadian¦ (\TXI{22}).
+\item Improve support for Armenian (\TXI{79}): Add captions, Eastern month names
+      (accessible via variant=eastern) and Armenian alphabetic numbering
+      (via \xpgoption{numerals=armenian} and ¦\armenicnumeral¦).
+\item Add french option \xpgoption{autospacing} and commands ¦\AutoSpacing,¦ ¦\NoAutoSpacing¦
+      This allows to switch off autospacing globally or locally (\TXI{113}).
+\item Fixup ¦\normalfont¦ (\TXI{203}).
+\item Fix directionality issues in mixed RTL/LTR paragraphs (\TXI{204}).
+\item Implement \xpgoption{babelshorthands} for Finnish (\TXI{212}) and Czech.
+\item Implement access to current language via Lua (\TXI{243}).
+\item Introduce french option option \xpgoption{autospacetypewriter}
+      alias \xpgoption{OriginalTypewriter}.
+\item Support ¦\aemph¦ with lualatex
+\item Rename \xpgoption{automaticspacesaroundguillemets} to \xpgoption{autospaceguillemets} 
+      The old option is kept for backwards compatibility.
+\end{itemize}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+\item Fix equation number in Arabic and Farsi (\TXI{7}).
+\item Simplify and document Hebrew \xpgoption{marcheshvan} option (\TXI{16}).
+\item Fix hyphenation of Greek with LuaTeX (\TXI{55}).
+\item Fix N'ko date format (\TXI{63}).
+\item Disable the extras of a language when a nested language starts (\TXI{66}, \TXI{169}).
+\item Properly implement Bengali numbers (\TXI{69}, \TXI{184}).
+\item Fix conflicts with other packages caused by premature shorthand activation
+      in preamble (\TXI{81}, \TXI{200}).
+\item Fix kerning in math with French (\TXI{92}).
+\item Fix expansion issue in Hebrew (\TXI{93}).
+\item Fix numbering expansion issue in Greek (\TXI{110}).
+\item Postpone ¦\disablehyphenation¦ in preamble until after setting of
+      document language (\TXI{125}).
+\item Postpone the assignment of defaultfamily to ¦\AtBeginDocument¦,
+      thus do not overwrite ¦\familydefault¦ redefinitions in the preamble (\TXI{127}).
+\item Reset number settings when switching language (\TXI{133}).
+\item Hebrew: Properly store ¦\MakeUppercase¦ for later restoration (\TXI{152}).
+\item Fix whitespace issue in ¦\datewelsh¦ (\TXI{158}).
+\item When switching language, set the language/script specific font families (\TXI{164}).
+\item Correct some Bengali captions (\TXI{165}).
+\item Fix documentation of Serbian (\TXI{168}).
+\item Reset ucl codes in Latin only if the respective variant is used (\TXI{172}).
+\item Fix ¦\disablehyphenation¦ with LuaTeX (\TXI{187}).
+\item Fix typos in Hindi captions (\TXI{202}).
+\item Pass language options to the aux files (\TXI{205}).
+\item Rewrite and fix English variant handling (\TXI{208}).
+\item Define magyar caption formats in ¦\blockextras¦ and undef them in ¦\noextras¦ (\TXI{209}).
+\item Ensure proper direction with arabic digits in Arabic and Farsi (\TXI{213}).
+\item Fix ¦\linespread¦ with Korean (\TXI{218}).
+\item Define Russian caption before key allocation (\TXI{219}).
+\item Register current language in \pkg{polyglossia} lua module after selection (\TXI{234}).
+\item Fix \pkg{babel} language switching commands (\TXI{239}):
+      ¦\foreignlanguage¦ and the starred ¦otherlanguage*¦ environment are not
+      supposed to change dates.
+\item Fix French spacing leaking beyond French (\TXI{270}).
+\item Redefine font families for French only if language is loaded (\TXI{270}).
+\item ¦gloss-russian¦: 
+     \begin{itemize}
+	 \item Check whether command exist before redefining (\TXI{280}).
+	 \item Fix some whitespace issues.
+     \end{itemize}
+\item Fix and simplify ¦\frenchfootnote¦ definition (\TXI{294}).
+\item Fix footnote numbering in Farsi.
+\item Fix Latin footnotes in Arabic documents.
+\item Set the correct main direction with \pkg{luabidi}.
+\item Fix \xpgoption{autospaceguillemets} option in French.
+\item Fix grouping in ¦gloss-danish.ldf¦.
+\item Properly store ¦\MakeUppercase¦ and ¦\@arabic¦ for later restoration.
+\end{itemize}
+
+\subsubsection*{Documentation}
+\begin{itemize}
+\item Add documentation about footnotes in RTL context
+\item Document Tibetan numerals option (\TXI{109}).
+\item Improve ¦\frenchfootnote¦ documentation.
+\item Mention Japanese support in the docs.
+\end{itemize}
+
+\subsection*{1.44 (04-04-2019)}
+\begin{itemize}
+\item Correction to Russian language file, by \TA{Maksim Zholudev} (commit d2f383e).
+\item Added Macedonian language file, by \TA{Stefan Zlatinov} (commit cd379e1).
+\end{itemize}
+
+\subsection*{1.43 (05-03-2019)}
+\begin{itemize}
+\item Correction to Hindi language file, by \TA{Zdenĕk Wagner}.
+\end{itemize}
+
+\subsection*{1.42.5 (13-04-2017)}
+\begin{itemize}
+\item Many changes to the French language file, by \TA{Maïeul Rouquette}.
+\end{itemize}
+
+\subsection*{1.42.4 (February, March 2016)}
+\begin{itemize}
+\item Remedial actions for the \pkg{babel} changes.
+\item Fixed side effect of pull request \TXI{122} (see commit d2a34ff).
+\item Added automatic Josa selection, variant, and captions options to Korean, by \TA{Dohyun Kim} (pull request \TXI{128}).
+\item Updated ¦gloss-occitan¦ from CTAN.
+\end{itemize}
+
+\subsection*{18-01-2016}
+\begin{itemize}
+	\item Fixed issue \TXI{124} (minor typo in ¦polyglossia-frpt.lua¦)
+	\item Merged pull request \TXI{117} for more French guillemet spacing
+	\item Merged pull request \TXI{121} to add ¦\bbl at loaded¦; fixes issue \TXI{120}
+	\item Merged pull request \TXI{122} that build on \TXI{121}
+	\item Merged pull request \TXI{116} for French (spacing around guillemets)
+	\item Fixed issue \TXI{115} (spurious spaces in Arabic)
+\end{itemize}
+	
+\subsection*{19-08-2015}
+\begin{itemize}
+	\item Fixed issue \TXI{107} for Marathi (labels and month names)
+\end{itemize}
+		
+\subsection*{1.42.0 (06-08-2015)}
+\begin{itemize}
+	\item Add Bengali digits package, and option to reset all numbering functions.
+	\item Add ¦long¦ option for Welsh date.
+	\item Add local alphabet in Slovenian, for enumerations and such.
+	\item Fix long-standing bug with Welsh: date should use ordinals.
+	\item Fix for Latin with LuaTeX: all variants had same problems as Classic.
+	\item Fixed error with British variant of English and LuaTeX (issue \TXI{86}).
+\end{itemize}
+			
+\subsection*{1.41.0 (16-07-2015)}
+\begin{itemize}
+	\item Added support for Khmer, by \TA{Say Ol} (private email)
+\end{itemize}
+			
+\subsection*{1.40.1 (14-07-2015)}
+\begin{itemize}
+	\item Bugfix for Korean, by \TA{Dohyun Kim} (pull request \TXI{103})
+\end{itemize}
+			
+\subsection*{1.40.0 (07-07-2015)}
+\begin{itemize}
+	\item ¦gloss-korean.ldf¦ contributed by \TA{Dohyun Kim} (pull request \TXI{102})
+\end{itemize}
+			
+\subsection*{1.33.7 (04-07-2015)}
+\begin{itemize}
+	\item Release to CTAN, no code change
+	\item Fixed extraneous space in code for Swiss German (pull request \TXI{101})
+	\item Fixed a typo in Ukrainian alphabet, for ¦\Asbuk¦ (pull request \TXI{99})
+	\item Fix for Classic Latin: load patterns for LuaTeX
+	\item Made ¦\rmfamily¦, ¦\sffamily¦ and ¦\ttfamily¦ robust again
+	\item Merged fix for Hebrew date format, by \TA{Guy Rutenberg} (pull request \TXI{94})
+	\item Merged fix for spurious space, by \TA{Caleb McKennan} (pull request \TXI{91})
+	\item Merged pull request \TXI{84} by \TA{Élie Roux} for Tibetan
+	\item Added support for Swiss German (pull request \TXI{75})
+	\item Added commands ¦\Asbuk¦ and ¦\asbuk¦ for Ukrainian (pull request \TXI{76}), similar to Russian
+	\item Documented changes to Latin from last year.
+	\item Be friendlier to right-to-left languages with LuaTeX
+	\item Enhanced Latin support by \TA{Claudio Beccari}
+\end{itemize}
+
+\subsection*{1.33.6 (15-05-2015)}
+\begin{itemize}
+	\item Introduce a ¦classical¦ and ¦medieval¦ variant of Latin
+	\item Add ¦\asbuk¦ and ¦\Asbuk¦ for Ukrainian (after their Russian counterpart)
+	\item Fix a number of bugs
+\end{itemize}
+					
+\subsection*{1.33.5 (21-05-2014)}
+\begin{itemize}
+	\item Option to disable hyphenation entirely, by \TA{Élie Roux}
+	\item Fix spurious spaces in gloss-russian.ldf, by \TA{Oleg Domanov}
+	\item Support for the Austrian variant of German, by \TA{Jürgen Spitzmüller}
+	\item Changes to the Croatian translations, by \TA{Ivan Kokan}
+	\item Correction to the Lithuanian translations, by \TA{Ignas Anikevičius}
+\end{itemize}
+					
+\subsection*{1.33.4 (27-06-2013)}
+\begin{itemize}
+	\item Emergency release for a bug introduced in ¦babelsh.def¦
+\end{itemize}
+					
+\subsection*{1.33.3 (28-05-2013)}
+\begin{itemize}
+	\item Changed formatting of some error messages (emergency fixes for TeX Live 2013)
+\end{itemize}
+					
+\subsection*{1.33.2 (26-05-2013)}
+\begin{itemize}
+	\item Added ¦\disablehyphenation¦ and ¦\enablehyphenation¦, contributed by
+	      \TA{Élie Roux}.
+	\item Fixed bug related to package inclusion. \pkg{Polyglossia} would break if
+	      we loaded ¦breqn.sty¦, and then called ¦\setmainlanguage{english}¦, this
+	      is no longer the case.
+	\item Removed spurious space introduced by ¦\captionswedish¦.
+\end{itemize}
+					
+\subsection*{1.33.1 (23-05-2013)}
+\begin{itemize}
+	\item Editorial changes to the documentation
+	\item Hunted and documented bugs
+\end{itemize}
+					
+\subsection*{1.33.0 (20-05-2013)}
+\begin{itemize}
+	\item Added support for N’Ko.
+	\item Bugfixes for LuaTeX
+	\item More work in progress on Bidi in LuaTeX.
+\end{itemize}
+					
+\subsection*{1.32.0 (15-05-2013)}
+\begin{itemize}
+	\item Transitional version to support right-to-left languages with LuaTeX.
+\end{itemize}
+
+\subsection*{1.31 (10-05-2013) / 1.3 (11-05-2013)}
+\begin{itemize}
+	\item Several bugfixes.
+	\item Sync with \pkg{babel} 3.9.
+	\item Consolidated support for LuaTeX for all languages but the ones using
+	      South and South-East Asian scripts, and languages written from right
+	      to left.  Many thanks to \TA{Élie Roux} for his help.
+	\item Added support for Tibetan, contributed by \TA{Élie Roux} (end of lines are experimental).
+\end{itemize}
+					
+\subsection*{1.30 (06-08-2012)}
+\begin{itemize}
+	\item Added support for LuaTeX.  Many languages don’t work yet.  Please be patient.
+\end{itemize}
+					
+\subsection*{1.2.0e (28-04-2012)}
+\begin{itemize}
+	\item Fixed a number of outstanding and not very interesting bugs.
+	\item Added gloss files for Romansh and Friulan, contributed by \TA{Claudio Beccari}.
+\end{itemize}
+					
+\subsection*{1.2.0d (12-01-2012)}
+\begin{itemize}
+	\item Removed ¦\makeatletter¦ and ¦\makeother¦ from gloss files entirely.
+\end{itemize}
+					
+\subsection*{1.2.0c (12-10-2011) [First update by Arthur Reutenauer]}
+\begin{itemize}
+	\item Update to ¦gloss-italian.ldf¦ by \TA{Claudio Beccari}, incorporating changes
+	      by \TA{Enrico Gregorio}.
+	\item Conclude every gloss file with ¦\makeatother¦ to match the initial
+	      ¦\makeatletter¦.  (Not necessary from a technical point of vue, because of one 
+	      of the changes by Enrico reported below, but I like it better that way :-)
+	\item Conclude ¦polyglossia.sty¦ with ¦\ExplSyntaxOff¦ to match the initial
+	      ¦\ExplSyntaxOn¦.
+	\item Added gloss file for Kannada, contributed by \TA{Aravinda VK} and others.
+	\item Corrections to the gloss-dutch.ldf thanks to \TA{Wouter Bolsterlee}.
+	\item Several patches by \TA{Enrico Gregorio}, fixing long-standing bugs.
+	      From the git log:
+			\begin{itemize}
+				\item Deleted setup for right-to-left writing direction, see \url{http://tug.org/pipermail/xetex/2011-April/020319.html}
+				\item Changed three appearances of ¦\newcommand¦ to ¦\newrobustcmd,¦ as the commands needs to be protected.
+				      Bug reported by \TA{kamensky}.
+				\item Corrected ¦\datepolish¦ as suggested by \TA{Piotr Kempa}
+				\item Changed ¦\lccode"¦ into ¦\lccode\string",¦ because it might come into action at wrong times when ¦"¦ is active
+				\item Changed definition of key ¦\xpg at setup¦, as ¦\@tmpfirst¦ and ¦\@tmpsecond¦ were not expanded, causing dependence
+				      of ¦\lefthyphenmin¦ and   ¦\righthyphenmin¦ to the last loaded language.
+				      Raised by \TA{Vadim Rodionov} on the XeTeX mailing list.
+				\item Deleted ¦\bgroup¦ and ¦\egroup¦ tokens from the definition of ¦otherlanguage*¦; they serve no purpose
+				      (we are already inside an environment) and conflict with \pkg{csquotes}. Noticed by \TA{P. Lehman}.
+				\item Changed the calls of ¦\input¦ to ¦\xpg at input,¦ which inputs the required file and resets the catcode
+				      of ¦@¦ to the same value as it had before the input. Since each ¦.ldf¦ file starts with ¦\makeatletter¦,
+				      the old behaviour would leave a category 11 @, which is wrong.
+				\item Added ¦\csuse{date#2}¦ to the definition of ¦otherlanguage*¦.
+			\end{itemize}
+\end{itemize}				
+						
+\subsection*{1.2.0b (03-10-2011) [Update by Philipp Stephani]}
+\begin{itemize}
+	\item Load \pkg{xkeyval} package explicitly since newer versions
+	      of \pkg{fontspec} don't load it any more.
+\end{itemize}
+							
+\subsection*{1.2.0a (27-07-2010) [Last update by François Charette]}
+\begin{itemize}
+	\item Initialize ¦\fontfamily¦ acc to value of ¦\familydefault¦
+	      (Fixes a bug when using \pkg{polyglossia} with beamer)
+	\item Remove spurious space in def of ¦\dateenglish¦
+	\item Add missing English variant ¦american¦
+	\item Serbian: fix date format and captions (Latin+Cyrillic)
+	\item Fix ¦\atticnumeral¦ in ¦gloss-greek¦
+	\item Small improvements and fixes in documentation
+\end{itemize}
+								
+								
+\subsection*{1.2.0 (15-07-2010)}
+\begin{itemize}
+	\item Adapted for \pkg{fontspec} 2.0 (will not work with earlier versions!)
+	\item New implementation of a ¦\PolyglossiaSetup¦ interface
+	      that simplifies writing ¦gloss-*.ldf¦ files
+	\item Many internal enhancements and refactoring
+	      (including a patch by \TA{Dirk Ulrich})
+	\item Improved automatic font setup when ¦\<lang>font¦ is not defined
+	\item New environment otherlanguage* (env. equivalent of ¦\foreignlanguage¦
+	      (\TA{Enrico Gregorio})
+	\item Bugfix to prevent bogus expansion of ¦\{rm,sf,tt}family¦ even in aux files (\TA{Enrico Gregorio})
+	\item New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
+	      Malayalam, Marathi, Tamil, Telugu, and Turkmen.
+	\item New auxiliary packages ¦devanagaridigits¦ and ¦bengalidigits¦
+	\item \pkg{hijrical} no longer loads \pkg{bidi} and checks for incompatible \pkg{l3calc}
+	\item Add \pkg{babel} shorthands for Russian (based on a patch by \TA{Vladimir Lomov})
+	\item Fix ¦\fnum@{table,figure}¦ for Lithuanian
+	\item Various improvements in ¦gloss-russian¦ (provided by \TA{Vladimir Lomov} and
+	      others)
+	\item Corrected captions for Bahasai, Lithuanian, Russian, Croatian
+	\item Add option \xpgoption{indentfirst=true} for Spanish, Croation and other languages
+	      (NB: \xpgoption{indentfirst} was previously named \xpgoption{frenchindent})
+	\item New option \xpgoption{script} for German: Setting \xpgoption{script=fraktur} modifies the
+	      captions for typesetting in Fraktur.
+	\item New command ¦\aemph¦ for Arabic, Farsi, Urdu, etc. to mark emphasis through
+	      overlining.
+	\item Package option \xpgoption{nolocalmarks} is now true by default: to activate it the
+	      option \xpgoption{localmarks} must be passed instead.
+	\item Loading languages à la \pkg{babel} as package options is no longer possible (this
+	      feature was deprecated since v1.1.0).
+\end{itemize}
+							
+\subsection*{1.1.1 (23-03-2010)}
+\begin{itemize}
+	\item Bugfix for French: explicit spaces before/after double punctuation
+	      signs (Par exemple : les grands « espaces » du Canada !) are
+	      now replaced by the appropriate non-breaking spaces, as in \pkg{babel}.
+	\item Bugfix for font switching mechanism within Latin script
+	      (pending a complete re-implementation in v1.2):
+	      the font shape and series are no longer reset when switching language.
+	\item New macros for non-Western decimal digits
+	      (instead of fontmappings)
+	\item New gloss files for Asturian, Lithuanian and Urdu
+	\item ¦hijrical.sty¦ is now locale-aware: ¦\hijritoday¦ is
+	      formatted differently in Arabic, Farsi, Urdu, Turkish
+	      and Bahasa Indonesia.
+	\item Enable \xpgoption{babelshorthands} for Dutch
+	\item Add missing macro ¦\allowhyphens¦
+	\item Add global option \xpgoption{babelshorthands}
+	\item Support Catalan geminated l
+	\item Bugfix when declaring more than one pkg option
+	\item Protect ¦\reset at font¦
+	\item Add missing requirement \pkg{makecmds}
+	\item Bugfix for smallcaps in captions
+	\item Typo for ¦ccname¦ in Hebrew
+	\item Add option \xpgoption{numerals} to ¦gloss-russian¦
+	\item Provide ¦\newXeTeXintercharclass¦ when undefined
+	\item Bugfix for Russian ¦\alph¦
+	\item Remove superfluous level of ¦{}¦ in definition of ¦\markright¦
+	\item Bugfix for ¦\datecatalan¦
+	\item Change ¦hyphenmins¦ for Sanskrit
+\end{itemize}
+							
+\subsection*{1.1.0b (22-11-2009)}
+\begin{itemize}
+	\item Modify ¦\hyphenmins¦ for Sanskrit (\TA{Yves Codet})
+	\item Bugfixes for Serbian and Bulgarian (\TA{Enrico Gregorio})
+\end{itemize}
+
+\subsection*{1.1.0a (22-11-2009)}
+\begin{itemize}
+	\item Bugfix for interchar tokens
+\end{itemize}
+
+\subsection*{1.1.0 (20-11-2009)}
+\begin{itemize}
+	\item Use ¦\newXeTeXintercharclass¦ (thanks to \TA{Enrico Gregorio})
+	\item Fixed implementation of shorthands for German (\pkg{babel} code in file ¦babelsh.def¦)
+	\item Arabic (\TA{Khaled Hosny}):
+	\begin{itemize}
+		\item Fix abjad form for 3 and 5 and add option ¦\abjadjimnotail¦
+		\item bugfix for ¦\arabicnumber¦
+		\item make Gregorian calendar the default
+		\item fixed typos in the sample text
+	\end{itemize}
+	\item Turkish (\TA{S. Ö. Yıldız}):
+	\begin{itemize}
+		\item fix white-space before : and !
+		\item also check if the font specified TRK for language
+		\item added missing Turkish translation of ``Glossary''
+	\end{itemize}
+	\item Suppress ¦nopattern¦ warning for non-hyphenated scripts
+	\item Changed U+0163 to U+021B for Romanian (\TA{Elie Roux})
+	\item Stylistic fixes and use macro ¦\xpg at option¦ for package options (\TA{E. Gregorio})
+	\item Fix month names in Dutch (\TA{A. Ledda})
+	\item Add Brazilian translation for ``glossary''
+	\item Remove spurious space generated by ¦gloss-spanish¦
+	\item Fix ¦ldf¦ file for brazilian
+	\item Various improvements in the code communicated by \TA{E. Gregorio}:
+	\begin{itemize}
+		\item remove superfluous ¦\protect\language¦
+		\item change default language from ¦0¦ to ¦\l at nohyphenation=255¦
+		\item localize ¦lccode¦ handling of apostrophe in French; add it to Italian
+	\end{itemize}
+	\item Fix ¦frenchspacing¦ for Vietnamese
+	\item Other minor bugfixes
+\end{itemize}
+							
+\subsection*{1.0.2 (27-01-2009)}
+\begin{itemize}
+	\item Captions corrected in Hebrew, Russian and Spanish
+	\item Removed all ¦\text<lang>¦ wrappers within caption definitions
+	\item Improved compatibility with \pkg{babel}
+	\item New option \xpgoption{babelshorthands} for German
+	\item New option \xpgoption{Script} for Sanskrit
+\end{itemize}
+							
+\subsection*{1.0.1 (31-07-2008)}
+\begin{itemize}
+	\item Improved documentation (added sections on font setup and numeration mappings)
+	\item Improvements and bug fixes for English and German
+	\item Bugfix in ¦gloss-syriac.ldf¦ (spurious space after ¦\textsyriac{...}¦)
+	\item Extended the scope of ¦\syriacabjad¦
+	\item Added ¦gloss-amharic.ldf¦ (ported from ¦ethiop.ldf¦ in the package \pkg{ethiop})
+\end{itemize}
+							
+\subsection*{1.0 (13-07-2008)}
+\begin{itemize}
+	\item Initial release on CTAN.
+\end{itemize}
+\egroup
+
 \section{Acknowledgements (by François Charette)}
 \pkg{Polyglossia} is notable for being a recycle box of previous contributions
 by other people. I take this opportunity to thank the following individuals,
@@ -2293,7 +3066,8 @@
 \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
 \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson},
 \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy},  \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe},
-\TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
+\TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou},
+and \TA{Stefan Zlatinov}.
 Their respective contributions can be identified from the contributor statistics on
 \href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
 

Modified: branches/branch2020.0/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
===================================================================
--- branches/branch2020.0/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx	2021-03-16 22:13:44 UTC (rev 58445)
@@ -36,8 +36,8 @@
 
 # LICENCE
 
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
-Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2021 Arthur Reutenauer,
+Copyright (c) 2019-2021 Bastien Roucariès, 2019-2021 Jürgen Spitzmüller
 
 Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
 (https://opensource.org/licenses/MIT).
@@ -66,10 +66,10 @@
 
   The polyglossia package         
   (C) 2008–2010 François Charette    
-  (C) 2011–2020 Arthur Reutenauer
+  (C) 2011–2021 Arthur Reutenauer
   (C) 2013 Elie Roux
   (C) 2019 Bastien Roucariès
-  (C) 2019–2020 Jürgen Spitzmüller
+  (C) 2019–2021 Jürgen Spitzmüller
   License information appended
 
 
@@ -76,7 +76,7 @@
 \endpreamble
 \postamble
 
- Copyright (C) 2020 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org> 
+ Copyright (C) 2021 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org> 
 
  This work may be distributed and/or modified under the
  conditions of the LaTeX Project Public License, either version 1.3
@@ -335,10 +335,12 @@
 \generate{\file{gloss-tibetan.ldf}{\from{polyglossia.dtx}{gloss-tibetan.ldf}}}
 \generate{\file{gloss-turkish.ldf}{\from{polyglossia.dtx}{gloss-turkish.ldf}}}
 \generate{\file{gloss-turkmen.ldf}{\from{polyglossia.dtx}{gloss-turkmen.ldf}}}
+\generate{\file{gloss-ug.ldf}{\from{polyglossia.dtx}{gloss-ug.ldf}}}
 \generate{\file{gloss-ukrainian.ldf}{\from{polyglossia.dtx}{gloss-ukrainian.ldf}}}
 \generate{\file{gloss-uppersorbian.ldf}{\from{polyglossia.dtx}{gloss-uppersorbian.ldf}}}
 \generate{\file{gloss-urdu.ldf}{\from{polyglossia.dtx}{gloss-urdu.ldf}}}
 \generate{\file{gloss-usorbian.ldf}{\from{polyglossia.dtx}{gloss-usorbian.ldf}}}
+\generate{\file{gloss-uyghur.ldf}{\from{polyglossia.dtx}{gloss-uyghur.ldf}}}
 \generate{\file{gloss-vietnamese.ldf}{\from{polyglossia.dtx}{gloss-vietnamese.ldf}}}
 \generate{\file{gloss-welsh.ldf}{\from{polyglossia.dtx}{gloss-welsh.ldf}}}
 \generate{\file{arabicdigits.map}{\from{polyglossia.dtx}{arabicdigits.map}}}
@@ -360,7 +362,6 @@
 %<*internal>
 \generate{\file{polyglossia.ins}{\from{polyglossia.dtx}{batchfile}}}
 \nopreamble\nopostamble
-\generate{\file{Changelog}{\from{polyglossia.dtx}{Changelog}}}
 \generate{\file{examples.tex}{\from{polyglossia.dtx}{examples.tex}}}
 \generate{\file{example-arabic.tex}{\from{polyglossia.dtx}{example-arabic.tex}}}
 \generate{\file{example-thai.tex}{\from{polyglossia.dtx}{example-thai.tex}}}
@@ -408,6 +409,7 @@
 \newcommand*\TA[1]{\textsc{\color{xpgblue}#1}}
 \newcommand*\link[1]{\href{#1}{#1}}
 \renewcommand*\meta[1]{\texttt{⟨#1⟩}}
+\newcommand*\TXI[1]{\href{https://github.com/reutenauer/polyglossia/issues/#1}{\textcolor{xpgred}{\##1}}}
 \def\eg{\textit{e.g.,}\xspace}
 \def\ie{\textit{i.e.,}\xspace}
 \def\ca{\textit{ca.}\@\xspace}
@@ -619,9 +621,9 @@
 % breton          & galician       & \TX{latin}     & romansh         & turkmen        \\
 % bulgarian       & \TX{georgian}  & latvian        & \TX{russian}    & \TX{ukrainian} \\
 % \TX{catalan}    & \TX{german}    & lithuanian     & \TX{sami}       & urdu           \\
-% coptic          & \TX{greek}     & macedonian     & \TX{sanskrit}   & vietnamese     \\
-% \TX{croatian}   & \TX{hebrew}    & \TX{malay}     & \TX{serbian}    & \TX{welsh}     \\
-% \TX{czech}      & \TX{hindi}     & malayalam      & \TX{slovak}     &                \\
+% coptic          & \TX{greek}     & macedonian     & \TX{sanskrit}   & uyghur         \\
+% \TX{croatian}   & \TX{hebrew}    & \TX{malay}     & \TX{serbian}    & vietnamese     \\
+% \TX{czech}      & \TX{hindi}     & malayalam      & \TX{slovak}     & \TX{welsh}     \\
 % \bottomrule
 % \end{tabular}
 % 
@@ -649,6 +651,7 @@
 % \emph{norsk}\slash\emph{nynorsk}\textrightarrow\emph{norwegian}). The old names are still supported for backwards
 % compatibility reasons.
 % Version 1.46\new{1.46} introduces support for Afrikaans, Belarusian, Bosnian and Georgian.
+% Version 1.52\new{1.52} introduces support for Uyghur.
 % 
 % 
 % \subsection{Relation to and use of Babel language names}\label{sec:babelnames}
@@ -897,6 +900,7 @@
 % 	th               & thai        &                                                    \\
 % 	tk               & turkmen     &                                                    \\
 % 	tr               & turkish     &                                                    \\
+% 	ug               & uyghur      &                                                    \\
 % 	uk               & ukrainian   &                                                    \\
 % 	ur               & urdu        &                                                    \\
 % 	vi               & vietnamese  &                                                    \\
@@ -2025,12 +2029,16 @@
 % 	\end{shorthands}
 %     \item \xpgboolkeytrue[1.50]{forceheadingpunctuation}
 %         By default, chapter and section numbers always have a trailing punctuation in Russian
-%         (as in \emph{1.1.} as opposed to \emph{1.1}). If this option is set to false, \textsf{polyglossia}
+%         (as in \emph{1.1.} as opposed to \emph{1.1}). If this option is set to \xpgvalue{false}, \textsf{polyglossia}
 %         will not touch heading punctuation, so this will be whatever the class or a package determines.
 % 	\item \xpgboolkeytrue[1.46]{indentfirst}
 % 		By default, all paragraphs are indented in Russian, also those after a
-% 		chapter or section heading. If this option is false, the latter paragraphs
+% 		chapter or section heading. If this option is \xpgvalue{false}, the latter paragraphs
 % 		are not indented, as normal in \LaTeX.
+%     \item \xpgboolkeytrue[1.52]{mathfunctions}
+% 	    By default, some specific math macros are defined for Russian (see below). In order to prevent command
+% 	    clashes (\eg with the \pkg{chemformula} package), you can switch these definitions off by passing \xpgvalue{false}
+% 	    to this option.
 % 	\item \xpgchoicekey{spelling}{\xpgpresetvalue{modern} or \xpgvalue{old}}
 % 		This option is for captions and date only, not for hyphenation.
 % 	\item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
@@ -2054,6 +2062,13 @@
 % 	      \Eg ¦\textrussian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
 % 	\item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
 % 	\end{itemize}
+%     If the \xpgoption{mathfunctions} option is \xpgvalue{true}, loading Russian defines a few macros than can be used
+%     independently of the current language. These are nine macros to be used in math mode to type the names of
+%     trigonometric functions common for Russian documents: \cmd\sh , \cmd\ch , \cmd\tg , \cmd\ctg , \cmd\arctg ,
+%     \cmd\arcctg , \cmd\th , \cmd\cth , and \cmd\cosec . Cyrillic letters in math mode can be typed with
+%     the aid of text commands such as \cmd\textbf , \cmd\textsf , \cmd\textit , \cmd\texttt , etc.
+%     The macros \cmd\Prob , \cmd\Variance , \cmd\NOD , \cmd\nod , \cmd\NOK , \cmd\nok , \cmd\Proj\ print some rare
+%     Russian mathematical symbols.
 % 
 % \subsection[sami]{sami\new{1.45}}\label{sami}
 % Currently support for Sami is limited to Northern Sami.
@@ -2250,6 +2265,10 @@
 % 		\item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
 % 		the dash. Space before the dash is output as is.
 % 	\end{shorthands}
+%     \item \xpgboolkeytrue[1.52]{mathfunctions}
+% 		By default, some specific math macros are defined for Ukrainian (see below). In order to prevent command
+% 		clashes (\eg with the \pkg{chemformula} package), you can switch these definitions off by passing \xpgvalue{false}
+% 		to this option.
 % 	\item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
 % 	      Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
 % 	\begin{itemize}
@@ -2271,6 +2290,15 @@
 % 	\Eg ¦\textukrainian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
 % 	\item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
 % \end{itemize}
+% ^^A
+% If the \xpgoption{mathfunctions} option is \xpgvalue{true}, loading Ukrainian defines a few macros than can be used
+% independently of the current language. These are nine macros to be used in math mode to type the names of
+% trigonometric functions common for Ukrainian documents: \cmd\sh , \cmd\ch , \cmd\tg , \cmd\ctg , \cmd\arctg ,
+% \cmd\arcctg , \cmd\th , \cmd\cth , and \cmd\cosec . Cyrillic letters in math mode can be typed with
+% the aid of text commands such as \cmd\textbf , \cmd\textsf , \cmd\textit , \cmd\texttt , etc.
+% The macros \cmd\Prob , \cmd\Variance , \cmd\NOD , \cmd\nod , \cmd\NOK , \cmd\nok , \cmd\NSD , \cmd\nsd , \cmd\NSK ,
+% \cmd\nsk , \cmd\Proj\ print some rare
+% Ukrainian mathematical symbols.
 % 
 % \subsection{welsh}\label{welsh}
 % \paragraph*{Options:}
@@ -2642,6 +2670,752 @@
 % \noindent Finally, if you want to know whether a specific language option has been set, you can use
 % \displaycmd{\iflanguageoption\marg{lang}\marg{opt. key}\marg{opt. value}\marg{true}\marg{false}}{\iflanguageoption}\new{1.47}
 % 
+% \section{Revision history}
+% 
+% \bgroup\footnotesize
+% \subsection*{1.52 (16-03-2021)}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Adaptations to \LaTeX\ 2021/05/01 pre-release 2 for Korean (\TXI{477}).
+% \item Add support for Uyghur (\TXI{475}).
+% \item New option \xpgoption{mathfunctions} for Russian and Ukrainian allows to disable the definitions
+%       of math macros that might clash with other packages (\TXI{465}).
+% \item Support LaTeX's new NFSS hooks (\TXI{471}).
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix French part modifications with \pkg{hyperref} (\TXI{469}).
+% \item Fix markup of French ¦\see¦ and ¦\alsoname¦ (\TXI{468}).
+% \end{itemize}
+% 
+% \subsection*{1.51 (08-12-2020)}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item New option \xpgoption{frenchpart} for French (\TXI{458}).
+% \item New option \xpgoption{splithyphens} for Croatian (\TXI{454}).
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Use new LaTeX core hooks rather than \pkg{filehook} package. This fixes
+%       a recent breakage of \pkg{filehook} with other external packages (\TXI{453}).
+% \item Remove very old code that pretends \pkg{polyglossia} is \pkg{babel} (\TXI{455}).
+% \item Fix spelling of Albanian contentsname (\TXI{456}).
+% \item Fix part heading modification in French (\TXI{458}).
+% \item Fix extra space in Hebrew (\TXI{459}).
+% \item Register main polyglossia language earlier (\TXI{461}).
+% \item Allow for hyphenations in words following opening guillemet in French with XeTeX (\TXI{462}).
+% \end{itemize}
+% 
+% 
+% \subsection*{1.50a (15-10-2020)}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Assure ¦\autodot¦ is defined with ¦\KOMAScript¦ in Russian.
+% \end{itemize}
+% 
+% \subsection*{1.50 (09-10-2020)}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+%       output. This brings LuaTeX on par with XeTeX for all scripts (\TXI{337}).
+%       The renderer can be changed via the new global \xpgoption{luatexrenderer} option.
+% \item The (previously inadvertently working) ¦hyphenrules¦ environment that ceased
+%       to work after a recent \pkg{babel} update is back and now officially supported.
+%       The environment now also supports language options and aliases (\TXI{427}).
+% \item New command ¦\setlanghyphenmins¦ to adapt hyphenation thresholds of languages
+%       and varieties.
+% \item New command ¦\abjadalph¦ for Arabic with corresponding option (\TXI{431}).
+% \item Replace consecutive glues around punctuation by the correct amount of space
+%       with lualatex for French, ecclesiastic Latin, and Sanskrit (\TXI{437}).
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Remove warning about missing Brazil patterns (\TXI{404}).
+% \item Fix incompatibility with recent \pkg{babel} release (\TXI{408}).
+% \item Fixed some spellings in Marathi (\TXI{409}).
+% \item Fix spacing of geminating dot in Catalan (\TXI{410}).
+% \item Fix incompatibility of Marathi with \pkg{beamer}.
+% \item Correct ¦\partname¦ in Hindi (\TXI{416}).
+% \item Updates and improvements to Kurdish (\TXI{418}).
+% \item Only activate shorthand character if \xpgoption{babelshorthands} is \xpgvalue{true} (\TXI{421}). 
+% \item Fix whitespace issue in Czech and Slovak with \xpgvalue{vlna=true} (\TXI{423}).
+% \item Fix whitespace issue in Danish (\TXI{424}).
+% \item Fix catcode conflicts that might occur in language definition files
+%       f.\,ex.\ when loaded from a LaTeX3 class (\TXI{67}, \TXI{425}).
+% \item Robustify font family switches (\TXI{428}).
+% \item Fix whitespace issue in Russian \xpgoption{indentfirst} option (\TXI{433}).
+% \item In Russian, \xpgoption{indentfirst} is now again default (\TXI{434}).
+% \item Fix LaTeX error with arabic numbering in Ukrainian (\TXI{440}).
+% \item Fix directionality after Hebrew decimal numbers (\TXI{441}).
+% \item Fix ¦babelname¦ of Latin Serbian (\TXI{442}).
+% \item Fix recording of secondary languages in ¦\xpg at bloaded¦ and ¦\xpg at bcp@loaded¦
+%       lists (\TXI{443}).
+% \item Simplify and robustify section heading modification in Russian
+%       and introduce option \xpgoption{forceheadingpunctuation} (\TXI{444}).
+% \item Fix Cyrillic dash (via babelshorthand ¦"---¦) when TeX ligatures
+%       are disabled (\TXI{445}).
+% \item Fix problem with large character indices in Lua module for punctuation
+%       spacing
+% \end{itemize}
+% 
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+%       output. See new features section.
+% \end{itemize}
+% 
+% \subsubsection*{Build fixes}
+% \begin{itemize}
+% \item Fix a bug in the dtx build script which was the reason for an utterly
+%        incomplete ¦polyglossia.dtx¦ file (\TXI{420}).
+% \end{itemize}
+% 
+% \subsubsection*{Documentation improvements}
+% \begin{itemize}
+% \item Document how to change ¦\lefthyphenmin¦ and ¦\righthyphenmin¦ for a language
+%       (\TXI{435}).
+% \end{itemize}
+% 
+% 
+% \subsection*{1.49 (08-04-2020)}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Add hook ¦\polyglossia at language@switched¦ to the external package interface (\TXI{398}).
+% \item Real fix for \TXI{400}, that wasn’t properly taken care of in 1.48.
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix compilation error with some \xpgoption{swapstring} options in Hungarian (\TXI{373}).
+% \item Fix whitespace problem in Greek language.
+% \end{itemize}
+% 
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Changed Finnish caption for ``Table of Contents'' to ``Sisällys'' (\TXI{403}).
+% \end{itemize}
+% 
+% 
+% \subsection*{1.48 (25-03-2020)}
+% 
+% \begin{itemize}
+% \item No new features
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix use of Hebrew with LuaLaTeX (\TXI{389}).
+% \item Do not overwrite footnote redefinitions of other packages
+%       with Latin and French (\TXI{391}).
+% \item Fix Serbian cyrillic numerals code (\TXI{392}).
+% \item Fix \xpgoption{[no]localmarks} option, whose logic was swapped (part of \TXI{395}).
+% \item Protect \xpgoption{localmarks} function against uppercased language names (part of \TXI{395}).
+% \item Fix buggy redefinition of ¦\@markright¦ with option localmarks (\TXI{396}).
+% \item Fix incompatibility between Latin and unicode-math (\TXI{394}).
+% \item Make (undocumented) ¦\defineshorthand¦ command (imported from babel) work.
+% \item Fix usage of \xpgoption{localmarks} option without value.
+% \item Emergency fixes for bugs caused by updates in \pkg{babel}’s ¦switch.def¦ (\TXI{399} and \TXI{400}).
+% \end{itemize}
+% 
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Use private macros in keyval choice keys (\TXI{390}).
+% \end{itemize}
+% 
+% \subsection*{1.47 (29-01-2020)}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item IETF BCP-47 compliant language tags can now be used for loading and switching
+%       languages alternatively to language names (\TXI{226}).
+% \item New commands ¦\languageid{<type>}¦ and ¦\mainlanguageid{<type>}¦.
+% \item New test ¦\iflanguageidloaded¦.
+% \item New list ¦\xpg at bcp@loaded¦.
+% \item New environment ¦{lang}{<lang>}¦ (this is equivalent to ¦{<lang>}¦,  but also available with
+%       ¦\setlanguagealias*¦ which does not define dedicated alias environments).
+% \item New gloss option ¦totalhyphenmin¦ (corresponds to LuaTeX's ¦\hyphenationmin¦) (\TXI{111}).
+% \item New test ¦\iflanguageoption{<lang>}{<key>}{<val>}¦ (\TXI{364}).
+% \item Restore simple alphabetic numbering for ¦\asbuk¦ and ¦\Asbuk¦ in Belarusian, Mongolian,
+%       Russian, Serbian, and Ukrainian (\TXI{377}).
+% \item New command ¦\AsbukTrad¦ and ¦\asbukTrad¦ for Belarusian, Mongolian, Russian, Serbian,
+%       and Ukrainian which uses traditional alphanumerical numbering.
+% \item New numerals option ¦cyrillic-trad¦ and ¦cyrillic-alph¦ to differentiate simple
+%       alphabetic and traditional alphanumerical Cyrillic numbering.
+% \item ¦\selectbackgroundlanguage¦ and ¦\resetdefaultlanguage¦ now also support language
+%       aliases.
+% \item New macro ¦\charifavailable{<char code>}{<substitution>}¦.
+% \item Add French language variant ¦swiss¦.
+% \item Implement \xpgoption{babelshorthands} for Croatian.
+% \item Implement ¦\localnumeral¦ for Japanese.
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix font family issue in headers (\TXI{355}).
+% \item Fix whitespace issues in ¦\text<lang>¦ (\TXI{356}).
+% \item Fix option-less ¦\babelname¦ in multi-variant languages (\TXI{357}).
+% \item Fix some spacing inconsistencies with French, Latin, and Sanskrit (\TXI{358}).
+% \item Fix issues with \xpgoption{babelshorthands} and \pkg{graphics} package (\TXI{368}).
+% \item Fix some captions and improve numbering in Marathi (\TXI{370}).
+% \item Fix Hungarian \xpgoption{swapstrings} feature (\TXI{373}).
+% \item Fix lua punctuation code problem (\TXI{374}).
+% \item Fix Bengali changecounternumbering option (\TXI{381}).
+% \item Fix whitespace issue in Japanese (\TXI{387}).
+% \item Fix ¦\text<lang>¦ command with multiple paragraphs.
+% \item Actually implement documented german spelling variant ¦1996¦ (= ¦new¦).
+% \item Fix Slovenian \xpgoption{localalph} option.
+% \item Fix Czech and Slovak \xpgoption{splithyphens} with typewriter fonts.
+% \item ¦farsical.sty¦: fix spacing issue with some month names.
+% \item Fix directionalty of numbers in Hebrew with XeTeX.
+% \item Improve interoperatability with \pkg{biblatex} (some language variants did not work yet).
+% \end{itemize}
+% 
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item Some boolean options had ¦false¦ value by default, which meant if you passed
+%       them without value, the logic was reversed. This has been changed, leading to
+%       change of behavior should you have used one of these options without value (\TXI{363}).
+%       Concerned are the following options:
+%       \begin{itemize}
+% 	   \item ¦babelshorthands¦ in language Belarusian, Mongolian, Ukrainian, and Russian
+%              (now ¦babelshorthands¦ equals ¦babelshorthand=true¦, no longer ¦babelshorthands=false¦).
+% 	   \item ¦localalph¦ in language Slovenian (¦localalph¦ now equals ¦localalph=true¦).
+% 	   \item ¦latesthyphen¦ in language German (¦latesthyphen¦ now equals ¦latesthyphen=true¦).
+% 	   \item ¦fullyear¦ in package \pkg{hebrewcal} (¦fullyear¦ now equals ¦fullyear=true¦).
+%       \end{itemize}
+% \item The command ¦\setlanguagealias*¦ (introduced in v1.46) does no longer define
+%       dedicated alias environments.
+% \item The babelnames for Latin variants have been corrected to ¦classiclatin¦, ¦ecclesiasticlatin¦
+%       and ¦medievallatin¦. This is how the hyphenation patterns and \pkg{babel} ¦\extras¦ are named, even
+%       though the variants can currently be selected in \pkg{babel} only via appended ``dot modifier''.
+% \item In accordance with the respective \pkg{l3kernel} change, ¦\str_lower_case:n¦  has been renamed to
+%       ¦\str_lowercase:n¦ where used in ¦polyglossia.sty¦. Thus \pkg{polyglossia} 1.47 requires \pkg{l3kernel}
+%       2020-01-12 at least.
+% \end{itemize}
+% 
+% \subsection*{1.46 (15-11-2019)}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Add option \xpgoption{indentfirst} to Russian (\TXI{78}).
+% \item Add options to set and customize French-style itemize item labels to French (\TXI{89}).
+% \item \pkg{Polyglossia} now decodes all supported \pkg{babel} language names in ¦\setdefaultlanguage¦,
+%       ¦\setotherlanguage¦ and the language switching commands (\TXI{112}, \TXI{132}).
+% \item Add optional localized math operators to Spanish (\TXI{123}).
+% \item Swap section headings in Hungarian (\TXI{344}). New option \xpgoption{swapstrings} provides control
+%       over this.
+% \item Introduce macro ¦\setlanguagealias¦ and ¦\setlanguagealias*¦.
+% \item Introduce language switching command ¦\textlang{lang}{...}¦ (equivalent to ¦\text<lang>¦,
+%       but also available with ¦\setlanguagealias*¦ which does not define ¦\text<alias>¦).
+% \item Add support for Afrikaans.
+% \item Add support for Belarusian.
+% \item Add support for Bosnian.
+% \item Add support for Georgian.
+% \item Add Spanish variant ¦mexican¦.
+% \item Add babelshorthands as well as options \xpgoption{splithyphens} and \xpgoption{vlna} to Slovak.
+% \item Add Latin language variant ¦ecclesiastic¦.
+% \item Add Latin language options ¦capitalizemonth¦, ¦ecclesiasticfootnotes¦, ¦hyphenation¦,
+%       ¦prosodicshorthands¦, and ¦usej¦.
+% \item Add Latin shorthands for «, », æ, Æ, œ, and Œ.
+% \item Add French language option \xpgoption{thincolonspace}.
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix problems with fragile font settings (\TXI{24}).
+% \item Fix clash of French punctuation spacing with the \pkg{soul} package (\TXI{52}).
+% \item Re-enable the possibility to pass a macro as main argument to ¦\setmainlanguage¦ and
+%       ¦\setotherlanguage¦ (\TXI{331}).
+% \item Fix detection of default ¦\languagevariant¦ (\TXI{332}).
+% \item Fix LaTeX error with undefined hyphenation pattern (\TXI{346}).
+% \item Fix some babel shorthand issues by updating the shorthand code from recent \pkg{babel}.
+% \item Fix some problems with French and Latin auto-spacing (\TXI{345}, \TXI{352}).
+% \item Fix an \pkg{expl3} declaration (\TXI{348}).
+% \end{itemize}
+% 
+% \subsubsection*{Interface and defaults changes}
+% \begin{itemize}
+% \item The sub-package ¦cyrillicnumbers.sty¦ has been renamed to
+%       ¦xpg-cyrillicnumbers.sty¦ (per TeXLive request).
+% \item In Russian, all paragraphs are now indented by default, as common in Russian typography.
+%       The behavior can be opted out by \xpgoption{indentfirst=false}.
+% \item In Czech, \xpgoption{splithyphens} and \xpgoption{lvna} are enabled by default.
+%       Also, the option does now work as well with LuaTeX.
+% \item Changed option name ¦fraktur¦ to ¦blackletter¦ in German (the former is still available
+%       as an alias).
+% \item In French, high punctuation characters and guillemets are spaced by half an interword
+%       space now instead of a ¦\thinspace¦ (cf. \TXI{345}).
+% \end{itemize}
+% 
+% \subsection*{1.45 (27-10-2019)}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Introduce a framework for external packages to access language variants. This fixes,
+%       among other things, long-standing problems in the interaction of \pkg{biblatex} and \pkg{polyglossia}.
+% \item Add new macros ¦\languagevariant¦, ¦\mainlanguagevariant¦, ¦\babelname¦ and ¦\mainbabelname¦
+%       for package authors to access language information.
+% \item Add new test ¦\iflanguageloaded{<language>}{<true>}{<false>}¦ where <language>
+%       can be a \pkg{polyglossia} or \pkg{babel} language name.
+% \item Add new macros ¦\localnumeral,¦ ¦\localnumeral*,¦ ¦\Localnumeral¦ and
+%       ¦\Localnumeral*¦ that convert Arabic digitals to the local number scheme.
+% \item Add new macro ¦\pghyphenation¦ to add language-specific hyphenation exceptions (\TXI{18}).
+% \item Add support form (Khalkha \& Cyrillic) Mongolian in line with \pkg{babel-mongolian} (\TXI{23}).
+% \item Add option \xpgoption{splithyphens} and \xpgoption{vlna} to Czech (XeTeX only; for LuaTeX, use the package
+%       \pkg{luavlna} to get these features) (\TXI{32}).
+% \item Add support for Kurdish, both Kurmanji and Sorani (\TXI{277}).
+% \item Implement proper Cyrillic (alphanumeric) numbering (\TXI{285}).
+% \item Add new language ¦friulian¦.
+%       This deprecates ¦friulan¦ (which is still supported for backwards compatibility).
+% \item Add new language ¦malay¦ with variants ¦indonesian¦ and ¦malaysian¦.
+%       This deprecates ¦bahasai¦ and ¦bahasam¦ (which are still supported for
+%       backwards compatibility).
+% \item Add new language ¦gaelic¦ with variants ¦irish¦ and ¦scottish¦.
+%       This deprecates ¦irish¦ and ¦scottish¦ as own \pkg{polyglossia} languages (which
+%       are still supported for backwards compatibility).
+% \item Add new language ¦hungarian¦.
+%       This deprecates ¦magyar¦ (which is still supported for backwards compatibility).
+% \item Add new language ¦sorbian¦ with variants ¦lower¦ and ¦upper¦.
+%       This deprecates ¦lsorbian¦ and ¦usorbian¦ (which are still supported for
+%       backwards compatibility).
+% \item Add new language ¦portuguese¦ with variants ¦portuguese¦ and ¦brazilian¦.
+%       This deprecates ¦brazil¦ and ¦portuges¦ (which are still supported for
+%       backwards compatibility).
+% \item Add new language ¦norwegian¦ with variants ¦nynorsk¦ and ¦bokmal¦.
+%       This deprecates ¦nynorsk¦ and ¦norsk¦ (which are still supported for
+%       backwards compatibility).
+% \item Add new language ¦persian¦.
+%       This deprecates ¦farsi¦ (which is still supported for backwards compatibility).
+% \item Add new language ¦sami¦. Currently only Northern Sami is supported.
+%       This deprecates ¦samin¦ (which is still supported for backwards compatibility).
+% \item ¦gloss-serbian¦: add \xpgoption{numerals=cyrillic} option. Add ¦\asbuk¦ and ¦\Asbuk¦ (\TXI{285}).
+% \item Implement basic support for (French) ¦canadien¦ and (English) ¦canadian¦ (\TXI{22}).
+% \item Improve support for Armenian (\TXI{79}): Add captions, Eastern month names
+%       (accessible via variant=eastern) and Armenian alphabetic numbering
+%       (via \xpgoption{numerals=armenian} and ¦\armenicnumeral¦).
+% \item Add french option \xpgoption{autospacing} and commands ¦\AutoSpacing,¦ ¦\NoAutoSpacing¦
+%       This allows to switch off autospacing globally or locally (\TXI{113}).
+% \item Fixup ¦\normalfont¦ (\TXI{203}).
+% \item Fix directionality issues in mixed RTL/LTR paragraphs (\TXI{204}).
+% \item Implement \xpgoption{babelshorthands} for Finnish (\TXI{212}) and Czech.
+% \item Implement access to current language via Lua (\TXI{243}).
+% \item Introduce french option option \xpgoption{autospacetypewriter}
+%       alias \xpgoption{OriginalTypewriter}.
+% \item Support ¦\aemph¦ with lualatex
+% \item Rename \xpgoption{automaticspacesaroundguillemets} to \xpgoption{autospaceguillemets} 
+%       The old option is kept for backwards compatibility.
+% \end{itemize}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix equation number in Arabic and Farsi (\TXI{7}).
+% \item Simplify and document Hebrew \xpgoption{marcheshvan} option (\TXI{16}).
+% \item Fix hyphenation of Greek with LuaTeX (\TXI{55}).
+% \item Fix N'ko date format (\TXI{63}).
+% \item Disable the extras of a language when a nested language starts (\TXI{66}, \TXI{169}).
+% \item Properly implement Bengali numbers (\TXI{69}, \TXI{184}).
+% \item Fix conflicts with other packages caused by premature shorthand activation
+%       in preamble (\TXI{81}, \TXI{200}).
+% \item Fix kerning in math with French (\TXI{92}).
+% \item Fix expansion issue in Hebrew (\TXI{93}).
+% \item Fix numbering expansion issue in Greek (\TXI{110}).
+% \item Postpone ¦\disablehyphenation¦ in preamble until after setting of
+%       document language (\TXI{125}).
+% \item Postpone the assignment of defaultfamily to ¦\AtBeginDocument¦,
+%       thus do not overwrite ¦\familydefault¦ redefinitions in the preamble (\TXI{127}).
+% \item Reset number settings when switching language (\TXI{133}).
+% \item Hebrew: Properly store ¦\MakeUppercase¦ for later restoration (\TXI{152}).
+% \item Fix whitespace issue in ¦\datewelsh¦ (\TXI{158}).
+% \item When switching language, set the language/script specific font families (\TXI{164}).
+% \item Correct some Bengali captions (\TXI{165}).
+% \item Fix documentation of Serbian (\TXI{168}).
+% \item Reset ucl codes in Latin only if the respective variant is used (\TXI{172}).
+% \item Fix ¦\disablehyphenation¦ with LuaTeX (\TXI{187}).
+% \item Fix typos in Hindi captions (\TXI{202}).
+% \item Pass language options to the aux files (\TXI{205}).
+% \item Rewrite and fix English variant handling (\TXI{208}).
+% \item Define magyar caption formats in ¦\blockextras¦ and undef them in ¦\noextras¦ (\TXI{209}).
+% \item Ensure proper direction with arabic digits in Arabic and Farsi (\TXI{213}).
+% \item Fix ¦\linespread¦ with Korean (\TXI{218}).
+% \item Define Russian caption before key allocation (\TXI{219}).
+% \item Register current language in \pkg{polyglossia} lua module after selection (\TXI{234}).
+% \item Fix \pkg{babel} language switching commands (\TXI{239}):
+%       ¦\foreignlanguage¦ and the starred ¦otherlanguage*¦ environment are not
+%       supposed to change dates.
+% \item Fix French spacing leaking beyond French (\TXI{270}).
+% \item Redefine font families for French only if language is loaded (\TXI{270}).
+% \item ¦gloss-russian¦: 
+%      \begin{itemize}
+% 	 \item Check whether command exist before redefining (\TXI{280}).
+% 	 \item Fix some whitespace issues.
+%      \end{itemize}
+% \item Fix and simplify ¦\frenchfootnote¦ definition (\TXI{294}).
+% \item Fix footnote numbering in Farsi.
+% \item Fix Latin footnotes in Arabic documents.
+% \item Set the correct main direction with \pkg{luabidi}.
+% \item Fix \xpgoption{autospaceguillemets} option in French.
+% \item Fix grouping in ¦gloss-danish.ldf¦.
+% \item Properly store ¦\MakeUppercase¦ and ¦\@arabic¦ for later restoration.
+% \end{itemize}
+% 
+% \subsubsection*{Documentation}
+% \begin{itemize}
+% \item Add documentation about footnotes in RTL context
+% \item Document Tibetan numerals option (\TXI{109}).
+% \item Improve ¦\frenchfootnote¦ documentation.
+% \item Mention Japanese support in the docs.
+% \end{itemize}
+% 
+% \subsection*{1.44 (04-04-2019)}
+% \begin{itemize}
+% \item Correction to Russian language file, by \TA{Maksim Zholudev} (commit d2f383e).
+% \item Added Macedonian language file, by \TA{Stefan Zlatinov} (commit cd379e1).
+% \end{itemize}
+% 
+% \subsection*{1.43 (05-03-2019)}
+% \begin{itemize}
+% \item Correction to Hindi language file, by \TA{Zdenĕk Wagner}.
+% \end{itemize}
+% 
+% \subsection*{1.42.5 (13-04-2017)}
+% \begin{itemize}
+% \item Many changes to the French language file, by \TA{Maïeul Rouquette}.
+% \end{itemize}
+% 
+% \subsection*{1.42.4 (February, March 2016)}
+% \begin{itemize}
+% \item Remedial actions for the \pkg{babel} changes.
+% \item Fixed side effect of pull request \TXI{122} (see commit d2a34ff).
+% \item Added automatic Josa selection, variant, and captions options to Korean, by \TA{Dohyun Kim} (pull request \TXI{128}).
+% \item Updated ¦gloss-occitan¦ from CTAN.
+% \end{itemize}
+% 
+% \subsection*{18-01-2016}
+% \begin{itemize}
+% 	\item Fixed issue \TXI{124} (minor typo in ¦polyglossia-frpt.lua¦)
+% 	\item Merged pull request \TXI{117} for more French guillemet spacing
+% 	\item Merged pull request \TXI{121} to add ¦\bbl at loaded¦; fixes issue \TXI{120}
+% 	\item Merged pull request \TXI{122} that build on \TXI{121}
+% 	\item Merged pull request \TXI{116} for French (spacing around guillemets)
+% 	\item Fixed issue \TXI{115} (spurious spaces in Arabic)
+% \end{itemize}
+% 	
+% \subsection*{19-08-2015}
+% \begin{itemize}
+% 	\item Fixed issue \TXI{107} for Marathi (labels and month names)
+% \end{itemize}
+% 		
+% \subsection*{1.42.0 (06-08-2015)}
+% \begin{itemize}
+% 	\item Add Bengali digits package, and option to reset all numbering functions.
+% 	\item Add ¦long¦ option for Welsh date.
+% 	\item Add local alphabet in Slovenian, for enumerations and such.
+% 	\item Fix long-standing bug with Welsh: date should use ordinals.
+% 	\item Fix for Latin with LuaTeX: all variants had same problems as Classic.
+% 	\item Fixed error with British variant of English and LuaTeX (issue \TXI{86}).
+% \end{itemize}
+% 			
+% \subsection*{1.41.0 (16-07-2015)}
+% \begin{itemize}
+% 	\item Added support for Khmer, by \TA{Say Ol} (private email)
+% \end{itemize}
+% 			
+% \subsection*{1.40.1 (14-07-2015)}
+% \begin{itemize}
+% 	\item Bugfix for Korean, by \TA{Dohyun Kim} (pull request \TXI{103})
+% \end{itemize}
+% 			
+% \subsection*{1.40.0 (07-07-2015)}
+% \begin{itemize}
+% 	\item ¦gloss-korean.ldf¦ contributed by \TA{Dohyun Kim} (pull request \TXI{102})
+% \end{itemize}
+% 			
+% \subsection*{1.33.7 (04-07-2015)}
+% \begin{itemize}
+% 	\item Release to CTAN, no code change
+% 	\item Fixed extraneous space in code for Swiss German (pull request \TXI{101})
+% 	\item Fixed a typo in Ukrainian alphabet, for ¦\Asbuk¦ (pull request \TXI{99})
+% 	\item Fix for Classic Latin: load patterns for LuaTeX
+% 	\item Made ¦\rmfamily¦, ¦\sffamily¦ and ¦\ttfamily¦ robust again
+% 	\item Merged fix for Hebrew date format, by \TA{Guy Rutenberg} (pull request \TXI{94})
+% 	\item Merged fix for spurious space, by \TA{Caleb McKennan} (pull request \TXI{91})
+% 	\item Merged pull request \TXI{84} by \TA{Élie Roux} for Tibetan
+% 	\item Added support for Swiss German (pull request \TXI{75})
+% 	\item Added commands ¦\Asbuk¦ and ¦\asbuk¦ for Ukrainian (pull request \TXI{76}), similar to Russian
+% 	\item Documented changes to Latin from last year.
+% 	\item Be friendlier to right-to-left languages with LuaTeX
+% 	\item Enhanced Latin support by \TA{Claudio Beccari}
+% \end{itemize}
+% 
+% \subsection*{1.33.6 (15-05-2015)}
+% \begin{itemize}
+% 	\item Introduce a ¦classical¦ and ¦medieval¦ variant of Latin
+% 	\item Add ¦\asbuk¦ and ¦\Asbuk¦ for Ukrainian (after their Russian counterpart)
+% 	\item Fix a number of bugs
+% \end{itemize}
+% 					
+% \subsection*{1.33.5 (21-05-2014)}
+% \begin{itemize}
+% 	\item Option to disable hyphenation entirely, by \TA{Élie Roux}
+% 	\item Fix spurious spaces in gloss-russian.ldf, by \TA{Oleg Domanov}
+% 	\item Support for the Austrian variant of German, by \TA{Jürgen Spitzmüller}
+% 	\item Changes to the Croatian translations, by \TA{Ivan Kokan}
+% 	\item Correction to the Lithuanian translations, by \TA{Ignas Anikevičius}
+% \end{itemize}
+% 					
+% \subsection*{1.33.4 (27-06-2013)}
+% \begin{itemize}
+% 	\item Emergency release for a bug introduced in ¦babelsh.def¦
+% \end{itemize}
+% 					
+% \subsection*{1.33.3 (28-05-2013)}
+% \begin{itemize}
+% 	\item Changed formatting of some error messages (emergency fixes for TeX Live 2013)
+% \end{itemize}
+% 					
+% \subsection*{1.33.2 (26-05-2013)}
+% \begin{itemize}
+% 	\item Added ¦\disablehyphenation¦ and ¦\enablehyphenation¦, contributed by
+% 	      \TA{Élie Roux}.
+% 	\item Fixed bug related to package inclusion. \pkg{Polyglossia} would break if
+% 	      we loaded ¦breqn.sty¦, and then called ¦\setmainlanguage{english}¦, this
+% 	      is no longer the case.
+% 	\item Removed spurious space introduced by ¦\captionswedish¦.
+% \end{itemize}
+% 					
+% \subsection*{1.33.1 (23-05-2013)}
+% \begin{itemize}
+% 	\item Editorial changes to the documentation
+% 	\item Hunted and documented bugs
+% \end{itemize}
+% 					
+% \subsection*{1.33.0 (20-05-2013)}
+% \begin{itemize}
+% 	\item Added support for N’Ko.
+% 	\item Bugfixes for LuaTeX
+% 	\item More work in progress on Bidi in LuaTeX.
+% \end{itemize}
+% 					
+% \subsection*{1.32.0 (15-05-2013)}
+% \begin{itemize}
+% 	\item Transitional version to support right-to-left languages with LuaTeX.
+% \end{itemize}
+% 
+% \subsection*{1.31 (10-05-2013) / 1.3 (11-05-2013)}
+% \begin{itemize}
+% 	\item Several bugfixes.
+% 	\item Sync with \pkg{babel} 3.9.
+% 	\item Consolidated support for LuaTeX for all languages but the ones using
+% 	      South and South-East Asian scripts, and languages written from right
+% 	      to left.  Many thanks to \TA{Élie Roux} for his help.
+% 	\item Added support for Tibetan, contributed by \TA{Élie Roux} (end of lines are experimental).
+% \end{itemize}
+% 					
+% \subsection*{1.30 (06-08-2012)}
+% \begin{itemize}
+% 	\item Added support for LuaTeX.  Many languages don’t work yet.  Please be patient.
+% \end{itemize}
+% 					
+% \subsection*{1.2.0e (28-04-2012)}
+% \begin{itemize}
+% 	\item Fixed a number of outstanding and not very interesting bugs.
+% 	\item Added gloss files for Romansh and Friulan, contributed by \TA{Claudio Beccari}.
+% \end{itemize}
+% 					
+% \subsection*{1.2.0d (12-01-2012)}
+% \begin{itemize}
+% 	\item Removed ¦\makeatletter¦ and ¦\makeother¦ from gloss files entirely.
+% \end{itemize}
+% 					
+% \subsection*{1.2.0c (12-10-2011) [First update by Arthur Reutenauer]}
+% \begin{itemize}
+% 	\item Update to ¦gloss-italian.ldf¦ by \TA{Claudio Beccari}, incorporating changes
+% 	      by \TA{Enrico Gregorio}.
+% 	\item Conclude every gloss file with ¦\makeatother¦ to match the initial
+% 	      ¦\makeatletter¦.  (Not necessary from a technical point of vue, because of one 
+% 	      of the changes by Enrico reported below, but I like it better that way :-)
+% 	\item Conclude ¦polyglossia.sty¦ with ¦\ExplSyntaxOff¦ to match the initial
+% 	      ¦\ExplSyntaxOn¦.
+% 	\item Added gloss file for Kannada, contributed by \TA{Aravinda VK} and others.
+% 	\item Corrections to the gloss-dutch.ldf thanks to \TA{Wouter Bolsterlee}.
+% 	\item Several patches by \TA{Enrico Gregorio}, fixing long-standing bugs.
+% 	      From the git log:
+% 			\begin{itemize}
+% 				\item Deleted setup for right-to-left writing direction, see \url{http://tug.org/pipermail/xetex/2011-April/020319.html}
+% 				\item Changed three appearances of ¦\newcommand¦ to ¦\newrobustcmd,¦ as the commands needs to be protected.
+% 				      Bug reported by \TA{kamensky}.
+% 				\item Corrected ¦\datepolish¦ as suggested by \TA{Piotr Kempa}
+% 				\item Changed ¦\lccode"¦ into ¦\lccode\string",¦ because it might come into action at wrong times when ¦"¦ is active
+% 				\item Changed definition of key ¦\xpg at setup¦, as ¦\@tmpfirst¦ and ¦\@tmpsecond¦ were not expanded, causing dependence
+% 				      of ¦\lefthyphenmin¦ and   ¦\righthyphenmin¦ to the last loaded language.
+% 				      Raised by \TA{Vadim Rodionov} on the XeTeX mailing list.
+% 				\item Deleted ¦\bgroup¦ and ¦\egroup¦ tokens from the definition of ¦otherlanguage*¦; they serve no purpose
+% 				      (we are already inside an environment) and conflict with \pkg{csquotes}. Noticed by \TA{P. Lehman}.
+% 				\item Changed the calls of ¦\input¦ to ¦\xpg at input,¦ which inputs the required file and resets the catcode
+% 				      of ¦@¦ to the same value as it had before the input. Since each ¦.ldf¦ file starts with ¦\makeatletter¦,
+% 				      the old behaviour would leave a category 11 @, which is wrong.
+% 				\item Added ¦\csuse{date#2}¦ to the definition of ¦otherlanguage*¦.
+% 			\end{itemize}
+% \end{itemize}				
+% 						
+% \subsection*{1.2.0b (03-10-2011) [Update by Philipp Stephani]}
+% \begin{itemize}
+% 	\item Load \pkg{xkeyval} package explicitly since newer versions
+% 	      of \pkg{fontspec} don't load it any more.
+% \end{itemize}
+% 							
+% \subsection*{1.2.0a (27-07-2010) [Last update by François Charette]}
+% \begin{itemize}
+% 	\item Initialize ¦\fontfamily¦ acc to value of ¦\familydefault¦
+% 	      (Fixes a bug when using \pkg{polyglossia} with beamer)
+% 	\item Remove spurious space in def of ¦\dateenglish¦
+% 	\item Add missing English variant ¦american¦
+% 	\item Serbian: fix date format and captions (Latin+Cyrillic)
+% 	\item Fix ¦\atticnumeral¦ in ¦gloss-greek¦
+% 	\item Small improvements and fixes in documentation
+% \end{itemize}
+% 								
+% 								
+% \subsection*{1.2.0 (15-07-2010)}
+% \begin{itemize}
+% 	\item Adapted for \pkg{fontspec} 2.0 (will not work with earlier versions!)
+% 	\item New implementation of a ¦\PolyglossiaSetup¦ interface
+% 	      that simplifies writing ¦gloss-*.ldf¦ files
+% 	\item Many internal enhancements and refactoring
+% 	      (including a patch by \TA{Dirk Ulrich})
+% 	\item Improved automatic font setup when ¦\<lang>font¦ is not defined
+% 	\item New environment otherlanguage* (env. equivalent of ¦\foreignlanguage¦
+% 	      (\TA{Enrico Gregorio})
+% 	\item Bugfix to prevent bogus expansion of ¦\{rm,sf,tt}family¦ even in aux files (\TA{Enrico Gregorio})
+% 	\item New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
+% 	      Malayalam, Marathi, Tamil, Telugu, and Turkmen.
+% 	\item New auxiliary packages ¦devanagaridigits¦ and ¦bengalidigits¦
+% 	\item \pkg{hijrical} no longer loads \pkg{bidi} and checks for incompatible \pkg{l3calc}
+% 	\item Add \pkg{babel} shorthands for Russian (based on a patch by \TA{Vladimir Lomov})
+% 	\item Fix ¦\fnum@{table,figure}¦ for Lithuanian
+% 	\item Various improvements in ¦gloss-russian¦ (provided by \TA{Vladimir Lomov} and
+% 	      others)
+% 	\item Corrected captions for Bahasai, Lithuanian, Russian, Croatian
+% 	\item Add option \xpgoption{indentfirst=true} for Spanish, Croation and other languages
+% 	      (NB: \xpgoption{indentfirst} was previously named \xpgoption{frenchindent})
+% 	\item New option \xpgoption{script} for German: Setting \xpgoption{script=fraktur} modifies the
+% 	      captions for typesetting in Fraktur.
+% 	\item New command ¦\aemph¦ for Arabic, Farsi, Urdu, etc. to mark emphasis through
+% 	      overlining.
+% 	\item Package option \xpgoption{nolocalmarks} is now true by default: to activate it the
+% 	      option \xpgoption{localmarks} must be passed instead.
+% 	\item Loading languages à la \pkg{babel} as package options is no longer possible (this
+% 	      feature was deprecated since v1.1.0).
+% \end{itemize}
+% 							
+% \subsection*{1.1.1 (23-03-2010)}
+% \begin{itemize}
+% 	\item Bugfix for French: explicit spaces before/after double punctuation
+% 	      signs (Par exemple : les grands « espaces » du Canada !) are
+% 	      now replaced by the appropriate non-breaking spaces, as in \pkg{babel}.
+% 	\item Bugfix for font switching mechanism within Latin script
+% 	      (pending a complete re-implementation in v1.2):
+% 	      the font shape and series are no longer reset when switching language.
+% 	\item New macros for non-Western decimal digits
+% 	      (instead of fontmappings)
+% 	\item New gloss files for Asturian, Lithuanian and Urdu
+% 	\item ¦hijrical.sty¦ is now locale-aware: ¦\hijritoday¦ is
+% 	      formatted differently in Arabic, Farsi, Urdu, Turkish
+% 	      and Bahasa Indonesia.
+% 	\item Enable \xpgoption{babelshorthands} for Dutch
+% 	\item Add missing macro ¦\allowhyphens¦
+% 	\item Add global option \xpgoption{babelshorthands}
+% 	\item Support Catalan geminated l
+% 	\item Bugfix when declaring more than one pkg option
+% 	\item Protect ¦\reset at font¦
+% 	\item Add missing requirement \pkg{makecmds}
+% 	\item Bugfix for smallcaps in captions
+% 	\item Typo for ¦ccname¦ in Hebrew
+% 	\item Add option \xpgoption{numerals} to ¦gloss-russian¦
+% 	\item Provide ¦\newXeTeXintercharclass¦ when undefined
+% 	\item Bugfix for Russian ¦\alph¦
+% 	\item Remove superfluous level of ¦{}¦ in definition of ¦\markright¦
+% 	\item Bugfix for ¦\datecatalan¦
+% 	\item Change ¦hyphenmins¦ for Sanskrit
+% \end{itemize}
+% 							
+% \subsection*{1.1.0b (22-11-2009)}
+% \begin{itemize}
+% 	\item Modify ¦\hyphenmins¦ for Sanskrit (\TA{Yves Codet})
+% 	\item Bugfixes for Serbian and Bulgarian (\TA{Enrico Gregorio})
+% \end{itemize}
+% 
+% \subsection*{1.1.0a (22-11-2009)}
+% \begin{itemize}
+% 	\item Bugfix for interchar tokens
+% \end{itemize}
+% 
+% \subsection*{1.1.0 (20-11-2009)}
+% \begin{itemize}
+% 	\item Use ¦\newXeTeXintercharclass¦ (thanks to \TA{Enrico Gregorio})
+% 	\item Fixed implementation of shorthands for German (\pkg{babel} code in file ¦babelsh.def¦)
+% 	\item Arabic (\TA{Khaled Hosny}):
+% 	\begin{itemize}
+% 		\item Fix abjad form for 3 and 5 and add option ¦\abjadjimnotail¦
+% 		\item bugfix for ¦\arabicnumber¦
+% 		\item make Gregorian calendar the default
+% 		\item fixed typos in the sample text
+% 	\end{itemize}
+% 	\item Turkish (\TA{S. Ö. Yıldız}):
+% 	\begin{itemize}
+% 		\item fix white-space before : and !
+% 		\item also check if the font specified TRK for language
+% 		\item added missing Turkish translation of ``Glossary''
+% 	\end{itemize}
+% 	\item Suppress ¦nopattern¦ warning for non-hyphenated scripts
+% 	\item Changed U+0163 to U+021B for Romanian (\TA{Elie Roux})
+% 	\item Stylistic fixes and use macro ¦\xpg at option¦ for package options (\TA{E. Gregorio})
+% 	\item Fix month names in Dutch (\TA{A. Ledda})
+% 	\item Add Brazilian translation for ``glossary''
+% 	\item Remove spurious space generated by ¦gloss-spanish¦
+% 	\item Fix ¦ldf¦ file for brazilian
+% 	\item Various improvements in the code communicated by \TA{E. Gregorio}:
+% 	\begin{itemize}
+% 		\item remove superfluous ¦\protect\language¦
+% 		\item change default language from ¦0¦ to ¦\l at nohyphenation=255¦
+% 		\item localize ¦lccode¦ handling of apostrophe in French; add it to Italian
+% 	\end{itemize}
+% 	\item Fix ¦frenchspacing¦ for Vietnamese
+% 	\item Other minor bugfixes
+% \end{itemize}
+% 							
+% \subsection*{1.0.2 (27-01-2009)}
+% \begin{itemize}
+% 	\item Captions corrected in Hebrew, Russian and Spanish
+% 	\item Removed all ¦\text<lang>¦ wrappers within caption definitions
+% 	\item Improved compatibility with \pkg{babel}
+% 	\item New option \xpgoption{babelshorthands} for German
+% 	\item New option \xpgoption{Script} for Sanskrit
+% \end{itemize}
+% 							
+% \subsection*{1.0.1 (31-07-2008)}
+% \begin{itemize}
+% 	\item Improved documentation (added sections on font setup and numeration mappings)
+% 	\item Improvements and bug fixes for English and German
+% 	\item Bugfix in ¦gloss-syriac.ldf¦ (spurious space after ¦\textsyriac{...}¦)
+% 	\item Extended the scope of ¦\syriacabjad¦
+% 	\item Added ¦gloss-amharic.ldf¦ (ported from ¦ethiop.ldf¦ in the package \pkg{ethiop})
+% \end{itemize}
+% 							
+% \subsection*{1.0 (13-07-2008)}
+% \begin{itemize}
+% 	\item Initial release on CTAN.
+% \end{itemize}
+% \egroup
+% 
 % \section{Acknowledgements (by François Charette)}
 % \pkg{Polyglossia} is notable for being a recycle box of previous contributions
 % by other people. I take this opportunity to thank the following individuals,
@@ -2675,7 +3449,8 @@
 % \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
 % \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson},
 % \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy},  \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe},
-% \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
+% \TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou},
+% and \TA{Stefan Zlatinov}.
 % Their respective contributions can be identified from the contributor statistics on
 % \href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
 % 
@@ -2701,7 +3476,7 @@
 % \subsection{polyglossia.sty}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2020/12/08 v1.51
+\ProvidesPackage{polyglossia}[2021/03/16 v1.52
   Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
 \RequirePackage{etoolbox}
 \RequirePackage{makecmds}
@@ -4050,16 +4825,19 @@
 \DeclareRobustCommand\xpg at defaultfont@rm{%
    \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
    \fontfamily\rmdefault%
+   \ifdefined\UseHook\UseHook{rmfamily}\fi%
    \selectfont%
 }
 \DeclareRobustCommand\xpg at defaultfont@sf{%
    \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
    \fontfamily\sfdefault%
+   \ifdefined\UseHook\UseHook{sffamily}\fi%
    \selectfont%
 }
 \DeclareRobustCommand\xpg at defaultfont@tt{%
    \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
    \fontfamily\ttdefault%
+   \ifdefined\UseHook\UseHook{ttfamily}\fi%
    \selectfont%
 }
 
@@ -4129,8 +4907,10 @@
   \DeclareRobustCommand\sffamily{\csuse{#1 at font@sf}}%
   \DeclareRobustCommand\ttfamily{\csuse{#1 at font@tt}}%
   \gdef\normalfont{\protect\xpg at select@fontfamily{#1}%
-                     \fontseries{\seriesdefault}\selectfont%
-                     \fontshape{\shapedefault}\selectfont}%
+                   \fontseries{\seriesdefault}\selectfont%
+                   \fontshape{\shapedefault}
+                   \ifdefined\UseHook\UseHook{normalfont}\fi%
+                   \selectfont}%
   \gdef\reset at font{\protect\normalfont}%
 }
 
@@ -10385,7 +11165,8 @@
    %\def\headtoname{}%
    \def\proofname{Proof}%
    \def\glossaryname{Glossary}%
-   }
+}
+
 \def\datebulgarian{%
    \def\today{\number\day~\ifcase\month\or
        януари\or
@@ -12903,8 +13684,8 @@
      \def\partname{Partie}%
    \fi%
    \def\pagename{page}%
-   \def\seename{\emph{voir}}%
-   \def\alsoname{\emph{voir aussi}}%
+   \def\seename{voir}%
+   \def\alsoname{voir aussi}%
    \def\enclname{P.~J. }%
    \def\ccname{Copie à }%
    \def\headtoname{}%
@@ -12932,14 +13713,23 @@
    % Change part heading
    % With titlesec
    \ifcsdef{titleformat}{%
-     \ifcsdef{@part}{%
-        \let\xpg at save@part at format\@part%
-        \patchcmd{\@part}%
+     \ifcsdef{H at old@part}{% Hyperref
+        \let\xpg at save@part at format\H at old@part%
+        \patchcmd{\H at old@part}%
                   {\partname\nobreakspace\thepart}%
                   {\xpg at french@part\nobreakspace\partname}%
                   {}%
                   {\xpg at warning{Failed to patch part for French}}%
-     }{}%
+     }{% not hyperref
+       \ifcsdef{@part}{%
+          \let\xpg at save@part at format\@part%
+          \patchcmd{\@part}%
+                    {\partname\nobreakspace\thepart}%
+                    {\xpg at french@part\nobreakspace\partname}%
+                    {}%
+                    {\xpg at warning{Failed to patch part for French}}%
+       }{}%
+     }%
    }{% (not \ifdefined\titleformat)
      % With KOMA
      \ifcsdef{sectionformat}{%
@@ -12950,23 +13740,40 @@
      }{%  (not \ifdefined\sectionformat)
        % With memoir
        \ifcsdef{@memptsize}{%
-         \ifcsdef{@part}{%
-           \let\xpg at save@part at format\@part%
-           \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+         \ifcsdef{H at old@part}{% Hyperref
+           \let\xpg at save@part at format\H at old@part%
+           \patchcmd{\H at old@part}{\printpartname \partnamenum \printpartnum}%
                             {\partnamefont\xpg at french@part\partnamenum\printpartname}%
                             {}%
                             {\xpg at warning{Failed to patch part for French}}%
-          }{}%
+          }{% not hyperref
+            \ifcsdef{@part}{%
+              \let\xpg at save@part at format\@part%
+              \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+                               {\partnamefont\xpg at french@part\partnamenum\printpartname}%
+                               {}%
+                               {\xpg at warning{Failed to patch part for French}}%
+             }{}%
+          }%
        }{%  (not \ifdefined\@memptsize)
          % With standard classes
-         \ifcsdef{@part}{%
-           \let\xpg at save@part at format\@part%
-           \patchcmd{\@part}%
+         \ifcsdef{H at old@part}{% Hyperref
+           \let\xpg at save@part at format\H at old@part%
+           \patchcmd{\H at old@part}%
                     {\partname\nobreakspace\thepart}%
                     {\xpg at french@part\nobreakspace\partname}%
                     {}%
                     {\xpg at warning{Failed to patch part for French}}%
-         }{}%  (end \ifdefined\@part)
+         }{% not hyperref
+            \ifcsdef{@part}{%
+              \let\xpg at save@part at format\@part%
+              \patchcmd{\@part}%
+                       {\partname\nobreakspace\thepart}%
+                       {\xpg at french@part\nobreakspace\partname}%
+                       {}%
+                       {\xpg at warning{Failed to patch part for French}}%
+            }{}%  (end \ifdefined \H at old@part)
+         }%  (end \ifdefined\@part)
        }% (end \ifdefined\@memptsize)
      }% (end \ifdefined\sectionformat)
    }% (end \ifdefined\titleformat)
@@ -12977,7 +13784,7 @@
    \ifcsdef{titleformat}{%
       % With titlesec
      \ifcsdef{xpg at save@part at format}{%
-        \let\@part\xpg at save@part at format
+        \ifcsdef{H at old@part}{\let\@H at old@part\xpg at save@part at format}{\let\@part\xpg at save@part at format}
      }{}%
    }{% (not \ifdefined\titleformat)
      \ifcsdef{sectionformat}{%
@@ -12988,7 +13795,7 @@
      }{%
         % With memoir and standard classes
         \ifcsdef{xpg at save@part at format}{%
-           \let\@part\xpg at save@part at format
+           \ifcsdef{H at old@part}{\let\@H at old@part\xpg at save@part at format}{\let\@part\xpg at save@part at format}
         }{}%
      }% (end \ifdefined\sectionformat)
    }% (end \ifdefined\titleformat)
@@ -20435,6 +21242,8 @@
 % Force punctuation after heading number
 \define at boolkey{russian}[russian@]{forceheadingpunctuation}[true]{}
 
+% Define some math functions
+\define at boolkey{russian}[russian@]{mathfunctions}[true]{}
 
 % Register default options
 \xpg at initialize@gloss at options{russian}{babelshorthands=false,
@@ -20441,7 +21250,8 @@
                                        spelling=modern,
                                        numerals=arabic,
                                        indentfirst=true,
-                                       forceheadingpunctuation=true}
+                                       forceheadingpunctuation=true,
+                                       mathfunctions=true}
 
 
 \ifsystem at babelshorthands
@@ -20717,24 +21527,27 @@
 }
 
 %%% These lines taken from russianb.ldf, part of babel package.
-% make it optional?
-\def\sh    {\mathop{\operator at font sh}\nolimits}
-\def\ch    {\mathop{\operator at font ch}\nolimits}
-\def\tg    {\mathop{\operator at font tg}\nolimits}
-\def\arctg {\mathop{\operator at font arctg}\nolimits}
-\def\arcctg{\mathop{\operator at font arcctg}\nolimits}
-\def\th    {\mathop{\operator at font th}\nolimits}
-\def\ctg   {\mathop{\operator at font ctg}\nolimits}
-\def\cth   {\mathop{\operator at font cth}\nolimits}
-\def\cosec {\mathop{\operator at font cosec}\nolimits}
-\def\Prob  {\mathop{\kern\z@\mathsf{P}}\nolimits}
-\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
-\def\nod   {\mathop{\mathrm{н.о.д.}}\nolimits}
-\def\nok   {\mathop{\mathrm{н.о.к.}}\nolimits}
-\def\NOD   {\mathop{\mathrm{НОД}}\nolimits}
-\def\NOK   {\mathop{\mathrm{НОК}}\nolimits}
-\def\Proj  {\mathop{\mathrm{Пр}}\nolimits}
-%\DeclareRobustCommand{\No}{№}
+\AtBeginDocument{%
+\ifrussian at mathfunctions%
+  \def\sh    {\mathop{\operator at font sh}\nolimits}
+  \def\ch    {\mathop{\operator at font ch}\nolimits}
+  \def\tg    {\mathop{\operator at font tg}\nolimits}
+  \def\arctg {\mathop{\operator at font arctg}\nolimits}
+  \def\arcctg{\mathop{\operator at font arcctg}\nolimits}
+  \def\th    {\mathop{\operator at font th}\nolimits}
+  \def\ctg   {\mathop{\operator at font ctg}\nolimits}
+  \def\cth   {\mathop{\operator at font cth}\nolimits}
+  \def\cosec {\mathop{\operator at font cosec}\nolimits}
+  \def\Prob  {\mathop{\kern\z@\mathsf{P}}\nolimits}
+  \def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+  \def\nod   {\mathop{\mathrm{н.о.д.}}\nolimits}
+  \def\nok   {\mathop{\mathrm{н.о.к.}}\nolimits}
+  \def\NOD   {\mathop{\mathrm{НОД}}\nolimits}
+  \def\NOK   {\mathop{\mathrm{НОК}}\nolimits}
+  \def\Proj  {\mathop{\mathrm{Пр}}\nolimits}
+  %\DeclareRobustCommand{\No}{№}
+\fi
+}
 
 %    \end{macrocode}
 % \iffalse
@@ -22968,6 +23781,20 @@
 %    \end{macrocode}
 % \iffalse
 %</gloss-turkmen.ldf>
+%<*gloss-ug.ldf>
+% \fi
+% \clearpage
+% 
+% \subsection{gloss-ug.ldf}
+%    \begin{macrocode}
+\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
+% BCP 47 tag for Uyghur
+
+\xpg at load@master at language{uyghur}
+
+%    \end{macrocode}
+% \iffalse
+%</gloss-ug.ldf>
 %<*gloss-ukrainian.ldf>
 % \fi
 % \clearpage
@@ -23020,8 +23847,11 @@
 }{\xpg at warning{Unknown Ukrainian numerals value `#1'}}
 
 
+% Define some math functions
+\define at boolkey{ukrainian}[ukrainian@]{mathfunctions}[true]{}
+
 % Register default options
-\xpg at initialize@gloss at options{ukrainian}{numerals=arabic}
+\xpg at initialize@gloss at options{ukrainian}{numerals=arabic,mathfunctions=true}
 
 \define at boolkey{ukrainian}[ukrainian@]{babelshorthands}[true]{}
 
@@ -23229,26 +24059,29 @@
 }
 
 %%% stuff from Babel
-% make it optional?
-\def\sh{\mathop{\operator at font sh}\nolimits}
-\def\ch{\mathop{\operator at font ch}\nolimits}
-\def\tg{\mathop{\operator at font tg}\nolimits}
-\def\arctg{\mathop{\operator at font arctg}\nolimits}
-\def\arcctg{\mathop{\operator at font arcctg}\nolimits}
-\def\ctg{\mathop{\operator at font ctg}\nolimits}
-\def\cth{\mathop{\operator at font cth}\nolimits}
-\def\cosec{\mathop{\operator at font cosec}\nolimits}
-\def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits}
-\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
-\def\nsd{\mathop{\mathrm{н.с.д.}}\nolimits}
-\def\nsk{\mathop{\mathrm{н.с.к.}}\nolimits}
-\def\NSD{\mathop{\mathrm{НСД}}\nolimits}
-\def\NSK{\mathop{\mathrm{НСК}}\nolimits}
-\def\nod{\mathop{\mathrm{н.о.д.}}\nolimits}
-\def\nok{\mathop{\mathrm{н.о.к.}}\nolimits}
-\def\NOD{\mathop{\mathrm{НОД}}\nolimits}
-\def\NOK{\mathop{\mathrm{НОК}}\nolimits}
-\def\Proj{\mathop{\mathrm{пр}}\nolimits}
+\AtBeginDocument{%
+\ifukrainian at mathfunctions%
+  \def\sh{\mathop{\operator at font sh}\nolimits}
+  \def\ch{\mathop{\operator at font ch}\nolimits}
+  \def\tg{\mathop{\operator at font tg}\nolimits}
+  \def\arctg{\mathop{\operator at font arctg}\nolimits}
+  \def\arcctg{\mathop{\operator at font arcctg}\nolimits}
+  \def\ctg{\mathop{\operator at font ctg}\nolimits}
+  \def\cth{\mathop{\operator at font cth}\nolimits}
+  \def\cosec{\mathop{\operator at font cosec}\nolimits}
+  \def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits}
+  \def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+  \def\nsd{\mathop{\mathrm{н.с.д.}}\nolimits}
+  \def\nsk{\mathop{\mathrm{н.с.к.}}\nolimits}
+  \def\NSD{\mathop{\mathrm{НСД}}\nolimits}
+  \def\NSK{\mathop{\mathrm{НСК}}\nolimits}
+  \def\nod{\mathop{\mathrm{н.о.д.}}\nolimits}
+  \def\nok{\mathop{\mathrm{н.о.к.}}\nolimits}
+  \def\NOD{\mathop{\mathrm{НОД}}\nolimits}
+  \def\NOK{\mathop{\mathrm{НОК}}\nolimits}
+  \def\Proj{\mathop{\mathrm{пр}}\nolimits}
+\fi
+}
 
 %    \end{macrocode}
 % \iffalse
@@ -23438,6 +24271,66 @@
 %    \end{macrocode}
 % \iffalse
 %</gloss-usorbian.ldf>
+%<*gloss-uyghur.ldf>
+% \fi
+% \clearpage
+% 
+% \subsection{gloss-uyghur.ldf}
+%    \begin{macrocode}
+\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
+%% Translations provided by Osman Tursun (Github Account: neouyghur)
+
+\PolyglossiaSetup{uyghur}{
+  bcp47=ug,
+  script=Arabic,
+  direction=RL,
+  scripttag=arab,
+  langtag=UYG,
+  hyphennames={nohyphenation}،
+  fontsetup=true,
+}
+
+% BCP-47 compliant aliases
+\setlanguagealias*{uyghur}{ug}
+
+\def\captionsuyghur{%
+  \def\refname{\@ensure at RTL{پايدىلانما}}%
+  \def\abstractname{\@ensure at RTL{ئابستراكت}}%
+  \def\bibname{\@ensure at RTL{پايدىلانما}}%
+  \def\prefacename{\@ensure at RTL{كىرىش سۆز}}%
+  \def\chaptername{\@ensure at RTL{باب}}%
+  \def\appendixname{\@ensure at RTL{قوشۇمچە}}%
+  \def\contentsname{\@ensure at RTL{مۇندەرىجە}}%
+  \def\listfigurename{\@ensure at RTL{رەسىملەر}}%
+  \def\listtablename{\@ensure at RTL{جەدۋەللەر}}%
+  \def\indexname{\@ensure at RTL{ئىندېكىس}}%
+  \def\figurename{\@ensure at RTL{رەسىم}}%
+  \def\tablename{\@ensure at RTL{جەدۋەل}}%
+  %\def\thepart{}%
+  \def\partname{\@ensure at RTL{قىسىم}}%
+  \def\pagename{\@ensure at RTL{بەت}}%
+  \def\seename{\@ensure at RTL{قاراڭ}}%
+  \def\alsoname{\@ensure at RTL{ئايرىم قاراڭ}}%
+  \def\enclname{\@ensure at RTL{قوشۇمچە ھۆججەت}}%
+  \def\ccname{\@ensure at RTL{باشقا تاپشۇرۇۋالغۇچى}}%
+  \def\headtoname{\@ensure at RTL{تاپشۇرۇۋالغۇچى}}%
+  \def\proofname{\@ensure at RTL{ئىسپات}}%
+  \def\glossaryname{\@ensure at RTL{لۇغەت}}%
+  %\def\sectionname{\@ensure at RTL{}}%
+  \def\subjectname{\@ensure at RTL{تېما}}%
+}
+
+\def\dateuyghur{%
+   \def\today{\number\day~\ifcase\month\or
+    يانۋار\or فېۋرال\or مارت\or ئاپرېل\or ماي\or ئىيۇن\or
+    ئىيۇل\or ئاۋغۇست\or سېنتەبىر\or ئۆكتەبىر\or نويابىر\or
+    دېكابىر\fi
+    \space\number\year}%
+}
+
+%    \end{macrocode}
+% \iffalse
+%</gloss-uyghur.ldf>
 %<*gloss-vietnamese.ldf>
 % \fi
 % \clearpage
@@ -25150,640 +26043,6 @@
 % \Finale
 % 
 % \iffalse
-%<*Changelog>
-1.51 (08-12-2020)
-
-New features:
-   * New option "frenchpart" for French (#458).
-   * New option "splithyphens" for Croatian (#454).
-
-Bug fixes:
-
-   * Use new LaTeX core hooks rather than filehook package. This fixes
-     a recent breakage of filehook with other external packages (#453).
-   * Remove very old code that pretends polyglossia is babel (#455).
-   * Fix spelling of Albanian contentsname (#456).
-   * Fix part heading modification in French (#458).
-   * Fix extra space in Hebrew (#459).
-   * Register main polyglossia language earlier (#461).
-   * Allow for hyphenations in words following opening guillemet in French
-     with XeTeX (#462).
-
-
-1.50a (15-10-2020)
-
-Bug fixes:
-
-  * Assure \autodot is defined with \KOMAScript in Russian.
-
-1.50 (09-10-2020)
-
-New features:
-
-  * Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
-    output. This brings LuaTeX on par with XeTeX for all scripts (#337).
-    The renderer can be changed via the new global luatexrenderer option.
-  * The (previously inadvertently working) hyphenrules environment that ceased
-    to work after a recent babel update is back and now officially supported.
-    The environment now also supports language options and aliases (#427).
-  * New command \setlanghyphenmins to adapt hyphenation thresholds of languages
-    and varieties.
-  * New command \abjadalph for Arabic with corresponding option (#431).
-  * Replace consecutive glues around punctuation by the correct amount of space
-    with LuaLaTeX for French, ecclesiastic Latin, and Sanskrit (#437).
-
-Bug fixes:
-
-  * Remove warning about missing Brazil patterns (#404).
-  * Fix incompatibility with recent babel release (#408).
-  * Fixed some spellings in Marathi (#409).
-  * Fix spacing of geminating dot in Catalan (#410).
-  * Fix incompatibility of Marathi with Beamer.
-  * Correct \partname in Hindi (#416).
-  * Updates and improvements to Kurdish (#418).
-  * Only activate shorthand character if babelshorthands is true (#421). 
-  * Fix whitespace issue in Czech and Slovak with vlna=true (#423).
-  * Fix whitespace issue in Danish (#424).
-  * Fix catcode conflicts that might occur in language definition files
-    f. ex. when loaded from a LaTeX3 class (#67, #425).
-  * Robustify font family switches (#428).
-  * Fix whitespace issue in Russian indentfirst option (#433).
-  * In Russian, indentfirst is now again default (#434).
-  * Fix LaTeX error with arabic numbering in Ukrainian (#440).
-  * Fix directionality after Hebrew decimal numbers (#441).
-  * Fix babelname of Latin Serbian (#442).
-  * Fix recording of secondary languages in \xpg at bloaded and \xpg at bcp@loaded
-    lists (#443).
-  * Simplify and robustify section heading modification in Russian
-    and introduce option forceheadingpunctuation (#444).
-  * Fix Cyrillic dash (via babelshorthand "---) when TeX ligatures
-    are disabled (#445)
-  * Fix problem with large character indices in Lua module for punctuation
-    spacing
-
-Interface and defaults changes:
-
-  * Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
-    output. See new features section.
-
-Build fixes:
-
-  * Fix a bug in the dtx build script which was the reason for an utterly
-    incomplete polyglossia.dtx file (#420).
-
-Documentation improvements:
-  * Document how to change \lefthyphenmin and \righthyphenmin for a language
-    (#435).
-
-
-1.49 (08-04-2020)
-
-New features:
-
-  * Add hook \polyglossia at language@switched to the external package interface (#398).
-  * Real fix for #400, that wasn’t properly taken care of in 1.48.
-
-Bug fixes:
-
-  * Fix compilation error with some swapstring options in Hungarian (#373).
-  * Fix whitespace problem in Greek language.
-
-Interface and defaults changes:
-
-  * Changed Finnish caption for "Table of Contents" to "Sisällys" (#403).
-
-
-1.48 (25-03-2020)
-
-No new features
-
-Bug fixes:
-  * Fix use of Hebrew with LuaLaTeX (#389).
-  * Do not overwrite footnote redefinitions of other packages
-    with Latin and French (#391)
-  * Fix Serbian cyrillic numerals code (#392).
-  * Fix [no]localmarks option, whose logic was swapped (part of #395).
-  * Protect localmarks function against uppercased language names (part of #395).
-  * Fix buggy redefinition of \@markright with option localmarks (#396).
-  * Fix incompatibility between Latin and unicode-math (#394).
-  * Make (undocumented) \defineshorthand command (imported from babel) work.
-  * Fix usage of localmarks option without value.
-  * Emergency fixes for bugs caused by updates in Babel’s switch.def (#399 and #400).
-
-Interface and defaults changes:
-  * Use private macros in keyval choice keys (#390).
-
-1.47 (29-01-2020)
-
-New features:
-  * IETF BCP-47 compliant language tags can now be used for loading and switching
-    languages alternatively to language names (#226).
-  * New commands \languageid{<type>} and \mainlanguageid{<type>}.
-  * New test \iflanguageidloaded.
-  * New list \xpg at bcp@loaded.
-  * New environment {lang}{<lang>} (equivalent to {<lang>},  but also available with
-    \setlanguagealias* which does not define dedicated alias environments).
-  * New gloss option totalhyphenmin (corresponds to LuaTeX's \hyphenationmin) (#111).
-  * New test \iflanguageoption{<lang>}{<key>}{<val>} (#364).
-  * Restore simple alphabetic numbering for \asbuk and \Asbuk in Belarusian, Mongolian,
-    Russian, Serbian, and Ukrainian (#377).
-  * New command \AsbukTrad and \asbukTrad for Belarusian, Mongolian, Russian, Serbian,
-    and Ukrainian which uses traditional alphanumerical numbering.
-  * New numerals option "cyrillic-trad" and "cyrillic-alph" to differentiate simple
-    alphabetic and traditional alpnanumerical Cyrillic numbering.
-  * \selectbackgroundlanguage and \resetdefaultlanguage now also support language
-    aliases.
-  * New macro \charifavailable{<char code>}{<substitution>}.
-  * Add French language variant "swiss".
-  * Implement babelshorthands for Croatian.
-  * Implement \localnumeral for Japanese.
-
-Bug fixes:
-  * Fix font family issue in headers (#355).
-  * Fix whitespace issues in \text<lang> (#356).
-  * Fix option-less \babelname in multi-variant languages (#357).
-  * Fix some spacing inconsistencies with French, Latin, and Sanskrit (#358).
-  * Fix issues with babelshorthands and graphics package (#368).
-  * Fix some captions and improve numbering in Marathi (#370).
-  * Fix Hungarian swapstrings feature (#373).
-  * Fix lua punctuation code problem (#374).
-  * Fix Bengali changecounternumbering option (#381).
-  * Fix whitespace issue in Japanese (#387).
-  * Fix \text<lang> command with multiple paragraphs.
-  * Actually implement documented german spelling variant '1996' (= 'new').
-  * Fix Slovenian localalph option.
-  * Fix Czech and Slovak splithyphens with typewriter fonts.
-  * farsical.sty: fix spacing issue with some month names.
-  * Fix directionalty of numbers in Hebrew with XeTeX.
-  * Improve interoperatability with biblatex (some language variants did not work yet).
-
-Interface and defaults changes:
-  * Some boolean options had 'false' value by default, which meant if you passed
-    them without value, the logic was reversed. This has been changed, leading to
-    change of behavior should you have used one of these options without value (#363).
-    Concerned are the following options:
-    - babelshorthands in language belarusian, mongolian, ukrainian, and russian
-      ('babelshorthands' now equals 'babelshorthand=true', no longer 'babelshorthands=false')
-    - localalph in language slovenian ('localalph' now equals 'localalph=true')
-    - latesthyphen in language german ('latesthyphen' now equals 'latesthyphen=true')
-    - fullyear in package hebrewcal ('fullyear' now equals 'fullyear=true')
-  * The command \setlanguagealias* (introduced in v1.46) does no longer define
-    dedicated alias environments.
-  * The babelnames for latin variants have been corrected to classiclatin, ecclesiasticlatin
-    and medievallatin. This is how the hyphenation patterns and babel \extras are named, even
-    though the variants can currently be selected in babel only via appended "dot modifier".
-  * In accordance with the respective l3kernel change, \str_lower_case:n  has been renamed to
-    \str_lowercase:n where used in polyglossia.sty. Thus polyglossia 1.47 requires l3kernel
-    2020-01-12 at least.
-
-1.46 (15-11-2019)
-
-New features:
-  * Add option "indentfirst" to Russian (#78).
-  * Add options to set and customize French-style itemize item labels to French (#89).
-  * Polyglossia now understands all babel language names in \setdefaultlanguage,
-    \setotherlanguage and the language switching commands (#112, #132).
-  * Add optional localized math operators to Spanish (#123).
-  * Swap section headings in Hungarian (#344). New option "swapstrings" provides control
-    over this.
-  * Introduce macro \setlanguagealias and \setlanguagealias*.
-  * Introduce language switching command \textlang{lang}{...} (equivalent to \text<lang>,
-    but also available with \setlanguagealias* which does not define \text<alias>).
-  * Add support for Afrikaans.
-  * Add support for Belarusian.
-  * Add support for Bosnian.
-  * Add support for Georgian.
-  * Add Spanish variant "mexican".
-  * Add babelshorthands as well as options "splithyphens" and "vlna" to Slovak.
-  * Add Latin language variant "ecclesiastic".
-  * Add Latin language options "capitalizemonth", "ecclesiasticfootnotes", "hyphenation",
-    "prosodicshorthands", and "usej".
-  * Add Latin shorthands for "«", "»", "æ", "Æ", "œ", and "Œ".
-  * Add French language option "thincolonspace".
-
-Bug fixes:
-  * Fix problems with fragile font settings (#24).
-  * Fix clash of French punctuation spacing with the soul package (#52).
-  * Re-enable the possibility to pass a macro as main argumente to \setmainlanguage and
-    \setotherlanguage (#331).
-  * Fix detection of default \languagevariant (#332).
-  * Fix LaTeX error with undefined hyphenation pattern (#346).
-  * Fix some babel shorthand issues by updating the shorthand code from recent babel.
-  * Fix some problems with French and Latin auto-spacing (#345, #352).
-  * Fix an expl3 declaration (#348).
-
-Interface and defaults changes:
-  * Per TeXLive request, the sub-package cyrillicnumbers.sty has been renamed to
-    xpg-cyrillicnumbers.sty.
-  * In Russian, all paragraphs are now indented by default, as common in Russian typography.
-    The behavior can be opted out by indentfirst=false.
-  * In Czech, splithyphens and lvna are enabled by default. Also, the option does now work
-    as well with LuaTeX.
-  * Changed option name "fraktur" to "blackletter" in German (the former is still available
-    as an alias).
-  * In French, high punctuation characters and guillemets are spaced by half an interword
-    space now instead of a \thinspace (cf. #345).
-
-1.45 (27-10-2019)
-
-New features:
-  * Introduce a framework for external packages to access language variants. This fixes,
-    among other things, long-standing problems in the interaction of biblatex and polyglossia.
-  * Add new macros \languagevariant, \mainlanguagevariant, \babelname and \mainbabelname
-    for package authors to access language information.
-  * Add new test \iflanguageloaded{<language>}{<true>}{<false>}, where <language>
-    can be a \polyglossia or babel language name.
-  * Add new macros \localnumeral, \localnumeral*, \Localnumeral and
-    \Localnumeral* that convert Arabic digitals to the local number scheme.
-  * Add new macro \pghyphenation to add language-specific hyphenation exceptions (#18).
-  * Add support form (Khalkha & Cyrillic) Mongolian in line with babel-mongolian (#23).
-  * Add option splithyphens and vlna to Czech (XeTeX only; for LuaTeX, use the package
-    luavlna to get these features) (#32).
-  * Add support for Kurdish, both Kurmanji and Sorani (#277).
-  * Implement proper Cyrillic (alphanumeric) numbering (#285).
-  * Add new language friulian.
-    This deprecates friulan (which is still supported for backwards compatibility).
-  * Add new language malay with variants indonesian and malaysian.
-    This deprecates bahasai and bahasam (which are still supported for
-    backwards compatibility).
-  * Add new language gaelic with variants irish and scottish.
-    This deprecates irish and scottish as own polyglossia languages (which
-    are still supported for backwards compatibility).
-  * Add new language hungarian.
-    This deprecates magyar (which is still supported for backwards compatibility).
-  * Add new language sorbian with variants lower and upper.
-    This deprecates lsorbian and usorbian (which are still supported for
-    backwards compatibility).
-  * Add new language portuguese with variants portuguese and brazilian.
-    This deprecates brazil and portuges (which are still supported for
-    backwards compatibility).
-  * Add new language norwegian with variants nynorsk and bokmal.
-    This deprecates nynorsk and norsk (which are still supported for
-    backwards compatibility).
-  * Add new language persian.
-    This deprecates farsi (which is still supported for backwards compatibility).
-  * Add new language sami. Currently only Northern Sami is supported.
-    This deprecates samin (which is still supported for backwards compatibility).
-  * gloss-serbian: add numerals=cyrillic option. Add \asbuk and \Asbuk (#285).
-  * Implement basic support for (French) canadien and (English) canadian (#22)
-  * Improve support for Armenian (#79): Add captions, Eastern month names
-    (accessible via variant=eastern) and Armenian alphabetic numbering
-    (via numerals=armenian and \armenicnumeral).
-  * Add french option autospacing and commands \AutoSpacing, \NoAutoSpacing
-    This allows to switch off autospacing globally or locally (#113)
-  * Fixup \normalfont (#203)
-  * Fix directionality issues in mixed RTL/LTR paragraphs (#204)
-  * Implement babelshorthands for Finnish (#212) and Czech.
-  * Implement access to current language via Lua (#243).
-  * Introduce french option option autospacetypewriter
-    alias OriginalTypewriter
-  * Support \aemph with lualatex
-  * Rename automaticspacesaroundguillemets to autospaceguillemets 
-    The old option is kept for backwards compatibility.
-
-Bug fixes:
-  * Fix equation number in arabic and farsi (#7).
-  * Simplify and document Hebrew marcheshvan option (#16).
-  * Fix hyphenation of Greek with LuaTeX (#55).
-  * Fix N'ko date format (#63).
-  * Disable the extras of a language when a nested language starts (#66, #169).
-  * Properly implement bengali numbers (#69, #184).
-  * Fix conflicts with other packages caused by premature shorthand activation
-    in preamble (#81, #200).
-  * Fix kerning in math with French (#92).
-  * Fix expansion issue in Hebrew (#93).
-  * Fix numbering expansion issue in Greek (#110).
-  * Postpone \disablehyphenation in preamble until after setting of
-    document language (#125).
-  * Postpone the assignment of defaultfamily to BeginDocument,
-    thus do not overwrite \familydefault redefinitions in the preamble (#127).
-  * Reset number settings when switching language (#133).
-  * hebrew: Properly store \MakeUppercase for later restoration (#152).
-  * Fix whitespace issue in \datewelsh (#158).
-  * When switching language, set the language/script specific font families (#164).
-  * Correct some Bengali captions (#165).
-  * Fix documentation of Serbian (#168).
-  * Reset ucl codes in latin only if the respective variant is used (#172).
-  * Fix \disablehyphenation with LuaTeX (#187).
-  * Fix typos in Hindi captions (#202).
-  * Pass language options to the aux files (#205).
-  * Rewrite and fix English variant handling (#208).
-  * Define magyar caption formats in \blockextras and undef them in \noextras (#209).
-  * Ensure proper direction with arabic digits in Arabic and Farsi (#213).
-  * Fix \linespread with Korean (#218).
-  * Define russian caption before key allocation (#219).
-  * Register current language in polyglossia lua module after selection (#234).
-  * Fix babel language switching commands (#239).
-    \foreignlanguage and the starred otherlanguage* environment are not
-    supposed to change dates.
-  * Fix French spacing leaking beyond French (#270).
-  * Redefine fontfamilies for French only if language is loaded (#270).
-  * gloss-russian: 
-    - check whether command exist before redefining (#280).
-    - Fix some whitespace issues.
-  * Fix and simplify frenchfootnote definition (#294).
-  * Fix footnote numbering in Farsi.
-  * Fix latin footnotes in Arabic documents.
-  * Set the correct main direction with luabidi.
-  * Fix autospaceguillemets option in French.
-  * Fix grouping in gloss-danish.ldf.
-  * Properly store \MakeUppercase and \@arabic for later restoration.
-
-Documentation:
-  * Add documentation about footnotes in RTL context
-  * Document tibetan numerals option (#109)
-  * Improve frenchfootnote documentation.
-  * Mention Japanese support in the docs.
-
-1.44 (04-04-2019)
-  * Correction to Russian language file, by Maksim Zholudev (commit d2f383e)
-  * Added Macedonian language file, by Stefan Zlatinov (commit cd379e1)
-
-05-03-2019
-  * Correction to Hindi language file, by Zdenĕk Wagner
-
-1.42.5 (13-04-2017)
-  * Many changes to the French language file, by Maïeul Rouquette
-
-1.42.4 (February, March 2016)
-  * Remedial actions for the Babel changes
-
-09-02-2016
-  * Fixed side effect of pull request #122 (see commit d2a34ff)
-  * Added automatic Josa selection, variant, and captions options to Korean, by Dohyun Kim (pull request #128)
-
-08-02-2016
-  * Updated gloss-occitan from CTAN
-
-18-01-2016
-  * Fixed issue #124 (minor typo in polyglossia-frpt.lua)
-
-03-12-2015
-  * Merged pull request #117 for more French guillemet spacing
-  * Merged pull request #121 to add \bbl at loaded; fixes issue #120
-  * Merged pull request #122 that build on #121
-
-08-11-2015
-  * Merged pull request #116 for French (spacing around guillemets)
-
-22-10-2015
-  * Fixed issue #115 (spurious spaces in Arabic)
-
-19-08-2015
-  * Fixed issue #107 for Marathi (labels and month names)
-
-1.42.0 (06-08-2015)
-  * Add Bengali digits package, and option to reset all numbering functions
-
-05-08-2015
-  * Add “long” option for Welsh date
-  * Add local alphabet in Slovenian, for enumerations and such
-
-04-08-2015
-  * Fix long-standing bug with Welsh: date should use ordinals
-
-03-08-2015
-  * Fix for Latin with LuaTeX: all variants had same problems as Classic
-
-02-08-2015
-  * Fixed error with British variant of English and LuaTeX (issue #86)
-
-1.41.0 (16-07-2015)
-  * Added support for Khmer, by Say Ol (private email)
-
-1.40.1 (14-07-2015)
-  * Bugfix for Korean, by Kim Dohyun (pull request #103)
-
-1.40.0 (07-07-2015)
-  * gloss-korean.ldf contributed by Kim Dohyun (pull request #102)
-
-1.33.7 (04-07-2015)
-  * Release to CTAN, no code change
-
-03-07-2015
-  * Fixed extraneous space in code for Swiss German (pull request #101)
-  * Fixed a typo in Ukrainian alphabet, for \Asbuk (pull request #99)
-
-24-06-2015
-  * Fix for Classic Latin: load patterns for LuaTeX
-
-23-05-2015
-  * Made \rmfamily, \sffamily and \ttfamily robust again
-
-11-05-2015
-  * Merged fix for Hebrew date format, by Guy Rutenberg (pull request #94)
-  * Merged fix for spurious space, by Caleb McKennan (pull request #91)
-  * Merged pull request #84 by Élie Roux for Tibetan
-
-10-05-2015
-  * Added support for Swiss German (pull request #75)
-  * Added commands \Asbuk and \asbuk for Ukrainian (pull request #76), similar to Russian
-  * Documented changes to Latin from last year.
-
-09-05-2015
-  * Be friendlier to right-to-left languages with LuaTeX
-
-04-06-2014
-  * Enhanced Latin support by Claudio Beccari
-
-1.33.5 (21-05-2014)
-  * Option to disable hyphenation entirely, by Élie Roux
-  * Fix spurious spaces in gloss-russian.ldf, by Oleg Domanov
-  * Support for the Austrian variant of German, by Jürgen Spitzmüller
-  * Changes to the Croatian translations, by Ivan Kokan
-  * Correction to the Lithuanian translations, by Ignas Anikevičius
-
-1.33.4 (27-06-2013)
-  * Emergency release for a bug introduced in babelsh.def
-
-1.33.3 (28-05-2013)
-  * Changed formatting of some error messages (emergency fixes for TeX Live 2013)
-
-1.33.2 (26-05-2013)
-  * Added \disablehyphenation and \enablehyphenation, contributed by
-    Élie Roux.
-  * Fixed bug related to package inclusion.  Polyglossia would break if
-    we loaded breqn.sty, and then called \setmainlanguage{english}, this
-    is no longer the case.
-  * Removed spurious space introduced by \captionswedish.
-
-1.33.1 (23-05-2013)
-  * Editorial changes to the documentation
-  * Hunted and documented bugs
-
-1.33.0 (20-05-2013)
-  * Added support for N’Ko.
-  * Bugfixes for LuaTeX
-  * More work in progress on Bidi in LuaTeX.
-
-1.32.0 (15-05-2013)
-  Transitional version to support right-to-left languages with LuaTeX.
-
-1.31 (10-05-2013) / 1.3 (11-05-2013)
-  * Several bugfixes.
-  * Sync with Babel 3.9.
-  * Consolidated support for LuaTeX for all languages but the ones using
-    South and South-East Asian scripts, and languages written from right
-    to left.  Many thanks to Élie Roux for his help.
-  * Added support for Tibetan, contributed by Élie Roux (end of lines are experimental).
-
-1.30MM (06-08-2012)
-  * Added support for LuaTeX.  Many languages don’t work yet.  Please be
-    patient.
-
-1.2.0e (28-04-2012)
-  * Fixed a number of outstanding and not very interesting bugs.
-  * Added gloss files for Romansh and Friulan, contributed by Claudio
-    Beccari.
-
-1.2.0d (12-01-2012)
-  * Removed \makeatletter and \makeother from gloss files entirely.
-
-1.2.0cc (12-10-2011) [First update by Arthur Reutenauer]
-  * Update to gloss-italian.ldf by Claudio Beccari, incorporating changes
-    by Enrico Gregorio.
-  * Conclude every gloss file with \makeatother to match the initial
-    \makeatletter.  (Not necessary from a technical point of vue, because of one of the changes by Enrico reported below, but I like it better that way :-)
-  * Conclude polyglossia.sty with \ExplSyntaxOff to match the initial
-    \ExplSyntaxOn.
-  * Added gloss file for Kannada, contributed by Aravinda VK and others.
-  * Corrections to the gloss-dutch.ldf thanks to Wouter Bolsterlee.
-  * Several patches by Enrico Gregorio, fixing long-standing bugs.
-    From the git log:
-    - Deleted setup for right-to-left writing direction, see http://tug.org/pipermail/xetex/2011-April/020319.html
-    - Changed three appearances of \newcommand to \newrobustcmd, as the commands needs to be protected. Bug reported by "kamensky".
-    - Corrected \datepolish as suggested by Piotr Kempa
-    - Changed \lccode" into \lccode\string", because it might come into action at wrong times when " is active
-    - Changed definition of key xpg at setup, as \@tmpfirst and \@tmpsecond were not expanded, causing dependence of \lefthyphenmin and \righthyphenmin to the last loaded language.  Raised by Vadim Rodionov on the XeTeX mailing list.
-    - Deleted \bgroup and \egroup tokens from the definition of otherlanguage*; they serve no purpose (we are already inside an environment) and conflict with csquotes. Noticed by P. Lehman.
-    - Changed the calls of \input to \xpg at input, which inputs the required file and resets the catcode of @ to the same value as it had before the input. Since each .ldf file starts with \makeatletter, the old behaviour would leave a category 11 @, which is wrong.
-    - Added "\csuse{date#2}" to the definition of "otherlanguage*"
-
-
-1.2.0b (03-10-2011) [Update by Philipp Stephani]
-  * Load xkeyval package explicitly since newer versions
-    of fontspec don't load it any more
-
-1.2.0a (27-07-2010) [Last update by François Charette]
-  * Initialize \fontfamily acc to value of \familydefault
-    (Fixes a bug when using polyglossia with beamer)
-  * Remove spurious space in def of \dateenglish
-  * Add missing English variant "american"
-  * Serbian: fix date format and captions (Latin+Cyrillic)
-  * Fix \atticnumeral in gloss-greek
-  * Small improvements and fixes in documentation
-
-
-1.2.0 (15-07-2010)
-  * Adapted for fontspec 2.0 (will not work with earlier versions!)
-  * New implementation of a \PolyglossiaSetup interface
-    that simplifies writing gloss-*.ldf files
-  * Many internal enhancements and refactoring
-    (including a patch by Dirk Ulrich)
-  * Improved automatic font setup when \<lang>font is not defined
-  * New environment otherlanguage* (env. equivalent of \foreignlanguage
-    (Enrico Gregorio)
-  * Bugfix to prevent bogus expansion of \{rm,sf,tt}family even in aux files
-    (Enrico Gregorio)
-  * New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
-    Malayalam, Marathi, Tamil, Telugu, and Turkmen.
-  * New auxiliary packages 'devanagaridigits' and 'bengalidigits'
-  * hijrical no longer loads bidi and checks for incompatible l3calc
-  * Add Babel shorthands for Russian (based on a patch by Vladimir Lomov)
-  * Fix \fnum@{table,figure} for Lithuanian
-  * Various improvements in gloss-russian (provided by Vladimir Lomov and
-    others)
-  * Corrected captions for Bahasai, Lithuanian, Russian, Croatian
-  * Add option indentfirst=true for Spanish, Croation and other languages
-    (NB: indentfirst was previously named frenchindent)
-  * New option 'script' for German: Setting script=fraktur modifies the
-    captions for typesetting in Fraktur.
-  * New command \aemph for Arabic, Farsi, Urdu, etc. to mark emphasis through
-    overlining.
-  * Package option 'nolocalmarks' is now true by default: to activate it the
-    option 'localmarks' must be passed instead.
-  * Loading languages à la Babel as package options is no longer possible (this
-    feature was deprecated since v1.1.0).
-
-1.1.1 (23-03-2010)
-  * Bugfix for French: explicit spaces before/after double punctuation
-    signs ("Par exemple : les grands « espaces » du Canada ! ") are
-    now replaced by the appropriate non-breaking spaces, as in Babel.
-  * Bugfix for font switching mechanism within Latin script
-    (pending a complete re-implementation in v1.2):
-    the font shape and series are no longer reset when switching language.
-  * New macros for non-Western decimal digits
-    (instead of fontmappings)
-  * New gloss files for Asturian, Lithuanian and Urdu
-  * hijrical.sty is now locale-aware: \hijritoday is
-    formatted differently in Arabic, Farsi, Urdu, Turkish
-    and Bahasa Indonesia.
----NB: the above five items were not part of v1.1.1-rc1 which was made available on github---
-  * Enable babelshorthands for Dutch
-  * Add missing macro \allowhyphens
-  * Add global option babelshorthands
-  * Support Catalan geminated l
-  * Bugfix when declaring more than one pkg option
-  * Protect \reset at font
-  * Add missing requirement makecmds
-  * Bugfix for smallcaps in captions
-  * Typo for ccname in Hebrew
-  * Add option numerals to gloss-russian
-  * Provide newXeTeXintercharclass when undefined
-  * Bugfix for Russian alph
-  * Remove superfluous level of {} in def of markright
-  * Bugfix for \datecatalan
-  * Change hyphenmins for Sanskrit
-
-1.1.0b
-   * Modify hyphenmins for Sanskrit (Yves Codet)
-   * Bugfixes for Serbian and Bulgarian (Enrico Gregorio)
-1.1.0a
-   * Bugfix for interchar tokens
-1.1.0
-   * Use \newXeTeXintercharclass (thanks to Enrico Gregorio)
-   * Fixed implementation of shorthands for German (Babel code in file babelsh.def)
-   * Arabic (Khaled Hosny):
-     - Fix abjad form for 3 and 5 and add option abjadjimnotail
-     - bugfix for \arabicnumber
-     - make Gregorian calender the default
-     - fixed typos in the sample text
-   * Turkish (S. Ö. Yıldız):
-     - fix white-space before : and !
-     - also check if the font specified TRK for language
-     - added missing Turkish translation of "Glossary"
-   * Suppress nopattern warning for non-hyphenated scripts
-   * Changed U+0163 to U+021B for Romanian (Elie Roux)
-   * Stylistic fixes and use macro \xpg at option for package options (E. Gregorio)
-   * Fix monthnames in Dutch (A. Ledda)
-   * Add Brazilian translation for "glossary"
-   * Remove spurious space generated by gloss-spanish
-   * Fix ldf file for brazilian
-   * Various improvements in the code communicated by E. Gregorio:
-     - remove superfluous \protect\language
-     - change default language from 0 to \l at nohyphenation=255
-     - localize lccode handling of apostrophe in French; add it to Italian
-   * Fix frenchspacing for vietnamese
-   * Other minor bugfixes
-
-1.0.2
-   This is mostly a bug fixes release.
-   * Captions corrected in Hebrew, Russian and Spanish
-   * Removed all \text<lang> wrappers within caption definitions
-   * Improved compatibility with Babel
-   * New option "babelshorthands" for German
-   * New option "Script" for Sanskrit
-
-1.0.1
-   * Improved documentation (added sections on font setup and numeration mappings)
-   * Improvements and bugfixes for English and German
-   * Bugfix in gloss-syriac.ldf (spurious space after \textsyriac{...})
-   * Extended the scope of \syriacabjad
-   * Added gloss-amharic.ldf (ported from ethiop.ldf in the package ethiop)
-
-1.0
-   * Initial release on CTAN
-%</Changelog>
 %<*examples.tex>
 \documentclass[a4paper]{article}
 \usepackage[no-math]{fontspec}

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -65,7 +65,8 @@
    %\def\headtoname{}%
    \def\proofname{Proof}%
    \def\glossaryname{Glossary}%
-   }
+}
+
 \def\datebulgarian{%
    \def\today{\number\day~\ifcase\month\or
        януари\or
@@ -91,6 +92,8 @@
 %% this is from Babel:
 \def\Romannumeral#1{\uppercase\expandafter{\romannumeral #1}}
 \def\todayRoman{\number\day.\Romannumeral{\month}.\number\year~г.}
+%
+% If you implement this, add an option mathfunction as in gloss-russian.ldf
 \def\sh{\mathop{\operator at font sh}\nolimits}
 \def\ch{\mathop{\operator at font ch}\nolimits}
 \def\tg{\mathop{\operator at font tg}\nolimits}

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -335,8 +335,8 @@
      \def\partname{Partie}%
    \fi%
    \def\pagename{page}%
-   \def\seename{\emph{voir}}%
-   \def\alsoname{\emph{voir aussi}}%
+   \def\seename{voir}%
+   \def\alsoname{voir aussi}%
    \def\enclname{P.~J. }%
    \def\ccname{Copie à }%
    \def\headtoname{}%
@@ -364,14 +364,23 @@
    % Change part heading
    % With titlesec
    \ifcsdef{titleformat}{%
-     \ifcsdef{@part}{%
-        \let\xpg at save@part at format\@part%
-        \patchcmd{\@part}%
+     \ifcsdef{H at old@part}{% Hyperref
+        \let\xpg at save@part at format\H at old@part%
+        \patchcmd{\H at old@part}%
                   {\partname\nobreakspace\thepart}%
                   {\xpg at french@part\nobreakspace\partname}%
                   {}%
                   {\xpg at warning{Failed to patch part for French}}%
-     }{}%
+     }{% not hyperref
+       \ifcsdef{@part}{%
+          \let\xpg at save@part at format\@part%
+          \patchcmd{\@part}%
+                    {\partname\nobreakspace\thepart}%
+                    {\xpg at french@part\nobreakspace\partname}%
+                    {}%
+                    {\xpg at warning{Failed to patch part for French}}%
+       }{}%
+     }%
    }{% (not \ifdefined\titleformat)
      % With KOMA
      \ifcsdef{sectionformat}{%
@@ -382,23 +391,40 @@
      }{%  (not \ifdefined\sectionformat)
        % With memoir
        \ifcsdef{@memptsize}{%
-         \ifcsdef{@part}{%
-           \let\xpg at save@part at format\@part%
-           \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+         \ifcsdef{H at old@part}{% Hyperref
+           \let\xpg at save@part at format\H at old@part%
+           \patchcmd{\H at old@part}{\printpartname \partnamenum \printpartnum}%
                             {\partnamefont\xpg at french@part\partnamenum\printpartname}%
                             {}%
                             {\xpg at warning{Failed to patch part for French}}%
-          }{}%
+          }{% not hyperref
+            \ifcsdef{@part}{%
+              \let\xpg at save@part at format\@part%
+              \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+                               {\partnamefont\xpg at french@part\partnamenum\printpartname}%
+                               {}%
+                               {\xpg at warning{Failed to patch part for French}}%
+             }{}%
+          }%
        }{%  (not \ifdefined\@memptsize)
          % With standard classes
-         \ifcsdef{@part}{%
-           \let\xpg at save@part at format\@part%
-           \patchcmd{\@part}%
+         \ifcsdef{H at old@part}{% Hyperref
+           \let\xpg at save@part at format\H at old@part%
+           \patchcmd{\H at old@part}%
                     {\partname\nobreakspace\thepart}%
                     {\xpg at french@part\nobreakspace\partname}%
                     {}%
                     {\xpg at warning{Failed to patch part for French}}%
-         }{}%  (end \ifdefined\@part)
+         }{% not hyperref
+            \ifcsdef{@part}{%
+              \let\xpg at save@part at format\@part%
+              \patchcmd{\@part}%
+                       {\partname\nobreakspace\thepart}%
+                       {\xpg at french@part\nobreakspace\partname}%
+                       {}%
+                       {\xpg at warning{Failed to patch part for French}}%
+            }{}%  (end \ifdefined \H at old@part)
+         }%  (end \ifdefined\@part)
        }% (end \ifdefined\@memptsize)
      }% (end \ifdefined\sectionformat)
    }% (end \ifdefined\titleformat)
@@ -409,7 +435,7 @@
    \ifcsdef{titleformat}{%
       % With titlesec
      \ifcsdef{xpg at save@part at format}{%
-        \let\@part\xpg at save@part at format
+        \ifcsdef{H at old@part}{\let\@H at old@part\xpg at save@part at format}{\let\@part\xpg at save@part at format}
      }{}%
    }{% (not \ifdefined\titleformat)
      \ifcsdef{sectionformat}{%
@@ -420,7 +446,7 @@
      }{%
         % With memoir and standard classes
         \ifcsdef{xpg at save@part at format}{%
-           \let\@part\xpg at save@part at format
+           \ifcsdef{H at old@part}{\let\@H at old@part\xpg at save@part at format}{\let\@part\xpg at save@part at format}
         }{}%
      }% (end \ifdefined\sectionformat)
    }% (end \ifdefined\titleformat)

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -515,15 +515,41 @@
 \def\XPGKOstartAA{\global\futurelet\XPGKO at let@josa\XPGKO at skipAA}
 \def\XPGKO at skipID{\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassID{\empty}}
 \def\XPGKO at skipAA{\XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassAA{\empty}}
-\def\XPGKOstopID {\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassID{\XPGKOstartID}}
-\def\XPGKOstopAA {\XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassAA{\XPGKOstartAA}}
+\def\XPGKOstopID {%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassID{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOhalfhalf
+                \or \unkern\unkern \XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOhalfzero
+            \fi
+        \fi
+        \XPGKOstartID}}
+\def\XPGKOstopAA {%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassAA{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOhalfhalf
+                \or \unkern\unkern \XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOhalfzero
+            \fi
+        \fi
+        \XPGKOstartAA}}
 % macros for interchartoks (CJK punctuations)
-\def\XPGKOstartOP{\leavevmode\hbox to.5em\bgroup\hss}%
-\def\XPGKOstopOP {\egroup}%
-\def\XPGKOstartCL{\leavevmode\hbox to.5em\bgroup}%
-\def\XPGKOstopCL {\hss\egroup}%
-\let\XPGKOstartFS\XPGKOstartCL \let\XPGKOstopFS\XPGKOstopCL
-\let\XPGKOstartMD\XPGKOstartOP \let\XPGKOstopMD\XPGKOstopCL
+\def\XPGKOstartOP#1{\leavevmode
+    \hbox to.5em\bgroup\hss\XeTeXinterchartokenstate\z@ #1\egroup
+    \kern-1sp \kern1sp }
+\def\XPGKOstartCL#1{\leavevmode
+    \hbox to.5em\bgroup\XeTeXinterchartokenstate\z@ #1\hss\egroup
+    \kern-2sp \kern2sp }
+\def\XPGKOstartMD#1{\leavevmode
+    \hbox to.5em\bgroup\hss\XeTeXinterchartokenstate\z@ #1\hss\egroup
+    \kern-3sp \kern3sp }
+\def\XPGKOstartFS#1{\leavevmode
+    \hbox to.5em\bgroup\XeTeXinterchartokenstate\z@ #1\hss\egroup
+    \kern-4sp \kern4sp }
 \let\XPGKOnobreak          \nobreak
 \def\XPGKOhalfzero         {\hskip   \XPGKOhalfdim \relax}%
 \def\XPGKOhalfhalf         {\hskip   \XPGKOhalfdim minus  \XPGKOhalfdim \relax}%
@@ -616,10 +642,6 @@
             \XeTeXinterchartoks\count@\XPGKOcharclassFS{\XPGKOstartFS}%
             \XeTeXinterchartoks\count@\XPGKOcharclassAA{\XPGKOstartAA}%
             \XeTeXinterchartoks\XeTeXcharclassID\count@{\XPGKOstopID}%
-            \XeTeXinterchartoks\XeTeXcharclassOP\count@{\XPGKOstopOP}%
-            \XeTeXinterchartoks\XeTeXcharclassCL\count@{\XPGKOstopCL}%
-            \XeTeXinterchartoks\XPGKOcharclassMD\count@{\XPGKOstopMD}%
-            \XeTeXinterchartoks\XPGKOcharclassFS\count@{\XPGKOstopFS}%
             \XeTeXinterchartoks\XPGKOcharclassAA\count@{\XPGKOstopAA}%
         \fi\fi\fi\fi\fi\fi
         \ifnum\count@=\XeTeXcharclassBoundary \count@\m at ne \fi
@@ -642,46 +664,89 @@
     \XeTeXinterchartoks\XeTeXcharclassID\XPGKOcharclassAO{\XPGKOstopID\XPGKOlatincjk}%
     \XeTeXinterchartoks\XeTeXcharclassID\XPGKOcharclassAA{\XPGKOstopID\XPGKOlatincjk\XPGKOstartAA}%
     %
-    \XeTeXinterchartoks\XeTeXcharclassOP\XeTeXcharclassID{\XPGKOstopOP\XPGKOstartID}%
-    \XeTeXinterchartoks\XeTeXcharclassOP\XeTeXcharclassOP{\XPGKOstopOP\XPGKOstartOP}%
-    \XeTeXinterchartoks\XeTeXcharclassOP\XeTeXcharclassCL{\XPGKOstopOP\XPGKOstartCL}%
-    \XeTeXinterchartoks\XeTeXcharclassOP\XPGKOcharclassMD{\XPGKOstopOP\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
-    \XeTeXinterchartoks\XeTeXcharclassOP\XPGKOcharclassFS{\XPGKOstopOP\XPGKOstartFS}%
-    \XeTeXinterchartoks\XeTeXcharclassOP\XPGKOcharclassAA{\XPGKOstopOP\XPGKOstartAA}%
+    \XPGKOstopID
+    \XPGKOstopAA
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassOP{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOhalfhalf
+                \or \unkern\unkern \XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOhalfzero
+            \fi
+        \fi
+        \XPGKOstartOP}%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassCL{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOnobreak\XPGKOquarterquarter
+                \or \unkern\unkern
+            \fi
+        \fi
+        \XPGKOstartCL}%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassMD{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern \XPGKOnobreak\XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOnobreak\XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOnobreak\XPGKOhalfquarter
+                \or \unkern\unkern \XPGKOnobreak\XPGKOiiiquarterquarter
+            \fi
+        \fi
+        \XPGKOstartMD}%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassFS{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOnobreak\XPGKOquarterquarter
+                \or \unkern\unkern
+            \fi
+        \fi
+        \XPGKOstartFS}%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassLD{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOnobreak\XPGKOhalfhalf
+                \or \unkern\unkern \XPGKOnobreak\XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOnobreak\XPGKOhalfzero
+            \fi
+        \fi
+        }%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassEX{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOnobreak\XPGKOhalfhalf
+                \or \unkern\unkern \XPGKOnobreak\XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOnobreak\XPGKOhalfzero
+            \fi
+        \fi
+        }%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassAO{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOhalfhalf
+                \or \unkern\unkern \XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOhalfzero
+            \fi
+        \fi
+        }%
+    \XeTeXinterchartoks\XeTeXcharclassBoundary\XPGKOcharclassAC{%
+        \ifnum\lastnodetype=12 %
+            \ifcase\lastkern
+                \or \unkern\unkern
+                \or \unkern\unkern \XPGKOnobreak\XPGKOhalfhalf
+                \or \unkern\unkern \XPGKOnobreak\XPGKOquarterquarter
+                \or \unkern\unkern \XPGKOnobreak\XPGKOhalfzero
+            \fi
+        \fi
+        }%
     %
-    \XeTeXinterchartoks\XeTeXcharclassCL\XeTeXcharclassID{\XPGKOstopCL\XPGKOhalfhalf\XPGKOstartID}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XeTeXcharclassOP{\XPGKOstopCL\XPGKOhalfhalf\XPGKOstartOP}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XeTeXcharclassCL{\XPGKOstopCL\XPGKOstartCL}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassMD{\XPGKOstopCL\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassFS{\XPGKOstopCL\XPGKOstartFS}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassLD{\XPGKOstopCL\XPGKOnobreak\XPGKOhalfhalf}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassEX{\XPGKOstopCL\XPGKOnobreak\XPGKOhalfhalf}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassAO{\XPGKOstopCL\XPGKOhalfhalf}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassAC{\XPGKOstopCL\XPGKOnobreak\XPGKOhalfhalf}%
-    \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassAA{\XPGKOstopCL\XPGKOhalfhalf\XPGKOstartAA}%
-    %
-    \XeTeXinterchartoks\XPGKOcharclassMD\XeTeXcharclassID{\XPGKOstopMD\XPGKOquarterquarter\XPGKOstartID}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XeTeXcharclassOP{\XPGKOstopMD\XPGKOquarterquarter\XPGKOstartOP}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XeTeXcharclassCL{\XPGKOstopMD\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartCL}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassMD{\XPGKOstopMD\XPGKOnobreak\XPGKOhalfquarter\XPGKOstartMD}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassFS{\XPGKOstopMD\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartFS}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassLD{\XPGKOstopMD\XPGKOnobreak\XPGKOquarterquarter}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassEX{\XPGKOstopMD\XPGKOnobreak\XPGKOquarterquarter}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassAO{\XPGKOstopMD\XPGKOquarterquarter}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassAC{\XPGKOstopMD\XPGKOnobreak\XPGKOquarterquarter}%
-    \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassAA{\XPGKOstopMD\XPGKOquarterquarter\XPGKOstartAA}%
-    %
-    \XeTeXinterchartoks\XPGKOcharclassFS\XeTeXcharclassID{\XPGKOstopFS\XPGKOhalfzero\XPGKOstartID}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XeTeXcharclassOP{\XPGKOstopFS\XPGKOhalfzero\XPGKOstartOP}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XeTeXcharclassCL{\XPGKOstopFS\XPGKOstartCL}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassMD{\XPGKOstopFS\XPGKOnobreak\XPGKOiiiquarterquarter\XPGKOstartMD}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassFS{\XPGKOstopFS\XPGKOstartFS}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassLD{\XPGKOstopFS\XPGKOnobreak\XPGKOhalfzero}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassEX{\XPGKOstopFS\XPGKOnobreak\XPGKOhalfzero}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassAO{\XPGKOstopFS\XPGKOhalfzero}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassAC{\XPGKOstopFS\XPGKOnobreak\XPGKOhalfzero}%
-    \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassAA{\XPGKOstopFS\XPGKOhalfzero\XPGKOstartAA}%
-    %
     \XeTeXinterchartoks\XPGKOcharclassLD\XeTeXcharclassOP{\XPGKOhalfhalf\XPGKOstartOP}%
     \XeTeXinterchartoks\XPGKOcharclassLD\XPGKOcharclassMD{\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
     %

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -72,6 +72,8 @@
 % Force punctuation after heading number
 \define at boolkey{russian}[russian@]{forceheadingpunctuation}[true]{}
 
+% Define some math functions
+\define at boolkey{russian}[russian@]{mathfunctions}[true]{}
 
 % Register default options
 \xpg at initialize@gloss at options{russian}{babelshorthands=false,
@@ -78,7 +80,8 @@
                                        spelling=modern,
                                        numerals=arabic,
                                        indentfirst=true,
-                                       forceheadingpunctuation=true}
+                                       forceheadingpunctuation=true,
+                                       mathfunctions=true}
 
 
 \ifsystem at babelshorthands
@@ -354,24 +357,27 @@
 }
 
 %%% These lines taken from russianb.ldf, part of babel package.
-% make it optional?
-\def\sh    {\mathop{\operator at font sh}\nolimits}
-\def\ch    {\mathop{\operator at font ch}\nolimits}
-\def\tg    {\mathop{\operator at font tg}\nolimits}
-\def\arctg {\mathop{\operator at font arctg}\nolimits}
-\def\arcctg{\mathop{\operator at font arcctg}\nolimits}
-\def\th    {\mathop{\operator at font th}\nolimits}
-\def\ctg   {\mathop{\operator at font ctg}\nolimits}
-\def\cth   {\mathop{\operator at font cth}\nolimits}
-\def\cosec {\mathop{\operator at font cosec}\nolimits}
-\def\Prob  {\mathop{\kern\z@\mathsf{P}}\nolimits}
-\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
-\def\nod   {\mathop{\mathrm{н.о.д.}}\nolimits}
-\def\nok   {\mathop{\mathrm{н.о.к.}}\nolimits}
-\def\NOD   {\mathop{\mathrm{НОД}}\nolimits}
-\def\NOK   {\mathop{\mathrm{НОК}}\nolimits}
-\def\Proj  {\mathop{\mathrm{Пр}}\nolimits}
-%\DeclareRobustCommand{\No}{№}
+\AtBeginDocument{%
+\ifrussian at mathfunctions%
+  \def\sh    {\mathop{\operator at font sh}\nolimits}
+  \def\ch    {\mathop{\operator at font ch}\nolimits}
+  \def\tg    {\mathop{\operator at font tg}\nolimits}
+  \def\arctg {\mathop{\operator at font arctg}\nolimits}
+  \def\arcctg{\mathop{\operator at font arcctg}\nolimits}
+  \def\th    {\mathop{\operator at font th}\nolimits}
+  \def\ctg   {\mathop{\operator at font ctg}\nolimits}
+  \def\cth   {\mathop{\operator at font cth}\nolimits}
+  \def\cosec {\mathop{\operator at font cosec}\nolimits}
+  \def\Prob  {\mathop{\kern\z@\mathsf{P}}\nolimits}
+  \def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+  \def\nod   {\mathop{\mathrm{н.о.д.}}\nolimits}
+  \def\nok   {\mathop{\mathrm{н.о.к.}}\nolimits}
+  \def\NOD   {\mathop{\mathrm{НОД}}\nolimits}
+  \def\NOK   {\mathop{\mathrm{НОК}}\nolimits}
+  \def\Proj  {\mathop{\mathrm{Пр}}\nolimits}
+  %\DeclareRobustCommand{\No}{№}
+\fi
+}
 
 \endinput
 

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -237,6 +237,7 @@
 \endinput
 
 % TODO ? stuff from babel
+% If you implement this, add an option mathfunction as in gloss-russian.ldf
 
 \def\sh{\mathop{\operator at font sh}\nolimits} % same as \sinh
 \def\ch{\mathop{\operator at font ch}\nolimits} % same as \cosh

Added: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf	                        (rev 0)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -0,0 +1,6 @@
+\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
+% BCP 47 tag for Uyghur
+
+\xpg at load@master at language{uyghur}
+
+\endinput


Property changes on: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -44,8 +44,11 @@
 }{\xpg at warning{Unknown Ukrainian numerals value `#1'}}
 
 
+% Define some math functions
+\define at boolkey{ukrainian}[ukrainian@]{mathfunctions}[true]{}
+
 % Register default options
-\xpg at initialize@gloss at options{ukrainian}{numerals=arabic}
+\xpg at initialize@gloss at options{ukrainian}{numerals=arabic,mathfunctions=true}
 
 \define at boolkey{ukrainian}[ukrainian@]{babelshorthands}[true]{}
 
@@ -253,25 +256,28 @@
 }
 
 %%% stuff from Babel
-% make it optional?
-\def\sh{\mathop{\operator at font sh}\nolimits}
-\def\ch{\mathop{\operator at font ch}\nolimits}
-\def\tg{\mathop{\operator at font tg}\nolimits}
-\def\arctg{\mathop{\operator at font arctg}\nolimits}
-\def\arcctg{\mathop{\operator at font arcctg}\nolimits}
-\def\ctg{\mathop{\operator at font ctg}\nolimits}
-\def\cth{\mathop{\operator at font cth}\nolimits}
-\def\cosec{\mathop{\operator at font cosec}\nolimits}
-\def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits}
-\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
-\def\nsd{\mathop{\mathrm{н.с.д.}}\nolimits}
-\def\nsk{\mathop{\mathrm{н.с.к.}}\nolimits}
-\def\NSD{\mathop{\mathrm{НСД}}\nolimits}
-\def\NSK{\mathop{\mathrm{НСК}}\nolimits}
-\def\nod{\mathop{\mathrm{н.о.д.}}\nolimits}
-\def\nok{\mathop{\mathrm{н.о.к.}}\nolimits}
-\def\NOD{\mathop{\mathrm{НОД}}\nolimits}
-\def\NOK{\mathop{\mathrm{НОК}}\nolimits}
-\def\Proj{\mathop{\mathrm{пр}}\nolimits}
+\AtBeginDocument{%
+\ifukrainian at mathfunctions%
+  \def\sh{\mathop{\operator at font sh}\nolimits}
+  \def\ch{\mathop{\operator at font ch}\nolimits}
+  \def\tg{\mathop{\operator at font tg}\nolimits}
+  \def\arctg{\mathop{\operator at font arctg}\nolimits}
+  \def\arcctg{\mathop{\operator at font arcctg}\nolimits}
+  \def\ctg{\mathop{\operator at font ctg}\nolimits}
+  \def\cth{\mathop{\operator at font cth}\nolimits}
+  \def\cosec{\mathop{\operator at font cosec}\nolimits}
+  \def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits}
+  \def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+  \def\nsd{\mathop{\mathrm{н.с.д.}}\nolimits}
+  \def\nsk{\mathop{\mathrm{н.с.к.}}\nolimits}
+  \def\NSD{\mathop{\mathrm{НСД}}\nolimits}
+  \def\NSK{\mathop{\mathrm{НСК}}\nolimits}
+  \def\nod{\mathop{\mathrm{н.о.д.}}\nolimits}
+  \def\nok{\mathop{\mathrm{н.о.к.}}\nolimits}
+  \def\NOD{\mathop{\mathrm{НОД}}\nolimits}
+  \def\NOK{\mathop{\mathrm{НОК}}\nolimits}
+  \def\Proj{\mathop{\mathrm{пр}}\nolimits}
+\fi
+}
 
 \endinput

Added: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf	                        (rev 0)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf	2021-03-16 22:13:44 UTC (rev 58445)
@@ -0,0 +1,52 @@
+\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
+%% Translations provided by Osman Tursun (Github Account: neouyghur)
+
+\PolyglossiaSetup{uyghur}{
+  bcp47=ug,
+  script=Arabic,
+  direction=RL,
+  scripttag=arab,
+  langtag=UYG,
+  hyphennames={nohyphenation}،
+  fontsetup=true,
+}
+
+% BCP-47 compliant aliases
+\setlanguagealias*{uyghur}{ug}
+
+\def\captionsuyghur{%
+  \def\refname{\@ensure at RTL{پايدىلانما}}%
+  \def\abstractname{\@ensure at RTL{ئابستراكت}}%
+  \def\bibname{\@ensure at RTL{پايدىلانما}}%
+  \def\prefacename{\@ensure at RTL{كىرىش سۆز}}%
+  \def\chaptername{\@ensure at RTL{باب}}%
+  \def\appendixname{\@ensure at RTL{قوشۇمچە}}%
+  \def\contentsname{\@ensure at RTL{مۇندەرىجە}}%
+  \def\listfigurename{\@ensure at RTL{رەسىملەر}}%
+  \def\listtablename{\@ensure at RTL{جەدۋەللەر}}%
+  \def\indexname{\@ensure at RTL{ئىندېكىس}}%
+  \def\figurename{\@ensure at RTL{رەسىم}}%
+  \def\tablename{\@ensure at RTL{جەدۋەل}}%
+  %\def\thepart{}%
+  \def\partname{\@ensure at RTL{قىسىم}}%
+  \def\pagename{\@ensure at RTL{بەت}}%
+  \def\seename{\@ensure at RTL{قاراڭ}}%
+  \def\alsoname{\@ensure at RTL{ئايرىم قاراڭ}}%
+  \def\enclname{\@ensure at RTL{قوشۇمچە ھۆججەت}}%
+  \def\ccname{\@ensure at RTL{باشقا تاپشۇرۇۋالغۇچى}}%
+  \def\headtoname{\@ensure at RTL{تاپشۇرۇۋالغۇچى}}%
+  \def\proofname{\@ensure at RTL{ئىسپات}}%
+  \def\glossaryname{\@ensure at RTL{لۇغەت}}%
+  %\def\sectionname{\@ensure at RTL{}}%
+  \def\subjectname{\@ensure at RTL{تېما}}%
+}
+
+\def\dateuyghur{%
+   \def\today{\number\day~\ifcase\month\or
+    يانۋار\or فېۋرال\or مارت\or ئاپرېل\or ماي\or ئىيۇن\or
+    ئىيۇل\or ئاۋغۇست\or سېنتەبىر\or ئۆكتەبىر\or نويابىر\or
+    دېكابىر\fi
+    \space\number\year}%
+}
+
+\endinput


Property changes on: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty	2021-03-16 22:13:21 UTC (rev 58444)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty	2021-03-16 22:13:44 UTC (rev 58445)
@@ -1,5 +1,5 @@
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2020/12/08 v1.51
+\ProvidesPackage{polyglossia}[2021/03/16 v1.52
   Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
 \RequirePackage{etoolbox}
 \RequirePackage{makecmds}
@@ -1348,16 +1348,19 @@
 \DeclareRobustCommand\xpg at defaultfont@rm{%
    \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
    \fontfamily\rmdefault%
+   \ifdefined\UseHook\UseHook{rmfamily}\fi%
    \selectfont%
 }
 \DeclareRobustCommand\xpg at defaultfont@sf{%
    \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
    \fontfamily\sfdefault%
+   \ifdefined\UseHook\UseHook{sffamily}\fi%
    \selectfont%
 }
 \DeclareRobustCommand\xpg at defaultfont@tt{%
    \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
    \fontfamily\ttdefault%
+   \ifdefined\UseHook\UseHook{ttfamily}\fi%
    \selectfont%
 }
 
@@ -1427,8 +1430,10 @@
   \DeclareRobustCommand\sffamily{\csuse{#1 at font@sf}}%
   \DeclareRobustCommand\ttfamily{\csuse{#1 at font@tt}}%
   \gdef\normalfont{\protect\xpg at select@fontfamily{#1}%
-                     \fontseries{\seriesdefault}\selectfont%
-                     \fontshape{\shapedefault}\selectfont}%
+                   \fontseries{\seriesdefault}\selectfont%
+                   \fontshape{\shapedefault}
+                   \ifdefined\UseHook\UseHook{normalfont}\fi%
+                   \selectfont}%
   \gdef\reset at font{\protect\normalfont}%
 }
 



More information about the tex-live-commits mailing list.