diff options
Diffstat (limited to 'Master/texmf-dist')
259 files changed, 3300 insertions, 1519 deletions
diff --git a/Master/texmf-dist/doc/latex/polyglossia/README.md b/Master/texmf-dist/doc/latex/polyglossia/README.md index 9bad724cf12..a8d5787522f 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/README.md +++ b/Master/texmf-dist/doc/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/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf Binary files differindex ebf2d5dca97..8077dc45b54 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf Binary files differindex f9f683c6a9c..4f2daf29309 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf Binary files differindex ada4127bc62..51c5c4e1dec 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf Binary files differindex c68763df2b5..97f6fbbf3e2 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf Binary files differindex ba079728ce1..d5a2042b89e 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf Binary files differindex a503c92eb0c..4f925374256 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf Binary files differindex 2d3a9f0ea01..449634bb924 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf +++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex index b7d5f96987a..3b8b729c4c6 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex +++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex @@ -156,7 +156,7 @@ \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} @@ -268,7 +268,7 @@ that are explained in section \ref{specific} below. \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} \\ @@ -324,7 +324,7 @@ Please refer to table~\ref{tab:bbllang} for the differing language names in both \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 \\ @@ -472,6 +472,7 @@ Table~\ref{tab:BCP47-polyglossia} lists the currently supported tags. 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 @@ -846,19 +847,35 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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} @@ -876,8 +893,14 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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} @@ -1064,10 +1087,19 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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 @@ -1126,7 +1158,7 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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. @@ -1252,6 +1284,14 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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. @@ -1279,9 +1319,6 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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} @@ -1289,7 +1326,10 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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} @@ -1415,11 +1455,16 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \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 @@ -1668,6 +1713,11 @@ Currently, only the Khalkha variety in Cyrillic script is supported. \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 @@ -1841,18 +1891,24 @@ Currently support for Sami is limited to Northern Sami. \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 @@ -1880,6 +1936,14 @@ Currently support for Sami is limited to Northern Sami. 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} @@ -1981,6 +2045,11 @@ Currently support for Sami is limited to Northern Sami. \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} @@ -2074,6 +2143,27 @@ The macros \cmd\Prob , \cmd\Variance , \cmd\NOD , \cmd\nod , \cmd\NOK , \cmd\nok \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:} @@ -2398,7 +2488,7 @@ The command \Cmd\Hebrewtoday\ formats the current date in the Hebrew calendar (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} @@ -2530,6 +2620,58 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta \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} @@ -3473,12 +3615,12 @@ And of course my gratitude also goes to \TA{Jonathan Kew}, the formidable author 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}. diff --git a/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx b/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx index eed7ace603b..b10936fd843 100644 --- a/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx +++ b/Master/texmf-dist/source/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/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def b/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def index b68d98256a1..145c2296f39 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def +++ b/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def @@ -1,9 +1,7 @@ \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}% } @@ -13,76 +11,72 @@ \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}} + \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf index b48c7195361..643cbf4b4fa 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf index 727deb51da1..90ebbc8475b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf index 91caba195dc..35e6ca5a605 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf index 6fb3f68fb48..929c2ff4a03 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf index 7608c043ef6..6f38e38ad86 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf @@ -1,4 +1,4 @@ -% 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] @@ -34,7 +34,7 @@ }{} \def\afrikaans@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{afrikaans}% \declare@shorthand{afrikaans}{"-}{\nobreak-\bbl@allowhyphens} \declare@shorthand{afrikaans}{"~}{\textormath{\leavevmode\hbox{-}}{-}} @@ -47,7 +47,7 @@ } \def\noafrikaans@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \def\captionsafrikaans{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf index 27e454a56c4..0193bb1549a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf index 8b0f803ede5..35df1cdd50f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf index d85e303f45d..706e4d23478 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf index d6ff77df13e..69c1d5fd585 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf index f9d95aafb7c..601cf98be31 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf index 59a2d2874fa..9f2eb8dd3f2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf index 8add8922d73..b327bc8a988 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf index b39ea0676a8..74bef34c6f8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf index 3813a0fecb6..158a526b213 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf index 1085e6417bc..30e83e804b3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf index 75caf7da2e7..2c492c43583 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf index 9c09e58b42b..92f527300b1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf index 2ef7b456a40..00a69072bdd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf index 73b2b12dd7d..58b29418140 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf @@ -1,4 +1,4 @@ -% 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 @@ -41,21 +41,27 @@ \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} @@ -101,19 +107,30 @@ }{\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} @@ -173,7 +190,7 @@ \def\datearabic{% \def\today{% \if@hijrical% - \Hijritoday[\@hijri@correction]% + \Hijritoday[\arabic@hijri@correction]% \else% \if@RTL% \arabicnumber\day\space\@@arabic@month{\month}% @@ -192,7 +209,7 @@ \def\arabicnumber#1{% \ifeastern@numerals - \@ensure@dir{\arabicdigits{\number#1}}% + \@ensure@LTR{\arabicdigits{\number#1}}% \else \number#1% \fi} @@ -274,17 +291,92 @@ \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\noarabic@xetex@capsformat{% + \ifcsdef{xpg@save@sepmark}{% + \SepMark{\xpg@save@sepmark} + }{}% +} -\def\blockextras@arabic{% - \def\MakeUppercase##1{##1}% - % TODO disable \@Roman and \@roman ? +\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 } \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf index cc15d39bd74..b49c4dcbed6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf @@ -1,4 +1,4 @@ -% 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] @@ -44,6 +44,18 @@ }% } +\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} diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf index f258f8b1f9e..deca7de45d2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf index 47514824866..2ae2226d74d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf index 2caf703acff..036b5874e75 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf index ae10758edcb..65c26edbba5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf index 42f5d8ce674..9cfec1e27e7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf @@ -1,4 +1,4 @@ -% 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> diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf index fa46003ba65..2db283f2dec 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf index cfe4d7d82b4..6a5a810e659 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf index 44e4aa89839..9eb137dfa3a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf index 0d769f00588..be429a692b4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf index b94514db69f..ae7d46fb15b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf index 73e13aa8ff1..937aa26c9f4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf index 6d948ab751c..1d4d882fd33 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf index 5528445cbc2..7c78dc5874a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf index 4428ef6e39c..e387ad56188 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf index 80ef7b4d6e9..1ca40ed4f39 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf @@ -1,4 +1,4 @@ -% 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] @@ -85,7 +85,7 @@ }{} \def\belarusian@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{belarusian}% \declare@shorthand{belarusian}{"`}{„}% \declare@shorthand{belarusian}{"'}{“}% @@ -124,7 +124,7 @@ } \def\nobelarusian@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } % Taken from babel-belarusian diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf index 6fb37686990..8196e2badfe 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf @@ -1,4 +1,4 @@ -% 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 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf index c5b5b4e26e8..285b307628d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf index 546caf87f2f..64ac33d5e0b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf index 246376166af..ecaa50bbb1b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf index c1f26c26d2e..da766cab8ef 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf index 1992eec0962..0785721a360 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf index d7a3320394b..14203e6fc77 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf index 330d5aa72de..0b616df6fca 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf index c11f998bd60..405fb3f0f6e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf index de4f625f5f1..b51b1b265ef 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf index 21542f53b62..b06d4d72499 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf index 45100c3ed06..1e0d6ed7556 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf index 46f9dd98e92..764eb8dbe5b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf index 496d725069a..017738226ab 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf index 95505154eff..6d503ad6730 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf @@ -1,4 +1,4 @@ -% 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}{ @@ -106,14 +106,14 @@ \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{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf index 3516ceacbd0..711a04d5de3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf index 234e596033c..684682d020f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf index 6e47b6d0858..fee833d2b7d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf index 064d357503b..c854fb2ab0f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf index 0a49bbdf325..bdc012b0fe1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf index 54e2a3a7ff1..6c8dbeda44b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf index 2c39e5d282c..cffc186b7ac 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf @@ -1,4 +1,4 @@ -% 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}{ @@ -77,7 +77,7 @@ } \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}% @@ -102,7 +102,7 @@ } \def\nocroatian@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \ifxetex diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf index 5489068286e..8c5b2446cbb 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf index ea6f8e5d07b..1d3403786d3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf index 8207eb78fc5..75600103ed9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf @@ -1,4 +1,4 @@ -% 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] @@ -64,7 +64,7 @@ } \def\czech@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{czech}% \declare@shorthand{czech}{"=}{\czech@splithyphen}% \declare@shorthand{czech}{"`}{„}% @@ -74,7 +74,7 @@ } \def\noczech@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \ifxetex diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf index 78763006f71..80f597e5b80 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf index affcd91627c..6847ea09e83 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf index 8647f67656a..5c49c9e0ed4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf index 20511d70b12..a92f15235dc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf index 608212c3b90..2c9ff747e3d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf index 8da7faab722..88b1ea452ff 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf index 82bae7e8b79..a7b90aa7caa 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf index 21801ea71c3..1e1f9d68365 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf index ab10bfdaebb..93634858d84 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf index cff5e74cd35..2f719478d7f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf index d3180a5fde5..4d0cbe76194 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf index 33611f4184a..da40ee797ae 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf index 611eac92ba1..358b9ec2100 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf index a82ca16bcc0..30bfacbd81c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf index a2a7fcc7d3f..2680efe6e8c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf index b52f1fda6f5..1d127e30d4f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf index 95cbdaf7752..f173b0c7d7c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf index 71718d6945d..793a7609db1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf index cf4afc778cc..e05ec3210d0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf index d7703eddfcb..8d516eb3c6a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf index 257d6a86f3e..8814f3e4f44 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf index 14d3852cfa0..b4224cf9e99 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf index 997372e1a48..54f29323d1e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf @@ -1,4 +1,4 @@ -% 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] @@ -44,16 +44,4 @@ % } %\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% -} - \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf index 70cb1688287..a06883dfca2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf index 36ace47ebda..87fb6bf083d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf @@ -1,4 +1,4 @@ -% 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}{ @@ -17,8 +17,10 @@ \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} @@ -32,9 +34,33 @@ \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}{"|}{% @@ -46,10 +72,86 @@ } \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}% @@ -84,14 +186,17 @@ \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% } \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf index 9d6ed580c26..86dbb0e2f56 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf index e4aa8aefb97..25d2c3d392d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf index c33c811e003..b03e57ce133 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf index c1848a1d0dc..90cab72f89d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf index 84e940cc7e0..ff2826b311c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf index 8f64ea467f7..99c0c14989c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf index e072fb41fb1..c36c4e5406f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf index 8925a3b79a2..4d1f507057e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf index dd443169795..657914d2e2d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf index 553c2627808..900606175c8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf index a25d99a3403..014dc02dd47 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf index 512891ec2c3..16d89aaea94 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf index 75ea8b026c2..da4203a05a8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf index cff4e2a6b10..27a22e3d831 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf index c45a83f04d0..734f6763d98 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf index 0dd067b63e7..9ab30a97562 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf index 17e66adf7e3..c2b3ef9a3be 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf index 3cc24ab186a..6a65aa07101 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf index 4019a6676a0..bf9c8ecb84b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf index 666aa972e65..2f6ac585319 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf index 523f3c0b4a7..084c18624ad 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf index 7d973d9e74b..710cf5d41fa 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf index cffa663293d..fc95d667561 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf @@ -1,4 +1,4 @@ -% 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}{ @@ -36,7 +36,7 @@ }{} \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}}{}}% @@ -48,7 +48,7 @@ } \def\nofinnish@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \def\captionsfinnish{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf new file mode 100644 index 00000000000..d47674f0e98 --- /dev/null +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf @@ -0,0 +1,9 @@ +% 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} + +\endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf index 28a299d3746..04c66061f51 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf index b43d0fa6b0b..b6053c25fd5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf index 1bea7f74262..7fcedb80081 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf index 012170e89c9..7a6b1c4124c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf index 87ce2bfb61f..2da75565417 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf @@ -1,4 +1,4 @@ -% 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] @@ -19,11 +19,12 @@ % 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} @@ -36,7 +37,7 @@ \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}% @@ -45,9 +46,9 @@ \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 @@ -87,24 +88,7 @@ \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 @@ -175,20 +159,7 @@ \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, @@ -465,6 +436,50 @@ }% (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% @@ -472,11 +487,17 @@ } \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% } diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf index 52f1f3a6602..65dbee0bdec 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf index f86869d91ed..f10f0ec5851 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf index f4750345429..911c56d6cce 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf index b744c7b46ac..b51582fd4a0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf index 35c4774df05..864c8e5a20e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf index 6d4daa2cce2..d3a0301fac2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf index 77ae909e9ad..a69bb5e1ff2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf index d4ab17ef5d9..c2362c48781 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf @@ -1,4 +1,4 @@ -% 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] @@ -48,7 +48,7 @@ }{} \def\georgian@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{georgian}% \declare@shorthand{georgian}{"`}{„}% \declare@shorthand{georgian}{"'}{“}% @@ -86,7 +86,7 @@ } \def\nogeorgian@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \def\captionsgeorgian{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf index 5e7e40d8456..8ae8015f7c7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf @@ -1,4 +1,4 @@ -% 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] @@ -155,6 +155,17 @@ \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]{} @@ -183,7 +194,7 @@ }{} \def\german@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{german}% \declare@shorthand{german}{"`}{„}% \declare@shorthand{german}{"'}{“}% @@ -223,7 +234,7 @@ } \def\nogerman@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \def\captions@german{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf index 94c4892b162..922035604c0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf index f050b4eaa2f..dcd5085e1ce 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf index 322f7c4a855..e15c3f544ff 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf index f6af8188a87..419f022c6b7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf @@ -1,4 +1,4 @@ -% 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] @@ -8,6 +8,7 @@ bcp47-variant=monoton, bcp47-script=Grek, bcp47-extension-u=nu-grek, + bcp47-casing=el, script=Greek, scripttag=grek, langtag=ELL, @@ -36,56 +37,79 @@ % 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}% @@ -93,13 +117,28 @@ \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.}} diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf index 2e0a59aa248..8564642ac88 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf index bd6045eafbd..a6677c77394 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf @@ -1,4 +1,4 @@ -% 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] @@ -116,24 +116,24 @@ } \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\nohebrew@ltr@numbers{% - \ifxetex - % Restore bidi's \DigitsDotDashInterCharToks - \let\DigitsDotDashInterCharToks\xpg@orig@DigitsDotDashInterCharToks% - \fi% -} + \def\hebrew@ltr@numbers{% + \renewcommand*{\DigitsDotDashInterCharToks}{}% + } + + \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% @@ -146,7 +146,7 @@ \let\@alph\latin@alph% \let\@Alph\latin@Alph% % Restore previous bidi numbers definition - \nohebrew@ltr@numbers + \nohebrew@ltr@numbers% } \def\hebrew@globalnumbers{% @@ -163,16 +163,4 @@ \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% -} - \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf index 738afe95c68..4275fb115a6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf index 155fbaffcfb..1d5be2ee2ab 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf @@ -1,4 +1,4 @@ -% 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 @@ -108,16 +108,4 @@ \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% -} - \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf index 0413c64ed3d..c9cfdfd5d1c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf index 67380129817..e88ead8f4ad 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf index 5ea65c3f101..c8e28592240 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf index 7d5d433a700..5d5b948b280 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf index cc5243f9892..c06e8fe30f4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf index 4c1bf6c0fbf..b3867e7cc91 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf index cd6b5626783..74493490db0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf index 718bc35b385..56b0261dd68 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf index 2b35b6f0319..a0e2cbf457d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf index 26f08231125..00b06adc573 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf index b532ee3d55e..e5da6efff66 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf index 8ca39ef941e..5690110b9d3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf index ee59a39bf6f..1a74dd36364 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf @@ -1,5 +1,5 @@ % !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}{ @@ -38,7 +38,7 @@ }{} \def\italian@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{italian}% \declare@shorthand{italian}{"}{% \relax\ifmmode @@ -78,7 +78,7 @@ \xpgit@@next} \def\noitalian@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } %%% CHANGES END %%% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf index ad6c298a79e..0b723898c2a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf index 1f36c444ee4..9eef9b53095 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf index 0200a11f438..eef5ac5acac 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf index 97181d103fd..5d5b555e7d4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf @@ -1,5 +1,5 @@ %% 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>, diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf index f8a20694817..ab46b879796 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf index 1bcba524772..8686395343a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf index 8b2f767879d..7b870265eaa 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf index d6f9e415904..0ea3647845f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf index 05ffc8277ec..01edad8b8c2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf index b1d80f902c8..8749986ba9b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf index baccd8b3e9b..8cca1fde946 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf index ee72e392b70..a0d9235e549 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf @@ -1,4 +1,4 @@ -% 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] @@ -114,9 +114,9 @@ \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}% {}% @@ -155,9 +155,9 @@ \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}% @@ -185,9 +185,9 @@ {\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}% {}% @@ -224,9 +224,9 @@ {}% {\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}% {}% @@ -258,9 +258,9 @@ \IfChapterUsesPrefixLine {% \ifx\@chapapp\korean@appendix@chapapp - \chapappifchapterprefix\ \thechapter\autodot + \chapapp\ \thechapter\autodot \else - \koreanTHEname\ \thechapter\ \chapappifchapterprefix{}% + \koreanTHEname\ \thechapter\ \chapapp\autodot \fi }% {\thechapter\autodot}% @@ -310,8 +310,8 @@ \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 }% @@ -333,8 +333,8 @@ }{% % 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 }% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf index 75e2a550269..5b9e965a42f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf index ae09358893c..a2a2f162e59 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf index 1bbd24a1751..73b9a4cf31f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf index bb0f34c83f8..159ce2d7631 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf @@ -1,4 +1,4 @@ -% 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 @@ -27,13 +27,13 @@ % 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 @@ -57,13 +57,13 @@ \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 @@ -78,7 +78,7 @@ \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}% @@ -89,7 +89,7 @@ \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}% @@ -98,7 +98,7 @@ \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}% @@ -112,19 +112,30 @@ \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% @@ -137,7 +148,7 @@ %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}% @@ -350,8 +361,8 @@ \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 } @@ -387,15 +398,92 @@ \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 } \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf index c9b34198c32..75d9204f228 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf index 0bfbe390dd8..d47644a7a89 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf index d9971eda75d..980ee56625e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf index 23a92a08984..218e8293675 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf index ec621128223..582803afba2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf index 0a1710d72a0..315db14ba2d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde b/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde index 091af67696e..adef03a3657 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde @@ -1,6 +1,6 @@ -% 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, diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf index 329d2b7ffc1..2d6b60af446 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf @@ -1,4 +1,4 @@ -% 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] @@ -408,7 +408,7 @@ \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: } @@ -670,7 +670,7 @@ \cs_new:Npn \polyglossia_latin_shorthands: { \def \language@group {latin} - \bbl@activate {"} + \xpg@activate@shorthands ["] \declare@shorthand {latin} {"} { \mode_if_math:TF @@ -684,7 +684,7 @@ % 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 @@ -988,8 +988,8 @@ \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: diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf index 712c47508bd..db851b82df0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf index 3c323be78b6..75062d90876 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf index 6ef8bf0a728..af518394b19 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf index ee3c0708d70..4ac4bf67146 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf index 62e46085e0e..e77b6e79ece 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf @@ -1,4 +1,4 @@ -% 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> @@ -11,7 +11,7 @@ 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 } @@ -23,23 +23,23 @@ \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{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf index bec8ebc10cd..dee791f3e2d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf index 0045703703a..2e9edfbb9ab 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf index c4d9dacac39..ef29bc724cc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf index 48a421eebfa..9e1fa6830b6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf index 6fc83174708..3cc2616f801 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf index 5f735b321e7..f7cc2c4bb7e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf index 7e51ac141a8..9ffd2fee00c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf index 225d19f08b6..c0ac70a481b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf index d431659de4b..03d996308c0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf index ec5c418c549..54bff40228f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf @@ -1,4 +1,4 @@ -% 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 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf index 0e4f2731260..5b8e4fbec7d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf index 33aa39a619d..b8255b959ee 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf index 3ee1f10d9d1..17c73cc7926 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf index 4e002a2d1d8..89e0f3c8980 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf @@ -1,4 +1,4 @@ -% 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] @@ -69,7 +69,7 @@ }{} \def\mongolian@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{mongolian}% \declare@shorthand{mongolian}{"`}{„}% \declare@shorthand{mongolian}{"'}{“}% @@ -108,7 +108,7 @@ } \def\nomongolian@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } % Taken from babel-mongolian diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf index 921e538655d..527003b9bcc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf index 0d128b8d113..3f710a77483 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf index 111bfeb6f93..1a955a68053 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf index 35acd4b0cfd..171d59011c7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf index c552779d67a..5e02ac980d5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf index fcaede6cef5..04aaeb74ad4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf @@ -1,4 +1,4 @@ -% 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}{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf index b87147fd522..1a021a3f46b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf index f74a8ef1e4f..3082aa4db8b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf @@ -1,4 +1,4 @@ -% 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}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf index 0d5940914ad..3fb354874fd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf index fd92cd6e4bb..9801655f493 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf index 1bed591ac0d..f521f77a55c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf @@ -1,4 +1,4 @@ -% 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', @@ -49,7 +49,7 @@ }{} \def\occitan@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{occitan}% \declare@shorthand{occitan}{"}{% \relax\ifmmode @@ -86,9 +86,11 @@ \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}% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf index 0cdf07a708e..35fa99df9de 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf index b9ebaab8470..2f85449123d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf @@ -1,4 +1,4 @@ -% 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] @@ -27,22 +27,30 @@ \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} @@ -100,8 +108,8 @@ \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 } @@ -133,15 +141,92 @@ \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\nopersian@xetex@capsformat{% + \ifcsdef{xpg@save@sepmark}{% + \SepMark{\xpg@save@sepmark} + }{}% +} -\def\blockextras@persian{% - \def\MakeUppercase##1{##1}% +\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 } + \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf index 813611dd114..1d90da3ec41 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf @@ -1,5 +1,5 @@ % !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 @@ -32,7 +32,7 @@ }{} \def\piedmontese@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{piedmontese}% \declare@shorthand{piedmontese}{"}{% \relax\ifmmode @@ -62,7 +62,7 @@ \xpgpms@@next} \def\nopiedmontese@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \@namedef{captions\CurrentOption}{% \def\prefacename{Prefassion}% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf index 14c11848e6c..f131783c9ec 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf @@ -1,4 +1,4 @@ -% 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] @@ -63,7 +63,7 @@ } \def\polish@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{polish}% \declare@shorthand{polish}{"=}{\polish@splhyphen}% \declare@shorthand{polish}{""}{\hskip\z@skip}% @@ -82,7 +82,7 @@ } \def\nopolish@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \ifxetex diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf index 582f97f13f7..2a5991b9ca6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf index aa7f2d08687..ec89c8880fa 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf index 92995918d27..16cfae30db9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf @@ -1,4 +1,4 @@ -% 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] @@ -86,7 +86,7 @@ } \def\portuguese@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{portuguese}% \declare@shorthand{portuguese}{"=}{\portuguese@splhyphen}% \declare@shorthand{portuguese}{""}{\hskip\z@skip}% @@ -103,7 +103,7 @@ } \def\noportuguese@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \ifxetex diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf index b917a263084..a44025b6d56 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf @@ -1,4 +1,4 @@ -% 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> @@ -97,16 +97,4 @@ \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% -} - \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf index bb88b119c18..f3daee3ad09 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf index c36bb499d77..8179112f2e9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf @@ -1,4 +1,4 @@ -% 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 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf index 621ab154095..db99799262c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf @@ -1,4 +1,4 @@ -% 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] @@ -106,7 +106,7 @@ }{} \def\russian@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{russian}% % \declare@shorthand{russian}{"`}{„}% % \declare@shorthand{russian}{"'}{“}% @@ -144,7 +144,7 @@ } \def\norussian@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf index 56d5e31fcc8..5d1effa0918 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf index 8537ac33306..8dd22bf4256 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf index 075acf0e369..1529b9f0eac 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf @@ -1,4 +1,4 @@ -% 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] @@ -19,55 +19,55 @@ % 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 @@ -76,7 +76,7 @@ % 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. diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf index 55c30554cba..63319cef8dc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf index b8da8e04f95..2da53ef5610 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf @@ -1,4 +1,4 @@ -% 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 @@ -11,6 +11,7 @@ \PolyglossiaSetup{serbian}{ bcp47=sr-Latn, bcp47-language=sr, + bcp47-variant=ekavsk, bcp47-script=Latn, bcp47-casing=sr-Latn, langtag=SRB, @@ -27,11 +28,11 @@ % 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} @@ -42,20 +43,32 @@ \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 @@ -86,10 +99,28 @@ \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 @@ -126,13 +157,51 @@ \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{% @@ -161,13 +230,51 @@ \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 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf index 03250b44b10..f52713aaa2c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf index 3be8ac05738..cc3419a78f3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf @@ -1,4 +1,4 @@ -% 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] @@ -62,7 +62,7 @@ } \def\slovak@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{slovak}% \declare@shorthand{slovak}{"=}{\slovak@splhyphen}% \declare@shorthand{slovak}{""}{\hskip\z@skip}% @@ -81,7 +81,7 @@ } \def\noslovak@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \ifxetex diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf index 51bc1a9bc2e..faffa6c3235 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf index 5fdaadb8d47..37032a833ce 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf index e71dcd865e8..1ac9bedce10 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf index 7e04e9542e4..04a033928d2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf index f30fe005773..8a8458496d6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf index 4de057a4661..0e175b20570 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf index 3c735fc1ebf..356cd5fbc5a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf index 592d7bec271..9e325f77d55 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf @@ -1,4 +1,4 @@ -% 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] @@ -25,21 +25,28 @@ \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} @@ -127,10 +134,10 @@ %%% 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}% @@ -167,16 +174,92 @@ \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\nosyriac@xetex@capsformat{% + \ifcsdef{xpg@save@sepmark}{% + \SepMark{\xpg@save@sepmark} + }{}% +} -\def\blockextras@syriac{% - \def\MakeUppercase##1{##1}% +\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 } \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf index 454b2a94945..4579741ee5a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf index c84d8bb6900..1856b06b6ef 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf index 3a999120318..a070ef954df 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf @@ -1,4 +1,4 @@ -% 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: diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf index d028987fcdb..f14568e4539 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf @@ -1,4 +1,4 @@ -% 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 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf index aab1358ec56..cd72f3c6793 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf @@ -1,4 +1,4 @@ -% 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} diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf index d036eb77e4c..16d7c2db4f2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf @@ -1,4 +1,4 @@ -% 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> diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf index 064f6fbe872..0981887ef4f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf @@ -1,4 +1,4 @@ -% 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 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf index 973df91d0e2..b100cfca24a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf @@ -1,4 +1,4 @@ -% 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 @@ -73,7 +73,7 @@ }{} \def\ukrainian@shorthands{% - \bbl@activate{"}% + \xpg@activate@shorthands% \def\language@group{ukrainian}% % \declare@shorthand{ukrainian}{"`}{„}% % \declare@shorthand{ukrainian}{"'}{“}% @@ -113,7 +113,7 @@ } \def\noukrainian@shorthands{% - \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}% + \xpg@deactivate@shorthands% } \def\captionsukrainian{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf index 45756f5f7a1..3994394798e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf index 48449c116ad..8f2312ee62f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf @@ -1,4 +1,4 @@ -% 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] @@ -25,37 +25,49 @@ \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} - -%% TODO USE boolkey instead !!! +\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}% +} + %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} @@ -99,7 +111,7 @@ \def\dateurdu{% \def\today{% \if@hijrical - \Hijritoday[\@hijri@correction]% + \Hijritoday[\urdu@hijri@correction]% \else \@ensure@RTL{\urdunumber\day؍\space\urdugregmonth{\month}% \space\urdunumber\year}% @@ -111,7 +123,7 @@ \number#1% \else %%FIXME use farsidigits instead??? - \protect\arabicdigits{\number#1}% + \@ensure@LTR{\protect\arabicdigits{\number#1}}% \fi} \def\urdu@numbers{% @@ -139,16 +151,92 @@ \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 } \endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf index ebead5288ef..b469d986ee2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf index 72760468cee..1c8be63d48d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf @@ -1,4 +1,4 @@ -% 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) diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf index cde96e7385d..6e80232fdcd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf @@ -1,4 +1,4 @@ -% 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 > diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf index b72c9d0f8bb..ca0c0bb47d0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf @@ -1,4 +1,4 @@ -% 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] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf index 1cd869787ab..1dd014cf874 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf index 4c6d9513d4d..713c27ada01 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf @@ -1,4 +1,4 @@ -% 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)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua index 269aecf2aa8..785d38eb03b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua @@ -1,6 +1,6 @@ -- -- polyglossia-punct.lua --- part of polyglossia v1.62 -- 2023/04/22 +-- part of polyglossia v1.63 -- 2023/06/10 -- require('polyglossia-punct') diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua index 0e2b4f11018..86811d23b6a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua @@ -1,6 +1,6 @@ -- -- 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" diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua index fd0dc509180..8723f5ec10d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua @@ -1,6 +1,6 @@ -- -- polyglossia-latin.lua --- part of polyglossia v1.62 -- 2023/04/22 +-- part of polyglossia v1.63 -- 2023/06/10 -- require('polyglossia-punct') diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua index 0457c586b9e..1adaef690a6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua @@ -1,6 +1,6 @@ -- -- polyglossia-punct.lua --- part of polyglossia v1.62 -- 2023/04/22 +-- part of polyglossia v1.63 -- 2023/06/10 -- require('polyglossia') -- just in case... diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua index d08ad9de08c..47213b2cea9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua @@ -1,6 +1,6 @@ -- -- polyglossia-sanskrit.lua --- part of polyglossia v1.62 -- 2023/04/22 +-- part of polyglossia v1.63 -- 2023/06/10 -- require('polyglossia-punct') diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua index 4138b02c7f3..2c109c4d69f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua @@ -1,6 +1,6 @@ -- -- polyglossia-tibt.lua --- part of polyglossia v1.62 -- 2023/04/22 +-- part of polyglossia v1.63 -- 2023/06/10 -- require('polyglossia') -- just in case... diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua index e28243eab43..752a771363b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua @@ -1,6 +1,6 @@ -- -- 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/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty index a1dda77eb2e..2c2c4d59a10 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty @@ -1,5 +1,5 @@ \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} @@ -1983,7 +1983,8 @@ % 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 @@ -2016,6 +2017,23 @@ \__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 @@ -2023,7 +2041,7 @@ \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% @@ -2156,13 +2174,13 @@ \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} @@ -2212,7 +2230,7 @@ \clist_map_inline:nn { #2 } {% \xpg@parsevariantkeyvalue##1=#3:#1\relax }% - \exp_args:Nne \setkeys{#1}{#2}% + \polyglossia@set@keys:nn{#1}{#2}% } } @@ -2394,20 +2412,34 @@ } \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}{% @@ -2614,7 +2646,7 @@ % 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} } } @@ -2657,7 +2689,7 @@ \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}{% @@ -2676,7 +2708,7 @@ \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}{% @@ -2802,6 +2834,30 @@ \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 { |