summaryrefslogtreecommitdiff
path: root/macros/unicodetex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-12-12 03:00:44 +0000
committerNorbert Preining <norbert@preining.info>2023-12-12 03:00:44 +0000
commit20d530d28645a91e4362d87f1b7559a67cfd0e31 (patch)
tree7f82e96b8af3f57651baf0464c5bee8061e0b7f5 /macros/unicodetex
parent2bc01316d114d0fb18dec7c0f6f7b0aba6c21d66 (diff)
CTAN sync 202312120300
Diffstat (limited to 'macros/unicodetex')
-rw-r--r--macros/unicodetex/latex/polyglossia/README.md4
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.dtx1536
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.pdfbin371303 -> 374493 bytes
3 files changed, 745 insertions, 795 deletions
diff --git a/macros/unicodetex/latex/polyglossia/README.md b/macros/unicodetex/latex/polyglossia/README.md
index f5f86367da..a2f6bf506e 100644
--- a/macros/unicodetex/latex/polyglossia/README.md
+++ b/macros/unicodetex/latex/polyglossia/README.md
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v1.65
+# THE POLYGLOSSIA PACKAGE v1.66
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -27,7 +27,7 @@ Polyglossia makes it possible to automate the following tasks:
# LICENCE
Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2023 Arthur Reutenauer,
-Copyright (c) 2019-2023 Bastien Roucariès, 2019-2023 Jürgen Spitzmüller
+Copyright (c) 2019-2023 Bastien Roucariès, 2019-2023 Jürgen Spitzmüller, 2023 Udi Fogiel
Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
(https://opensource.org/licenses/MIT).
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.dtx b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
index 06fa02dd7a..2adeb09db9 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.dtx
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
@@ -8,7 +8,7 @@
\iffalse
%</internal>
%<*README>
-# THE POLYGLOSSIA PACKAGE v1.65
+# THE POLYGLOSSIA PACKAGE v1.66
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -37,7 +37,7 @@ Polyglossia makes it possible to automate the following tasks:
# LICENCE
Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2023 Arthur Reutenauer,
-Copyright (c) 2019-2023 Bastien Roucariès, 2019-2023 Jürgen Spitzmüller
+Copyright (c) 2019-2023 Bastien Roucariès, 2019-2023 Jürgen Spitzmüller, 2023 Udi Fogiel
Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
(https://opensource.org/licenses/MIT).
@@ -307,6 +307,8 @@ to track the issues and follow progress.
\generate{\file{gloss-nswissgerman.ldf}{\from{polyglossia.dtx}{gloss-nswissgerman.ldf}}}
\generate{\file{gloss-nynorsk.ldf}{\from{polyglossia.dtx}{gloss-nynorsk.ldf}}}
\generate{\file{gloss-occitan.ldf}{\from{polyglossia.dtx}{gloss-occitan.ldf}}}
+\generate{\file{gloss-odia.ldf}{\from{polyglossia.dtx}{gloss-odia.ldf}}}
+\generate{\file{gloss-or.ldf}{\from{polyglossia.dtx}{gloss-or.ldf}}}
\generate{\file{gloss-pa.ldf}{\from{polyglossia.dtx}{gloss-pa.ldf}}}
\generate{\file{gloss-persian.ldf}{\from{polyglossia.dtx}{gloss-persian.ldf}}}
\generate{\file{gloss-piedmontese.ldf}{\from{polyglossia.dtx}{gloss-piedmontese.ldf}}}
@@ -354,6 +356,7 @@ to track the issues and follow progress.
\generate{\file{devanagaridigits.map}{\from{polyglossia.dtx}{devanagaridigits.map}}}
\generate{\file{farsidigits.map}{\from{polyglossia.dtx}{farsidigits.map}}}
\generate{\file{gurmukhidigits.map}{\from{polyglossia.dtx}{gurmukhidigits.map}}}
+\generate{\file{odiadigits.map}{\from{polyglossia.dtx}{odiadigits.map}}}
\generate{\file{thaidigits.map}{\from{polyglossia.dtx}{thaidigits.map}}}
\def\MetaPrefix{-- }
\generate{\file{polyglossia-french.lua}{\from{polyglossia.dtx}{polyglossia-french.lua}}}
@@ -397,7 +400,7 @@ to track the issues and follow progress.
hyperindex=false,
hyperfootnotes=false,
pdftitle={Polyglossia: Modern multilingual typesetting with XeLaTeX and LuaLaTeX},
- pdfauthor={F Charette, A Reutenauer, B Roucariès, J Spitzmüller},
+ pdfauthor={F Charette, A Reutenauer, U Fogiel, B Roucariès, J Spitzmüller},
pdfkeywords={xetex, xelatex, luatex, lualatex, multilingual, babel, hyphenation}
]{hyperref}
\usepackage{array}
@@ -550,7 +553,7 @@ to track the issues and follow progress.
% \\[16pt]
% \color{xpgblue}Polyglossia: Modern multilingual typesetting with \XeLaTeX\ and \LuaLaTeX}
% \author{\TA{François Charette} \and \TA{Arthur Reutenauer}\thanks{Current maintainer}
-% \and \TA{Bastien Roucariès} \and \TA{Jürgen Spitzmüller}}
+% \and \TA{Udi Fogiel} \and \TA{Bastien Roucariès} \and \TA{Jürgen Spitzmüller}}
% \date{\filedate \qquad \fileversion\thanks{Please report bugs to \url{http://github.com/reutenauer/polyglossia/issues}}\\
% \footnotesize (\textsc{pdf} file generated on \today)}
%
@@ -644,29 +647,29 @@ to track the issues and follow progress.
%
% \begin{table}[ht]\centering
% \caption{\label{tab:lang}Languages currently supported in \pkg{polyglossia}}
-% ^^A Produced with tools/insert-language-list.rb -- JS, 2022-11-23
-% ^^A Edited by hand -- JS, 2022-11-23
+% ^^A Produced with tools/insert-language-list.rb -- JS, 2023-11-06
% \begin{tabular}{lllll}
% \toprule
-% \TX{afrikaans} & danish & icelandic & nko & \TX{spanish} \\
-% albanian & divehi & interlingua & \TX{norwegian}& swedish \\
-% amharic & \TX{dutch} & \TX{italian} & occitan & \TX{syriac} \\
-% \TX{arabic} & \TX{english} & japanese & \TX{persian} & tamil \\
-% \TX{armenian} & \TX{esperanto}& kannada & piedmontese & telugu \\
-% asturian & estonian & khmer & \TX{polish} & \TX{thai} \\
-% basque & \TX{finnish} & \TX{korean} &\TX{portuguese}& \TX{tibetan} \\
-% \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} & \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} \\
-% coptic & \TX{hebrew} & malayalam & \TX{slovak} & \\
-% \TX{croatian} & \TX{hindi} & \TX{marathi} & \TX{slovenian}& \\
-% \TX{czech} & \TX{hungarian}& \TX{mongolian}& \TX{sorbian} & \\
+% \TX{afrikaans} & danish & icelandic & nko & \TX{sorbian}\\
+% albanian & divehi & interlingua & \TX{norwegian} & \TX{spanish}\\
+% amharic & \TX{dutch} & \TX{italian} & occitan & swedish \\
+% \TX{arabic} & \TX{english} & japanese & \TX{odia} & \TX{syriac}\\
+% \TX{armenian} & \TX{esperanto} & kannada & \TX{persian} & tamil \\
+% asturian & estonian & khmer & piedmontese & telugu \\
+% basque & \TX{finnish} & \TX{korean} & \TX{polish} & \TX{thai} \\
+% \TX{belarusian} & \TX{french} & \TX{kurdish} & \TX{portuguese} & \TX{tibetan}\\
+% \TX{bengali} & friulian & \TX{lao} & \TX{punjabi} & turkish \\
+% bosnian & \TX{gaelic} & \TX{latin} & romanian & turkmen \\
+% breton & galician & latvian & romansh & \TX{ukrainian}\\
+% bulgarian & \TX{georgian} & lithuanian & \TX{russian} & \TX{urdu} \\
+% \TX{catalan} & \TX{german} & macedonian & \TX{sami} & \TX{uyghur}\\
+% \TX{chinese} & \TX{greek} & \TX{malay} & \TX{sanskrit} & vietnamese\\
+% coptic & \TX{hebrew} & malayalam & \TX{serbian} & \TX{welsh}\\
+% \TX{croatian} & \TX{hindi} & \TX{marathi} & \TX{slovak} & \\
+% \TX{czech} & \TX{hungarian} & \TX{mongolian} & \TX{slovenian} & \\
% \bottomrule
% \end{tabular}
+%
% \end{table}
%
% \paragraph{Version Notes} The support for Amharic\new{1.0.1} should be considered an experimental attempt to
@@ -692,6 +695,8 @@ to track the issues and follow progress.
% compatibility reasons.
% Version 1.46\new{1.46} introduces support for Afrikaans, Belarusian, Bosnian and Georgian.
% Version 1.52\new{1.52} introduces support for Uyghur.
+% Version 1.59\new{1.59} adds support for (simplified and traditional) Chinese and for Punjabi.
+% Version 1.66\new{1.66} introduces support for Odia.
%
%
% \subsection{Relation to and use of Babel language names}\label{sec:babelnames}
@@ -907,6 +912,7 @@ to track the issues and follow progress.
% nl & dutch & \tabularnewline
% nn & norwegian & variant=nynorsk [\emph{default}] \tabularnewline
% oc & occitan & \tabularnewline
+% or & odia & changecounternumbering=false, numerals=Devanagari [\emph{default}] \tabularnewline
% pa & punjabi & numerals=gurmukhi \tabularnewline
% pl & polish & \tabularnewline
% pms & piedmontese & \tabularnewline
@@ -2099,6 +2105,14 @@ to track the issues and follow progress.
% \item \xpgchoicekey[1.45]{variant}{\xpgvalue{bokmal} or \xpgpresetvalue{nynorsk}}
% \end{itemize}
%
+% \subsection[odia]{odia\new{1.66}}\label{odia}
+% \paragraph*{Options:}
+% \begin{itemize}
+% \item \xpgchoicekey{numerals}{\xpgvalue{western}, \xpgpresetvalue{devanagari}, or \xpgvalue{odia}}
+% \item \xpgboolkeyfalse{changecounternumbering}
+% Use specified numerals for headings and page numbers.
+% \end{itemize}
+%
% \subsection{persian}\label{persian}
% \paragraph*{Options:}
% \begin{itemize}
@@ -2735,6 +2749,7 @@ to track the issues and follow progress.
% \item \Cmd\khmerdigits
% \item \Cmd\laodigits
% \item \Cmd\nkodigits
+% \item \Cmd\odiadigits
% \item \Cmd\thaidigits
% \item \Cmd\tibetandigits
% \end{itemize}
@@ -2926,6 +2941,10 @@ to track the issues and follow progress.
% Example: ¦\charifavailable{1E9E}{SS}¦ prints the capital version of the German letter ⟨ß⟩ if available
% (\ie \charifavailable{1E9E}{SS}), else it prints the substitution digraph SS.
%
+% With the test\new{1.66} \displaycmd{\IfCharIsAvailableTF\marg{char code}\marg{true condition}\marg{false condition}}{\IfCharIsAvailableTF}
+% you can test for the availability of a character and execute different code depending whether or not this is the case
+% (this replaces the undocument internal command \cmd{\xpg@if@char@available}).
+%
%
% \section{Accessing language information}\label{sec:langinfo}
%
@@ -3007,9 +3026,31 @@ to track the issues and follow progress.
% \noindent Finally, if you want to know whether a specific language option has been set, you can use\new{1.47}
% \displaycmd{\iflanguageoption\marg{lang}\marg{key}\marg{value}\marg{true}\marg{false}}{\iflanguageoption}
%
+%
% \section{Revision history}
%
% \bgroup\footnotesize
+% \subsection*{1.66 (2023/12/02)}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix OpenType language and script tags in Chinese (\TXI{606}).
+% \item Fix resetting of language specifications at the end of a local font
+% set with \pkg{babel} legacy means (\cmd{\foreignlanguage} or \texttt{otherlanguage*}
+% environment) (\TXI{607}).
+% \item Fix lowercasing of \cmd{\textlang}'s first mandatory argument.
+% Now the casing does not change (language tag was lower-cased always) (\TXI{608}).
+% \item Add missing BCP-47 alias for Khmer (\TXI{611}).
+% \item Stop \cmd{\charifavailable} from looking ahead for more numbers or gobbling a space (\TXI{613}).
+% \end{itemize}
+%
+% \subsubsection*{New Features}
+% \begin{itemize}
+% \item Add support for Odia, provided by \TA{Avisek Jena} and \TA{Ashok Das}.
+% \item New auxiliary package ¦odiadigits¦
+% \item Add auxiliary command \cmd{\IfCharIsAvailableTF} to complement \cmd{\charifavailable}.
+% \end{itemize}
+%
% \subsection*{1.65 (2023/10/01)}
%
% \subsubsection*{Bug fixes}
@@ -4027,13 +4068,14 @@ to track the issues and follow progress.
% \section{More acknowledgements (by the current development team)}
% 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{Udi Fogiel}, \TA{Philipp Gesang}, \TA{Kevin Godby},
+% In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Matthew Bertucci}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz},
+% \TA{Ashok Das}, \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{Marcin Serwin}, \TA{Arvinder Singh}, \TA{Avisek Jena}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka},
+% \TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Andrey Zgarbul}, \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}.
%
@@ -4059,20 +4101,14 @@ to track the issues and follow progress.
% \subsection{polyglossia.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2023/10/01 v1.65
- Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
+\ProvidesExplPackage
+ {polyglossia} {2023/12/11} {v1.66}
+ {Modern multilingual typesetting with XeLaTeX and LuaLaTeX}
\RequirePackage{etoolbox}
-\RequirePackage{makecmds}
\RequirePackage{xkeyval}[2008/08/13]
% Will raise error if used with anything else than XeTeX or LuaTeX
\RequirePackage{fontspec}[2010/06/08]% v2.0
\RequirePackage{iftex}
-\RequirePackage{expl3}
-\RequirePackage{l3keys2e}
-\RequirePackage{xparse}
-
-% fontspec now uses LaTeX3 packages such as expl3, so we need this:
-\ExplSyntaxOn
% Execute code #3 if package #1 has been loaded already, else
% add to package hook #2
@@ -4080,23 +4116,7 @@ to track the issues and follow progress.
\@ifpackageloaded{#1}{#3}{\AddToHook{#2}{#3}}%
}
-% safe according to expl3 bug #960
-\cs_generate_variant:Nn \prop_item:Nn { Ne, Nf, No, Nx }
-\cs_generate_variant:Nn \clist_set:Nn { Ne, Nf, No, Nx }
-\cs_generate_variant:Nn \clist_gput_right:Nn {Ne}
-\cs_generate_variant:Nn \prop_get:NnN {NeN}
-\cs_generate_variant:Nn \prop_gput:Nnn {Nne, Nee, Nen}
-\cs_generate_variant:Nn \cs_gset:Npn {Npe}
-\cs_generate_variant:Nn \cs_new:Nn {Ne}
-\cs_generate_variant:Nn \cs_new_nopar:Nn {Ne}
-\cs_generate_variant:Nn \cs_gset_nopar:Npn {Npe}
-\cs_generate_variant:Nn \cs_gset_nopar:Npn {cpe}
-\cs_generate_variant:Nn \tl_set:Nn {Ne}
-\cs_generate_variant:Nn \str_foldcase:n {e}
-\prg_generate_conditional_variant:Nnn \file_if_exist:n {e} {TF, T, F, p}
-\prg_generate_conditional_variant:Nnn \tl_if_blank:n {e} {TF, T, F, p}
-\prg_generate_conditional_variant:Nnn \clist_if_in:Nn {Ne} {TF, T, F, p}
-\prg_generate_conditional_variant:Nnn \prop_if_in:Nn {Ne} {TF, T, F, p}
+\prg_generate_conditional_variant:Nnn \clist_if_in:Nn {Ne} {TF, T, F} % check if needed
% correct a bug in tracklang
\__xpg_at_package_hook:nnn{tracklang}{file/tracklang.sty/after}{%
\@ifpackagelater{tracklang}{2019/08/30}{}{\global\def\AddTrackedLangage{\AddTrackedLanguage}}
@@ -4105,10 +4125,10 @@ to track the issues and follow progress.
%% This is for compatibility with Babel-aware package:
\def\languageshorthands#1{\relax} % this is for scrlttr2 class
\def\bbl@cs#1{\csname bbl@#1\endcsname}
-\AtEndPreamble{\let\bbl@set@language\xpg@set@language@aux} %for biblatex
-\AtEndPreamble{\let\bbl@main@language\xpg@main@language} %for biblatex
-\AtEndPreamble{
- \providecommand\texorpdfstring[2]{#1} % dummy command if hyperref is not loaded
+\AddToHook{begindocument/before}{
+ \let\bbl@set@language\xpg@set@language@aux % for biblatex
+ \let\bbl@main@language\xpg@main@language % for biblatex
+ \providecommand\texorpdfstring[2]{#1} % dummy command if hyperref is not loaded
}
\sys_if_engine_luatex:T{
@@ -4201,7 +4221,7 @@ to track the issues and follow progress.
% error out if lang is not loaded
\cs_new_nopar:Nn \polyglossia@error@iflangnotloaded:n
{
- \seq_if_in:NxF \__xpg_langs_loaded {#1}
+ \seq_if_in:NeF \__xpg_langs_loaded {#1}
{
\xpg@error{language~ #1~ is~ not~ loaded.~ Please~ load~ it~ before~ using~ it.}
}
@@ -4237,16 +4257,12 @@ to track the issues and follow progress.
\def\@@ensure@maindir#1{\ifcsundef{@ensure@maindir}{#1}{\@ensure@maindir{#1}}}
%% Used by the language definitions files for right-to-left languages
-\def\RequireBidi{
- \str_case_e:nnF{\c_sys_engine_str}{
- {luatex}{\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi}
- {xetex}{\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi}
- }
+\def\RequireBidi
{
- \xpg@warning{You’re running a TeX engine that is not LuaTeX or XeTeX.\MessageBreak
- That is almost guaranteed to cause problems.}
+ \sys_if_engine_luatex:TF
+ {\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi}
+ {\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi}
}
-}
% if #1 is LR run #2 else #3
\prg_set_conditional:Nnn \__xpg_if_LR_str:n {p, T, F, TF}
@@ -4296,7 +4312,6 @@ to track the issues and follow progress.
\RLE
}
}
- \ExplSyntaxOff
}
\__xpg_at_package_hook:nnn{luabidi}{package/luabidi/after}{
\cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{
@@ -4320,18 +4335,9 @@ to track the issues and follow progress.
}
% emulate \RTLmain
-\cs_new_nopar:Nn \__xpg_setRTLmain: {}
-\str_case_e:nnF{\c_sys_engine_str}{
- {luatex}{\cs_gset:Nn \__xpg_setRTLmain: {\setRTLmain}}
- {xetex}{\cs_gset:Nn \__xpg_setRTLmain: {\@RTLmaintrue\setnonlatin}}
-}
-{
- \cs_gset:Nn \__xpg_setRTLmain:
- {
- \xpg@warning{You’re~ running a~ TeX~ engine~ that~ is~ not~ LuaTeX~ or~ XeTeX.\MessageBreak
- That~ is~ almost~ guaranteed~ to~ cause~ problems.}
- }
-}
+\sys_if_engine_luatex:TF
+ { \cs_new_nopar:Nn \__xpg_setRTLmain: { \setRTLmain } }
+ { \cs_new_nopar:Nn \__xpg_setRTLmain: { \@RTLmaintrue\setnonlatin } }
%% compatibility with babel
\let\addto\gappto % gappto is defined in etoolbox
@@ -4356,7 +4362,6 @@ to track the issues and follow progress.
\newcommand*\PolyglossiaSetup[2]{
\polyglossia@keys_define_lang:n{#1}
\keys_set:nn { polyglossia / #1 } { #2 }
- \prop_log:N{\polyglossia@langsetup}
\polyglossia_setup_hyphen:n {#1}
%define booleans etoolbox style and set defaults
%% TODO ? \providetoggle{#1@setup@done}%
@@ -4364,16 +4369,18 @@ to track the issues and follow progress.
\csgdef{init@extras@#1}{}
\csgdef{init@noextras@#1}{} % we don't use this yet: remove?
% here we do the fontsetup:
- \polyglossia@lang@autosetupfont:n{#1}
+ \xpg__auto_setupfont:n { #1 }
%% TODO? \toggletrue{#1@setup@done}
- % reinit \do
- \def\do##1{\setotherlanguage{##1}}
% register base alias
\xpg_language_alias { #1 } { #1 }
}
-% Adjust language key setting after initial setup
-% This is needed, e.g., for languages with varying script
+% Adjust language key setting after initial setup.
+% Principally any key can be altered this way.
+% The command is mainly used in gloss file where
+% different options (variant, script, etc.) result
+% in different babel names, bcp47 specification,
+% or OpenType language or script tags.
\DeclareDocumentCommand \SetLanguageKeys { m m }
{
\clist_map_inline:nn { #1 } { \keys_set:nn { polyglossia / ##1 } { #2 } }
@@ -4475,8 +4482,8 @@ to track the issues and follow progress.
#1 / script
.code:n = {
\prop_gput:Nnn{\polyglossia@langsetup}{#1/script}{##1}
- \prop_gput:Nnx{\polyglossia@langsetup}{#1/lcscript}
- {\tl_if_empty:nF{##1}{\str_lowercase:n##1}}
+ \prop_gput:Nne{\polyglossia@langsetup}{#1/lcscript}
+ {\tl_if_empty:nF{##1}{\str_lowercase:n{##1}}}
},
#1 / script
.value_required:n = true,
@@ -4495,7 +4502,7 @@ to track the issues and follow progress.
#1 / language
.value_required:n = true,
#1 / language
- .initial:x = {\str_upper_case:n#1},
+ .initial:x = {\str_uppercase:n#1},
% the language tag
#1 / langtag
.code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/langtag}{##1}},
@@ -4570,7 +4577,7 @@ to track the issues and follow progress.
#1 / hyphennames
.code:n = {
\clist_set:Nn{\l_tmpa_clist}{##1}
- \prop_gput:Nnx{\polyglossia@langsetup}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}}
+ \prop_gput:Nne{\polyglossia@langsetup}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}}
},
#1 / hyphennames
.value_required:n = true,
@@ -4615,50 +4622,17 @@ to track the issues and follow progress.
#1 / totalhyphenmin
.value_required:n = false,
% frenchspacing
- #1 / frenchspacing
- .code:n = {
- \str_case_e:nnTF{##1}{
- {true}{}
- {false}{}
- }
- {}
- {\xpg@error{frenchspacing~should~be~true~or~false. Is~ "##1"~ for~ language~ "#1"}}
- \prop_gput:Nnn{\polyglossia@langsetup}{#1/frenchspacing}{##1}
- },
- #1 / frenchspacing
- .default:n = true,
- #1 / frenchspacing
- .initial:n = false,
+ #1 / frenchspacing .bool_gset:c = g__xpg_#1_fs_bool ,
+ #1 / frenchspacing .default:n = true ,
+ #1 / frenchspacing .initial:n = false ,
% indent first line
- #1 / indentfirst
- .code:n = {
- \str_case_e:nnTF{##1}{
- {true}{}
- {false}{}
- }
- {}
- {\xpg@error{indentfirst~should~be~true~or~false. Is~ "##1"~ for~ language "#1"}}
- \prop_gput:Nnn{\polyglossia@langsetup}{#1/indentfirst}{##1}
- },
- #1 / indentfirst
- .default:n = true,
- #1 / indentfirst
- .initial:n = false,
+ #1 / indentfirst .bool_gset:c = g__xpg_#1_if_bool ,
+ #1 / indentfirst .default:n = true ,
+ #1 / indentfirst .initial:n = false ,
% fontsetup
- #1 / fontsetup
- .code:n = {
- \str_case_e:nnTF{##1}{
- {true}{}
- {false}{}
- }
- {}
- {\xpg@error{fontsetup~should~be~true~or~false. Is "##1"~ for~ language~ "#1"}}
- \prop_gput:Nnn{\polyglossia@langsetup}{#1/fontsetup}{##1}
- },
- #1 / fontsetup
- .default:n = true,
- #1 / fontsetup
- .initial:n = false,
+ #1 / fontsetup .bool_gset:c = g__xpg_#1_fontsetup_bool ,
+ #1 / fontsetup .default:n = true ,
+ #1 / fontsetup .initial:n = false ,
% environment name
#1 / envname
.code:n = {
@@ -4703,220 +4677,64 @@ to track the issues and follow progress.
\polyglossia@Clang@@arabic{#2}
}
-% print using main language
-% #2 is the numeral to print
-% #3 is the mainlanguage (should be expanded)
-% #4 is the current language (should be expanded)
-% #1 is the option list (should be expanded)
-% #5 is the name of the field to use
-\cs_new:Nn \polyglossia_localnumeral_mainlang:nnnnn {
- \foreignlanguage{#3}{\use:c {\prop_item:Nn \polyglossia@langsetup {#3/#5}} {#1} {#2}}
-}
-
+\tl_new:N \l__xpg_localnumeral_tl
+\bool_new:N \l__xpg_localnumeral_bool
-% print using local language
-% #2 is the numeral to print
-% #3 is the mainlanguage (should be expanded)
-% #4 is the current language (should be expanded)
-% #1 is the option list (should be expanded)
-% #5 is the name of the field to use
-\cs_new:Nn \polyglossia_localnumeral_locallang:nnnnn {
- \use:c {\prop_item:Nn \polyglossia@langsetup {#4/#5}} {#1} {#2}
-}
-
-% this function try to resolve some simple parameter about lang
-% call #2 then branching if found
-% call parameter #3 if not found
-% (use curing)
-\cs_new:Npn \polyglossia_localnumeral_callshortcutorlong:nF #1#2 {
- \str_case:nnF{#1}{
- {lang=local}{\polyglossia_localnumeral_locallang:nnnnn}
- }
- {#2}
-}
-
-\cs_new:Npn \polyglossia_iii_map_csv_field_split_kv_iii_localnumeral:w #1 = #2 \q_stop {
- \str_case:nnF{#2}{
- {local} {\clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnnn }}
- {default}{\clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnnn }}
- {*} {\clist_map_break:n{\use_i:nn\polyglossia_localnumeral_mainlang:nnnnn }}
- {main} {\clist_map_break:n{\use_i:nn\polyglossia_localnumeral_mainlang:nnnnn }}
- }{
- \clist_map_break:n{ \use_i_ii:nnn \polyglossia_localnumeral_langlang:nnnnnn {{#2}} }
- }
-}
-
-
-% call the language
-% #3 is the numeral to print
-% #4 is the mainlanguage (should be expanded)
-% #5 is the current language (should be expanded)
-% #2 is the option list (should be expanded)
-% #6 is the name of the field to use
-% #1 is the language used
-\cs_new:Nn \polyglossia_localnumeral_langlang:nnnnnn {
- \foreignlanguage{#1}{\use:c {\prop_item:Nn \polyglossia@langsetup {#1/#6}} {#2} {#3}}
-}
-
-
-% check if empty value
-\cs_new:Npn \polyglossia_iii_map_csv_field_split_kv_ii_localnumeral:w #1 #2 = #3 \q_stop {
- \quark_if_no_value:NTF {#3}
+\keys_define:nn { polyglossia / localnumeral }
{
- \clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnnn}
+ lang .choice:,
+ lang / main .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { \mainlanguagename } ,
+ lang / local .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { \languagename }
+ \bool_set_true:N \l__xpg_localnumeral_bool ,
+ lang / unknown .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { #1 } ,
}
+
+\cs_new:Npn \__xpg_localnumeral:nnn #1 #2 #3
{
- \polyglossia_iii_map_csv_field_split_kv_iii_localnumeral:w #1 \q_stop
+ \group_begin:
+ \keys_set:ne { polyglossia / localnumeral } { #2 }
+ \bool_if:NF \l__xpg_localnumeral_bool { \foreignlanguage { \l__xpg_localnumeral_tl } }
+ { \use:c { \prop_item:Ne \polyglossia@langsetup
+ { \l__xpg_localnumeral_tl / #3 } } { } { #1 } }
+ \group_end:
}
-}
-\cs_new:Npn \polyglossia_iii_map_csv_field_split_kv_i_localnumeral:nw #1 #2 = #3 \q_stop {
- % parse only lang tag
- \tl_trim_spaces_apply:nN {#2} \str_if_eq:nnT {lang}
+\NewDocumentCommand \localnumeral { s ={ lang } O{ local } m }
{
- % if empty value
- \quark_if_nil:nTF{#3}
- {
- \clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnn}
- }
- {
- % here we know what we have an equal sign
- \polyglossia_iii_map_csv_field_split_kv_ii_localnumeral:w {#1} #1 \q_no_value \q_stop
- }
+ \IfBooleanTF { #1 }
+ {
+ \exp_args:Nc \__xpg_localnumeral:nnn { c@#3 } { #2 } { localnumeral }
+ }
+ {
+ \__xpg_localnumeral:nnn { #3 } { #2 } { localnumeral }
+ }
}
-}
-% map function
-\cs_new:Nn \polyglossia_iii_map_csv_localnumeral:n {
- % fast case is do nothing is empty
- \tl_if_empty:nF{#1}
+\NewDocumentCommand \Localnumeral { s ={ lang } O{ local } m }
{
- \polyglossia_iii_map_csv_field_split_kv_i_localnumeral:nw {#1} #1 = \q_nil \q_stop
+ \IfBooleanTF { #1 }
+ {
+ \exp_args:Nc \__xpg_localnumeral:nnn { c@#3 } { #2 } { Localnumeral }
+ }
+ {
+ \__xpg_localnumeral:nnn { #3 } { #2 } { Localnumeral }
+ }
}
-}
-
-% treat option is empty and option is lang=local
-% #2 number
-% #3 mainlanguage
-% #4 locallanguage
-% #5 field to call
-% #1 option
-% strip space to option
-\cs_new:Nn \polyglossia_iii_localnumeral:nnnnn {
- \tl_if_blank:nTF{#1}
- {
- \polyglossia_localnumeral_mainlang:nnnnn
+\cs_new_nopar:Npn \xpg__french_spacing:n #1
+ {
+ \bool_if:cTF { g__xpg_#1_fs_bool }
+ { \frenchspacing } { \nonfrenchspacing }
}
+
+\cs_new_nopar:Npn \xpg__indent_first:n #1
{
- \str_if_eq:nnTF{#1}{lang=local}
- {
- \polyglossia_localnumeral_locallang:nnnnn
- }
- {
- % use postscript like trick push to stack {#1} {#2} {#3} {#4}
- \polyglossia_localnumeral_callshortcutorlong:nF {#1}
- {
- % same trick here if found we emit \use_i:nn
- % thus discarding the default choice that is not lang specified thus local
- \clist_map_function:nN {#1} {\polyglossia_iii_map_csv_localnumeral:n}
- \polyglossia_localnumeral_locallang:nnnnn
- }
- }
- {#1} {#2} {#3} {#4} {#5}
+ \bool_if:cTF { g__xpg_#1_if_bool }
+ { \french@indent } { \nofrench@indent }
}
-}
-
-
-% internal helper useful for oeee and onnn
-% #1 number
-% #2 mainlanguage
-% #3 locallanguage
-% #4 option
-% #5 field to call
-% strip space to option
-\cs_new:Nn \polyglossia_ii_localnumeral:nnnnn {
- \tl_trim_spaces_apply:nN {#4} \polyglossia_iii_localnumeral:nnnnn {#1}{#2}{#3}{#5}
-}
-\cs_generate_variant:Nn \polyglossia_ii_localnumeral:nnnnn {
- eeenn, eeeon, eeeen
-}
-
-% convert the counter to value
-% #1 counter
-% #2 mainlanguage
-% #3 locallanguage
-% #4 option
-\cs_new:Nn \polyglossia_i_localnumeral:nnnnn
-{
- \polyglossia_ii_localnumeral:eeeen {\int_value:w #1} {#2} {#3} {#4} {#5}
-}
-
-% print number usage \localnumeral[option]{numeral}
-% or \localnumeral*[option]{counter}
-% \Localnumeral[]{numeral} use main language
-% \localnumeral{numeral} use local language
-\NewExpandableDocumentCommand{\localnumeral}{som}
-{
- \IfBooleanTF{#1}%
- {% starred: take counter
- \exp_args:Nc \polyglossia_i_localnumeral:nnnnn {c@#3}
- {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {localnumeral}
- }{% unstarred: take number
- \polyglossia_ii_localnumeral:eeeen {\int_eval:n{#3}}
- {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {localnumeral}
- }
-}
-
-% print number usage \Localnumeral[option]{numeral}
-% or \Localnumeral*[option]{counter}
-% \Localnumeral[]{numeral} use main language
-% \localnumeral{numeral} use local language
-\NewExpandableDocumentCommand{\Localnumeral}{som}
-{
- \IfBooleanTF{#1}
- {% starred: take counter
- \exp_args:Nc \polyglossia_i_localnumeral:nnnnn {c@#3}
- {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {Localnumeral}
- }{% unstarred: take number
- \polyglossia_ii_localnumeral:eeeon {\int_eval:n{#3}}
- {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {Localnumeral}
- }
-}
-
-\cs_new_nopar:Nn{\polyglossia@lang@frenchspacing:n}{
- \prop_get:NxNTF \polyglossia@langsetup {#1/frenchspacing} \l_tmpa_tl
- {
- \str_case_e:nnF{\l_tmpa_tl}{
- {true}{\frenchspacing}
- {false}{\nonfrenchspacing}
- }
- {\xpg@error{frenchspacing~should~be~true~or~false. Is~"\l_tmpa_ttl"~ for~ language~ "#1"}}
- }
- {
- \xpg@error{Could~ not~ retrieve~ key~ frenchspacing~ for~ language~ "#1"}
- \prop_show:N{\polyglossia@langsetup}
- }
-}
-
-\cs_new_nopar:Nn{\polyglossia@lang@indentfirst:n}{
- \prop_get:NxNTF \polyglossia@langsetup {#1/indentfirst} \l_tmpa_tl
- {
- \str_case_e:nnF{\l_tmpa_tl}{
- {true}{\french@indent}
- {false}{\nofrench@indent}
- }
- {\xpg@error{indentfirst~should~be~true~or~false. Is~"\l_tmpa_ttl"~ for~ language~ "#1"}}
- }
- {
- \xpg@error{Could~ not~ retrieve~ key~ indentfirst~ for~ language~ "#1"}
- \prop_show:N{\polyglossia@langsetup}
- }
-}
-
\cs_new:Nn{\polyglossia@lang@setpardirection:n}{
- \prop_get:NxNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl
+ \prop_get:NeNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl
{
\polyglossia@setpardirection:n{\l_tmpa_tl}
}
@@ -4928,7 +4746,7 @@ to track the issues and follow progress.
\cs_new:Nn{\polyglossia@lang@settextdirection:nn}{
- \prop_get:NxNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl
+ \prop_get:NeNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl
{
\polyglossia@settextdirection:n{\l_tmpa_tl}{#2}
}
@@ -4938,10 +4756,6 @@ to track the issues and follow progress.
}
}
-\AtEndDocument{
- \prop_log:N{\polyglossia@langsetup}
- \prop_log:N{\__xpg_alias}
-}
\def\xpg@lastlanguage{0}
\providebool{xpg@hyphenation@disabled}
@@ -4983,8 +4797,8 @@ to track the issues and follow progress.
%\def\xpg@fontsetup@none#1{\csgdef{#1@font}{\ifcsdef{#1font}{\csname #1font\endcsname}{}}} %<-- simplistic
%\def\xpg@fontsetup@custom#1{\csuse{#1@font}}
-\cs_new:Nn \polyglossia@lang@autosetupfont:n {
- \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/fontsetup}}{true}
+\cs_new:Npn \xpg__auto_setupfont:n #1 {
+ \bool_if:cTF { g__xpg_#1_fontsetup_bool }
{
\str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin}
{\xpg@fontsetup@latin{#1}}
@@ -5223,8 +5037,7 @@ to track the issues and follow progress.
%% when no patterns are available, we use \l@nohyphenation, assigned to 255
%% (suggestion by Enrico Gregorio)
-\str_case_e:nn{\c_sys_engine_str}{
- {luatex}
+\sys_if_engine_luatex:TF
{
\@ifundefined{l@nohyphenation}
{\chardef\l@nohyphenation=\directlua{
@@ -5232,12 +5045,9 @@ to track the issues and follow progress.
}
{}
}
- {xetex}
{
\@ifundefined{l@nohyphenation}{\chardef\l@nohyphenation=255 }{}
}
-}
-
%we call this macro when a gloss file is not found for a given language
\def\xpg@nogloss#1{
@@ -5300,7 +5110,7 @@ to track the issues and follow progress.
% try to load a language file
\cs_new:Nn \polyglossia_load_lang_definition:nn {
- \file_if_exist:eTF{gloss-#2.lde}
+ \file_if_exist:nTF{gloss-#2.lde}
{
\RequireLanguageDefinitionExtension[#1]{#2}
\setkeys{#2}{#1}
@@ -5333,14 +5143,14 @@ to track the issues and follow progress.
% load a master language from an alias file
\newcommand*\xpg@load@master@language[1] {
- \file_if_exist:eTF{gloss-#1.lde}
+ \file_if_exist:nTF{gloss-#1.lde}
{
\RequireLanguageDefinitionExtension{#1}
}
{
\xpg@input{gloss-#1.ldf}
}
- \seq_if_in:NxF \__xpg_langs_loaded {#1}
+ \seq_if_in:NeF \__xpg_langs_loaded {#1}
{
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1} {
@@ -5375,9 +5185,6 @@ to track the issues and follow progress.
}
\cs_generate_variant:Nn \xpg_define_language_commands:n {e}
-\AtBeginDocument{
- \prop_log:N{\__xpg_alias}
-}
% resolve alias property #1 lang #2 item
\cs_new:Nn \xpg_alias_prop_item:nn {
@@ -5489,19 +5296,17 @@ to track the issues and follow progress.
% The starred version does not define commands and environments
\IfBooleanF {#1}
{
- \exp_args:Nc \providecommand {text#4} [2][] {}
- \exp_args:Nc \renewcommand {text#4} [2][]
- {
- \__xpg_textlanguage:een{##1}{#4}{##2}
- }
- \exp_args:Nc \providecommand {#4} {}
- \exp_args:Ne \renewenvironment {#4}
- {
- \begin{otherlanguage}{#4}
- }
- {
- \end{otherlanguage}
- }
+ \exp_args:Nc \DeclareDocumentCommand {text#4} { O{} m }
+ {
+ \__xpg_textlanguage:een {##1} {#4} {##2}
+ }
+ \DeclareDocumentEnvironment { #4 } { }
+ {
+ \begin{otherlanguage}{#4}
+ }
+ {
+ \end{otherlanguage}
+ }
}
\tl_clear_new:N \__xpg_alias_option_tl
\prop_clear_new:N \__xpg_language_alias_prop
@@ -5543,7 +5348,7 @@ to track the issues and follow progress.
\clist_gput_right:Ne \xpg@loaded {\xpg_alias_base_lang:n{##2}}
}
}
- \seq_if_in:NxF \__xpg_langs_loaded {#2}
+ \seq_if_in:NeF \__xpg_langs_loaded {#2}
{
\polyglossia_load_lang_definition:nn{#1}{#2}
% define environment and command if not alias
@@ -5552,9 +5357,9 @@ to track the issues and follow progress.
{#2/DefineCommandsCmd}}
{#2}
}
- \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2}
+ \seq_gput_right:Ne \__xpg_langs_loaded {#2}
}
- \polyglossia@set@default@language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}}
+ \exp_args:Nee \polyglossia@set@default@language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}
}
@@ -5628,18 +5433,11 @@ to track the issues and follow progress.
% Set luatex main language
\sys_if_engine_luatex:T
{
- \directlua{polyglossia.set_default_language('\luatexluaescapestring{\string#2}')}%
+ \directlua{polyglossia.set_default_language('\luaescapestring{\string#2}')}%
}
}
-\cs_generate_variant:Nn\polyglossia@set@default@language:nn {
- ee, ef, en, eo, ex,
- fe, ff, fn, fo, fx,
- ne, nf, no, nx,
- oe, of, on, oo, ox,
- xe, xf, xn, xo, xx
-}
-\let\setmainlanguage=\setdefaultlanguage
+\DeclareCommandCopy \setmainlanguage \setdefaultlanguage
% Returns the language ID of the current language
% Currently supported: bcp-47
@@ -5975,7 +5773,7 @@ to track the issues and follow progress.
% Declare secondary language #2 with language options #1
\DeclareDocumentCommand \setotherlanguage { O{} m }
{
- \seq_if_in:NxF \__xpg_langs_loaded {#2}
+ \seq_if_in:NeF \__xpg_langs_loaded {#2}
{
\polyglossia_load_lang_definition:ee {#1} {#2}
% define environment and command if not alias
@@ -5986,7 +5784,7 @@ to track the issues and follow progress.
}
\polyglossia@set@other@language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}
- \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2}
+ \seq_gput_right:Ne \__xpg_langs_loaded {#2}
}
}
@@ -5999,7 +5797,7 @@ to track the issues and follow progress.
\polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@other@langvariant}
\csgdef{#2@gvar}{\otherlanguagevariant}
- \prop_get:NxNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl
+ \prop_get:NeNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl
{ \xdef\otherlanguagebabelname{\l_tmpa_tl} }
\cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname}
}
@@ -6017,9 +5815,10 @@ to track the issues and follow progress.
\gdef\otherlanguagevariant{#1}
}
-\newcommand\setotherlanguages[1]{
- \def\do##1{\setotherlanguage{##1}}
- \exp_args:Nx\docsvlist{#1}}
+\NewDocumentCommand \setotherlanguages { m }
+ {
+ \clist_map_function:eN { #1 } \setotherlanguage
+ }
\def\common@language{% FIXME is this really needed???
\ifbool{xpg@hyphenation@disabled}{
@@ -6040,9 +5839,13 @@ to track the issues and follow progress.
% where \text<alias> would cause clashes
% (e.g., \textit)
\newcommand\textlang[3][]{
- \xpg@str@lowercase{\xpg@tmp@lang}{#2}
- \__xpg_textlanguage:een {#1} {\xpg@tmp@lang} {#3}
-}%
+ \__xpg_textlanguage:een {#1} {#2} {#3}
+}
+
+% prevent the language tag in \textlang
+% (second argument) from being affected
+% inside case changing commands (e.g. \MakeUppercase)
+\tl_put_right:Nn \l_text_case_exclude_arg_tl { \textlang }
% Alias to {<lang>}, but more suitable
% for specific (esp. tag-based) aliases
@@ -6121,6 +5924,30 @@ to track the issues and follow progress.
\polyglossia@setforeignlanguage[#1]{#2}
}
+% Stack to store matrix languages
+\seq_new:N \__xpg_current_matrixlang_stack
+
+% Store embedding language when an embedded language is switched to
+\cs_new_nopar:Nn \__xpg_store_matrixlang:
+{
+ \seq_gput_left:Nn \__xpg_current_matrixlang_stack \languagename
+}
+
+% When an embedded language is closed, reset to the embedding language
+% and remove stored matrix language from stack
+\cs_new_nopar:Nn \__xpg_reset_to_matrixlang:
+{
+ % if stack is empty, use main language
+ \seq_gpop_left:NNTF \__xpg_current_matrixlang_stack \l_tmpa_tl
+ { \cs_set_eq:NN \__xpg_current_matrixlang \l_tmpa_tl }
+ { \cs_set_eq:NN \__xpg_current_matrixlang \mainlanguagename }
+ % Reset the language's/script's font families if the embedding script is latin
+ \str_if_eq:eeT{\prop_item:Ne{\polyglossia@langsetup}{\__xpg_current_matrixlang/lcscript}}{latin}
+ {\resetfontlatin}
+ % In case a \<lang>font is defined, re-activate that
+ \exp_args:Ne \xpg@set@normalfont{\__xpg_current_matrixlang}
+}
+
% internal wrapper for foreign language
% #1 option
% #2 alias
@@ -6132,10 +5959,12 @@ to track the issues and follow progress.
{
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}{
+ \__xpg_store_matrixlang:
\group_begin:
\xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3}
\polyglossia@lang@settextdirection:nn{#3}{#4}
\group_end:
+ \__xpg_reset_to_matrixlang:
}
}
\cs_generate_variant:Nn \__xpg_foreignlanguage:nnnn {eeen}
@@ -6146,9 +5975,13 @@ to track the issues and follow progress.
\renewenvironment{otherlanguage*}[2][]
{%
+ \__xpg_store_matrixlang:
\__xpg_otherlanguage:eee {#1} {#2} {\xpg_alias_base_lang:n{#2}}
}
-{\egroup}
+{
+ \egroup
+ \__xpg_reset_to_matrixlang:
+}
% internal wrapper
% #1 option
@@ -6196,8 +6029,7 @@ to track the issues and follow progress.
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}
{
- % Store embedding language name
- \global\let\xpg@save@languagename\languagename
+ \__xpg_store_matrixlang:
\group_begin:
\bool_set_true:N \__xpg_inline_lang
\xpg@otherlanguage[#1]{#3}
@@ -6207,11 +6039,7 @@ to track the issues and follow progress.
\cs_if_exist_use:c{date@bbl@\babelname}
\polyglossia@lang@settextdirection:nn{#3}{#4}
\group_end:
- % Reset the language's/script's font families if the embedding script is latin
- \str_if_eq:eeT{\prop_item:Ne{\polyglossia@langsetup}{\xpg@save@languagename/lcscript}}{latin}
- {\resetfontlatin}
- % In case a \<lang>font is defined, re-activate that
- \xpg@set@normalfont{\xpg@save@languagename}
+ \__xpg_reset_to_matrixlang:
}
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen}
@@ -6273,7 +6101,7 @@ to track the issues and follow progress.
}
\sys_if_engine_luatex:T
{
- \directlua{polyglossia.select_language('\luatexluaescapestring{\string#3}',
+ \directlua{polyglossia.select_language('\luaescapestring{\string#3}',
\the\csname l@#3\endcsname)}
}
\polyglossia@register@language:nn{#2}{#3}
@@ -6418,36 +6246,28 @@ to track the issues and follow progress.
}
% Check if the current font has a given glyph
-\prg_set_conditional:Npnn \polyglossia@check@if@char@available:N #1 { p , T , F , TF }
-{
- \str_case_e:nnF{\c_sys_engine_str}{
- {luatex}{
- \int_compare:nNnTF { \directlua{polyglossia.check_char(0x#1)} } > { 0 }
- {\prg_return_true:}
- {\prg_return_false:}
- }
- {xetex}{
- \int_compare:nNnTF { \the\XeTeXcharglyph"#1 } > { 0 }
- {\prg_return_true:}
- {\prg_return_false:}
- }
- }
+\prg_new_conditional:Npnn \__polyglossia_if_char:N #1 { TF }
{
- \xpg@warning{You’re ~ running ~ a ~ TeX engine ~ that ~ is ~
- not ~ LuaTeX ~ or ~ XeTeX.\MessageBreak
- That~ is~ almost~ guaranteed~ to~ cause~ problems.}
- \prg_return_false:
+ \iffontchar\font\int_from_hex:n { #1 }~
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
}
-}
% Test if a char (by char code) is available in the current font
-\newcommand*\xpg@if@char@available[3]{
- \polyglossia@check@if@char@available:NTF{#1}{#2}{#3}
-}
+% and print it, if so, otherwise print the replacement #2
+\NewExpandableDocumentCommand \charifavailable { m m }
+ {
+ \exp_args:Nno \__polyglossia_if_char:NTF { #1 } { \Uchar"#1 } { #2 }
+ }
-\newcommand*\charifavailable[2]{
- \xpg@if@char@available{#1}{\char"#1}{#2}
-}
+% Test if a char (by char code) is available in the current font
+% if so, do #2, else do #3
+\NewDocumentCommand \IfCharIsAvailableTF { m m m }
+ {
+ \__polyglossia_if_char:NTF{#1}{#2}{#3}
+ }
\newcommand*{\xpg@set@language@nonaux}[2][]{
@@ -6582,24 +6402,10 @@ to track the issues and follow progress.
% Set hyphenation patterns for a given language. This does the right
% thing both for XeTeX and LuaTeX
\newcommand*\xpg@set@hyphenation@patterns[1]{
- \str_case_e:nnF{\c_sys_engine_str}{
- {luatex}
- {
- \polyglossia@luatex@load@lang{#1}
- \language=\csname l@#1\endcsname
- }
- {xetex}
- {
- \language=\csname l@#1\endcsname
- }
- }
- {
- \xpg@warning{You’re~running~a~TeX~engine~that~is~not~LuaTeX~or~XeTeX.\MessageBreak
- That~is~almost~guaranteed~to~cause~problems.}
- }
+ \sys_if_engine_luatex:T { \polyglossia@luatex@load@lang{#1} }
+ \language=\csname l@#1\endcsname
}
-
\newcommand*\@select@language[2][]{
% hook for compatibility with biblatex
\select@language{#2}
@@ -6617,7 +6423,7 @@ to track the issues and follow progress.
\cs_if_exist_use:c{date@bbl@\babelname}
\polyglossia@local@marks:n{#2}
\csuse{init@extras@#2}%
- \polyglossia@lang@indentfirst:n{#2}
+ \xpg__indent_first:n { #2 }
\csuse{blockextras@#2}%
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
@@ -6676,14 +6482,12 @@ to track the issues and follow progress.
\__xpg_use_or_warn:c{#2@language}
\cs_if_exist_use:c{#2@numbers}
\use@localhyphenmins[#1]{#2}
- \polyglossia@lang@frenchspacing:n{#2}
+ \xpg__french_spacing:n { #2 }
}
\let\xpg@pop@language\relax
-\provideenvironment{otherlanguage}{}{}
-
%
% Keep track of the active (nested) languages and options
%
@@ -6696,13 +6500,11 @@ to track the issues and follow progress.
\cs_generate_variant:Nn \polyglossia@stack@language:nn {nx}
-\cs_generate_variant:Nn \seq_set_split:Nnn {Nnx}
-
\cs_new:Nn \polyglossia@unstack@language:n
{
\clist_gpop:NNTF \l_xpg_lang_stack \l_tmpa_tl {
% Stored format = options:language => split:
- \seq_set_split:Nnx \l_tmpa_seq {:} \l_tmpa_tl
+ \seq_set_split:Nne \l_tmpa_seq {:} \l_tmpa_tl
\seq_get_left:NN \l_tmpa_seq \l_tmpb_tl
\seq_get_right:NN \l_tmpa_seq \l_tmpc_tl
% Execute passed command with language and maybe options
@@ -6715,22 +6517,22 @@ to track the issues and follow progress.
{}
}
-\renewenvironment{otherlanguage}[2][]
-{
- % Get real current (pre-switch) options (incl. defaults)
- \clist_clear_new:N \l_xpg_current_options
- \prop_map_inline:cn {xpg@current@options@\languagename}
+\DeclareDocumentEnvironment { otherlanguage } { O{} m }
{
- \clist_put_right:Nn \l_xpg_current_options {##1=##2}
+ % Get real current (pre-switch) options (incl. defaults)
+ \clist_clear_new:N \l_xpg_current_options
+ \prop_map_inline:cn {xpg@current@options@\languagename}
+ {
+ \clist_put_right:Nn \l_xpg_current_options {##1=##2}
+ }
+ % Store current (pre-switch) options and language on stack
+ \polyglossia@stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}
+ \selectlanguage[#1]{#2}
+ }
+ {
+ % restore previous language in aux file and remove closed one from stack
+ \polyglossia@unstack@language:n{xpg@set@language@only@aux}
}
- % Store current (pre-switch) options and language on stack
- \polyglossia@stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}
- \selectlanguage[#1]{#2}
-}
-{
- % restore previous language in aux file and remove closed one from stack
- \polyglossia@unstack@language:n{xpg@set@language@only@aux}
-}
\newcommand{\setlocalhyphenmins}[3]{
\xpg@ifdefined{#1}{
@@ -6793,7 +6595,7 @@ to track the issues and follow progress.
}
\sys_if_engine_luatex:T{
% Set \totalhyphenmin if specified
- \prop_get:NxNTF \polyglossia@langsetup {#2/totalhyphenmin} \l_tmpa_tl
+ \prop_get:NeNTF \polyglossia@langsetup {#2/totalhyphenmin} \l_tmpa_tl
{
\xpg@info{totalhyphenmin: '\l_tmpa_tl'}
\expandafter\hyphenationmin \l_tmpa_tl
@@ -6805,25 +6607,23 @@ to track the issues and follow progress.
% Babel previously compiled in hyphenrules into the kernel (via hyphen.cfg)
% but this is no longer the case. In any case, we roll our own one now
% and possibly overwrite babel's.
-\provideenvironment{hyphenrules}{}{}
-
% As opposed to the one inherited from switch.def/babel, our environment
% supports language options and aliases.
-\renewenvironment{hyphenrules}[2][]
-{
- % Check for real language name and options
- \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}}
- \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}}
- % Register the language options
- \polyglossia@set@lang@options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant}
- % Now switch patterns
- \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language}
- % And activate hyphenmins
- \use@localhyphenmins[\xpg@tmp@opts]{\xpg@tmp@lang}
-}
-{}
+\DeclareDocumentEnvironment { hyphenrules } { O{} m }
+ {
+ % Check for real language name and options
+ \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}}
+ \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}}
+ % Register the language options
+ \polyglossia@set@lang@options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant}
+ % Now switch patterns
+ \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language}
+ % And activate hyphenmins
+ \use@localhyphenmins[\xpg@tmp@opts]{\xpg@tmp@lang}
+ }
+ { }
-\AtEndPreamble{
+\AddToHook{begindocument/before}{
\@ifpackageloaded{bidi}{
\providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}
}{}
@@ -6872,7 +6672,7 @@ to track the issues and follow progress.
% load by default latex
\setmainlanguage{latex}
% then process key in order to overwrite
-\ProcessKeysOptions{polyglossia}
+\ProcessKeyOptions[polyglossia]
% Set the LuaTeX renderer. As opposed to fontspec, we use Harfbuzz by default.
% This can be changed via the luatexrenderer package option.
@@ -6933,7 +6733,6 @@ to track the issues and follow progress.
\def\xpg@option#1#2{
\ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage}
[#1]{#2}}
-\ExplSyntaxOff
% \end{macrocode}
% \iffalse
@@ -7642,7 +7441,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia-punct')
@@ -7709,7 +7508,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct
% \begin{macrocode}
--
-- polyglossia-korean.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
local glyph_id = node.id"glyph"
@@ -8327,7 +8126,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia-punct')
@@ -8382,7 +8181,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia') -- just in case...
@@ -8750,7 +8549,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia-punct')
@@ -8800,7 +8599,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia') -- just in case...
@@ -8903,7 +8702,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
local module_name = "polyglossia"
@@ -8937,34 +8736,6 @@ local function set_default_language(lang, id)
polyglossia.default_language = lang
end
-local byte = utf8.codepoint -- use standard module of lua 5.3
-
-local check_char
-
-if luaotfload and luaotfload.aux and luaotfload.aux.font_has_glyph then
- local font_has_glyph = luaotfload.aux.font_has_glyph
- function check_char(chr)
- local codepoint = tonumber(chr) or byte(chr)
- if font_has_glyph(font.current(), codepoint) then
- tex.sprint('1')
- else
- tex.sprint('0')
- end
- end
-else
- function check_char(chr) -- always in current font
- local fontid = font.current()
- local fontdata = font.getfont(fontid) or font.fonts[fontid]
- local chardata = fontdata.characters
- local codepoint = tonumber(chr) or byte(chr)
- if chardata and chardata[codepoint] then
- tex.sprint('1')
- else
- tex.sprint('0')
- end
- end
-end
-
local function load_tibt_eol()
require('polyglossia-tibt')
end
@@ -9084,7 +8855,6 @@ end
polyglossia.select_language = select_language
polyglossia.set_default_language = set_default_language
-polyglossia.check_char = check_char
polyglossia.load_tibt_eol = load_tibt_eol
polyglossia.newloader = newloader
polyglossia.newloader_loaded_languages = newloader_loaded_languages
@@ -10256,9 +10026,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latex.lde}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
-\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/10/01}{v1.65}{polyglossia: module for default language}
+\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/12/11}{v1.66}{polyglossia: module for default language}
\PolyglossiaSetup{latex}{
bcp47=en-US,
@@ -10306,7 +10076,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-acadien.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
@@ -10323,7 +10093,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-aeb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
@@ -10340,7 +10110,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-af.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
@@ -10357,7 +10127,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
@@ -10374,7 +10144,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afrikaans.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
@@ -10479,7 +10249,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-albanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
@@ -10536,7 +10306,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-am.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
@@ -10553,7 +10323,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-american.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
@@ -10570,7 +10340,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-amharic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
\PolyglossiaSetup{amharic}{
@@ -10790,7 +10560,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-apd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
@@ -10807,7 +10577,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-IQ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
@@ -10826,7 +10596,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-JO.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
@@ -10845,7 +10615,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-LB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
@@ -10864,7 +10634,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-MR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
@@ -10883,7 +10653,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-PS.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
@@ -10902,7 +10672,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-SY.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
@@ -10921,7 +10691,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-YE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
@@ -10940,7 +10710,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
@@ -10957,7 +10727,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arabic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
\RequireBidi
@@ -11347,7 +11117,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-armenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
@@ -11555,7 +11325,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arq.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
@@ -11572,7 +11342,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ary.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
@@ -11589,7 +11359,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
@@ -11606,7 +11376,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ast.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
@@ -11623,7 +11393,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-asturian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
% Translated by Xuacu <xuacusk8 at gmail dot com>
% Contributed by Kevin Godby <godbyk at gmail dot com>
@@ -11683,7 +11453,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-australian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
@@ -11700,7 +11470,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-austrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
@@ -11717,7 +11487,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ayl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
@@ -11734,7 +11504,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
@@ -11751,7 +11521,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
@@ -11769,7 +11539,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
@@ -11787,7 +11557,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-basque.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
\PolyglossiaSetup{basque}{
@@ -11845,7 +11615,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be-tarask.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
@@ -11862,7 +11632,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
@@ -11879,7 +11649,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-belarusian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
@@ -12207,7 +11977,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bengali.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
% Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com>
% TODO implement Bengali calendar
@@ -12348,7 +12118,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bg.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
@@ -12365,7 +12135,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
@@ -12382,7 +12152,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
@@ -12399,7 +12169,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bosnian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
@@ -12463,7 +12233,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-br.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
@@ -12480,7 +12250,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-brazil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
@@ -12499,7 +12269,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-breton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
\PolyglossiaSetup{breton}{
@@ -12607,7 +12377,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-british.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
@@ -12624,7 +12394,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bs.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
@@ -12641,7 +12411,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bulgarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
\PolyglossiaSetup{bulgarian}{
@@ -12743,7 +12513,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ca.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
@@ -12760,7 +12530,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
@@ -12777,7 +12547,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadien.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
@@ -12794,7 +12564,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-catalan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
\PolyglossiaSetup{catalan}{
@@ -12842,7 +12612,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
\setbox0\hbox{l}%
- \xpg@if@char@available{00B7}%
+ \IfCharIsAvailableTF{00B7}%
{\setbox2\hbox{\char"00B7}\setbox1\hbox{l}}%
{\setbox2\hbox{.}\setbox1\hbox{l\/}}%
\setbox3\hbox{.}%
@@ -12870,7 +12640,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
\setbox0\hbox{L}%
- \xpg@if@char@available{00B7}%
+ \IfCharIsAvailableTF{00B7}%
{\setbox2\hbox{\char"00B7}\setbox1\hbox{L}}%
{\setbox2\hbox{.}\setbox1\hbox{L\/}}%
\setbox3\hbox{.}%
@@ -12963,7 +12733,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-chinese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
@@ -12974,7 +12744,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
bcp47-script=Hans,
script=CJK,
scripttag=hani,
- language=Chinese,
+ language={Chinese Simplified},
+ langtag=ZHS,
hyphennames={nohyphenation},
frenchspacing=false,
fontsetup=true,
@@ -13005,22 +12776,22 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% cn:
\chinese@traditionalfalse
- \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
+ \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
\xpg@info{Option: Chinese, variant=simplified}%
\or
% simplified:
\chinese@traditionalfalse
- \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
+ \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
\xpg@info{Option: Chinese, variant=simplified}%
\or
% tw:
\chinese@traditionaltrue
- \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
+ \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
\xpg@info{Option: Chinese, variant=traditional}%
\or
% traditional:
\chinese@traditionaltrue
- \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
+ \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
\xpg@info{Option: Chinese, variant=traditional}%
\fi
}{\xpg@warning{Unknown Chinese variant `#1'}}
@@ -13253,7 +13024,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
@@ -13270,7 +13041,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
@@ -13287,7 +13058,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
@@ -13304,7 +13075,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cop.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
@@ -13321,7 +13092,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-coptic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
\PolyglossiaSetup{coptic}{
@@ -13377,7 +13148,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-croatian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
\PolyglossiaSetup{croatian}{
@@ -13653,7 +13424,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
@@ -13670,7 +13441,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
@@ -13687,7 +13458,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-czech.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
@@ -13946,7 +13717,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-da.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
@@ -13963,7 +13734,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-danish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
\PolyglossiaSetup{danish}{
@@ -14020,7 +13791,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
@@ -14037,7 +13808,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
@@ -14054,7 +13825,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
@@ -14071,7 +13842,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
@@ -14088,7 +13859,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
@@ -14105,7 +13876,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
@@ -14122,7 +13893,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
@@ -14139,7 +13910,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
@@ -14156,7 +13927,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
@@ -14173,7 +13944,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
@@ -14190,7 +13961,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
@@ -14207,7 +13978,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
@@ -14224,7 +13995,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
@@ -14241,7 +14012,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
@@ -14258,7 +14029,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
@@ -14275,7 +14046,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
@@ -14292,7 +14063,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
@@ -14309,7 +14080,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
@@ -14326,7 +14097,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
@@ -14343,7 +14114,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
@@ -14360,7 +14131,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-divehi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
@@ -14415,7 +14186,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
@@ -14432,7 +14203,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dutch.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
\PolyglossiaSetup{dutch}{
@@ -14642,7 +14413,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
@@ -14659,7 +14430,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el-monoton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
@@ -14676,7 +14447,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el-polyton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
@@ -14693,7 +14464,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
@@ -14710,7 +14481,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-AU.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
@@ -14727,7 +14498,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
@@ -14744,7 +14515,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-GB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
@@ -14761,7 +14532,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-NZ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
@@ -14778,7 +14549,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-US.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
@@ -14795,7 +14566,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
@@ -14812,7 +14583,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-english.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
@@ -15023,7 +14794,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
@@ -15040,7 +14811,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-ES.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
@@ -15057,7 +14828,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-MX.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
@@ -15074,7 +14845,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
@@ -15091,7 +14862,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-esperanto.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
\PolyglossiaSetup{esperanto}{
@@ -15171,7 +14942,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-estonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
\PolyglossiaSetup{estonian}{
@@ -15228,7 +14999,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-et.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
@@ -15245,7 +15016,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
@@ -15262,7 +15033,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
@@ -15279,7 +15050,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-farsi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
@@ -15297,7 +15068,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
@@ -15314,7 +15085,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-finnish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
\PolyglossiaSetup{finnish}{
@@ -15434,7 +15205,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CA-u-sd-canb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)]
@@ -15451,7 +15222,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
@@ -15468,7 +15239,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
@@ -15485,7 +15256,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-FR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
@@ -15502,7 +15273,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
@@ -15519,7 +15290,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-french.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
@@ -16065,7 +15836,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
@@ -16082,7 +15853,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
@@ -16168,7 +15939,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
@@ -16185,7 +15956,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ga.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
@@ -16202,7 +15973,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gaelic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
@@ -16332,7 +16103,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-galician.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
\PolyglossiaSetup{galician}{
@@ -16389,7 +16160,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
@@ -16406,7 +16177,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-georgian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
@@ -16654,7 +16425,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-german.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
@@ -17003,7 +16774,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-germanb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
@@ -17020,7 +16791,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
@@ -17037,7 +16808,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-grc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
@@ -17054,7 +16825,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-greek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
@@ -17522,7 +17293,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-he.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
@@ -17539,7 +17310,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hebrew.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
@@ -17713,7 +17484,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
@@ -17730,7 +17501,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hindi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
% UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
% with corrections and additional contributions by Anshuman Pandey
@@ -17849,7 +17620,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
@@ -17866,7 +17637,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
@@ -17883,7 +17654,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
@@ -17900,7 +17671,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hungarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
@@ -18299,7 +18070,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
@@ -18316,7 +18087,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
@@ -18333,7 +18104,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-icelandic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
\PolyglossiaSetup{icelandic}{
@@ -18391,7 +18162,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-id.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
@@ -18408,7 +18179,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-interlingua.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
\PolyglossiaSetup{interlingua}{
@@ -18466,7 +18237,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-irish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
@@ -18484,7 +18255,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-is.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
@@ -18501,7 +18272,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-it.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
@@ -18519,7 +18290,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.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
\PolyglossiaSetup{italian}{
@@ -18671,7 +18442,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ja.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
@@ -18688,7 +18459,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-japanese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
@@ -18926,7 +18697,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ka.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
@@ -18944,7 +18715,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-kannada.ldf}
% \begin{macrocode}
%% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+%% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%%
%% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
%% Shankar Prasad <prasad.mvs AT gmail.com>,
@@ -19067,7 +18838,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-khmer.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
\PolyglossiaSetup{khmer}{
@@ -19082,6 +18853,10 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
fontsetup=true,%
localnumeral=khmernumerals%
}
+
+% BCP-47 compliant aliases
+\setlanguagealias*{khmer}{km}
+
\newif\if@khmer@numerals
\def\tmp@khmer{khmer}
\define@key{khmer}{numerals}[arabic]{%
@@ -19094,7 +18869,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
\fi%
}
+
\setkeys{khmer}{numerals}
+
\def\captionskhmer{%
\def\prefacename{អារម្ភកថា}%
\def\refname{ឯកសារយោង}%
@@ -19244,7 +19021,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-km.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
@@ -19261,7 +19038,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
@@ -19278,7 +19055,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
@@ -19295,7 +19072,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
@@ -19312,7 +19089,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
@@ -19329,7 +19106,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
@@ -19346,7 +19123,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-korean.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
@@ -19826,7 +19603,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
@@ -19843,7 +19620,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
@@ -19860,7 +19637,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
@@ -19877,7 +19654,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurdish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
% Created on September 1, 2019
% Last updated on May 17, 2020
@@ -20239,7 +20016,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\if@western@numerals
\number#1%
\else
- \xpg@if@char@available{06F0}%
+ \IfCharIsAvailableTF{06F0}%
{\@ensure@LTR{\farsidigits{\number#1}}}%
{\@ensure@LTR{\arabicdigits{\number#1}}}%
\fi
@@ -20374,7 +20151,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurmanji.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
@@ -20391,7 +20168,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-classic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
@@ -20408,7 +20185,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-ecclesia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
@@ -20425,7 +20202,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-medieval.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
@@ -20442,7 +20219,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
@@ -20459,7 +20236,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lao.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
@@ -20570,7 +20347,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
@@ -21685,7 +21462,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinclassic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
@@ -21702,7 +21479,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinecclesiastic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
@@ -21719,7 +21496,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinmedieval.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
@@ -21736,7 +21513,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latvian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
\PolyglossiaSetup{latvian}{
@@ -21794,7 +21571,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lithuanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
% Translated by Paulius Sladkevičius <komsas@gmail.com>
@@ -21876,7 +21653,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
@@ -21893,7 +21670,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lowersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
@@ -21910,7 +21687,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lsorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
@@ -21928,7 +21705,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lt.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
@@ -21945,7 +21722,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
@@ -21962,7 +21739,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-macedonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
\PolyglossiaSetup{macedonian}{
@@ -22061,7 +21838,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-magyar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
@@ -22078,7 +21855,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malay.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
@@ -22277,7 +22054,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malayalam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
@@ -22347,7 +22124,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-marathi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
% Translations provided by Abhijit Navale <abhi_navale@live.in>
% Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe@gmail.com> on 14th December, 2019
@@ -22497,7 +22274,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
@@ -22514,7 +22291,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ml.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
@@ -22531,7 +22308,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
@@ -22548,7 +22325,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mongolian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
@@ -22787,7 +22564,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
@@ -22804,7 +22581,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-naustrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
@@ -22821,7 +22598,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
@@ -22838,7 +22615,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-newzealand.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
@@ -22855,7 +22632,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ngerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
@@ -22872,7 +22649,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
\PolyglossiaSetup{nko}{%
@@ -22970,7 +22747,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
@@ -22988,7 +22765,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norwegian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
\PolyglossiaSetup{norwegian}{
@@ -23115,7 +22892,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nswissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
@@ -23132,7 +22909,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nynorsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
@@ -23150,7 +22927,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-occitan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
%%
%% This is file `gloss-occitan.ldf',
@@ -23325,13 +23102,190 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \end{macrocode}
% \iffalse
%</gloss-occitan.ldf>
+%<*gloss-odia.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-odia.ldf}
+% \begin{macrocode}
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
+%
+% Translations provided by ଅଶୋକ ଦାସ୍ <das@pas.rochester.edu> and ଅଭିଷେକ ଜେନା <avisekjena@gmail.com>
+% TODO implement Odia calendar
+
+\ProvidesFile{gloss-odia.ldf}[polyglossia: module for Odia]
+
+\RequirePackage{devanagaridigits}
+\RequirePackage{odiadigits}
+
+\PolyglossiaSetup{odia}{
+ bcp47=or,
+ bcp47-language=or,
+ bcp47-script=Orya,
+ script=Odia,
+ scripttag=odia,
+ langtag=ODI,
+ hyphennames={odia},
+ hyphenmins={2,2},%CHECK
+ fontsetup=true,
+ localnumeral=odianumerals
+ %TODO nouppercase=true,
+}
+
+% BCP-47 compliant aliases
+\setlanguagealias*{odia}{or}
+
+
+%Adapted from gloss-bengali.ldf
+
+\newif\ifodia@devanagari@numerals
+\newif\ifodia@odia@numerals
+\define@choicekey*+{odia}{numerals}[\xpg@val\xpg@nr]{Devanagari,Odia,Western}[Devanagari]{%
+ \ifcase\xpg@nr\relax
+ % Devanagari:
+ \odia@odia@numeralsfalse%
+ \odia@devanagari@numeralstrue%
+ \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-deva}%
+ \or
+ % Odia:
+ \odia@odia@numeralstrue%
+ \odia@devanagari@numeralsfalse%
+ \or
+ % Western:
+ \odia@odia@numeralsfalse%
+ \odia@devanagari@numeralsfalse%
+ \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-latn}%
+ \fi
+ \xpg@info{Option: Odia, numerals=\xpg@val}%
+}{\xpg@warning{Unknown Odia numeral `#1'}}
+
+\def\extras@odia{}
+\def\noextras@odia{}
+
+\define@boolkey{odia}[odia@]{changecounternumbering}[true]{}
+
+% Register default options
+\xpg@initialize@gloss@options{odia}{changecounternumbering=false,numerals=Devanagari}
+
+\def\captionsodia{%
+ \def\refname{ସନ୍ଦର୍ଭ}%
+ \def\abstractname{ସାରାଂଶ}%
+ \def\bibname{ସୂଚନା}%
+ \def\prefacename{ପ୍ରାରମ୍ଭ}%
+ \def\chaptername{ଅଧ୍ୟାୟ}%
+ \def\appendixname{ପରିଶିଷ୍ଟ}%
+ \def\contentsname{ସୁଚୀ ପତ୍ର}%
+ \def\listfigurename{ପ୍ରତିଛବି ତାଲିକା}%
+ \def\listtablename{ଟେବୁଲ ତାଲିକା}%
+ \def\indexname{ସୂଚକାଙ୍କ}%
+ \def\figurename{ପ୍ରତିଛବି}%
+ \def\tablename{ଟେବୁଲ୍}%
+ \def\partname{ବିଭାଗ}%
+ \def\pagename{ପୃଷ୍ଠା}%
+ \def\seename{ଦେଖନ୍ତୁ}%
+ \def\alsoname{ଅଧିକ ଦେଖନ୍ତୁ}%
+ \def\enclname{ସଂଲଗ୍ନ}%
+ \def\ccname{କପି କରନ୍ତୁ}%
+ \def\headtoname{ପ୍ରତି}%
+ \def\proofname{ପ୍ରମାଣ}%
+ \def\glossaryname{ଶବ୍ଦର ଶବ୍ଦକୋଷ}%
+}
+\def\dateodia{%
+ \def\odiamonth{%
+ \ifcase\month\or
+ ଜାନୁଆରୀ\or
+ ଫେବୃଆରୀ\or
+ ମାର୍ଚ୍ଚ\or
+ ଏପ୍ରିଲ୍\or
+ ମେ\or
+ ଜୁନ୍\or
+ ଜୁଲାଇ\or
+ ଅଗଷ୍ଟ\or
+ ସେପ୍ଟେମ୍ବର\or
+ ଅକ୍ଟୋବର\or
+ ନଭେମ୍ବର\or
+ ଡିସେମ୍ବର\fi}%
+ \def\today{\odianumber\day\space\odiamonth\space\odianumber\year}%
+}
+
+\newcommand{\odianumerals}[2]{\odianumber{#2}}
+
+\def\odianumber#1{%
+ \ifodia@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \ifodia@odia@numerals
+ \odiadigits{\number#1}%
+ \else % Assumed Western
+ \number#1%
+ \fi
+ \fi%
+}
+
+\def\odia@globalnumbers{%
+ \ifodia@changecounternumbering
+ \let\@arabic\odianumber%
+ \renewcommand\thefootnote{\localnumeral*{footnote}}%
+ \fi
+}
+
+%Adapted from gloss-marathi.ldf
+
+\def\odia@akshar#1{\ifcase#1\or ଅ\or ଆ\or ଇ\or ଈ\or ଉ\or ଊ\or ଋ\or ଏ\or ଐ\or ଓ\or ଔ\else\@ctrerr\fi}
+
+\def\odia@alph#1{%
+ \ifcase#1\or କ\or ଖ\or ଗ\or ଘ\or ଙ\or ଚ\or ଛ\or ଜ\or ଝ\or ଞ\or ଟ\or ଠ\or ଡ\or ଢ\or ଣ\or ତ\or ଥ\or ଦ%
+ \or ଧ\or ନ\or ପ\or ଫ\or ବ\or ଭ\or ମ\or ଯ\or ର\or ଲ\or ଳ\or ଶ\or ସ\or ଷ\or ହ\or କ୍ଷ \else\@ctrerr%
+ \fi%
+}
+
+\def\odia@numbers{%
+ \let\@alph\odia@alph
+ \let\@Alph\devanagari@letter
+ \let\@roman\odia@akshar
+ \let\@Roman\devanagari@letter
+}
+
+
+% Store original definition
+\let\xpg@save@arabic\@arabic
+
+\def\noodia@globalnumbers{%
+ \let\@arabic\xpg@save@arabic%
+}
+
+
+
+\def\blockextras@odia{\extras@odia}
+\def\inlineextras@odia{\extras@odia}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-odia.ldf>
+%<*gloss-or.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-or.ldf}
+% \begin{macrocode}
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
+%
+\ProvidesFile{gloss-odia.ldf}[polyglossia: module for or (Odia)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{odia}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-or.ldf>
%<*gloss-pa.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-pa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
@@ -23348,7 +23302,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-persian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
@@ -23457,7 +23411,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\if@western@numerals
\number#1%
\else
- \xpg@if@char@available{06F0}%
+ \IfCharIsAvailableTF{06F0}%
{\@ensure@LTR{\farsidigits{\number#1}}}%
{\@ensure@LTR{\arabicdigits{\number#1}}}%
\fi
@@ -23589,7 +23543,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.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
\makeatletter
@@ -23719,7 +23673,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
@@ -23978,7 +23932,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polutonikogreek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
@@ -23995,7 +23949,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuges.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
@@ -24015,7 +23969,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuguese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
@@ -24246,7 +24200,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-punjabi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
% UTF-8 strings kindly provided by
% Arvinder Singh Kang, <17-11-2022>
@@ -24354,7 +24308,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
@@ -24413,7 +24367,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romansh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
\makeatletter
@@ -24471,7 +24425,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-russian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
@@ -24870,7 +24824,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sami.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
@@ -24974,7 +24928,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-samin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
@@ -24992,7 +24946,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sanskrit.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
@@ -25151,7 +25105,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-scottish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
@@ -25169,7 +25123,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -25592,7 +25546,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbianc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
@@ -25609,7 +25563,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovak.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
@@ -25876,7 +25830,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovene.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
@@ -25893,7 +25847,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
@@ -25985,7 +25939,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
@@ -26176,7 +26130,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
@@ -26416,7 +26370,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanishmx.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
@@ -26433,7 +26387,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swedish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
@@ -26498,7 +26452,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
@@ -26515,7 +26469,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-syriac.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
@@ -26650,7 +26604,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%%% we test for the presence of one of ١٢٣٤٥٦٧٨٩٠ in the Syriac font,
%%% else we try \arabicfont if defined (and give a warning),
%%% else we fall back to the Western numerals.
- \xpg@if@char@available{0661}%
+ \IfCharIsAvailableTF{0661}%
{\@ensure@LTR{\protect\arabicdigits{\number#1}}}%
{\@ensure@LTR{\arabicdigits{\number#1}}
\ifcsdef{arabicfont}%
@@ -26788,7 +26742,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tamil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
@@ -26858,7 +26812,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-telugu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
@@ -26931,7 +26885,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-thai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
%% This is partly based on thai-latex for Babel:
@@ -27089,7 +27043,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tibetan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
%% Copyright 2013 Elie Roux
@@ -27315,7 +27269,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
\RequirePackage{hijrical}
@@ -27433,7 +27387,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkmen.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
@@ -27491,7 +27445,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ug.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
% BCP 47 tag for Uyghur
@@ -27507,7 +27461,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ukrainian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
% Strings taken from Babel
@@ -27806,7 +27760,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uppersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
@@ -27823,7 +27777,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-urdu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
%%% Adapted from a file contributed by Kamal Abdali
\ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -28073,7 +28027,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-usorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
@@ -28091,7 +28045,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uyghur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
%% Translations provided by Osman Tursun (Github Account: neouyghur)
@@ -28532,7 +28486,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-vietnamese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
@@ -28591,7 +28545,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-welsh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
@@ -28691,7 +28645,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-CN.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
@@ -28708,7 +28662,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-TW.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.65 -- 2023/10/01)
+% Language definition file (part of polyglossia v1.66 -- 2023/12/11)
%
\ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
@@ -28844,6 +28798,31 @@ U+0039 <> U+0A6F ;
% \end{macrocode}
% \iffalse
%</gurmukhidigits.map>
+%<*odiadigits.map>
+% \fi
+% \clearpage
+%
+% \subsection{odiadigits.map}
+% \begin{macrocode}
+; FC ...
+LHSName "Digits"
+RHSName "OdiaDigits"
+
+pass(Unicode)
+U+0030 <> U+0B66 ;
+U+0031 <> U+0B67 ;
+U+0032 <> U+0B68 ;
+U+0033 <> U+0B69 ;
+U+0034 <> U+0B6A ;
+U+0035 <> U+0B6B ;
+U+0036 <> U+0B6C ;
+U+0037 <> U+0B6D ;
+U+0038 <> U+0B6E ;
+U+0039 <> U+0B6F ;
+
+% \end{macrocode}
+% \iffalse
+%</odiadigits.map>
%<*thaidigits.map>
% \fi
% \clearpage
@@ -28877,7 +28856,7 @@ U+0039 <> U+0E59 ;
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia-punct')
@@ -28944,7 +28923,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct
% \begin{macrocode}
--
-- polyglossia-korean.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
local glyph_id = node.id"glyph"
@@ -29562,7 +29541,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia-punct')
@@ -29617,7 +29596,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia') -- just in case...
@@ -29985,7 +29964,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia-punct')
@@ -30035,7 +30014,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
require('polyglossia') -- just in case...
@@ -30138,7 +30117,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v1.65 -- 2023/10/01
+-- part of polyglossia v1.66 -- 2023/12/11
--
local module_name = "polyglossia"
@@ -30172,34 +30151,6 @@ local function set_default_language(lang, id)
polyglossia.default_language = lang
end
-local byte = utf8.codepoint -- use standard module of lua 5.3
-
-local check_char
-
-if luaotfload and luaotfload.aux and luaotfload.aux.font_has_glyph then
- local font_has_glyph = luaotfload.aux.font_has_glyph
- function check_char(chr)
- local codepoint = tonumber(chr) or byte(chr)
- if font_has_glyph(font.current(), codepoint) then
- tex.sprint('1')
- else
- tex.sprint('0')
- end
- end
-else
- function check_char(chr) -- always in current font
- local fontid = font.current()
- local fontdata = font.getfont(fontid) or font.fonts[fontid]
- local chardata = fontdata.characters
- local codepoint = tonumber(chr) or byte(chr)
- if chardata and chardata[codepoint] then
- tex.sprint('1')
- else
- tex.sprint('0')
- end
- end
-end
-
local function load_tibt_eol()
require('polyglossia-tibt')
end
@@ -30319,7 +30270,6 @@ end
polyglossia.select_language = select_language
polyglossia.set_default_language = set_default_language
-polyglossia.check_char = check_char
polyglossia.load_tibt_eol = load_tibt_eol
polyglossia.newloader = newloader
polyglossia.newloader_loaded_languages = newloader_loaded_languages
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.pdf b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
index 8259987bf3..6d76a007bd 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.pdf
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
Binary files differ