summaryrefslogtreecommitdiff
path: root/macros/unicodetex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-06-11 03:00:53 +0000
committerNorbert Preining <norbert@preining.info>2023-06-11 03:00:53 +0000
commit2b515a7d84c09167cb70bedb643c75426d4be4b1 (patch)
tree31329e230c702a966f95d86e8c5130e50b55fe6c /macros/unicodetex
parent779e1e8aae671dfb73e0c5a19791be243af01cbe (diff)
CTAN sync 202306110300
Diffstat (limited to 'macros/unicodetex')
-rw-r--r--macros/unicodetex/latex/polyglossia/README.md2
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.dtx2419
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.pdfbin356878 -> 370655 bytes
3 files changed, 1658 insertions, 763 deletions
diff --git a/macros/unicodetex/latex/polyglossia/README.md b/macros/unicodetex/latex/polyglossia/README.md
index 9bad724cf1..a8d5787522 100644
--- a/macros/unicodetex/latex/polyglossia/README.md
+++ b/macros/unicodetex/latex/polyglossia/README.md
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v1.62
+# THE POLYGLOSSIA PACKAGE v1.63
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.dtx b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
index eed7ace603..b10936fd84 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.dtx
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
@@ -8,7 +8,7 @@
\iffalse
%</internal>
%<*README>
-# THE POLYGLOSSIA PACKAGE v1.62
+# THE POLYGLOSSIA PACKAGE v1.63
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -218,6 +218,7 @@ to track the issues and follow progress.
\generate{\file{gloss-farsi.ldf}{\from{polyglossia.dtx}{gloss-farsi.ldf}}}
\generate{\file{gloss-fi.ldf}{\from{polyglossia.dtx}{gloss-fi.ldf}}}
\generate{\file{gloss-finnish.ldf}{\from{polyglossia.dtx}{gloss-finnish.ldf}}}
+\generate{\file{gloss-fr-CA-u-sd-canb.ldf}{\from{polyglossia.dtx}{gloss-fr-CA-u-sd-canb.ldf}}}
\generate{\file{gloss-fr-CA.ldf}{\from{polyglossia.dtx}{gloss-fr-CA.ldf}}}
\generate{\file{gloss-fr-CH.ldf}{\from{polyglossia.dtx}{gloss-fr-CH.ldf}}}
\generate{\file{gloss-fr-FR.ldf}{\from{polyglossia.dtx}{gloss-fr-FR.ldf}}}
@@ -545,7 +546,7 @@ to track the issues and follow progress.
% \hyphenation{Kha-li-ghi Reu-ten-auer new-zea-land}
% \GetFileInfo{polyglossia.sty}
%
-% \title{{\textgreek{\xpgtitlefont\color{lightblue}\MakeUppercase[lang=el]{Πολυγλωσσία}}}
+% \title{{\textgreek{\xpgtitlefont\color{lightblue}\MakeUppercase{Πολυγλωσσία}}}
% \\[16pt]
% \color{xpgblue}Polyglossia: Modern multilingual typesetting with \XeLaTeX\ and \LuaLaTeX}
% \author{\TA{François Charette} \and \TA{Arthur Reutenauer}\thanks{Current maintainer}
@@ -657,7 +658,7 @@ to track the issues and follow progress.
% \TX{belarusian} & \TX{french} & \TX{kurdish} & \TX{punjabi} & turkish \\
% \TX{bengali} & friulian & \TX{lao} & romanian & turkmen \\
% bosnian & \TX{gaelic} & \TX{latin} & romansh & \TX{ukrainian}\\
-% breton & galician & latvian & \TX{russian} & urdu \\
+% breton & galician & latvian & \TX{russian} & \TX{urdu} \\
% bulgarian & \TX{georgian} & lithuanian & \TX{sami} & \TX{uyghur} \\
% \TX{catalan} & \TX{german} & macedonian & \TX{sanskrit} & vietnamese \\
% \TX{chinese} & \TX{greek} & \TX{malay} & \TX{serbian} & \TX{welsh} \\
@@ -713,7 +714,7 @@ to track the issues and follow progress.
% \toprule
% \textbf{Babel name} & \textbf{Polyglossia name} & \textbf{Polyglossia options}\tabularnewline
% \midrule
-% acadien & french & variant=acadian \\
+% acadian & french & variant=acadian \\
% american & english & variant=american [\emph{default}] \\
% australian & english & variant=australian \\
% austrian & german & variant=austrian, spelling=old \\
@@ -861,6 +862,7 @@ to track the issues and follow progress.
% fi & finnish & \tabularnewline
% fr & french & \tabularnewline
% fr-CA & french & variant=canadian \tabularnewline
+% fr-CA-u-sd-canb & french & variant=acadian \tabularnewline
% fr-CH & french & variant=swiss \tabularnewline
% fr-FR & french & variant=french [\emph{default}] \tabularnewline
% fur & friulian & \tabularnewline
@@ -1235,19 +1237,35 @@ to track the issues and follow progress.
% \paragraph*{Options:}
% \begin{itemize}
% \item \xpgchoicekey{calendar}{\xpgpresetvalue{gregorian} or \xpgvalue{islamic} (= \xpgvalue{hijri})}
+% \item \xpgoptkey{hijricorrection}{integer}[0]
+% If \xpgvalue{calendar=hijri} or \xpgvalue{calendar=islamic} is selected, \cmd{\today} will output the date
+% according to the lunar Islamic (Hijra) calendar. This option allows to shift the day of the output with respect
+% to the current date. Both positive and negative integer values are allowed (negative decrease the day value).
+% This corresponds to the optional argument of the \cmd{\Hijritoday} command which can be used to output Hijri
+% dates irrespective of the \xpgvalue{calendar} option (see sec.~\ref{sec:hijrical}).
% \item \xpgchoicekey{locale}{\xpgpresetvalue{default}, \xpgvalue{mashriq}, \xpgvalue{libya},
% \xpgvalue{algeria}, \xpgvalue{tunisia}, \xpgvalue{morocco}, \xpgvalue{mauritania}}
% This setting influences the spelling of the month names for the Gregorian calendar,
% as well as the form of the numerals (unless overridden by the following option). Recommended settings are
% \xpgvalue{default} for Egypt, Sudan, Yemen and the Gulf states, and \xpgvalue{mashriq} for Iraq, Syria,
% Jordan, Lebanon and Palestine.
-% \item \xpgchoicekey{numerals}{\xpgpresetvalue{mashriq} or \xpgvalue{maghrib}}
-% The latter is the default when \xpgvalue{locale=algeria}, \xpgvalue{tunisia}, or \xpgvalue{morocco}.
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{mashriq} (=~\xpgvalue{eastern}\new{1.63}) or \xpgvalue{maghrib}
+% (=~\xpgvalue{western}\new{1.63})}
+% Use Eastern Arabic (a.k.a.\ Indic-Arabic) numerals (\xpgvalue{mashriq} or \xpgvalue{eastern}) or Western numerals
+% (\xpgvalue{maghrib} or \xpgvalue{western}).
+% The latter is the default when \xpgvalue{locale=algeria}, \xpgvalue{tunisia}, or \xpgvalue{morocco}, the former
+% is the default with all other Arabic locales.
+% \item \xpgcodekey[1.63]{sectionsep}¦.¦
+% This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+% \eg \xpgoption{sectionsep=-}.
+% This might be useful particularly with \xpgoption{numerals=mashriq} or \xpgoption{eastern}, as the dot looks
+% too similar to the zero in many fonts.
% \item \xpgboolkeyfalse[1.50]{abjadalph}
% Set this to true if you want the alphabetic counters to be output using \cmd\abjadalph\ rather than \cmd\abjad.
% Note that this limits the counter scope to 28 (see \cmd\abjadalph\ below).
% \item \xpgboolkeyfalse[1.0.3]{abjadjimnotail}
-% Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{ج‍} – as in the manuscript tradition – instead of the modern usage \textarabic{ج}.
+% Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{ج‍} – as in the manuscript
+% tradition – instead of the modern usage \textarabic{ج}.
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -1265,8 +1283,14 @@ to track the issues and follow progress.
% \subsection{armenian}\label{armenian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \xpgchoicekey[1.45]{variant}{\xpgvalue{eastern} or \xpgpresetvalue{western}}
+% \item \xpgchoicekey[1.45]{variant}{\xpgvalue{eastern} or \xpgpresetvalue{western}}
% \item \xpgchoicekey[1.45]{numerals}{\xpgvalue{armenian} or \xpgpresetvalue{arabic}}
+% \item \xpgboolkeyfalse[1.63]{capitalyiwn}
+% If this is set to true, \cmd{\MakeUppercase} will upcase the ligature of letters ech and yiwn to capital
+% ech and yiwn. This conforms to the output outside Armenian language selection.
+% By default (and with this option set to \xpgvalue{false}), \cmd{\MakeUppercase} upcases the ech and yiwn
+% ligature to capital ech and \emph{vew}, adhering to Armenian reformed spelling regulations.
+% Note that this feature requires \LaTeX\ kernel 2023/06 at least.
% \end{itemize}
%
% \subsection[belarusian]{belarusian\new{1.46}}\label{belarusian}
@@ -1453,10 +1477,19 @@ to track the issues and follow progress.
% \subsection{dutch}\label{dutch}
% \paragraph*{Options:}
% \begin{itemize}
+% \item \xpgboolkeytrue[1.63]{tremahyphenation}
+% Following Dutch orthography, words with tremata (such as \emph{geëxecuteerd}) lose the trema on hyphenation
+% before the trematized letter (\emph{ge-executeerd}). This is achieved by \pkg{polyglossia} by making those
+% letters active. If you set this option to false, this mechanism is deactivated (and the hyphenation wrong,
+% but you can still use the babelshorthands mentioned below).
% \item \xpgboolkeyfalse[1.1.1]{babelshorthands}
% If this is turned on, the following shorthands defined for fine-tuning hyphenation and
% micro-typography of Dutch words are activated:
% \begin{shorthands}
+% \item[¦"a¦]\new{1.63} an \meta{ä} (a with trema) which is hyphenated as \meta{-a} as required by the Dutch standards.
+% Also implemented for the other vowels (e, i, o, u), both lower and uppercase.
+% \item[¦"y¦]\new{1.63} the \ij\ ligature.
+% \item[¦"Y¦]\new{1.63} the \IJ\ ligature.
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
% in the hyphenation patterns (as opposed to \cmd\- in default \TeX).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
@@ -1515,7 +1548,7 @@ to track the issues and follow progress.
% \subsection{french}\label{french}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \xpgchoicekey{variant}{\xpgpresetvalue{french} or \xpgvalue{canadian} (=~\xpgvalue{acadian})\new{1.45}, \xpgvalue{swiss}\new{1.47}}
+% \item \xpgchoicekey{variant}{\xpgpresetvalue{french}, \xpgvalue{canadian}, \xpgvalue{acadian}\new{1.45} or \xpgvalue{swiss}\new{1.47}}
% Currently, the only difference between the four variants is that \xpgvalue{swiss}
% uses \xpgvalue{thincolonspace=true} by default since this conforms to the Swiss
% conventions.
@@ -1641,6 +1674,14 @@ to track the issues and follow progress.
% \item \xpgchoicekey{spelling}{\xpgpresetvalue{new} (= \xpgvalue{1996}) or \xpgvalue{old} (= \xpgvalue{1901})}
% Indicates whether hyphenation patterns for traditional (1901) or reformed
% (1996) orthography should be used. The latter is the default.
+% \item \xpgboolkeyfalse[1.63]{capitaleszett}
+% If this is set to true, \cmd{\MakeUppercase} will upcase the eszett character ⟨ß⟩ to the
+% capital counterpart ⟨\charifavailable{1E9E}{SS}⟩ that has been introduced to Unicode in 2008 and
+% standardized in German regulations in 2017, rather than ⟨SS⟩. Note that this feature requires
+% \LaTeX\ kernel 2023/06 at least and a font that contains the respective glyph.
+% \item \xpgchoicekey[1.2.0]{script}{\xpgpresetvalue{latin} or \xpgvalue{blackletter}\new{1.46} (= \xpgvalue{fraktur})}
+% Setting ¦script=blackletter¦ adapts the captions for typesetting German in blackletter type, using the `long s' ⟨ſ\kern1.5pt⟩
+% where appropriate.
% \item \xpgboolkeyfalse[1.0.3]{babelshorthands}
% If this is turned on, all shorthands defined in \pkg{babel}
% for fine-tuning hyphenation and micro-typography of German words are activated.
@@ -1668,9 +1709,6 @@ to track the issues and follow progress.
% \item[¦"<¦] for French-style left double quotes («)
% \item[¦">¦] for French-style right double quotes (»).
% \end{shorthands}
-% \item \xpgchoicekey[1.2.0]{script}{\xpgpresetvalue{latin} or \xpgvalue{blackletter}\new{1.46} (= \xpgvalue{fraktur})}
-% Setting ¦script=blackletter¦ adapts the captions for typesetting German in blackletter type (using the long s (ſ)
-% where appropriate).
% \end{itemize}
%
% \subsection{greek}\label{greek}
@@ -1678,7 +1716,10 @@ to track the issues and follow progress.
% \begin{itemize}
% \item \xpgchoicekey{variant}{\xpgpresetvalue{monotonic} (= \xpgvalue{mono}), \xpgvalue{polytonic} (= \xpgvalue{poly}), or \xpgvalue{ancient}}
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{greek} or \xpgvalue{arabic}}
-% \item \xpgboolkeyfalse{attic}
+% \item \xpgboolkeyfalse[1.63]{capitaliota}
+% If this is set to true, \cmd{\MakeUppercase} will upcase the \emph{ypogegrammeni} (subscript muted iota) to capital iota.
+% By default (and with this option set to \xpgvalue{false}), \cmd{\MakeUppercase} retains the subscript versions.
+% Note that this feature requires \LaTeX\ kernel 2023/06 at least.
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -1804,11 +1845,16 @@ to track the issues and follow progress.
% \paragraph*{Options:}
% \begin{itemize}
% \item \xpgchoicekey{variant}{\xpgvalue{kurmanji} or \xpgpresetvalue{sorani}}
-% \item \xpgchoicekey{script}{\xpgvalue{Arabic} or \xpgvalue{Latin}}
-% Defaults are \xpgvalue{Arabic} for Sorani and \xpgvalue{Latin} for Kurmanji.
+% \item \xpgchoicekey{script}{\xpgvalue{arabic} or \xpgvalue{latin}}
+% Defaults are \xpgvalue{arabic} for Sorani and \xpgvalue{latin} for Kurmanji.
% \item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgvalue{eastern}}
% Defaults are \xpgvalue{western} for Latin and \xpgvalue{eastern} for Arabic script, depending
% on the selection above.
+% \item \xpgcodekey[1.63]{sectionsep}¦.¦
+% This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+% \eg \xpgoption{sectionsep=-}.
+% This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+% in many fonts.
% \item \xpgboolkeyfalse{abjadjimnotail}
% Set this to true if you want the \textit{abjad} form of the number three to
% be \textarabic{ج‍} – as in the manuscript tradition – instead of the
@@ -2057,6 +2103,11 @@ to track the issues and follow progress.
% \paragraph*{Options:}
% \begin{itemize}
% \item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgpresetvalue{eastern}}
+% \item \xpgcodekey[1.63]{sectionsep}¦.¦
+% This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+% \eg \xpgoption{sectionsep=-}.
+% This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+% in many fonts.
% \item \xpgboolkeyfalse[1.0.3]{abjadjimnotail}
% Set this to \xpgvalue{true} if you want the \textit{abjad} form of the number three to
% be \textarabic{ج‍} – as in the manuscript tradition – instead of the
@@ -2230,18 +2281,24 @@ to track the issues and follow progress.
% \subsection{sanskrit}\label{sanskrit}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \xpgchoicekey[1.0.2]{script}{\xpgpresetvalue{Devanagari}, \xpgvalue{Gujarati},
-% \xpgvalue{Malayalam}, \xpgvalue{Bengali}, \xpgvalue{Kannada}, \xpgvalue{Telugu}, \xpgvalue{Latin}}
+% \item \xpgchoicekey[1.0.2]{script}{\xpgpresetvalue{devanagari}, \xpgvalue{gujarati},
+% \xpgvalue{malayalam}, \xpgvalue{bengali}, \xpgvalue{kannada}, \xpgvalue{telugu}, \xpgvalue{latin}}
% The value is passed to \pkg{fontspec} should the respective
% \cmd{\⟨script⟩font} not be defined. This can be useful if you typeset Sanskrit
% texts in scripts other than Devanagari.
-% \item \xpgchoicekey[1.45]{numerals}{\xpgpresetvalue{Devanagari} or \xpgvalue{Western}}
+% \item \xpgchoicekey[1.45]{numerals}{\xpgpresetvalue{devanagari} or \xpgvalue{western}}
% \end{itemize}
%
% \subsection{serbian}\label{serbian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \xpgchoicekey{script}{\xpgpresetvalue{Cyrillic} or \xpgvalue{Latin}}
+% \item \xpgchoicekey[1.63]{variant}{\xpgpresetvalue{ekavian} or \xpgvalue{ijekavian}}
+% With \xpgvalue{ijekavian}, the different spelling is reflected in some caption strings.
+% \item \xpgchoicekey{script}{\xpgpresetvalue{cyrillic} or \xpgvalue{latin}}
+% \item \xpgboolkeyfalse[1.63]{datei}
+% If this is \xpgvalue{true}, the sixth and seventh month of the year are written in the date
+% with the trailing \meta{i} or \meta{и} (\ie \emph{juni}, \emph{juli} or \emph{јуни}, \emph{јули}
+% rather than \emph{jun}, \emph{jul} or \emph{јун}, \emph{јул}).
% \item \xpgboolkeytrue[1.54]{splithyphens}
% According to Serbian typesetting conventions, if a word with a hard hyphen (such as
% \emph{калцијум-карбонат}) is hyphenated at this hyphen, a second hyphenation character is to be
@@ -2269,6 +2326,14 @@ to track the issues and follow progress.
% numbers up to 999\,999.\\
% \Eg ¦\textserbian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
+% \item \Cmd{\today*}: as opposed to the unstarred counterpart, this does not end the date with a punctuation.
+% \item \Cmd{\todayGen}: outputs the date with months in genitive inflection. This form is suggested when the date
+% is integrated into a sentence (as opposed to a standalone date statement). The starred form \Cmd{\todayGen*}
+% omits the trailing punctuation.
+% \item \Cmd{\todayArabic}: outputs the date with months in Arabic number. The starred form \Cmd{\todayArabic*} omits
+% the trailing punctuation.
+% \item \Cmd{\todayRoman}: outputs the date with months in Roman number. The starred form \Cmd{\todayRoman*} omits
+% the trailing punctuation.
% \end{itemize}
%
%
@@ -2370,6 +2435,11 @@ to track the issues and follow progress.
% \item \xpgchoicekey[1.0.1]{numerals}{\xpgpresetvalue{western} (\ie 1234567890), \xpgvalue{eastern}
% (for which the Oriental Arabic numerals are used: \textarabic{١٢٣٤٥٦٧٨٩٠}), or
% \xpgvalue{abjad}}
+% \item \xpgcodekey[1.63]{sectionsep}¦.¦
+% This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+% \eg \xpgoption{sectionsep=-}.
+% This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+% in many fonts.
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -2463,6 +2533,27 @@ to track the issues and follow progress.
% \cmd\nsk , \cmd\Proj\ print some rare
% Ukrainian mathematical symbols.
%
+% \subsection{urdu}\label{urdu}
+% \paragraph*{Options:}
+% \begin{itemize}
+% \item \xpgchoicekey{calendar}{\xpgpresetvalue{gregorian} or \xpgvalue{hijri}}
+% \item \xpgoptkey{hijricorrection}{integer}[0]
+% If \xpgvalue{calendar=hijri} is selected, \cmd{\today} will output the date
+% according to the lunar Islamic (Hijra) calendar. This option allows to shift the day of the output with respect
+% to the current date. Both positive and negative integer values are allowed (negative decrease the day value).
+% This corresponds to the optional argument of the \cmd{\Hijritoday} command which can be used to output Hijri
+% dates irrespective of the \xpgvalue{calendar} option (see sec.~\ref{sec:hijrical}).
+% \item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgpresetvalue{eastern}}
+% \item \xpgcodekey[1.63]{sectionsep}¦.¦
+% This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+% \eg \xpgoption{sectionsep=-}.
+% This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+% in many fonts.
+% \item \xpgboolkeyfalse{abjadjimnotail}
+% Set this to \xpgvalue{true} if you want the \textit{abjad} form of the number three to
+% be \textarabic{ج‍} – as in the manuscript tradition – instead of the
+% modern usage \textarabic{ج}.
+% \end{itemize}
%
% \subsection{uyghur}\label{uyghur}
% \paragraph*{Options:}
@@ -2787,7 +2878,7 @@ to track the issues and follow progress.
% (depending of the current writing direction this will automatically set either
% in Hebrew script or in roman transliteration).
%
-% \subsection{Islamic calendar (hijrical.sty)}
+% \subsection{Islamic calendar (hijrical.sty)}\label{sec:hijrical}
% This package computes dates in the lunar Islamic (Hijra) calendar.\footnote{ %
% It makes use of the arithmetical algorithm in chapter 6 of
% Reingold \& Gershowitz, \textit{Calendrical calculation: the Millenium edition}
@@ -2919,6 +3010,58 @@ to track the issues and follow progress.
% \section{Revision history}
%
% \bgroup\footnotesize
+% \subsection*{1.63 (2023/06/10)}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Language options are now lowercased before they are handled. This fixes errors when
+% using the options in \cmd{\MakeUppercase} context (\eg in headings).
+% \item Fix casing value for medieval Latin (this concerns ⟨u⟩ and ⟨V⟩ casing).
+% \item Remove hacks in some gloss files where \cmd\MakeUppercase\ has been redefined to a no-op
+% since the respective scripts do not have uppercasing. As \cmd\MakeUppercase\ is now locale-aware,
+% these hacks are no longer needed. This concerns Arabic, Divehi, Hebrew, Hindi, Kurdish,
+% Persian, Punjabi, Syriac, and Urdu.
+% \item Fix Eastern (Mashriq) Arabic numbering direction with \LuaLaTeX\ for Arabic, Kurdish, Persian,
+% Syriac, and Urdu (amends previous fix to \TXI{213}).
+% \item French \xpgoption{variant=acadian} refers to the Canadian French subvariety as spoken in the Acadian
+% region (as opposed to Quebec French). To differentiate it we now use a dedicated subtag
+% which can also be used to access the language (\texttt{fr-CA-u-sd-canb}).
+% Note that Quebec French is currently connected with \texttt{fr-CA}, not the more specific
+% \texttt{fr-CA-u-sd-caqc}, although the u extension is returned if requested via \cmd\BCPdata.
+% In practice, the Canadian subvarieties of French are identical currently, anyway.
+% \item Do not blindly de-activate the quote character in languages that provide shorthands if the
+% shorthands are not used. This allows to activate the character with other packages such as
+% \pkg{csquotes} (\TXI{592}).
+% \item Do not flood the \LaTeX\ hooks with redundant French itemlabels and footnote settings (\TXI{593}).
+% \item Fix Korean patching of part format with hyperref (\TXP{595}).
+% \item Make Hebrew numerals expandable (\TXP{596}).
+% \item Avoid superfluous writing of language switches to aux file (\TXI{593}).
+% \end{itemize}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item New option \xpgoption{capitalyiwn} for Armenian.
+% \item New option \xpgoption{capitaleszett} for German.
+% \item New option \xpgoption{capitaliota} for Greek.
+% \item New option \xpgoption{datei} for Serbian.
+% \item New option \xpgoption{sectionsep} for Arabic, Kurdish, Persian,
+% Syriac, and Urdu (\TXI{589}).
+% \item Add aliases \xpgvalue{eastern} (=~\xpgvalue{mashriq}) and \xpgvalue{western} (=~\xpgvalue{maghrib})
+% to Arabic \xpgoption{numerals}.
+% \item New date commands \cmd{\today*}, \cmd{\todayGen}, \cmd{\todayArabic}, and \cmd{\todayRoman} (all with
+% starred counterparts) for Serbian (\TXI{524}).
+% \item Implement basic support for \xpgoption{variant=ijekavian} in Serbian.
+% \item Dutch now hyphenates properly on letters with tremata. The new option, \xpgoption{tremahyphenation},
+% is provided to opt-out this feature.
+% \item Add shorthands ¦"a¦, ¦"e¦, ¦"i¦, ¦"o¦, ¦"u¦, ¦"A¦, ¦"E¦, ¦"I¦, ¦"O¦, ¦"U¦, ¦"y¦, and ¦"Y¦ to Dutch.
+% \end{itemize}
+%
+% \subsubsection*{Interface changes}
+% \begin{itemize}
+% \item All language options are now lowercase by default (though the mechanism is case-insensitive anyway).
+% Changes cover Kurdish, Sanskrit, Serbian.
+% \end{itemize}
+%
% \subsection*{1.62 (2023/04/22)}
%
% \subsubsection*{Bug fixes}
@@ -3862,12 +4005,12 @@ to track the issues and follow progress.
% Many thanks to all the people who have contributed bugfixes and new features to \pkg{polyglossia}
% since we took over.
% In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz},
-% \TA{Zgarbul Andrey}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby}, \TA{Enrico Gregorio},
-% \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{Gyula Magyarkuti}, \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{Marcin Serwin},
-% \TA{Arvinder Singh}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka}, \TA{Osman Tursun}, \TA{Keno Wehr},
-% \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
+% \TA{Zgarbul Andrey}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Udi Fogiel}, \TA{Philipp Gesang}, \TA{Kevin Godby},
+% \TA{Enrico Gregorio}, \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{Gyula Magyarkuti}, \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{Marcin Serwin}, \TA{Arvinder Singh}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka}, \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}.
%
@@ -3893,7 +4036,7 @@ to track the issues and follow progress.
% \subsection{polyglossia.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2023/04/22 v1.62
+\ProvidesPackage{polyglossia}[2023/06/10 v1.63
Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -5877,7 +6020,8 @@ to track the issues and follow progress.
% where \text<alias> would cause clashes
% (e.g., \textit)
\newcommand\textlang[3][]{%
- \__xpg_textlanguage:een {#1} {#2} {#3}
+ \xpg@str@lowercase{\xpg@tmp@lang}{#2}%
+ \__xpg_textlanguage:een {#1} {\xpg@tmp@lang} {#3}
}%
% Alias to {<lang>}, but more suitable
@@ -5910,6 +6054,23 @@ to track the issues and follow progress.
\__xpg_store_bcp_info:nn {#1}{#2}
}
+% Expandable lowercasing. We use this to assure keyval
+% options are lowercased (also when used in \MakeUppercase
+% contexts e.g. in headings)
+% Macro adapted from tudscr.sty
+\newcommand*\xpg@str@lowercase[2]{%
+ \protected@edef#1{%
+ \lowercase{\def\noexpand#1{#2}}%
+ }#1%
+}
+
+% lowercase options before passing to setkeys
+\cs_new:Nn \polyglossia@set@keys:nn
+{
+ \xpg@str@lowercase{\xpg@tmp@opts}{#2}%
+ \exp_args:Nne \setkeys{#1}{\xpg@tmp@opts}%
+}
+
% joint code of \foreignlanguage, otherlanguage*
% and \text<lang>
% #1 option
@@ -5917,7 +6078,7 @@ to track the issues and follow progress.
\newcommand{\xpg@otherlanguage}[2][]
{%
\polyglossia@error@iflangnotloaded:n{#2}
- \exp_args:Nne \setkeys{#2}{#1}%
+ \polyglossia@set@keys:nn{#2}{#1}%
\polyglossia@setforeignlanguage[#1]{#2}
% Hook for external packages such as biblatex
\polyglossia@language@switched%
@@ -6050,13 +6211,13 @@ to track the issues and follow progress.
\xpg@hook@setlanguage
\let\emp@langname\@undefined}
-\newif\ifxpglanginaux\xpglanginauxfalse
+\newif\ifxpginauxfile\xpginauxfilefalse
\DeclareDocumentCommand \selectlanguage {s O{} m}
{
\tl_if_blank:eTF {\xpg_alias_base_lang:n{#3}}
{
- \ifxpglanginaux
+ \ifxpginauxfile
\msg_show:nnn { polyglossia } { languagenolongerloaded } {#3}
\else
\msg_show:nnn { polyglossia } { languagenotloaded } {#3}
@@ -6106,7 +6267,7 @@ to track the issues and follow progress.
\clist_map_inline:nn { #2 } {%
\xpg@parsevariantkeyvalue##1=#3:#1\relax
}%
- \exp_args:Nne \setkeys{#1}{#2}%
+ \polyglossia@set@keys:nn{#1}{#2}%
}
}
@@ -6288,20 +6449,34 @@ to track the issues and follow progress.
}
\newcommand*{\xpg@set@language@only@aux}[2][]{%
- % Write to the aux
+ % Write to the aux (toc files)
\if@filesw%
- \protected@write\@auxout{}{\protect\xpglanginauxtrue}%
\ifx#1\\\\%
- \protected@write\@auxout{}{\protect\selectlanguage*{#2}}%
\addtocontents{toc}{\protect\selectlanguage*{#2}}%
\else
- \protected@write\@auxout{}{\protect\selectlanguage*[#1]{#2}}%
\addtocontents{toc}{\protect\selectlanguage*[#1]{#2}}%
\fi
- \protected@write\@auxout{}{\protect\xpglanginauxfalse}%
\fi
}
+\AtBeginDocument{%
+ % Tell polyglossia that we are in an aux file
+ \if@filesw%
+ \addtocontents{toc}{\protect\xpginauxfiletrue}%
+ \addtocontents{lof}{\protect\xpginauxfiletrue}%
+ \addtocontents{lot}{\protect\xpginauxfiletrue}%
+ \fi%
+}
+
+\AtEndDocument{%
+ % Tell polyglossia that we are no longer in an aux file
+ \if@filesw%
+ \addtocontents{toc}{\protect\xpginauxfilefalse}%
+ \addtocontents{lof}{\protect\xpginauxfilefalse}%
+ \addtocontents{lot}{\protect\xpginauxfilefalse}%
+ \fi%
+}
+
% Since captions might float to other language regions,
% we need to change the language here (#542)
\AddToHook{cmd/caption/before}{%
@@ -6508,7 +6683,7 @@ to track the issues and follow progress.
% Execute passed command with language and maybe options
% and re-set stored language's keys
\tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}}
- {\exp_args:Nne \setkeys{\l_tmpc_tl}{\l_tmpb_tl}
+ {\polyglossia@set@keys:nn{\l_tmpc_tl}{\l_tmpb_tl}
\cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}
}
}
@@ -6551,7 +6726,7 @@ to track the issues and follow progress.
\edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}}
\bgroup
\polyglossia@error@iflangnotloaded:n{\xpg@tmp@lang}
- \exp_args:Nne \setkeys{\xpg@tmp@lang}{\xpg@tmp@opts}%
+ \polyglossia@set@keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts}%
% Store bcp47.tag@hypenmins
\tl_if_blank:nTF {\xpg@tmp@opts}{%
\ifcsundef{\csname xpg@tmp@lang\endcsname @g.bcp47.tag}{%
@@ -6570,7 +6745,7 @@ to track the issues and follow progress.
\newcommand*\use@localhyphenmins[2][]{%
\bgroup
\polyglossia@error@iflangnotloaded:n{#2}
- \exp_args:Nne \setkeys{#2}{#1}%
+ \polyglossia@set@keys:nn{#2}{#1}%
% Use bcp47.tag@hypenmins
\tl_if_blank:nTF {#1}{%
\ifcsundef{#2@g.bcp47.tag}{%
@@ -6696,6 +6871,30 @@ to track the issues and follow progress.
\polyglossia@enable@local@marks:
}
+% Control shorthand (de-)activation
+% This checks that the shorthand char is only deactivated
+% if we have activated it ourselves and hence keeps
+% activation of other packages if no shorthands are used.
+\seq_new:N \__xpg_active_shorthands
+
+\DeclareDocumentCommand \xpg@activate@shorthands { O{"} }
+{
+ \seq_if_in:NnF \__xpg_active_shorthands { #1 }
+ {
+ \bbl@activate{#1}
+ \seq_gpush:Nn \__xpg_active_shorthands { #1 }
+ }
+}
+
+\DeclareDocumentCommand \xpg@deactivate@shorthands { O{"} }
+{
+ \seq_if_in:NnT \__xpg_active_shorthands { #1 }
+ {
+ \cs_if_exist:cT{initiate@active@char}{\bbl@deactivate{#1}}
+ \seq_remove_all:Nn \__xpg_active_shorthands {#1}
+ }
+}
+
% compatibility
\newif\ifsystem@babelshorthands
\bool_if:nTF \l_polyglossia_babelshorthands_bool {
@@ -7418,7 +7617,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia-punct')
@@ -7485,7 +7684,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct
% \begin{macrocode}
--
-- polyglossia-korean.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
local glyph_id = node.id"glyph"
@@ -8103,7 +8302,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia-punct')
@@ -8158,7 +8357,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia') -- just in case...
@@ -8526,7 +8725,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia-punct')
@@ -8576,7 +8775,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia') -- just in case...
@@ -8679,7 +8878,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
local module_name = "polyglossia"
@@ -8877,11 +9076,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{babel-hebrewalph.def}
% \begin{macrocode}
\ProvidesFile{babel-hebrewalph.def}
- [2010/03/02 %
- Babel definitions for Hebrew numerals^^J
- Adapted from hebrew.ldf (2005/03/30 v2.3h)]
-\newif\if@gim@apost % whether we print apostrophes (gereshayim)
-\newif\if@gim@final % whether we use final or initial letters
+ [2023/06/01 %
+ Expandable definitions for Hebrew numerals]
+
\newcommand*\hebrewnumeral[1]{%
\expandafter\@hebrew@numeral\expandafter{\the\numexpr#1}%
}
@@ -8891,78 +9088,74 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newcommand*\Hebrewnumeralfinal[1]{%
\expandafter\@Hebrew@numeralfinal\expandafter{\the\numexpr#1}%
}
-\newrobustcmd*{\@hebrew@numeral}[1] % no apostrophe, no final letters
- {{\@gim@finalfalse\@gim@apostfalse\@hebrew@@numeral{#1}}}
-\newrobustcmd*{\@Hebrew@numeral}[1] % apostrophe, no final letters
- {{\@gim@finalfalse\@gim@aposttrue\@hebrew@@numeral{#1}}}
-\newrobustcmd*{\@Hebrew@numeralfinal}[1] % apostrophe, final letters
- {{\@gim@finaltrue\@gim@aposttrue\@hebrew@@numeral{#1}}}
-\newcommand*{\@hebrew@@numeral}[1]{%
+
+\newcommand*\hebrew@div@trancate[2]{%
+ \ifnum\numexpr #1 - #2*\numexpr #1/#2\relax<0
+ \the\numexpr #1/#2 -1\relax\else\the\numexpr #1/#2\relax\fi
+}
+
+\newcommand*\@hebrew@@numeral[2]{%
\ifnum#1<\z@\space\xpg@warning{Illegal value (#1) for Hebrew numeral}%
\else
- \@tempcnta=#1\@tempcntb=#1\relax
- \divide\@tempcntb by 1000
- \ifnum\@tempcntb=0\gim@nomil\@tempcnta\relax
- \else{\@gim@apostfalse\@gim@finalfalse\@hebrew@numeral\@tempcntb}׳%
- \multiply\@tempcntb by 1000\relax
- \advance\@tempcnta by -\@tempcntb\relax
- \gim@nomil\@tempcnta\relax
+ \ifnum #1<1000
+ \gim@nomil{#1}{#2}%
+ \else
+ \hebrewnumeral{\hebrew@div@trancate{#1}{1000}}׳%
+ \expandafter\gim@nomil\expandafter{\the\numexpr #1 - 1000*\hebrew@div@trancate{#1}{1000}}{#2}%
\fi
\fi
}
-\def\hebrew@alph@zero{}
-\newcommand*{\gim@nomil}[1]{\@tempcnta=#1\@gim@prevfalse
- \@tempcntb=\@tempcnta\divide\@tempcntb by 100\relax % hundreds digit
- \ifcase\@tempcntb % print nothing if no hundreds
- \or\gim@print{100}{ק}%
- \or\gim@print{200}{ר}%
- \or\gim@print{300}{ש}%
- \or\gim@print{400}{ת}%
- \or ת\@gim@prevtrue\gim@print{500}{ק}%
- \or ת\@gim@prevtrue\gim@print{600}{ר}%
- \or ת\@gim@prevtrue\gim@print{700}{ש}%
- \or ת\@gim@prevtrue\gim@print{800}{ת}%
- \or ת\@gim@prevtrue ת\gim@print{900}{ק}%
- \fi
- \@tempcntb=\@tempcnta\divide\@tempcntb by 10\relax % tens digit
- \ifcase\@tempcntb % print nothing if no tens
- \or % number between 10 and 19
- \ifnum\@tempcnta = 16 \gim@print {9}{ט}% tet-zayin
- \else\ifnum\@tempcnta = 15 \gim@print {9}{ט}% tet-vav
- \else \gim@print{10}{י}%
- \fi % \@tempcnta = 15
- \fi % \@tempcnta = 16
- \or\gim@print{20}{\if@gim@final ך\else כ\fi}%
- \or\gim@print{30}{ל}%
- \or\gim@print{40}{\if@gim@final ם\else מ\fi}%
- \or\gim@print{50}{\if@gim@final ן\else נ\fi}%
- \or\gim@print{60}{ס}%
- \or\gim@print{70}{ע}%
- \or\gim@print{80}{\if@gim@final ף\else פ\fi}%
- \or\gim@print{90}{\if@gim@final ץ\else צ\fi}%
+
+\newcommand*\@hebrew@numeral[1]{\@hebrew@@numeral{#1}{0}}
+\newcommand*\@Hebrew@numeral[1]{\@hebrew@@numeral{#1}{1}}
+\newcommand*\@Hebrew@numeralfinal[1]{\@hebrew@@numeral{#1}{2}}
+
+\newcommand*\hebrew@alph@zero{}
+\newcommand*\gim@nomil[2]{%
+ \ifcase\hebrew@div@trancate{#1}{100} % print nothing if no hundreds
+ \or ק\ifnum #2>0\ifnum #1=100 ׳\fi\fi
+ \or ר\ifnum #2>0\ifnum #1=200 ׳\fi\fi
+ \or ש\ifnum #2>0\ifnum #1=300 ׳\fi\fi
+ \or ת\ifnum #2>0\ifnum #1=400 ׳\fi\fi
+ \or ת\ifnum #2>0\ifnum #1=500 ״\fi\fi ק%
+ \or ת\ifnum #2>0\ifnum #1=600 ״\fi\fi ר%
+ \or ת\ifnum #2>0\ifnum #1=700 ״\fi\fi ש%
+ \or ת\ifnum #2>0\ifnum #1=800 ״\fi\fi ת%
+ \or תת\ifnum #2>0\ifnum #1=900 ״\fi\fi ק%
\fi
- \ifcase\@tempcnta
- \hebrew@alph@zero% empty but can be defined if desired
- \or\gim@print{1}{א}%
- \or\gim@print{2}{ב}%
- \or\gim@print{3}{ג}%
- \or\gim@print{4}{ד}%
- \or\gim@print{5}{ה}%
- \or\gim@print{6}{ו}%
- \or\gim@print{7}{ז}%
- \or\gim@print{8}{ח}%
- \or\gim@print{9}{ט}%
+ \ifnum \the\numexpr #1 - 100*\hebrew@div@trancate{#1}{100} = 16
+ \ifnum #2>0 ט״ז\else טז\fi% tet-zayin
+ \else\ifnum \the\numexpr #1 - 100*\hebrew@div@trancate{#1}{100} = 15
+ \ifnum #2>0 ט״ו\else טו\fi% tet-vav
+ \else
+ \ifcase\expandafter\hebrew@div@trancate\expandafter{\the\numexpr #1 - 100*\hebrew@div@trancate{#1}{100}}{10} % print nothing if no tens
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 י\else\ifnum #2>0\ifnum #1=10 י׳\else ״י\fi\else י\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 כ\else\ifnum #2>0\ifnum #1>20 ״\fi\fi\if #22ך\else כ\fi\ifnum #2>0\ifnum #1=20 ׳\fi\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ל\else\ifnum #2>0\ifnum #1=30 ל׳\else ״ל\fi\else ל\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 מ\else\ifnum #2>0\ifnum #1>40 ״\fi\fi\if #22ם\else מ\fi\ifnum #2>0\ifnum #1=40 ׳\fi\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 נ\else\ifnum #2>0\ifnum #1>50 ״\fi\fi\if #22ן\else נ\fi\ifnum #2>0\ifnum #1=50 ׳\fi\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ס\else\ifnum #2>0\ifnum #1=60 ס׳\else ״ס\fi\else ס\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ע\else\ifnum #2>0\ifnum #1=70 ע׳\else ״ע\fi\else ע\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 פ\else\ifnum #2>0\ifnum #1>80 ״\fi\fi\if #22ף\else פ\fi\ifnum #2>0\ifnum #1=80 ׳\fi\fi\fi
+ \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 צ\else\ifnum #2>0\ifnum #1>90 ״\fi\fi\if #22ץ\else צ\fi\ifnum #2>0\ifnum #1=90 ׳\fi\fi\fi
\fi
+ \ifcase\the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}
+ \hebrew@alph@zero % empty but can be defined if desired
+ \or \ifnum #2>0\ifnum #1=1 א׳\else ״א\fi\else א\fi
+ \or \ifnum #2>0\ifnum #1=2 ב׳\else ״ב\fi\else ב\fi
+ \or \ifnum #2>0\ifnum #1=3 ג׳\else ״ג\fi\else ג\fi
+ \or \ifnum #2>0\ifnum #1=4 ד׳\else ״ד\fi\else ד\fi
+ \or \ifnum #2>0\ifnum #1=5 ה׳\else ״ה\fi\else ה\fi
+ \or \ifnum #2>0\ifnum #1=6 ו׳\else ״ו\fi\else ו\fi
+ \or \ifnum #2>0\ifnum #1=7 ז׳\else ״ז\fi\else ז\fi
+ \or \ifnum #2>0\ifnum #1=8 ח׳\else ״ח\fi\else ח\fi
+ \or \ifnum #2>0\ifnum #1=9 ט׳\else ״ט\fi\else ט\fi
+ \fi\fi\fi
}
-\newif\if@gim@prev % flag if a previous letter has been typeset
-\newcommand*{\gim@print}[2]{% #2 is a letter, #1 is its value.
- \advance\@tempcnta by -#1\relax% deduct the value from the remainder
- \ifnum\@tempcnta=0% if this is the last letter
- \if@gim@prev\if@gim@apost ״\fi#2%
- \else#2\if@gim@apost ׳\fi\fi%
- \else{\@gim@finalfalse#2}\@gim@prevtrue\fi}
-\def\Alphfinal#1{\expandafter\@Alphfinal\csname c@#1\endcsname}%
-\providecommand*{\@Alphfinal}[1]{\Hebrewnumeralfinal{#1}}
+
+\newcommand*\Alphfinal[1]{\expandafter\@Alphfinal\csname c@#1\endcsname}
+\newcommand*\@Alphfinal[1]{\Hebrewnumeralfinal{#1}}
+
% \end{macrocode}
% \iffalse
%</babel-hebrewalph.def>
@@ -10038,9 +10231,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latex.lde}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
-\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/04/22}{v1.62}{polyglossia: module for default language}
+\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/06/10}{v1.63}{polyglossia: module for default language}
\PolyglossiaSetup{latex}{
bcp47=en-US,
@@ -10088,7 +10281,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-acadien.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
@@ -10105,7 +10298,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-aeb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
@@ -10122,7 +10315,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-af.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
@@ -10139,7 +10332,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
@@ -10156,7 +10349,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afrikaans.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
@@ -10192,7 +10385,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\afrikaans@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{afrikaans}%
\declare@shorthand{afrikaans}{"-}{\nobreak-\bbl@allowhyphens}
\declare@shorthand{afrikaans}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
@@ -10205,7 +10398,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\noafrikaans@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\def\captionsafrikaans{%
@@ -10261,7 +10454,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-albanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
@@ -10318,7 +10511,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-am.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
@@ -10335,7 +10528,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-american.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
@@ -10352,7 +10545,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-amharic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
\PolyglossiaSetup{amharic}{
@@ -10572,7 +10765,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-apd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
@@ -10589,7 +10782,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-IQ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
@@ -10608,7 +10801,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-JO.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
@@ -10627,7 +10820,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-LB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
@@ -10646,7 +10839,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-MR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
@@ -10665,7 +10858,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-PS.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
@@ -10684,7 +10877,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-SY.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
@@ -10703,7 +10896,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-YE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
@@ -10722,7 +10915,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
@@ -10739,7 +10932,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arabic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
\RequireBidi
@@ -10782,21 +10975,27 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\define@boolkey{arabic}[arabic@]{abjadalph}[true]{}
\newif\ifeastern@numerals
-\def\tmp@mashriq{mashriq}
-\def\tmp@maghrib{maghrib}
-\define@key{arabic}{numerals}[mashriq]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@mashriq%
- \eastern@numeralstrue%
- \else
- \ifx\@tmpa\tmp@maghrib\eastern@numeralsfalse\fi%
- \fi}
+\define@choicekey*+{arabic}{numerals}[\xpg@val\xpg@nr]{mashriq,maghrib,eastern,western}[mashriq]{%
+ \ifcase\xpg@nr\relax
+ % mashriq:
+ \eastern@numeralstrue%
+ \or
+ % maghrib:
+ \eastern@numeralsfalse
+ \or
+ % eastern:
+ \eastern@numeralstrue%
+ \or
+ % western:
+ \eastern@numeralsfalse
+ \fi
+ \xpg@info{Option: Arabic, numerals=\xpg@val}%
+}{\xpg@warning{Unknown Arabic numerals option `#1'}}
%this is needed for \abjad in arabicnumbers.sty
-\def\tmp@true{true}
-\define@key{arabic}{abjadjimnotail}[true]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@true\abjad@jim@notailtrue%
+\define@boolkey{arabic}[arabic@]{abjadjimnotail}[true]{%
+ \ifarabic@abjadjimnotail
+ \abjad@jim@notailtrue%
\else
\abjad@jim@notailfalse
\fi}
@@ -10842,19 +11041,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{\xpg@warning{Unknown Arabic locale `#1'}}
\newif\if@hijrical
-\def\tmp@hijri{hijri}
-\def\tmp@islamic{islamic}
-\define@key{arabic}{calendar}[gregorian]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@hijri\@hijricaltrue%
- \else
- \ifx\@tmpa\tmp@islamic\@hijricaltrue%
- \else\@hijricalfalse%
- \fi
- \fi}
+\define@choicekey*+{arabic}{calendar}[\xpg@val\xpg@nr]{gregorian,hijri,islamic}[gregorian]{%
+ \ifcase\xpg@nr\relax
+ % gregorian:
+ \@hijricalfalse
+ \or
+ % hijri:
+ \@hijricaltrue
+ \or
+ % islamic:
+ \@hijricaltrue
+ \fi
+ \xpg@info{Option: Arabic, calendar=\xpg@val}%
+}{\xpg@warning{Unknown Arabic calendar option `#1'}}
+
\define@key{arabic}{hijricorrection}[0]{%
- \gdef\@hijri@correction{#1}}%
+ \gdef\arabic@hijri@correction{#1}}%
+
+\newif\ifarabic@customsep\arabic@customsepfalse
+\def\xpg@sepmark{}
+\define@key{arabic}{sectionsep}[.]{%
+ \arabic@customseptrue%
+ \gdef\xpg@sepmark{#1}%
+}
% Register default options
\xpg@initialize@gloss@options{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false}
@@ -10914,7 +11124,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\datearabic{%
\def\today{%
\if@hijrical%
- \Hijritoday[\@hijri@correction]%
+ \Hijritoday[\arabic@hijri@correction]%
\else%
\if@RTL%
\arabicnumber\day\space\@@arabic@month{\month}%
@@ -10933,7 +11143,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\arabicnumber#1{%
\ifeastern@numerals
- \@ensure@dir{\arabicdigits{\number#1}}%
+ \@ensure@LTR{\arabicdigits{\number#1}}%
\else
\number#1%
\fi}
@@ -11015,17 +11225,92 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\@arabic\xpg@save@arabic%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
+\def\arabic@xetex@capsformat{%
+ \let\xpg@save@sepmark\@SepMark%
+ \SepMark{\xpg@sepmark}
+}
-\def\blockextras@arabic{%
- \def\MakeUppercase##1{##1}%
- % TODO disable \@Roman and \@roman ?
+\def\noarabic@xetex@capsformat{%
+ \ifcsdef{xpg@save@sepmark}{%
+ \SepMark{\xpg@save@sepmark}
+ }{}%
}
+\def\arabic@luatex@capsformat{%
+ %
+ % change chapter and part headings
+ \ifarabic@customsep
+ \ifcsdef{chapter}{%
+ \let\xpg@save@thesection\thesection%
+ \renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
+ \let\xpg@save@theequation\theequation%
+ \renewcommand*\theequation{%
+ \ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation}
+ \let\xpg@save@thefigure\thefigure%
+ \renewcommand*\thefigure{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure}
+ \let\xpg@save@thetable\thetable%
+ \renewcommand*\thetable{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
+ }{}
+ \let\xpg@save@thesubsection\thesubsection%
+ \renewcommand\thesubsection
+ {\thesection\xpg@sepmark\@arabic\c@subsection}
+ \let\xpg@save@thesubsubsection\thesubsubsection%
+ \renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection}
+ \let\xpg@save@theparagraph\theparagraph%
+ \renewcommand\theparagraph
+ {\thesubsubsection\xpg@sepmark\@arabic\c@paragraph}
+ \let\xpg@save@thesubparagraph\thesubparagraph%
+ \renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph}
+ \fi% (end \ifarabic@customsep)
+}
+
+\def\noarabic@luatex@capsformat{%
+ \ifcsdef{xpg@save@thesection}{%
+ \let\thesection\xpg@save@thesection%
+ }{}%
+ \ifcsdef{xpg@save@theequation}{%
+ \let\theequation\xpg@save@theequation%
+ }{}%
+ \ifcsdef{xpg@save@thefigure}{%
+ \let\thefigure\xpg@save@thefigure%
+ }{}%
+ \ifcsdef{xpg@save@thetable}{%
+ \let\thetable\xpg@save@thetable%
+ }{}%
+ \ifcsdef{xpg@save@thesubsection}{%
+ \let\thesubsection\xpg@save@thesubsection%
+ \ifcsdef{xpg@save@thesubsubsection}{%
+ \let\thesubsubsection\xpg@save@thesubsubsection%
+ }{}%
+ }{}%
+ \ifcsdef{xpg@save@theparagraph}{%
+ \let\theparagraph\xpg@save@theparagraph%
+ }{}%
+ \ifcsdef{xpg@save@thesubparagraph}{%
+ \let\thesubparagraph\xpg@save@thesubparagraph%
+ }{}%
+}
+
+\def\blockextras@arabic{%
+ \ifarabic@customsep
+ \ifxetex
+ \arabic@xetex@capsformat
+ \else
+ \arabic@luatex@capsformat
+ \fi
+ \fi
+}
+%
\def\noextras@arabic{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase
+ \ifarabic@customsep
+ \ifxetex
+ \noarabic@xetex@capsformat
+ \else
+ \noarabic@luatex@capsformat
+ \fi
+ \fi
}
% \end{macrocode}
@@ -11037,7 +11322,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-armenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
@@ -11083,6 +11368,18 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}%
}
+\define@boolkey{armenian}[armenian@]{capitalyiwn}[true]{%
+ \ifarmenian@capitalyiwn
+ % MakeUppercase capitalizes the ligature of letters ech and yiwn (U+0587)
+ % to capital ech and yiwn (also the output if Armenian is not selected at all)
+ \SetLanguageKeys{armenian}{bcp47-casing=hy-x-yiwn,bcp47-extension-x=yiwn}
+ \else
+ % Capitalize ech and yiwn ligature to capital ech and vew,
+ % following Armenian spelling reform
+ \SetLanguageKeys{armenian}{bcp47-casing=hy,bcp47-extension-x={}}
+ \fi
+}
+
% Register default options
\xpg@initialize@gloss@options{armenian}{numerals=armenian,variant=western}
@@ -11233,7 +11530,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arq.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
@@ -11250,7 +11547,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ary.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
@@ -11267,7 +11564,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
@@ -11284,7 +11581,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ast.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
@@ -11301,7 +11598,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-asturian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
% Translated by Xuacu <xuacusk8 at gmail dot com>
% Contributed by Kevin Godby <godbyk at gmail dot com>
@@ -11361,7 +11658,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-australian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
@@ -11378,7 +11675,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-austrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
@@ -11395,7 +11692,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ayl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
@@ -11412,7 +11709,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
@@ -11429,7 +11726,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
@@ -11447,7 +11744,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
@@ -11465,7 +11762,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-basque.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
\PolyglossiaSetup{basque}{
@@ -11523,7 +11820,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be-tarask.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
@@ -11540,7 +11837,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
@@ -11557,7 +11854,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-belarusian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
@@ -11644,7 +11941,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\belarusian@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{belarusian}%
\declare@shorthand{belarusian}{"`}{„}%
\declare@shorthand{belarusian}{"'}{“}%
@@ -11683,7 +11980,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nobelarusian@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
% Taken from babel-belarusian
@@ -11885,7 +12182,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bengali.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
% Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com>
% TODO implement Bengali calendar
@@ -12026,7 +12323,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bg.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
@@ -12043,7 +12340,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
@@ -12060,7 +12357,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
@@ -12077,7 +12374,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bosnian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
@@ -12141,7 +12438,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-br.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
@@ -12158,7 +12455,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-brazil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
@@ -12177,7 +12474,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-breton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
\PolyglossiaSetup{breton}{
@@ -12285,7 +12582,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-british.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
@@ -12302,7 +12599,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bs.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
@@ -12319,7 +12616,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bulgarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
\PolyglossiaSetup{bulgarian}{
@@ -12421,7 +12718,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ca.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
@@ -12438,7 +12735,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
@@ -12455,7 +12752,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadien.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
@@ -12472,7 +12769,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-catalan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
\PolyglossiaSetup{catalan}{
@@ -12580,14 +12877,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\bbl@L#1#2{\Lgem}
\def\catalan@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{catalan}%
\declare@shorthand{catalan}{"l}{\lgem{}}
\declare@shorthand{catalan}{"L}{\Lgem{}}
}
\def\nocatalan@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\def\captionscatalan{%
@@ -12641,7 +12938,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-chinese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
@@ -12931,7 +13228,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
@@ -12948,7 +13245,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
@@ -12965,7 +13262,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
@@ -12982,7 +13279,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cop.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
@@ -12999,7 +13296,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-coptic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
\PolyglossiaSetup{coptic}{
@@ -13055,7 +13352,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-croatian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
\PolyglossiaSetup{croatian}{
@@ -13134,7 +13431,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\croatian@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{croatian}%
\declare@shorthand{croatian}{"=}{\penalty\@M-\hskip\z@skip}%
\declare@shorthand{croatian}{""}{\hskip\z@skip}%
@@ -13159,7 +13456,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nocroatian@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\ifxetex
@@ -13330,7 +13627,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
@@ -13347,7 +13644,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
@@ -13364,7 +13661,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-czech.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
@@ -13430,7 +13727,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\czech@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{czech}%
\declare@shorthand{czech}{"=}{\czech@splithyphen}%
\declare@shorthand{czech}{"`}{„}%
@@ -13440,7 +13737,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\noczech@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\ifxetex
@@ -13623,7 +13920,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-da.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
@@ -13640,7 +13937,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-danish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
\PolyglossiaSetup{danish}{
@@ -13697,7 +13994,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
@@ -13714,7 +14011,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
@@ -13731,7 +14028,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
@@ -13748,7 +14045,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
@@ -13765,7 +14062,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
@@ -13782,7 +14079,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
@@ -13799,7 +14096,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
@@ -13816,7 +14113,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
@@ -13833,7 +14130,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
@@ -13850,7 +14147,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
@@ -13867,7 +14164,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
@@ -13884,7 +14181,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
@@ -13901,7 +14198,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
@@ -13918,7 +14215,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
@@ -13935,7 +14232,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
@@ -13952,7 +14249,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
@@ -13969,7 +14266,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
@@ -13986,7 +14283,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
@@ -14003,7 +14300,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
@@ -14020,7 +14317,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
@@ -14037,7 +14334,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-divehi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
@@ -14083,18 +14380,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% }
%\def\datedivehi{\def\today{<++>}}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
-
-\def\blockextras@divehi{%
- \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras@divehi{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase%
-}
-
% \end{macrocode}
% \iffalse
%</gloss-divehi.ldf>
@@ -14104,7 +14389,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
@@ -14121,7 +14406,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dutch.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
\PolyglossiaSetup{dutch}{
@@ -14140,8 +14425,10 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\define@boolkey{dutch}[dutch@]{babelshorthands}[true]{}
+\define@boolkey{dutch}[dutch@]{tremahyphenation}[true]{}
+
% Register default options
-\xpg@initialize@gloss@options{dutch}{babelshorthands=false}
+\xpg@initialize@gloss@options{dutch}{babelshorthands=false,tremahyphenation=true}
\ifsystem@babelshorthands
\setkeys{dutch}{babelshorthands=true}
@@ -14155,9 +14442,33 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\shorthandoff{"}%
}{}
+\def\xpg@trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens}
+
+\def\xpg@itrema{%
+ \textormath{\allowhyphens\discretionary{-}{i}{\"{\i}}\allowhyphens}%
+ {\ddot \imath}%
+}
+
+\def\xpg@imtrema{%
+ \textormath{\allowhyphens\discretionary{-}{I}{\"{I}}\allowhyphens}%
+ {\ddot I}%
+}
+
\def\dutch@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{dutch}%
+ \declare@shorthand{dutch}{"a}{\textormath{\xpg@trema{a}}{\ddot a}}%
+ \declare@shorthand{dutch}{"e}{\textormath{\xpg@trema{e}}{\ddot e}}%
+ \declare@shorthand{dutch}{"i}{\xpg@itrema}%
+ \declare@shorthand{dutch}{"o}{\textormath{\xpg@trema{o}}{\ddot o}}%
+ \declare@shorthand{dutch}{"u}{\textormath{\xpg@trema{u}}{\ddot u}}%
+ \declare@shorthand{dutch}{"A}{\textormath{\xpg@trema{A}}{\ddot A}}%
+ \declare@shorthand{dutch}{"E}{\textormath{\xpg@trema{E}}{\ddot E}}%
+ \declare@shorthand{dutch}{"I}{\xpg@imtrema}%
+ \declare@shorthand{dutch}{"O}{\textormath{\xpg@trema{O}}{\ddot O}}%
+ \declare@shorthand{dutch}{"U}{\textormath{\xpg@trema{U}}{\ddot U}}%
+ \declare@shorthand{dutch}{"y}{\textormath{\ij{}}{\ddot y}}%
+ \declare@shorthand{dutch}{"Y}{\textormath{\IJ{}}{\ddot Y}}%
\declare@shorthand{dutch}{"-}{\nobreak-\bbl@allowhyphens}%
\declare@shorthand{dutch}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
\declare@shorthand{dutch}{"|}{%
@@ -14169,10 +14480,86 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nodutch@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
\def\-{\discretionary{-}{}{}}% << original def in latex.ltx
}
+%
+% Support proper hyphenation of tremata: after hyphenation,
+% the trema is omitted, e.g. geëxecuteerd > ge-executeerd
+% We support this by making the respective letters active.
+%
+% Save catcodes of trema characters for later restorage
+\chardef\xpg@saved@auml@catcode\catcode`ä
+\chardef\xpg@saved@euml@catcode\catcode`ë
+\chardef\xpg@saved@iuml@catcode\catcode`ï
+\chardef\xpg@saved@ouml@catcode\catcode`ö
+\chardef\xpg@saved@uuml@catcode\catcode`ü
+\chardef\xpg@saved@Auml@catcode\catcode`Ä
+\chardef\xpg@saved@Euml@catcode\catcode`Ë
+\chardef\xpg@saved@Iuml@catcode\catcode`Ï
+\chardef\xpg@saved@Ouml@catcode\catcode`Ö
+\chardef\xpg@saved@Uuml@catcode\catcode`Ü
+
+% activate trema characters
+\def\dutch@@tremahyph{%
+ \catcode`ä = \active
+ \catcode`ë = \active
+ \catcode`ï = \active
+ \catcode`ö = \active
+ \catcode`ü = \active
+ \catcode`Ä = \active
+ \catcode`Ë = \active
+ \catcode`Ï = \active
+ \catcode`Ö = \active
+ \catcode`Ü = \active
+}
+
+% restore previous catcode of trema characters
+\def\nodutch@@tremahyph{%
+ \catcode`ä = \xpg@saved@auml@catcode
+ \catcode`ë = \xpg@saved@euml@catcode
+ \catcode`ï = \xpg@saved@iuml@catcode
+ \catcode`ö = \xpg@saved@ouml@catcode
+ \catcode`ü = \xpg@saved@uuml@catcode
+ \catcode`Ä = \xpg@saved@Auml@catcode
+ \catcode`Ë = \xpg@saved@Euml@catcode
+ \catcode`Ï = \xpg@saved@Iuml@catcode
+ \catcode`Ö = \xpg@saved@Ouml@catcode
+ \catcode`Ü = \xpg@saved@Uuml@catcode
+}
+
+\bgroup
+\dutch@@tremahyph
+\gdef\dutch@tremahyph{%
+ \dutch@@tremahyph%
+ \def ä{\textormath{\xpg@trema{a}}{\ddot a}}%
+ \def ë{\textormath{\xpg@trema{e}}{\ddot e}}%
+ \def ï{\textormath{\xpg@trema{i}}{\ddot i}}%
+ \def ö{\textormath{\xpg@trema{o}}{\ddot o}}%
+ \def ü{\textormath{\xpg@trema{u}}{\ddot u}}%
+ \def Ä{\textormath{\xpg@trema{A}}{\ddot A}}%
+ \def Ë{\textormath{\xpg@trema{E}}{\ddot E}}%
+ \def Ï{\textormath{\xpg@trema{I}}{\ddot I}}%
+ \def Ö{\textormath{\xpg@trema{O}}{\ddot O}}%
+ \def Ü{\textormath{\xpg@trema{U}}{\ddot U}}%
+}
+
+\gdef\nodutch@tremahyph{%
+ \let ä\relax%
+ \let ë\relax%
+ \let ï\relax%
+ \let ö\relax%
+ \let ü\relax%
+ \let Ä\relax%
+ \let Ë\relax%
+ \let Ï\relax%
+ \let Ö\relax%
+ \let Ü\relax%
+ \nodutch@@tremahyph%
+}
+\egroup
+
\def\captionsdutch{%
\def\prefacename{Voorwoord}%
\def\refname{Referenties}%
@@ -14207,14 +14594,17 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\noextras@dutch{%
\ifdutch@babelshorthands\nodutch@shorthands\fi%
+ \ifdutch@tremahyphenation\nodutch@tremahyph\fi%
}
\def\blockextras@dutch{%
\ifdutch@babelshorthands\dutch@shorthands\else\nodutch@shorthands\fi%
+ \ifdutch@tremahyphenation\dutch@tremahyph\else\nodutch@tremahyph\fi%
}
\def\inlineextras@dutch{%
\ifdutch@babelshorthands\dutch@shorthands\else\nodutch@shorthands\fi%
+ \ifdutch@tremahyphenation\dutch@tremahyph\else\nodutch@tremahyph\fi%
}
% \end{macrocode}
@@ -14226,7 +14616,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
@@ -14243,7 +14633,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el-monoton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
@@ -14260,7 +14650,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el-polyton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
@@ -14277,7 +14667,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
@@ -14294,7 +14684,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-AU.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
@@ -14311,7 +14701,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
@@ -14328,7 +14718,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-GB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
@@ -14345,7 +14735,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-NZ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
@@ -14362,7 +14752,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-US.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
@@ -14379,7 +14769,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
@@ -14396,7 +14786,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-english.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
@@ -14607,7 +14997,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
@@ -14624,7 +15014,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-ES.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
@@ -14641,7 +15031,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-MX.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
@@ -14658,7 +15048,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
@@ -14675,7 +15065,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-esperanto.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
\PolyglossiaSetup{esperanto}{
@@ -14755,7 +15145,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-estonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
\PolyglossiaSetup{estonian}{
@@ -14812,7 +15202,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-et.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
@@ -14829,7 +15219,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
@@ -14846,7 +15236,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
@@ -14863,7 +15253,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-farsi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
@@ -14881,7 +15271,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
@@ -14898,7 +15288,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-finnish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
\PolyglossiaSetup{finnish}{
@@ -14936,7 +15326,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\finnish@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{finnish}%
\declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
\declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
@@ -14948,7 +15338,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nofinnish@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\def\captionsfinnish{%
@@ -15012,13 +15402,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \end{macrocode}
% \iffalse
%</gloss-finnish.ldf>
+%<*gloss-fr-CA-u-sd-canb.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fr-CA-u-sd-canb.ldf}
+% \begin{macrocode}
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
+%
+\ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{french}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fr-CA-u-sd-canb.ldf>
%<*gloss-fr-CA.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-fr-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
@@ -15035,7 +15442,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
@@ -15052,7 +15459,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-FR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
@@ -15069,7 +15476,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
@@ -15086,7 +15493,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-french.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
@@ -15107,11 +15514,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{french}{fr}
\setlanguagealias*[variant=french]{french}{fr-FR}
+\setlanguagealias*[variant=acadian]{french}{fr-CA-u-sd-canb}
\setlanguagealias*[variant=canadian]{french}{fr-CA}
\setlanguagealias*[variant=swiss]{french}{fr-CH}
% Babel aliases
-\setlanguagealias[variant=acadian]{french}{acadien}
+\setlanguagealias[variant=acadian]{french}{acadian}
\setlanguagealias[variant=canadian]{french}{canadien}
\def\french@variant{french}
@@ -15124,7 +15532,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\or
% canadian:
\def\french@variant{canadien}%
- \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
+ \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-caqc}%
\xpg@ifdefined{canadien}{}%
{\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
I will use the standard patterns for French instead}%
@@ -15133,9 +15541,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\or
% acadian:
\def\french@variant{acadian}%
- \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
+ \SetLanguageKeys{french}{babelname=acadian,bcp47=fr-CA-u-sd-canb,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-canb}%
\xpg@ifdefined{acadian}{}%
- {\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
+ {\xpg@warning{No hyphenation patterns were loaded for "French (Canada, Acadian)"\MessageBreak
I will use the standard patterns for French instead}%
\adddialect\l@acadian\l@french\relax}%
\french@thincolonspacefalse
@@ -15175,24 +15583,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\xpg@orig@makefntext\@makefntext
}
-\define@boolkey{french}[french@]{frenchfootnote}[true]{%
- \AfterPreamble{%
- \iffrench@frenchfootnote
- \ifdefstring{\xpg@main@language}{french}{%
- \ifx\@makefntext\undefined\else
- \long\def\french@makefntext##1{%
- \parindent1em \noindent\quad%
- \ifx\@thefnmark\empty\else%
- \@thefnmark.\space\fi ##1%
- }
- \let\@makefntext\french@makefntext
- \fi
- }{\xpg@warning{Option 'frenchfootnote' only supported if French is main language!}}%
- \else
- \let\@makefntext\xpg@orig@makefntext
- \fi
- }%
-}
+\define@boolkey{french}[french@]{frenchfootnote}[true]{}
\define@boolkey{french}[french@]{autospacing}[true]{}
\french@autospacingtrue
@@ -15263,20 +15654,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\french@itemiv{#1}
}
-\define@boolkey{french}[french@]{frenchitemlabels}[true]{%
- \AfterPreamble{%
- \iffrench@frenchitemlabels
- \ifdefstring{\xpg@main@language}{french}{%
- \renewcommand{\labelitemi}{\french@itemi}%
- \renewcommand{\labelitemii}{\french@itemii}%
- \renewcommand{\labelitemiii}{\french@itemiii}%
- \renewcommand{\labelitemiv}{\french@itemiv}%
- }{\xpg@warning{Option 'frenchitemlabels' only supported if French is main language!}}%
- \else
- \let\@makefntext\xpg@orig@makefntext
- \fi
- }%
-}
+\define@boolkey{french}[french@]{frenchitemlabels}[true]{}
% Register default options
\xpg@initialize@gloss@options{french}{variant=french,autospacing=true,thincolonspace=false,
@@ -15553,6 +15931,50 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}% (end \ifdefined\titleformat)
}
+\newif\if@xpg@french@footnote@set
+\@xpg@french@footnote@setfalse
+\def\set@french@footnote{%
+ % Set French footnote once if requested
+ \if@xpg@french@footnote@set%
+ \else%
+ \iffrench@frenchfootnote%
+ \ifdefstring{\xpg@main@language}{french}{%
+ \ifx\@makefntext\undefined\else%
+ \long\def\french@makefntext##1{%
+ \parindent1em \noindent\quad%
+ \ifx\@thefnmark\empty\else%
+ \@thefnmark.\space\fi ##1%
+ }%
+ \let\@makefntext\french@makefntext%
+ \fi%
+ }{\xpg@warning{Option 'frenchfootnote' only supported if French is main language!}}%
+ \else%
+ \let\@makefntext\xpg@orig@makefntext%
+ \fi%
+ \@xpg@french@footnote@settrue%
+ \fi%
+}
+
+\newif\if@xpg@french@itemlabels@set
+\@xpg@french@itemlabels@setfalse
+\def\set@french@itemlabels{%
+ % Set French itemlabels once if requested
+ \if@xpg@french@itemlabels@set%
+ \else%
+ \iffrench@frenchitemlabels
+ \ifdefstring{\xpg@main@language}{french}{%
+ \renewcommand{\labelitemi}{\french@itemi}%
+ \renewcommand{\labelitemii}{\french@itemii}%
+ \renewcommand{\labelitemiii}{\french@itemiii}%
+ \renewcommand{\labelitemiv}{\french@itemiv}%
+ }{\xpg@warning{Option 'frenchitemlabels' only supported if French is main language!}}%
+ \else
+ \let\@makefntext\xpg@orig@makefntext
+ \fi
+ \@xpg@french@itemlabels@settrue%
+ \fi%
+}
+
\def\noextras@french{%
\nofrench@punctuation%
\nofrench@fontsetup%
@@ -15560,11 +15982,17 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\blockextras@french{%
- \iffrench@autospacing
+ % Set French itemlabels and footnote,
+ % if so requested, once in the document body
+ \ifx\@onlypreamble\@notprerr%
+ \set@french@footnote%
+ \set@french@itemlabels%
+ \fi%
+ \iffrench@autospacing%
\french@punctuation%
- \fi
+ \fi%
\french@fontsetup%
- \iffrench@frenchpart
+ \iffrench@frenchpart%
\french@capsformat%
\fi%
}
@@ -15611,7 +16039,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
@@ -15628,7 +16056,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
@@ -15714,7 +16142,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
@@ -15731,7 +16159,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ga.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
@@ -15748,7 +16176,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gaelic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
@@ -15878,7 +16306,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-galician.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
\PolyglossiaSetup{galician}{
@@ -15935,7 +16363,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
@@ -15952,7 +16380,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-georgian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
@@ -16002,7 +16430,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\georgian@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{georgian}%
\declare@shorthand{georgian}{"`}{„}%
\declare@shorthand{georgian}{"'}{“}%
@@ -16040,7 +16468,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nogeorgian@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\def\captionsgeorgian{%
@@ -16200,7 +16628,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-german.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
@@ -16357,6 +16785,17 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@info{Option: German, script=\xpg@val}%
}{\xpg@warning{Unknown German script `#1'}}
+\define@boolkey{german}[german@]{capitaleszett}[true]{%
+ \ifgerman@capitaleszett
+ % MakeUppercase capitalizes the eszett (U+00DF) with U+1E9E
+ \SetLanguageKeys{german}{bcp47-casing=de-x-eszett,bcp47-extension-x=eszett}
+ \else
+ % Capitalize eszett as <SS>
+ \SetLanguageKeys{german}{bcp47-casing=de,bcp47-extension-x={}}
+ \fi
+}
+
+
% Option defunc'ed, as both XeTeX and LuaTeX meanwhile
% use the experimental German hyphenation patterns by default.
\define@boolkey{german}[german@]{latesthyphen}[true]{}
@@ -16385,7 +16824,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\german@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{german}%
\declare@shorthand{german}{"`}{„}%
\declare@shorthand{german}{"'}{“}%
@@ -16425,7 +16864,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nogerman@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\def\captions@german{%
@@ -16538,7 +16977,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-germanb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
@@ -16555,7 +16994,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
@@ -16572,7 +17011,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-grc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
@@ -16589,7 +17028,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-greek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
@@ -16599,6 +17038,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
bcp47-variant=monoton,
bcp47-script=Grek,
bcp47-extension-u=nu-grek,
+ bcp47-casing=el,
script=Greek,
scripttag=grek,
langtag=ELL,
@@ -16627,56 +17067,79 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% this file imported from xgreek fixes the \lccode and \uccode of Greek letters:
\input{xgreek-fixes.def}
-\def\tmp@mono{mono}
-\def\tmp@monotonic{monotonic}
-\def\tmp@poly{poly}
-\def\tmp@polytonic{polytonic}
-\def\tmp@ancient{ancient}
-\def\tmp@ancientgreek{ancientgreek}
-
\def\greek@variant{monogreek}
-\define@key{greek}{variant}[monotonic]{%
- \def\@tmpa{#1}%
- \xpg@ifdefined{greek}{}{%
+\newif\if@greek@ancient\@greek@ancientfalse
+\newif\if@greek@poly\@greek@polyfalse
+
+\define@choicekey*+{greek}{variant}[\xpg@val\xpg@nr]{monotonic,mono,polytonic,poly,ancient,ancientgreek}[monotonic]{%
+ \xpg@ifdefined{greek}{}{%
\xpg@nopatterns{greek}%
\adddialect\l@greek\l@nohyphenation
- }%
- \ifx\@tmpa\tmp@poly\def\@tmpa{polytonic}\fi
- \ifx\@tmpa\tmp@ancientgreek\def\@tmpa{ancient}\fi
- \ifx\@tmpa\tmp@polytonic%
- \xpg@ifdefined{polygreek}{}%
- {\xpg@warning{No hyphenation patterns were loaded for Polytonic Greek\MessageBreak
- I will use the patterns loaded for \string\l@greek\space instead}%
- \adddialect\l@polygreek\l@greek\relax}%
- \def\greek@variant{polygreek}%
- \def\captionsgreek{\polygreekcaptions}%
- \def\dategreek{\datepolygreek}%
- \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
- \xpg@info{Option: Polytonic Greek}%
- \else
- \ifx\@tmpa\tmp@ancient
- \xpg@ifdefined{ancientgreek}{}%
- {\xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
- I will use the patterns loaded for \string\l@greek\space instead}%
- \adddialect\l@ancientgreek\l@greek\relax}%
- \def\greek@variant{ancientgreek}%
- \def\captionsgreek{\ancientgreekcaptions}%
- \def\dategreek{\dateancientgreek}%
- \SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
- \xpg@info{Option: Ancient Greek}%
- \else %monotonic
- \xpg@ifdefined{monogreek}{}%
- {\xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
- I will use the patterns loaded for \string\l@greek\space instead}%
- \adddialect\l@monogreek\l@greek\relax}%
- \def\greek@variant{monogreek}% monotonic
- \def\captionsgreek{\monogreekcaptions}%
- \def\dategreek{\datemonogreek}%
- \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton,bcp47-language=el,bcp47-variant=polyton}%
- \xpg@info{Option: Monotonic Greek}%
- \fi
- \fi}
+ }%
+ \ifcase\xpg@nr\relax
+ % monotonic:
+ \@greek@polyfalse
+ \@greek@ancientfalse
+ \or
+ % mono:
+ \@greek@polyfalse
+ \@greek@ancientfalse
+ \or
+ % polytonic:
+ \@greek@polytrue
+ \@greek@ancientfalse
+ \or
+ % poly:
+ \@greek@polytrue
+ \@greek@ancientfalse
+ \or
+ % ancient:
+ \@greek@polyfalse
+ \@greek@ancienttrue
+ \or
+ % ancientgreek:
+ \@greek@polyfalse
+ \@greek@ancienttrue
+ \fi
+ \greek@set@langdata
+ \xpg@info{Option: Greek, variant=\xpg@val}%
+}{\xpg@warning{Unknown Greek variant `#1'}}
+
+
+\def\greek@set@langdata{%
+ \if@greek@ancient
+ \xpg@ifdefined{ancientgreek}{}%
+ {\xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
+ I will use the patterns loaded for \string\l@greek\space instead}%
+ \adddialect\l@ancientgreek\l@greek\relax}%
+ \def\greek@variant{ancientgreek}%
+ \def\captionsgreek{\ancientgreekcaptions}%
+ \def\dategreek{\dateancientgreek}%
+ \SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
+ \else
+ \if@greek@poly
+ \xpg@ifdefined{polygreek}{}%
+ {\xpg@warning{No hyphenation patterns were loaded for Polytonic Greek\MessageBreak
+ I will use the patterns loaded for \string\l@greek\space instead}%
+ \adddialect\l@polygreek\l@greek\relax}%
+ \def\greek@variant{polygreek}%
+ \def\captionsgreek{\polygreekcaptions}%
+ \def\dategreek{\datepolygreek}%
+ \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
+ \else% monotonic greek
+ \xpg@ifdefined{monogreek}{}%
+ {\xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
+ I will use the patterns loaded for \string\l@greek\space instead}%
+ \adddialect\l@monogreek\l@greek\relax}%
+ \def\greek@variant{monogreek}% monotonic
+ \def\captionsgreek{\monogreekcaptions}%
+ \def\dategreek{\datemonogreek}%
+ \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton,bcp47-language=el,bcp47-variant=monoton}%
+ \fi%
+ \fi%
+}
+
\def\greek@language{%
\polyglossia@setup@language@patterns{\greek@variant}%
@@ -16684,13 +17147,28 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@greek@numerals
-\define@key{greek}{numerals}[greek]{%
- \ifstrequal{#1}{arabic}{%
- \@greek@numeralsfalse%
- \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
- }{\@greek@numeralstrue%
- \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
- }%
+\define@choicekey*+{greek}{numerals}[\xpg@val\xpg@nr]{greek,arabic}[greek]{%
+ \ifcase\xpg@nr\relax
+ % greek:
+ \@greek@numeralstrue%
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
+ \or
+ % arabic:
+ \@greek@numeralsfalse%
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
+ \fi
+ \xpg@info{Option: Greek, numerals=\xpg@val}%
+}{\xpg@warning{Unknown Greek numerals value `#1'}}
+
+
+\define@boolkey{greek}[greek@]{capitaliota}[true]{%
+ \ifgreek@capitaliota
+ % \MakeUppercase converts the ypogegrammeni (subscript muted iota) to capital iota
+ \SetLanguageKeys{greek}{bcp47-casing=el-x-iota,bcp47-extension-x=iota}
+ \else
+ % \MakeUppercase retains the subscript versions (default)
+ \SetLanguageKeys{greek}{bcp47-casing=el,bcp47-extension-x={}}
+ \fi
}
\define@boolkey{greek}{attic}[true]{\xpg@warning{Greek option `attic' is no longer required.}}
@@ -17018,7 +17496,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-he.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
@@ -17035,7 +17513,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hebrew.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
@@ -17153,24 +17631,24 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\ifxetex
+ % Bidi inserts an RTL mark (0x200f) between number and number separator (- .),
+ % forcing numbers to RTL. This is wrong for Hebrew.
+ % So we defunc the respective command with XeTeX.
\let\xpg@orig@DigitsDotDashInterCharToks\DigitsDotDashInterCharToks%
-\fi
-\def\hebrew@ltr@numbers{%
- \ifxetex
- % Bidi inserts an RTL mark (0x200f) between number and number separator (- .),
- % forcing numbers to RTL. This is wrong for Hebrew.
- % So we defunc the respective command.
- \renewcommand*{\DigitsDotDashInterCharToks}{}%
- \fi%
-}
+ \def\hebrew@ltr@numbers{%
+ \renewcommand*{\DigitsDotDashInterCharToks}{}%
+ }
-\def\nohebrew@ltr@numbers{%
- \ifxetex
- % Restore bidi's \DigitsDotDashInterCharToks
- \let\DigitsDotDashInterCharToks\xpg@orig@DigitsDotDashInterCharToks%
- \fi%
-}
+ \def\nohebrew@ltr@numbers{%
+ % Restore bidi's \DigitsDotDashInterCharToks
+ \let\DigitsDotDashInterCharToks\xpg@orig@DigitsDotDashInterCharToks%
+ }
+\else
+ % Only dummy commands (nothing to do here) for LuaTeX
+ \def\hebrew@ltr@numbers{}
+ \def\nohebrew@ltr@numbers{}
+\fi%
\def\hebrew@numbers{%
\let\@alph\hebrewnumeral%
@@ -17183,7 +17661,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\@alph\latin@alph%
\let\@Alph\latin@Alph%
% Restore previous bidi numbers definition
- \nohebrew@ltr@numbers
+ \nohebrew@ltr@numbers%
}
\def\hebrew@globalnumbers{%
@@ -17200,18 +17678,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\@arabic\xpg@save@arabic%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
-
-\def\blockextras@hebrew{%
- \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras@hebrew{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase%
-}
-
% \end{macrocode}
% \iffalse
%</gloss-hebrew.ldf>
@@ -17221,7 +17687,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
@@ -17238,7 +17704,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hindi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
% UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
% with corrections and additional contributions by Anshuman Pandey
@@ -17348,18 +17814,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\space\hindinumber\year}%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
-
-\def\blockextras@hindi{%
- \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras@hindi{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase%
-}
-
% \end{macrocode}
% \iffalse
%</gloss-hindi.ldf>
@@ -17369,7 +17823,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
@@ -17386,7 +17840,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
@@ -17403,7 +17857,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
@@ -17420,7 +17874,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hungarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
@@ -17819,7 +18273,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
@@ -17836,7 +18290,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
@@ -17853,7 +18307,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-icelandic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
\PolyglossiaSetup{icelandic}{
@@ -17911,7 +18365,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-id.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
@@ -17928,7 +18382,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-interlingua.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
\PolyglossiaSetup{interlingua}{
@@ -17986,7 +18440,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-irish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
@@ -18004,7 +18458,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-is.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
@@ -18021,7 +18475,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-it.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
@@ -18039,7 +18493,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-italian.ldf}
% \begin{macrocode}
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
\PolyglossiaSetup{italian}{
@@ -18078,7 +18532,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\italian@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{italian}%
\declare@shorthand{italian}{"}{%
\relax\ifmmode
@@ -18118,7 +18572,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpgit@@next}
\def\noitalian@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
%%% CHANGES END %%%
@@ -18191,7 +18645,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ja.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
@@ -18208,7 +18662,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-japanese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
@@ -18446,7 +18900,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ka.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
@@ -18464,7 +18918,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-kannada.ldf}
% \begin{macrocode}
%% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+%% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%%
%% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
%% Shankar Prasad <prasad.mvs AT gmail.com>,
@@ -18587,7 +19041,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-khmer.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
\PolyglossiaSetup{khmer}{
@@ -18764,7 +19218,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-km.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
@@ -18781,7 +19235,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
@@ -18798,7 +19252,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
@@ -18815,7 +19269,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
@@ -18832,7 +19286,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
@@ -18849,7 +19303,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
@@ -18866,7 +19320,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-korean.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
@@ -18982,9 +19436,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\if@korean@swapheadings
% With titlesec
\ifcsdef{titleformat}{%
- \ifcsdef{H@old@part}{% Hyperref
- \let\xpg@save@part@format\H@old@part
- \patchcmd{\H@old@part}%
+ \ifcsdef{NR@part}{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part
+ \patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
{}%
@@ -19023,9 +19477,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\IfChapterUsesPrefixLine
{%
\ifx\@chapapp\korean@appendix@chapapp
- \chapappifchapterprefix\nobreakspace \thechapter\autodot
+ \chapapp\nobreakspace \thechapter\autodot
\else
- \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapappifchapterprefix{}%
+ \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapapp\autodot
\fi
}%
{\thechapter\autodot\enskip}%
@@ -19053,9 +19507,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
{\chapnamefont\koreanTHEname\chapternamenum}{}}%
\fi
}{}%
- \ifcsdef{H@old@part}{% Hyperref
- \let\xpg@save@part@format\H@old@part
- \patchcmd{\H@old@part}%
+ \ifcsdef{NR@part}{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part
+ \patchcmd{\NR@part}%
{\printpartname \partnamenum \printpartnum}%
{\printkoreanpartthe \printpartnum\partnamenum \printpartname}%
{}%
@@ -19092,9 +19546,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
{}%
{\xpg@warning{Failed to patch chapter for Korean}}%
}{}%
- \ifcsdef{H@old@part}{% Hyperref
- \let\xpg@save@part@format\H@old@part
- \patchcmd{\H@old@part}%
+ \ifcsdef{NR@part}{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part
+ \patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
{}%
@@ -19126,9 +19580,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\IfChapterUsesPrefixLine
{%
\ifx\@chapapp\korean@appendix@chapapp
- \chapappifchapterprefix\ \thechapter\autodot
+ \chapapp\ \thechapter\autodot
\else
- \koreanTHEname\ \thechapter\ \chapappifchapterprefix{}%
+ \koreanTHEname\ \thechapter\ \chapapp\autodot
\fi
}%
{\thechapter\autodot}%
@@ -19178,8 +19632,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcsdef{titleformat}{%
% With titlesec
\ifcsdef{xpg@save@part@format}{%
- \ifcsdef{H@old@part}{%
- \let\H@old@part\xpg@save@part@format
+ \ifcsdef{NR@part}{%
+ \let\NR@part\xpg@save@part@format
}{%
\let\@part\xpg@save@part@format
}%
@@ -19201,8 +19655,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{%
% With memoir and standard classes
\ifcsdef{xpg@save@part@format}{%
- \ifcsdef{H@old@part}{%
- \let\H@old@part\xpg@save@part@format
+ \ifcsdef{NR@part}{%
+ \let\NR@part\xpg@save@part@format
}{%
\let\@part\xpg@save@part@format
}%
@@ -19346,7 +19800,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
@@ -19363,7 +19817,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
@@ -19380,7 +19834,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
@@ -19397,7 +19851,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurdish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
% Created on September 1, 2019
% Last updated on May 17, 2020
@@ -19426,13 +19880,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{kurdish}{ku}
-\setlanguagealias*[variant=kurmanji,script=Latin]{kurdish}{kmr-Latn}
+\setlanguagealias*[variant=kurmanji,script=latin]{kurdish}{kmr-Latn}
\setlanguagealias*[variant=sorani]{kurdish}{ckb}
-\setlanguagealias*[variant=kurmanji,script=Arabic]{kurdish}{kmr-Arab}
-\setlanguagealias*[script=Latin]{kurdish}{ku-Latn}
-\setlanguagealias*[variant=sorani,script=Arabic]{kurdish}{ckb-Arab}
-\setlanguagealias*[variant=sorani,script=Latin]{kurdish}{ckb-Latn}
-\setlanguagealias*[script=Arabic]{kurdish}{ku-Arab}
+\setlanguagealias*[variant=kurmanji,script=arabic]{kurdish}{kmr-Arab}
+\setlanguagealias*[script=latin]{kurdish}{ku-Latn}
+\setlanguagealias*[variant=sorani,script=arabic]{kurdish}{ckb-Arab}
+\setlanguagealias*[variant=sorani,script=latin]{kurdish}{ckb-Latn}
+\setlanguagealias*[script=arabic]{kurdish}{ku-Arab}
\setlanguagealias*[variant=kurmanji]{kurdish}{kmr}
% Babel aliases
@@ -19456,13 +19910,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@kurdish@latin
\newif\if@kurdish@arabic
-\define@choicekey*+{kurdish}{script}[\xpg@val\xpg@nr]{Arabic,Latin}{%
+\define@choicekey*+{kurdish}{script}[\xpg@val\xpg@nr]{arabic,latin}{%
\ifcase\xpg@nr\relax
- % Arabic:
+ % arabic:
\@kurdish@latinfalse%
\@kurdish@arabictrue%
\or
- % Latin:
+ % latin:
\@kurdish@latintrue%
\@kurdish@arabicfalse%
\fi
@@ -19477,7 +19931,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\kurdish@pattern{nohyphenation}
\def\kurdish@set@variety{%
- \if@kurdish@latin% Latin explicitly set
+ \if@kurdish@latin% latin explicitly set
\@western@numeralstrue%
\if@kurdish@kurmanji
\def\kurdish@pattern{kurmanji}%
@@ -19488,7 +19942,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\kurdish@script{latin}
\xpg@fontsetup@latin{kurdish}%
\else
- \if@kurdish@arabic% Arabic explicitly set
+ \if@kurdish@arabic% arabic explicitly set
\if@kurdish@kurmanji
\if@force@western@numerals\else\@western@numeralsfalse\fi%
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab,bcp47-language=kmr,bcp47-script=Arab,bcp47-casing=kmr-Arab}%
@@ -19497,7 +19951,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
\xpg@fontsetup@nonlatin{kurdish}%
- \else% sorani=Arabic, kurmanji=Latin
+ \else% sorani=arabic, kurmanji=latin
\if@kurdish@kurmanji
\@western@numeralstrue%
\SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
@@ -19511,19 +19965,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\fi
}
-\def\tmp@western{western}
-\define@key{kurdish}{numerals}[eastern]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western\@western@numeralstrue\@force@western@numeralstrue\else%
- \@western@numeralsfalse%
- \fi%
+\newif\if@western@numerals
+\define@choicekey*+{kurdish}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
+ \ifcase\xpg@nr\relax
+ % eastern:
+ \@western@numeralsfalse%
+ \or
+ % western:
+ \@western@numeralstrue%
+ \@force@western@numeralstrue%
+ \fi
+ \xpg@info{Option: Kurdish, numerals=\xpg@val}%
+}{\xpg@warning{Unknown Kurdish numerals option `#1'}}
+
+\newif\ifkurdish@customsep\kurdish@customsepfalse
+\def\xpg@sepmark{}
+\define@key{kurdish}{sectionsep}[.]{%
+ \kurdish@customseptrue%
+ \gdef\xpg@sepmark{#1}%
}
%this is needed for \abjad in arabicnumbers.sty
-\def\tmp@true{true}
-\define@key{kurdish}{abjadjimnotail}[true]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@true\abjad@jim@notailtrue%
+\define@boolkey{kurdish}[kurdish@]{abjadjimnotail}[true]{%
+ \ifkurdish@abjadjimnotail
+ \abjad@jim@notailtrue%
\else
\abjad@jim@notailfalse
\fi%
@@ -19536,7 +20001,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%TODO add option for CALENDAR
% Register default options
-\xpg@initialize@gloss@options{kurdish}{variant=sorani,locale=default,script=Arabic,abjadjimnotail=false,numerals=eastern}
+\xpg@initialize@gloss@options{kurdish}{variant=sorani,locale=default,script=arabic,abjadjimnotail=false,numerals=eastern}
\def\kurdish@language{%
\polyglossia@setup@language@patterns{\kurdish@pattern}%
@@ -19749,8 +20214,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\number#1%
\else
\xpg@if@char@available{06F0}%
- {\farsidigits{\number#1}}%
- {\arabicdigits{\number#1}}%
+ {\@ensure@LTR{\farsidigits{\number#1}}}%
+ {\@ensure@LTR{\arabicdigits{\number#1}}}%
\fi
}
@@ -19786,15 +20251,92 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
+\def\kurdish@xetex@capsformat{%
+ \let\xpg@save@sepmark\@SepMark%
+ \SepMark{\xpg@sepmark}
+}
-\def\blockextras@kurdish{%
- \def\MakeUppercase##1{##1}%
+\def\nokurdish@xetex@capsformat{%
+ \ifcsdef{xpg@save@sepmark}{%
+ \SepMark{\xpg@save@sepmark}
+ }{}%
}
+\def\kurdish@luatex@capsformat{%
+ %
+ % change chapter and part headings
+ \ifkurdish@customsep
+ \ifcsdef{chapter}{%
+ \let\xpg@save@thesection\thesection%
+ \renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
+ \let\xpg@save@theequation\theequation%
+ \renewcommand*\theequation{%
+ \ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation}
+ \let\xpg@save@thefigure\thefigure%
+ \renewcommand*\thefigure{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure}
+ \let\xpg@save@thetable\thetable%
+ \renewcommand*\thetable{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
+ }{}
+ \let\xpg@save@thesubsection\thesubsection%
+ \renewcommand\thesubsection
+ {\thesection\xpg@sepmark\@arabic\c@subsection}
+ \let\xpg@save@thesubsubsection\thesubsubsection%
+ \renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection}
+ \let\xpg@save@theparagraph\theparagraph%
+ \renewcommand\theparagraph
+ {\thesubsubsection\xpg@sepmark\@arabic\c@paragraph}
+ \let\xpg@save@thesubparagraph\thesubparagraph%
+ \renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph}
+ \fi% (end \ifkurdish@customsep)
+}
+
+\def\nokurdish@luatex@capsformat{%
+ \ifcsdef{xpg@save@thesection}{%
+ \let\thesection\xpg@save@thesection%
+ }{}%
+ \ifcsdef{xpg@save@theequation}{%
+ \let\theequation\xpg@save@theequation%
+ }{}%
+ \ifcsdef{xpg@save@thefigure}{%
+ \let\thefigure\xpg@save@thefigure%
+ }{}%
+ \ifcsdef{xpg@save@thetable}{%
+ \let\thetable\xpg@save@thetable%
+ }{}%
+ \ifcsdef{xpg@save@thesubsection}{%
+ \let\thesubsection\xpg@save@thesubsection%
+ \ifcsdef{xpg@save@thesubsubsection}{%
+ \let\thesubsubsection\xpg@save@thesubsubsection%
+ }{}%
+ }{}%
+ \ifcsdef{xpg@save@theparagraph}{%
+ \let\theparagraph\xpg@save@theparagraph%
+ }{}%
+ \ifcsdef{xpg@save@thesubparagraph}{%
+ \let\thesubparagraph\xpg@save@thesubparagraph%
+ }{}%
+}
+
+\def\blockextras@kurdish{%
+ \ifkurdish@customsep
+ \ifxetex
+ \kurdish@xetex@capsformat
+ \else
+ \kurdish@luatex@capsformat
+ \fi
+ \fi
+}
+%
\def\noextras@kurdish{%
- \let\MakeUppercase\xpg@save@MakeUppercase%
+ \ifkurdish@customsep
+ \ifxetex
+ \nokurdish@xetex@capsformat
+ \else
+ \nokurdish@luatex@capsformat
+ \fi
+ \fi
}
% \end{macrocode}
@@ -19806,7 +20348,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurmanji.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
@@ -19823,7 +20365,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-classic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
@@ -19840,7 +20382,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-ecclesia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
@@ -19857,7 +20399,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-medieval.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
@@ -19874,7 +20416,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
@@ -19891,7 +20433,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lao.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
@@ -20002,7 +20544,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
@@ -20412,7 +20954,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
\str_set:Nn \l_polyglossia_latin_variant_str {medieval}
- \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval, bcp47-extension-x = medieval }
+ \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval, bcp47-extension-x = medieval, bcp47-casing = la-x-medieval }
\polyglossia_latin_use_modern_patterns:
}
@@ -20674,7 +21216,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\cs_new:Npn \polyglossia_latin_shorthands:
{
\def \language@group {latin}
- \bbl@activate {"}
+ \xpg@activate@shorthands ["]
\declare@shorthand {latin} {"}
{
\mode_if_math:TF
@@ -20688,7 +21230,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% The ' shorthand is normally turned off to avoid problems with the unicode-math
% package. We have to turn it on here.
\shorthandon {'}
- \bbl@activate {'}
+ \xpg@activate@shorthands [']
\declare@shorthand {latin} {'}
{
\mode_if_math:TF
@@ -20992,8 +21534,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\cs_new:Npn \polyglossia_latin_no_shorthands:
{
- \bbl@deactivate {"}
- \bbl@deactivate {'}
+ \xpg@deactivate@shorthands ["]
+ \xpg@deactivate@shorthands [']
}
\cs_new:Npn \polyglossia_latin_no_prosodic_shorthands:
@@ -21117,7 +21659,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinclassic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
@@ -21134,7 +21676,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinecclesiastic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
@@ -21151,7 +21693,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinmedieval.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
@@ -21168,7 +21710,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latvian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
\PolyglossiaSetup{latvian}{
@@ -21226,7 +21768,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lithuanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
% Translated by Paulius Sladkevičius <komsas@gmail.com>
@@ -21239,7 +21781,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
hyphennames={lithuanian},
hyphenmins={2,2},
langtag=LTH,
- indentfirst=true, % TODO Dokumentų rengimo taisyklių, patvirtintų Lietuvos vyriausiojo archyvaro 2011 m. liepos 4 d. įsakymu Nr. V-117, 29.1 punktą
+ indentfirst=true,
fontsetup=true
}
@@ -21251,23 +21793,23 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\refname{Literatūra}%
\def\abstractname{Santrauka}%
\def\bibname{Literatūra}%
- \def\chaptername{Skyrius}% TODO letter case
+ \def\chaptername{Skyrius}%
\def\appendixname{Priedas}%
\def\contentsname{Turinys}%
\def\listfigurename{Iliustracijų sąrašas}%
\def\listtablename{Lentelių sąrašas}%
\def\indexname{Rodyklė}%
\def\figurename{pav.}%
- \def\tablename{lentelė}% TODO any special reason for \protect in babel?
+ \def\tablename{lentelė}%
\def\partname{Dalis}%
\def\enclname{Įdėta}%
\def\ccname{Kopijos}%
\def\headtoname{Kam}% TODO empty in babel?
\def\pagename{puslapis}%
\def\seename{žiūrėk}%
- \def\alsoname{taip pat}% TODO some other variants are considered in babel?
+ \def\alsoname{taip pat}%
\def\proofname{Įrodymas}%
- \def\glossaryname{Terminų žodynas}% TODO some other variants are considered in babel?
+ \def\glossaryname{Terminų žodynas}%
}
\def\datelithuanian{%
@@ -21308,7 +21850,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
@@ -21325,7 +21867,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lowersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
@@ -21342,7 +21884,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lsorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
@@ -21360,7 +21902,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lt.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
@@ -21377,7 +21919,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
@@ -21394,7 +21936,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-macedonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
\PolyglossiaSetup{macedonian}{
@@ -21493,7 +22035,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-magyar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
@@ -21510,7 +22052,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malay.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
@@ -21709,7 +22251,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malayalam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
@@ -21779,7 +22321,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-marathi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
% Translations provided by Abhijit Navale <abhi_navale@live.in>
% Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe@gmail.com> on 14th December, 2019
@@ -21929,7 +22471,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
@@ -21946,7 +22488,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ml.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
@@ -21963,7 +22505,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
@@ -21980,7 +22522,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mongolian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
@@ -22051,7 +22593,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\mongolian@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{mongolian}%
\declare@shorthand{mongolian}{"`}{„}%
\declare@shorthand{mongolian}{"'}{“}%
@@ -22090,7 +22632,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nomongolian@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
% Taken from babel-mongolian
@@ -22219,7 +22761,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
@@ -22236,7 +22778,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-naustrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
@@ -22253,7 +22795,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
@@ -22270,7 +22812,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-newzealand.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
@@ -22287,7 +22829,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ngerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
@@ -22304,7 +22846,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
\PolyglossiaSetup{nko}{%
@@ -22402,7 +22944,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
@@ -22420,7 +22962,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norwegian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
\PolyglossiaSetup{norwegian}{
@@ -22547,7 +23089,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nswissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
@@ -22564,7 +23106,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nynorsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
@@ -22582,7 +23124,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-occitan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
%%
%% This is file `gloss-occitan.ldf',
@@ -22633,7 +23175,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\occitan@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{occitan}%
\declare@shorthand{occitan}{"}{%
\relax\ifmmode
@@ -22670,9 +23212,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\fi
\fi
\fi
- \xpgoc@@next}
+ \xpgoc@@next%
+}
+
\def\nooccitan@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\def\captionsoccitan{%
\def\refname{Referéncias}%
@@ -22761,7 +23305,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-pa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
@@ -22778,7 +23322,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-persian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
@@ -22807,22 +23351,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias{persian}{farsi}
\newif\if@western@numerals
-\def\tmp@western{western}
-\define@key{persian}{numerals}[eastern]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western%
- \@western@numeralstrue%
- \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
- \else%
- \@western@numeralsfalse%
- \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
- \fi}
+\define@choicekey*+{persian}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
+ \ifcase\xpg@nr\relax
+ % eastern:
+ \@western@numeralsfalse%
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
+ \or
+ % western:
+ \@western@numeralstrue%
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
+ \fi
+ \xpg@info{Option: Persian, numerals=\xpg@val}%
+}{\xpg@warning{Unknown Persian numerals option `#1'}}
+
+\newif\ifpersian@customsep\persian@customsepfalse
+\def\xpg@sepmark{}
+\define@key{persian}{sectionsep}[.]{%
+ \persian@customseptrue%
+ \gdef\xpg@sepmark{#1}%
+}
%this is needed for \abjad in arabicnumbers.sty
-\def\tmp@true{true}
-\define@key{persian}{abjadjimnotail}[true]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@true\abjad@jim@notailtrue%
+\define@boolkey{persian}[persian@]{abjadjimnotail}[true]{%
+ \ifpersian@abjadjimnotail
+ \abjad@jim@notailtrue%
\else
\abjad@jim@notailfalse
\fi}
@@ -22880,8 +23432,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\number#1%
\else
\xpg@if@char@available{06F0}%
- {\farsidigits{\number#1}}%
- {\arabicdigits{\number#1}}%
+ {\@ensure@LTR{\farsidigits{\number#1}}}%
+ {\@ensure@LTR{\arabicdigits{\number#1}}}%
\fi
}
@@ -22913,17 +23465,94 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\@arabic\xpg@save@arabic%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
+\def\persian@xetex@capsformat{%
+ \let\xpg@save@sepmark\@SepMark%
+ \SepMark{\xpg@sepmark}
+}
-\def\blockextras@persian{%
- \def\MakeUppercase##1{##1}%
+\def\nopersian@xetex@capsformat{%
+ \ifcsdef{xpg@save@sepmark}{%
+ \SepMark{\xpg@save@sepmark}
+ }{}%
}
+\def\persian@luatex@capsformat{%
+ %
+ % change chapter and part headings
+ \ifpersian@customsep
+ \ifcsdef{chapter}{%
+ \let\xpg@save@thesection\thesection%
+ \renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
+ \let\xpg@save@theequation\theequation%
+ \renewcommand*\theequation{%
+ \ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation}
+ \let\xpg@save@thefigure\thefigure%
+ \renewcommand*\thefigure{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure}
+ \let\xpg@save@thetable\thetable%
+ \renewcommand*\thetable{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
+ }{}
+ \let\xpg@save@thesubsection\thesubsection%
+ \renewcommand\thesubsection
+ {\thesection\xpg@sepmark\@arabic\c@subsection}
+ \let\xpg@save@thesubsubsection\thesubsubsection%
+ \renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection}
+ \let\xpg@save@theparagraph\theparagraph%
+ \renewcommand\theparagraph
+ {\thesubsubsection\xpg@sepmark\@arabic\c@paragraph}
+ \let\xpg@save@thesubparagraph\thesubparagraph%
+ \renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph}
+ \fi% (end \ifpersiancustomsep)
+}
+
+\def\nopersian@luatex@capsformat{%
+ \ifcsdef{xpg@save@thesection}{%
+ \let\thesection\xpg@save@thesection%
+ }{}%
+ \ifcsdef{xpg@save@theequation}{%
+ \let\theequation\xpg@save@theequation%
+ }{}%
+ \ifcsdef{xpg@save@thefigure}{%
+ \let\thefigure\xpg@save@thefigure%
+ }{}%
+ \ifcsdef{xpg@save@thetable}{%
+ \let\thetable\xpg@save@thetable%
+ }{}%
+ \ifcsdef{xpg@save@thesubsection}{%
+ \let\thesubsection\xpg@save@thesubsection%
+ \ifcsdef{xpg@save@thesubsubsection}{%
+ \let\thesubsubsection\xpg@save@thesubsubsection%
+ }{}%
+ }{}%
+ \ifcsdef{xpg@save@theparagraph}{%
+ \let\theparagraph\xpg@save@theparagraph%
+ }{}%
+ \ifcsdef{xpg@save@thesubparagraph}{%
+ \let\thesubparagraph\xpg@save@thesubparagraph%
+ }{}%
+}
+
+\def\blockextras@persian{%
+ \ifpersian@customsep
+ \ifxetex
+ \persian@xetex@capsformat
+ \else
+ \persian@luatex@capsformat
+ \fi
+ \fi
+}
+%
\def\noextras@persian{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase
+ \ifpersian@customsep
+ \ifxetex
+ \nopersian@xetex@capsformat
+ \else
+ \nopersian@luatex@capsformat
+ \fi
+ \fi
}
+
% \end{macrocode}
% \iffalse
%</gloss-persian.ldf>
@@ -22934,7 +23563,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-piedmontese.ldf}
% \begin{macrocode}
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
\makeatletter
@@ -22967,7 +23596,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\piedmontese@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{piedmontese}%
\declare@shorthand{piedmontese}{"}{%
\relax\ifmmode
@@ -22997,7 +23626,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpgpms@@next}
\def\nopiedmontese@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\@namedef{captions\CurrentOption}{%
\def\prefacename{Prefassion}%
@@ -23064,7 +23693,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
@@ -23129,7 +23758,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\polish@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{polish}%
\declare@shorthand{polish}{"=}{\polish@splhyphen}%
\declare@shorthand{polish}{""}{\hskip\z@skip}%
@@ -23148,7 +23777,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nopolish@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\ifxetex
@@ -23322,7 +23951,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polutonikogreek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
@@ -23339,7 +23968,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuges.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
@@ -23359,7 +23988,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuguese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
@@ -23447,7 +24076,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\portuguese@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{portuguese}%
\declare@shorthand{portuguese}{"=}{\portuguese@splhyphen}%
\declare@shorthand{portuguese}{""}{\hskip\z@skip}%
@@ -23464,7 +24093,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\noportuguese@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\ifxetex
@@ -23589,7 +24218,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-punjabi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
% UTF-8 strings kindly provided by
% Arvinder Singh Kang, <17-11-2022>
@@ -23688,18 +24317,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\space\punjabinumber\year}%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
-
-\def\blockextras@punjabi{%
- \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras@punjabi{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase%
-}
-
% \end{macrocode}
% \iffalse
%</gloss-punjabi.ldf>
@@ -23709,7 +24326,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
@@ -23768,7 +24385,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romansh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
\makeatletter
@@ -23826,7 +24443,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-russian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
@@ -23934,7 +24551,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\russian@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{russian}%
% \declare@shorthand{russian}{"`}{„}%
% \declare@shorthand{russian}{"'}{“}%
@@ -23972,7 +24589,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\norussian@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
@@ -24225,7 +24842,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sami.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
@@ -24329,7 +24946,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-samin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
@@ -24347,7 +24964,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sanskrit.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
@@ -24368,55 +24985,55 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{sanskrit}{sa}
-\setlanguagealias*[script=Devanagari]{sanskrit}{sa-Deva}
-\setlanguagealias*[script=Malayalam]{sanskrit}{sa-Mlym}
-\setlanguagealias*[script=Telugu]{sanskrit}{sa-Telu}
-\setlanguagealias*[script=Bengali]{sanskrit}{sa-Beng}
-\setlanguagealias*[script=Kannada]{sanskrit}{sa-Knda}
-\setlanguagealias*[script=Gujarati]{sanskrit}{sa-Gujr}
-\setlanguagealias*[script=Latin]{sanskrit}{sa-Latn}
-
-\define@key{sanskrit}{Script}[Devanagari]{%
+\setlanguagealias*[script=devanagari]{sanskrit}{sa-Deva}
+\setlanguagealias*[script=malayalam]{sanskrit}{sa-Mlym}
+\setlanguagealias*[script=telugu]{sanskrit}{sa-Telu}
+\setlanguagealias*[script=bengali]{sanskrit}{sa-Beng}
+\setlanguagealias*[script=kannada]{sanskrit}{sa-Knda}
+\setlanguagealias*[script=gujarati]{sanskrit}{sa-Gujr}
+\setlanguagealias*[script=latin]{sanskrit}{sa-Latn}
+
+\define@key{sanskrit}{Script}[devanagari]{%
\ifcsdef{fontsetup@sanskrit@#1}%
{\csname fontsetup@sanskrit@#1\endcsname}%
{\xpg@error{`#1' is not a valid script for Sanskrit}%
}%
}
-\define@key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}}
+\define@key{sanskrit}{script}[devanagari]{\setkeys{sanskrit}{Script=#1}}
-\def\fontsetup@sanskrit@Devanagari{%
+\def\fontsetup@sanskrit@devanagari{%
\SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}
\xpg@fontsetup@nonlatin{sanskrit}}
-\def\fontsetup@sanskrit@Gujarati{%
+\def\fontsetup@sanskrit@gujarati{%
\SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}
\xpg@fontsetup@nonlatin{sanskrit}}
-\def\fontsetup@sanskrit@Malayalam{%
+\def\fontsetup@sanskrit@malayalam{%
\SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}
\xpg@fontsetup@nonlatin{sanskrit}}
-\def\fontsetup@sanskrit@Bengali{%
+\def\fontsetup@sanskrit@bengali{%
\SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}
\xpg@fontsetup@nonlatin{sanskrit}}
-\def\fontsetup@sanskrit@Kannada{%
+\def\fontsetup@sanskrit@kannada{%
\SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}
\xpg@fontsetup@nonlatin{sanskrit}}
-\def\fontsetup@sanskrit@Telugu{%
+\def\fontsetup@sanskrit@telugu{%
\SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}
\xpg@fontsetup@nonlatin{sanskrit}}
-\def\fontsetup@sanskrit@Latin{%
+\def\fontsetup@sanskrit@latin{%
\SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
\xpg@fontsetup@latin{sanskrit}}
\newif\ifsanskrit@devanagari@numerals
\sanskrit@devanagari@numeralstrue
-\define@choicekey*+{sanskrit}{numerals}[\xpg@val\xpg@nr]{Devanagari,Western}[Devanagari]{%
+\define@choicekey*+{sanskrit}{numerals}[\xpg@val\xpg@nr]{devanagari,western}[devanagari]{%
\ifcase\xpg@nr\relax
- % Devanagari:
+ % devanagari:
\sanskrit@devanagari@numeralstrue%
\SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
\or
- % Western:
+ % western:
\sanskrit@devanagari@numeralsfalse%
\SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
\fi
@@ -24425,7 +25042,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% Register default options
-\xpg@initialize@gloss@options{sanskrit}{script=Devanagari,numerals=Devanagari}
+\xpg@initialize@gloss@options{sanskrit}{script=devanagari,numerals=devanagari}
% Use \providecommand here as the ldf file might
% be reloaded via BCP.
@@ -24506,7 +25123,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-scottish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
@@ -24524,7 +25141,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -24537,6 +25154,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{serbian}{
bcp47=sr-Latn,
bcp47-language=sr,
+ bcp47-variant=ekavsk,
bcp47-script=Latn,
bcp47-casing=sr-Latn,
langtag=SRB,
@@ -24553,11 +25171,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{serbian}{sr}
-\setlanguagealias*[script=Cyrillic]{serbian}{sr-Cyrl}
-\setlanguagealias*[script=Latin]{serbian}{sr-Latn}
+\setlanguagealias*[script=cyrillic]{serbian}{sr-Cyrl}
+\setlanguagealias*[script=latin]{serbian}{sr-Latn}
% Babel aliases
-\setlanguagealias[script=Cyrillic]{serbian}{serbianc}
+\setlanguagealias[script=cyrillic]{serbian}{serbianc}
\ifluatex
\RequirePackage{luavlna}
@@ -24568,20 +25186,32 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% cyrillic:
\@serbian@cyrtrue
- \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-casing=sr-Cyrl}
\xpg@fontsetup@nonlatin{serbian}%
\or
% latin:
\@serbian@cyrfalse
- \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-casing=sr-Latn}
\xpg@fontsetup@latin{serbian}%
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
\fi
+ \serbian@set@languagekeys%
\xpg@info{Option: Serbian, script=\xpg@val}%
}{\xpg@warning{Unknown Serbian script `#1'}}
-\define@key{serbian}{script}[Cyrillic]{\setkeys{serbian}{Script=#1}}
+\define@key{serbian}{script}[cyrillic]{\setkeys{serbian}{Script=#1}}
+
+\newif\if@serbian@ijekavian
+\define@choicekey*+{serbian}{variant}[\xpg@val\xpg@nr]{ekavian,ijekavian}[ekavian]{%
+ \ifcase\xpg@nr\relax
+ % ekavian:
+ \@serbian@ijekavianfalse%
+ \or
+ % ijekavian:
+ \@serbian@ijekaviantrue%
+ \fi
+ \serbian@set@languagekeys%
+ \xpg@info{Option: Serbian, variant=\xpg@val}%
+}{\xpg@warning{Unknown Serbian variant `#1'}}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
@@ -24612,10 +25242,28 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\define@boolkey{serbian}[serbian@]{splithyphens}[true]{}
+\define@boolkey{serbian}[serbian@]{datei}[true]{}
+
+\def\serbian@set@languagekeys{%
+ \if@serbian@cyr
+ \if@serbian@ijekavian
+ \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl-ijekavsk,bcp47-language=sr,bcp47-script=Cyrl,bcp47-variant=ijekavsk,bcp47-casing=sr-Cyrl}
+ \else
+ \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-variant=ekavsk,bcp47-casing=sr-Cyrl}
+ \fi
+ \else
+ \if@serbian@ijekavian
+ \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn-ijekavsk,bcp47-language=sr,bcp47-script=Latn,bcp47-variant=ijekavsk,bcp47-casing=sr-Latn}
+ \else
+ \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-variant=ekavsk,bcp47-casing=sr-Latn}
+ \fi
+ \fi%
+}
+
\setkeys{serbian}{Script,numerals}
% Register default options
-\xpg@initialize@gloss@options{serbian}{script=Cyrillic,numerals=arabic,splithyphens=true}
+\xpg@initialize@gloss@options{serbian}{script=cyrillic,numerals=arabic,splithyphens=true}
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi
@@ -24652,13 +25300,51 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\headtoname{Prima}%
\def\proofname{Dokaz}%
\def\glossaryname{Rečnik nepoznatih reči}%
+ \if@serbian@ijekavian%
+ \def\partname{Dio}%
+ \def\glossaryname{Rječnik nepoznatih riječi}%
+ \fi
}
-\def\dateserbian@lat{%
- \def\today{\number\day .~\ifcase\month\or
- januar\or februar\or mart\or april\or maj\or
- jun\or jul\or avgust\or septembar\or oktobar\or novembar\or
- decembar\fi \space \number\year.}%
+\def\month@serbian@lat{%
+ \ifcase\month\or
+ januar\or
+ februar\or
+ mart\or
+ april\or
+ maj\or
+ \ifserbian@datei juni\else jun\fi\or
+ \ifserbian@datei juli\else jul\fi\or
+ avgust\or
+ septembar\or
+ oktobar\or
+ novembar\or
+ decembar%
+ \fi%
+}%
+
+\def\month@serbian@lat@gen{%
+ \ifcase\month\or
+ januara\or
+ februara\or
+ marta\or
+ aprila\or
+ maja\or
+ juna\or
+ jula\or
+ avgusta\or
+ septembra\or
+ oktobra\or
+ novembra\or
+ decembra%
+ \fi%
+}%
+
+\def\dateserbian@lat{%
+ \def\today{\number\day.~\month@serbian@lat\ \number\year\@ifstar{}{.}}%
+ \def\todayRoman{\number\day.~\@Roman\month~\number\year\@ifstar{}{.}}%
+ \def\todayGen{\number\day.~\month@serbian@lat@gen\ \number\year\@ifstar{}{.}}%
+ \def\todayArabic{\number\day.~\number\month.~\number\year\@ifstar{}{.}}%
}
\def\captionsserbian@cyr{%
@@ -24687,13 +25373,51 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\headtoname{Прима}%
\def\proofname{Доказ}%
\def\glossaryname{Речник непознатих речи}%
+ \if@serbian@ijekavian%
+ \def\partname{Дио}%
+ \def\glossaryname{Рјечник непознатих ријечи}%
+ \fi
}
-\def\dateserbian@cyr{%
- \def\today{\number\day .~\ifcase\month\or
- јануар\or фебруар\or март\or април\or мај\or
- јун\or јул\or август\or септембар\or октобар\or новембар\or
- децембар\fi \space \number\year.}%
+\def\month@serbian@cyr{%
+ \ifcase\month\or
+ јануар\or
+ фебруар\or
+ март\or
+ април\or
+ мај\or
+ \ifserbian@datei јуни\else јун\fi\or
+ \ifserbian@datei јули\else јул\fi\or
+ август\or
+ септембар\or
+ октобар\or
+ новембар\or
+ децембар%
+ \fi%
+}%
+
+\def\month@serbian@cyr@gen{%
+ \ifcase\month\or
+ јануара\or
+ фебруара\or
+ марта\or
+ априла\or
+ маја\or
+ јуна\or
+ јула\or
+ августа\or
+ септембра\or
+ октобра\or
+ новембра\or
+ децембра%
+ \fi%
+}%
+
+\def\dateserbian@cyr{%
+ \def\today{\number\day.~\month@serbian@cyr\ \number\year\@ifstar{}{.}}%
+ \def\todayRoman{\number\day.~\@Roman\month~\number\year\@ifstar{}{.}}%
+ \def\todayGen{\number\day.~\month@serbian@cyr@gen\ \number\year\@ifstar{}{.}}%
+ \def\todayArabic{\number\day.~\number\month.~\number\year\@ifstar{}{.}}%
}
% Use \providecommand here as the ldf file might
@@ -24839,7 +25563,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbianc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
@@ -24856,7 +25580,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovak.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
@@ -24920,7 +25644,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\slovak@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{slovak}%
\declare@shorthand{slovak}{"=}{\slovak@splhyphen}%
\declare@shorthand{slovak}{""}{\hskip\z@skip}%
@@ -24939,7 +25663,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\noslovak@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\ifxetex
@@ -25122,7 +25846,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovene.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
@@ -25139,7 +25863,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
@@ -25231,7 +25955,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
@@ -25422,7 +26146,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
@@ -25662,7 +26386,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanishmx.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
@@ -25679,7 +26403,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swedish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
@@ -25744,7 +26468,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
@@ -25761,7 +26485,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-syriac.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
@@ -25788,21 +26512,28 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\syriacnumber#1{\@syriacnumber{#1}}%
\newif\if@eastern@numerals
-\def\tmp@eastern{eastern}
-\def\tmp@abjad{abjad}
-\define@key{syriac}{numerals}[western]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@abjad
- \let\syriacnumber\abjadsyriac
- \else
- \ifx\@tmpa\tmp@eastern
- \@eastern@numeralstrue
- \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
- \else
- \@eastern@numeralsfalse
- \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
- \fi
- \fi}
+\define@choicekey*+{syriac}{numerals}[\xpg@val\xpg@nr]{eastern,western,abjad}[eastern]{%
+ \ifcase\xpg@nr\relax
+ % eastern:
+ \@eastern@numeralstrue
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
+ \or
+ % western:
+ \@eastern@numeralsfalse
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
+ \or
+ % abjad:
+ \let\syriacnumber\abjadsyriac%
+ \fi
+ \xpg@info{Option: Syriac, numerals=\xpg@val}%
+}{\xpg@warning{Unknown Syriac numerals option `#1'}}
+
+\newif\ifsyriac@customsep\syriac@customsepfalse
+\def\xpg@sepmark{}
+\define@key{syriac}{sectionsep}[.]{%
+ \syriac@customseptrue%
+ \gdef\xpg@sepmark{#1}%
+}
% Register default options
\xpg@initialize@gloss@options{syriac}{numerals=western}
@@ -25890,10 +26621,10 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%%% else we try \arabicfont if defined (and give a warning),
%%% else we fall back to the Western numerals.
\xpg@if@char@available{0661}%
- {\protect\arabicdigits{\number#1}}%
- {\arabicdigits{\number#1}
+ {\@ensure@LTR{\protect\arabicdigits{\number#1}}}%
+ {\@ensure@LTR{\arabicdigits{\number#1}}
\ifcsdef{arabicfont}%
- {\protect\arabicdigits{\number#1}%
+ {\@ensure@LTR{\protect\arabicdigits{\number#1}}%
\xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
I am using \string\arabicfont instead}}%
{\number#1%%% <---changed from \RL{\protect\reset@font\protect\number#1}%
@@ -25930,16 +26661,92 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\@arabic\xpg@save@arabic%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
+\def\syriac@xetex@capsformat{%
+ \let\xpg@save@sepmark\@SepMark%
+ \SepMark{\xpg@sepmark}
+}
-\def\blockextras@syriac{%
- \def\MakeUppercase##1{##1}%
+\def\nosyriac@xetex@capsformat{%
+ \ifcsdef{xpg@save@sepmark}{%
+ \SepMark{\xpg@save@sepmark}
+ }{}%
+}
+
+\def\syriac@luatex@capsformat{%
+ %
+ % change chapter and part headings
+ \ifsyriac@customsep
+ \ifcsdef{chapter}{%
+ \let\xpg@save@thesection\thesection%
+ \renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
+ \let\xpg@save@theequation\theequation%
+ \renewcommand*\theequation{%
+ \ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation}
+ \let\xpg@save@thefigure\thefigure%
+ \renewcommand*\thefigure{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure}
+ \let\xpg@save@thetable\thetable%
+ \renewcommand*\thetable{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
+ }{}
+ \let\xpg@save@thesubsection\thesubsection%
+ \renewcommand\thesubsection
+ {\thesection\xpg@sepmark\@arabic\c@subsection}
+ \let\xpg@save@thesubsubsection\thesubsubsection%
+ \renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection}
+ \let\xpg@save@theparagraph\theparagraph%
+ \renewcommand\theparagraph
+ {\thesubsubsection\xpg@sepmark\@arabic\c@paragraph}
+ \let\xpg@save@thesubparagraph\thesubparagraph%
+ \renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph}
+ \fi% (end \ifsyriac@customsep)
+}
+
+\def\nosyriac@luatex@capsformat{%
+ \ifcsdef{xpg@save@thesection}{%
+ \let\thesection\xpg@save@thesection%
+ }{}%
+ \ifcsdef{xpg@save@theequation}{%
+ \let\theequation\xpg@save@theequation%
+ }{}%
+ \ifcsdef{xpg@save@thefigure}{%
+ \let\thefigure\xpg@save@thefigure%
+ }{}%
+ \ifcsdef{xpg@save@thetable}{%
+ \let\thetable\xpg@save@thetable%
+ }{}%
+ \ifcsdef{xpg@save@thesubsection}{%
+ \let\thesubsection\xpg@save@thesubsection%
+ \ifcsdef{xpg@save@thesubsubsection}{%
+ \let\thesubsubsection\xpg@save@thesubsubsection%
+ }{}%
+ }{}%
+ \ifcsdef{xpg@save@theparagraph}{%
+ \let\theparagraph\xpg@save@theparagraph%
+ }{}%
+ \ifcsdef{xpg@save@thesubparagraph}{%
+ \let\thesubparagraph\xpg@save@thesubparagraph%
+ }{}%
}
+\def\blockextras@syriac{%
+ \ifsyriac@customsep
+ \ifxetex
+ \syriac@xetex@capsformat
+ \else
+ \syriac@luatex@capsformat
+ \fi
+ \fi
+}
+%
\def\noextras@syriac{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase%
+ \ifsyriac@customsep
+ \ifxetex
+ \nosyriac@xetex@capsformat
+ \else
+ \nosyriac@luatex@capsformat
+ \fi
+ \fi
}
% \end{macrocode}
@@ -25951,7 +26758,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tamil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
@@ -26021,7 +26828,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-telugu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
@@ -26094,7 +26901,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-thai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
%% This is partly based on thai-latex for Babel:
@@ -26252,7 +27059,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tibetan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
%% Copyright 2013 Elie Roux
@@ -26478,7 +27285,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
\RequirePackage{hijrical}
@@ -26596,7 +27403,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkmen.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
@@ -26654,7 +27461,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ug.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
% BCP 47 tag for Uyghur
@@ -26670,7 +27477,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ukrainian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
% Strings taken from Babel
@@ -26745,7 +27552,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}{}
\def\ukrainian@shorthands{%
- \bbl@activate{"}%
+ \xpg@activate@shorthands%
\def\language@group{ukrainian}%
% \declare@shorthand{ukrainian}{"`}{„}%
% \declare@shorthand{ukrainian}{"'}{“}%
@@ -26785,7 +27592,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\noukrainian@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \xpg@deactivate@shorthands%
}
\def\captionsukrainian{%
@@ -26969,7 +27776,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uppersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
@@ -26986,7 +27793,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-urdu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
%%% Adapted from a file contributed by Kamal Abdali
\ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -27013,37 +27820,49 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*{urdu}{ur}
\newif\if@western@numerals
-\def\tmp@western{western}
-\define@key{urdu}{numerals}[eastern]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western
- \@western@numeralstrue%
- \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
- \else
- \@western@numeralsfalse%
- \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
- \fi}
+\define@choicekey*+{urdu}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
+ \ifcase\xpg@nr\relax
+ % eastern:
+ \@western@numeralsfalse%
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
+ \or
+ % western:
+ \@western@numeralstrue%
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
+ \fi
+ \xpg@info{Option: Urdu, numerals=\xpg@val}%
+}{\xpg@warning{Unknown Urdu numerals option `#1'}}
+
+\newif\ifurdu@customsep\urdu@customsepfalse
+\def\xpg@sepmark{}
+\define@key{urdu}{sectionsep}[.]{%
+ \urdu@customseptrue%
+ \gdef\xpg@sepmark{#1}%
+}
-%% TODO USE boolkey instead !!!
%this is needed for \abjad in arabicnumbers.sty
-\def\tmp@true{true}
-\define@key{urdu}{abjadjimnotail}[true]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@true\abjad@jim@notailtrue%
+\define@boolkey{urdu}[urdu@]{abjadjimnotail}[true]{%
+ \ifurdu@abjadjimnotail
+ \abjad@jim@notailtrue%
\else
\abjad@jim@notailfalse
- \fi}
+ \fi%
+}
\newif\if@hijrical
-\def\tmp@hijri{hijri}
-\define@key{urdu}{calendar}[gregorian]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@hijri\@hijricaltrue%
- \else\@hijricalfalse%
- \fi}
+\define@choicekey*+{urdu}{calendar}[\xpg@val\xpg@nr]{gregorian,hijri}[gregorian]{%
+ \ifcase\xpg@nr\relax
+ % gregorian:
+ \@hijricalfalse
+ \or
+ % hijri:
+ \@hijricaltrue
+ \fi
+ \xpg@info{Option: Urdu, calendar=\xpg@val}%
+}{\xpg@warning{Unknown Urdu calendar option `#1'}}
\define@key{urdu}{hijricorrection}[0]{%
- \gdef\@hijri@correction{#1}}%
+ \gdef\urdu@hijri@correction{#1}}%
% This should set the defaults
\setkeys{urdu}{calendar,numerals,hijricorrection}
@@ -27087,7 +27906,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\dateurdu{%
\def\today{%
\if@hijrical
- \Hijritoday[\@hijri@correction]%
+ \Hijritoday[\urdu@hijri@correction]%
\else
\@ensure@RTL{\urdunumber\day؍\space\urdugregmonth{\month}%
\space\urdunumber\year}%
@@ -27099,7 +27918,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\number#1%
\else
%%FIXME use farsidigits instead???
- \protect\arabicdigits{\number#1}%
+ \@ensure@LTR{\protect\arabicdigits{\number#1}}%
\fi}
\def\urdu@numbers{%
@@ -27127,16 +27946,92 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\@arabic\xpg@save@arabic%
}
-% Save original \MakeUppercase definition
-\let\xpg@save@MakeUppercase\MakeUppercase
+\def\urdu@xetex@capsformat{%
+ \let\xpg@save@sepmark\@SepMark%
+ \SepMark{\xpg@sepmark}
+}
-\def\blockextras@urdu{%
- \def\MakeUppercase##1{##1}%
+\def\nourdu@xetex@capsformat{%
+ \ifcsdef{xpg@save@sepmark}{%
+ \SepMark{\xpg@save@sepmark}
+ }{}%
}
+\def\urdu@luatex@capsformat{%
+ %
+ % change chapter and part headings
+ \ifurdu@customsep
+ \ifcsdef{chapter}{%
+ \let\xpg@save@thesection\thesection%
+ \renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
+ \let\xpg@save@theequation\theequation%
+ \renewcommand*\theequation{%
+ \ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation}
+ \let\xpg@save@thefigure\thefigure%
+ \renewcommand*\thefigure{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure}
+ \let\xpg@save@thetable\thetable%
+ \renewcommand*\thetable{%
+ \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
+ }{}
+ \let\xpg@save@thesubsection\thesubsection%
+ \renewcommand\thesubsection
+ {\thesection\xpg@sepmark\@arabic\c@subsection}
+ \let\xpg@save@thesubsubsection\thesubsubsection%
+ \renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection}
+ \let\xpg@save@theparagraph\theparagraph%
+ \renewcommand\theparagraph
+ {\thesubsubsection\xpg@sepmark\@arabic\c@paragraph}
+ \let\xpg@save@thesubparagraph\thesubparagraph%
+ \renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph}
+ \fi% (end \ifurdu@customsep)
+}
+
+\def\nourdu@luatex@capsformat{%
+ \ifcsdef{xpg@save@thesection}{%
+ \let\thesection\xpg@save@thesection%
+ }{}%
+ \ifcsdef{xpg@save@theequation}{%
+ \let\theequation\xpg@save@theequation%
+ }{}%
+ \ifcsdef{xpg@save@thefigure}{%
+ \let\thefigure\xpg@save@thefigure%
+ }{}%
+ \ifcsdef{xpg@save@thetable}{%
+ \let\thetable\xpg@save@thetable%
+ }{}%
+ \ifcsdef{xpg@save@thesubsection}{%
+ \let\thesubsection\xpg@save@thesubsection%
+ \ifcsdef{xpg@save@thesubsubsection}{%
+ \let\thesubsubsection\xpg@save@thesubsubsection%
+ }{}%
+ }{}%
+ \ifcsdef{xpg@save@theparagraph}{%
+ \let\theparagraph\xpg@save@theparagraph%
+ }{}%
+ \ifcsdef{xpg@save@thesubparagraph}{%
+ \let\thesubparagraph\xpg@save@thesubparagraph%
+ }{}%
+}
+
+\def\blockextras@urdu{%
+ \ifurdu@customsep
+ \ifxetex
+ \urdu@xetex@capsformat
+ \else
+ \urdu@luatex@capsformat
+ \fi
+ \fi
+}
+%
\def\noextras@urdu{%
- % restore original \MakeUppercase definition
- \let\MakeUppercase\xpg@save@MakeUppercase%
+ \ifurdu@customsep
+ \ifxetex
+ \nourdu@xetex@capsformat
+ \else
+ \nourdu@luatex@capsformat
+ \fi
+ \fi
}
% \end{macrocode}
@@ -27148,7 +28043,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-usorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
@@ -27166,7 +28061,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uyghur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
%% Translations provided by Osman Tursun (Github Account: neouyghur)
@@ -27607,7 +28502,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-vietnamese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
@@ -27666,7 +28561,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-welsh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
@@ -27766,7 +28661,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-CN.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
@@ -27783,7 +28678,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-TW.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
@@ -27952,7 +28847,7 @@ U+0039 <> U+0E59 ;
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia-punct')
@@ -28019,7 +28914,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct
% \begin{macrocode}
--
-- polyglossia-korean.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
local glyph_id = node.id"glyph"
@@ -28637,7 +29532,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia-punct')
@@ -28692,7 +29587,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia') -- just in case...
@@ -29060,7 +29955,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia-punct')
@@ -29110,7 +30005,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
require('polyglossia') -- just in case...
@@ -29213,7 +30108,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
--
local module_name = "polyglossia"
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.pdf b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
index 2d3a9f0ea0..449634bb92 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.pdf
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
Binary files differ